#include<string.h> (引用定义头文件,本头文件为单片机内部自带,无需编写,后面带有<XXXX>代表引用单片机内部头文件) #include "Lcd1602.h"(引用定义头文件,本头文件需要自己编写,后面带有”XXXX”代表自定义头文件) #include "config.h" #include "ds1302.h" #include "eeprom.h" #include "key.h" #include "Time.h" #include "AD.h" #include "PWM.h" extern unsigned char step; unsigned char str[20];
bit flag200ms=1; // 声明flag_200ms 的位型变量,并赋初值为1。 void InitTimer1(void) { TMOD&= 0x0F; //按位与,把 TMOD的最右边的二进制4位留着不变,其它位全部清0。 TMOD|= 0x10; //把刚才留下的4位里最右1位二进制设为1。 TH1 = 0xD4; //0xD4赋值给TH1 TL1 = 0xCD; //0xCD赋值给TL1 EA = 1; //总中断开启 ET1 = 1; //定时计数器1溢出中断允许控制位 TR1 = 1; //启动定时器T1 } void Sys_Init() { InitTimer1(); //初始化定时器1 InitLcd1602(); //初始化LCD1602 InitDS1302(); //初始化DS1302 PWM_init(); //初始化PWM InitADC(); //初始化ADC } unsigned int numbertime=0; void main(void) {
EA=1; //总中断开启 Sys_Init(); //系统初始化 showInit(); //显示初始化 while(1) //循环语句 {
KeyDriver(); //按键程序 if(step==0&&flag200ms==1) { flag200ms=1; //200ms标志位
refreshDs1302(); //定时DS1302页面刷新 refreshAD(); //定时AD页面刷新 } } }
void InterruptTimer1() interrupt 3 //定时器中断1产生中断时执行 { static unsigned intcnt=0,cnt1=0; TL1=0X67; //0X67赋值TL1 TH1=0XFC; //0XFC赋值给TH1 cnt++; cnt1++; //cnt加1 if(cnt1>1000) { numbertime++; //numbertime加1 cnt1=0; //cnt1赋值0 } KeyScan(); //按键检测 if(cnt>=200) //如果cnt>=200 { flag200ms=1; //200ms标志位=1 cnt=0; //cnt=0 } }
右边的那些注释,有没有大佬能不能帮我看看有没有问题,要怎么改。。
|