初学PIC18F4550,请教些问题。

2020-02-08 09:07发布

本帖最后由 crazydog2009 于 2012-7-11 09:19 编辑

第一次接触PIC 18F4550,看datasheet看得不大明白
PIC18F4550
PIC C18
1 以前的12,16系列都可以通过_config()来决定开狗,晶振模式,MCLR功能等,18F4550的芯片不知道怎么设置这些了。configl和configh?
2 USB模式下的晶振有一大堆关系,除多少什么的,看不明白!还说有两个晶振,一主一副,不明白。


寄存器 25-1: CONFIG1L:配置寄存器1 的低字节(字节地址为300000h)
U-0 U-0 R/P-0 R/P-0 R/P-0 R/P-0 R/P-0 R/P-0
- - USBDIV CPUDIV1 CPUDIV0 PLLDIV2 PLLDIV1 PLLDIV0
bit 7 bit 0
bit 7-6 未用:读为0
bit 5 USBDIV:USB 时钟选择位(仅用于全速USB 模式; UCFG:FSEN = 1)
1 = USB 时钟源为96 MHz PLL 的2 分频信号
0 = USB 时钟源直接来自无后分频的主振荡器模块
bit 4-3 CPUDIV1:CPUDIV0:系统时钟后分频比选择位
对于XT、HS、EC 和ECIO 振荡器模式:
11 = 主振荡器4 分频作为系统时钟
10 = 主振荡器3 分频作为系统时钟
10 = 主振荡器2 分频作为系统时钟
00 = 主振荡器直接用作系统时钟(无后分频器)
对于XTPLL、HSPLL、ECPLL 和ECPIO 振荡器模式:
11 = 96 MHz PLL 6 分频作为系统时钟
10 = 96 MHz PLL 4 分频作为系统时钟
11 = 96 MHz PLL 3 分频作为系统时钟
10 = 96 MHz PLL 2 分频作为系统时钟
bit 2-0 PLLDIV2:PLLDIV0:PLL 预分频比选择位
111 = 12 分频(48 MHz 振荡器输入)
110 = 10 分频(40 MHz 振荡器输入)
101 = 6 分频(24 MHz 振荡器输入)
100 = 5 分频(20 MHz 振荡器输入)
011 = 4 分频(16 MHz 振荡器输入)
010 = 3 分频(12 MHz 振荡器输入)
001 = 2 分频(8 MHz 振荡器输入)
000 = 不分频(4 MHz 振荡器输入直接驱动PLL)
图注:
R = 可读位P= 可编程位U = 未用位,读为0
-n = 上电复位时的值1 = 置1 0 = 清零x = 未知



bit 7 IESO:内部/ 外部振荡器切换位
1 = 使能振荡器切换模式
0 = 禁止振荡器切换模式
bit 6 FCMEN:故障保护时钟监视器使能位
1 = 使能故障保护时钟监视器
0 = 禁止故障保护时钟监视器
bit 5-4 未用:读为0
bit 3-0 FOSC3:FOSC0:振荡器选择位(1)
111x = HS 振荡器,使能PLL (HSPLL)
110x = HS 振荡器(HS)
1011 = 内部振荡器, USB 使用HS 振荡器(INTHS)
1010 = 内部振荡器, USB 使用XT 振荡器(INTXT)
1001 = 内部振荡器, RA6 用作CLKO, USB 使用EC 振荡器(INTCKO)
1000 = 内部振荡器, RA6 用作端口, USB 使用EC 振荡器(INTIO)
0111 = EC 振荡器,使能PLL, RA6 用作CLKO (ECPLL)
0110 = EC 振荡器,使能PLL, RA6 用作端口(ECPIO)
0101 = EC 振荡器, RA6 用作CLKO (EC)
0100 = EC 振荡器, RA6 用作端口(ECIO)
001x = XT 振荡器,使能PLL (XTPLL)
000x = XT 振荡器(XT)

在pic18f4550.h中找不到这两个寄存器的定义。

现在就需要一个能点流水灯的程序就可以了,最主要能让控制他的晶振,IO口就OK了!目前还没实现
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。