微機(jī)原理與單片機(jī)技術(shù)綜合設(shè)計(jì)與實(shí)踐(共36頁)_第1頁
微機(jī)原理與單片機(jī)技術(shù)綜合設(shè)計(jì)與實(shí)踐(共36頁)_第2頁
微機(jī)原理與單片機(jī)技術(shù)綜合設(shè)計(jì)與實(shí)踐(共36頁)_第3頁
微機(jī)原理與單片機(jī)技術(shù)綜合設(shè)計(jì)與實(shí)踐(共36頁)_第4頁
微機(jī)原理與單片機(jī)技術(shù)綜合設(shè)計(jì)與實(shí)踐(共36頁)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上廣東工業(yè)大學(xué)華立學(xué)院 課 程 設(shè) 計(jì)(論文)課程名稱微機(jī)原理與單片機(jī)技術(shù)綜合設(shè)計(jì)與實(shí)踐 題目名稱 多功能電子鐘 學(xué)生系部 機(jī)電與信息工程學(xué)部 專業(yè)班級 11電氣4班 學(xué)號 學(xué)生姓名 李星亮 指導(dǎo)教師 王 赟 2014年06月8日專心-專注-專業(yè)廣東工業(yè)大學(xué)華立學(xué)院課程設(shè)計(jì)(論文)任務(wù)書題目名稱多功能電子鐘學(xué)系學(xué)部機(jī)電與信息工程學(xué)部專業(yè)班級11電氣4班姓 名李星亮學(xué) 號一、課程設(shè)計(jì)(論文)的內(nèi)容設(shè)計(jì)一個多功能數(shù)字時鐘完成以下功能1、 走時(能實(shí)現(xiàn)時分秒,年月日的計(jì)時)2 、顯示(分屏顯示時分秒,年月日,修改定位閃爍顯示)3、校時(能用按鍵修改和校準(zhǔn)時鐘)4、定時報警二、

2、課程設(shè)計(jì)(論文)的要求與數(shù)據(jù)1、方案論證;2、系統(tǒng)原理圖或各功能模塊的硬件電路原理框圖;3、主程序流程圖;4、系統(tǒng)調(diào)試與分析;5、源程序清單。三、課程設(shè)計(jì)(論文)應(yīng)完成的工作1. 完成方案論證;2、完成器件選型;3、完成硬件電路原理圖的設(shè)計(jì);4、完成程序流程圖及源程序的設(shè)計(jì);5、系統(tǒng)仿真及調(diào)試;6. 完成課程設(shè)計(jì)報告的撰寫。四、課程設(shè)計(jì)(論文)進(jìn)程安排序號設(shè)計(jì)(論文)各階段內(nèi)容地點(diǎn)起止日期1明確設(shè)計(jì)要求,方案論證、系統(tǒng)總體設(shè)計(jì)校內(nèi)6.82硬件電路原理圖設(shè)計(jì)校內(nèi)6.96.103程序流程圖設(shè)計(jì)、源程序的編制及調(diào)試校內(nèi)6.116.124系統(tǒng)調(diào)試及分析校內(nèi)6.135課程設(shè)計(jì)報告的撰寫校內(nèi)6.146.1

3、5五、應(yīng)收集的資料及主要參考文獻(xiàn)1、單片機(jī)技術(shù)及其應(yīng)用2、C語言程序設(shè)計(jì)3、Protel軟件使用發(fā)出任務(wù)書日期: 2014年 06月8 日 指導(dǎo)教師簽名:計(jì)劃完成日期: 2014年 06 月16 日 教學(xué)單位責(zé)任人簽章摘 要20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快?,F(xiàn)代生活的人們越來越重視起了時間觀念,可以說是時間和金錢劃上了等號。對于那些對時間把握非常嚴(yán)格和準(zhǔn)確的人或事來說,時間的不準(zhǔn)確會帶來非常大的麻煩,所以以數(shù)碼管為顯示器的時

4、鐘比指針式的時鐘表現(xiàn)出了很大的優(yōu)勢。數(shù)碼管顯示的時間簡單明了而且讀數(shù)快、時間準(zhǔn)確顯示到秒。而機(jī)械式的依賴于晶體震蕩器,可能會導(dǎo)致誤差。數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對“時”、“分”、“秒”數(shù)字顯示的計(jì)時裝置。數(shù)字鐘的精度、穩(wěn)定度遠(yuǎn)遠(yuǎn)超過老式機(jī)械鐘。在這次設(shè)計(jì)中,我們采用LED數(shù)碼管顯示時、分、秒,以24小時計(jì)時方式,根據(jù)數(shù)碼管動態(tài)顯示原理來進(jìn)行顯示,用12MHz的晶振產(chǎn)生振蕩脈沖,定時器計(jì)數(shù)。在此次設(shè)計(jì)中,電路具有顯示時間的其本功能,還可以實(shí)現(xiàn)對時間的調(diào)整。數(shù)字鐘是其小巧,價格低廉,走時精度高,使用方便,功能多,便于集成化而受廣大消費(fèi)的喜愛,因此得到了廣泛的使用。關(guān)鍵字:數(shù)字電子鐘 單片機(jī)目錄第一部

5、分 整體方案的設(shè)計(jì)1.1 課程設(shè)計(jì)的任務(wù):設(shè)計(jì)一個多功能數(shù)字時鐘完成以下功能1、 走時(能實(shí)現(xiàn)時分秒,年月日的計(jì)時)2 、顯示(分屏顯示時分秒,年月日,修改定位閃爍顯示)3、校時(能用按鍵修改和校準(zhǔn)時鐘)4、定時報警1.2 單片機(jī)的選擇 單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。 通常,單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲器和I/O接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個單片機(jī)控制系統(tǒng)。 單片機(jī)經(jīng)過1、2、3代的發(fā)展,正朝著多功能、

6、高性能、低電壓、低功耗、低價格、大存儲容量、強(qiáng)I/O功能及較好的結(jié)構(gòu)兼容性方向發(fā)展。其發(fā)展趨勢不外乎以下幾個方面:1、多功能 單片機(jī)中盡可能地把所需要的存儲器和I/O口都集成在一塊芯片上,使得單片機(jī)可以實(shí)現(xiàn)更多的功能。比如A/D、PWM、PCA(可編程計(jì)數(shù)器陣列)、WDT(監(jiān)視定時器-看家狗)、高速I/O口及計(jì)數(shù)器的捕獲/比較邏輯等。 有的單片機(jī)針對某一個應(yīng)用領(lǐng)域,集成了相關(guān)的控制設(shè)備,以減少應(yīng)用系統(tǒng)的芯片數(shù)量。例如,有的芯片以51內(nèi)核為核心,集成了USB控制器、SMART CARD接口、MP3解碼器、CAN或者I*I*C總線控制器等,LED、LCD或VFD顯示驅(qū)動器也開始集成在8位單片機(jī)中。

7、2、高效率和高性能 為了提高執(zhí)行速度和執(zhí)行效率,單片機(jī)開始使用RISC、流水線和DSP的設(shè)計(jì)技術(shù),使單片機(jī)的性能有了明顯的提高,表現(xiàn)為:單片機(jī)的時鐘頻率得到提高;同樣頻率的單片機(jī)運(yùn)行效率也有了很大的提升;由于集成度的提高,單片機(jī)的尋址能力、片內(nèi)ROM(FLASH)和RAM的容量都突破了以往的數(shù)量和限制。 由于系統(tǒng)資源和系統(tǒng)復(fù)雜程度的增加,開始使用高級語言(如C語言)來開發(fā)單片機(jī)的程序。使用高級語言可以降低開發(fā) 難度,縮短開發(fā)周期,增強(qiáng)軟件的可讀性和可移植性,便于改進(jìn)和擴(kuò)充功能。3、低電壓和低功耗 單片機(jī)的嵌入式應(yīng)用決定了低電壓和低功耗的特性十分重要。由于CMOS等工藝的大量采用,很多單片機(jī)可以

8、在更低的電壓下工作(1.2V或0.9V),功耗已經(jīng)降低到uA級。這些特性使得單片機(jī)系統(tǒng)可以在更小電源的支持下工作更長的時間。4、低價格 單片機(jī)應(yīng)用面廣,使用數(shù)量大,帶來的直接好處就是成本的降低。目前世界各大公司為了提高競爭力,在提高單片機(jī)性能的同時,十分注意降低其產(chǎn)品的價格。下面大致介紹一下單片機(jī)的主要應(yīng)用領(lǐng)域和特點(diǎn)。(1)家用電器領(lǐng)域 用單片機(jī)控制系統(tǒng)取代傳統(tǒng)的模擬和數(shù)字控制電路,使家用電器(如洗衣機(jī)、空調(diào)、冰箱、微波爐、和電視機(jī)等)功能更完善,更加智能化和易于使用。(2)辦公自動化領(lǐng)域 單片機(jī)作為嵌入式系統(tǒng)廣泛應(yīng)用于現(xiàn)代辦公設(shè)備,如計(jì)算機(jī)的鍵盤、磁盤驅(qū)動、打印機(jī)、復(fù)印機(jī)、電話機(jī)和傳真機(jī)等。

9、(3)商業(yè)應(yīng)用領(lǐng)域 商業(yè)應(yīng)用系統(tǒng)部分與家用和辦公應(yīng)用系統(tǒng)相似,但更加注重設(shè)備的穩(wěn)定性、可靠性和安全性。商用系統(tǒng)中廣泛使用的電子計(jì)量儀器、收款機(jī)、條形碼閱讀器、安全監(jiān)測系統(tǒng)、空氣調(diào)節(jié)系統(tǒng)和冷凍保鮮系統(tǒng)等,都采用了單片機(jī)構(gòu)成的專用系統(tǒng)。與通用計(jì)算機(jī)相比,這些系統(tǒng)由于比較封閉,可以更有效地防止病毒和電磁干擾等,可靠性更高。(4)工業(yè)自動化 在工業(yè)控制和機(jī)電一體化控制系統(tǒng)中,除了采用工控計(jì)算機(jī)外,很多都是以單片機(jī)為核心的單片機(jī)和多機(jī)系統(tǒng)。(5)智能儀表與集成智能傳感器 目前在各種電氣測量儀表中普遍采用了單片機(jī)應(yīng)用系統(tǒng)來代替?zhèn)鹘y(tǒng)的測量系統(tǒng),使得測量系統(tǒng)具有存儲、數(shù)據(jù)處理、查詢及聯(lián)網(wǎng)等智能功能。將單片機(jī)和

10、傳感器相結(jié)合,可以構(gòu)成新一代的智能傳感器。它將傳感器變換后的物理量作進(jìn)一步的變化和處理,使其成為數(shù)字信號,可以遠(yuǎn)距離傳輸并與計(jì)算機(jī)接口。(6)現(xiàn)代交通與航空航天領(lǐng)域 通常應(yīng)用于電子綜合顯示系統(tǒng)、動力監(jiān)控系統(tǒng)、自動駕駛系統(tǒng)、通信系統(tǒng)以及運(yùn)行監(jiān)視系統(tǒng)等。這些領(lǐng)域?qū)w積、功耗、穩(wěn)定性和實(shí)時性的要求往往比商用系統(tǒng)還要高,因此采用單片機(jī)系統(tǒng)更加重要。目前,我國生產(chǎn)很多型號的單片機(jī),在此,我們采用型號為STC89C52的單片機(jī)。因?yàn)椋?#160;STC89C52是一個低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(R

11、AM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-52指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,內(nèi)置功能強(qiáng)大的微型計(jì)算機(jī)的AT89C52提供了高性價比的解決方案。    STC89C52是一個低功耗高性能單片機(jī),40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,2個16位可編程定時計(jì)數(shù)器,2個全雙工串行通信口,STC89C51可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。1.3 單片機(jī)的基本結(jié)構(gòu) ST

12、C89C-52單片機(jī)內(nèi)部結(jié)構(gòu)   STC89C-52單片機(jī)包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:中央處理器:   中央處理器(CPU)是整個單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。數(shù)據(jù)存儲器(RAM)    STC89C-52內(nèi)部有256個8位用戶數(shù)據(jù)存儲單

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

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

15、CS-52系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機(jī)則采用普林斯頓結(jié)構(gòu)。復(fù)位電路單片機(jī)的復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位,見下圖。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部RAM的數(shù)據(jù)不丟失。 上電自動和手動復(fù)位電路圖圖2-5 內(nèi)部和外部時鐘方式圖 第二部分 數(shù)字鐘的硬件設(shè)計(jì)2.1 最小系統(tǒng)設(shè)計(jì) 單片機(jī)的最小系統(tǒng)是由電源、復(fù)位、晶振、/EA=1組成,下面介紹一下每一個組成部分。1.電源引腳 Vcc40電源端GND20接地端工作電壓為5V,另有AT89LV51工作電壓則是2.7-6V, 引腳功能一樣。 2.外

16、接晶體引腳圖3-2 晶振連接的內(nèi)部、外部方式圖XTAL119XTAL218 XTAL1是片內(nèi)振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時,外部振蕩信號應(yīng)直接加到XTAL1,而XTAL2懸空。內(nèi)部方式時,時鐘發(fā)生器對振蕩脈沖二分頻,如晶振為12MHz,時鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內(nèi)選擇。電容取30PF左右。系統(tǒng)的時鐘電路設(shè)計(jì)是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。AT89單片機(jī)內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個自激振蕩器。外

17、接晶體諧振器以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為12MHz,電容應(yīng)盡可能的選擇陶瓷電容,電容值約為22F。在焊接刷電路板時,晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。3. 復(fù)位RST9在振蕩器運(yùn)行時,有兩個機(jī)器周期(24個振蕩周期)以上的高電平出現(xiàn)在此引腿時,將使單片機(jī)復(fù)位,只要這個腳保持高電平,51芯片便循環(huán)復(fù)位。復(fù)位后P0P3口均置1引腳表現(xiàn)為高電平,程序計(jì)數(shù)器和特

18、殊功能寄存器SFR全部清零。當(dāng)復(fù)位腳由高電平變?yōu)榈碗娖綍r,芯片為ROM的00H處開始運(yùn)行程序。復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。片內(nèi)復(fù)位電路是復(fù)位引腳RST通過一個斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,它的輸出在每個機(jī)器周期的S5P2,由復(fù)位電路采樣一次。復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式,此電路系統(tǒng)采用的是上電與按鈕復(fù)位電路。當(dāng)時鐘頻率選用6MHz時,C取22F,Rs約為200,Rk約為1K。復(fù)位操作不會對內(nèi)部RAM有所影響。常用的復(fù)位電路如下圖所示:圖3-3 常用復(fù)位電路圖4.輸入輸出引腳(1) P0端口P0.0-P0.7 P0是一個8位漏極開路型雙向I/O端口,

19、端口置1(對端口寫1)時作高阻抗輸入端。作為輸出口時能驅(qū)動8個TTL。對內(nèi)部Flash程序存儲器編程時,接收指令字節(jié);校驗(yàn)程序時輸出指令字節(jié),要求外接上拉電阻。在訪問外部程序和外部數(shù)據(jù)存儲器時,P0口是分時轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,訪問期間內(nèi)部的上拉電阻起作用。(2) P1端口P1.0P1.7 P1是一個帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時可驅(qū)動4個TTL。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash程序存儲器編程時,接收低8位地址信息。(3) P2端口P2.0P2.7 P2是一個帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時可驅(qū)動4個TTL。端口置1時,內(nèi)

20、部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash程序存儲器編程時,接收高8位地址和控制信息。在訪問外部程序和16位外部數(shù)據(jù)存儲器時,P2口送出高8位地址。而在訪問8位地址的外部數(shù)據(jù)存儲器時其引腳上的內(nèi)容在此期間不會改變。(4) P3端口P3.0P3.7 P2是一個帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時可驅(qū)動4個TTL。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash程序存儲器編程時,接控制信息。除此之外P3端口還用于一些專門功能,具體請看下表。P3引腳兼用功能P3.0串行通訊輸入(RXD)P3.1串行通訊輸出(TXD)P3.2外部中斷0( INT0)P3.3外部

21、中斷1(INT1)P3.4定時器0輸入(T0)P3.5定時器1輸入(T1)P3.6外部數(shù)據(jù)存儲器寫選通WRP3.7外部數(shù)據(jù)存儲器寫選通RDP3端口引腳兼用功能表2.2 LED顯示電路顯示器普遍地用于直觀地顯示數(shù)字系統(tǒng)的運(yùn)行狀態(tài)和工作數(shù)據(jù),按照材料及產(chǎn)品工藝,單片機(jī)應(yīng)用系統(tǒng)中常用的顯示器有: 發(fā)光二極管LED顯示器、液晶LCD顯示器、CRT顯示器等。LED顯示器是現(xiàn)在最常用的顯示器之一,如下圖所示。LED顯示器的符號圖發(fā)光二極管(LED)由特殊的半導(dǎo)體材料砷化鎵、磷砷化鎵等制成,可以單獨(dú)使用,也可以組裝成分段式或點(diǎn)陣式LED顯示器件(半導(dǎo)體顯示器)。分段式顯示器(LED數(shù)碼管)由7條線段圍成8字

22、型,每一段包含一個發(fā)光二極管。外加正向電壓時二極管導(dǎo)通,發(fā)出清晰的光。只要按規(guī)律控制各發(fā)光段亮、滅,就可以顯示各種字形或符號。LED數(shù)碼管有共陽、共陰之分。圖是共陽式、共陰式LED數(shù)碼管的原理圖和符號.共陽式、共陰式LED數(shù)碼管的原理圖和數(shù)碼管的符號圖顯示電路顯示模塊需要實(shí)時顯示當(dāng)前的時間,即時、分、秒,因此需要6個數(shù)碼管。采用動態(tài)顯示方式顯示時間,硬件連接如下圖所示,時的十位和個位分別顯示在第一個和第二個數(shù)碼管,分的十位和個位分別顯示在第三個和四五個數(shù)碼管,秒的十位和個位分別顯示在第五個和第六個數(shù)碼管。LED顯示器的顯示控制方式按驅(qū)動方式可分成靜態(tài)顯示方式和動態(tài)顯示方式兩種。對于多位LED顯

23、示器,通常都是采用動態(tài)掃描的方法進(jìn)行顯示,其硬件連接方式如下圖所示。數(shù)碼管的硬件連接示意圖數(shù)碼管使用條件:a、段及小數(shù)點(diǎn)上加限流電阻 b、使用電壓:段:根據(jù)發(fā)光顏色決定; 小數(shù)點(diǎn):根據(jù)發(fā)光顏色決定c、使用電流:靜態(tài):總電流 80mA(每段 10mA);動態(tài):平均電流 4-5mA 峰值電流 100mA數(shù)碼管使用注意事項(xiàng)說明:()數(shù)碼管表面不要用手觸摸,不要用手去弄引角;()焊接溫度:度;焊接時間:()表面有保護(hù)膜的產(chǎn)品,可以在使用前撕下來。第三部分 數(shù)字鐘的軟件設(shè)計(jì)系統(tǒng)的軟件設(shè)計(jì)也是工具系統(tǒng)功能的設(shè)計(jì)。單片機(jī)軟件的設(shè)計(jì)主要包括執(zhí)行軟件(完成各種實(shí)質(zhì)性功能)的設(shè)計(jì)和監(jiān)控軟件的設(shè)計(jì)。單片機(jī)的軟件設(shè)計(jì)

24、通常要考慮以下幾個方面的問題:(1)根據(jù)軟件功能要求,將系統(tǒng)軟件劃分為若干個相對獨(dú)立的部分,設(shè)計(jì)出合理的總體結(jié)構(gòu),使軟件開發(fā)清晰、簡潔和流程合理;(2)培養(yǎng)良好的編程風(fēng)格,如考慮結(jié)構(gòu)化程序設(shè)計(jì)、實(shí)行模塊化、子程序化。既便于調(diào)試、鏈接,又便于移植和修改;(3)建立正確的數(shù)學(xué)模型,通過仿真提高系統(tǒng)的性能,并選取合適的參數(shù);(4)繪制程序流程圖;(5)合理分配系統(tǒng)資源;(6)為程序加入注釋,提高可讀性,實(shí)施軟件工程;(7)注意軟件的抗干擾設(shè)計(jì),提高系統(tǒng)的可靠性。3.1軟件設(shè)計(jì)流程圖 這次的數(shù)字電子鐘設(shè)計(jì)用到很多子程序,它們的流程圖如下所示。 主程序是先進(jìn)行初始的設(shè)置,然后啟動定時器計(jì)數(shù)器0,定時器啟

25、動后再進(jìn)行按鍵檢測,檢測完后,在根據(jù)為各種顯示設(shè)置的標(biāo)志來判斷顯示時分秒,年月日或鬧鐘時間,若判斷有按鍵則進(jìn)入相應(yīng)按鍵處理子程序進(jìn)行操作。按鍵處理是先檢測秒按鍵是否按下,秒按鍵如果按下,秒就加1;如果沒有按下,就檢測分按鍵是否按下,分按鍵如果按下,分就加1;如果沒有按下,就檢測時按鍵是否按下,時按鍵如果按下,時就加1;如果沒有按下,就把時間顯示出來。 按鍵處理流程圖采用定時器計(jì)數(shù)器0,工作在方式1下,每50毫秒中斷一次,若計(jì)時中斷每到20次則跳出中斷繼續(xù)計(jì)時,若到20次則秒存儲單元加1,若秒不滿60則跳出中斷,滿60則清零,分單元加1,分滿60則清零,時單元加1,不滿24退出中斷,滿則時單元清

26、零,日單元加1,如此方式累次下去就完成時分秒,年月日的走時。定時器中斷流程圖 鬧鐘設(shè)置流程圖 數(shù)字電子鐘的工作原理。工作原理 : 數(shù)字電子鐘是一個將“ 時”,“分”,“秒”顯示于人的視覺器官的計(jì)時裝置。它的計(jì)時周期為24小時,顯示滿刻度為23時59分59秒,另外還有校時功能。因此,一個基本的數(shù)字鐘電路主要由顯示器“時”,“分”,“秒”和單片機(jī),還有校時電路組成。8個數(shù)碼管的段選接到單片機(jī)的P0口,位選接到單片機(jī)的P2口。數(shù)碼管按照數(shù)碼管動態(tài)顯示的工作原理工作,將標(biāo)準(zhǔn)秒信號送入“秒單元”,“秒單元”采用60進(jìn)制計(jì)數(shù)器,每累計(jì)60秒發(fā)出一個“分脈沖”信號,該信號將作為“分單元”的時鐘脈沖?!胺謫卧?/p>

27、”也采用60進(jìn)制計(jì)數(shù)器,每累計(jì)60分鐘,發(fā)出一個“時脈沖”信號,該信號將被送到“時單元”?!皶r單元”采用24進(jìn)制計(jì)時器,可實(shí)現(xiàn)對一天24小時的累計(jì)。顯示電路將“時”、“分”、“秒”通過七段顯示器顯示出來。3.2設(shè)計(jì)主程序。(采用匯編語言編寫程序)資源分配:P0.0-7口 為數(shù)碼管段選,采用共陰顯示管。;P2.0-5數(shù)碼管位選30H-秒,31H-分,32H-時,40H-日,41H-月,42H-年鬧鐘:50H-秒,51H-分,52H-時60H,61H,調(diào)整定位計(jì)數(shù)單元38H-計(jì)數(shù)單元F0-切換標(biāo)志,為1顯示日期,為0顯示時間PSW.1為1顯示鬧鐘定時單元,為0正常顯示時間R7定時中斷次數(shù)R5延時計(jì)

28、數(shù)單元R2-掃描碼初始單元 ORG 0000H LJMP MAIN;跳入主程序初始化 ORG 000BH ;定時中斷0入口地址 LJMP TM0 ORG 0030HMAIN: MOV 60H,#00 ;時分秒定位計(jì)數(shù) MOV 61H,#00 ;鬧鐘定位計(jì)數(shù) CLR PSW.1 CLR F0 MOV SP,#6FH ;堆棧指針初始化 MOV 30H,#50H ;秒初始化 MOV 31H,#36H ;分初始化 MOV 32H,#14H ;時初始化 MOV 40H,#22H ;日初始化 MOV 41H,#12H ;月初始化 MOV 42H,#11H ;年初始化 MOV 50H,#00H MOV 51

29、H,#30H MOV 52H,#14H MOV R7,#20 ;50毫秒中斷50次 MOV SCON,#00 MOV DPTR,#TAB MOV IE,#82H MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 ;啟動計(jì)時LOOP1: ACALL DSP1 ;調(diào)用顯示時分秒程序 ACALL CJDW ;查鍵 ACALL DSP2 ;調(diào)用顯示年月日子程序 ACALL NZXX;鬧鐘顯示ACALL NN;鬧鐘設(shè)定 AJMP LOOP1 DSP1: JB PSW.1,EXQ0 ;PSW.1為1跳出JB F0,EXQ0 ;F0為1跳出 MOV R2,#

30、0FEH ;掃描碼初始化 MOV R6,#03 MOV R0,#32H ;顯示單元初始化 ACALL SCAN ;調(diào)用掃描子程序 RET DSP2: JB PSW.1,EXQ0 JNB F0,EXQ0 MOV R2,#0FEH MOV R6,#03 MOV R0,#42H ACALL SCAN EXQ0: RETSCAN: NOPLOOP2: MOV A,R0 ANL A,#0F0H ;取高位 SWAP A MOVC A,A+DPTR ;查表 MOV SBUF,A ;送入SBUF串行輸出 JNB TI,$ CLR TI MOV A,R2 MOV P2,A ;送位選碼,選通數(shù)碼管 RL A MO

31、V R2,A ACALL DELAY1MS ;單個數(shù)碼管顯示延時 MOV A,R0 ANL A,#0FH MOVC A,A+DPTR MOV SBUF,A JNB TI,$ CLR TI MOV A,R2 MOV P2,A RL A MOV R2,A DEC R0 ACALL DELAY1MS DJNZ R6,LOOP2 RET DELAY1MS:MOV R5,#02 ;延時1毫秒LP3: MOV B,#250 DJNZ B,$ DJNZ R5,LP4 RET DELAY10MS:MOV R5,#10 ;查鍵延時10毫秒(延時去抖)LP4: MOV B,#250 DJNZ B,$ DJNZ R

32、5,LP4 RET CJDW: NOPK1: JB P1.4,K2 ACALL DELAY10MS JB P1.4,K2XH:JNBF0,SFMACALLDSP2AJMP NEXTSFM: ACALLDSP1NEXT: JNBP1.4,XH CPL F0 RETK2: JB P1.5,K3 ACALL DELAY10MS JB P1.5,K3 MOV A,60H ADD A,#01 MOV 60H,A CJNE A,#07,K3 CLR F0JX1: MOV R0,#32H MOV R2,#0FEHMOV R6,#03 MOV A,R0ACALL SCAN JNB P1.5,JX1EXQ1:

33、MOV 60H,#00 RETK3: NOPTM: MOV A,60H ;秒調(diào)整 CJNE A,#01,TF;定位到秒? MOV 38H,#160 ;循環(huán)顯示160次LOOP3: MOV R0,#32H ;閃爍,秒單元不顯示 MOV R2,#0FEH ;掃描碼初始化 MOV R6,#02 ; 只顯示時和分 MOV A,R0 ACALL SCAN ;調(diào)用掃描子程序 DJNZ 38H,LOOP3 MOV 38H,#01LOOP5: MOV R0,#32H ;正常顯示 MOV R2,#0FEHMOV R6,#03 MOV A,R0ACALL SCAN DJNZ 38,LOOP5 JB P1.6,EX

34、Q2 ;判斷是否按加1鍵 ACALL DELAY10MS ;延時10毫秒去抖 JB P1.6,EXQ2 MOV A,30H ;秒加1 ADD A,#01H DA A MOV 30H,A CJNE A,#60H,EXQ2 ;秒滿60 MOV 30H,#00H ;清零 RET ;返回主程序TF: CJNE A,#02,TS ;調(diào)分 MOV 38H,#160LOOP6: MOV R0,#32H MOV R2,#0FEH MOV R6,#01MOV A,R0 ACALL SCAN MOV R0,#30H MOV R2,#0EFH MOV R6,#01MOV A,R0 ACALL SCAN DJNZ 3

35、8H,LOOP6 MOV 38H,#100LOOP7: MOV R0,#32H MOV R2,#0FEH MOV R6,#03MOV A,R0ACALL SCAN DJNZ 38H,LOOP7 JB P1.6,EXQ2 ACALL DELAY10MS JB P1.6,EXQ2 MOV A,31H ADD A,#01H DA A MOV 31H,A CJNE A,#60H,EXQ2 MOV 31H,#00H RETEXQ2: RETTS: CJNE A,#03,TR 調(diào)時 MOV 38H,#160LOOP8: MOV R0,#31H MOV R2,#0FBH MOV R6,#02MOV A,R0

36、 ACALL SCAN DJNZ 38H,LOOP8 MOV 38H,#120LOOP9: MOV R0,#32HMOV R2,#0FEHMOV R6,#03 MOV A,R0ACALL SCAN DJNZ 38H,LOOP9 JB P1.6,EXQ3 ACALL DELAY10MS JB P1.6,EXQ3 MOV A,32H ADD A,#01H DA A MOV 32H,A CJNE A,#24H,EXQ3 MOV 32H,#00HEXQ3:RETTR: ;調(diào)日 CJNE A,#04,TY MOV 38H,#120LOOP10: MOV R0,#42H MOV R2,#0FEH MOV

37、R6,#02 MOV A,R0 ACALL SCAN DJNZ 38H,LOOP10 MOV 38H,#120LOOP11: MOV R0,#42H MOV R2,#0FEHMOV R6,#03MOV A,R0 ACALL SCAN DJNZ 38H,LOOP11 JB P1.6,EXQ4 ACALL DELAY10MS JB P1.6,EXQ4 MOV A,40H ADD A,#01H DA A MOV 40H,A CJNE A,#31H,EXQ4 MOV 40H,#00H RETTY: CJNE A,#05,TN ;調(diào)月 MOV 38H,#160LOOP12: MOV R0,#42H MO

38、V R2,#0FEH MOV R6,#01 MOV A,R0 ACALL SCAN MOV R0,#40H MOV R2,#0EFH MOV R6,#01MOV A,R0 ACALL SCAN DJNZ 38H,LOOP12 MOV 38H,#100LOOP13: MOV R0,#42H MOV R2,#0FEHMOV R6,#03 MOV A,R0 ACALL SCAN DJNZ 38H,LOOP13 JB P1.6,EXQ4 ACALL DELAY10MS JB P1.6,EXQ4 MOV A,41H ADD A,#01H DA A MOV 41H,A CJNE A,#13H,EXQ4 M

39、OV 41H,#00H EXQ4: RETTN: CJNE A,#06,EXQ5 ;調(diào)整年 MOV 38H,#160LOOP14: MOV R0,#41H MOV R2,#0FBH MOV R6,#02 MOV A,R0 ACALL SCAN DJNZ 38H,LOOP14 MOV 38H,#120LOOP15: MOV R0,#42H MOV R2,#0FEHMOV R6,#03MOV A,R0ACALL SCAN DJNZ 38H,LOOP15 JB P1.6,EXQ5 ACALL DELAY10MS JB P1.6,EXQ5 MOV A,42H ADD A,#01H DA A MOV 4

40、2H,A CJNE A,#99H,EXQ5 MOV 42H,#00HEXQ5:RETNN: JB P1.7,N0 ;P1.7鬧鐘定位 ACALL DELAY10MS ;延時去抖DD: JB P1.7,N0 SETB PSW.1 MOV A,61H ADD A,#01 MOV 61H,A CJNE A,#04,N0 CLR PSW.1JX2: MOV R0,#52H ;退出鬧鐘是正常顯示時間待按鍵結(jié)束 MOV R2,#0FEHMOV R6,#03 MOV A,R0ACALL SCANJNB P1.7,JX2 MOV 61H,#00 RETN0: MOV A,61H CJNE A,#01,N1 ;

41、設(shè)定秒 MOV 38H,#120DD1: MOV R0,#52H MOV R2,#0FEH MOV R6,#02 MOV A,R0 ACALL SCAN DJNZ 38H,DD1 MOV 38H,#120DD2: MOV R0,#52H MOV R2,#0FEH MOV R6,#03MOV A,R0ACALL SCAN DJNZ 38H,DD2 JB P1.6,DD ACALL DELAY10MS JB P1.6,DD MOV A,50H ADD A,#01H DA A MOV 50H,A CJNE A,#60H,EXIT1 MOV 50H,#00HEXIT0: RETN1: CJNE A,#

42、02,N2 ;設(shè)定分 MOV 38H,#120DD3: MOV R0,#52H MOV R2,#0FEH MOV R6,#01 MOV A,R0 ACALL SCAN MOV R0,#50H MOV R2,#0EFH MOV R6,#01MOV A,R0 ACALL SCAN DJNZ 38H,DD3 MOV 38H,#120DD4: MOV R0,#52H MOV R2,#0FEHMOV R6,#03MOV A,R0ACALL SCAN DJNZ 38H,DD4 JB P1.6,TC ACALL DELAY10MS JB P1.6,TC MOV A,51H ADD A,#01H DA A M

43、OV 51H,A CJNE A,#60H,EXIT1 MOV 51H,#00H RETN2: CJNE A,#03,EXIT1 ;設(shè)定時 MOV 38H,#160DD5: MOV R0,#51H MOV R2,#0FBH MOV R6,#02 MOV A,R0 ACALL SCAN DJNZ 38H,DD5 MOV 38H,#120DD6: MOV R0,#52H MOV R2,#0FEHMOV R6,#03MOV A,R0 ACALL SCAN DJNZ 38H,DD6 JB P1.6,TC ACALL DELAY10MS JB P1.6,TC MOV A,52H ADD A,#01H DA

44、 A MOV 52H,A CJNE A,#12H,EXIT1 MOV 52H,#00HEXIT1: RETTC: AJMP DDNZXX: MOV A,52H CJNE A,32H,EXIT2 MOV A,51H CJNE A,31H,EXIT2CT: MOV R0,#52H MOV R2,#0FEH MOV R6,#03 MOV A,R0 ACALL SCAN CLR P3.5 ACALL DELAY1MS SETB P3.5 ACALL DELAY1MS CLR P3.5ACALL DELAY1MS JB P1.7,CT ACALL DELAY1MS JB P1.7,CT SETB P3.5SETB P3.5 CLR PSW.1 EXIT2: RET TM0: PUSH PSW ;定時中斷程序 PUSH ACC MOV TH0,#

溫馨提示

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

最新文檔

評論

0/150

提交評論