版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計說明書</b></p><p> 專 業(yè): 計算機(jī)科學(xué)與技術(shù) </p><p> 題 目: 電子鐘 </p><p> 學(xué) 生 姓 名: </p><p> 指 導(dǎo) 教 師
2、: </p><p> 2012年 6 月 6 日</p><p><b> 目 錄</b></p><p> 前言……………………………………………………………………………………3</p><p> 課程設(shè)計任務(wù)書………………………………………………………………………4<
3、/p><p> 第一章 關(guān)于電子鐘…………………………………………………………………5</p><p> 第二章 方案論證……………………………………………………………………6</p><p> 2.1數(shù)字時鐘方案…………………………………………………………6</p><p> 2.2 數(shù)碼管顯示方案……………………………………………
4、………6</p><p> 第三章 硬件系統(tǒng)設(shè)計………………………………………………………………7</p><p> 3.1總體設(shè)計…………………………………………………………………7</p><p> 3.2模塊設(shè)計…………………………………………………………………7</p><p> 第四章 軟件系統(tǒng)設(shè)計…………………………
5、…………………………………18</p><p> 第五章 系統(tǒng)仿真與測試…………………………………………………………19</p><p> 5.1.系統(tǒng)仿真………………………………………………………………19</p><p> 5.2 測試結(jié)果………………………………………………………………19</p><p> 第六章 實驗心得
6、…………………………………………………………………21</p><p> 第七章 參考文獻(xiàn)…………………………………………………………………22</p><p> 附錄…………………………………………………………………………………23</p><p><b> 前 言</b></p><p> 我們生
7、活在一個信息時代,各種電子產(chǎn)品層出不窮,作為一個計算機(jī)專業(yè)的學(xué)生,了解這些電子產(chǎn)品的基本組成和設(shè)計基本原理是十分必要的,我們學(xué)習(xí)的是理論知識,而課程設(shè)計正是對我們學(xué)習(xí)的理論知識的實踐與鞏固。</p><p> 單片機(jī)自20世紀(jì)70年代問世以來,以其極高的性能價格比,受到人們的重視和關(guān)注,應(yīng)用很廣、發(fā)展很快。單片機(jī)體積小、重量輕、抗干擾能力強(qiáng)、環(huán)境要求不高、價格低廉、可靠性高、靈活性好、開發(fā)較為容易。由于具有上述
8、優(yōu)點,在我國,單片機(jī)已廣泛地應(yīng)用在工業(yè)自動化控制、自動檢測、智能儀器儀表、家用電器、電力電子、機(jī)電一體化設(shè)備等各個方面,本設(shè)計是基于單片機(jī)的定時鬧鐘設(shè)計。單片機(jī)是在一塊半導(dǎo)體芯片上集成了CPU、存儲器以及輸入和輸出接口電路的微型計算機(jī);其集成度高、功能強(qiáng)、通用性好,特別是它具有體積小、重量輕、能耗低、價格便宜、抗擾、能力強(qiáng)和使用方便等特點。它不僅僅是一項技術(shù)性上的突破,同時也是對能源方面的有效節(jié)約與有效利用,因此深受國家有關(guān)技術(shù)部門和能
9、源部門的重視和支持。其組合而成的配件產(chǎn)品在日常生活的使用過程中非常方便、簡單且實用,深受著廣大消費者的喜愛,從而使單片機(jī)技術(shù)在社會中得到了廣泛的發(fā)展和應(yīng)用。目前,已成為測量控制應(yīng)用系統(tǒng)中的優(yōu)選機(jī)種和新電子產(chǎn)品的關(guān)鍵部件。特別是20世紀(jì)70年代問世以來,以其極高的性能價格比,受到人們的重視和關(guān)注,應(yīng)用很廣、發(fā)展很快,推廣率高,市場利潤率高。而51單片機(jī)是各</p><p> 時鐘電路在計算機(jī)系統(tǒng)中起著非常重要的作
10、用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個單片機(jī)應(yīng)用系統(tǒng)中,時鐘有兩方面的含義:一是指為保障系統(tǒng)正常工作的基準(zhǔn)振蕩定時信號,主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快慢;二是指系統(tǒng)的標(biāo)準(zhǔn)定時時鐘,即定時時間,它通常有兩種實現(xiàn)方法:一是用軟件實現(xiàn),即用單片機(jī)內(nèi)部的可編程定時/計數(shù)器來實現(xiàn),但誤差很大,主要用在對時間精度要求不高的場合;二是用專門的時鐘芯片實現(xiàn),在對時間精度要求很高的情況下,通常采用這種方法,典型的時鐘芯片有
11、:DS1302,DS12887,X1203等都可以滿足高精度的要求。</p><p> 本文主要介紹用單片機(jī)內(nèi)部的定時/計數(shù)器來實現(xiàn)電子時鐘的方法,本設(shè)計由單片機(jī)AT89S51芯片和LED數(shù)碼管為核心,輔以必要的電路,構(gòu)成了一個單片機(jī)電子時鐘。</p><p> 安徽工程大學(xué)機(jī)電學(xué)院</p><p><b> 本科課程設(shè)計任務(wù)書</b>&
12、lt;/p><p> 2009 屆 機(jī)電學(xué)院 </p><p> 計算機(jī)科學(xué)與技術(shù) 專業(yè)</p><p> ?、?課程設(shè)計題目:</p><p><b> 電子鐘</b></p><p><b> ?、?原始資料</b></p><p&g
13、t;<b> 1、設(shè)計的主要內(nèi)容</b></p><p> 設(shè)計一個電子鐘,利用四個數(shù)碼管,在其上顯示分、秒;用4個小鍵盤分別進(jìn)行分+1、分-1、秒+1、秒-1改變時間值。</p><p><b> 基本要求:</b></p><p> ?、拧⒃O(shè)計實驗電路(要求利用實驗儀的硬件資源)</p><p
14、><b> ⑵、分析實驗原理</b></p><p><b> ⑶、列出實驗接線表</b></p><p> ⑷、采用匯編語言編寫實驗程序</p><p> ⑸、通過實驗驗證功能的實現(xiàn)</p><p> ⑹、編寫課程設(shè)計說明書</p><p><b>
15、; 2、設(shè)計參考</b></p><p> 本程序設(shè)計中有幾個要點:</p><p> A、設(shè)計一個1s時鐘,作為時間的基準(zhǔn)。可通過定時器來實現(xiàn),由于定時限制,我們可以設(shè)定定時時鐘為50ms中斷一次,然后用一個計數(shù)器計數(shù)20次,即50ms*20=1000ms=1s。</p><p> B、分與時都可采用軟件計數(shù)器來實現(xiàn)。60秒為1分,60分為1小
16、時。</p><p> C、由于實際應(yīng)用中要求顯示為十進(jìn)制數(shù),而在程序中處理的數(shù)據(jù)都為十六進(jìn)制,因此在程序中要對顯示緩沖區(qū)的數(shù)據(jù)進(jìn)行十進(jìn)制調(diào)整。</p><p><b> 指導(dǎo)教師(簽字)</b></p><p> 完成日期 年 月 日</p><p> 接受任務(wù)書學(xué)生(簽字)</p>
17、;<p> 關(guān)于電子時鐘 </p><p> 1957年,Ventura發(fā)明了世界上第一個電子表,從而奠定了電子時鐘的基礎(chǔ),電子時鐘開始迅速發(fā)展起來。現(xiàn)代的電子時鐘是基于單片機(jī)的一種計時工具,采用延時程序產(chǎn)生一定的時間中斷,用于一秒的定義,通過計數(shù)方式進(jìn)行滿六十秒分鐘進(jìn)一,滿六十分小時進(jìn)一,滿二十四小時小時清零。從而達(dá)
18、到計時的功能,是人民日常生活補(bǔ)課缺少的工具。 </p><p> 現(xiàn)在高精度的計時工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘、石英鐘、石英表都采用了石英技術(shù),因此走時精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)試,數(shù)字式電子鐘用集成電路計時時,譯碼代替機(jī)械式傳動,用LED顯示器代替指針顯示進(jìn)而顯示時間,減小了計時誤差,這種表具有時、分、秒顯示時間
19、的功能,還可以進(jìn)行時和分的校對,片選的靈活性好。 </p><p> 該電子時鐘由AT89S51,,六段數(shù)碼管等構(gòu)成,采用晶振電路作為驅(qū)動電路,由延時程序和循環(huán)程序產(chǎn)生的一秒定時,達(dá)到時分秒的計時,六十秒為一分鐘,六十分鐘為一小時,滿二十四小時為一天。而電路中唯一的一個控制鍵卻擁有多種不同的功能,按下又松開,可以實現(xiàn)屏蔽數(shù)碼管顯示的功能,達(dá)到省電的目的;直接按下不松開,則可以通過
20、按鍵實現(xiàn)分鐘的累加,每按一次分鐘加一;而連續(xù)兩次按下按鍵不放松,則可實現(xiàn)小時的調(diào)節(jié),同樣每按一次小時加一。</p><p><b> 方案論證</b></p><p><b> 2.1數(shù)字時鐘方案</b></p><p> 本方案完全用軟件實現(xiàn)數(shù)字時鐘。原理為:在單片機(jī)內(nèi)部存儲器設(shè)三個字節(jié)分別存放時鐘的時、分、秒信息
21、。利用定時器與軟件結(jié)合實現(xiàn)1秒定時中斷,每產(chǎn)生一次中斷,存儲器內(nèi)相應(yīng)的秒值加1;若秒值達(dá)到60,則將其清零,并將相應(yīng)的分字節(jié)值加1;若分值達(dá)到60,則清零分字節(jié),并將時字節(jié)值加1;若時值達(dá)到24,則將十字節(jié)清零。該方案具有硬件電路簡單的特點。但由于每次執(zhí)行程序時,定時器都要重新賦初值,所以該時鐘精度不高。而且,由于是軟件實現(xiàn),當(dāng)單片機(jī)不上電,程序不執(zhí)行時,時鐘將不工作。</p><p> 2.2 數(shù)碼管顯示方
22、案</p><p> 動態(tài)顯示。所謂動態(tài)顯示就是一位一位的輪流點亮各個位,對于顯示器的每一位來說,每隔一段時間點亮一次。利用人的視覺暫留功能可以看到整個顯示,但必須保證掃描速度足夠快,字符才不閃爍。顯示器的亮度既與導(dǎo)通電流有關(guān),也于點亮?xí)r間與間隔時間的比例有關(guān)。調(diào)整參數(shù)可以實現(xiàn)較高穩(wěn)定度的顯示。動態(tài)顯示節(jié)省了I/O口,降低了能耗。</p><p><b> 硬件系統(tǒng)設(shè)計<
23、;/b></p><p><b> 3.1總體設(shè)計</b></p><p><b> 計時方案</b></p><p> 利用AT89S51單片機(jī)內(nèi)部的定時/計數(shù)器進(jìn)行中斷時,配合軟件延時實現(xiàn)時、分、秒的計時。該方案節(jié)省硬件成本,且能使讀者在定時/計數(shù)器的使用、中斷及程序設(shè)計方面得到鍛煉與提高,對單片機(jī)的指令系
24、統(tǒng)能有更深入的了解,從而對學(xué)好單片機(jī)技術(shù)這門課程起到一定的作用。</p><p><b> 控制方案</b></p><p> AT89S51的P0口和P2口外接由八個LED數(shù)碼管(LED8~LED1)構(gòu)成的顯示器,用P0口作LED的段碼輸出口,P2口作八個LED數(shù)碼管的位控輸出線,P1口外接四個按鍵A、B、C構(gòu)成鍵盤電路。</p><p>
25、; AT89S51 是一種低功耗,高性能的CMOS 8位微型計算機(jī)。它帶有8K Flash 可編程和擦除的只讀存儲器(EPROM),該器件采用ATMEL的高密度非易失性存儲器技術(shù)制造,與工業(yè)上標(biāo)準(zhǔn)的80C51和80C52的指令系統(tǒng)及引腳兼容,片內(nèi)Flash 集成在一個芯片上,可用與解決復(fù)雜的問題,且成本較低。簡易電子鐘的功能不復(fù)雜,采用其現(xiàn)有的I/O便可完成,所以本設(shè)計中采用此的設(shè)計方案。</p><p>
26、3.13具體設(shè)計分析</p><p> 利用單片機(jī)(AT89S51)制作簡易電子時鐘,由六個LED數(shù)碼管分別顯示小時十位、小時個位、分鐘十位、分鐘個位、秒鐘十位、秒鐘個位。結(jié)合本設(shè)計實驗來說,要求顯示的時間為時,分,秒,并且都用兩位數(shù)碼管來實現(xiàn)顯示。因此,具體設(shè)計程序時,應(yīng)盡可能多用一些子程序與數(shù)據(jù)暫寄存器單元。本程序設(shè)計中,在主程序之外,可以設(shè)置時間值處理子程序,時間值顯示前的處理子程序,按鍵情況掃描子程序,
27、1S定時中斷子程序以及5ms延時消除按鍵抖動子程序等多個小型的子程序。另外,可以設(shè)置一些數(shù)據(jù)單元作為數(shù)據(jù)寄存器。用28H,2AH,2BH和2CH地址單元分別作為顯示位數(shù)的掃描指針值寄存器,時寄存器,</p><p> 分寄存器和秒寄存器,再用20H地址單元作為顯示寄存器</p><p><b> 系統(tǒng)框圖</b></p><p><b
28、> 3.2模塊設(shè)計</b></p><p><b> 硬件資源</b></p><p> AT89S51芯片說明</p><p> AT89S51是一個低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件
29、采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強(qiáng)大的微型計算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。</p><p> AT89S51具有如下特點:40個引腳,4k Bytes Flash片內(nèi)程序存儲器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),32個外部雙向
30、輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。 </p><p> 此外,AT89S51設(shè)計和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時該芯片還具
31、有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。</p><p> 選用的AT89S51與同系列的AT89C51在功能上有明顯的提高,最突出是的可以實現(xiàn)在線的編程。用于實現(xiàn)系統(tǒng)的總的控制。其主要功能列舉如下:</p><p> AT89S51引腳圖</p><p> 1、為一般控制應(yīng)用的 8 位單片機(jī)</p><p>
32、; 2、晶片內(nèi)部具有時鐘振蕩器(傳統(tǒng)最高工作頻率可至 33MHz)</p><p> 3、內(nèi)部程式存儲器(ROM)為 4KB</p><p> 4、內(nèi)部數(shù)據(jù)存儲器(RAM)為 128B</p><p> 5、外部程序存儲器可擴(kuò)充至 64KB</p><p> 6、外部數(shù)據(jù)存儲器可擴(kuò)充至 64KB</p><p&g
33、t; 7、32 條雙向輸入輸出線,且每條均可以單 獨做 I/O 的控制</p><p> 8、5 個中斷向量源</p><p> 9、2 組獨立的 16 位定時器</p><p> 10、1 個全雙工串行通信端口</p><p> 11、8751 及 8752 單芯片具有數(shù)據(jù)保密的功能</p><
34、p> 12、單芯片提供位邏輯運(yùn)算指令</p><p> AT89S51各引腳功能介紹:</p><p><b> VCC:</b></p><p> ATAT89S51 電源正端輸入,接+5V。</p><p><b> VSS:</b></p><p>&l
35、t;b> 電源地端。</b></p><p><b> XTAL1:</b></p><p> 單芯片系統(tǒng)時鐘的反向放大器輸入端。</p><p><b> XTAL2:</b></p><p> 系統(tǒng)時鐘的反向放大器輸出端,一般在設(shè)計上只要在 XTAL1 和 XTAL2
36、 上接上一只石英振蕩晶體系統(tǒng)就可以動作了,此外可以在兩個引腳與地之間加入一個 20PF 的小電容,可以使系統(tǒng)更穩(wěn)定,避免噪聲干擾而死機(jī)。</p><p><b> RESET:</b></p><p> AT89S51的重置引腳,高電平動作,當(dāng)要對晶片重置時,只要對此引腳電平提升至高電平并保持兩個機(jī)器周期以上的時間,AT89S51便能完成系統(tǒng)重置的各項動作,使得內(nèi)
37、部特殊功能寄存器之內(nèi)容均被設(shè)成已知狀態(tài),并且至地址0000H處開始讀入程序代碼而執(zhí)行程序。</p><p><b> EA/Vpp:</b></p><p> "EA"為英文"External Access"的縮寫,表示存取外部程序代碼之意,低電平動作,也就是說當(dāng)此引腳接低電平后,系統(tǒng)會取用外部的程序代碼(存于外部EPROM
38、中)來執(zhí)行程序。因此在8031及8032中,EA引腳必須接低電平,因為其內(nèi)部無程序存儲器空間。如果是使用 8751 內(nèi)部程序空間時,此引腳要接成高電平。此外,在將程序代碼燒錄至8751內(nèi)部EPROM時,可以利用此引腳來輸入21V的燒錄高壓(Vpp)。</p><p><b> ALE/PROG:</b></p><p> ALE是英文"Address L
39、atch Enable"的縮寫,表示地址鎖存器啟用信號。ATAT89S51可以利用這支引腳來觸發(fā)外部的8位鎖存器(如74LS373),將端口0的地址總線(A0~A7)鎖進(jìn)鎖存器中,因為ATAT89S51是以多工的方式送出地址及數(shù)據(jù)。平時在程序執(zhí)行時ALE引腳的輸出頻率約是系統(tǒng)工作頻率的1/6,因此可以用來驅(qū)動其他周邊晶片的時基輸入。此外在燒錄8751程序代碼時,此引腳會被當(dāng)成程序規(guī)劃的特殊功能來使用。</p>&
40、lt;p><b> PSEN:</b></p><p> 此為"Program Store Enable"的縮寫,其意為程序儲存啟用,當(dāng)8051被設(shè)成為讀取外部程序代碼工作模式時(EA=0),會送出此信號以便取得程序代碼,通常這支腳是接到EPROM的OE腳。ATAT89S51可以利用PSEN及RD引腳分別啟用存在外部的RAM與EPROM,使得數(shù)據(jù)存儲器與程序存儲
41、器可以合并在一起而共用64K的定址范圍。</p><p> PORT0(P0.0~P0.7):</p><p> 端口0是一個8位寬的開路電極(Open Drain)雙向輸出入端口,共有8個位,P0.0表示位0,P0.1表示位1,依此類推。其他三個I/O端口(P1、P2、P3)則不具有此電路組態(tài),而是內(nèi)部有一提升電路,P0在當(dāng)作I/O用時可以推動8個LS的TTL負(fù)載。如果當(dāng)EA引腳為低
42、電平時(即取用外部程序代碼或數(shù)據(jù)存儲器),P0就以多工方式提供地址總線(A0~A7)及數(shù)據(jù)總線(D0~D7)。設(shè)計者必須外加一個鎖存器將端口0送出的地址鎖住成為A0~A7,再配合端口2所送出的A8~A15合成一組完整的16位地址總線,而定位地址到64K的外部存儲器空間。</p><p> PORT2(P2.0~P2.7):</p><p> 端口2是具有內(nèi)部提升電路的雙向I/O端口,每
43、一個引腳可以推動4個LS的TTL負(fù)載,若將端口2的輸出設(shè)為高電平時,此端口便能當(dāng)成輸入端口來使用。P2除了當(dāng)作一般I/O端口使用外,若是在ATAT89S51擴(kuò)充外接程序存儲器或數(shù)據(jù)存儲器時,也提供地址總線的高字節(jié)A8~A15,這個時候P2便不能當(dāng)作I/O來使用了。</p><p> PORT1(P1.0~P1.7):</p><p> 端口1也是具有內(nèi)部提升電路的雙向I/O端口,其輸出
44、緩沖器可以推動4個LS TTL負(fù)載,同樣地,若將端口1的輸出設(shè)為高電平,便是由此端口來輸入數(shù)據(jù)。如果是使用8052或是8032的話,P1.0又當(dāng)作定時器2的外部脈沖輸入腳,而P1.1可以有T2EX功能,可以做外部中斷輸入的觸發(fā)引腳。</p><p> PORT3(P3.0~P3.7):</p><p> 端口3也具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動4個TTL負(fù)載,同時
45、還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計時計數(shù)控制及外部數(shù)據(jù)存儲器內(nèi)容的讀取或?qū)懭肟刂频裙δ堋?lt;/p><p><b> 其引腳分配如下:</b></p><p> P3.0:RXD,串行通信輸入。</p><p> P3.1:TXD,串行通信輸出。</p><p> P3.2:INT0,外部
46、中斷0輸入。</p><p> P3.3:INT1,外部中斷1輸入。</p><p> P3.4:T0,計時計數(shù)器0輸入。</p><p> P3.5:T1,計時計數(shù)器1輸入。</p><p> P3.6:WR:外部數(shù)據(jù)存儲器的寫入信號。</p><p> P3.7:RD,外部數(shù)據(jù)存儲器的讀取信號。</
47、p><p><b> 74LS47芯片</b></p><p><b> 74LS47芯片</b></p><p> 74LS47是BCD-7段數(shù)碼管譯碼器/驅(qū)動器, 74LS47的功能用于將BCD碼轉(zhuǎn)化成數(shù)碼塊中的數(shù)字,通過它解碼, 可以直接把數(shù)字轉(zhuǎn)換為數(shù)碼管的顯示數(shù)字, 從而簡化了程序。</p><
48、;p> 74LS47譯碼器原理:譯碼為編碼的逆過程。它將編碼時賦予代碼的含義“翻譯”過來。實現(xiàn)譯碼的邏輯電路成為譯碼器。譯碼器輸出與輸入代碼有唯一的對應(yīng)關(guān)系。74LS47是輸出低電平有效的七段字形譯碼器,它在這里與數(shù)碼管配合使用,</p><p> 下表列出了74LS47的真值表,表示出了它與數(shù)碼管之間的關(guān)系。</p><p> 輸 入 輸 出 顯示數(shù)字符號 </p&g
49、t;<p> LT RBI A3 A2 A1 A0 BI RBO a b c d e f g1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 X 0 0 0 1 1 1 0 0 1 1 1 1 1 1 X 0 0 1 0 1 0 0 1 0 0 1 0 2 1 X 0 0 1 1 1 0 0 0 0 1 1 0 3 1
50、 X 0 1 0 0 1 1 0 0 1 1 0 0 4 1 X 0 1 0 1 1 0 1 0 0 1 0 0 5 1 X 0 1 1 0 1 1 1 0 0 0 0 0 6 1 X 0 1 1 1 1 0 0 0 1 1 1 1 7 1 X 1 0 0 0 1 0 0 0 0 0 0 0 8 1 X 1 0 0
51、1 1 0 0 0 1 1 0 0 9 X X X X X X 0 1 1 1 1 1 1 1 熄滅 1 0 </p><p><b> 74LS138芯片</b></p><p><b> 74LS138</b></p><p> 74HC138:74LS138 為3 線-8
52、 線譯碼器,共有 54/74S138和 54/74LS138 兩種線路結(jié)構(gòu)型式,其74LS138工作原理如下當(dāng)一個選通端(G1)為高電平,另兩個選通端(/(G2A)和/(G2B))為低電平時,可將地址端(A、B、C)的二進(jìn)制編碼在一個對應(yīng)的輸出端以低電平譯出。</p><p> 74LS138的作用:利用 G1、/(G2A)和/(G2B)可級聯(lián)擴(kuò)展成 24 線譯碼器;若外接一個反相器還可級聯(lián)擴(kuò)展成 3
53、2 線譯碼器。 若將選通端中的一個作為數(shù)據(jù)輸入端時,74LS138還可作數(shù)據(jù)分配器</p><p> 無論從邏輯圖還是功能表我們都可以看到74LS138的八個輸出引腳,任何時刻要么全為高電平1—芯片處于不工作狀態(tài),要么只有一個為低電平0,其余7個輸 出引腳全為高電平1。如果出現(xiàn)兩個輸出引腳同時為0的情況,說明該芯片已經(jīng)損壞。</p><p> 71LS138有三個附加的控制端、和。
54、當(dāng)、時,輸出為高電平(S=1),譯碼器處于工作狀態(tài)。否則,譯碼器被禁止,所有的輸出端被封鎖在高電平,如表3.3.5所示。這三個控制端也叫做“片選”輸入端,利用片選的作用可以將多篇連接起來以擴(kuò)展譯碼器的功能。 </p><p> 用與非門組成的3線-8線譯碼器74LS138</p><p> 帶控制輸入端的譯碼器又是一個完整的數(shù)據(jù)分配器。在下圖電路中如果把作為“數(shù)據(jù)”輸入端(同時),而將
55、作為“地址”輸入端,那么從送來的數(shù)據(jù)只能通過所指定的一根輸出線送出去。這就不難理解為什么把叫做地址輸入了。例如當(dāng)=101時,門的輸入端除了接至輸出端的一個以外全是高電平,因此的數(shù)據(jù)以反碼的形式從輸出,而不會被送到其他任何一個輸出端上。</p><p> 3線-8線譯碼器74LS138的功能表</p><p><b> 晶振電路</b></p><
56、;p> 下圖所示為時鐘電路原理圖,在AT89S51芯片內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。而在芯片內(nèi)部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個穩(wěn)定的自激振蕩器。時鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進(jìn)行二分頻之后,才成為單片機(jī)的時鐘脈沖信號。</p><p><b> 晶振電路</b></p><
57、p><b> 復(fù)位電路</b></p><p> 單片機(jī)復(fù)位的條件是:必須使RST/VPD 或RST引(9)加上持續(xù)兩個機(jī)器周期(即24個振蕩周期)的高電平。例如,若時鐘頻率為12 MHz,每機(jī)器周期為1μs,則只需2μs以上時間的高電平,在RST引腳出現(xiàn)高電平后的第二個機(jī)器周期執(zhí)行復(fù)位。單片機(jī)常見的復(fù)位如圖所示。電路為上電復(fù)位電路,它是利用電容充電來實現(xiàn)的。在接電瞬間,RESET
58、端的電位與VCC相同,隨著充電電流的減少,RESET的電位逐漸下降。只要保證RESET為高電平的時間大于兩個機(jī)器周期,便能正常復(fù)位。該電路除具有上電復(fù)位功能外,若要復(fù)位,只需按圖中的RESET鍵,此時電源VCC經(jīng)電阻R1、R2分壓,在RESET端產(chǎn)生一個復(fù)位高電平。</p><p><b> 單片機(jī)復(fù)位電路</b></p><p><b> 數(shù)碼顯示模塊
59、設(shè)計</b></p><p><b> 數(shù)碼顯像管</b></p><p> 數(shù)碼管是一種把多個LED顯示段集成在一起的顯示設(shè)備。有兩種類型,一種是共陽型,一種是共陰型。共陽型就是把多個LED顯示段的陽極接在一起,又稱為公共端。共陰型就是把多個LED顯示段的陰極接在一起,即為公共商。陽極即為二極管的正極,又稱為正極,陰極即為二極管的負(fù)極,又稱為負(fù)極。通
60、常的數(shù)碼管又分為8段,即8個LED顯示段,這是為工程應(yīng)用方便如設(shè)計的,分別為A、B、C、D、E、F、G、DP,其中DP 是小數(shù)點位段。而多位數(shù)碼管,除某一位的公共端會連接在一起,不同位的數(shù)碼管的相同端也會連接在一起。即,所有的A段都會連在一起,其它的段也是如此,這是實際最常用的用法。數(shù)碼管顯示方法可分為靜態(tài)顯示和動態(tài)顯示兩種。靜態(tài)顯示就是數(shù)碼管的8段輸入及其公共端電平一直有效。動態(tài)顯示的原理是,各個數(shù)碼管的相同段連接在一起,共同占用8
61、位段引管線;每位數(shù)碼管的陽極連在一起組成公共端。利用人眼的視覺暫留性,依次給出各個數(shù)碼管公共端加有效信號,在此同時給出該數(shù)碼管加有效的數(shù)據(jù)信號,當(dāng)全段掃描速度大于視覺暫留速度時,顯示就會清晰顯示出來。</p><p><b> 共陰數(shù)碼管</b></p><p> 系統(tǒng)采用動態(tài)顯示方式,用P0口來控制LED數(shù)碼管的段控線,而用P2口來控制其位控線。動態(tài)顯示通常都是
62、采用動態(tài)掃描的方法進(jìn)行顯示,即循環(huán)點亮每一個數(shù)碼管,這樣雖然在任何時刻都只有一位數(shù)碼管被點亮,但由于人眼存在視覺殘留效應(yīng),只要每位數(shù)碼管間隔時間足夠短,就可以給人以同時顯示的感覺。</p><p><b> 數(shù)碼管的引腳圖</b></p><p><b> 按鍵模塊</b></p><p> 時間計數(shù)電路由秒個位和秒
63、十位計數(shù)器、分個位和分十位計數(shù)器、時個位和時十位計數(shù)器及星期計數(shù)器電路構(gòu)成,其中秒個位和秒十位計數(shù)器、分個位和分十位計數(shù)器為60進(jìn)制計數(shù)器,時個位和時十位計數(shù)器為24進(jìn)制計數(shù)器。</p><p> 按鍵模塊電路原理圖。</p><p> 第四章 軟件系統(tǒng)設(shè)計</p><p> 基本的程序流程應(yīng)該是:在主程序中檢測各個時間按鈕是否有動作若有,就儲存并修改相關(guān)的
64、的時間寄存器的值,若沒有,就繼續(xù)檢測。在計時子程序中將各時間寄存器的值逐個加1,每加一次就要檢查是否已超過顯示的上限值,這樣在后面就便于處理,在掃描顯示子程序中,將掃描位數(shù)指針與20H相加,從而得到相應(yīng)的顯示數(shù)據(jù);然后按照顯示的位數(shù)加顯示數(shù)就的格式,將數(shù)據(jù)從P1口輸出到數(shù)碼管上去顯示,當(dāng)然還有定時中斷子程序,在這里,它實現(xiàn)計時1S的時間延時。</p><p> 第五章 系統(tǒng)仿真與實驗測試</p>
65、<p><b> 5.1系統(tǒng)仿真</b></p><p> 運(yùn)用proteus軟件進(jìn)行仿真現(xiàn)在proteus軟件中建立一個新的文件,再根據(jù)自己的要求選擇所需的器件,把器件進(jìn)行適當(dāng)?shù)呐盼缓筮M(jìn)行連接,連接后運(yùn)行軟件進(jìn)行仿真。</p><p><b> 5.2實驗測試</b></p><p> 電子時鐘主要的
66、設(shè)計要求是能夠?qū)崿F(xiàn)時鐘的一般功能,以及包括時間的調(diào)整功能,這個基于單片機(jī)的電子時鐘基本上實現(xiàn)了上述功能,能夠通過時間調(diào)整電路對時間進(jìn)行調(diào)整以及復(fù)位。下述為仿真圖:</p><p> 12:00:00時刻的仿真效果圖</p><p><b> 實驗心得</b></p><p> 單片機(jī)作為我們主要的專業(yè)課程之一,我覺得單片機(jī)課程設(shè)計很有必要
67、,而且很有意義。但當(dāng)拿到題目時,確實不知道怎么著手,有些迷茫,上網(wǎng)查資料,問老師,在老師的幫助下,歷時兩個星期,解決一個又一個的困難,終于完成任務(wù)。</p><p> 在這次課程設(shè)計中,運(yùn)用到了很多以前的專業(yè)知識,雖然過去從未獨立應(yīng)用過它們,但在學(xué)習(xí)的過程中帶著問題去學(xué)我發(fā)現(xiàn)效率很高,這是我做這次課程設(shè)計的一大收獲。另外,要做好一個課程設(shè)計,就必須做到:在設(shè)計程序之前,對所用單片機(jī)的內(nèi)部結(jié)構(gòu)有一個系統(tǒng)的了解,知
68、道該單片機(jī)內(nèi)有哪些資源;要有一個清晰的思路和一個完整的軟件流程圖;在設(shè)計程序時,不能妄想一次就將整個程序設(shè)計好,反復(fù)修改、不斷改進(jìn)是程序設(shè)計的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,一個程序的完美與否不僅僅是實現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便;在設(shè)計課程過程中遇到問題是很正常的,但我們應(yīng)該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題。課程設(shè)計結(jié)束了,但是從中學(xué)到的知識會讓我受益終身。
69、發(fā)現(xiàn)、提出、分析、解決問題和實踐能力的提高都會受益于我在以后的學(xué)習(xí)、工作和生活中。設(shè)計過程,好比是我們?nèi)祟惓砷L的歷程,常有一些不如意,但畢竟這是第一次做,難免會遇到各種各樣的問題。在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,不能靈活運(yùn)用。通過這次設(shè)計,我懂得了學(xué)習(xí)的重要性</p><p> 通過這次課程設(shè)計,我感覺收獲了很多:我逐步加深了對單片機(jī)系列知識及其系統(tǒng)的認(rèn)識。
70、這個設(shè)計題目并不怎么新穎,但從中體現(xiàn)到了個系統(tǒng)開發(fā)設(shè)計的過程,足以讓我們受益匪淺。讓我更進(jìn)一步的提高了動手能力,也重新復(fù)習(xí)了一次單片機(jī)的程序編程能力,在這期間,讓我更加深刻了體會到了匯編程序的思路,加強(qiáng)了對編程能力的理解和對相應(yīng)資料的查閱我學(xué)會對困難無所畏懼,以及對問題的一些很重要的思考方法。</p><p><b> 第七章 參考文獻(xiàn)</b></p><p>
71、 1.安徽工程大學(xué)微型計算機(jī)及接口技術(shù)實驗指導(dǎo)書</p><p> 2.賈金鈴 《微型計算機(jī)原理及應(yīng)用——理論、實驗、課程設(shè)計》</p><p><b> 重慶大學(xué)出版社</b></p><p> 3.殷代紅 《微型計算機(jī)原理及應(yīng)用實驗》 化學(xué)工業(yè)出版社</p><p> 4. 劉樂善 《微型計算機(jī)接
72、口技術(shù)及應(yīng)用》華中科技大學(xué)出版社</p><p> 5. 李敬兆 《匯編語言程序設(shè)計》 中國科學(xué)技術(shù)大學(xué)出版社</p><p> 6.劉樂喜 微機(jī)計算機(jī)接口技術(shù)及應(yīng)用[M].華中科技大學(xué)出版社.</p><p> 7.石東海 單片機(jī)數(shù)據(jù)通信技術(shù)從入門到精通.[M].西安電子科技大學(xué)出版社.</p><p> 8.
73、謝自美等 電子線路設(shè)計、實驗、測試.[M].華中科技大學(xué)出版社</p><p><b> 附錄</b></p><p><b> 源程序代碼</b></p><p> ORG 00H;主程序起始地址</p><p> JMP START;主程序START</p><
74、p> ORG 0BH;定時器T0中斷起始地址</p><p> JMP TIM0;定時器T0中斷子程序TIM0</p><p> START: MOV SP;#70H;設(shè)置堆棧指針</p><p> MOV 28H,#00;設(shè)置顯示位數(shù)掃描指針初值為0</p><p> MOV 2AH,#12H;設(shè)置時鐘顯示寄存器初值為12
75、H</p><p> MOV 2BH,#00;設(shè)置分鐘顯示寄存器初值為00H</p><p> MOV 2CH,#00;設(shè)置秒鐘顯示寄存器初值為00H</p><p> MOV TMOD,#01H;設(shè)置定時器T0工作在方式1</p><p> MOV TH0,#0F0H;定時4ms的初值,即0F060H</p><
76、p> MOV TL0,#60H;初值的低位</p><p> MOV IE,#82H;定時器T0中斷允許</p><p> MOV R4,#250;保證后面實現(xiàn)中斷250次,即1s的延時</p><p> SETB TR0;啟動定時器T0</p><p> LOOP: JB P0.0,N2;若秒沒有按鍵,就轉(zhuǎn)去下一步檢查分
77、</p><p> CALL DELAY;延時5ms消除抖動</p><p> MOV A,2CH;將秒寄存器的值載入累加器A </p><p> ADD A,#01H;A的內(nèi)容加1</p><p> DA A;十進(jìn)制調(diào)整</p><p> MOV 2CH,A;A 的值存入秒寄存器</p>&l
78、t;p> CJNE A,#60H,N1;看是否已經(jīng)是60秒,若不是就繼續(xù)檢查</p><p> MOV 2CH,#00;已經(jīng)是60秒,就清空秒寄存器的值</p><p> N1: JNB P0.0,$;秒按鍵還沒有放開就循環(huán)等待</p><p> CALL DELAY;延時5ms,消除抖動</p><p> N2:
79、 JB P0.1,N4;若分沒有按鍵,就轉(zhuǎn)去下一步檢查時鐘</p><p> CALL DELAY;延時5ms,消除抖動</p><p> MOV A,2BH;將分寄存器的值載入累加器A</p><p> ADD A,#01H;A的內(nèi)容加1</p><p> DA A;十進(jìn)制調(diào)整</p><p> MOV
80、 2BH,A;A的值存入分寄存器</p><p> CJNE A,#60H,N3;看是否已經(jīng)是60分</p><p> MOV 2BH,#00;已經(jīng)是60分,就清空秒寄存器的值</p><p> N3: JNB P0.1,$;分按鍵還沒有放開就循環(huán)等待</p><p> CALL DELAY;延時5ms,消除抖動</p&
81、gt;<p> N4: JB P0.2,LOOP;若時沒有按鍵,就轉(zhuǎn)回去繼續(xù)檢查看是否秒有按鍵</p><p> CALL DELAY;延時5ms,消除抖動</p><p> MOV A,2AH;將時寄存器的值載入累加器A</p><p> ADD A,#01H;A的內(nèi)容加1</p><p> DA A;十進(jìn)制
82、調(diào)整</p><p> MOV 2AH,A;A的值存入時寄存器</p><p> CJNE A,#24H,N5;看是否已經(jīng)是24時,若不是就繼續(xù)檢查</p><p> MOV 2AH,#00;已經(jīng)是24時,就清空寄存器的值</p><p> N5: JNB P0.2,$;時鐘按鍵還沒有放開就循環(huán)等待</p>&l
83、t;p> CALL DELAY;延時5ms,消除抖動</p><p> JMP LOOP;返回重新檢查看是否有按鍵</p><p> ;*******定時器T0中斷子程序*******</p><p> TIM0: MOV TH0,#0F0H;定時初值重設(shè)</p><p> MOV TL0,#60H</p>
84、<p> PUSH ACC;將累加器A的值暫存于堆棧</p><p> PUSH PSW;將PSW的值暫存于堆棧</p><p> DJNZ R4,X2;計時中斷不滿1s就退出繼續(xù)中斷</p><p> MOV R4,#250;計時1s</p><p> CALL CLOCK;調(diào)用計時子程序CLOCK</p>
85、<p> CALL DISP;調(diào)用顯示子程序DISP</p><p> X2: CALL SCAN;調(diào)用掃描子程序SCAD</p><p> POP PSW;到堆棧取回PSW的值</p><p> POP ACC;到堆棧取回累加器ACC的值</p><p> RETI;返回主程序;</p><
86、p> ;****掃描子程序****</p><p> SCAN: MOV R0,#28H</p><p> INC @R0;顯示位數(shù)掃描值加1</p><p> CJNE @R0,#6,X3;掃描位數(shù)不為6就準(zhǔn)備控制輸出</p><p> MOV @R0,#0;掃描位數(shù)為6,就另其值為0</p><p&g
87、t; X3:MOV A,@R0;掃描位數(shù)載入A</p><p> ADD A,#20H;A加上20H(顯示寄存器地址)=各時間顯示區(qū)地址</p><p> MOV R1,A;各時間顯示區(qū)地址存入A</p><p> MOV A,@R0;掃描位數(shù)存入A</p><p> SWAP A;將A的高低4位交換(其高4位為掃描</p&g
88、t;<p> ??;的位數(shù),低4位為顯示數(shù)據(jù)值)</p><p> ORL A,@R1;將掃描值與顯示數(shù)據(jù)組合</p><p> MOV P1,A;顯示輸出</p><p><b> RET</b></p><p> ;******計時子程序******</p><p> C
89、LOCK: MOV A,2CH;秒寄存器值載入A</p><p> ADD A,#1;加1秒</p><p> DA A;十進(jìn)制調(diào)整</p><p> MOV 2CH,A;A的值存入秒寄存器</p><p> CJNE A,#60H,X4;A不等于60秒,就跳出程序去顯示</p><p> MOV 2CH,#
90、00;已經(jīng)是60秒,就清0</p><p> MOV A,2BH;分寄存器值載入A</p><p> ADD A,#1;加1分</p><p> DA A;十進(jìn)制調(diào)整</p><p> MOV 2BH,A;A的值存入分寄存器 </p><p> CJNE A,#60H,X4;A不等于60分,就跳出程序去顯示&
91、lt;/p><p> MOV 2BH,#00;已經(jīng)是60分就清0</p><p> MOV A,2AH;時寄存器值載入A</p><p> ADD A,#1;加1小時</p><p> DA A;十進(jìn)制調(diào)整</p><p> MOV 2AH,A;A的值存入是寄存器</p><p> CJ
92、NE A,#24H,X4;A不等于24時,就跳出程序去顯示</p><p> MOV 24H,#00;已經(jīng)是24時,就清0</p><p> X4: RET</p><p> ;******顯示子程序******</p><p> DISP: MOV R1,20H;20H為顯示寄存器單元</p><p>
93、; MOV A,2CH;將秒寄存器的內(nèi)容存入A</p><p> MOV B,#10H;設(shè)B累加器的值為10H</p><p> DIV AB;A/B,商存入A(十位數(shù)),余數(shù)存入(個位數(shù))</p><p> MOV @R1,B;將顯示的個位數(shù)存入20H顯示寄存器單元</p><p><b> INC R1</b&g
94、t;</p><p> MOV @R1,;A將顯示的十位數(shù)存入21H顯示寄存器單元</p><p><b> INC R1</b></p><p> MOV A,2BH;將分寄存器的內(nèi)容存入A</p><p> MOV B,#10H;設(shè)B累加器的值為10H</p><p> DIV AB
95、;A/B,商存入A(十位數(shù)),余數(shù)存入(個位數(shù))</p><p> MOV @R1,B;將顯示的個位數(shù)存入22H顯示寄存器單元</p><p><b> INC R1</b></p><p> MOV @R1,A;將顯示的十位數(shù)存入23H顯示寄存器單元</p><p><b> INC R1</b
96、></p><p> MOV A,2AH;將時寄存器的內(nèi)容存入A</p><p> MOV B,#10H;設(shè)B累加器的值為10H</p><p> DIV AB;A/B,商存入A(十位數(shù)),余數(shù)存入(個位數(shù))</p><p> MOV @R1,B;將顯示的個位數(shù)存入24H顯示寄存器單元</p><p>&
97、lt;b> INC R1</b></p><p> MOV @R1,A;將顯示的十位數(shù)存入25H顯示寄存器單元</p><p><b> RET</b></p><p> ;******延時5ms消除抖動******</p><p> DELAY: MOV R6,#60</p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程論文設(shè)計電子鐘設(shè)計
- 電子鐘課程設(shè)計--基于單片機(jī)的電子鐘設(shè)計
- 電子鐘單片機(jī)課程設(shè)計
- 單片機(jī)課程設(shè)計--電子鐘
- 單片機(jī)課程設(shè)計(電子鐘)
- 《單片機(jī)技術(shù)》電子鐘課程設(shè)計---數(shù)字電子鐘
- 單片機(jī)課程設(shè)計——數(shù)字電子鐘
- 單片機(jī)課程設(shè)計--數(shù)字電子鐘
- 單片機(jī)課程設(shè)計--數(shù)字電子鐘
- 單片機(jī)課程設(shè)計--簡單電子鐘設(shè)計
- 單片機(jī)課程設(shè)計---智能電子鐘
- 單片機(jī)原理課程設(shè)計--電子鐘
- 單片機(jī)數(shù)字電子鐘課程設(shè)計
- 單片機(jī)課程設(shè)計報告---單片機(jī)的電子鐘設(shè)計
- 單片機(jī)課程設(shè)計--數(shù)字電子鐘
- 單片機(jī)課程設(shè)計-智能電子鐘
- 單片機(jī)課程設(shè)計--數(shù)字電子鐘設(shè)計
- 單片機(jī)課程設(shè)計---電子鐘的設(shè)計
- 單片機(jī)課程設(shè)計報告-電子鐘設(shè)計
- 單片機(jī)課程設(shè)計--數(shù)字鐘電子鐘
評論
0/150
提交評論