基于51單片機(jī)的9999秒倒計(jì)時器畢業(yè)設(shè)計(jì)_第1頁
基于51單片機(jī)的9999秒倒計(jì)時器畢業(yè)設(shè)計(jì)_第2頁
基于51單片機(jī)的9999秒倒計(jì)時器畢業(yè)設(shè)計(jì)_第3頁
基于51單片機(jī)的9999秒倒計(jì)時器畢業(yè)設(shè)計(jì)_第4頁
基于51單片機(jī)的9999秒倒計(jì)時器畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 西 京 學(xué) 院畢 業(yè) 設(shè) 計(jì) (論 文)成績題 目: 基于51單片機(jī)倒計(jì)時器 姓 名: 系 別: 機(jī)電工程系 專 業(yè): 機(jī)電一體化技術(shù) 班 級: 機(jī)電0809班 學(xué) 號: 0812090901 指導(dǎo)老師: 張永超 日 期: 2011年1月20日 教務(wù)處制摘 要近年來隨著計(jì)算機(jī)在社會領(lǐng)域的滲透,單片機(jī)的應(yīng)用正在不斷地走向深入,同時帶動著傳統(tǒng)控制檢測日新月異的更新。由于單片機(jī)具有體積小、易于產(chǎn)品化、面向控制、集成度高、功能強(qiáng)、可靠性高、價格低等特點(diǎn),其在工業(yè)控制、機(jī)電一體化、智能儀表、通信等諸多領(lǐng)域中得到了廣泛的應(yīng)用。在實(shí)時檢測和自動控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個核心部件來使用。但

2、是僅單片機(jī)方面知識是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對具體應(yīng)用對象特點(diǎn)的軟件結(jié)合,以作完善。本論文針對倒計(jì)時系統(tǒng)的設(shè)計(jì)的需求,介紹了MCS-51單片機(jī)的部分基本原理,如51單片機(jī)的接口功能、中斷、定時器等等。倒計(jì)時系統(tǒng)需要用到鎖存器、矩陣鍵盤、LED數(shù)碼顯示器等主要模塊,通過不同的模塊之間相互作用,完成倒計(jì)時的初步硬件結(jié)構(gòu)。對于倒計(jì)時器中的LED數(shù)碼顯示器來說,我為了簡化線路、降低成本,采用以軟件為主的接口方法,即采用Keil uVision3軟件程序進(jìn)行譯碼。本次設(shè)計(jì)采用C語言編程,通過倒計(jì)時子程序模塊、矩陣鍵盤掃描模塊、中斷等子程序的正確調(diào)用,完成了可以隨時設(shè)置初值的基于51單片機(jī)控制

3、的9999秒倒計(jì)時系統(tǒng)。 【關(guān)鍵詞】倒計(jì)時器 單片機(jī) 矩陣鍵盤 Keil uVision3 LED數(shù)碼顯示器 目錄 TOC o 1-3 h z u HYPERLINK l _Toc286854252 前 言 PAGEREF _Toc286854252 h 1 HYPERLINK l _Toc286854253 第一章 倒計(jì)時系統(tǒng)簡介 PAGEREF _Toc286854253 h 2 HYPERLINK l _Toc286854254 設(shè)計(jì)要求 PAGEREF _Toc286854254 h 2 HYPERLINK l _Toc286854255 方案說明 PAGEREF _Toc286854

4、255 h 2 HYPERLINK l _Toc286854256 系統(tǒng)功能 PAGEREF _Toc286854256 h 3 HYPERLINK l _Toc286854257 第二章 MCS-51單片機(jī)基本原理 PAGEREF _Toc286854257 h 4 HYPERLINK l _Toc286854258 2.1 MCS-51單片機(jī)的組成原理 PAGEREF _Toc286854258 h 4 HYPERLINK l _Toc286854259 2.1.1 80C51芯片介紹 PAGEREF _Toc286854259 h 4 HYPERLINK l _Toc286854260

5、2.2 MCS-51單片機(jī)的引腳功能 PAGEREF _Toc286854260 h 5 HYPERLINK l _Toc286854261 2.3 中斷 PAGEREF _Toc286854261 h 7 HYPERLINK l _Toc286854262 2.4 定時器與計(jì)數(shù)器 PAGEREF _Toc286854262 h 9 HYPERLINK l _Toc286854263 第三章 倒計(jì)時器系統(tǒng)設(shè)計(jì)與調(diào)試 PAGEREF _Toc286854263 h 12 HYPERLINK l _Toc286854264 3.1 硬件電路設(shè)計(jì) PAGEREF _Toc286854264 h 12

6、 HYPERLINK l _Toc286854265 中央處理器模塊 PAGEREF _Toc286854265 h 12 HYPERLINK l _Toc286854266 鎖存器 PAGEREF _Toc286854266 h 14 HYPERLINK l _Toc286854267 3.4 矩陣鍵盤 PAGEREF _Toc286854267 h 16 HYPERLINK l _Toc286854268 3.5 LED數(shù)碼顯示模塊 PAGEREF _Toc286854268 h 17 HYPERLINK l _Toc286854269 3.6 軟件設(shè)計(jì) PAGEREF _Toc28685

7、4269 h 19 HYPERLINK l _Toc286854270 3.7 倒計(jì)時模塊子程序設(shè)計(jì) PAGEREF _Toc286854270 h 23 HYPERLINK l _Toc286854271 3.8 其他子程序設(shè)計(jì) PAGEREF _Toc286854271 h 24 HYPERLINK l _Toc286854272 結(jié) 論. PAGEREF _Toc286854272 h 26 HYPERLINK l _Toc286854273 致 謝. PAGEREF _Toc286854273 h 27 HYPERLINK l _Toc286854274 參考文獻(xiàn). PAGEREF _

8、Toc286854274 h 28 HYPERLINK l _Toc286854275 附錄. PAGEREF _Toc286854275 h 29前 言51系列單片機(jī)屬于總線型單片機(jī),具有硬件架構(gòu)完整、功能強(qiáng)大、技術(shù)成熟、通用性強(qiáng)、可外部擴(kuò)展、配套芯片齊全、集成開發(fā)環(huán)境好、實(shí)用子程序豐富以及價格低廉等一系列優(yōu)點(diǎn),無論是實(shí)際工程應(yīng)用,還是學(xué)習(xí)單片機(jī)原理及其應(yīng)用技術(shù),51系列單片機(jī)都是理想的選擇。在社會生活和生產(chǎn)的各個領(lǐng)域中,凡是有自動控制要求的地方都會和單片機(jī)扯上關(guān)系。無論是從簡單到復(fù)雜,還是從空中、地面到地下,凡是能想到的地方幾乎都有使用單片機(jī)的需求,并且達(dá)到許多與人方便的操作。盡管現(xiàn)在單片

9、機(jī)在社會上的應(yīng)用已經(jīng)很普遍了,但仍有許多可以用單片機(jī)控制而尚未實(shí)現(xiàn)的項(xiàng)目。因此,單片機(jī)的應(yīng)用依然大有想象和拓展空間。本次設(shè)計(jì)采用的是總線型結(jié)構(gòu)的單片機(jī),總線型結(jié)構(gòu)的單片機(jī)可以減少不同之間信息傳送線的條數(shù),從而使信息傳送規(guī)格整齊,提高了整機(jī)的可靠性。采用總線結(jié)構(gòu)以后,存儲器、輸入輸出等外部設(shè)備都通過專門的接口電路獨(dú)立的掛在總線上,因而使得單片機(jī)可擴(kuò)充能力強(qiáng),使用方便靈活。另外,還可根據(jù)不同的需要增加存儲器的容量或增添外部設(shè)備,也可以根據(jù)不同的需要組成各種專用的單片機(jī),例如專用教學(xué)機(jī)等。單片機(jī)的應(yīng)用有利于產(chǎn)品的小型化、多功能化和智能化,有助于提高勞動效率,減輕勞動強(qiáng)度,提高產(chǎn)品質(zhì)量,改善勞動環(huán)境,

10、減少能源和材料消耗,保證安全等4。但是,單片機(jī)應(yīng)用的意義絕不僅限于它的廣闊范圍以及所帶來的經(jīng)濟(jì)效益上,更重要的意義還在于:單片機(jī)的應(yīng)用正從根本上改變著傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須有模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能使用單片機(jī)通過軟件(編程)方法實(shí)現(xiàn)了。這種以軟件取代硬件并提高系統(tǒng)性能的控制系統(tǒng)“軟化”技術(shù),稱之為微控制技術(shù)。微控制技術(shù)是一種全新的概念,是對傳統(tǒng)控制技術(shù)的一次革命。隨著單片機(jī)應(yīng)用的推廣普及,微控制技術(shù)必將不斷發(fā)展、日益完善和更加充實(shí)。本論文第一章介紹了本次倒計(jì)時系統(tǒng)的設(shè)計(jì)目的、設(shè)計(jì)方案和開發(fā)意義;第二章對MCS-51單片機(jī)的部分基本原理和接口技術(shù)進(jìn)行了闡述

11、,其中大部分都是本次設(shè)計(jì)需要用到,比如中斷原理、定時器等;最后一章介紹了本次倒計(jì)時系統(tǒng)設(shè)計(jì)的硬件電路設(shè)計(jì)和軟件程序設(shè)計(jì),以及Keil uVision3軟件系統(tǒng)調(diào)試的步驟和方法,以完成系統(tǒng)設(shè)計(jì)。第一章 倒計(jì)時系統(tǒng)簡介設(shè)計(jì)要求以MCS-51系統(tǒng)單片機(jī)為核心器件,組成一個9999秒以內(nèi)任意秒數(shù)的倒計(jì)時系統(tǒng),即初值為9999秒以內(nèi)任意秒數(shù),以一秒的速度進(jìn)行倒計(jì)時。系統(tǒng)有8個LED數(shù)碼管顯示器,選擇低四位分別顯示千位、百位、十位、個位,而高四位設(shè)置為一直是暗的,沒有任何顯示。此倒計(jì)時設(shè)計(jì)能夠通過矩陣鍵盤對倒計(jì)時器設(shè)定任何不大于9999秒的初值,同時設(shè)置有開始鍵、復(fù)位鍵,以達(dá)到可以重新設(shè)置初值的目的。方案

12、說明本設(shè)計(jì)的倒計(jì)時功能主要通過中央處理模塊SST89E516RD、鎖存器、矩陣鍵盤、LED數(shù)碼顯示器四個模塊的硬件共同實(shí)現(xiàn),具體如下圖1.1。圖1.1 倒計(jì)時器的硬件模塊本系統(tǒng)首先通過中中央處理模塊(SST89E516RD)對整個系統(tǒng)的狀態(tài)進(jìn)行判斷(如定時器、中斷等),它的輸入輸出口是雙向接口,所以要通過鎖存器來賦給不同的硬件接口不同的值。然后通過鍵盤掃描原理對鍵盤進(jìn)行掃描,返回掃描值,判斷是否有鍵按下,如果有鍵按下,判斷是哪個鍵被按下。如果是KC鍵被按下,則進(jìn)入初值設(shè)置階段,等待初值設(shè)置;如果鍵盤掃描判斷到KF鍵按下,則表示開始倒計(jì)時。所有的設(shè)置初值、等待狀況和倒計(jì)時狀態(tài)都要通過LED數(shù)碼顯

13、示器顯示出來,體現(xiàn)本倒計(jì)時系統(tǒng)的功能。由于數(shù)碼管的段選、位選和4*4的矩陣鍵盤的輸入輸出都是接到P0.0P0.3口,所以需要鎖存器來鎖存不同時刻不同模塊需要的的值。本系統(tǒng)由于數(shù)碼顯示器的8個二極管和位的選擇的狀態(tài)均由SST89E516RD的來決定,所以需要鎖存器(DM74LS573N)在需要的時候?yàn)槠滏i定相應(yīng)的值,從而使顯示器正確顯示倒計(jì)時,如果沒有鎖存器則會出現(xiàn)很多錯誤并且不能實(shí)現(xiàn)功能。同理,鎖存器SN74LS244N的功能也是一樣的,判斷矩陣鍵盤的輸出值從而判斷按下的鍵,實(shí)現(xiàn)鍵盤掃描原理的功能。系統(tǒng)功能由于本來對C語言有一定的了解,再加上C語言的簡單等優(yōu)點(diǎn),本設(shè)計(jì)采用的是C語言編程,而未采

14、用匯編語言。通過倒計(jì)時系統(tǒng)的要求,逐步寫出C語言程序。通過Keil uVision3軟件對程序進(jìn)行編譯,在確認(rèn)程序無誤的時候,將實(shí)驗(yàn)板插到電腦上(通過USB連接),進(jìn)行硬件仿真。剛上電時,LED數(shù)碼顯示器顯示系統(tǒng)默認(rèn)初值9999,并立即進(jìn)行倒計(jì)時。如果需要重新設(shè)置小于系統(tǒng)初值的其他任何初始值,這個時候可以按下KC鍵,數(shù)碼管四位清0并等待初值的設(shè)置,通過K0K9(分別表示1,29,0)設(shè)置初值。當(dāng)初值設(shè)置完成后,再按下KF鍵開始進(jìn)行倒計(jì)時。如果需要再一次設(shè)置初值的時候再次按下KC鍵,數(shù)碼管的低四位又全部清0,重新等待設(shè)置初值。第二章 MCS-51單片機(jī)基本原理2.1 MCS-51單片機(jī)的組成原理

15、單片微型計(jì)算機(jī)簡稱單片機(jī),它因?qū)⑵渲饕M成部分集成在一個芯片上而得名,就是把中央處理器 CPU、隨機(jī)存儲器RAM、只讀存儲器ROM、中斷系統(tǒng)、定時器計(jì)數(shù)器以及 IO接口電路等主要微型機(jī)部件集成在一個芯片上。雖然單片機(jī)只是一個芯片, 但從組成和功能上看,它已具有了計(jì)算機(jī)系統(tǒng)的屬性11不同型號MCS-51單片機(jī)CPU處理能力和指令系統(tǒng)完全兼容,只是存儲器和I/O接口的配置有所不同。其中8051主要包括算術(shù)/邏輯部件ALU、累加器A、只讀存儲器ROM、隨機(jī)存儲器RAM、程序計(jì)數(shù)器PC、定時器/計(jì)數(shù)器、I/O接口電路等,還有堆棧寄存器SP等部件。這些部件集成在一塊芯片上,通過內(nèi)部總線連接,構(gòu)成完整的微

16、型計(jì)算機(jī)。2.1.1 80C51芯片介紹M-1的生產(chǎn)商是tl司,最推出851片的也是Il公并作為C1的部分按原C1芯的規(guī)則命,如C、C、C1和85,樣我就能容易地認(rèn)識080C51 芯片內(nèi)部集成了 CPU、RAM、ROM、定時/計(jì)數(shù)器和I/O口等各功能部件,并由內(nèi)部總線把這些部件連接在一起。80C51單片機(jī)內(nèi)部包含以下一些功能部件:一個8位CPU;一個片內(nèi)振蕩器和時鐘電路;4KB ROM(80C51有4KB掩膜ROM,87C51有4KB EPROM,80C31片內(nèi)有無ROM);128B內(nèi)RAM;可尋址64KB的外ROM和外RAM控制電路;兩個16位定時/計(jì)數(shù)器;21個特許功能寄存器;4個8位并行

17、I/O口,共32條可編程I/O端線;一個可編程全雙工串行口;5個中斷源,可設(shè)置成2個優(yōu)先級。振蕩器及振蕩器及時序 OSC8051CPU程序存儲器4KB ROM數(shù)據(jù)存儲器256B2個16位定時器/計(jì)數(shù)器64K總線擴(kuò)展控制器可編程I/O可編程全雙工串行口圖2.1 80C51單片機(jī)功能結(jié)構(gòu)框圖2.2 MCS-51單片機(jī)的引腳功能MCS-51單片機(jī)采用40引腳的雙列直插封裝(DIP)方式。圖2.2左邊為其引腳圖,右邊為為其邏輯符號圖。在40條引腳中,有2條專用于主電源的引腳,2條外接晶體的引腳,4條控制引腳,3條I/O引腳2。圖2.2 左邊為MCS-51引腳圖,右邊為MCS-51單片機(jī)邏輯符號圖2.3

18、 中斷中斷的概念CPU在處理某一事件A時,發(fā)生了另一事件B請求CPU迅速去處理(中斷發(fā)生),CPU暫時中斷當(dāng)前的工作,轉(zhuǎn)去處理事件B(中斷響應(yīng)和中斷服務(wù)),待CPU將事件B處理完畢后,再回到原來事件A被中斷的地方繼續(xù)處理事件A(中斷返回),這一過程稱為中斷,如下圖2.7。圖2.7 中斷流程引起CPU中斷的根源,稱為中斷源。中斷源向CPU提出的中斷請求。CPU暫時中斷原來的事務(wù)A,轉(zhuǎn)去處理事件B,對事件B處理完畢后,再回到原來被中斷的地方(即斷點(diǎn)),稱為中斷返回。實(shí)現(xiàn)上述中斷功能的部件稱為中斷系統(tǒng)(中斷機(jī)構(gòu))。見下圖2.8。圖2.8 中斷系統(tǒng)2.3.2 8051中斷系統(tǒng)結(jié)構(gòu)80C51的中斷系統(tǒng)有

19、5個中斷源(8052有 6個) ,2個優(yōu)先級,可實(shí)現(xiàn)二級中斷嵌套 。4個用于中斷控制的寄存器IE、IP、TCON和SCON用于控制中斷的類型、中斷的開/關(guān)和各種中斷源的優(yōu)先級別。5個中斷源有兩個中斷優(yōu)先級,每個中斷源可以編程為高優(yōu)先級或低優(yōu)先級中斷,可以實(shí)現(xiàn)二級中斷服務(wù)程序的嵌套。8051單片機(jī)中斷系統(tǒng)的結(jié)構(gòu)如圖2.9所示。圖2.9 中斷系統(tǒng)結(jié)構(gòu)2.3.3 中斷控制(1)、中斷允許控制寄存器IE特殊功能寄存器IE為中斷允許寄存器,控制CPU對中斷系統(tǒng)所有中斷以及某個中斷源的開放和屏蔽(禁止),以及每個中斷源是否允許中斷。其格式為: EX0(IE.0):外部中斷0允許位;ET0(IE.1):定時

20、/計(jì)數(shù)器T0中斷允許位; EX1(IE.2):外部中斷0允許位;ET1(IE.3):定時/計(jì)數(shù)器T1中斷允許位;ES(IE.4):串行口中斷允許位;EA (IE.7):CPU中斷允許(總允許)位。(2)、中斷源優(yōu)先級設(shè)定寄存器IP80C51單片機(jī)有兩個中斷優(yōu)先級,即可實(shí)現(xiàn)二級中斷服務(wù)嵌套。每個中斷源的中斷優(yōu)先級都是由中斷優(yōu)先級寄存器IP中的相應(yīng)位的狀態(tài)來規(guī)定的 。PX0():外部中斷0優(yōu)先級設(shè)定位;PT0():定時/計(jì)數(shù)器T0優(yōu)先級設(shè)定位;PX1():外部中斷0優(yōu)先級設(shè)定位;PT1():定時/計(jì)數(shù)器T1優(yōu)先級設(shè)定位;PS ():串行口優(yōu)先級設(shè)定位;PT2 (IP.5) :定時/計(jì)數(shù)器T2優(yōu)先級

21、設(shè)定位。同一優(yōu)先級中的中斷申請不止一個時,則有中斷優(yōu)先權(quán)排隊(duì)問題。同一優(yōu)先級的中斷優(yōu)先權(quán)排隊(duì),由中斷系統(tǒng)硬件確定的自然優(yōu)先級形成,其排列如表2.1所示:表2.1 同優(yōu)先級中斷源等級序號序號中斷源中斷標(biāo)志優(yōu)先級順序0外部中斷0IE0最高級最低級1定時器T0中斷TF02外部中斷1IE13定時器T1中斷TF14串行口中斷RI或TI中斷響應(yīng)條件中斷源有中斷請求;此中斷源的中斷允許位為1;CPU開中斷(即EA=1)。2.4 定時器與計(jì)數(shù)器加1計(jì)數(shù)器輸入的計(jì)數(shù)脈沖有兩個來源,一個是由系統(tǒng)的時鐘振蕩器輸出脈沖經(jīng)12分頻后送來;一個是T0或T1引腳輸入的外部脈沖源。每來一個脈沖計(jì)數(shù)器加1,當(dāng)加到計(jì)數(shù)器為全1時

22、,再輸入一個脈沖就使計(jì)數(shù)器回零,且計(jì)數(shù)器的溢出使TCON中TF0或TF1置1,向CPU發(fā)出中斷請求(定時/計(jì)數(shù)器中斷允許時)。如果定時/計(jì)數(shù)器工作于定時模式,則表示定時時間已到;如果工作于計(jì)數(shù)模式,則表示計(jì)數(shù)值已滿??梢?,由溢出時計(jì)數(shù)器的值減去計(jì)數(shù)初值才是加1計(jì)數(shù)器的計(jì)數(shù)值4。二、定時器控制字1、工作方式寄存器TMOD工作方式寄存器TMOD用于設(shè)置定時/計(jì)數(shù)器的工作方式,低四位用于T0,高四位用于T1。其格式如下:各位功能如下:(1) GATE:門控位。GATE0時,只要用軟件使TCON中的TR0或TR1為1,就可以啟動定時/計(jì)數(shù)器工作;GATA1時,要用軟件使TR0或TR1為1,同時外部中斷

23、引腳或也為高電平時,才能啟動定時/計(jì)數(shù)器工作。即此時定時器的啟動多了一條件。(2) :定時/計(jì)數(shù)模式選擇位。0為定時模式;=1為計(jì)數(shù)模式。(3) M1M0:工作方式設(shè)置位。定時/計(jì)數(shù)器有四種工作方式,由M1M0進(jìn)行設(shè)置。如下表所示:表2.2 定時/計(jì)數(shù)器工作方式設(shè)置表M1M0工作方式說 明00方式013位定時/計(jì)數(shù)器01方式116位定時/計(jì)數(shù)器10方式28位自動重裝定時/計(jì)數(shù)器11方式3T0分成兩個獨(dú)立的8位定時/計(jì)數(shù)器;T1此方式停止計(jì)數(shù)2、控制寄存器TCONTCON的低4位用于控制外部中斷,已在前面介紹。TCON的高4位用于控制定時/計(jì)數(shù)器的啟動和中斷申請。其格式如下:TOCN各位功能如下

24、:TF1():T1溢出中斷請求標(biāo)志位。T1計(jì)數(shù)溢出時由硬件自動置TF1為1。CPU響應(yīng)中斷后TF1由硬件自動清0。T1工作時,CPU可隨時查詢TF1的狀態(tài)。所以,TF1可用作查詢測試的標(biāo)志。TF1也可以用軟件置1或清0,同硬件置1或清0的效果一樣。TR1():T1運(yùn)行控制位。TR1置1時,T1開始工作;TR1置0時,T1停止工作。TR1由軟件置1或清0。所以,用軟件可控制定時/計(jì)數(shù)器的啟動與停止。TF0():T0溢出中斷請求標(biāo)志位,其功能與TF1類同。TR0():T0運(yùn)行控制位,其功能與TR1類同。第三章 倒計(jì)時器系統(tǒng)設(shè)計(jì)與調(diào)試3.1 硬件電路設(shè)計(jì)最小系統(tǒng)是片機(jī)在發(fā)揮具體測控功能時所必須的組成

25、部分5。倒計(jì)時器由單片機(jī)的最小系統(tǒng)就可以構(gòu)成,單片機(jī)的最小硬件系統(tǒng)即倒計(jì)時器的硬件系統(tǒng)如圖3.1所示。圖3.1 單片機(jī)的最小系統(tǒng)這次設(shè)計(jì)的倒計(jì)時系統(tǒng)的硬件電路設(shè)計(jì)主要由中央處理模塊、矩陣鍵盤、鎖存器、LED數(shù)碼顯示器四個模塊組成,再加上一些基本元器件實(shí)現(xiàn)倒計(jì)時的功能。其中不同的模塊根據(jù)自己的的特點(diǎn)實(shí)現(xiàn)不同的功能,在整個系統(tǒng)中都起到了不可替代的作用。它們相輔相成,如果缺少任何一個模塊或者任何一個元器件,都不可能完成本次設(shè)計(jì)。根據(jù)系統(tǒng)的需求可劃分為以下4個部分。中央處理器模塊3.2.1 SST89E516RD芯片圖3.2是中央處理器(SST89E516RD)在本設(shè)計(jì)中的引腳圖,其功能和前面介紹的M

26、CS-51的功能基本一樣。其中本次設(shè)計(jì)P0P3口用到的是口(作為輸入輸出口)、P1口的口(分別是鎖存器的使能端,從而控制著鎖存器的應(yīng)用)、左邊的一個復(fù)位系統(tǒng)等等,各個引腳都實(shí)現(xiàn)了其應(yīng)有的價值,從而實(shí)現(xiàn)倒計(jì)時系統(tǒng)的功能。分別命名為D0D7,由于是雙向口,即在作為輸入口的同時還可以作為輸出口,不過要通過不同的鎖存器與不同的器件相連接,通過程序?qū)崿F(xiàn)各種功能。圖3.2 中央處理器(SST89E516RD)引腳圖本次設(shè)計(jì)通過中央處理模塊(SST89E516RD)對各個接口進(jìn)行賦初值,并確定定時器、工作方式、中斷等等,以下是詳細(xì)介紹:本電路應(yīng)用定時器0方式1工作方式,該方式是一個16 位計(jì)數(shù)器的計(jì)時中斷法

27、。所以工作方式寄存器TMOD的M1M0兩位為01。設(shè)置定時器模式時,加1計(jì)數(shù)器是對內(nèi)部機(jī)器周期計(jì)數(shù)(1個機(jī)器周期等于12個振蕩周期,即計(jì)數(shù)頻率為晶振頻率的1/12)。比如,12M的晶振每秒可產(chǎn)生1M的機(jī)器周期1,50ms就是50000個機(jī)器周期,定時器0工作方式1工作,計(jì)數(shù)長度為=65536個外部脈沖,65536-50000周期=初值15536,從15536開始計(jì)數(shù),總共累加50000次計(jì)數(shù)器產(chǎn)生一次溢出,所以定時器的高八位和低八位TH0和TL0的值為:TH0 = (65536-TIME)/256;TL0 = (65536-TIME)%256;其中TIME=50000;其中TL0是低八位當(dāng)達(dá)到

28、256的時候,向高八位進(jìn)1,然后低八位重新計(jì)數(shù),所以高八位對差值求整,低八位對差值求余。由于采用的是定時器0所以TMOD的高四位為0000;選通控制只要用軟件使TR0就啟動了定時器,所以門控位GATE為0;表示設(shè)置為定時方式。所以工作方式TMOD=0000 0001H=0X01H。3.2.2 單片機(jī)的復(fù)位電路設(shè)計(jì)復(fù)位電路產(chǎn)生復(fù)位信號,復(fù)位信號送入 RST 后還要送至片內(nèi)的施密特觸發(fā)器,由片內(nèi)復(fù)位電路在每個機(jī)器周器的S5P2 時刻對觸發(fā)器輸出采樣信號,然后由內(nèi)部復(fù)位電路產(chǎn)生復(fù)位操作所要的信號11。一般的復(fù)位電路可分為上電自動復(fù)位和按鍵復(fù)位,在本次設(shè)計(jì)中選用的是按鍵復(fù)位。單片機(jī)的第九腳RES為硬件

29、復(fù)位端,只要將該端持續(xù)4個機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài),其電路圖如上圖3-2所示。圖中由按鍵RESET以及電解電容C3構(gòu)成了復(fù)位電路。由于單片機(jī)是高電平復(fù)位,所以當(dāng)按下RESET時,單片機(jī)的9腳RESET管腳處于高電平,此時單片機(jī)處于復(fù)位狀態(tài)。當(dāng)上電后,由于電容緩慢充電,單片機(jī)的9腳電壓逐步由高向低轉(zhuǎn)化,經(jīng)過一段時間后,單片機(jī)的9腳處于穩(wěn)定的低電平狀態(tài),此時單片機(jī)上復(fù)位完畢,系統(tǒng)程序從0000H開始執(zhí)行。值得注意的是,在設(shè)計(jì)當(dāng)中使用到了硬件復(fù)位和軟件復(fù)位兩種功能,由上面的硬件復(fù)位后的各狀態(tài)可知寄存器及存儲器的值都恢復(fù)到了初始值。鎖存器鎖存器(Latch)

30、是一種對脈沖電平敏感的存儲單元電路,它們可以在特定輸入脈沖電平作用下改變狀態(tài)。只有在有鎖存信號時輸入的狀態(tài)被保存到輸出,直到下一個鎖存信號。通常只有0和1兩個值。在本次設(shè)計(jì)中,芯片SST89E516RD通過鎖存器DM74LS573N(當(dāng)鎖存端LE與相接時)與LED數(shù)碼管的段相接時,對數(shù)碼管的段進(jìn)行控制(當(dāng)SEG7SEG0=0111 1001時,如果選擇第一位數(shù)碼管亮的話,應(yīng)該顯示數(shù)字E)。當(dāng)段選鎖存器使能端LE=1(高電平)時,打開鎖存器,此時SEG0SEG7的值分別等于D0D7(即)的值,然后將使能端LE置為低電平,此時便將SEG0SEG7的值鎖定為剛才的值,不再隨著D0D7值的變而改變。同

31、理,芯片SST89E516RD通過鎖存器DM74LS573N(當(dāng)鎖存端LE與相接時)與LED數(shù)碼管的位相接時,控制數(shù)碼管的位進(jìn)行控制(當(dāng)DIG7DIG0=0111 1101時,此時則表示選擇第二位數(shù)碼管顯示數(shù)據(jù)),確定是哪一位數(shù)碼管顯示數(shù)據(jù)。其中當(dāng)鎖存器使能端LE與相連時的原理圖見圖3.3,當(dāng)LE與相連的時候原理圖基本一致。圖3.3 DM74LS573N使能端LE與相連時的原理圖而鎖存器SN74LS244N所完成的功能是配合完成鍵盤掃描原理。如圖3-4所示,鎖存器的是鎖存器的使能端,本設(shè)計(jì)是將與相連。當(dāng)時,表示打開該鎖存器,此時鎖存器的輸入值等于輸出值(即A1A4的值等于D0D3的值);當(dāng)時,

32、表示關(guān)閉該鎖存器,此時鎖存器的輸出端的值不再隨輸入端值的改變而改變,完成一次操作。圖3.4 SN74LS244N使能端與相連時的原理圖3.4 矩陣鍵盤矩陣鍵盤又稱為行列鍵盤,它是用四條I/O線作為行線,四條I/O線作為列線組成的鍵盤。在行線和列線的每個交叉點(diǎn)上設(shè)置一個按鍵。這樣鍵盤上按鍵的個數(shù)就為個。這種行列式鍵盤結(jié)構(gòu)能有效地提高單片機(jī)系統(tǒng)中I/O口的利用率,從而節(jié)約系統(tǒng)資源12。圖3.5 實(shí)驗(yàn)板鍵盤布局實(shí)驗(yàn)板的鍵盤布局如圖3.5所示,本次倒計(jì)時系統(tǒng)的設(shè)計(jì)一共用到了09號、C號、F號共12個按鍵。其中:09號鍵其中08號鍵分別代表數(shù)字19,9號鍵代表數(shù)字0,這10個鍵用來設(shè)置初值,鍵盤代號為K

33、0K9。C號鍵等待初值設(shè)置鍵,即無論在任何倒計(jì)時的過程中,若按下改建,則數(shù)碼顯示器四位清0,等待設(shè)置初值,鍵盤代號為KC。F號鍵開始鍵,即當(dāng)初值設(shè)置后,按下該鍵,則開始減1倒計(jì)時,鍵盤代號為KF。本設(shè)計(jì)實(shí)驗(yàn)板的4*4矩陣鍵盤的內(nèi)部電路如圖3.6示,矩陣鍵盤的行線直接與DIG0DIG3口相連接,列線A1A4是通過鎖存器SN74LS244N的輸出口Y1Y4與芯片SST89E516RD的P0.0P0.3(即D0D3)口相連,通過鎖存器的控制實(shí)現(xiàn)矩陣鍵盤掃描原理。圖3.6 本設(shè)計(jì)的矩陣鍵盤圖當(dāng)無按鍵閉合時,A1A4與DIG0DIG3之間開路。當(dāng)有鍵閉合時,與閉合鍵相連的兩條I/O口線之間短路。判斷有無

34、按鍵按下的方法是:掃描第一行:置行線DIG3DIG0輸入為1110,觀察列線輸出數(shù)據(jù)A4A1的值,如果輸出的A4A1為1110,則表示K0鍵被按下,如果值為1101,則表示K1鍵被按下,這樣即確定了第一行是否有鍵按下。用掃描第一行的的方法進(jìn)行逐行掃描,確定16個按鍵哪些鍵被按下,每次掃描出現(xiàn)按下的鍵的時候,返回掃描值,完成相應(yīng)的操作和顯示。雖然綜合一二兩步的結(jié)果,可確定按鍵編號。但是鍵閉合一次只能進(jìn)行一次鍵功能操作,因此須等到按鍵釋放后,再進(jìn)行鍵功能操作,否則按一次鍵,有可能會連續(xù)多次進(jìn)行同樣的鍵操作。3.5 LED數(shù)碼顯示模塊單片機(jī)系統(tǒng)中常用的顯示器有:發(fā)光二極管LED(Light Emit

35、ting Diode)顯示器、液晶LCD(Liquid Crystal Display)顯示器、CRT顯示器等。LED、LCD顯示器有兩種顯示結(jié)構(gòu):段顯示(7段、米字型等)和點(diǎn)陣顯示(58、88點(diǎn)陣等)。3.5.1 LED 數(shù)碼顯示器的結(jié)構(gòu)LED 數(shù)碼顯示器是一種有 LED 發(fā)光二極管組合顯示字符的顯示器件。它使用了 8 個 LED 發(fā)光二極管,其中 7 個用于顯示字符,剩下的一個用于顯示小數(shù)點(diǎn),故通常稱之為 7 段發(fā)光二極管數(shù)碼器。在數(shù)碼管中,若將二極管的陽極連在一起,稱為共陽極數(shù)碼管;若將二極管的陰極連在一起,稱為共陰極數(shù)碼管。如圖3.7所示。圖3.7 (a)為a到g在數(shù)碼管的編排,(b)

36、分別為共陰極、共陽極電路當(dāng)發(fā)光二極管導(dǎo)通時,它就會發(fā)光。每個二極管就是一個筆畫,若干個二極管發(fā)光時,就構(gòu)成了一個顯示字符。若將單片機(jī)的I/O口與數(shù)碼管的ag及h相連,高電平的位對應(yīng)的發(fā)光二極管亮,即I/O輸出不同的代碼,就可以控制數(shù)碼管顯示不同的字符。例如:當(dāng)I/O輸出得代碼為0011 1111時,數(shù)碼管顯示的字符為0。這樣形成的顯示字符的代碼稱為顯示代碼或者段選碼。本次設(shè)計(jì)的實(shí)驗(yàn)板用的共陰LED顯示器,根據(jù)電路連接圖16進(jìn)制數(shù)字的顯示代碼如表3.1所示2。表3.1 16進(jìn)制數(shù)字的顯示代碼16進(jìn)制hgfedcba顯示代碼0001111113FH10000011006H2010110115BH3

37、010011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH9011011116FHA0111011177HB011111007CHC0011100139HD010111105EHE0111100179HF0111000171H.1000000080H3.5.2 LED數(shù)碼管顯示方式LED顯示器工作方式有兩種:靜態(tài)顯示方式和動態(tài)顯示方式。靜態(tài)顯示的特點(diǎn)是每個數(shù)碼管的段選必須接一個8位數(shù)據(jù)線來保持顯示的字形碼。當(dāng)送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優(yōu)點(diǎn)是占用CPU時間少,顯示便于監(jiān)

38、測和控制。缺點(diǎn)是硬件電路比較復(fù)雜,成本較高。本次設(shè)計(jì)采用的是動態(tài)顯示方式。動態(tài)顯示的特點(diǎn)是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。選亮數(shù)碼管采用動態(tài)掃描顯示。所謂動態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時都在顯示。動態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時應(yīng)略小于靜態(tài)顯示電路中的。 3.6 軟件設(shè)計(jì)倒計(jì)時器的設(shè)計(jì)時可采用模塊化程序設(shè)計(jì)的方法,模塊化程序設(shè)計(jì)時應(yīng)注意以下事項(xiàng):首先,每個模塊應(yīng)具有獨(dú)立的功能,能產(chǎn)生一個明確的結(jié)果;其次,模塊之間的控制參數(shù)應(yīng)盡量簡單,數(shù)據(jù)參數(shù)應(yīng)該盡量少。

39、控制參數(shù)是指模塊進(jìn)入和退出的條件和方式,數(shù)據(jù)參數(shù)是指模塊間的信息交換方式、交換量的多少及交換的頻繁程度。最后,模塊長度適中。模塊語句長度通常在20100條適合。如果模塊太長時,分析和調(diào)試比較困難,失去了模塊化程序的功能性;如果模塊太短則信息交換太頻繁,也不合適16。由以上原則,本次設(shè)計(jì)的倒計(jì)時軟件系統(tǒng)如下圖3.8所示:圖3.8 倒計(jì)時設(shè)計(jì)軟件框圖由上述硬件電路分析可知,本次設(shè)計(jì)采用的是定時器0、工作方式1,MAXTIME為9999秒的倒計(jì)時計(jì)數(shù)器。其中最重要的就是主程序的設(shè)計(jì),因?yàn)闊o論多少個子程序模塊,如果主程序沒有能夠合理正確的調(diào)用子程序的話,那么子程序就如同虛設(shè)。主程序的設(shè)計(jì)分為:主程序的

40、初始化內(nèi)容。所謂初始化,就是對用到的單片機(jī)內(nèi)部部件或者擴(kuò)展芯片進(jìn)行工作狀態(tài)設(shè)定,本設(shè)計(jì)調(diào)用了一個初始化的子程序init()。引入鍵盤掃描程序,對按鍵key進(jìn)行判斷,判斷哪個按鍵被按下,本系統(tǒng)設(shè)計(jì)調(diào)用的鍵盤掃描程序是keyscan()。然后對返回值進(jìn)行判斷:若key=0 x18,則表示按下的鍵是KC(設(shè)置初值鍵)。然后關(guān)定時器0,等待初值并與最大值相比進(jìn)行判斷,引入初值設(shè)置子程序set-func()。若key=0 x88,則表示按下的鍵是KF,開始計(jì)數(shù)。調(diào)用顯示子程序display()對以上操作和后面的倒計(jì)時進(jìn)行顯示。display()對倒計(jì)時在數(shù)碼管上顯示出來,引入中斷子程序,根據(jù)中斷子程序和

41、主程序的語句開始進(jìn)行倒計(jì)時。最后,根據(jù)主程序語句判斷倒計(jì)時是否自減到0,并進(jìn)行相應(yīng)的操作。主程序流程圖如圖3.9所示。圖3.9 主程序流程圖3.6.1 程序準(zhǔn)備通過程序開始的賦初值和主程序的賦初值函數(shù)init()對系統(tǒng)進(jìn)行賦值:TMOD = 0 x01;TH0 = (65536-TIME)/256;TL0 = (65536-TIME)%256; /設(shè)置初值ET0 = 1; /允許T0中斷EA = 1; /開總中斷TR0 = 1; /開定時器T0由前面可知工作方式寄存器TMOD的值和TH0、TL0的值,ET0是T0溢出中斷允許位,所以ET0=1表示允許T0中斷;要引入中斷,所以必須開總中斷,所以

42、EA=1;TR0是T0定時器運(yùn)行控制位,置1表示啟動T0。3.6.2 鍵盤掃描程序設(shè)計(jì)矩陣鍵盤的掃描程序keyscan()設(shè)計(jì):if(P0&0 x0f)!=0 x0f) /判斷是否有有鍵按下delay(1);if(P0&0 x0f)!=0 x0f) /再次判斷列中是否是干擾信號,不是則向下執(zhí)行sccode = 0 xfe; /逐行掃描初值(即先掃描第1行)while(sccode&0 x10)!=0) /行掃描完成時(即4行已經(jīng)全部掃描完成)sccode為1110 1111停止while首先,根據(jù)列判斷是否有鍵按下,沒有返回則為0。若有值返回,則逐行掃描以確定按鍵所在的行,再確定按鍵所在列,從

43、而最終確定該按鍵。其次,若有鍵按下,則延時去建抖動(delay(1);),然后進(jìn)行掃描,找到閉合鍵并計(jì)算鍵值。最后,返回鍵值,并進(jìn)行判斷,建立有效標(biāo)志,以對主程序的進(jìn)行。流程圖見圖3.1014所示。圖3.10 鍵盤掃描程序3.6.3 倒計(jì)時初值設(shè)置倒計(jì)時初值設(shè)置程序中重要語句:case 0 x11: /1-K0temp = temp*10 + 1;break;通過鍵盤掃描的返回值,確定即將執(zhí)行的狀態(tài)。若返回值為0 x18,則表示按下的鍵為KC,由前面闡述可知,此時數(shù)碼管四位清0,等待設(shè)置初值。同時,通過返回值也可以確定倒計(jì)時系統(tǒng)的初值,比如,返回值為0 x11,則表示按下的鍵為K0,K0鍵表示

44、數(shù)字1,則數(shù)碼管顯示數(shù)字1。同理,若返回值為0 x21,則表示按下的鍵為K1,代表的值為2。但是由于之前,所以此時,則顯示12完成初值設(shè)置,數(shù)碼管上顯示已設(shè)置好的初值。此時若返回值為0 x88,則按下的位開始鍵KF,此時開始進(jìn)行減1倒計(jì)時。3.7 倒計(jì)時模塊子程序設(shè)計(jì)中斷程序:void timer0() interrupt 1TH0 = (65536-TIME)/256; /50ms產(chǎn)生一次中斷TL0 = (65536-TIME)%256;count+;倒計(jì)時程序模塊:if(count = 20)count = 0;data_set-; if(data_set = 0)stop_timer0(

45、); 倒計(jì)時模塊設(shè)計(jì):首先,初值設(shè)置。對計(jì)數(shù)值count賦初值0,對定時器0的高八位TH0和低八位TL0設(shè)置初值,然后開中斷。其次,根據(jù)中斷子程序及初值,50ms產(chǎn)生一次中斷,計(jì)數(shù)器則加1,當(dāng)計(jì)數(shù)器count加到20的時候,倒計(jì)時器減1,并且count清0依次循環(huán)程序。判斷值是否為0,如果不為0,繼續(xù)倒計(jì)時;如果為0,則關(guān)中斷程序stop-timer0(),倒計(jì)時結(jié)束。倒計(jì)時模塊設(shè)計(jì)流程圖如圖3.11所示。 圖3.11 倒計(jì)時流程圖3.8 其他子程序設(shè)計(jì)本次設(shè)計(jì)的倒計(jì)時系統(tǒng),除了上述的子程序外,還有顯示子程序、延時子程序delay()、鎖存器的正確控制等。其中顯示子程序display()的編寫

46、很簡單,以下語句實(shí)現(xiàn)了顯示的四位數(shù)字:led_data3 = Data/1000;led_data2 = (Data/100)%10;led_data1 = (Data/10)%10;led_data0 = Data%10; /將四位數(shù)字分別賦給led_data3 led_data0temp = 0 xfe;for(i=0;i4;i+)P0 = tableled_datai;LEDS = 0;temp = (temp1)+0 x01;delay(5); 首先將初值的四位通過程序分別賦給led_data3 led_data0,然后通過for語句的調(diào)用將四位數(shù)字在數(shù)碼管上呈現(xiàn)出來。比如,當(dāng)i=0時

47、,通過前面的數(shù)組定義可知,P0= tableData%10,顯示個位。然后通過temp = (temp1)+0 x01語句可知,接下來顯示十位每個子程序在主程序的調(diào)用過程中完成不同的功能,從而使主程序能夠順利的執(zhí)行,以順利完成9999秒的倒計(jì)時器的設(shè)計(jì)。結(jié) 論通過對MCS-51單片機(jī)原理和接口技術(shù)的初步了解,結(jié)合自己的專業(yè)知識和對C語言的基本認(rèn)識,在導(dǎo)師的幫助指導(dǎo)下完成了基于單片機(jī)控制的9999秒倒計(jì)時系統(tǒng)的設(shè)計(jì)和這篇論文,本論文完成了以下幾個方面的工作:介紹了本次倒計(jì)時系統(tǒng)的設(shè)計(jì)目的、設(shè)計(jì)方案和開發(fā)意義。對MCS-51單片機(jī)的部分基本原理和接口技術(shù)進(jìn)行了闡述,其中大部分都是本次設(shè)計(jì)需要用到,

48、比如中斷原理、定時器等;首先介紹了本次倒計(jì)時系統(tǒng)設(shè)計(jì)的硬件電路設(shè)計(jì),包括中央處理模塊、LED數(shù)碼顯示器模塊、鎖存器模塊、矩陣鍵盤模塊的設(shè)計(jì);其次是軟件程序設(shè)計(jì),包括主程序設(shè)計(jì)和各個模塊的子程序設(shè)計(jì);最后是Keil uVision3軟件系統(tǒng)調(diào)試的步驟和方法,以完成系統(tǒng)設(shè)計(jì)。系統(tǒng)功能:一切就緒后,通過KC鍵等待初值設(shè)置,其次通過矩陣鍵盤設(shè)定任何小于9999的初值,然后通過KF鍵開始倒計(jì)時,同時設(shè)置有復(fù)位鍵,以達(dá)到可以重新設(shè)置初值的目的。通過本次設(shè)計(jì),使我在對單片機(jī)一無所知的情況下了解了單片機(jī)的部分原理和一些簡單的設(shè)計(jì),同時,也增強(qiáng)了對單片機(jī)的興趣。但是由于本次設(shè)計(jì)我對單片機(jī)是從頭開始學(xué),對知識了解

49、的局限性,使得這個倒計(jì)時系統(tǒng)在功能上不完善,對開發(fā)有一定的影響,懇請各位老師原諒!致 謝在本次畢業(yè)設(shè)計(jì)過程中,我學(xué)到了很多東西,也接觸到了一些以前沒有遇到過的問題,在不停的解決問題的時候真是受益頗多!在這里,我首先要感謝我尊敬的張永超導(dǎo)師,在畢業(yè)設(shè)計(jì)的這2個多月的時間里,從設(shè)計(jì)選題到整個論文的完成,無不凝聚著張老師的汗水與心血。張老師要指導(dǎo)很多同學(xué)的畢業(yè)設(shè)計(jì),加上本來教學(xué)任務(wù)和科研項(xiàng)目,無論他工作量有多大,可總是還在百忙之中抽出大量的時間來指導(dǎo)我們。無論何時我們有疑問,他總是抽出時間為我們解答。他身上散發(fā)出淵博的專業(yè)知識,精益求精的工作作風(fēng),寬以待人的崇高風(fēng)范,將成為我以后再社會上工作、學(xué)習(xí)的

50、榜樣。在我的畢業(yè)設(shè)計(jì)論文期間,老師為我提供了各種專業(yè)知識上的指導(dǎo),他時常關(guān)注我的進(jìn)展情況,給出一些創(chuàng)造性的建議。如果沒有張老師幫助和關(guān)懷,我不會這么順利的完成畢業(yè)設(shè)計(jì)和論文寫作。在此我要再一次向我的導(dǎo)師張永超老師表示深深的感謝和崇高的敬意,謝謝您!在整個設(shè)計(jì)和論文的寫作過程中,張永超老師給了我很多論文寫作的建議和意見,我的很多和朋友們幫著查資料、一起討論問題也給我?guī)砹撕芏鄮椭艿搅撕艽蟮膯l(fā)。在他們的幫助下,我才順利的完成了畢業(yè)設(shè)計(jì)和論文寫作。最后,我要特別的感謝我的家人對我無時無刻的支持和關(guān)懷,讓我不斷的走向成功,不斷的去實(shí)現(xiàn)人生的價值!參考文獻(xiàn)郭天祥.51單片機(jī)視頻教程.馬家辰. 孫玉

51、德. 張穎. MCS51單片機(jī)原理及接口技術(shù)(修訂版)哈爾濱工業(yè)大學(xué)出版社2004李光飛. 樓然苗. 胡佳文. 謝象佐. 單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo). 北京航空航天大學(xué)出版社. 2004張培仁. 張志堅(jiān). 高修峰. 十六位單片微處理器原理及應(yīng)用(凌陽SPCE061A). 清華大學(xué)出版社. 2005李廣第 單片機(jī)基礎(chǔ) 第1版北京:北京航空航天大學(xué)出版社,1999石東新. 溫淑鴻. 單片機(jī)原理與應(yīng)用實(shí)驗(yàn)指導(dǎo)書. 中國傳媒大學(xué). 信息工程學(xué)院魯云飛. 任志祿等. 51單片機(jī)在全自動倒計(jì)時控制器中的應(yīng)用. 沈陽建筑工程學(xué)院學(xué)報(自然科學(xué)版). 2002年1月第18卷第1期PDF文檔. 單片機(jī)開發(fā)與典型運(yùn)用

52、設(shè)計(jì)郭天祥. PPT. 十天學(xué)會單片機(jī)和C語言何立民從Cygnal 80C51F看8位單片機(jī)發(fā)展之路 單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2002年,第5張志良編著.單片機(jī)原理與控制技術(shù).第2版. 機(jī)械工業(yè)出版社貴國慶. 單片機(jī)學(xué)習(xí)開發(fā)系統(tǒng)應(yīng)用之三4*4矩陣鍵盤的工作原理與編程.山西太原劉定良. 用AT89C2051設(shè)計(jì)的秒倒計(jì)時器. 長沙民政職業(yè)技術(shù)學(xué)院學(xué)報. 第12卷第1期. 2005劉文奇. 基于單片機(jī)的電子倒計(jì)時器設(shè)計(jì). 重慶電子工程職業(yè)學(xué)院. 2009附錄源程序#include #define uint unsigned int#define uchar unsigned char#define

53、 TIME 50000#define INIT_TIME 9999#define MAXTIME 9999sbit LEDS = P10; /段選sbit LEDD = P11; /位選sbit END = P12;sbit KEY = P13; /開關(guān)使能選擇uchar code table = 0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;uchar count = 0;void delay(uint z) /延時子程序uint x,y;for(x=z;x0;x-)for(y=110;y0;y-); /延時1msuchar keyscan() /鍵盤掃描子程序uchar sccode,recode; /sccode行,recode列P0 = 0 x00;LEDS = 1;LEDS = 0; /一個燈都不亮LEDD = 1;P0 = 0 xf0;LEDD = 0; /選擇a0a3四

溫馨提示

  • 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

提交評論