




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、三門峽職業(yè)技術學院??粕厴I(yè)設計(論文)題目:基于at89c51單片機的數(shù)字鐘設計 院 校: 三門峽職業(yè)技術學院 系 部: 信 息 工 程 系 專 業(yè): 計算機應用技術 (嵌入式方向)姓 名: 學 號: 指導老師: 日 期: 摘 要近年來隨著計算機在社會領域的滲透和大規(guī)模集成電路的發(fā)展,單片機的應用正在不斷地走向深入,由于它具有功能強,體積小,功耗低,價格便宜,工作可靠,使用方便等特點,因此特別適合于與控制有關的系統(tǒng),越來越廣泛地應用于自動控制,智能化儀器,儀表,數(shù)據(jù)采集,軍工產(chǎn)品以及家用電器等各個領域,單片機往往是作為一個核心部件來使用,在根據(jù)具體硬件結構,以及針對具體應用對象特點的軟件結合
2、,以作完善。本次設計中以單片機的發(fā)展過程和發(fā)展方向為背景,介紹了單片機的輸入輸出的工作原理和操作方法,中斷的工作原理和操作方法,74ls245譯碼器的工作原理和與,led連接的方法。本次做的數(shù)字鐘是以單片機(at89c51)為核心,結合相關的元器件(共陰極led數(shù)碼顯示器、bcd-鎖存/7段譯碼/驅(qū)動器74ls245等),再配以相應的軟件,是它具有時,分,秒顯示的功能,并且時,分,秒還可以調(diào)整。此次設計電子數(shù)字鐘是為了了解電子數(shù)字鐘的原理,從而學會制作電子數(shù)字鐘。而且通過電子數(shù)字鐘的制作進一步的了解各種在制作中用到的中小規(guī)模集成電路的作用及實用方法。通過它可以進一步學習與掌握單片機原理與使用方
3、法。關鍵詞:單片機;at89c51;共陰極led數(shù)碼顯示器;74ls245譯碼器目錄摘 要2目錄3第一章 數(shù)電字子鐘的背景、意義、應用4第二章 單片機制作數(shù)字鐘的原理52.1 主芯片8051的硬件資源52.1.1單片機的概念52.1.2 8051的芯片引腳62.1.3 使用i/o口的注意事項82.2 8051中斷系統(tǒng)92.2.1 中斷源92.2.2 中斷的控制102.2.3 中斷響應112.3 單片機定時/計數(shù)器在數(shù)字鐘的使用112.3.1與t/c有關的特殊功能寄存器122.3.2 定時器/計數(shù)器的初始化13第三章系統(tǒng)硬件電路的設計143.1 單片機的基本結構143.2 74ls245 引腳圖
4、及功能:163.4硬件電路的設計原則18第四章軟件程序的設計204.1 軟件程序內(nèi)容204.2 軟件流程圖214.2.1 系統(tǒng)軟件設計流程圖214.3 定時程序設計244.3.1實時時鐘實現(xiàn)的基本方法:244.3.2 實時時鐘程序設計步驟:24第5章 結論與展望255.1 結論255.2 單片機的發(fā)展趨勢26附錄:27參考文獻33第一章 數(shù)電字子鐘的背景、意義、應用 20世紀末,電子技術獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。 時間對人們來說總是那么
5、寶貴,工作的忙碌性和繁雜性容易使人忘記當前的時間。忘記了要做的事情,當事情不是很重要的時候,這種遺忘無傷大雅。但是,一旦重要事情,一時的耽誤可能釀成大禍。目前,單片機正朝著高性能和多品種方向發(fā)展趨勢將是進一步向著cmos化、低功耗、小體積、大容量、高性能、低價格和外圍電路內(nèi)裝化等幾個方面發(fā)展。下面是單片機的主要發(fā)展趨勢。單片機應用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設計思想和設計方法。從前必須由模擬電路或數(shù)字電路實現(xiàn)的大部分功能,現(xiàn)在已能用單片機通過軟件方法來實現(xiàn)了。這種軟件代替硬件的控制技術也稱為微控制技術,是傳統(tǒng)控制技術的一次革命。單片機模塊中最常見的是數(shù)字鐘,數(shù)字鐘是一種用數(shù)
6、字電路技術實現(xiàn)時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。數(shù)字鐘是采用數(shù)字電路實現(xiàn)對.時,分,秒.數(shù)字顯示的計時裝置,廣泛用于個人家庭,車站, 碼頭辦公室等公共場所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應用,使得數(shù)字鐘的精度,遠遠超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關烘箱、通斷動力設備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)
7、字化為基礎的。因此,研究數(shù)字鐘及擴大其應用,有著非?,F(xiàn)實的意義。 數(shù)字鐘已成為人們?nèi)粘I钪校罕夭豢缮俚谋匦杵?,廣泛用于個人家庭以及車站、碼頭、劇場、辦公室等公共場所,給人們的生活、學習、工作、娛樂帶來極大的方便。由于數(shù)字集成電路技術的發(fā)展和采用了先進的石英技術,使數(shù)字鐘具有走時準確、性能穩(wěn)定、攜帶方便等優(yōu)點,它還用于計時自動報時及自動控制的領域。第二章 單片機制作數(shù)字鐘的原理以8051為主芯片制作多功能數(shù)字鐘的方案中,時鐘信號主要由8051單片機的定時器/計數(shù)器來提供,對時間進行設置和進行鬧鈴設置主要用到單片機的外部中斷。外部控制電路及顯示電路都用到了他的i/o口,在本章我們主要介紹一下關于
8、8051單片機定時器/計數(shù)器、中斷源及中斷系統(tǒng)以及8051的i/o口的特性及應用2.1 主芯片8051的硬件資源2.1.1單片機的概念單片機(microcontroller,又稱微控制器)是在一塊硅片上集成了各種部件的微型計算機。這些部件包括中央處理器cpu、數(shù)據(jù)存儲器ram、程序存儲器rom、定時器/計數(shù)器和多種i/o接口電路。圖1-1是8051單片機的基本結構圖8051單片機的結構特點有以下幾點: 8位cpu; 片內(nèi)振蕩器及時鐘電路; 32根i/o線; 外部存儲器rom和ram,尋址范圍各64kb; 兩個16位的定時器/計數(shù)器; 5個中斷源,2個中斷優(yōu)先級 全雙工串行口 布爾處理器2.定時
9、器/計數(shù)器8051內(nèi)部有兩個16位可編程定時器/計數(shù)器,記為t0和t1。16位是指他們都是由16個觸發(fā)器構成,故最大計數(shù)模值為2-1??删幊淌侵杆麄兊墓ぷ鞣绞接芍噶顏碓O定,或者當計數(shù)器來用,或者當定時起來用,并且計數(shù)(定時)的范圍也可以由指令來設置。這種控制功能是通過定時器方式控制寄存器tmod來完成的如果需要,定時器在計到規(guī)定的定時值是可以向cpu發(fā)出中斷申請,從而完成某種定式的控制功能。在計數(shù)狀態(tài)下同樣也可以申請中斷。定時器控制寄存器tcon用來負責定時器的啟動、停止以及中斷管理在定時工作時,時鐘由單片機內(nèi)部提供,即系統(tǒng)時鐘經(jīng)過12分頻后作為定時器的時鐘。技術工作時,時鐘脈沖由to和t1輸
10、入3.中斷系統(tǒng)8051的中斷系統(tǒng)允許接受五個獨立的中斷源,即兩個外部中斷申請,兩個定時器/計數(shù)器中斷以及一個串行口中斷。外部中斷申請通過into和int1(即p3.2和p3.3)輸入,輸入方式可以使電平觸發(fā)(低電平有效),也可以使邊沿觸發(fā)(下降沿有效)。兩個定時器中斷請求是當定時器溢出時向cpu提出的,即當定時器由狀態(tài)1轉(zhuǎn)為全零時提出的。第五個中斷請求是由串行口發(fā)出的,串行口每發(fā)送完一個數(shù)據(jù)或接收完一個數(shù)據(jù),就可提出一次中斷請求2.1.2 8051的芯片引腳如圖1-2所示vcc:供電電壓。gnd:接地。p0口:p0口為一個8位漏極開路雙向i/o口,每腳可吸收8ttl門電流。當p1口的管腳第一次
11、寫1時,被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時,p0 口作為原碼輸入口,當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門電流,當p2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且
12、作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗時接收高八位地址信號和控制信號。p3口:p3口管腳是8個帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。p3口也可作為at89c51的一些
13、特殊功能口,如下表所示:p3.0 rxd(串行輸入口)p3.1 txd(串行輸出口)p3.2 /int0(外部中斷0)p3.3 /int1(外部中斷1)p3.4 t0(記時器0外部輸入)p3.5 t1(記時器1外部輸入)p3.6 /wr(外部數(shù)據(jù)存儲器寫選通)p3.7 /rd(外部數(shù)據(jù)存儲器讀選通)p3口同時為閃爍編程和編程校驗接收一些控制信號。rst:復位輸入。當振蕩器復位器件時,要保持rst腳兩個機器周期的高電平時間。ale/prog:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信
14、號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時, ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。/psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/psen有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/psen信號將不出現(xiàn)。/ea/vpp:當/ea保持低電平時,則在此期間外部程序存儲器(0000h-ffffh),不管是否有內(nèi)部程序存儲器。
15、注意加密方式1時,/ea將內(nèi)部鎖定為reset;當/ea端保持高電平時,此間內(nèi)部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。xtal2:來自反向振蕩器的輸出。2.1.3 使用i/o口的注意事項 p1,p2,p3口的輸出緩沖器可驅(qū)動4個lsttl電路。對于hcmos芯片單片機的i/o口,在正常情況下,可任意由ttl或nmos電路驅(qū)動。hmos及cmos性的單片機i/o口有集電極開路或漏極開路的輸出來驅(qū)動時,不必外加上拉電阻 對于74ls系列,cd4000系列以及一些大規(guī)模集成電路芯片(如8155,8253,
16、8259等),都可以和mcs-51系列單片機直接接口。具體使用時,可以查閱有關器件手冊或參考典型電路 對一些線性組件,特別是應用鍵盤、碼盤、led顯示器等輸入/輸出設備時,應當盡量增加驅(qū)動部分的容量,否則,單片機將提供不出足夠的驅(qū)動電流供給負載使用2.2 8051中斷系統(tǒng)所謂中斷,是指當計算機執(zhí)行正常程序時,系統(tǒng)中出現(xiàn)某些急需處理得異常情況和特殊情球,cpu暫停執(zhí)行現(xiàn)行程序,轉(zhuǎn)去對隨機發(fā)生地更緊迫事件進行處理;處理完畢后,cpu自動返回原來的程序繼續(xù)執(zhí)行。中斷允許軟件設計不需要關心系統(tǒng)其他部分定時要求,算術程序不需要考慮隔幾個指令檢查i/o設備是否需要服務。相反,算術程序編寫時好像有無限的時間
17、作算術運算而無其他工作在進行。若其它事件需要服務時,則通過中斷告訴系統(tǒng)。8051單片機有5個中斷源,有兩個中斷優(yōu)先級,每個中斷源的優(yōu)先級可以編程控制。中斷允許受到cpu開中斷和中斷源開中斷的兩極控制。2.2.1 中斷源中斷源是指任何引起計算機中斷的事件,一般一臺機器允許有許多個中斷源。8051系列單片機至少有5個中斷源。增加很少的硬件就可把各種硬件中斷源“線或”成為一個外部中斷輸入,然后再順序檢索一起中斷的特定源。8051單片機的5個中斷源是: 外部中斷請求0,由(p3.2)輸入; 外部中斷請求1,由(p3.3)輸入; 片內(nèi)定時器/計數(shù)器0益處中斷請求; 片內(nèi)定時器/計數(shù)器1 溢出中斷請求;
18、片內(nèi)串行口發(fā)送/接收中斷請求;為了了解每個中斷源是否產(chǎn)生了中斷請求,中斷系統(tǒng)應設置許多個中斷請求觸發(fā)器(標志位)實現(xiàn)記憶。這些中斷源請求標志位分別有特殊功能寄存器tcon和scon的相應位鎖存(1) 定時器/計數(shù)器控制寄存器tcon,它是一個八位的寄存器,各位如下表所示tf1tf0ie1it1ie0it0 it0,it1:外部中斷0、1觸發(fā)方式選擇位,由軟件設置。1是下降沿觸發(fā),0是電平觸發(fā)。 ie0,ie1:外部終端0、1請求標志位。 tf0,tf1:定時器/計數(shù)器0、1溢出中斷請求標志。2.2.2 中斷的控制中斷的控制主要實現(xiàn)中斷的開關管理和中斷優(yōu)先級的管理。這個管理主要通過對特殊功能寄存
19、器ie和ip的編程實現(xiàn) 中斷允許寄存器ieeaet2eset1ex1et0ex0 ex0,ex1:外部終端0,1的中斷允許位。1是中斷開,0是中斷關 et0,et1:定時器/計數(shù)器0、1溢出中斷允許位。1是開中斷,0是關中斷 es:串行口中斷允許位。1是中斷開,0是中斷關 et2:定時器/計數(shù)器2溢出中斷位 ea:cpu開/關中斷控制位。1是開中斷,0是關中斷中斷優(yōu)先級寄存器ippspt1px1pt0px0若系統(tǒng)中多個中斷源同時請求中斷,則cpu按中斷源的優(yōu)先級別,由高到低分別響應。8051單片機有兩個斷優(yōu)先級:高優(yōu)先級和低優(yōu)先級。每個中斷源都可以編程為高優(yōu)先級。這可以實現(xiàn)兩級中斷嵌套。嵌套的
20、原則:一個正在執(zhí)行的中斷服務程序可以被高級的中斷請求中斷,而不能被同級或較低級的中斷請求中斷。兩級中斷通過使用ip寄存器設置,相應的位置1,則優(yōu)先級高,0則優(yōu)先級低。px0、px1:終端0、1中斷優(yōu)先級控制;pt0、pt1:定時器/計數(shù)器0、1中斷優(yōu)先級控制。ps:串行口中斷優(yōu)先級控制。8051復位時,ip被清零,5個中斷源都在同一個優(yōu)先級。這時若其中幾個中斷源同時產(chǎn)生中斷請求,則cpu按照片內(nèi)硬件優(yōu)先級鏈路的順序相應中斷,硬件優(yōu)先級由高到低的順序是:外部中斷0定時器/計數(shù)器0-外部中斷1-定時器/計數(shù)器1-串行口中斷2.2.3 中斷響應8051的cpu在每個機器周期采樣個中斷源的中斷請求標志
21、位,如果沒有上述阻止條件,則將在下一個機器周期響應被激活了的最高級中斷請求。阻止條件如下: cpu正在處理同級或更高級的中斷; 現(xiàn)行機器周期不是所執(zhí)行指令的最后一個機器周期; 正在執(zhí)行的是reti或者是訪問ie或ip的指令;cpu在中斷響應之后完成如下操作: 硬件清除相應的中斷標志位; 執(zhí)行一條硬件子程序,保護斷點,并轉(zhuǎn)向中斷服務程序入口。 結束中斷時執(zhí)行reti指令,恢復斷點,返回主程序。8051的cpu在相應中斷請求時,由硬件電路自動形成轉(zhuǎn)向與該中斷源對應的中斷的服務程序入口地址。這種方法為硬件向量中斷法。各中斷源的中斷服務程序入口地址如下:編號中斷源入口地址0外部終端00003h1定時器
22、/計數(shù)器0000bh2外部終端10013h3定時器/計數(shù)器1001bh4串行口中斷0023h各中斷服務程序入口地址僅隔8個字節(jié),編譯器在這些地址放入無條件轉(zhuǎn)移指令,跳到服務程序的實際地址。向量中斷包括把先前的程序計數(shù)指針推入堆棧,中斷服務程序很像其他子程序。當向量中斷發(fā)生時,硬件禁止所有中斷。此時表明外部中斷或定時器溢出的標志位由硬件清除。中斷服務程序的不同分支取決于中斷源。在重新允許全局cpu中斷ea之前,必須仔細清除各種標志。標志會引起立即地重復中斷。8051對終端實際上有特殊的返回指令-reti。不是ret。reti重新允許系統(tǒng)識別其他中斷。因而,沒必要在正常使用中斷時復位ea,只要在程
23、序初始化時開中斷一次就可以了2.3 單片機定時/計數(shù)器在數(shù)字鐘的使用8051系列單片機至少有兩個16位內(nèi)部定時器/計數(shù)器。8052有三個定時器/計數(shù)器,其中連個基本定時器/計數(shù)器是定時器/計數(shù)器0和定時器/計數(shù)器1。他們既可以編程為定時器使用,也可以編程為計數(shù)器使用。若是計數(shù)內(nèi)部晶振驅(qū)動時鐘,則它是定時器;若是計數(shù)8051的輸入引腳的脈沖信號,則它是計數(shù)器。8051的t/c時加一計數(shù)的。定時器實際上也是工作在技術方式下的,只不過對固定頻率的脈沖計數(shù);由于脈沖周期固定,由計數(shù)值可以計算出時間,有定時功能。當t/c工作在定時器時,對振蕩源12分頻的脈沖計數(shù),即每個機器周期計數(shù)值加一,頻率加=fos
24、c/12。晶振為6mhz,計數(shù)頻率=500khz,每2us計數(shù)加一。當t/c工作在計數(shù)器時,計數(shù)脈沖來自外部脈沖輸入引腳t0或t1。當t0或t1腳上負跳變需2個機器周期,即24個振蕩周期。所以t0或t1腳輸入的計數(shù)外部脈沖的最高頻率為fosc/12。當晶振為12mhz時,最高技術頻率為500khz,高于此頻率將計數(shù)出錯。2.3.1與t/c有關的特殊功能寄存器計數(shù)寄存器th和tlt/c是16位的,計數(shù)寄存器有th高8位tl低8位構成。在特殊功能寄存器中,對應t/c0為th0和tl0;對應t/c1為th1和tl1。定時器/計數(shù)器的初始值通過th1/tl1和th0/tl0設置定時器/計數(shù)器控制寄存器
25、tcontr1tr0tr0、tr1:定時器/計數(shù)器0、1啟動控制位。1是啟動,0是停止tcon復位后清零,t/c需要受到軟件控制才能啟動計數(shù);當計數(shù)計滿時,產(chǎn)生向高位的進位tf,即溢出中斷請求標志t/c的方式控制寄存器tmodgatec/tm1m0gatec/tm1m0 c/t:計數(shù)器或定時器選擇位。1位計數(shù)器,0位定時器 gate:門控信號。1時t/c的啟動控制受到雙重控制,即要求tr0/tr1和int0/int1同時為高;0時t/c的啟動僅受tr0/tr1控制 m1和m0:工作方式選擇位,具體見下表m1 m0方式功能0 00為13位定時器/計數(shù)器,tl存低5位,th存高8位0 11為16定
26、時器/計數(shù)器,tl存低8,th存高8位1 02常數(shù)自動裝入的8位定時器/計數(shù)器1 13僅適用于t/c0,兩個8為定時器/計數(shù)器2.3.2 定時器/計數(shù)器的初始化初始化步驟在使用8051的定時器/計數(shù)器前,應對它進行編程初始化,主要是對tcon和tmod編程,還需要計算和裝載t/c的計數(shù)初值。一般完成以下幾個步驟: 確定t/c的工作方式-編程tmod寄存器。 計算t/c中的計數(shù)初值,并裝載到th和tl。 t/c在中斷方式工作時,須開cpu中斷和源中斷-編程ie寄存器。 啟動定時器/計數(shù)器-編程tcon中tr1和tr0位計數(shù)初值的計算在定時器方式下,t/c是對機器周期脈沖計數(shù)的,如果fosc=6m
27、hz,一個機器周期為2us,則方士0 13位定時器最大時間間隔=(2-1)*2us=16.384ms;方式1 16位定時器最大時間間隔=(2-1)*2us=131.072ms;方式2 8位時器最大時間間隔=(2-1)*2us=512us若使t/c工作在定時器方式1,要求定時1ms,求計數(shù)初值。如設計數(shù)初值為x,則有(2-1)*2us=1000us x=2-500因此,th,tl可置65536-500。第三章系統(tǒng)硬件電路的設計3.1 單片機的基本結構 mcs-51單片機內(nèi)部結構: 8051單片機包含中央處理器、程序存儲器(rom)、數(shù)據(jù)存儲器(ram)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)
28、等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:中央處理器:中央處理器(cpu)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,cpu負責控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。數(shù)據(jù)存儲器(ram) 8051內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的ram只有128個,可存放讀寫的數(shù)據(jù),運算的中間結果或用戶定義的字型表。 圖3-1 單片機8051的內(nèi)部結構程序存儲器(rom):80
29、51共有4096個8位掩膜rom,用于存放用戶程序,原始數(shù)據(jù)或表格。定時/計數(shù)器(rom):8051有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。并行輸入輸出(i/o)口:8051共有4組8位i/o口(p0、 p1、p2或p3),用于對外部數(shù)據(jù)的傳輸。mcs-51的引腳說明:mcs-51系列單片機中的8031、8051及8751均采用40pin封裝的雙列直接dip結構,右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個i/o口,中斷口線與p3口線復用?,F(xiàn)在我們對這些引腳的功能加以說明:mcs-51的引腳說明:mcs-
30、52系列單片機中的8031、8051及8751均采用40pin封裝的雙列直接dip結構,右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個i/o口,中斷口線與p3口線復用。現(xiàn)在我們對這些引腳的功能加以說明: 圖3-2 單片機的引腳pin9:reset/vpd復位信號復用腳,當8052通電,時鐘電路開始工作,在reset引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復位。初始化后,程序計數(shù)器pc指向0000h,p0-p3輸出口全部為高電平,堆棧指針寫入07h,其它專用寄存器被清“0”。reset由高電平下降為低電平后,系統(tǒng)即從0000h地址開始執(zhí)
31、行程序。然而,初始復位不改變ram(包括工作寄存器r0-r7)的狀態(tài),8052的初始態(tài)。 3.2 74ls245 引腳圖及功能: 總線驅(qū)動器74ls245經(jīng)常用作三態(tài)數(shù)據(jù)緩沖器,74ls245為雙向三態(tài)數(shù)據(jù)緩沖器。單向的內(nèi)部有8個三態(tài)驅(qū)動器,分成兩組,分別由控制端1g和2g 控制; 雙向的有16個三態(tài)驅(qū)動器,每個方向8個。在控制端 g有效時(g 為低電平),由dir端控制驅(qū)動方向:dir為“1”時方向從左到右(輸出允許),dir為“0”時方向從右到左(輸入允許)。 74ls245的引腳圖。g0,dir0,b-a;g=0, dir=1, a-b;g=1, dir=x, x=0或者1,輸入和輸出均
32、為高阻態(tài);高阻態(tài)的含意就是相當于沒有這個芯片74ls245是8路3態(tài) 雙向緩沖驅(qū)動,也叫做總線驅(qū)動門電路或線驅(qū)動。主要使用在數(shù)據(jù)的雙向緩沖,原來常見于51的數(shù)據(jù)接口電路,比如,早期電路中,擴展了很多的8255/8155/8251/8253/573等芯片的時候,擔心8031的數(shù)據(jù)驅(qū)動能力不足,就使用一片74ls245作為數(shù)據(jù)緩沖電路,增強驅(qū)動能力;也常見與isa卡的接口電路. 3.3七段數(shù)碼管的引腳圖及使用:數(shù)碼管使用條件:a、段及小數(shù)點上加限流電阻。b、使用電壓:段:根據(jù)發(fā)光顏色決定; 小數(shù)點:根據(jù)發(fā)光顏色決定。c、使用電流:靜態(tài):總電流 80ma(每段 10ma);動態(tài):平均電流 4-5ma
33、 峰值電流 100ma上面這個只是七段數(shù)碼管引腳圖,其中共陽極數(shù)碼管引腳圖和共陰極的是一樣的。 led數(shù)碼管根據(jù)led的接法不同分為共陰和共陽兩類,了解led的這些特性,對編程是很重要的,因為不同類型的數(shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。右圖是共陰和共陽極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。 將多只led的陰極連在一起即為共陰式,而將多只led的陽極連在一起即為共陽式。以共陰式為例,如把陰極接地,在相應段的陽極接上正電源,該段即會發(fā)光。當然,led的電流通常較小,一般均需在回路中接上限流電阻。假如我們將b和c段接上正電源,其它端接地或懸空,
34、那么b和c段發(fā)光,此時,數(shù)碼管顯示將顯示數(shù)字“1”。而將a、b、d、e和g段都接上正電源,其它引腳懸空,此時數(shù)碼管將顯示“2”。其它字符的顯示原理類同。3.4硬件電路的設計原則在性價比滿足應用系統(tǒng)要求的情況下,選擇更可靠,更熟悉的單片機縮短研制周期。盡可能選擇自己較為熟悉的應用電路,以提高系統(tǒng)的可靠性。單片機內(nèi)部的資源與外部的擴展資源應在滿足系統(tǒng)設計的基礎上留有余地,為進一步的升級和擴展提供方便。應充分的結合軟件方案考慮硬件的結構,通常硬件功能較完善,其相應的軟件程序就簡單,但硬件的成本較高,而功能較低,其相應的軟件就復雜,其實際常用軟件代替硬件來降低成本。整個系統(tǒng)相關的器件盡可能的做到性能相
35、匹配。充分的考慮系統(tǒng)的抗干擾性,如具有抗干擾的單片機并充分的帥選芯片與器件,在電路中采取隔離或屏蔽的措施等。更具以上的原則我們選擇我們較為熟悉的80c51單片機;為了led數(shù)碼管的顯示和和鍵盤的控制,我們也選擇了74ls245的譯碼器和#1,#2,#3號按鍵作為時鐘的參數(shù)修改加一鍵#1鍵修改時,按一下時加一#2鍵修改分,按一下分加一#3鍵修改秒,按一下秒加一時鐘硬件連接圖如下圖所示第四章軟件程序的設計4.1 軟件程序內(nèi)容 本設計的軟件程序包括主程序、中斷子程序、打鈴子程序、時鐘顯示子程序、查詢時間表切換程序和延時子程序等等。另外由于電路中有四個按鍵,還另外設計了防抖動程序來防止干擾。4.2 軟
36、件流程圖4.2.1 系統(tǒng)軟件設計流程圖 這次的數(shù)字電子鐘設計用到很多子程序,它們的流程圖如下所示。 主程序是先開始,然后啟動定時器,定時器啟動后在進行按鍵檢測,檢測完后,就可以顯示時間。開始啟動定時器按鍵檢測時間顯示圖4-1 主程序流程圖 按鍵處理是先檢測秒按鍵是否按下,秒按鍵如果按下,秒就加1;如果沒有按下,就檢測分按鍵是否按下,分按鍵如果按下,分就加1;如果沒有按下,就檢測時按鍵是否按下,時按鍵如果按下,時就加1;如果沒有按下,就把時間顯示出來。nynyny時加1顯示時間結束開始秒按鍵按下?秒加1分按鍵按下?分加1時按鍵按下?圖4-2 按鍵處理流程圖定時器中斷時是先檢測1秒是否到,1秒如果
37、到,秒單元就加1;如果沒到,就檢測1分鐘是否到,1分鐘如果到,分單元就加1;如果沒到,就檢測1小時是否到,1小時如果到,時單元就加1,如果沒到,就顯示時間。n24小時到?分單元清零,時單元加1nnnyy時單元清零時間顯示中斷返回開始一秒時間到?60秒時間到?60分鐘到?秒單元加1秒單元清零,分單元加1yy圖4-3 定時器中斷流程圖 時間顯示是先秒個位計算顯示,然后是秒十位計算顯示,再是分個位計算顯示,再然后是分十位顯示,再就是時個位計算顯示,最后是時十位顯示。4.3 定時程序設計單片機的定時功能也是通過計數(shù)器的計數(shù)來實現(xiàn)的,此時的計數(shù)脈沖來自單片機的內(nèi)部,即每個機器周期產(chǎn)生一個計數(shù)脈沖,也就是
38、每經(jīng)過1個機器周期的時間,計數(shù)器加1。如果mcs-52采用的12mhz晶體,則計數(shù)頻率為1mhz,即每過1us的時間計數(shù)器加1。這樣可以根據(jù)計數(shù)值計算出定時時間,也可以根據(jù)定時時間的要求計算出計數(shù)器的初值。mcs-51單片機的定時器/計數(shù)器具有4種工作方式,其控制字均在相應的特殊功能寄存器中,通過對特殊功能寄存器的編程,可以方便的選擇定時器/計數(shù)器兩種工作模式和4種工作方式。定時器/計數(shù)器工作在方式0時,為13位的計數(shù)器,由tlx(x=0、1)的低5位和thx的高8位所構成。tlx低5位溢出則向thx進位,thx計數(shù)溢出則置位tcon中的溢出標志位tfx.當定時器/計數(shù)器工作于方式1,為16位
39、的計數(shù)器。本設計師單片機多功能定時器,所以mcs-51內(nèi)部的定時器/計數(shù)器被選定為定時器工作模式,計數(shù)輸入信號是內(nèi)部時鐘脈沖,每個機器周期產(chǎn)生一個脈沖使計數(shù)器增1。4.3.1實時時鐘實現(xiàn)的基本方法:時鐘的最小計時單位是秒,但使用定時器的方式1,最大的定時時間也只能達到131ms。我們可把定時器的定時時間定為50ms。這樣,計數(shù)溢出20次即可得到時鐘的最小計時單位:秒。而計數(shù)20次可以用軟件實現(xiàn)。秒計時是采用中斷方式進行溢出次數(shù)的累積,計滿20次,即得到秒計時。從秒到分,從分到時是通過軟件累加并進行比較的方法來實現(xiàn)的。要求每滿1秒,則“秒”單元中的內(nèi)容加1;“秒”單元滿60,則“分”單元中的內(nèi)容
40、加1;“分”單元滿60,則“時”單元中的內(nèi)容加1;“時”單元滿24,則將時、分、秒的內(nèi)容全部清零。:4.3.2 實時時鐘程序設計步驟:(1)選擇工作方式,計算初值;(2)采用中斷方式進行溢出次數(shù)累計;(3)從秒分時的計時是通過累加和數(shù)值比較實現(xiàn)的;(4)時鐘顯示緩沖區(qū):時鐘時間在方位數(shù)碼管上進行顯示,為此在內(nèi)部ram中要設置顯示緩沖區(qū),共6個地址單元。顯示緩沖區(qū)從左到右依次存放時、分、秒數(shù)值;(5)主程序:主要進行定時器/計數(shù)器的初始化編程,然后反復調(diào)用顯示子程序的方法等待中斷的到來。(6)中斷服務程序:進行計時操作(7)加1子程序:用于完成對時、分、秒的加操作,中斷服務程序在秒、分、時加1時
41、共有三種條調(diào)用加1子程序,包括三項內(nèi)容:合字、加1并進行十進制調(diào)整、分字。第5章 結論與展望5.1 結論單片機多功能定時系統(tǒng)理論上能很好的達到了學校教學要求,發(fā)揮了單片機在智能化方面的應用。該系統(tǒng)的設計很好的滿足當前學校教學的需要,是一個理想的智能化的設計。它具有一個走時精確的實時鐘,可以任意設置時間,可以控制時間表的轉(zhuǎn)換,時鐘的顯示功能等??梢酝ㄟ^按鍵操作和數(shù)字顯示。該系統(tǒng)規(guī)模小,但是功能較多,操作簡單,造價低,應用非常廣泛。該系統(tǒng)的設計為向家庭數(shù)字化方向發(fā)展又前進了一步。同時又擴大了單片機的應用領域。5.2 單片機的發(fā)展趨勢 自單片機出現(xiàn)至今,單片機技術已走過了幾十年的發(fā)展路程。縱觀幾十年
42、來單片機發(fā)展歷程可以看出,單片機技術的發(fā)展以微處理器(mpu)技術及超大規(guī)模集成電路技術的發(fā)展為先導,拉動廣泛的應用領域,表現(xiàn)出比微處理器更具個性的發(fā)展趨勢:1.采用先進結構以實現(xiàn)高性能在過去的一段時間內(nèi),單片機的指令運行速度一直在10mips以下,這對于應用在工業(yè)控制領域內(nèi)的單片機來說是足夠了,但當單片機被應用在通訊及dsp領域作為高速運算、編碼或解碼時,就會出現(xiàn)因指令運行速度不夠而限制單片機應用的情形,因此提高單片機指令運行速度已經(jīng)成為迫切需要解決的問題。2.進一步降低功耗、基于80c51的飛利浦低功率、低系統(tǒng)成本微控制器51lpc系列是業(yè)界推動單片機向低功耗方向發(fā)展的主導單片機系列之一。
43、51lpc系列單片機采用以下三種方法降低功耗:(1)使系統(tǒng)進入空閑模式,在空閑模式下,只有外圍器件在工作,任意的復位及中斷均可結束空閑模式;(2)使系統(tǒng)進入低功耗模式,在低功耗模式下,振蕩器停止工作,是功耗降到最?。?)使系統(tǒng)進入低電壓eprom操作;eprom包含了模擬電路,當vcc高于4v時,可通過軟件使這些模擬電路掉電以降低功耗,在上電情況下可使系統(tǒng)退出該模式。3.采用flash memory隨著半導體工藝技術的不斷進步,mpu的flash版本逐漸替代了原有的otp版本。flash mpu具有以下優(yōu)點:與多次可編程的窗口式eprom相比,flash mpu的成本要低得多;在系統(tǒng)編程能力以
44、及產(chǎn)品生產(chǎn)方面提供了靈活性,因為flash mpu可在編程后面再次以新代碼重新編程;可減少已編程器件的報廢和庫存;有助于生產(chǎn)廠商縮短設計周期,使終端用戶產(chǎn)品和、更具有競爭力。4.集成更多功能及兼容性目前單片機的另一個發(fā)展趨勢是在芯片上集成更多的功能。如模擬功能,包括模擬比較器、a/d和d/a轉(zhuǎn)換器等。具體表現(xiàn)在:兼容性作為設計的第一考慮;額外的新的特點是透明的;使用同一種編程器;otp使器件快速提升及標準化成為可能。5.強抗干擾能力不斷加強抗干擾能力是單片機進一步發(fā)展的必然趨勢。st microelectronics公司推出的st62系列單片機在這方面是佼佼者,其優(yōu)良的抗干擾能力使得許多大公司
45、將其應用在系統(tǒng)中的關鍵部件上。許多單片機開發(fā)商也正朝著這個方向努力。6.朝系列化、全面化方向發(fā)展各大單片機開發(fā)商在增加產(chǎn)品功能的同時效力于形成產(chǎn)品的系列化=全面化,以滿足各種控制領域的要求,這也是單片機發(fā)展的趨勢之一。日本toshba公司開發(fā)了從4位到64位的多系列單片機,日立公司也有從4.位到32位的單片機,目前還沒有哪個廠家生產(chǎn)的單片機比東芝公司的種類多。隨著單片機性能斷提高,不斷的克服和彌補自身的不足。在各種控制領域,單片機將擁有更加廣闊的使用天地。在很長的一段時間內(nèi),它將一直是工程設計人員的首選控制芯片之一。附錄:源程序如下:s_setbitp1.0;數(shù)字鐘秒控制位m_setbitp1
46、.1;分鐘控制位h_setbitp1.2;小時控制位secondequ30hminuteequ31hhourequ32htcntequ34horg00hsjmpstartorg0bhljmpint_t0start:movdptr,#tablemovhour,#0;初始化movminute,#0movsecond,#0movtcnt,#0movtmod,#01hmovth0,#(65536-50000)/256;定時50毫秒movtl0,#(65536-50000)mod 256movie,#82hsetbtr0;*;判斷是否有控制鍵按下,是哪一個鍵按下a1:lcalldisplayjnbs_set,s1jnbm_set,s2jnbh_set,s3ljmpa1s1:lcalldelay;去抖動jbs_set,a1incsecond;秒值加1mova,secondcjnea,#60,j0;判斷是否加到60秒movsecond,#0ljmpk1s2:lcalldelayjbm_set,a1k1:incminute;分鐘值加1mova,minutecjnea,#60,j1;判斷
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 39 選擇性必修1 素養(yǎng)加強課7 興奮傳導與傳遞的相關實驗探究
- 2025年福建省南平市中考地理真題及答案
- 循環(huán)額度房屋按揭貸款合同范本
- 商場超市清潔作業(yè)及食品安全保障合同
- 智能化商場委托運營管理與系統(tǒng)升級合同
- 餐飲企業(yè)員工薪酬福利與勞動權益保障協(xié)議
- 蒙古象棋教學課件
- 高中一年級化學《化學能與電能(第2課時)》
- 化學反應器設計與工程實踐考核試卷
- 中草藥種植機械自動化作業(yè)的智能病蟲害預警系統(tǒng)開發(fā)考核試卷
- 2024年江西省公安廳招聘警務輔助人員考試真題
- 2025年湖北省中考英語真題含答案
- 2025年湖北省普通高中學業(yè)水平合格性考試模擬(三)歷史試題(含答案)
- 2025年高考全國二卷數(shù)學高考真題解析 含參考答案
- 2025年普通高等學校招生全國統(tǒng)一考試數(shù)學試題(全國一卷)(有解析)
- 2025年日歷表全年(打印版)完整清新每月一張
- 2023年建設銀行紀檢監(jiān)察條線考試真題模擬匯編(共858題)
- GB/T 4744-2013紡織品防水性能的檢測和評價靜水壓法
- 2021年包頭職業(yè)技術學院教師招聘試題及答案解析
- [論文]黃土隧道洞身開挖、支護施工技術
- 廈門職稱改革領導小組
評論
0/150
提交評論