基于51單片機(jī)的精確時(shí)鐘課程設(shè)計(jì)說明書_第1頁
基于51單片機(jī)的精確時(shí)鐘課程設(shè)計(jì)說明書_第2頁
基于51單片機(jī)的精確時(shí)鐘課程設(shè)計(jì)說明書_第3頁
基于51單片機(jī)的精確時(shí)鐘課程設(shè)計(jì)說明書_第4頁
基于51單片機(jī)的精確時(shí)鐘課程設(shè)計(jì)說明書_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)課程設(shè)計(jì)說明書單片機(jī)原理及應(yīng)用課程設(shè)計(jì)-基于51單片機(jī)的精確時(shí)鐘 -系 部: 機(jī)電汽車工程學(xué)院 專業(yè)班級: 機(jī)111-6 組長: 張娜娜 組員姓名:杜青華 姜英杰 張硯強(qiáng) 付燕萍指導(dǎo)教師: 劉鵬 完成時(shí)間: 2014.06 28單片機(jī)課程設(shè)計(jì) 目錄目錄第一章 緒論31.1 概述31.2 設(shè)計(jì)目的31.3 設(shè)計(jì)任務(wù)和內(nèi)容3第二章 總體設(shè)計(jì)及核心器件簡介42.1 總體設(shè)計(jì)42.2 MCS-51之80C51 4第三章 單元電路模塊設(shè)計(jì)73.1 按鍵電路 73.2 時(shí)鐘電路83.3 LED數(shù)碼管顯示電路93.4 復(fù)位電路 113.5 總體功能介紹13第四章 軟件編程設(shè)計(jì)14第五章 設(shè)計(jì)體會(huì)及總結(jié)

2、24參考文獻(xiàn) 25單片機(jī)課程設(shè)計(jì) 第一章 緒論1.1 概述單片微型計(jì)算機(jī)簡稱單片機(jī),又稱微控制器,是微型計(jì)算機(jī)的一個(gè)重要分支。單片機(jī)是20世紀(jì)七十年代中期發(fā)展起來的一種大規(guī)模集成電路芯片,是集CPU、RAM、ROM、I/O接口和終端系統(tǒng)與同一硅片的器件。20世紀(jì)八十年代以來單片機(jī)發(fā)展迅速各類新產(chǎn)品不斷涌現(xiàn)出現(xiàn)許多新產(chǎn)品,出現(xiàn)了許多高性能新型機(jī)種現(xiàn)已成為工業(yè)控制和各控制領(lǐng)域的支柱產(chǎn)業(yè)之一。由于單片機(jī)功能功能強(qiáng)、體積小、可靠性好、價(jià)格便宜等獨(dú)特優(yōu)點(diǎn)因而受到人們的高度重視并取到了一系列的科研成果,成為傳統(tǒng)工業(yè)技術(shù)改造和新產(chǎn)品更新?lián)Q代的理想機(jī)種,并具有廣闊的發(fā)展前景。本設(shè)計(jì)運(yùn)用所學(xué)的單片機(jī)知識,設(shè)計(jì)了

3、精確時(shí)鐘,具有低功耗,保密性好,走時(shí)精確等優(yōu)良特點(diǎn),具有廣闊的市場前景1.2 設(shè)計(jì)目的加強(qiáng)對單片機(jī)和C51語言的認(rèn)識,充分掌握和理解設(shè)計(jì)各部分的工作原理、設(shè)計(jì)過程、 選擇芯片器件、模塊化編程等多項(xiàng)知識。 (1)用單片機(jī)模擬實(shí)現(xiàn)具體應(yīng)用使個(gè)人設(shè)計(jì)系統(tǒng)能夠真正使用。(2)把理論知識與實(shí)踐知識相結(jié)合,充分發(fā)揮個(gè)人能力,并在實(shí)踐中得到鍛煉。(3)提高利用已學(xué)的知識分析和解決問題的能力。(4)提高動(dòng)手實(shí)踐能力。1.3 設(shè)計(jì)任務(wù)及內(nèi)容1.3.1設(shè)計(jì)任務(wù)分組按照選定題目的設(shè)計(jì)任務(wù),設(shè)計(jì)各種單片機(jī)應(yīng)用系統(tǒng),設(shè)計(jì)工作量至少要包含:1. 用MCS-51單片機(jī),12MHz時(shí)鐘,常規(guī)的上電和手動(dòng)復(fù)位電路;2. 3個(gè)以

4、上的按鍵;3. LED或/和數(shù)碼管或/和LCD顯示及其接口;4. 至少2路輸入信號,可以是模擬量或數(shù)字量。1.3.2 設(shè)計(jì)內(nèi)容(1)填寫設(shè)計(jì)任務(wù)書(2)進(jìn)行總體設(shè)計(jì),畫出原理圖(3)用proteus軟件畫出PCB板(4)用Keil軟件編寫程序(5)在proteus里模擬并調(diào)試程序達(dá)到期望功能第二章 總體設(shè)計(jì)及核心器件簡介2.1 總體設(shè)計(jì)整個(gè)設(shè)計(jì)以MCS-51單片機(jī)為核心,由LED數(shù)碼管顯示,控制開關(guān),復(fù)位電路等組成。 模塊電路如圖 LED數(shù)碼管動(dòng)態(tài)掃描顯示模塊80C51主控制模 塊按鍵模塊 2.2 80C51簡介2.2.1 80C51單片機(jī)簡介80C51是MCS-51系列單片機(jī)中的一個(gè)子系列,

5、是一族高性能兼容型單片機(jī)。其內(nèi)部資源分配和性能如下;8位CPU;尋址能力2X64K;4KB的內(nèi)部ROM和128B內(nèi)部RAM;四個(gè)8位I/O接口電路;一個(gè)串行全雙工異步接口;五個(gè)中斷源和兩個(gè)中斷優(yōu)先權(quán);采用CMOS工藝電流小,低功耗。2.2.2 80C51各管腳主要功能簡介下圖為80C51PCB圖: 圖2.1 (1)Vss(20腳):接地(2)VCC(40腳): 主電源+5V(3)XTAL1(19腳):接外部晶體的一端。在片內(nèi)它是振蕩電路反相放大器的輸入端。在采用外部時(shí)鐘時(shí),對于HMOS單片機(jī),該端引腳必須接地;對于CHMOS單片機(jī),此引腳作為驅(qū)動(dòng)端。XTAL2(18腳):接外部晶體的另一端。在

6、片內(nèi)它是一個(gè)振蕩電路反相放大器的輸出端,振蕩電路的頻率是晶體振蕩頻率。若需采用外部時(shí)鐘電路,對于HMOS單片機(jī),該引腳輸入外部時(shí)鐘脈沖;對于CHMOS單片機(jī),此引腳應(yīng)懸浮。(4) RST(9腳): 單片機(jī)剛接上電源時(shí),其內(nèi)部各寄存器處于隨機(jī)狀態(tài),在該腳輸入24個(gè)時(shí)鐘周期寬度以上的高電平將使單片機(jī)復(fù)位(RESET)(5)PSEN(29腳): 在訪問片外程序存儲(chǔ)器時(shí),此端輸出負(fù)脈沖作為存儲(chǔ)器讀選通信號。CPU在向片外存儲(chǔ)器取指令期間,PSEN信號在12個(gè)時(shí)鐘周期中兩次生效。不過,在訪問片外數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效PSEN信號不出現(xiàn)。PSEN端同樣可驅(qū)動(dòng)8個(gè)LSTTL負(fù)載。我們根據(jù)PSEN、ALE和

7、XTAL2輸出端是否有信號輸出,可以判別80C51是否在工作。(6)ALE/PROG(30腳):在訪問片外程序存儲(chǔ)器時(shí),此端輸出負(fù)脈沖作為存儲(chǔ)器讀選通信號。CPU在向片外存儲(chǔ)器取指令期間,PSEN信號在12個(gè)時(shí)鐘周期中兩次生效。不過,在訪問片外數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效PSEN信號不出現(xiàn)。PSEN端同樣可驅(qū)動(dòng)8個(gè)LSTTL負(fù)載。我們根據(jù)PSEN、ALE和XTAL2輸出端是否有信號輸出,可以判別80C51是否在工作。(7)EA/VPP(31腳):當(dāng)EA端輸入高電平時(shí),CPU從片內(nèi)程序存儲(chǔ)器地址0000單元開始執(zhí)行程序。當(dāng)?shù)刂烦?KB時(shí),將自動(dòng)執(zhí)行片外程序存儲(chǔ)器的程序。當(dāng)EA輸入低電平時(shí),CPU僅

8、訪問片外程序存儲(chǔ)器。在對87C51EPROM編程時(shí),此引腳用于施加編程電壓VPP。(8)輸入/輸出引腳:1)P0.0P0.7 (39腳32腳)2)P1.0P1.7 (01腳08腳)3)P2.0P2.7 (26腳21腳)4)P3.0P3.7 (10腳17腳)單片機(jī)課程設(shè)計(jì)第三章 單元電路模塊設(shè)計(jì)3.1 按鍵電路的選擇與設(shè)計(jì)連接形式如下:圖3.1按鍵電路本設(shè)計(jì)中有四個(gè)按鍵,分別實(shí)現(xiàn)啟動(dòng)、調(diào)時(shí)和復(fù)位功能。這四個(gè)鍵可以采用中斷或是查詢的方法來識別。對于開始鍵,主要功能在于開始走時(shí)和實(shí)時(shí)顯示,對復(fù)位鍵采用查詢的方式,而對于開始鍵采用外部中斷,調(diào)時(shí)鍵采用外部中斷和定時(shí)中斷。按鍵電路與調(diào)時(shí)電路中由于均采用了

9、外部中斷,所以需要用到P3口的第二功能。P3口引腳的第二功能如下表P3口引腳第二功能表 P3口引腳特殊功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INT0(外部中斷0請求輸入端)P3.3INT1(外部中斷1請求輸入端)P3.4 T0(定時(shí)器/計(jì)數(shù)器0計(jì)數(shù)脈沖輸入端)P3.5 T1(定時(shí)器/計(jì)數(shù)器1計(jì)數(shù)脈沖輸入端)P3.6WR(片外數(shù)據(jù)存儲(chǔ)器寫選通信號輸出端)P3.7 RD(片內(nèi)數(shù)據(jù)存儲(chǔ)器讀選通信號輸出端)3.2 時(shí)鐘電路的選擇與設(shè)計(jì)單片機(jī)的時(shí)鐘信號用來提供單片機(jī)內(nèi)各種微操作的時(shí)間基準(zhǔn),80c51片內(nèi)設(shè)有一個(gè)由反向放大器所構(gòu)成的振蕩電路,XTAL1和 XTAL2分別為振蕩

10、電路的輸入和輸出端,80c51單片機(jī)的時(shí)鐘信號通常用兩種電路形式得到:內(nèi)部振蕩方式與外部振蕩方式。外部方式的時(shí)鐘很少用,若要用時(shí),只要將XTAL1接地,XTAL2接外部振蕩器就行。對外部振蕩信號無特殊要求,只要保證脈沖寬度,一般采用頻率低于12MHz的方波信號。本設(shè)計(jì)采用的內(nèi)部振蕩方式,內(nèi)部振蕩方式所得的時(shí)鐘信號比較穩(wěn)定,實(shí)用電路中使用較多。本設(shè)計(jì)系統(tǒng)的時(shí)鐘電路如圖3.2所示。只要按照所示電路進(jìn)行設(shè)計(jì)連接就能使系統(tǒng)可靠起振并能穩(wěn)定運(yùn)行。圖中,電容器C1、C2起穩(wěn)定振蕩頻率、快速起振的作用,電容值一般為533pF。但在時(shí)鐘電路的實(shí)際應(yīng)用中一定要注意正確選擇其大小,并保證電路的對稱性,盡可能匹配,

11、選用正牌的瓷片或云母電容,本設(shè)計(jì)中采用大小為22pF的電容和12MHz的晶振。圖3.2振蕩電路3.3 LED數(shù)碼管顯示電路選用的共陰極顯示數(shù)碼管如下: 數(shù)碼顯示管分為共陽極數(shù)碼管和共陰極數(shù)碼管兩種。共陽極數(shù)碼管的8個(gè)發(fā)光二極管的陽極(二極管正端)連接在一起,如圖3.3(b),通常,公共陽極接高電平(一般接電源),其它管腳接段驅(qū)動(dòng)電路輸出端。當(dāng)某段驅(qū)動(dòng)電路的輸出端為低電平時(shí),則該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時(shí),要求段驅(qū)動(dòng)電路能吸收額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來確定相應(yīng)的限流電阻。共陰極數(shù)碼管的8個(gè)發(fā)光二極管的陰極(二極管負(fù)端)連

12、接在一起,如圖(c),通常,公共陰極接低電平(一般接地),其它管腳接段驅(qū)動(dòng)電路輸出端,當(dāng)某段驅(qū)動(dòng)電路的輸出端為高電平時(shí),則該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時(shí),要求段驅(qū)動(dòng)電路能提供額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來確定相應(yīng)的限流電阻。 圖3.3 (a)數(shù)碼管引腳圖 (b)共陽極內(nèi)部結(jié)構(gòu)圖 (c)共陰極內(nèi)部結(jié)構(gòu)圖本設(shè)計(jì)采用共陰極數(shù)碼顯示管做顯示電路,由于采用的是共陰的數(shù)碼顯示管,所以只要數(shù)碼管的a、b、c、d、e、f、g、h引腳為高電平,那么其對應(yīng)的二極管就會(huì)發(fā)光,使數(shù)碼顯示管顯示09的編碼見表3.1。表3.1 共陰極數(shù)碼顯示管字型代碼

13、字型共陰極代碼字型共陰極代碼03FH56DH106H67DH25BH707H34FH87FH466H96FH3.4 復(fù)位電路的選擇與設(shè)計(jì)關(guān)于單片機(jī)的置位和復(fù)位,都是為了把電路初始化到一個(gè)確定的狀態(tài),一般來說,單片機(jī)復(fù)位電路作用是把一個(gè)例如狀態(tài)機(jī)初始化到空狀態(tài),而在單片機(jī)內(nèi)部,復(fù)位的時(shí)候單片機(jī)是把一些寄存器以及存儲(chǔ)設(shè)備裝入廠商預(yù)設(shè)的一個(gè)值,復(fù)位是一個(gè)很重要的操作方式。但單片機(jī)本身是不能自動(dòng)進(jìn)行復(fù)位的,必須配合相應(yīng)的外部電路才能實(shí)現(xiàn)。當(dāng)80c51單片機(jī)的復(fù)位引腳RST(全稱RESET)出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就完成了復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài),而無法執(zhí)

14、行程序。因此要求單片機(jī)復(fù)位后能脫離復(fù)位狀態(tài)。而本系統(tǒng)選用的是12MHz的晶振,因此一個(gè)機(jī)器周期為1s,那么復(fù)位脈沖寬度最小應(yīng)為2s。在實(shí)際應(yīng)用系統(tǒng)中,考慮到電源的穩(wěn)定時(shí)間,參數(shù)漂移,晶振穩(wěn)定時(shí)間以及復(fù)位的可靠性等因素,必須有足夠的余量。根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位、手動(dòng)復(fù)位。上電復(fù)位要求接通電源后,自動(dòng)實(shí)現(xiàn)復(fù)位操作。80C51單片機(jī)的上電復(fù)位POR(Power On Reset)實(shí)質(zhì)上就是上電延時(shí)復(fù)位,也就是在上電延時(shí)期間把單片機(jī)鎖定在復(fù)位狀態(tài)上。在單片機(jī)每次初始加電時(shí),首先投入工作的功能部件是復(fù)位電路。復(fù)位電路把單片機(jī)鎖定在復(fù)位狀態(tài)上并且維持一個(gè)延時(shí)(記作TRST),

15、以便給予電源電壓從上升到穩(wěn)定的一個(gè)等待時(shí)間;在電源電壓穩(wěn)定之后,再插入一個(gè)延時(shí),給予時(shí)鐘振蕩器從起振到穩(wěn)定的一個(gè)等待時(shí)間;在單片機(jī)開始進(jìn)入運(yùn)行狀態(tài)之前,還要至少推遲2個(gè)機(jī)器周期的延時(shí)。上述一系列的延時(shí),都是利用在單片機(jī)RST引腳上外接一個(gè)RC支路的充電時(shí)間而形成的。典型復(fù)位電路如圖3.4(a)所示,其中的阻容值是原始手冊中提供的。在經(jīng)歷了一系列延時(shí)之后,單片機(jī)才開始按照時(shí)鐘源的工作頻率,進(jìn)入到正常的程序運(yùn)行狀態(tài)。在電源電壓以及振蕩器輸出信號穩(wěn)定之后,又等待了一段較長的延時(shí)才釋放RST信號,使得CPU脫離復(fù)位鎖定狀態(tài);而RST信號一旦被釋放,立刻在ALE引腳上就可檢測到持續(xù)的脈沖信號8。圖3.4

16、 上電復(fù)位延時(shí)電路由于標(biāo)準(zhǔn)80C51的復(fù)位邏輯相對簡單,復(fù)位源只有RST一個(gè)(相對新型單片機(jī)來說,復(fù)位源比較單一),因此各種原因所導(dǎo)致的復(fù)位活動(dòng)以及復(fù)位狀態(tài)的進(jìn)入,都要依靠在外接引腳RST上施加一定時(shí)間寬度的高電平信號來實(shí)現(xiàn)。標(biāo)準(zhǔn)80C51不僅復(fù)位源比較單一,而且還沒有設(shè)計(jì)內(nèi)部上電復(fù)位的延時(shí)功能,因此必須借助于外接阻容支路來增加延時(shí)環(huán)節(jié),如圖3.4(a)所示。其實(shí),外接電阻R還是可以省略的,理由是一些CMOS單片機(jī)芯片內(nèi)部存在一個(gè)現(xiàn)成的下拉電阻Rrst。因此,在圖3.4(a)基礎(chǔ)上,上電復(fù)位延時(shí)電路還可以精簡為圖3.4(b)所示的簡化電路(其中電容C的容量也相應(yīng)減小了)。在每次單片機(jī)斷電之后,

17、須使延時(shí)電容C上的電荷立刻放掉,以便為隨后可能在很短的時(shí)間內(nèi)再次加電作好準(zhǔn)備。否則,在斷電后C還沒有充分放電的情況下,如果很快又加電,那么RC支路就失去了它應(yīng)有的延遲功能。因此,在圖3.4(a)的基礎(chǔ)上添加一個(gè)放電二極管D,上電復(fù)位延時(shí)電路就變成了如圖3.4(c)所示的改進(jìn)電路。也就是說,只有RC支路的充電過程對電路是有用的,放電過程不僅無用,而且會(huì)帶來潛在的危害。于是附加一個(gè)放電二極管D來大力縮短放電持續(xù)時(shí)間,以便消除隱患。二極管D只有在單片機(jī)斷電的瞬間(即VCC趨近于0 V,可以看作VCC對地短路)正向?qū)?,平時(shí)一直處于反偏截止?fàn)顟B(tài)。手動(dòng)復(fù)位要求在電源接通的條件下,在單片機(jī)運(yùn)行期間,如果發(fā)

18、生死機(jī),用按鈕開關(guān)操作使單片機(jī)復(fù)位。單片機(jī)要完成復(fù)位,必須向復(fù)位端輸出并持續(xù)兩個(gè)機(jī)器周期以上的高電平,從而實(shí)現(xiàn)復(fù)位操作。本設(shè)計(jì)采用上電且開關(guān)復(fù)位電路,如圖3.5所示上電后,由于電容充電,使RST持續(xù)一段高電平時(shí)間。當(dāng)單片機(jī)已在運(yùn)行之中時(shí),按下復(fù)位鍵也能使RST持續(xù)一段時(shí)間的高電平,從而實(shí)現(xiàn)上電且開關(guān)復(fù)位的操作。圖3.5 單片機(jī)復(fù)位電路3.5總體功能介紹及電路原理圖。在本設(shè)計(jì)中,首先打開電源開關(guān)后顯示2013-06-19-12-00-00-00,按開始鍵時(shí)鐘開始計(jì)時(shí),實(shí)時(shí)顯示時(shí)間,按調(diào)時(shí)鍵調(diào)時(shí),精確到0.01秒,量程為一萬年。系統(tǒng)總電路由以上設(shè)計(jì)的顯示電路,時(shí)鐘電路,按鍵電路和復(fù)位電路組成,只要

19、將單片機(jī)與以上各部分電路合理的連接就組成了系統(tǒng)總電路。系統(tǒng)總電路圖如上圖所示。80c51單片機(jī)為主電路的核心部分,各個(gè)電路均和單片機(jī)相連接,由單片機(jī)統(tǒng)籌和協(xié)調(diào)各個(gè)電路的運(yùn)行工作。80c51單片機(jī)提供了XTAL1和XTAL2兩個(gè)專用引腳接晶振電路,因此只要將晶振電路接到兩個(gè)專用引腳即可為單片機(jī)提供時(shí)鐘脈沖,但在焊接晶振電路時(shí)要盡量使晶振電路靠近單片機(jī),這樣可以為單片機(jī)提供穩(wěn)定的始終脈沖。 復(fù)位電路同晶振電路,單片機(jī)設(shè)有一個(gè)專用的硬件復(fù)位接口,并設(shè)置為高電平有效。按鍵電路與單片機(jī)的端口連接可以由用戶自己設(shè)定,本設(shè)計(jì)中軟件復(fù)位鍵設(shè)為低電平有效。而另外的開始鍵和暫停鍵兩鍵使用了外部中斷,所以需要連接到

20、單片機(jī)的特殊接口P3.3和P3.2,這兩個(gè)I/O口的第二功能分別為單片機(jī)的外部中斷1端口和外部中斷0端口。同樣設(shè)置為位低電平有效。顯示電路由16個(gè)數(shù)碼管組成,采用動(dòng)態(tài)顯示方式,八位段控制接P0口,P0.0P0.7分別控制數(shù)碼顯示管的a、b、c、d、e、f、g、dp顯示,80c51的P0口沒有集成上拉電阻,高電平的驅(qū)動(dòng)能力很弱,所以需要接上拉電阻來提高P0的高電平驅(qū)動(dòng)能力。八位位控制則由低位到高位分別接到P1.0P1.7口,NPN三極管2N1711做為位控制端的開關(guān),當(dāng)P1.0P1.7端口任意一個(gè)端口為高電平時(shí),與其相對應(yīng)的三極管就導(dǎo)通,對應(yīng)的數(shù)碼管導(dǎo)通顯示。通過以上設(shè)計(jì)已經(jīng)將各部分電路與單片機(jī)

21、有機(jī)的結(jié)合到一起,硬件部分的設(shè)計(jì)以大功告成,剩下的部分就是對單片機(jī)的編程,使單片機(jī)按程序運(yùn)行,實(shí)現(xiàn)數(shù)字電子時(shí)鐘的全部功能。第四章 軟件編程設(shè)計(jì) 本設(shè)計(jì)采用了匯編語言編寫,匯編語言由于采用了助記符號來編寫程序,比用機(jī)器語言的二進(jìn)制代碼編程要方便些,在一定程度上簡化了編程過程。匯編語言的特點(diǎn)是用符號代替了機(jī)器指令代碼,而且助記符與指令代碼一一對應(yīng),基本保留了機(jī)器語言的靈活性。使用匯編語言能面向機(jī)器并較好地發(fā)揮機(jī)器的特性,得到質(zhì)量較高的程序。本系統(tǒng)程序主要模塊由主程序、定時(shí)中斷服務(wù)程序、外部中斷0服務(wù)程序和外部中斷1服務(wù)程序組成。其中主程序是整個(gè)程序的主體??梢詫Ω鱾€(gè)中斷程序進(jìn)行調(diào)用。協(xié)調(diào)各個(gè)子程序

22、之間的聯(lián)系。設(shè)計(jì)程序如下:ORG 0000H LJMP MAINORG 0003HLJMP KAISHIORG 000BHLJMP UPDATEORG 0013HLJMP TIAOSHI1ORG 001BHLJMP TIAOSHI2 MAIN: MOV SP,#30H ;初始化設(shè)置一固定指針 MOV DPTR,#TAB ;表格首地址送給DPTR MOV TMOD,#51H ;T0為工作方式1,T1為計(jì)數(shù)方式1 MOV TH0,#0E9H ;設(shè)置T0計(jì)數(shù)初值 MOV TL0,#45H MOV TH1,#0FFH ;設(shè)置T1計(jì)數(shù)初值 MOV TL1,#0FFH MOV 70H,#00H ;初始化

23、MOV 71H,#00H MOV 72H,#00H MOV 73H,#00H MOV 74H,#00H MOV 75H,#00H MOV 76H,#02H MOV 77H,#01H MOV 78H,#00H MOV 79H,#02H MOV 7AH,#06H MOV 7BH,#00H MOV 7CH,#04H MOV 7DH,#01H MOV 7EH,#00H MOV 7FH,#02H MOV R0,#73H MOV IP,#02H ;設(shè)置T0中斷較高優(yōu)先級 SETB EA ;開中斷 SETB EX0 ;外部中斷0允許中斷 SETB EX1 ;外部中斷1允許中斷 SETB IT0 ;外部中斷0

24、為下降沿中斷 SETB IT1 ;外部中斷1為下降沿中斷 SETB ET0 ;定時(shí)器0允許中斷 SETB ET1 ;定時(shí)器1允許中斷 SETB PT1 ;設(shè)置T1優(yōu)先級 XIAN: MOV A,70H ;用于掃描,顯示時(shí)間 MOVC A,A+DPTR MOV P0,A MOV A,78H MOVC A,A+DPTR MOV P2,A SETB P1.0 LCALL DELAY1 CLR P1.0 MOV A,71H MOVC A,A+DPTR MOV P0,A MOV A,79H MOVC A,A+DPTR MOV P2,A SETB P1.1 LCALL DELAY1 CLR P1.1 MO

25、V A,72H MOVC A,A+DPTR MOV P0,A MOV A,7AH MOVC A,A+DPTR MOV P2,A SETB P1.2 LCALL DELAY1 CLR P1.2 MOV A,73H MOVC A,A+DPTR MOV P0,A MOV A,7BH MOVC A,A+DPTR MOV P2,A SETB P1.3 LCALL DELAY1 CLR P1.3 MOV A,74H MOVC A,A+DPTR MOV P0,A MOV A,7CH MOVC A,A+DPTR MOV P2,A SETB P1.4 LCALL DELAY1 CLR P1.4 MOV A,75

26、H MOVC A,A+DPTR MOV P0,A MOV A,7DH MOVC A,A+DPTR MOV P2,A SETB P1.5 LCALL DELAY1 CLR P1.5 MOV A,76H MOVC A,A+DPTR MOV P0,A MOV A,7EH MOVC A,A+DPTR MOV P2,A SETB P1.6 LCALL DELAY1 CLR P1.6 MOV A,77H MOVC A,A+DPTR MOV P0,A MOV A,7FH MOVC A,A+DPTR MOV P2,A SETB P1.7 LCALL DELAY1 CLR P1.7 CLR P3.0 LJMP

27、XIANKAISHI: LCALL DELAY ;開始 CPL TR0 RETI UPDATE : ;時(shí)間更新 MOV TH0,#0D8H MOV TL0,#0F0H MOV A,70H ADD A,#01H MOV 70H,A CJNE A,#0AH,EXIT1 MOV 70H,#00H MOV A,71H ADD A,#01H MOV 71H,A CJNE A,#0AH , EXIT1 MOV 71H,#00H MOV A,72H ADD A,#01H MOV 72H,A CJNE A,#0AH , EXIT1 MOV 72H,#00H MOV A,73H ADD A,#01H MOV 7

28、3H,A CJNE A,#06H , EXIT1 MOV 73H,#00H MOV A,74H ADD A,#01H MOV 74H,A CJNE A,#0AH, EXIT1 MOV 74H,#00H MOV A,75H ADD A,#01H MOV 75H,A CJNE A,#06H,EXIT1 MOV 75H,#00H MOV B, #0AH MOV A, 77H MUL AB ADD A, 76H MOV R5, A ZD: SETB P3.0 LCALL DELAY CLR P3.0 NOP NOP DJNZ R5,ZD MOV A,76H ADD A,#01H MOV 76H,A C

29、JNE A,#04H , L1 MOV A,77H CJNE A,#02H ,EXIT1 MOV 76H,#00H MOV 77H,#00H LJMP L2L1: CJNE A,#0AH,EXIT1 MOV 76H,#00 MOV A,77H ADD A,#01H MOV 77H,A LJMP EXIT1 EXIT1: RETIL2: MOV A,78H ADD A,#01HMOV 78H,ACJNE A,#01H,L3MOV A,79HCJNE A,#03H,EXIT1MOV 78H,#01HMOV 79H,#00HLJMP L4L3: CJNE A,#0AH,EXIT1 MOV 78H,#

30、00H MOV A,79H ADD A,#01H MOV 79H,A LJMP EXIT1L4: MOV A,7AH ADD A,#01H MOV 7AH,A CJNE A,#03H,L5 MOV A,7BH CJNE A,#01H,EXIT1 MOV 7AH,#01H MOV 7BH,#00H LJMP L6 L5:CJNE A,#0AH,EXIT1 MOV 7AH,#00H MOV A,7BH ADD A,#01H MOV 7BH,A LJMP EXIT1L6:MOV A,7CH ADD A,#01H MOV 7CH,A CJNE A,#0AH,EXIT1 MOV A,7DH ADD A,

31、#01H MOV 7DH,A CJNE A,#0AH,EXIT1 MOV 7DH,#00H MOV A,7EH ADD A,#01H MOV 7EH,A CJNE A,#0AH,EXIT1 MOV 7EH,#00H MOV A,7FH ADD A,#01H MOV 7FH,A CJNE A,#0AH,EXIT1 MOV 7FH,#00HDELAY: MOV R7, #0F8H ;延時(shí)程序 DEL1: MOV R6, #64HDEL2: DJNZ R6, DEL2 NOP DJNZ R7, DEL1 RET DELAY1: MOV R7 ,#0AH ;延時(shí)程序1DEL11: MOV R6,#0D

32、0HDEL22: DJNZ R6, DEL22 NOP DJNZ R7,DEL11 RET TAB: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FHTIAOSHI1: PUSH ACC ;調(diào)時(shí)程序,選定要調(diào)時(shí)的位 PUSH PSW LCALL DELAY SETB TR1 MOV A,R0 ADD A,#01H MOV R0,A CJNE A,#80H,LOOP MOV R0,#74HLOOP: POP PSW POP ACC RETI EXIT2:RETTIAOSHI2: PUSH ACC ;調(diào)時(shí)程序,對選定的位進(jìn)行調(diào)整 PUSH PSW LCAL

33、L DELAY MOV TH1,#0FFH MOV TL1,#0FFH MOV A,R0 ADD A,#01H MOV R0,A LCALL TIAOSHI3 POP PSW POP ACC RETI TIAOSHI3: MOV A,R0 CJNE A,#0AH,EXIT2 MOV R0,#00H RET END 第五章 設(shè)計(jì)體會(huì)與總結(jié)一分耕耘,一分收獲。只有親自用實(shí)踐來驗(yàn)證這句話,在能得其要領(lǐng)。經(jīng)過這次單片機(jī)課程設(shè)計(jì),我從一個(gè)單片機(jī)實(shí)踐的門外漢,已經(jīng)越升為略知一二的新手。雖然還有很多有關(guān)單片機(jī)的應(yīng)用有待學(xué)習(xí),但萬變不離其宗,只要深入了解單片的原理,全部知識點(diǎn),各個(gè)細(xì)節(jié),一切設(shè)計(jì)皆有可能.在實(shí)驗(yàn)的開始

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論