14:USB68013 Firmware开发指南之8051 SFR寄存器说明
0赞
发表于 2013/12/25 13:13:23
阅读(3779)
1.1.1. 8051 SFR寄存器说明
(1) CPU时候分配:
C语言代码如下:
CPUCS = 0x02; //12MHZ CLKOUT ENALBE
CPUCS = 0x0a; //24MHZ CLKOUT ENALBE
CPUCS = 0x12; //48MHZ CLKOUT ENALBE
(2) IO方向寄存器:如OEx
在fx2regs.h中有如下define:
比如,设置下面1个脚为输出:
OED |=(1<<4); //PD4 output
(3) FX2 Interrupt
中断有这么多,如下所示:
同时有这么多中断使能:
CB主要用到了外部中断INT0、INT1,外部中断地址如下:
外部中断0/1为IE0与IE1
中断方式配置如下:
PA0、PA1中断复用功能开启:
Fx2regs.h中给出了如下:
最后给出INT0的初始化例子,如下,实现PA0的中断0打开,上升沿捕获:
//Configure INT0
OEA &= ~(1<<0); //PA0-INT0 0:Input
PORTACFG |= (1<<0); //Configure PA0 as INT0#
IT0 = 1; //When ITx = 1, posedge edge Sample; When ITx = 0, low-level Sample.
IE |= (1<<0); //Enable INT0
(4) 未完待续
有个严重的问题。上述INT0初始化中,明明IE寄存器的Bit0 就是IE0,那为啥IE0=1就是无法打开INT0 ,而必须得IE |= (1<<0);为什么为什么为什么,蛋疼啊?》??!!!!!!