当然,也遇到让我不理解的地方:
看下面的程序:
- /*用比较器的方式做个低电压掉电保存数据,P37引脚电压小于1.19V(内部REFV1.19V)点中断,
- 保存计时数据
- */
-
- #include "COMM/stc.h" //调用头文件
- #include "COMM/stc32_stc8_usb.h"
- #include "seg_led.h"
- #include "key.h"
- #include "beep.h"
- #include "tim0.h"
- #include "exit.h"
- #include "adc.h"
- #include "ntc.h"
- #include "usart2.h"
- #include "stdio.h"
- #include "intrins.h"
- #include " wdt.h"
- #include "cmp.h" //调用头文件
- #include "eeprom.h"
-
-
-
- char *USER_DEVICEDESC = NULL;
- char *USER_PRODUCTDESC = NULL;
- char *USER_STCISPCMD = "@STCISP#";
-
- bit TIM_10MS_Flag; //10ms的标志位
- u32 TimCount = 0; //计数几个10ms
- bit LowVolFlag; //低电压标志
- bit B_1ms; //1ms标志
-
- u16 Test_cnt; //测试用的秒计数变量
- u16 Temp_cnt; //保存用的秒计数变量
- u8 tmp[2]; //通用数组
-
- void sys_init(); //函数声明
- void delay_ms(u16 ms); //unsigned int
-
- void Test_cntfz(void)
- {
- SEG0 = Test_cnt/100000%10;
- SEG1 = Test_cnt/10000%10;
- SEG2 = Test_cnt/1000%10;
- SEG3 = Test_cnt/100%10; //取10位
- SEG4 = Test_cnt/10%10; //取1位,这句错了,多除了10 导致我好几天想不明白!
复制代码
这里主程序中,应该是中断1000次才是1秒啊?
|