怎么改写成C语言?
- //对应的C语言版程序如下:
- //#include"stc8h.h"
- #include <AI8051U.H> //包含ai8051U单片机的头文件
-
- unsigned char T0cnt; //声明计数变量
-
- void Timer0_Init(void);//定时器0初始化函数
-
- void main(void)
- {
- P4M1=0xff;
- P4M0=0xff;
- P0M1=0x0;
- P0M0=0x0;
- P40=0;
- Timer0_Init();
-
- T0cnt=10; //计数变量赋初值
- ET0 = 1; //允许T0中断
- EA = 1; //开放总的中断
- while(1); //等待中断
-
- }
-
- void Timer0_Init(void) //50毫秒@11.0592MHz
- {
- AUXR&= 0x7E; //定时器时钟12T模式
- TMOD&= 0xF0; //设置定时器模式
- TL0 = 0x00; //设置定时初始值
- TH0 = 0X4C; //设置定时初始值
- TF0 = 0; //清除TFO标志
- TR0 = 1; //定时器0开始计时
-
- }
-
- //定时器TO中断函数
- void TO_ISR(void) interrupt TMR0_VECTOR //TMR0_VECTOR 就是1
- {
- T0cnt--; //计数变量减1
- if(T0cnt==0) //若减到0,则将P0.0取反
- {
- P00 = ~P00;
- T0cnt = 10; //重新给计数变量赋值
-
- }
- }
-
复制代码
当然可读性就好很多,不过效率是汇编的70% |