單片機(jī)數(shù)字電子鐘課程設(shè)計(jì)_第1頁(yè)
單片機(jī)數(shù)字電子鐘課程設(shè)計(jì)_第2頁(yè)
單片機(jī)數(shù)字電子鐘課程設(shè)計(jì)_第3頁(yè)
單片機(jī)數(shù)字電子鐘課程設(shè)計(jì)_第4頁(yè)
單片機(jī)數(shù)字電子鐘課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(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ī)技術(shù)課程設(shè)計(jì)說(shuō)明書(shū)數(shù)字電子鐘系 、 部: 學(xué)生姓名: 指導(dǎo)教師: 專 業(yè): 班 級(jí): 完成時(shí)間:摘 要本設(shè)計(jì)是一款數(shù)字電子鐘,本數(shù)字電子鐘所采用的主要元件有傳感器18B20,單片機(jī)AT89S52,四位共陽(yáng)極數(shù)碼管2個(gè),蜂鳴器一個(gè),排阻2個(gè),數(shù)據(jù)口一個(gè),開(kāi)關(guān)一個(gè),電容電阻、三極管、發(fā)光二極管、排針、觸發(fā)開(kāi)關(guān)若干。數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無(wú)機(jī)械裝置,具有更更長(zhǎng)的使用壽命,因此得到了廣泛的使用。在這次設(shè)計(jì)中,我們采用LED數(shù)碼管顯示時(shí)、分、秒,以24小時(shí)計(jì)時(shí)方式,根據(jù)數(shù)碼管動(dòng)態(tài)顯示原理來(lái)進(jìn)行顯示,用12MHz的晶振產(chǎn)生振蕩

2、脈沖,定時(shí)器計(jì)數(shù)。在此次設(shè)計(jì)中,電路具有顯示時(shí)間的其本功能,還可以實(shí)現(xiàn)對(duì)時(shí)間的調(diào)整。數(shù)字鐘是其小巧,價(jià)格低廉,走時(shí)精度高,使用方便,功能多,便于集成化而受廣大消費(fèi)的喜愛(ài),因此得到了廣泛的使用。關(guān)鍵詞 單片機(jī);數(shù)字鐘ABSTRACTThis design is a new multi-functional digital tube, can be applied to digital electric clock, digital frequency meter, digital voltmeter, lights, digital stopwatch, counter, digital the

3、rmometer, etc. My intention is made of a simple probiotic yogurts probiotic yogurts convenient digital thermometer so only narrative digital thermometer aspects of production. This digital tube adopted by the main components 18B20 had sensors, monolithic integrated circuit AT89S52, four altogether a

4、node digital tube 2, buzzer a, exclusion 2, data mouth a, switch a, capacitance resistance, triode, light emitting diode, row needles, triggering switch is some. SCM module are the most common digital clock, a digital clock is a kind of digital circuit technology implementation, minutes and seconds

5、timing device, and the mechanical clock compared with higher accuracy and intuitive, and without a mechanical device, has more longer service life, so it has been widely used. A digital clock is adopting digital circuit implementation of ", "" points" and "second" digit

6、al display timer device. A digital clock precision, stability than old mechanical clock. In this design, we adopt LED digital display when tube, minutes and seconds to 24 hours timer way, according to digital tube dynamic display elements shows, with the 12MHz crystals produce oscillation pulse, the

7、 timer counting. In this design, circuit has show time its this function can also realize to the time of adjustment. A digital clock is its small, cheap, when high precision, easy to use, the function is much, facilitate integration and receives general consumer's favorite, so it has been widely

8、 used.Key word microcontroller;digital clock目 錄1. 電子鐘系統(tǒng)總體方案的設(shè)計(jì)11.1 設(shè)計(jì)任務(wù)11.2 功能要求11.3 總體方案的設(shè)計(jì)11.3.1 單片機(jī)的選擇11.3.2 單片機(jī)的基本結(jié)構(gòu)12. 數(shù)字鐘硬件電路的設(shè)計(jì)52.1 最小系統(tǒng)設(shè)計(jì)52.1.1 整體設(shè)計(jì)52.1.2 外接晶體引腳52.1.3 復(fù)位RST962.1.4 輸入輸出引腳62.2 LED顯示電路72.3 鍵盤(pán)控制電路93. 系統(tǒng)軟件的設(shè)計(jì) 103.1 監(jiān)控程序流程圖 103.2 顯示“P.”主程序流程框圖113.3 鍵掃描子程序流程圖123.4 定時(shí)器0服務(wù)程序流程圖133.5

9、 程序清單144. 系統(tǒng)的仿真及調(diào)試194.1 仿真軟件的簡(jiǎn)介194.2 電子鐘系統(tǒng)PROTUES仿真結(jié)果204.3 系統(tǒng)誤差分析20設(shè)計(jì)體會(huì) 21參考文獻(xiàn) 22致謝 23附錄一 系統(tǒng)硬件電路原理圖及元件清單附錄二 PCB圖 及元器件布局圖第一章 電子鐘系統(tǒng)總體方案的設(shè)計(jì)1.1設(shè)計(jì)任務(wù)設(shè)計(jì)一個(gè)具有特定功能的電子鐘。1.2功能要求該電子鐘上電或按鍵復(fù)位后能自動(dòng)顯示系統(tǒng)提示符“P.”, 進(jìn)入時(shí)鐘準(zhǔn)備狀態(tài);第一次按電子鐘啟動(dòng)/調(diào)整鍵,電子鐘從0時(shí)0分0秒開(kāi)始運(yùn)行,進(jìn)入時(shí)鐘運(yùn)行狀態(tài);再次按電子鐘啟動(dòng)/調(diào)整鍵,則電子鐘進(jìn)入時(shí)鐘調(diào)整狀態(tài),此時(shí)可利用各調(diào)整鍵調(diào)整時(shí)間,調(diào)整結(jié)束后可按啟動(dòng)/調(diào)整鍵再次進(jìn)入時(shí)鐘運(yùn)

10、行狀態(tài)。1.3總體方案的設(shè)計(jì)1.3.1 單片機(jī)的選擇采用型號(hào)為STC89C52的單片機(jī)。因?yàn)椋篠TC89C52是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-52指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,內(nèi)置功能強(qiáng)大的微型計(jì)算機(jī)的AT89C52提供了高性價(jià)比的解決方案。STC89C52是一個(gè)低功耗高性能單片機(jī),40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)

11、器,2個(gè)全雙工串行通信口,STC89C51可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的Flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。1.3.2單片機(jī)的基本結(jié)構(gòu)8052單片機(jī)包含中央處理器、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說(shuō)明:中央處理器:中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。數(shù)據(jù)

12、存儲(chǔ)器(RAM):8052內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問(wèn),而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個(gè),可存放讀寫(xiě)的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。圖1-1 單片機(jī)8052的內(nèi)部結(jié)構(gòu)程序存儲(chǔ)器(ROM):8052共有4096個(gè)8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。定時(shí)/計(jì)數(shù)器(ROM):8052有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。并行輸入輸出(I/O)口:8052共有4組8位I/O口(P0、 P1、P2或P3),用于對(duì)外部數(shù)

13、據(jù)的傳輸。全雙工串行口:8052內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。中斷系統(tǒng):8052具備較完善的中斷功能,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿足不同的控制要求,并具有2級(jí)的優(yōu)先級(jí)別選擇。時(shí)鐘電路:8052內(nèi)置最高頻率達(dá)12MHz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,但8052單片機(jī)需外置振蕩電容。單片機(jī)的結(jié)構(gòu)有兩種類型,一種是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器合二為一的結(jié)構(gòu),即普林斯頓(Princeton

14、)結(jié)構(gòu)。INTEL的MCS-52系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機(jī)則采用普林斯頓結(jié)構(gòu)。下圖是MCS-52系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖。圖1-2 MCS-52系列單片機(jī)的內(nèi)部結(jié)構(gòu)MCS-52的引腳說(shuō)明:MCS-52系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用。圖1-3 單片機(jī)的引腳圖Pin9:RESET/Vpd復(fù)位信號(hào)復(fù)用腳,當(dāng)8052通電,時(shí)鐘電路開(kāi)始工作,在RESET引腳上出現(xiàn)24個(gè)時(shí)鐘

15、周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫(xiě)入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開(kāi)始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8052的初始態(tài)。8051的復(fù)位方式可以是自動(dòng)復(fù)位,也可以是手動(dòng)復(fù)位,見(jiàn)下圖1-4。圖1-4 上電自動(dòng)和手動(dòng)復(fù)位電路圖 Pin30:ALE/當(dāng)訪問(wèn)外部程序器時(shí),ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問(wèn)內(nèi)部程序存儲(chǔ)器時(shí),ALE端將有一個(gè)1/6時(shí)鐘頻率的正脈沖信號(hào),這個(gè)信號(hào)可以用于識(shí)別單片機(jī)是否工作,也可以

16、當(dāng)作一個(gè)時(shí)鐘向外輸出。更有一個(gè)特點(diǎn),當(dāng)訪問(wèn)外部程序存儲(chǔ)器,ALE會(huì)跳過(guò)一個(gè)脈沖。如果單片機(jī)是EPROM,在編程其間,Pin29:將用于輸入編程脈沖。 當(dāng)訪問(wèn)外部程序存儲(chǔ)器時(shí),此腳輸出負(fù)脈沖選通信號(hào),PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲(chǔ)器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。Pin31:EA/Vpp程序存儲(chǔ)器的內(nèi)外部選通線,8051和8751單片機(jī),內(nèi)置有4kB的程序存儲(chǔ)器,當(dāng)EA為高電平并且程序地址小于4kB時(shí),讀取內(nèi)部程序存儲(chǔ)器指令數(shù)據(jù),而超過(guò)4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲(chǔ)器指令。顯然,對(duì)內(nèi)部無(wú)程序存儲(chǔ)器的803

17、1,EA端必須接地。第二章 數(shù)字鐘硬件電路的設(shè)計(jì)2.1最小系統(tǒng)設(shè)計(jì)2.1.1 整體設(shè)計(jì)圖2-1 單片機(jī)最小系統(tǒng)的結(jié)構(gòu)圖單片機(jī)的最小系統(tǒng)是由電源、復(fù)位、晶振、獨(dú)立鍵盤(pán)、數(shù)碼管顯示電路組成,下面介紹一下每一個(gè)組成部分。2.1.2 外接晶體引腳圖2-2 晶振連接的內(nèi)部、外部方式圖XTAL1 19、XTAL2 18、 XTAL1是片內(nèi)振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時(shí),外部振蕩信號(hào)應(yīng)直接加到XTAL1,而XTAL2懸空。內(nèi)部方式時(shí),時(shí)鐘發(fā)生器對(duì)振蕩脈沖二分頻,如晶振為12MHz,時(shí)鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內(nèi)選擇。電容取30PF左右。系統(tǒng)的時(shí)

18、鐘電路設(shè)計(jì)是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。AT89單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個(gè)自激振蕩器。外接晶體諧振器以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。2.1.3 復(fù)位RST9在振蕩器運(yùn)行時(shí),有兩個(gè)機(jī)器周期(24個(gè)振蕩周期)以上的高電平出現(xiàn)在此引腿時(shí),將使單片機(jī)復(fù)位,只要這個(gè)腳保持高電平,51芯片便循環(huán)復(fù)位。復(fù)位后P0P3口均置1引腳表現(xiàn)為高電平,程序計(jì)數(shù)器和特殊功能寄存器SFR全部清零。當(dāng)復(fù)位腳由高電平變?yōu)榈碗娖綍r(shí),芯片為ROM的00H處

19、開(kāi)始運(yùn)行程序。復(fù)位是由外部的復(fù)位電路來(lái)實(shí)現(xiàn)的。片內(nèi)復(fù)位電路是復(fù)位引腳RST通過(guò)一個(gè)斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來(lái)抑制噪聲,它的輸出在每個(gè)機(jī)器周期的S5P2,由復(fù)位電路采樣一次。常用的復(fù)位電路如下圖所示:圖2-3 常用復(fù)位電路圖2.1.4 輸入輸出引腳(1) P0端口P0.0-P0.7 P0是一個(gè)8位漏極開(kāi)路型雙向I/O端口,端口置1(對(duì)端口寫(xiě)1)時(shí)作高阻抗輸入端。作為輸出口時(shí)能驅(qū)動(dòng)8個(gè)TTL。對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接收指令字節(jié);校驗(yàn)程序時(shí)輸出指令字節(jié),要求外接上拉電阻。在訪問(wèn)外部程序和外部數(shù)據(jù)存儲(chǔ)器時(shí),P0口是分時(shí)轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,訪問(wèn)期間內(nèi)部的上拉電阻

20、起作用。(2) P1端口P1.0P1.7 P1是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時(shí)可驅(qū)動(dòng)4個(gè)TTL。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接收低8位地址信息。(3) P2端口P2.0P2.7 P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時(shí)可驅(qū)動(dòng)4個(gè)TTL。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接收高8位地址和控制信息。在訪問(wèn)外部程序和16位外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口送出高8位地址。而在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí)其引腳上的內(nèi)容在此期間不會(huì)改變。(4) P3端口P3.0P3.7

21、P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時(shí)可驅(qū)動(dòng)4個(gè)TTL。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接控制信息。除此之外P3端口還用于一些專門(mén)功能,具體請(qǐng)看下表。2.2 LED顯示電路分段式顯示器(LED數(shù)碼管)由7條線段圍成8字型,每一段包含一個(gè)發(fā)光二極管。外加正向電壓時(shí)二極管導(dǎo)通,發(fā)出清晰的光。只要按規(guī)律控制各發(fā)光段亮、滅,就可以顯示各種字形或符號(hào)。LED數(shù)碼管有共陽(yáng)、共陰之分。圖是共陽(yáng)式、共陰式LED數(shù)碼管的原理圖和符號(hào).圖2-4 共陽(yáng)式、共陰式LED數(shù)碼管的原理圖和數(shù)碼管的符號(hào)圖顯示電路顯示模塊需要實(shí)時(shí)顯示當(dāng)前的時(shí)間,即時(shí)、分、

22、秒,因此需要6個(gè)數(shù)碼管,另需兩個(gè)數(shù)碼管來(lái)顯示橫。采用動(dòng)態(tài)顯示方式顯示時(shí)間,硬件連接如下圖所示,時(shí)的十位和個(gè)位分別顯示在第一個(gè)和第二個(gè)數(shù)碼管,分的十位和個(gè)位分別顯示在第四個(gè)和第五個(gè)數(shù)碼管,秒的十位和個(gè)位分別顯示在第七個(gè)和第八個(gè)數(shù)碼管,其余數(shù)碼管顯示橫線。LED顯示器的顯示控制方式按驅(qū)動(dòng)方式可分成靜態(tài)顯示方式和動(dòng)態(tài)顯示方式兩種。對(duì)于多位LED顯示器,通常都是采用動(dòng)態(tài)掃描的方法進(jìn)行顯示,其硬件連接方式如下圖所示。圖2-5 數(shù)碼管的硬件連接示意圖2.3鍵盤(pán)控制電路該設(shè)計(jì)需要校對(duì)時(shí)間,所以用三個(gè)按鍵來(lái)實(shí)現(xiàn)。按khour來(lái)調(diào)節(jié)小時(shí)的時(shí)間,按 kmin來(lái)調(diào)節(jié)分針的時(shí)間,按 ksec來(lái)調(diào)節(jié)秒的時(shí)間。下圖是按鍵

23、硬件連接圖。圖2-6 按鍵控制電路的硬件連接圖第三章 系統(tǒng)軟件的設(shè)計(jì)3.1 監(jiān)控程序流程圖開(kāi)機(jī)自檢在電子鐘儀器電源接通之后進(jìn)行自檢,中如果沒(méi)有發(fā)現(xiàn)啟動(dòng)鍵,就自動(dòng)進(jìn)入電子鐘“P.”顯示程序,啟動(dòng)鍵按下電子鐘運(yùn)行。流程圖如3-1所示。圖3-1 監(jiān)控程序流程3.2顯示“P.”主程序流程框圖“P.”顯示是對(duì)電子鐘電路硬件的檢測(cè),若電子鐘能穩(wěn)定的顯示“P?!痹跀?shù)碼管的最左邊說(shuō)明硬件電路正常。程序流程圖如圖3-2所示。圖3-2 顯示“P”主程序流程3.3 鍵掃描子程序流程圖 鍵掃描程序流程圖如圖3-3所示。圖3-3 鍵掃描子程序流程3.4定時(shí)器/計(jì)數(shù)器T0中斷服務(wù)程序流程圖定時(shí)器/計(jì)數(shù)器T0中斷服務(wù)程序流

24、程圖如圖3-4所示。圖3-4 定時(shí)器/計(jì)數(shù)器T0中斷服務(wù)程序流程圖3.5 程序清單;*; ;項(xiàng)目名稱:數(shù)字電子鐘;設(shè)計(jì)者:黃彥航;設(shè)計(jì)日期:2010年12月29日;項(xiàng)目功能要求:;(1)上電、按鍵顯示系統(tǒng)提示符“P.”;(2)定義3個(gè)功能鍵:分別為啟動(dòng)/停止鍵;暫停/繼續(xù)鍵;清零鍵。;(3)第一次按電子鐘啟動(dòng)/調(diào)整鍵,電子鐘從0時(shí)0分0秒開(kāi)始運(yùn)行,進(jìn)入時(shí)鐘運(yùn)行狀態(tài);再次按電子鐘啟動(dòng)/調(diào)整鍵,則電子鐘進(jìn)入時(shí)鐘調(diào)整狀態(tài),調(diào)整結(jié)束后可按啟動(dòng)/調(diào)整鍵再次進(jìn)入時(shí)鐘運(yùn)行狀態(tài)。;*; ORG 0000HSTART:TT:LJMP START ORG 000BH LJMP INIT0 MOV R6, #60

25、MOV P3, A MOV P0, #0CH LCALL DELAY DJNZ R6, TT MOV R0,#70H MOV R7,#0CH INC R0 DJNZ R7,INIT MOV 72H,#10 MOV 75H,#10 MOV TMOD,#01H MOV TL0,#0B0H ;選擇定時(shí)器/計(jì)數(shù)器T0的方式1 ;對(duì)低位賦初值 ;對(duì)連字符進(jìn)行裝值 ;主程序開(kāi)始 ;段碼"P." ;閃爍次數(shù) MOV A, #01H ;位選 INIT: MOV R0,#00HMOV TH0,#03CH SETB EA SETB ET0 SETB TR0 LCALL KEYSCAN SJMP

26、 START1;高位賦初值 START1:LCALL SCAN DL1MS:MOV R6,#14HDL1: MOV R7,#19HDL2: DJNZ R7,DL2SCAN:DJNZ R6,DL1 RET ;延時(shí)1子程序 DL20MS:ACALL SCAN ACALL SCAN ACALL SCAN ;延時(shí)20ms子程序 RET ;數(shù)碼管顯示程序開(kāi)始 MOV A,78H MOV B,#0AH DIV AB ;時(shí)間秒的十位送給A,時(shí)間秒的個(gè)位送B MOV 71H,A MOV 70H,B MOV A,79H MOV B,#0AH ;時(shí)間分的十位送給A,時(shí)間分的個(gè)位送B ;時(shí)間分要顯示的十位送地址 ;

27、時(shí)間分要顯示的個(gè)位送地址 MOV 74H,A MOV 73H,B MOV A,7AH MOV B,#0AH DIV AB ;時(shí)間時(shí)的十位送給A,時(shí)間時(shí)的個(gè)位送B ;時(shí)間時(shí)顯示的十位送地址 ;時(shí)間時(shí)要顯示的個(gè)位送地址 MOV 77H,A MOV 76H,B MOV R1,#70H MOV R5,#0FEH MOV R3,#08H ;時(shí)間秒要顯示的十位 ;時(shí)間秒要顯示的個(gè)位 DIV ABSCAN1: MOV A,R5MOV P2,A MOV A,R1 ;數(shù)碼管的顯示程序 MOV DPTR,#TAB MOVC A,A+DPTR MOV P0,A MOV A,R5 LCALL DL1MS INC R1

28、 MOV A,R5 RL A MOV R5,A DJNZ R3,SCAN1 MOV P2,#0FFH MOV P0,#0FFH RET ;"09"和"-"的字段表 ;對(duì)字段表取值顯示TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH ;定時(shí)/計(jì)數(shù)器T0中斷程序 INIT0: PUSH ACCPUSH PSW CLR ET0 CLR TR0 MOV TL0,#0B0H MOV TH0,#03CH SETB TR0 INC 7BH MOV A,7BHCJNE A,#14H,OUTT0 ;50ms

29、是否到20次,沒(méi)有到就繼續(xù)執(zhí)行50ms的延時(shí)MOV 7BH,#00 INC 78H MOV A,78H;一秒的延時(shí)是否計(jì)到60次,沒(méi)有就繼 CJNE A,#3CH,OUTT0續(xù)執(zhí)行MOV 78H,#00 INC 79H MOV A,79H CJNE A,#3CH,OUTT0 MOV 79H,#00 INC 7AH MOV A,7AH CJNE A,#18H,OUTT0 ;60分鐘的延時(shí)是否計(jì)到24次,沒(méi)有就 MOV 7AH,#00 ;啟動(dòng)定時(shí)器T0 POP PSW POP ACC RETI / 繼續(xù)執(zhí)行程序 OUTT0:SETB ET0 ;按鍵處理程序KEYSCAN:CLR EAJNB P1.

30、0,KEYSCAN0 JNB P1.1,KEYSCAN1 JNB P1.2,KEYSCAN2 RET ;20ms的延時(shí)消抖;判斷按鍵是否松手, 松手就往JB P1.0,KEYOUT ;P1.0有按鍵按下則跳轉(zhuǎn)到子程序 ;P1.1有按鍵按下則跳轉(zhuǎn)到子程序 ;P1.2有按鍵按下則跳轉(zhuǎn)到子程序 KEYOUT:SETB EA KEYSCAN0:LCALL DL20MS WAIT0: JNB P1.0,WAIT0下執(zhí)行程序INC 7CH MOV A,7CH CLR ET0 CLR TR0 CJNE A,#03H,KEYOUT ;按下第一次和第二次對(duì)時(shí)、分選定 MOV 7CH,#00 SETB ET0 S

31、ETB TR0 SJMP KEYOUT ;按下第三次時(shí)就啟動(dòng)計(jì)時(shí)KEYSCAN1:LCALL DL20MSJB P1.1,KEYOUT MOV A,7CH WAIT1: JNB P1.1,WAIT1 ;按鍵加一的程序 CJNE A,#02H,KSCAN11 ;如果功能鍵按下則對(duì)時(shí)加一調(diào)整 INC 79H CJNE A,#3CH,KEYOUT MOV 79H,#00 SJMP KEYOUT;如果功能鍵是按下第 ;如果加到60則清零 KSCAN11:INC 7AHMOV A,7AH / 二次則對(duì)分進(jìn)行加一調(diào)整 CJNE A,#18H,KEYOUT MOV 7AH,#00 SJMP KEYOUT ;

32、延時(shí)消抖程序 ;判斷是否放開(kāi)按鍵 JB P1.2,KEYOUT MOV A,7CH CJNE A,#02H,KSCAN21 ;如果功能鍵是按下第一次對(duì)時(shí)進(jìn)DEC 79H MOV A,79H CJNE A,#0FFH,KEYOUT MOV 79H,#3BH SJMP KEYOUT;如果功能鍵是按下第二次則對(duì)分KEYSCAN2:LCALL DL20MS WAIT2: JNB P1.2,WAIT2 行減一 KSCAN21:DEC 7AH進(jìn)行減一CJNE A,#0FFH,KEYOUT MOV 7AH,#17H SJMP KEYOUT END第四章 系統(tǒng)的仿真及調(diào)試4.1仿真軟件的簡(jiǎn)介本電子鐘的設(shè)計(jì)用的

33、pretues仿真軟件設(shè)計(jì)電路并仿真。Proteus ISIS是英國(guó)Labcenter公司開(kāi)發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是:實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤(pán)和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列

34、、Z80系列、HC11系列以及各種外圍芯片。提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。具有強(qiáng)大的原理圖繪制功能??傊?,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。因?yàn)閜retues仿真軟件中所有的情況都是在理想想的條件下,但是與實(shí)際電路的工作還是有很大的差別,所以我們必需考慮到實(shí)際情況應(yīng)接入驅(qū)動(dòng)限流等電路它才能被實(shí)際所應(yīng)用。4.2電子鐘系統(tǒng)PROTUES仿真結(jié)果圖4.1 電子鐘系

35、統(tǒng)仿真結(jié)果4.3系統(tǒng)誤差分析我們可以發(fā)現(xiàn)電子鐘在自動(dòng)運(yùn)行后一段時(shí)間的我們的標(biāo)準(zhǔn)時(shí)間相比較出現(xiàn)了誤差:所設(shè)計(jì)的電子鐘比我們的標(biāo)準(zhǔn)時(shí)間要慢,而且相比較的時(shí)間越長(zhǎng)他的時(shí)差越大。經(jīng)過(guò)分其主要原因與硬件和軟件都有關(guān)。軟件原因:我們從外部中斷請(qǐng)求有效到轉(zhuǎn)向中斷區(qū)入口地址所需的機(jī)器周期數(shù)來(lái)計(jì)算中斷時(shí)間,51系列單片機(jī)最短響應(yīng)時(shí)間為3個(gè)機(jī)器周期。在一般情況下中斷響應(yīng)時(shí)間通常無(wú)需考慮,但在精確定時(shí)的應(yīng)用場(chǎng)合需知道中斷響應(yīng)時(shí)間,以保證定時(shí)的精確控制。硬件原因:?jiǎn)纹瑱C(jī)的時(shí)鐘信號(hào)是由外部的振蕩電路所提供,在芯片的外部通過(guò)接X(jué)ATL1與XATL2這兩個(gè)引角跨接晶體振蕩器和微調(diào)電容,形成反饋電路,就構(gòu)成了一個(gè)穩(wěn)定的自激振蕩器。因?yàn)殡娮釉豢梢跃陀形覀兯O(shè)計(jì)的那么理想(電容的容量,振晶的輸出頻率)所以會(huì)造成我們的時(shí)間準(zhǔn)確。針對(duì)這樣的問(wèn)題我們就能只能從上述兩個(gè)方面入手去解決。軟件方面我們可以通過(guò)計(jì)算設(shè)計(jì)子程序去減少響應(yīng)的時(shí)差。硬件部分我們可以采用一些穩(wěn)定,精確度比較高的電子元件去完善,但是在最后調(diào)試出的還是有誤差但我盡可能的減少差誤差接近理想。結(jié)束語(yǔ)經(jīng)過(guò)一周的時(shí)間以及對(duì)整本教材的知識(shí)總結(jié),把課程設(shè)計(jì)分成了硬件軟件兩大模塊。總的來(lái)說(shuō),硬件部分很好入手,電路也教簡(jiǎn)單,主要涉及的是簡(jiǎn)單的按鍵、電容、電阻、晶振和數(shù)碼管。在軟件部分,細(xì)分為了按鍵模

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論