#include<string.h> (引用定義頭文件,本頭文件為單片機(jī)內(nèi)部自帶,無(wú)需編寫(xiě),后面帶有<XXXX>代表引用單片機(jī)內(nèi)部頭文件) #include "Lcd1602.h"(引用定義頭文件,本頭文件需要自己編寫(xiě),后面帶有”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的最右邊的二進(jìn)制4位留著不變,其它位全部清0。 TMOD|= 0x10; //把剛才留下的4位里最右1位二進(jìn)制設(shè)為1。 TH1 = 0xD4; //0xD4賦值給TH1 TL1 = 0xCD; //0xCD賦值給TL1 EA = 1; //總中斷開(kāi)啟 ET1 = 1; //定時(shí)計(jì)數(shù)器1溢出中斷允許控制位 TR1 = 1; //啟動(dòng)定時(shí)器T1 } void Sys_Init() { InitTimer1(); //初始化定時(shí)器1 InitLcd1602(); //初始化LCD1602 InitDS1302(); //初始化DS1302 PWM_init(); //初始化PWM InitADC(); //初始化ADC } unsigned int numbertime=0; void main(void) {
EA=1; //總中斷開(kāi)啟 Sys_Init(); //系統(tǒng)初始化 showInit(); //顯示初始化 while(1) //循環(huán)語(yǔ)句 {
KeyDriver(); //按鍵程序 if(step==0&&flag200ms==1) { flag200ms=1; //200ms標(biāo)志位
refreshDs1302(); //定時(shí)DS1302頁(yè)面刷新 refreshAD(); //定時(shí)AD頁(yè)面刷新 } } }
void InterruptTimer1() interrupt 3 //定時(shí)器中斷1產(chǎn)生中斷時(shí)執(zhí)行 { 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(); //按鍵檢測(cè) if(cnt>=200) //如果cnt>=200 { flag200ms=1; //200ms標(biāo)志位=1 cnt=0; //cnt=0 } }
右邊的那些注釋?zhuān)袥](méi)有大佬能不能幫我看看有沒(méi)有問(wèn)題,要怎么改。。
|