基于AT89C51的日歷時(shí)鐘_第1頁
基于AT89C51的日歷時(shí)鐘_第2頁
基于AT89C51的日歷時(shí)鐘_第3頁
基于AT89C51的日歷時(shí)鐘_第4頁
基于AT89C51的日歷時(shí)鐘_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

.z基于AT89C51的日歷時(shí)鐘摘要:本文首先描述系統(tǒng)硬件工作原理,并附以系統(tǒng)構(gòu)造框圖加以說明,著重介紹了本系統(tǒng)所應(yīng)用的各硬件接口技術(shù)和各個(gè)接口模塊的功能及工作過程,其次,詳細(xì)闡述了程序的各個(gè)模塊和實(shí)現(xiàn)過程。本設(shè)計(jì)以數(shù)字集成電路技術(shù)為根底,單片機(jī)技術(shù)為核心。本文編寫的主導(dǎo)思想是軟硬件相結(jié)合,以硬件為根底,來進(jìn)展各功能模塊的編寫。關(guān)鍵詞AT89C51LCD1602鬧鈴

現(xiàn)今,高精度的計(jì)時(shí)工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘,石英表,石英鐘都采用了石英技術(shù),因此走時(shí)精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校,數(shù)字式電子鐘用集成電路計(jì)時(shí)時(shí),譯碼代替機(jī)械式傳動(dòng),用LED顯示器代替顯示器代替指針顯示進(jìn)而顯示時(shí)間,減小了計(jì)時(shí)誤差,這種表具有時(shí),分,秒顯示時(shí)間的功能,還可以進(jìn)展時(shí)和分的校對(duì),片選的靈活性好。本文利用單片機(jī)實(shí)現(xiàn)數(shù)字時(shí)鐘計(jì)時(shí)功能的主要內(nèi)容,其中AT89C51是核心元件同時(shí)采用數(shù)碼管動(dòng)態(tài)顯示“時(shí)〞,“分〞,“秒〞的現(xiàn)代計(jì)時(shí)裝置。與傳統(tǒng)機(jī)械表相比,它具有走時(shí)準(zhǔn)確,顯示直觀等特點(diǎn)。它的計(jì)時(shí)周期為24小時(shí),顯滿刻度為“23時(shí)59分59秒〞,另外具有校時(shí)功能,斷電后有記憶功能,恢復(fù)供電時(shí)可實(shí)現(xiàn)計(jì)時(shí)同步等特點(diǎn)。本系統(tǒng)以單片機(jī)的匯編語言進(jìn)展軟件設(shè)計(jì),軟件的設(shè)計(jì)采用模塊化構(gòu)造,使程序設(shè)計(jì)的邏輯關(guān)系更加簡(jiǎn)潔明了。系統(tǒng)通過點(diǎn)陣式液晶為載體顯示數(shù)據(jù),所以具有人性化的操作和美觀的頁面效果。可以顯示時(shí)間、公農(nóng)歷日期、星期,并有鬧鈴功能。1.設(shè)計(jì)功能要求普通萬年歷設(shè)計(jì)的功能要求是用51單片機(jī)〔AT89C51〕和液晶顯示LCD1602通過程序控制來實(shí)現(xiàn)顯示公歷年月日期、星期、時(shí)間、,并有鬧鈴功能。2.設(shè)計(jì)思路設(shè)計(jì)思路是根據(jù)萬年歷的功能要求,把萬年歷分為兩個(gè)局部考慮:年月日期、星期、時(shí)間的顯示和鬧鈴局部。3.系統(tǒng)的硬件構(gòu)成系統(tǒng)以AT89C51單片機(jī)作為核心控制器件,外圍主要有液晶顯示LCD1602和喇叭,均為串行通信器件,使得系統(tǒng)線路簡(jiǎn)單可靠性高。系統(tǒng)構(gòu)造框圖1所示。單單片機(jī)主控液晶顯示鍵盤輸入液晶顯示鍵盤輸入鬧鈴輸出鬧鈴輸出圖1系統(tǒng)構(gòu)造框圖3.1單片機(jī)主控模塊AT89C51單片機(jī)與MCS_51系列單片機(jī)產(chǎn)品兼容,美國(guó)ATMEL公司生產(chǎn)的一種低功耗,高性能的片內(nèi)含有4K的Flash存儲(chǔ)器構(gòu)造,可編程/擦除只讀存儲(chǔ)器〔FPEROM—FlashProgrammableandErasableReadOnlyMemory〕的8位S微控制器,使用高密度,非易失存儲(chǔ)技術(shù)制造,并且與80C51引腳和指令系統(tǒng)完全兼容。AT89C51將具有多種功能的8位CPU與FPEROM結(jié)合在一個(gè)芯片上,為很多嵌入式控制應(yīng)用提供了非常靈活而又廉價(jià)的方案。這種工藝的存儲(chǔ)器用戶可以用電的方式瞬間擦除和改寫,可以在線下載程序,易于日后的升級(jí)。它主要負(fù)責(zé)各個(gè)模塊的初始化工作;設(shè)置定時(shí)器、存放器的初值;讀取并處理時(shí)間、鬧鈴中斷等信息;處理按鍵響應(yīng);控制液晶實(shí)時(shí)顯示等。AT89C51的管腳排布如圖2所示:圖2AT89C51管腳圖〔1〕VCC:電源電壓〔2〕GND:接地〔3〕RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間?!?〕/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器〔0000H-FFFFH〕,不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源〔VPP〕?!?〕*TAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入?!?〕*TAL2:來自反向振蕩器的輸出?!?〕P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)展校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。〔8〕P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能吸收或輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。〔9〕P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可吸收或輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1〞時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)展存取時(shí),P2口輸出地址的高八位。在給出地址“1〞時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)展讀寫時(shí),P2口輸出其特殊功能存放器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)?!?0〕P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可吸收或輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1〞后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流〔ILL〕這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表1所示:口管腳備選功能

P3.0R*D串行輸入口P3.1T*D串行輸出口P3.2/INT0外部中斷0P3.3/INT1外部中斷1P3.4T0記時(shí)器0外部輸入P3.5T1記時(shí)器1外部輸入P3.6/WR外部數(shù)據(jù)存儲(chǔ)器寫選通P3.7/RD外部數(shù)據(jù)存儲(chǔ)器讀選通表1P3特殊功能口P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)?!?1〕ALE//PROG:當(dāng)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想制止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOV*,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE制止,置位無效?!?2〕/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。在本設(shè)計(jì)中所用到的引腳有VCC,GND,RST,/EA/VPP,*TAL1,*TAL2,P0口,P2口。硬件電路連接如圖3所示。系統(tǒng)采用12M晶振;P0口為單片機(jī)與液晶顯示器通信的數(shù)據(jù)端口,其中P0口有8個(gè)1K的上拉電阻;AT89C51單片機(jī)的復(fù)位靠外部電路來實(shí)現(xiàn),信號(hào)由RESET〔RST〕引腳輸入,高電平有效,在振蕩器工作時(shí),只要保持RESET〔RST〕引腳高電平兩個(gè)機(jī)器周期,單片機(jī)即可以復(fù)位,系統(tǒng)既有上電復(fù)位電路又可以手動(dòng)復(fù)位K3;P2.0~P2.2為液晶顯示器的控制信號(hào)端口:P3.7為鬧鈴的控制端口;P1.4~P1.5為按鍵模塊的接口。圖3單片機(jī)主控電路3.2鬧鈴模塊系統(tǒng)采用小喇叭作為鬧鈴輸出。鬧鈴電路連接如圖4所示。圖4鬧鈴電路電路中采用NPN管2N5088來做為信號(hào)功率放大來驅(qū)動(dòng)喇叭鬧鈴,由圖可以看出NPN管2N5088的集電極接電源正5伏;當(dāng)設(shè)定的定時(shí)時(shí)間到了從AT89C51的P3.7腳輸出頻率約為200HZ的方波信號(hào)使喇叭鬧鈴。3.3液晶顯示模塊系統(tǒng)中采用LCD1602作為顯示器件輸出信息。與傳統(tǒng)的LED數(shù)碼管顯示器件相比,液晶顯示模塊具有體積小、功耗低、顯示內(nèi)容豐富等優(yōu)點(diǎn),而且不需要外加驅(qū)動(dòng)電路,現(xiàn)在液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的顯示器件了。LCD1602可以顯示2行16個(gè)字符,具有8位數(shù)據(jù)總線D0-D7,和RS、R/W、E三個(gè)控制端口,工作電壓為5V,并且?guī)в凶址日斩日{(diào)節(jié)和背光設(shè)置。管腳功能簡(jiǎn)介:VL:LCD比照度調(diào)節(jié)端,電壓調(diào)節(jié)*圍為0-5V。接正電源時(shí)比照度最弱,接地電源時(shí)比照度最高,可以用一個(gè)5K的電位器來調(diào)整比照度;RS:數(shù)據(jù)或者指令選擇端。處理器寫入指令時(shí),RS為低電平,寫入數(shù)據(jù)時(shí),RS為高電平R/W:讀寫控制端。R/W為高電平時(shí),讀取數(shù)據(jù);R/W為低電平時(shí),寫入數(shù)據(jù)E:LCD模塊使能信號(hào)控制端。寫數(shù)據(jù)時(shí),需要下降沿觸發(fā)模塊D0-D7:8位數(shù)據(jù)總線,三態(tài)雙向BLA:LED背光正極。需要背光時(shí),BLA串接一個(gè)限流電阻接VCCBLK:LED背光負(fù)極LCD1602的管腳功能排布如圖5所示:圖5LCD1602管腳圖4系統(tǒng)的軟件設(shè)計(jì)根據(jù)設(shè)計(jì)任務(wù)的要求確定系統(tǒng)程序的完整構(gòu)造,盡可能采用模塊化程序設(shè)計(jì)方法,將任務(wù)劃分為相對(duì)獨(dú)立的功能模塊,明確個(gè)模塊的功能、時(shí)間順序和相互關(guān)系,系統(tǒng)的軟件設(shè)計(jì)可以分為幾個(gè)局部,首先是各個(gè)模塊的底層驅(qū)動(dòng)程序編寫,而后是系統(tǒng)聯(lián)機(jī)調(diào)試,編寫上層系統(tǒng)程序。建議在編寫和調(diào)試一個(gè)大的工程軟件程序時(shí),先編寫各個(gè)子模塊的驅(qū)動(dòng)程序,保證每個(gè)模塊都可以正常工作,做好備份工作,之后再來編寫整機(jī)程序。本系統(tǒng)軟件程序主要包括:液晶LCD1602的底層驅(qū)動(dòng)模塊、定時(shí)器0定時(shí)檢查系統(tǒng)變量模塊、定時(shí)器1按鍵掃描模塊等。鑒于篇幅,這里不作一一介紹了。系統(tǒng)的軟件主流程圖如圖6,鬧鈴中斷程序如圖7。開場(chǎng)開場(chǎng)標(biāo)識(shí)位初始化標(biāo)識(shí)位初始化時(shí)鐘、鬧鈴單元初始化時(shí)鐘、鬧鈴單元初始化定時(shí)器、中斷初始化定時(shí)器、中斷初始化讀取時(shí)間信息讀取時(shí)間信息液晶時(shí)間顯示液晶時(shí)間顯示有按鍵嗎.否有按鍵嗎.是鍵值處理鍵值處理圖6主程序MAIN流程框圖程序開場(chǎng)進(jìn)展標(biāo)識(shí)位初始化,對(duì)時(shí)鐘鬧鈴單元進(jìn)展初始化,開場(chǎng)讀取時(shí)間信息,通過讀取程序,液晶顯示器顯示時(shí)間,當(dāng)有按鍵按下時(shí)進(jìn)展鍵值的處理,沒有按鍵按下時(shí)則程序重新讀取時(shí)間信息。開場(chǎng)開場(chǎng)鬧鈴有中斷.設(shè)置定時(shí)器鬧鈴有中斷.設(shè)置定時(shí)器鬧鈴?fù)戤吺囚[鈴?fù)戤呏袛喾祷刂袛喾祷貓D7鬧鈴子程序當(dāng)時(shí)間到達(dá)設(shè)定鬧鈴的時(shí)間時(shí),鬧鈴開場(chǎng)響。5完畢語本次用單片機(jī)設(shè)計(jì)的日歷時(shí)鐘至此已全部完成,此次實(shí)訓(xùn)無論是資料的采集、零件選購(gòu)、軟件設(shè)計(jì)、還是硬件焊接、外觀設(shè)計(jì)、論文編寫都是經(jīng)過規(guī)劃設(shè)計(jì)完成的,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論