單片機(jī)原理及應(yīng)用——電子時(shí)鐘_第1頁(yè)
單片機(jī)原理及應(yīng)用——電子時(shí)鐘_第2頁(yè)
單片機(jī)原理及應(yīng)用——電子時(shí)鐘_第3頁(yè)
單片機(jī)原理及應(yīng)用——電子時(shí)鐘_第4頁(yè)
單片機(jī)原理及應(yīng)用——電子時(shí)鐘_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 單片機(jī)原理及應(yīng)用電子時(shí)鐘 課程設(shè)計(jì)報(bào)告 學(xué)院:信息工程學(xué)院 專業(yè)班級(jí):通信工程10-1班 姓名:牛愛 劉歡 焦航 指導(dǎo)教師:葛振 目 錄1. 設(shè)計(jì)題目.1 1.1課題研究背景.1 1.2課題主要內(nèi)容.12. 設(shè)計(jì)任務(wù).13. 設(shè)計(jì)思路.2 3.1系統(tǒng)框圖設(shè)計(jì).2 3.2系統(tǒng)電路原理設(shè)計(jì).34. 硬件原理圖和連接圖.4 4.1總原理圖.4 4.2at89c51.4 4.3復(fù)位電路.7 4.4按鍵電路.7 4.5led顯示電路.85. 程序流程圖.9 5.1主程序.9 5.2數(shù)碼管顯示.9 5.3定時(shí)器/計(jì)數(shù)器t0中斷服務(wù)程序.9 5.4按鍵處理程序.116. 程序清單.127. 實(shí)驗(yàn)總結(jié).17

2、8. 設(shè)計(jì)心得.189. 參考資料.191 1.設(shè)計(jì)題目 1.1課題研究背景 電子時(shí)鐘有著很長(zhǎng)的歷史,在1957年,ventura發(fā)明了世界上的第一塊電子表后,他就奠定了電子時(shí)鐘的基礎(chǔ),電子時(shí)鐘開始迅速地發(fā)展起來(lái)?,F(xiàn)代的電子時(shí)鐘是基于單片機(jī)的一種計(jì)時(shí)工具,采用延時(shí)程序產(chǎn)生一定的時(shí)間中斷,用于一秒的定義,通過(guò)計(jì)數(shù)方式進(jìn)行滿六十秒為一分鐘進(jìn)一,滿六十分為一小時(shí)進(jìn)一,滿二十四小時(shí)清零,從而達(dá)到計(jì)時(shí)的功能。基于51單片的電子時(shí)鐘,外圍電路簡(jiǎn)單易于實(shí)現(xiàn),性價(jià)比高,是實(shí)現(xiàn)電子時(shí)鐘的不錯(cuò)選擇。 1.2課題主要內(nèi)容本次課程設(shè)計(jì)基于單片機(jī)內(nèi)部資源設(shè)計(jì)出的一款性價(jià)比高的電子時(shí)鐘系統(tǒng),主要涉及到以下幾個(gè)研究方向:

3、(1) 熟悉mcs-51單片機(jī)內(nèi)部定時(shí)器的工作方式; (2) 掌握單片機(jī)內(nèi)部中斷系統(tǒng)的工作模式; (3) 了解mcs-51單片機(jī)外部電路的一般設(shè)計(jì)方法; (4) 熟悉匯編語(yǔ)言的編寫規(guī)則;(5) 掌握單片機(jī)內(nèi)部ram地址分配方法; (6) 掌握特殊功能寄存器的用法; (7) 熟悉proteus isis及keil uvision2軟件的使用。 2.設(shè)計(jì)任務(wù)我們采用應(yīng)用廣泛的at89c51作為時(shí)鐘控制芯片,利用單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器t0 實(shí)現(xiàn)軟時(shí)鐘的目的。在六位數(shù)碼顯示器上顯示時(shí),分,秒。選用定時(shí)器每隔0.125秒產(chǎn)生一次中斷,在內(nèi)存中設(shè)定四個(gè)單元,存放0.125秒,秒,分,時(shí),每隔0.125秒

4、對(duì)這些單元中的內(nèi)容進(jìn)行必要的修改。存放時(shí)分秒及0.125秒的數(shù)值的四個(gè)單元選用片內(nèi)ram:(50h) 0.125秒的個(gè)數(shù)(51h) 秒(bcd碼)(52h) 分(bcd碼)(53h) 時(shí)(bcd碼)晶振頻率為6mhz,使用方式1定時(shí)0.125秒,則定時(shí)器的初始值為0bdch??擅恐袛?次更新一次時(shí)間顯示,每隔兩次中斷(0.25秒)進(jìn)行一次鍵盤檢查。此外還要實(shí)現(xiàn)對(duì)時(shí)間的調(diào)整功能,89c51的p1.0、p1.1、p1.2外接三個(gè)獨(dú)立按鍵,當(dāng)有鍵按下時(shí),分別使秒單元清零,時(shí),分內(nèi)容加一。3.設(shè)計(jì)思路 3.1系統(tǒng)框圖設(shè)計(jì) 根據(jù)電子時(shí)鐘能夠?qū)崿F(xiàn)的功能,采用單片機(jī)內(nèi)部資源,設(shè)計(jì)出了系統(tǒng)原理框圖,如圖3-1

5、所示: 圖3-1 在單片機(jī)內(nèi)部構(gòu)建三個(gè)模塊:控制模塊、譯碼模塊、定時(shí)模塊,用以實(shí)現(xiàn)自動(dòng)計(jì)數(shù)、譯碼顯示功能。單片機(jī)外部構(gòu)建三個(gè)電路:復(fù)位電路、外部按鈕電路、顯示電路,用以實(shí)現(xiàn)對(duì)單片機(jī)內(nèi)部計(jì)數(shù)控制以及譯碼輸出的正確顯示。該電子時(shí)鐘是將秒、分、時(shí)顯示在人的視覺器官面前的一種計(jì)時(shí)裝置。故將計(jì)時(shí)周期設(shè)置為24小時(shí),當(dāng)顯示滿刻度是23時(shí)59分59秒時(shí),數(shù)碼管顯示為0。為了確保時(shí)間正常校對(duì),在系統(tǒng)中設(shè)有校對(duì)按鈕,用以實(shí)現(xiàn)對(duì)數(shù)碼管顯示的正確調(diào)整。 3.2系統(tǒng)電路原理設(shè)計(jì)在本次的設(shè)計(jì)中對(duì)6mhz的系統(tǒng)時(shí)鐘進(jìn)行定時(shí)計(jì)數(shù),初值設(shè)為0bdch。形成定時(shí)時(shí)間為0.125s。用片內(nèi)ram的50h單元對(duì)0.125s計(jì)數(shù),計(jì)

6、8次1秒鐘到,然后對(duì)秒計(jì)數(shù)器51h單元加1,秒計(jì)數(shù)器加到60后就向分進(jìn)位,則分計(jì)數(shù)器52h單元加1而秒計(jì)數(shù)器51h單元清零;分計(jì)數(shù)器加到60后又向時(shí)進(jìn)位,則時(shí)計(jì)數(shù)器53h單元加1而分計(jì)數(shù)器52h單元清零;時(shí)計(jì)數(shù)器加到24則時(shí)計(jì)數(shù)器清零。然后把秒、分、時(shí)計(jì)數(shù)器分成十位和個(gè)位放到6個(gè)數(shù)碼管的顯示緩沖區(qū),通過(guò)數(shù)碼管顯示出來(lái)。顯示格式為小時(shí)十位、小時(shí)個(gè)位、分十位、分個(gè)位、秒十位、秒個(gè)位。4. 硬件原理圖和連接圖 4.1總原理圖根據(jù)電路原理框圖設(shè)計(jì)出電路原理圖如圖4-1所示,由6mhz的晶振給單片機(jī)提供固定的時(shí)鐘頻率,通過(guò)k0、k1、k2可以對(duì)顯示電路時(shí)間進(jìn)行位設(shè)定。 圖4-1 4.2at89c51 a

7、t89c51是一種帶4k字節(jié)flash存儲(chǔ)器的低電壓、高性能cmos的8位微處理器,俗稱單片機(jī)。at89c51是一種帶2k字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用atmel高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲(chǔ)器組合在單個(gè)芯片中,atmel的at89c51是一種高效微控制器。如圖4-2所示: 圖4-2 由于電路原理中只用到單片機(jī)的p0、p1、p2口,所示下面對(duì)這三個(gè)端口進(jìn)行詳細(xì)介紹。 1)、p0口:p00p07統(tǒng)稱為p0口,在不接片外存儲(chǔ)器與不擴(kuò)展i/o接口時(shí),作

8、為準(zhǔn)雙向輸入/輸出接口。在接有片外存儲(chǔ)器或擴(kuò)展i/o接口時(shí),p0口分時(shí)復(fù)用為低8位地址總線和雙向數(shù)據(jù)總線。p0口是一個(gè)三態(tài)雙向口,由一個(gè)輸出鎖存器、兩個(gè)三態(tài)緩沖器、輸出驅(qū)動(dòng)電路和輸出控制電路組成。在輸入數(shù)據(jù)時(shí),應(yīng)人為地先向p0口寫“1”,定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的低八位。在fiash編程時(shí),p0 口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗(yàn)時(shí),p0輸出原碼,此時(shí)p0外部必須被拉高。 2)、p1口:p10p17統(tǒng)稱為p1口,可作為準(zhǔn)雙向i/o接口使用。p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4lsttl門電流。p1口管腳寫入

9、“1”后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。 3)、p2口:p20 p27口統(tǒng)稱為p2口,一般可以作為準(zhǔn)雙向i/o接口使用,在接有片外存儲(chǔ)器或擴(kuò)展i/o接口且尋址范圍超過(guò)256字節(jié)時(shí),p2口用作高8位地址總線。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í),

10、它利用內(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)。 4.3復(fù)位電路計(jì)算機(jī)在啟動(dòng)運(yùn)行時(shí)都需要復(fù)位,復(fù)位時(shí)使中央處理器cpu和內(nèi)部其他部件處于一個(gè)確定的初始狀態(tài),從這個(gè)狀態(tài)開始工作。 at89c51單片機(jī)有一個(gè)復(fù)位引腳rst,高電平有效。在時(shí)鐘電路工作以后,當(dāng)外部電路使得rst端出現(xiàn)兩個(gè)機(jī)器周期(24個(gè)時(shí)鐘周期)以上的高電平,系統(tǒng)內(nèi)部復(fù)位。復(fù)位有兩種方式:上電復(fù)位和按鈕復(fù)位。在此次的設(shè)計(jì)中,我采用按鍵復(fù)位,如圖4-3所示: 圖4-3只要rst保持高電平,at89c51單片機(jī)將循環(huán)復(fù)位。復(fù)位期間,a

11、le、psen輸出高電平。rst從高電平變?yōu)榈碗娖胶?,pc指針變?yōu)?000h,使單片機(jī)從程序存儲(chǔ)器地址為0000h的單元開始執(zhí)行程序。當(dāng)單片機(jī)執(zhí)行程序出錯(cuò)或進(jìn)入死循環(huán)時(shí),可按復(fù)位按鈕重新啟動(dòng)。 4.4按鍵電路獨(dú)立式鍵盤是各按鍵相互獨(dú)立,每個(gè)按鍵各接一根i/o接口線,每根i/o接口線的按鍵是不會(huì)影響其他的i/o接口線。在本次設(shè)計(jì)中,按鍵為k0、k1、k2,他們分別與單片機(jī)p1.0、p1.1、p1.2接口線相接。通過(guò)按鍵控制顯示器的顯示。圖4-4所示: 圖4-4 4.5 led顯示電路在本次的設(shè)計(jì)中,采用的8位的數(shù)碼管顯示器。數(shù)碼管如果按照段數(shù)分可為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多

12、一個(gè)發(fā)光二極管單元,也就是多了一個(gè)小數(shù)點(diǎn)的顯示;如果按能夠顯示多少個(gè)“8”分類的話,也可以可分為1位、2位、4位等數(shù)碼管。 如果按照發(fā)光二極管單元的連接方式又可以分為共陽(yáng)極數(shù)碼管和共陰極數(shù)碼管。共陽(yáng)極的數(shù)碼管是將所有發(fā)光二極管的陽(yáng)極接到一起后就形成公共陽(yáng)極(com)的數(shù)碼管,共陽(yáng)極數(shù)碼管在應(yīng)用時(shí)要將公共極(com)接到+5v,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮,當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陰極數(shù)碼管是將所有發(fā)光二極管的陰極接到一起形成公共陰極(com)的數(shù)碼管,共陰極數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極(com)接到地線gnd上,當(dāng)某一字段發(fā)光二極管的陽(yáng)極為高電平時(shí),相

13、應(yīng)字段就點(diǎn)亮,當(dāng)某一字段的陽(yáng)極為低電平時(shí),相應(yīng)字段就不亮。如圖4-5所示: 圖4-55.程序流程圖 5.1主程序 先對(duì)顯示單元和定時(shí)器/計(jì)數(shù)器初始化,然后重復(fù)調(diào)用數(shù)碼管顯示模塊和按鍵處理模塊,當(dāng)有按鍵按下時(shí),則轉(zhuǎn)入相應(yīng)的功能程序。 5.2數(shù)碼管顯示 本設(shè)計(jì)有8個(gè)數(shù)碼管,從右到左為妙、分、時(shí)。在本系統(tǒng)中數(shù)碼管顯示采用軟件譯碼動(dòng)態(tài)顯示。在存儲(chǔ)器中首先建立一張顯示信息的字段碼表,顯示時(shí),先從顯示緩沖區(qū)中取出顯示的信息,然后通過(guò)查表程序在字段表中查出所顯示的信息的斷碼,從p0端口輸出,同時(shí)在p2端口進(jìn)行數(shù)碼管顯示。 5.3定時(shí)器/計(jì)數(shù)器t0中斷服務(wù)程序 t0用于計(jì)時(shí),選中方式一,重復(fù)定時(shí),定時(shí)時(shí)間設(shè)為

14、0.125s,定時(shí)時(shí)間到則中斷,在中斷服務(wù)程序中用一個(gè)計(jì)數(shù)器對(duì)0.125s計(jì)數(shù),計(jì)8次則對(duì)秒單元加一。秒單元加到60則對(duì)分單元加一,同時(shí)秒單元清0;分單元加到60則對(duì)時(shí)單元加一,同時(shí)分單元清0;時(shí)單元加到24則對(duì)時(shí)單元清0,標(biāo)志一天時(shí)間計(jì)滿。在對(duì)各單元計(jì)數(shù)的同時(shí),把他們的值放到存儲(chǔ)器單元的指定位置。流程圖如下: 設(shè)置初始值,啟動(dòng)下一個(gè)0.125s是開始t0為方式1設(shè)中斷次數(shù)為8,清計(jì)時(shí)單元允許t0中斷調(diào)用顯示子程序進(jìn)入功能程序按下鍵否開始中斷返回0.125s計(jì)數(shù)器加一秒單元加1,125ms計(jì)數(shù)器清0分單元加1,秒單元清0時(shí)單元加1,分單元清0時(shí)單元清0125ms計(jì)數(shù)器=8?秒單元=60?分單元

15、=60?時(shí)單元=24?主程序流程圖t0中斷服務(wù)程序nononono 5.4按鍵處理程序按鍵設(shè)置為:如果沒有按鍵,則時(shí)鐘正常走時(shí)。當(dāng)按下k0鍵時(shí),時(shí)鐘復(fù)位,從零開始計(jì)數(shù);按k1鍵時(shí),秒清零;按k1鍵時(shí),分清零,再按時(shí)實(shí)現(xiàn)加一功能;按k2鍵時(shí),時(shí)清零,再按時(shí)實(shí)現(xiàn)加一功能。6. 程序清單 org 0000h ljmp tim org 000bh ;中斷服務(wù)程序入口 t0 ljmp loop2 org 0030h ;主程序入口tim: mov sp, #2fh mov tmod, #01h ;設(shè)置t0定時(shí)為方1 mov ie, #0 setb et0 setb ea ;打開t0中斷 mov th0,

16、#0bh ;定時(shí)0.125s mov tl0, #0dch setb tr0 ;啟動(dòng)t0 mov 50h, #0 ;各時(shí)間存儲(chǔ)單元清零 mov 51h, #0 mov 52h, #0 mov 53h, #0 clr psw.5 ;清除鍵盤調(diào)整標(biāo)志位loop1: call disp2 ;調(diào)用顯示子程序 jbc tf0, loop2 jmp loop1 ;主程序循環(huán);-loop2: mov tl0, #0dch mov th0, #0bh inc 50h mov a, 50h cjne a, #02h, eq04 sjmp jianeq04: cjne a, #04h, eq06 sjmp jia

17、neq06: cjne a, #06h, eq08 sjmp jianeq08: cjne a, #08h, _end_t0 mov 50h, #0 mov a, 51h ;秒計(jì)數(shù) add a, #1 da a mov 51h, a cjne a, #60h, jian mov 51h, #0addf: ;分計(jì)數(shù) mov a, 52h add a, #1 da a mov 52h, a cjne a, #60h, jian mov 52h, #0 jb psw.5, _end_t0 ;psw.5為1,是按鍵調(diào)整,時(shí)不變addh: ;時(shí)計(jì)數(shù) mov a, 53h add a, #1 da a m

18、ov 53h, a cjne a, #24h, jian mov 53h, #0 jb psw.5, _end_t0jian: jb psw.5, _end_t0 mov p1, #0ffh mov a, p1 ;讀取鍵盤狀態(tài) cpl a anl a, #00000111b jz _end_t0 ;為0則無(wú)鍵按下 setb psw.5 jb acc.0, clrs ;為1則是p3.0有鍵按下 jb acc.1, addf jb acc.2, addhclrs: mov 50h, #0 mov 51h, #0_end_t0: clr psw.5 ;清除按鍵調(diào)整標(biāo)志位 reti;-disp2: ;

19、顯示子程序,把51h 52h 53h的內(nèi)容送到led顯示器 call fen_jie2 call display ret;-fen_jie2: mov a, 51h anl a, #0fh mov 7dh, a mov a, 51h swap a anl a, #0fh mov 7ch, a mov a, 52h anl a, #0fh mov 7bh, a mov a, 52h swap a anl a, #0fh mov 7ah, a mov a, 53h anl a, #0fh mov 79h, a mov a, 53h swap a anl a, #0fh mov 78h, a ret

20、;-display: mov r0, #7dh mov 7eh, #0feh mov 7fh, #6_dp_l: mov a, r0 mov dptr, #_ma_biao movc a, a+dptr mov p0, a ;p0段選 p2位選 mov p2, 7eh xrl p2, #255 ;取反否則加三極管 mov a, 7eh rl a mov 7eh, a dec r0 lcall dl1ms mov p2, #0 ;關(guān)閉顯示 djnz 7fh, _dp_l ;循環(huán)顯示六個(gè)位 ret_ma_biao: db 0c0h, 0f9h, 0a4h, 0b0h, 99h db 92h, 82h, 0f8h, 80h, 90h db 88h, 83h, 0c6h, 0a1h, 86h db 8ehdl1ms:del1: mov r7, #0 djnz r7, $ retend7. 實(shí)驗(yàn)總結(jié)在本課題中,采用at89c51單片機(jī)作為主控制器,6mhz晶振作為振蕩源,p0口作為輸出字段碼,p2口作為輸出位選碼,采用共陽(yáng)的led

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論