|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
计时器:10ms
- #include <8052.h>
- unsigned int cnt = 0; //定义一个计数变量,记录 T0 溢出次数
- void Timer0_Init() { # 初始化
- TMOD &= 0xF0;
- TMOD |= 0x01;
- TF0=0;
- TL0 = 0x00; //设置定时初值
- TH0 = 0xDC;
- TR0 = 1; //启动定时器
- ET0 = 1; //开中断
- EA = 1;
- PT0=0;
- }
- void main ()
- {
- Timer0_Init();
- P2_0=0;
- while(1);
- }
- void Timer0_10ms() __interrupt 1 // 中断函数
- {
- TL0 = 0x00; // 初值
- TH0 = 0xDC; // 初值
- cnt++;
- if (cnt >= 100) // 定时器到100是一秒
- {
- P2_0=1;
- if (cnt >= 200)
- {
- P2_0=0;
- cnt=0;
- }
- }
- }
复制代码
1ms sleep
- void Sleep(unsigned int xms)
- {
- unsigned char i, j;
- while (xms)
- {
- i = 2;
- j = 199;
- do {
- while (--j);
- } while(--i);
- xms--;
- }
- // _nop_();
- }
复制代码
sleep不知道准不准,反正我用生成软件生成的完全不准,我也不知道为啥,参数啥的都和我的单片机一样 |
|