C8051F320-时钟和4in1八段管
时间:08-16
来源:互联网
点击:
每255就中断一次
中断最前面多一段 if(TF2L==1){TF2L=0;return;} 忽略低八位时钟中断,秒针正常了
3、T2双8位,实在懒得测试了。 测试一下T3的中断号
悲剧了,T3的寄存器都没有定义!查资料。。。
修正1 : 在头文件里把TMR2CN的位定义复制一份,改成3,成功
修正2 : 在头文件里手动编写EIE1的位定义
/* EIE1 */
sbit ET3 = EIE1 ^ 7;
sbit ECP1 = EIE1 ^ 6;
sbit ECP0 = EIE1 ^ 5;
sbit EPCA0 = EIE1 ^ 4;
sbit EADC0C = EIE1 ^ 3;
sbit EWADC0 = EIE1 ^ 2;
sbit EUSB0 = EIE1 ^ 1;
sbit ESMB0 = EIE1 ^ 0;
失败,提示该地址无效?(invalid base address)
修正3: 直接用 EIE1 |= 0x80; 编译通过
运行后还是不走,估计是中断号有错!!!
直接在main函数中查询T3中断标志位,手动跳转到中断程序,可以运行,但是速度慢得没天理。
可见T3中断确实不是这么用的,待查。。。。
还有一个猜测,是不是keil对interrupt 14不支持??
又多了个疑点,改回T2,同样用查询方式,手动跳转,速度非常正常!看来T3的PDF没有看是个严重错误!
- C8051F320AD转换和温度传感器(11-29)
- C8051F320 I/O使用总结(11-22)
- C8051F320及其USB接口应用(11-03)
- C8051F320-并行端口与交*开关(08-16)
- 基于C8051F320的数据采集系统USB接口方案(05-23)
- 基于USB总线的多路电话录音系统的设计(12-28)