![匯編單片機電子鐘設(shè)計報告_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/a86dfbed-c097-4fce-908c-9984616a15d5/a86dfbed-c097-4fce-908c-9984616a15d51.gif)
![匯編單片機電子鐘設(shè)計報告_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/a86dfbed-c097-4fce-908c-9984616a15d5/a86dfbed-c097-4fce-908c-9984616a15d52.gif)
![匯編單片機電子鐘設(shè)計報告_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/a86dfbed-c097-4fce-908c-9984616a15d5/a86dfbed-c097-4fce-908c-9984616a15d53.gif)
![匯編單片機電子鐘設(shè)計報告_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/a86dfbed-c097-4fce-908c-9984616a15d5/a86dfbed-c097-4fce-908c-9984616a15d54.gif)
![匯編單片機電子鐘設(shè)計報告_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/a86dfbed-c097-4fce-908c-9984616a15d5/a86dfbed-c097-4fce-908c-9984616a15d55.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、一、課程設(shè)計題目: 電子時鐘二、課程設(shè)計要求1. 根據(jù)具體設(shè)計課題的技術(shù)指標(biāo)和給定條件,獨立進行方案論證和電路設(shè)計,要求概念清楚、方案合理、方法正確、步驟完整;2. 查閱有關(guān)參考資料和手冊,并能正確選擇有關(guān)元器件和參數(shù),對設(shè)計方案進行仿真;3. 完成預(yù)習(xí)報告,報告中要有設(shè)計方案,設(shè)計電路圖,還要有仿真結(jié)果;4. 進實驗室進行電路調(diào)試,邊調(diào)試邊修正方案;5. 撰寫課程設(shè)計報告最終的電路圖、調(diào)試過程中遇到的問題和解決問題的方法。三、進度安排1時間安排序 號內(nèi) 容學(xué)時安排(天)1方案論證和系統(tǒng)設(shè)計12完成電路仿真,寫預(yù)習(xí)報告13電路調(diào)試24寫設(shè)計總結(jié)報告與答辯1合 計5設(shè)計調(diào)試地點:電氣樓4102執(zhí)
2、行要求微機原理與接口技術(shù)課程成績優(yōu)秀的可以自擬題目,其余的同學(xué)都是指定題目。每組不得超過2人,要求學(xué)生在教師的指導(dǎo)下,獨力完成所設(shè)計的詳細(xì)電路(包括計算和器件選型)。嚴(yán)禁抄襲,嚴(yán)禁兩篇設(shè)計報告雷同。摘要隨著電子技術(shù)的迅速發(fā)展,特別是隨大規(guī)模集成電路出現(xiàn),給生活帶來了根本性的改變,尤其是單片機技術(shù)的應(yīng)用產(chǎn)品已經(jīng)走進了千家萬戶。數(shù)字電子鐘的出現(xiàn)給人們的生活帶來諸多方便。數(shù)字時鐘是現(xiàn)代社會應(yīng)用廣泛的計時工具,在航天、電子等科研單位,工廠、醫(yī)院、學(xué)校等企事業(yè)單位,各種體育賽事及至我們每個人的日常生活中都發(fā)揮著重要的作用。采用LED數(shù)碼管的數(shù)字顯示以其亮度高、顯示直觀等優(yōu)點被廣泛應(yīng)用于智能儀器及家用電器
3、等領(lǐng)域。本設(shè)計報告介紹一種以AT89S51芯片為核心,輔以必要的電路,以共陽極LED數(shù)碼管作為顯示器件組成6位數(shù)字顯示,采用獨立式按鍵進行時間調(diào)整的實用簡易電子時鐘設(shè)計,該時鐘可顯示時、分、秒,也可切換為年、月、日顯示,更具有省電模式,可以在關(guān)閉顯示的同時繼續(xù)走時。該系統(tǒng)同時具有硬件設(shè)計簡單、工作穩(wěn)定性高、價格低廉等優(yōu)點。關(guān)鍵字:AT89S51 數(shù)字鐘 單片機 LED數(shù)碼管 省電模式 Abstract The system uses the MCU has a date display, time display, time adjustment, power saving modes and
4、 features such as digital clock based on microcontroller AT89S51 as the core component of modern digital tube display dynamic "date" every minute "of timing pared with traditional mechanical clock, it has to go accurate, display an intuitive features. frequently encountered in everyda
5、y life and in the automatic control system, the demand for real-time monitoring of the time, the system at the same time monitoring, if reaches the pre-setthe time, make LED flashing prompt time has come to. addition the program also has a school function, able to adjust the time at any time and at
6、any time convenient to the expansion extended to other versatile use of the digital clock programming MCUthe advantage of the flexible, easy to function expansion.Key words: AT89S51 Electronic clock Single-chip LED digital tube Power saving mode目錄第一章 緒論········
7、;··································(6)第二章 系統(tǒng)設(shè)計方案·············
8、3;····················(7)第三章 仿真····························&
9、#183;·············(52)第四章 調(diào)試··································
10、83;·······(53)第五章 結(jié)論·········································
11、;·(54)第六章 心得體會······································(54)參考文獻·······
12、83;·····································(55)引 言計算機尤其是以微細(xì)加工技術(shù)支持的微型計算機技術(shù)飛速發(fā)展,其應(yīng)用滲透到了各行各業(yè)。以單片機、嵌入式處理器、數(shù)字信號處理器(DSP)為核心的
13、計算機系統(tǒng),以其軟硬件可裁剪、高度的實時性、高度的可靠性、功能齊全、低功耗、適應(yīng)面廣等諸多優(yōu)點而得到極為廣泛的應(yīng)用。目前計算機硬件技術(shù)向巨型化、微型化和單片機化三個方向發(fā)展。自1975年美國德州儀器公司(Texas Instruments)第一塊微型計算機芯片TMS-1000問世以來,在短短的20年間,單片機技術(shù)已發(fā)展成為計算機領(lǐng)域一個非常有前途的分支,它有自己的技術(shù)特征、規(guī)范和應(yīng)用領(lǐng)域。單片機是自動控制系統(tǒng)的核心部件,主要用于工業(yè)控制、智能化儀器儀表、家用電器中。它具有體積小、性能突出可靠性高(某些方面的性能指標(biāo)大大優(yōu)于通用微機中央處理器)、價格低廉等一系列優(yōu)點,應(yīng)用領(lǐng)域不斷擴大,除了工業(yè)控
14、制、智能化儀表、通信、家用電器外,在智能化高檔電子玩具產(chǎn)品中也大量采用單片機芯片作為核心控制部件,已經(jīng)滲入到人們工作和生活的各個角落,有力地推動了各行業(yè)的技術(shù)改造和產(chǎn)品的更新?lián)Q代,前景廣闊。數(shù)字鐘具備單片機最小系統(tǒng)的基本組成,對于我們了解單片機有很大的幫助。一 緒 論1.1 課題意義:在日常生活和工作中,我們常常用到定時控制,如擴印過程中的曝光定時等,早期常用的一些時間控制單元都是用模擬電路設(shè)計制作的,其定時準(zhǔn)確性和重復(fù)精度都不是很理想,現(xiàn)在基本上都是基于數(shù)字技術(shù)的新一代產(chǎn)品,隨著單片機性能價格比的不斷提高,新一代產(chǎn)品的應(yīng)用也越來越廣泛,大可構(gòu)成復(fù)雜的工業(yè)過程控制系統(tǒng),完成復(fù)雜的控制功能。小則
15、可以用于家電控制,甚至可以用于兒童電子玩具。它功能強大,體積小,質(zhì)量輕,靈活好用,配以適當(dāng)?shù)慕杩谛酒?,可以?gòu)造各種各樣、功能各異的微電子產(chǎn)品。目前市場上提供的無論機械鐘還是石英鐘在晚上無照明的情況下都是不可見的。要知道當(dāng)前的時間,必須先開燈,故較為不便?,F(xiàn)在市場上也出現(xiàn)了一些電子鐘,它以LED數(shù)碼管來顯示具體時間,與傳統(tǒng)的以指針顯示時間的方式不同,違背了人們傳統(tǒng)的習(xí)慣與理念,而且這類電子鐘一般是采用大型顯示器件,適用于銀行、車站等公共場所,且外觀設(shè)計欠美觀,很少進入百姓家庭。此外,無論是機械鐘、石英鐘還是電子鐘,都存在著共同的問題:時間誤差。針對以上存在的問題,我們設(shè)計了一款采用LED數(shù)碼管顯
16、示的電子時鐘,有效克服了時鐘存在的誤差。二方案設(shè)計2.1 設(shè)計任務(wù)1 能實現(xiàn)顯示日期的年、月、日和時間的時、分、秒,并具有時間的設(shè)置和加減功能。2 調(diào)整時間時按位閃爍功能。3 關(guān)閉顯示的省電模式2.2 設(shè)計思路以AT89S51作為核心控制、LED顯示模塊、控制模塊作為外圍電路達到設(shè)計要求。2.3 設(shè)計方案系統(tǒng)由AT89S51、LED數(shù)碼管、按鍵、發(fā)光二極管等部分構(gòu)成,能實現(xiàn)日期及時間的調(diào)整、定時日期及時間的設(shè)定,輸出等功能。系統(tǒng)的功能選擇由“K1”和“K2”兩個功能鍵來完成。短按K1可在“顯示年月日”、“顯示時分秒”,“省電模式”之間切換,在“年月日模式”和“時分秒”模式下可以通過長按“K1”
17、進入設(shè)定模式,在設(shè)定模式下,短按“K1”鍵來增加時間,短按“K2”鍵來減少時間,長按“K1”鍵可以改變調(diào)整年、月、日或時、分、秒。硬件框圖如下所示:六位數(shù)碼管74LS245單片機電源P0口字位晶振復(fù)位電路74LS245P3.0開關(guān)X2P2口字形P3.1我們的電子鐘的主控芯片用的是AT89S52,主要通過編寫程序來完成走時和調(diào)時功能。整個系統(tǒng)使用了兩個開關(guān),一個開關(guān)用來進行“年月日“,”時分秒“和”省電模式“之間的切換,進入調(diào)試模式和增加時間;另一個按鈕用來減小時間。三 數(shù)字鐘的硬件設(shè)計3.1 總電路圖P0口控制六位數(shù)碼管的字位,P2口控制LED數(shù)碼管的字形,P3.0、P3.1分別與K1、K2相
18、連作為功能設(shè)置來使用。3.2 AT89S51概述及其特點AT89S51是一個低功耗,高性能CMOS 8位單片機,片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。AT89S51具有如下特點:40個引腳,4k Bytes Flash片內(nèi)程序存儲器,128 bytes的隨機存
19、取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。 此外,AT89S51設(shè)計和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式。空閑模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。主要特性有:Ø AT89S51 CPU與MCS-51 兼容Ø 4K字節(jié)可編程FL
20、ASH存儲器(壽命:1000寫/擦循環(huán))Ø 全靜態(tài)工作:0Hz-24KHzØ 三級程序存儲器保密鎖定Ø 128*8位內(nèi)部RAMØ 32條可編程I/O線Ø 兩個16位定時器/計數(shù)器Ø 6個中斷源Ø 可編程串行通道Ø 低功耗的閑置和掉電模式Ø 片內(nèi)振蕩器和時鐘電路管腳說明:圖3 AT89S51引腳圖VCC:供電電壓。 GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八
21、位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。
22、P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。AT89S51 的新功能有: (1) 新增加很多功能,性能有了較大提升,價格基本不變,甚至比89C51更低!(2) ISP
23、在線編程功能,這個功能的優(yōu)勢在于改寫單片機存儲器內(nèi)的程序不需要把芯片從工作環(huán)境中剝離。是一個強大易用的功能。 (3) 最高工作頻率為33MHz,大家都知道89C51的極限工作頻率是24M,就是說S51具有更高工作頻率,從而具有了更快的計算速度。 (4) 具有雙工UART串行通道;內(nèi)部集成看門狗計時器,不再需要像89C51那樣外接看門狗計時器單元電路;雙數(shù)據(jù)指示器;電源關(guān)閉標(biāo)識。 (5) 全新的加密算法,這使得對于89S51的解密變?yōu)椴豢赡?,程序的保密性大大加強,這樣就可以有效的保護知識產(chǎn)權(quán)不被侵犯。 (6) 兼容性方面:向下完全兼容51全部字系列產(chǎn)品。比如8051、89C51等等早期MCS-5
24、1兼容產(chǎn)品。也就是說所有教科書、網(wǎng)絡(luò)教程上的程序(不論教科書上采用的單片機是8051還是89C51還是MCS-51等等),在89S51上一樣可以照常運行,這就是所謂的向下兼容。3.3 T0定時器/計數(shù)器MCS-51內(nèi)有兩個獨立的可編程定時器/計數(shù)器,稱為T0和T1.他們本質(zhì)上是可預(yù)置初值的加1計數(shù)器,既可用于計數(shù),也可用來定時。當(dāng)對從單片機引腳上輸入的外部脈沖信號計數(shù)時,它是計數(shù)器;當(dāng)對有固定時間間隔的內(nèi)部機器周期進行計數(shù)時,它是定時器。TO定時特性功能寄存器由TL0(低8位)和TH0(高8位)構(gòu)成。特殊功能寄存器TMOD控制定時寄存器的工作方式;TCON則用于控制定時器T0和T1的啟動和停止
25、計數(shù),同時管理定時器TO和T1的溢出標(biāo)志等。程序開始時需對TL0和TH0進行預(yù)設(shè)初值,用指令改變TMOD和TCON的內(nèi)容,以定義它們的工作方式和控制T0和T1的計數(shù),這樣定時器/計數(shù)器就會從下一條指令的第一個機器周期開始按設(shè)定的方式自動進行工作。定時器計數(shù)器T0工作方式1的電路邏輯結(jié)構(gòu)如圖4所示。圖4 定時器/計數(shù)器T0工作方式1的邏輯結(jié)構(gòu)時鐘是單片機的心臟,單片機各功能部件的運行都是以時鐘頻率為基準(zhǔn),有條不紊的一拍一拍地工作。因此,時鐘頻率直接影響單片機的速度,時鐘電路的質(zhì)量也直接影響單片機系統(tǒng)的穩(wěn)定性。常用的時鐘電路有兩種方式:一種是內(nèi)部時鐘方式;另一種為外部時鐘方式。本文用的是內(nèi)部時鐘方
26、式。電路設(shè)計如圖5所示。(7)圖5 單片機時鐘AT89S51單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,該高增益反相放大器的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成一個穩(wěn)定的自激振蕩器。在本系統(tǒng)時鐘模塊的設(shè)計中所選用的12 MHz的石英振蕩器,由于6 MHz晶體振蕩的每個定時周期為2 s,可得到2s的精度,為讓設(shè)計準(zhǔn)確本設(shè)計中使用1次定時50 ms,經(jīng)過20次T0定時中斷得到1 s,由此設(shè)置就可以使單片機在運行時能夠有條不紊。3.4 數(shù)碼管動態(tài)掃描單片機應(yīng)用系統(tǒng)中使用較多的是7段LED數(shù)碼管,本系統(tǒng)所用的AT89S51板中的數(shù)碼管
27、是六位七段共陰極數(shù)碼管。3.4.1 LED數(shù)碼管的驅(qū)動方式:數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。(1)靜態(tài)顯示驅(qū)動:靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機的I/O端口進行驅(qū)動,或者使用如BCD碼二-十進制譯碼器譯碼進行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O端口多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示則需要5×840根I/O端口來驅(qū)動,要知道一個89S51單片機可用的I/O端口才32個,實際應(yīng)用時必須增加譯碼驅(qū)動器進行驅(qū)動,增加了硬件電路的復(fù)
28、雜性。(2)動態(tài)顯示驅(qū)動:數(shù)碼管動態(tài)顯示接口是單片機中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當(dāng)單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位
29、數(shù)碼管的點亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。本數(shù)字鐘系統(tǒng)將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到地線+5V上,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點亮。當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。 (1)共陰極數(shù)碼管 (2)共陽極數(shù)碼管 圖7 共陰極和共陽極數(shù)碼管LED連接圖圖8 8位七段數(shù)碼管字型代碼3.4.2 LE
30、D數(shù)碼管的顯示控制在本設(shè)計中采用的是4位數(shù)碼管動態(tài)掃描顯示。它將所有數(shù)碼管的8個段線相應(yīng)地并接在一起,并接到AT89S51的P0口,有P2口控制字形,而各位數(shù)碼管的共陰極由AT89S51的P0口控制P2.0-P2.5來實現(xiàn)8位數(shù)碼管的位輸出控制。這樣,對于一組數(shù)碼管動態(tài)掃描顯示需要由兩組信號來控制:一組是字段輸出口輸出地字形代碼,用來控制顯示的字形,稱為段碼;另一組是位輸出口輸出地控制信號,用來選擇第幾位數(shù)碼管工作,稱為位碼。由于各位數(shù)碼管的段線并聯(lián),段碼的輸出對各位數(shù)碼管來說是相同的。因此,在同一時刻如果各位數(shù)碼管的位選線都處于選通狀態(tài)的話,4位數(shù)碼管將顯示相同的字符,若要各位數(shù)碼管能夠顯示
31、出與本位相應(yīng)的字符,就必須采用掃描顯示方式,即在某一時刻,只讓某一位的位選線處于導(dǎo)通狀態(tài),而其他各位的位選線處于關(guān)閉狀態(tài)。同時,段線上輸出相應(yīng)位要顯示字符的字型碼。這樣在同一時刻,只有選通的那一位顯示出字符,而其他各位則是熄滅的,如此循環(huán)下去,就可以使各位數(shù)碼管顯示出將要顯示的字符。雖然這些字符是在不同時刻出現(xiàn)的,而且同一時刻,只有一位顯示,其他各位熄滅,但由于數(shù)碼管具有余輝特性和人眼有視覺暫留現(xiàn)象,只要每位數(shù)碼管顯示間隔足夠短,給人眼的視覺印象就會是連續(xù)穩(wěn)定地顯示。數(shù)碼管不同位顯示的時間間隔可以通過調(diào)整延時程序的延時長短來完成。數(shù)碼管顯示的時間間隔也能夠確定數(shù)碼管顯示時的亮度,若顯示的時間間
32、隔長,顯示時數(shù)碼管的亮度將亮些,若顯示的時間間隔短,顯示時數(shù)碼管的亮度將暗些。若顯示的時間間隔過長的話,數(shù)碼管顯示時將產(chǎn)生閃爍現(xiàn)象。所以,在調(diào)整顯示的時間間隔時,即要考慮到顯示時數(shù)碼管的亮度,又要數(shù)碼管顯示時不產(chǎn)生閃爍現(xiàn)象。數(shù)碼管是由7個條形的LED和下方一個圓形的LED組成,這樣一共有8個段線,恰好適用于8位的并行系統(tǒng)。共陰極數(shù)碼管的公共陰極接地,當(dāng)各段陽極上的電平為“1”時,該段點亮,電平為“0”時,該段熄滅; 3.4.3本設(shè)計LED數(shù)碼顯示過程介紹首先,S51芯片程序運行時,按下K1功能鍵,通過對P0及P2口掃描,4位數(shù)碼管即顯示當(dāng)前的日期:年月日( 例如“130315”),日為時到24
33、加1,當(dāng)前日從1到29/30/31/32循環(huán)顯示,月為日到/29/30/31/32時加1,當(dāng)前月從1到12循環(huán)顯示,年為月到13加1,當(dāng)前年加1顯示;按下K1功能鍵不超過1s,通過對P0及P2口掃描,4位數(shù)碼管即顯示當(dāng)前的時間:時分秒(例如142018)秒為加1顯示。分為秒到60后加1,當(dāng)前分從00到59循環(huán)顯示,時為分到60后加1,當(dāng)前時從0到23循環(huán)顯示。這些都是從基本的經(jīng)過20次T0定時中斷(一次定時50ms)掃描得到1 s,然后1秒計數(shù)60次即為1分,1分計數(shù)60此即為1時,1時計數(shù)24次即為1日,以此在數(shù)碼管上輸出顯示。當(dāng)長按K1超過1秒時,即進入調(diào)整當(dāng)前數(shù)碼管顯示的日期和時間。當(dāng)消
34、除鍵盤抖動后所掃描到準(zhǔn)確的按鍵脈沖后,數(shù)碼管顯示進入調(diào)整日期和時間的狀態(tài)。此時若短按K1可增加年,短按K2可減小年,長按K2可連續(xù)減小年,若長按K1超過0.5秒,則可以對月進行調(diào)整,以此類推可對日進行調(diào)整。當(dāng)前可調(diào)整的是哪兩位,這兩位就會不斷地閃爍,而其他的一直在顯示。調(diào)整完日后長按K1超過0.5秒即可退出調(diào)整時間模式。由于每次調(diào)整日期的時候會關(guān)閉定時器T0,所以此時應(yīng)按下K1不超過1秒切換到時間顯示,用上述方法對時間進行修正即可準(zhǔn)確運行。若在時間顯示模式下按下K1不超過1秒,可切換到省電模式,定時器不會關(guān)閉,走時正常而數(shù)碼管關(guān)閉不顯示。省電模式下按下K1即可喚醒數(shù)碼管并進入日期顯示模式。3.
35、5 按鍵掃描電路3.5.1 按鍵掃描原理 當(dāng)程序完成初始化后,電子鐘的程序會在不同的程序段對P3.0和P3.1兩個輸入口進行循環(huán)的掃描,如果按鍵沒有按下,P3.0和P3.1會保持高電平,如果開關(guān)按下,則該口電平會被拉低。當(dāng)檢測到電平的變化時,程序會進行判斷來選擇相應(yīng)的分支結(jié)構(gòu)繼續(xù)執(zhí)行。3.5.2 按鍵工作方式按鍵的開關(guān)狀態(tài)通過一定的電路轉(zhuǎn)換為高、低電平狀態(tài)。按鍵閉合過程在相應(yīng)的I/O端口形成一個負(fù)脈沖。閉合和釋放過程都要經(jīng)過一定的過程才能達到穩(wěn)定,這一過程是處于高、低電平之間的一種不穩(wěn)定狀態(tài),稱為抖動。抖動持續(xù)時間的長短常與開關(guān)的機械特性有關(guān),一般在5-10ms之間。為了避免CPU多次處理按鍵
36、的一次閉合,應(yīng)采用措施消除抖動。本文采用的是獨立式按鍵,直接用I/O口線構(gòu)成單個按鍵電路,每個按鍵占用一條I/O口線,每個按鍵的工作狀態(tài)不會產(chǎn)生相互影響。對按鍵的判斷與處理模塊是電子鐘程序設(shè)計的核心,主要是接收“按鍵掃描模塊”傳遞過來的值,對不同的按鍵能夠結(jié)合當(dāng)前的狀態(tài)做出不同的處理與反饋,并且對各個狀態(tài)從屬分類。3.5.3按鍵定義本電子鐘為了節(jié)約資源采用了兩個按鍵進行控制,分別是K1和K2鍵。在日期顯示模式下:短按K1可切換到時間顯示模式,長按K1可切換到日期調(diào)整模式。在日期調(diào)整模式下:短按K1可增加日期,長按K1可切換調(diào)整年或月或日最后退出日期調(diào)整模式。短按K2可減小日期,長按K2可連續(xù)減
37、小時間。在時間顯示模式下:短按K1可切換到省電模式,長按K1可切換到時間調(diào)整模式。在時間調(diào)整模式下:短按K1可增加時間,長按K1可以切換調(diào)整時或分或秒最后退出時間調(diào)整模式。短按K2可減小時間,長按K2可連續(xù)減小時間。在省電模式下:按下K1可切換到日期顯示模式。3.6 復(fù)位電路AT89S51單片機的復(fù)位是由外部的復(fù)位電路來實現(xiàn)的。復(fù)位引腳RST通過一個斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,在每個機器周期的S5P2,斯密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號。上電復(fù)位:上電復(fù)位電路時一種簡單的復(fù)位電路,只要在RST復(fù)位引腳接一個電容到VCC,接一
38、個電阻到地就可以了。上電復(fù)位是指在給系統(tǒng)上電時,復(fù)位電路通過電容加到RST復(fù)位引腳一個短暫的電平信號,這個復(fù)位信號隨著VCC對電容的充電過程而回落,所以RST引腳復(fù)位的高電平維持時間取決于電容的充電時間。為了保證系統(tǒng)安全可靠的復(fù)位,RST引腳的高電平信號必須維持足夠長的時間。圖11 復(fù)位電路如上圖所示,上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實現(xiàn)的。只要VCC的上升時間不超過1ms,就可以實現(xiàn)自動上電復(fù)位。3.7 電源電路電源使用實驗室提供的5V電源或由電腦USB口或手機充電器引出的5V直流電源。四 數(shù)字鐘的軟件設(shè)計4.1 系統(tǒng)軟件設(shè)計內(nèi)容本系統(tǒng)的主程序主要完成在定時器的初始化和日期、時間、
39、省電三種模式之間的切換工作。而年月日,時分秒的設(shè)定則是在兩個不同的子程序中完成的。而時間的順序加減則是在T0中斷程序中完成的。T1中斷程序的作用主要是控制當(dāng)前調(diào)整位的閃爍標(biāo)志位的置位和復(fù)位。除此之外還有一些子程序,如:加1子程序(可對時分秒年月日存儲單元的值增加1),清零程序(對年、時、分、秒存儲單元清零),置一程序(對月、日存儲單元置1),兩種顯示模式和兩種設(shè)置模式所對應(yīng)的四個顯示程序,閏年二月及大小月判斷程序,延時程序。4.1.1 數(shù)據(jù)存儲單元功能的劃分05H調(diào)整模式的標(biāo)志67H68H年單元的高低位20H調(diào)整5、4號位的標(biāo)志6AH6BH日臨時存儲單元21H調(diào)整3、2號位的標(biāo)志6CH6DH月
40、臨時存儲單元22H調(diào)整1、0號位的標(biāo)志6EH-6FH年臨時存儲單元23H5、4號位是否顯示的標(biāo)志70H71H秒單元的高低位24H3、2號位是否顯示的標(biāo)志72H73H分單元的高低位25H1、0號位是否顯示的標(biāo)志74H75H時單元的高低位26H年月日高位為0的標(biāo)志76H77H分臨時存儲單元28H延時循環(huán)次數(shù)178H79H時臨時存儲單元29H延時循環(huán)次數(shù)2R1顯示數(shù)據(jù)首地址50H2月日期最大值R2閃動延時循環(huán)次數(shù)52H是否為閏年的標(biāo)志R3日期的十六進制的十進制顯示51H大小月的標(biāo)志位R4中斷T0循環(huán)20次為1s53H-54H年份的高低兩位R5控制字位初值58H-59H日最大值的高低位R7顯示單元清零
41、循環(huán)次數(shù)63H64H日單元的高低位其他65H66H月單元的高低位4.1.2 計時功能的實現(xiàn)與中斷服務(wù)程序時間的運行依靠定時T0中斷子程序?qū)r鐘單元數(shù)值進位調(diào)整來實現(xiàn)的。計數(shù)器T0 打開后,進入計時,滿50 毫秒后,對定時器初值校正后重裝定時。中斷20次,滿一秒后秒進位,滿60 秒后即為1 分鐘,分鐘單元進位,60 分到了后,時單元進位,24 小時滿后,天單元進位。這樣然后根據(jù)進率,得到年、月、日、時、分、秒存儲單元的值,并經(jīng)查表譯碼后,通過掃描程序送LED 中逐位掃描顯示出來,實現(xiàn)時鐘計時功能。時間調(diào)整時的閃爍是靠T1中斷子程序來完成的,當(dāng)30ms后顯示標(biāo)志置1,30ms后置0,以此來完成顯示
42、。4.2 數(shù)字鐘流程圖4.2.1主程序流程圖:開始初始化時鐘各存儲單元清零定時器、中斷初始化調(diào)用日期顯示子程序K1是否按下YYN跳轉(zhuǎn)到日期調(diào)整程序調(diào)用時間顯示程序YK2是否按下YN跳轉(zhuǎn)到時間調(diào)整程序跳轉(zhuǎn)到關(guān)閉顯示子程序K2是否按下關(guān)閉顯示N4.2.2T0中斷子程序流程圖:T0中斷程序開始保護現(xiàn)場并關(guān)中斷中斷響應(yīng)時間修正是否到60s秒清零,送分鐘單元地址,調(diào)用加一子程序是否到1s是否到60分分清零,送小時單元地址,調(diào)用加一子程序月是否到最大值月置1,送年單元地址,調(diào)用加一子程序送秒單元地址,調(diào)用加一子程序YYYYYN年是否到最大值年清零將數(shù)據(jù)從臨時單元轉(zhuǎn)移到各個單元YY中斷返回是否到24h小時清
43、零,送日單元地址,調(diào)用加一子程序NNNNNN日是否到最大值日置1,送月單元地址,調(diào)用加一子程序日是否到最大值日置1,送月單元地址,調(diào)用加一子程序4.2.3 T0加1子程序流程圖:加1子程序開始低位加1后與高位合成BCD碼存入R3將R3中的內(nèi)容按高四位低四位分別存儲在高低位單元加1子程序返回4.2.4 閏年大小月判斷子程序流程圖:閏年大小月判斷程序開始NNNN是2月嗎?Y是大月嗎?是閏年嗎?YYY當(dāng)前月最大值為30當(dāng)前月最大值為31當(dāng)前月最大值為28當(dāng)前月最大值為29閏年大小月判斷程序返回4.2.5 顯示子程序流程圖:查字位輸出字位、字形初始化顯示程序開始到第六位了嗎?字位左移,字形指針加1查字
44、形輸出顯示程序返回4.2.6 閃爍顯示子程序流程圖:閃爍顯示開始字位、字形初始化N字形指向時的高位YLED12標(biāo)志為1N字形指向分的高位YYYYYNLED34標(biāo)志為1嗎?嗎?NNN字位左移兩位字形指針加2字形指向秒的高位LED56標(biāo)志為1嗎?嗎?N查字形輸出字位左移,字形指針加1到第六位了嗎?Y閃爍顯示返回4.2.7 T1中斷服務(wù)程序流程圖:重裝初值T1中斷程序開始NNNNN到6次了?YYYYY閃爍標(biāo)志為1嗎調(diào)時標(biāo)志為1LED12標(biāo)志置1,其余LED標(biāo)志位清零調(diào)分標(biāo)志為1嗎LED12標(biāo)志置1,其余LED標(biāo)志位清零調(diào)秒標(biāo)志為1嗎LED12標(biāo)志置1,其余LED標(biāo)志位清零·閃爍標(biāo)志位取反L
45、ED標(biāo)志位全部清零T1中斷程序返回4.2.8時間調(diào)整程序流程圖:時間調(diào)整程序開始跳回主程序中的調(diào)用關(guān)閉顯示程序循環(huán)延時1sYY按鍵釋放了NN所有閃爍標(biāo)志清零,關(guān)T0開T2閃爍和調(diào)時標(biāo)志置1K1按下?K2按下?按鍵釋放了延時0.5s小時減1減到最小值了變?yōu)?3時小時加1加到最大值了變?yōu)?0時NNNNYYYYYYYK1按下?K2按下?按鍵釋放了延時0.5s分鐘減1減到最小值了變?yōu)?9分分鐘加1加到最大值了變?yōu)?0分閃爍和調(diào)時標(biāo)志置1NNNNK1按下?K2按下?按鍵釋放了延時0.5s秒鐘減1減到最小值了變?yōu)?9秒秒鐘加1加到最大值了變?yōu)?0秒閃爍和調(diào)時標(biāo)志置1NNNNYYYYY所有標(biāo)志清零,關(guān)閉定時
46、器T1,開啟定時器T0跳回主程序的調(diào)用時間顯示循環(huán)注:日期調(diào)整程序流程圖與時間調(diào)整程序流程圖基本相同,在此省略,共五種模式構(gòu)成以下循環(huán):日期顯示模式時間顯示模式省電模式日期調(diào)整模式時間調(diào)整模式4.3 數(shù)字鐘程序; 中斷入口程序 ; ORG 0000H ;程序執(zhí)行開始地址 LJMP START ;跳到標(biāo)號START執(zhí)行 ORG 0003H ;外中斷0中斷程序入口 RETI ;外中斷0中斷返回 ORG 000BH ;定時器T0中斷程序入口 LJMP INTT0 ;跳至INTTO執(zhí)行 ORG 0013H ;外中斷1中斷程序入口 RETI ;外中斷1中斷返回 ORG 001BH ;定時器T1中斷程序入
47、口 LJMP INTT1 ;跳至INTT1執(zhí)行; 主 程 序 ; START: MOV R0,#63H ;清63H-84H共21個內(nèi)存單元 MOV R7,#15H ; R7的值為21,表示做21次清零 CLEARDISP: MOV R0,#00H ;把R0所指的單元清零 INC R0 ;R0指向下一個單元 DJNZ R7,CLEARDISP ;判斷R7是否減到0,若沒有繼續(xù)執(zhí)行清零循環(huán) MOV 62H,#02H MOV 61H,#00H MOV TMOD,#11H ;設(shè)T0、T1為16位定時器 MOV TL0,#0B0H ;50MS定時初值(T0計時用) MOV TH0,#3CH ;50MS定
48、時初值 MOV TL1,#0B0H ;50MS定時初值(T1閃爍定時用) MOV TH1,#3CH ;50MS定時初值 SETB EA ;總中斷開放 SETB ET0 ;允許T0中斷 SETB TR0 ;開啟T0定時器 MOV R4,#14H ;1秒定時用初值(50MS×20) START1: LCALL DISPLAY2 ;調(diào)用日期顯示子程序 JNB P3.0,DATA1 ;P3.0口為0時轉(zhuǎn)入日期調(diào)整程序 SJMP START1 ;P3.0口為1時跳回START1 DATA1: LJMP REVERSE ;轉(zhuǎn)到日期調(diào)整程序REVERSE START2: LCALL DISPLAY
49、 ;調(diào)用時間顯示子程序 JNB P3.0,SETMM1 ;P3.0口為0時轉(zhuǎn)入時間調(diào)整程序 SJMP START2 ;P3.0口為1時跳回START2 SETMM1:LJMP SETHH ;轉(zhuǎn)到時間調(diào)整子程序; 1秒計時程序 ;T0中斷服務(wù)程序 INTT0: PUSH ACC ;累加器入棧保護 PUSH PSW ;狀態(tài)字入棧保護 CLR ET0 ;關(guān)T0中斷允許 CLR TR0 ;關(guān)閉定時器T0 MOV A,#0B7H ;中斷響應(yīng)時間同步修正 ADD A,TL0 ;低8位初值修正 MOV TL0,A ;重裝初值(低8位修正值) MOV A,#3CH ;高8位初值修正 ADDC A,TH0 ; MOV TH0,A ;重裝初值(高8位修正值) SETB TR0 ;開啟定時器T0 DJNZ R4, OUTT0 ;20次中斷未到中斷退出 ADDSS: MOV R4,#14H ;20次中斷到(1秒)重賦初值 MOV R0,#71H ;指向秒計時
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球FinFET 3D晶體管行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球手機支付安全行業(yè)調(diào)研及趨勢分析報告
- 2025產(chǎn)權(quán)合同 翻譯合同
- 五金產(chǎn)品采購合同
- 2025代理合同代繳社保文檔模板
- 智能健身器材生產(chǎn)銷售合同
- 房屋租賃合同附清單
- 軟件開發(fā)買賣合同書
- 2025年西師新版必修2化學(xué)下冊月考試卷含答案
- 2025北京市房屋出租代理合同版樣書
- 輸變電工程監(jiān)督檢查標(biāo)準(zhǔn)化清單-質(zhì)監(jiān)站檢查
- 【超星學(xué)習(xí)通】馬克思主義基本原理(南開大學(xué))爾雅章節(jié)測試網(wǎng)課答案
- 2024年中國工業(yè)涂料行業(yè)發(fā)展現(xiàn)狀、市場前景、投資方向分析報告(智研咨詢發(fā)布)
- 化工企業(yè)重大事故隱患判定標(biāo)準(zhǔn)培訓(xùn)考試卷(后附答案)
- 工傷賠償授權(quán)委托書范例
- 食堂餐具炊具供貨服務(wù)方案
- 員工安全健康手冊
- 2024化工園區(qū)危險品運輸車輛停車場建設(shè)規(guī)范
- 自然科學(xué)基礎(chǔ)(小學(xué)教育專業(yè))全套教學(xué)課件
- 華為客服制度
- 醫(yī)美面部抗衰老注射項目培訓(xùn)課件
評論
0/150
提交評論