通過(guò)閱讀作者的 main.c 文件,發(fā)現(xiàn)作者的代碼風(fēng)格很好,很值得我們學(xué)習(xí).
#include "STC12C5620AD.H"
#include "RT12864M.H"
#include "delay.h"
#include "DS1302.H"
#include "DS18B20.H"
#include "System_Init.H"
#include "Time_Handle.H"
#include "Temperature_Handle.H"
#include "Radio.H"
#include "Key_Handle.H"
#include "Key_Scan.H"
#include "LCD_Display.H"
#include "Channel_Handle.H"
#include "Volume_Handle.H"
/********************** 聲明外部變量**************************/
extern uchar Volume; //Volume_Handle.c
extern uchar Radio_Index; //From Channel_Handle.c
extern uint PLL; //From Radio.c
/********************** 定義變量 ***************************/
bit Flag_40ms; //40ms定時(shí)標(biāo)志位
uchar data Work_Mode=0; //定義系統(tǒng)狀態(tài)
uchar data Display_Time[9]={0x20,0x30,0x30,0x3a,0x30,0x30,0x3a,0x30,0x30}; //時(shí)間顯示緩存 格式 12:12:12
uchar data Display_Date[11]={0x20,0x32,0x30,0x31,0x31,0x2f,0x30,0x30,0x2f,0x30,0x30};//日期顯示緩存 格式 2011/04/07
uchar data Display_Day[3]={'M','O','N'}; //星期顯示緩存 格式 MON,TUE,WED
uchar data Display_Temperature[5]={0x20,0x30,0x30,0x20,0x20}; //時(shí)間顯示緩存 格式 -23
uchar data Display_Channel[5]={0x20,0x43,0x48,0x30,0x30}; //頻道號(hào)顯示緩存 格式 CH07
uchar data Display_FM[9]={0x30,0x30,0x30,0x2e,0x30,0x20,0x4d,0x48,0x7a}; //收音頻率顯示緩存 格式 101.71MHz
/********************** Timer0 Interrupt **************************/
void Timer0_Serves() interrupt 1 using 0
{
TH0 = 0xff; //設(shè)定定時(shí)器重裝值
TL0 = 0xd8;
Flag_40ms=1;
}
/********** Main Function *************/
void main(void)
{
BEEP_DRV=0; //關(guān)閉蜂鳴器
LCD_BLK=0; //關(guān)閉LCD背光
System_Init(); //初始化MCU
LCD_Init(); //初始化RT12864M
//DS1302_Init(); //初始化 DS1302(完全掉電后進(jìn)行參數(shù)更新)
TEA5767_Init(); //初始化TEA5767,寫(xiě)入預(yù)置參數(shù)
Radio_Index=EEPROM_Get_Index(); //獲取上一次斷電存儲(chǔ)的電臺(tái)序號(hào)
PLL=EEPROM_Get_PLL(Radio_Index); //獲取當(dāng)前序號(hào)PLL
TEA5767_Update_PLL(); //更新PLL
Volume_Init(); //初始化聲音
while(1)
{
Time_Handle();
Temperature_Handle(); //獲取溫度信息
Key_Handle();
TEA5767_Display_Frequency();
LCD_Display(); //顯示刷新
}
} |