并非所有系列都有此寄存器,详情请查看数据手册
使用STC8H8K64U测试没有问题,代码如下:
- #include "stc8h.h"
- #include "intrins.h"
-
- void Timer2_Isr(void) interrupt 12
- {
- P34 = !P34;
- P35 = !P34;
- }
-
- void Timer2_Init(void) //500毫秒@11.0592MHz 11.0592MHz 最长定时周期1517ms约1.5s
- {
- TM2PS = 0x54; //设置定时器时钟预分频 ( 注意:并非所有系列都有此寄存器,详情请查看数据手册 )
- AUXR |= 0x04; //定时器时钟1T模式
- T2L = 0xE2; //设置定时初始值
- T2H = 0x01; //设置定时初始值
- AUXR |= 0x10; //定时器2开始计时
- IE2 |= 0x04; //使能定时器2中断
- }
-
- void main()
- {
- EAXSFR(); //
- P0M0 = 0x00;
- P0M1 = 0x00;
- P1M0 = 0x00;
- P1M1 = 0x00;
- P2M0 = 0x00;
- P2M1 = 0x00;
- P3M0 = 0x00;
- P3M1 = 0x00;
- P4M0 = 0x00;
- P4M1 = 0x00;
- P5M0 = 0x00;
- P5M1 = 0x00;
- Timer2_Init(); //初始化Timer2并启动中断
- EA = 1;
-
- while (1);
- }
复制代码
|