【正文】
ing, timing automatic automatic alarm ringing the bell, timer switch oven, timing onoff power equipment and various electrical time startup belong to timing control system. Timing control system and the realization method of many, this design using Atmel89S52 microcontroller hardware as control core, DS1302 as the clock and at the same time in power lost chip when storage material, LCD1602 liquid crystal display and as a user interaction, using 5 V relay control external electric power supply open or closed. Software modular design, driving, control, pins, variables such as defined by file piler, go to the lavatory already own design modification is also easy to understand others. Function mainly display and set the date and time, the timing control function, and can enter at any time, modify the regular time, regular time input after the timed state. Alarm system will start automatically when the time is reached, the flashing circuit and buzzer will start work on the LCD monitor will have the word Alarm be prompt, and cut off the green relay external power and turn on the relay circuit . In the alarm after half a minute if there is no person to operate the system, the alarm to the end of said system as a whole has been pleted. Key words : AT89S52;LCD1602;DS1302;relay目 錄目 錄 I1 緒 論 1 本設(shè)計(jì)目的意義 1 本設(shè)計(jì)發(fā)展及現(xiàn)狀 12 方案設(shè)計(jì) 3 軟件方案選擇 33 系統(tǒng)硬件設(shè)計(jì) 4 單片機(jī)外圍電路設(shè)計(jì) 4 單片機(jī)引腳功能 5 定時(shí)器的定時(shí)實(shí)現(xiàn) 7 時(shí)鐘電路的設(shè)計(jì) 9 時(shí)鐘電路外圍設(shè)計(jì) 9 時(shí)鐘芯片引腳功能 9 LCD1602 液晶顯示電路的設(shè)計(jì) 10 LCD1602芯片顯示功能 11 LCD1602引腳功能 11 繼電器控制電路的設(shè)計(jì) 11 繼電器和三極管的基功能 12 繼電器電路驅(qū)動(dòng)原理 13 報(bào)警電路和按鍵電路的設(shè)計(jì) 13 報(bào)警電路 13 按鍵電路 14 彩燈電路的設(shè)計(jì) 144 系統(tǒng)軟件設(shè)計(jì) 15 15 子程序流程圖 16 時(shí)鐘模塊流程圖 16 LCD顯示模塊流程圖 175 系統(tǒng)的軟硬件調(diào)試 18 硬件調(diào)試 18 軟件調(diào)試 18 Keil C51調(diào)試 18 Proteus 仿真 196 結(jié)論與展望 21 結(jié)論 21 展望 21謝 辭 22參考文獻(xiàn) 23附錄 24附錄一 程 序 24附錄二 系統(tǒng)原理圖 441 緒 論 本設(shè)計(jì)目的意義我們在日常生活中,經(jīng)常碰到一些需要定時(shí)的事情,例如:空調(diào)可以定時(shí)開啟與關(guān)閉,可以定在任何時(shí)間,洗衣機(jī)洗滌衣物需要定在幾分鐘到幾十分鐘的時(shí)間,電風(fēng)扇需要定在數(shù)十分鐘的時(shí)間。 本設(shè)計(jì)發(fā)展及現(xiàn)狀人類最早使用的定時(shí)工具是沙漏或水漏,但在鐘表誕生發(fā)展成熟之后,人們開始嘗試使用這種全新的計(jì)時(shí)工具來改進(jìn)定時(shí)器,達(dá)到準(zhǔn)確控制時(shí)間的目的。將控制核心、顯示模塊、開關(guān)接口等集成起來,電器插頭接上后即可實(shí)現(xiàn)定時(shí)開關(guān),將非定時(shí)控制電器變成可定時(shí)開關(guān)電器,實(shí)現(xiàn)定時(shí)控制器復(fù)用,并可節(jié)省成本,已成為家用電器定時(shí)控制的一種簡單有效的發(fā)展趨勢。按鍵有五個(gè),功能分別為模式、增加、減少、選擇、復(fù)位。另外,AT89S52 可降至0Hz 靜態(tài)邏 輯操作,支持2種軟件可選擇節(jié)電模式。 振蕩電路 在RST端(9腳)外接的一個(gè)電路,目的是使單片機(jī)上的電開始工作時(shí),內(nèi)部電路從初始狀態(tài)開始工作,或者在工作中人為讓單片機(jī)重新從初始狀態(tài)開始工作。 在flash編程時(shí),P0口也用來接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。P2 口:P2 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL 邏輯電平。對P3 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入 口使用。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對外輸出時(shí)鐘或用于定時(shí)目的。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。 C/T:定時(shí)器/計(jì)數(shù)器選擇位。定時(shí)器/計(jì)數(shù)器的四種工作方式為:定T0或T1無論用作定時(shí)器或計(jì)數(shù)器都有4種工作方式:方式0、方式方式2和方式3。方式0是13位計(jì)數(shù)結(jié)構(gòu)的工作方式,其計(jì)數(shù)器由TH0全部8位和TL0的低5位構(gòu)成。當(dāng)然,這種方式的定時(shí)/計(jì)數(shù)范圍要小于方式0和方式1。 時(shí)鐘電路圖 時(shí)鐘芯片引腳功能。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。采用串行數(shù)據(jù)傳送方式,使得管腳數(shù)量最少,簡單SPI 3線接口。采用主電源和備份電源雙電源供應(yīng)。 LCD1602主要技術(shù)參數(shù)主要有顯示容量為162個(gè)字符,—,(),字符尺寸:(WH)mm。E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。這樣吸合、釋放,從而達(dá)到了在電路中的接通、切斷的關(guān)目的。 在三極管截止的瞬間,由于線圈中的電流不能突變?yōu)榱?,繼電器線圈兩端會(huì)產(chǎn)生一個(gè)較高電壓的感應(yīng)電動(dòng)勢,線圈產(chǎn)生的感應(yīng)電動(dòng)勢則可以通過二極管IN4144釋放,從而保護(hù)了三極管免被擊穿,也消除了感應(yīng)電動(dòng)勢對其他電路的干擾,這就是二極管的保護(hù)作用。4 系統(tǒng)軟件設(shè)計(jì)程序設(shè)計(jì)按模塊劃分可分為: (1)軟件采用多文件編譯,用LCD1602液晶驅(qū)動(dòng)、DS1302時(shí)鐘芯片驅(qū)動(dòng),且分有函數(shù)定義的“ .c ”文件和函數(shù)聲明的“ .h ”頭等文件,引腳定義頭文件,變量常量定義頭文件,主程序“ .c ”文件分塊調(diào)試。 調(diào)試的主要方法: (1) 啟動(dòng)Keil c51 (2) 新建一個(gè)工程。 當(dāng)前時(shí)間設(shè)置 報(bào)警顯示6 結(jié)論與展望 結(jié)論整機(jī)工作,開啟開關(guān)按鈕后,我們可以看到時(shí)間和日期的顯示,通過設(shè)置按鈕,我們可以很方便的調(diào)節(jié)時(shí)間。但是再設(shè)計(jì)上還是存在許多的缺陷,功能上只能實(shí)現(xiàn)單路的定時(shí),然而在多路開關(guān)的定時(shí)是無能為力的。參考文獻(xiàn)[1] [2] :北京航天航空大學(xué)出版社,1990[3] :[4] [5] [M].人民郵電出版社,2007.[6] :清華大學(xué)出版社,2004(第二版)[7]趙德安等. 單片機(jī)原理與應(yīng)用. 北京:機(jī)械工業(yè)出版社,2004[8]:天津大學(xué)出版社,2001(第一版)[9]:清華大學(xué)出版社[10]趙亮等. : 入民郵電出版社[11]何立民. :北京航空航天大學(xué)出版社[12]夏繼強(qiáng). 單片機(jī)實(shí)驗(yàn)與實(shí)踐教程. 北京:附錄附錄一 程 序主程序includeincludeincludeincludeincludeincludeuchar code time[]={39。,39。,39。void main(){ ini()。 set_ds1302(time_add,initial_time)。 write_order(0x80+0x04)。0x0f])。)。:39。 write_date(time[now_time[0]4])。 } }}void detect(){ uchar temp。 } key。 flag=2。 write_order(0x01)。 } }}void page(uchar k){ write_order(0x80)。 for(i=k*32+16。 if(flag==3) { flag=0。 } page(sum)。 write_date(39。 if(move[1]==10) { move[1]=0。 move[2]++。 if(flag==3) { flag=0。 write_date(time[set[3]])。 } } timego[2]=set[0]4|set[1]。 flag=4。 } InitialSound()。break。\039。break。sbit ds1302_IO =P1^6。void set_ds1302(uchar taddr,uchar *P1302)。i0。 for(i=8。 ds1302_RST=1。 ds1302_RST=1。 for(i =3。 for (k=0。k++) { ring_time[k]=read_data_ds1302(taddr)。sbit key_right=P1^1。void delay(uchar z)。 write_order(0x06)。}void write_date(uchar date){ rs=1。x0。y++) { for(x=0。num++) { write_date(opens[num])。num++) { write_order(0x18)。num++) { write_order(0x18)。num++) { write_order(0x18)。 }}en