2019-07-15 16:52发布
Jack315 发表于 2015-6-9 16:34 过程: (1) 计时器 —— 59 -> 60 (2) 计时器 —— 60 -> 00
andy_wsj 发表于 2015-6-9 18:03 应该判断大于等于59的时候进位清零 而不是判断小于60的时候进位
最多设置5个标签!
供 LZ 参考:
- // 定时器 0 中断函数
- void time0() interrupt 1
- {
- u8Timer0Scaler50ms ++; // 定时器 0 分频器递增。
-
- if (u8Timer0Scaler50ms >= 20) // 1 秒。
- {
- u8Timer0Scaler50ms = 0; // 定时器 0 分频器清零。
- if (u8SecondOnes >= 9) // 10 秒。
- {
- if (u8SecondTen >= 5) // 60 秒。
- {
- u8SecondTen = 0; // 秒十位清零。
- }
- else
- {
- u8SecondTen ++; // 秒十位递增。
- }
- u8SecondOnes = 0; // 秒个位清零。
- }
- else
- {
- u8SecondOnes ++; // 秒个位递增。
- }
- P2 = led_mod[u8SecondOnes]; // 数码管显示低位计数值。
- P0 = led_mod[u8SecondTen]; // 数码管显示高位计数值。
- }
- TH0 = 0x3c; // T0 重载初值。
- TL0 = 0xb0;
- } // time0 ISR
复制代码 最佳答案(1) 计时器 —— 59 -> 60
(2) 计时器 —— 60 -> 00
(3) 显示器 —— 显示计时器数据
(1) 和 (2) 应该合并为 59 -> 00
噢明白了谢谢大神
对就是这个问题,刚才修改了可以了
一周热门 更多>