C8051特点

C8051与传统51的区别在于优先权交叉开关、系统时钟、SFR寄存器几个方面:

一 优先权交叉开关:传统的51外设功能是固定分配或者复用分配到指定引脚,而C8051则是通过优先权交叉开关设置,即要想分配外设到正确引脚不断要对应XBR使能,而且前面的外设也要按顺序正确使能(优先权使能)。交叉开关都是要使能的,否则引脚都被默认设置成弱上拉输入,引脚和内部外设功能是隔离的。

二 系统时钟:可以来自外部晶体、内部晶体、PLL(可来对外部或内部时钟源进行倍频或分频),满足各种需要。

三 SFR寄存器:C8051扩展了C51的寄存器(128字节不够用),外扩的寄存器分在不同页地址的空间里,要想对相应的寄存器进行正确操作,就要正确切换寄存器页(先保存当前页,在切换相应的页,最后在恢复原来保存的页),这和交叉开关是新手最容易忘记和出错的地方。

           unsigned char SFRPAGE_save=SFRPAGE;

           SFRPAGE=XXX_PAGE;

           ....操作相应寄存器

          。。。

          SFRPAGE=SFRPAGE_save;

四其它的一些问题:

IO:默认是开漏,若上拉输入(当当输出0时若上拉自动关闭以避免冲突,推挽:输出0到GND,输出1到VCC;开漏:输出0到GND,输出1是高阻)

看门狗:默认是开启的,调试时应关闭

    SFRPAGE = CONFIG_PAGE

     WDTCN = 0xde;
    WDTCN = 0xad;   //禁止看门狗定时器。

原文地址:https://www.cnblogs.com/jieruishu/p/7151870.html