2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論