




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、51單片機(jī)數(shù)字時(shí)鐘課程設(shè)計(jì)報(bào)告專 業(yè):電氣工程及自動化 班 級:08電氣技師本科班 姓 名: 指導(dǎo)教師: 西 安 工 程 技 師 學(xué) 院二一一年十二月二十八日目 錄前言摘要一、單片機(jī)數(shù)字時(shí)鐘設(shè)計(jì)的概述11.1設(shè)計(jì)目的11.2題目描述11.3單片機(jī)基礎(chǔ)知識11.4 MCS-51單片機(jī)介紹及分類31.5數(shù)字鐘基本原理3二、單片機(jī)數(shù)字時(shí)鐘的硬件系統(tǒng)42.1單片機(jī)最小系統(tǒng)的電路原理42.2 MCS-51單片機(jī)AT89C51芯片介紹52.2.1 AT89C51芯片引腳功能介紹5 AT89C51芯片的內(nèi)存結(jié)構(gòu)6復(fù)位電路8時(shí)鐘震蕩電路92.3七段數(shù)碼管的引腳圖及使用102.4 驅(qū)動器74LS245芯片11三
2、、單片機(jī)數(shù)字時(shí)鐘的程序設(shè)計(jì)123.1系統(tǒng)開發(fā)環(huán)境、匯編語言12系統(tǒng)開發(fā)環(huán)境12匯編語言123.2數(shù)字時(shí)鐘設(shè)計(jì)的思路及流程14主程序14定時(shí)中斷(走時(shí))子程序流程15按鍵調(diào)試子程序163.3定時(shí)器、計(jì)數(shù)器功能163.4中斷系統(tǒng)功能18四、數(shù)字時(shí)鐘系統(tǒng)的仿真及運(yùn)行194.1 WAVE6000仿真軟件介紹194.2程序設(shè)計(jì)及運(yùn)行結(jié)果214.2.1數(shù)字時(shí)鐘源程序214.2.2Wave6000仿真程序運(yùn)行調(diào)試結(jié)果254.2.3 Proteus仿真電路運(yùn)行調(diào)試結(jié)果25五、心得體會26六、參考文獻(xiàn)28前 言隨著生活水平的提高,人們越來越追求人性化的事物,傳統(tǒng)的時(shí)鐘已不能滿足人們的需求。現(xiàn)代的數(shù)字鐘不僅需要數(shù)
3、字電路技術(shù)而且需要模擬電路技術(shù)和單片機(jī)技術(shù),增加了數(shù)字鐘的功能。其電路可以由實(shí)時(shí)時(shí)鐘模塊、環(huán)境溫度檢測模塊、人機(jī)接口模塊、報(bào)警模塊等部分組成。利用軟件編程盡量做到硬件電路簡單穩(wěn)定,減小電磁干擾和其他環(huán)境干擾,充分發(fā)揮軟件編程的優(yōu)點(diǎn),減小因元器件精度不夠引起的誤差,但是數(shù)字鐘還是可以改進(jìn)和提高如選用更精密的元器件。但與機(jī)械式時(shí)鐘相比已經(jīng)具有更高的準(zhǔn)確性和直觀性,且無機(jī)械裝置,具有更長的使用壽命,因此得到了廣泛的使用。數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對、時(shí)、分、秒,數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車站, 碼頭辦公室等公共場所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?,由于?shù)字集成電路的發(fā)展和石英晶體振蕩器的
4、廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動報(bào)警、按時(shí)自動打鈴、時(shí)間程序自動控制、定時(shí)廣播、自動起閉路燈、定時(shí)開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時(shí)電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。摘 要近年來隨著計(jì)算機(jī)在社會領(lǐng)域的滲透和大規(guī)模集成電路的發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,由于它具有功能強(qiáng),體積小,功耗低,價(jià)格便宜,工作可靠,使用方便等特點(diǎn),因此特別適合于與控制有關(guān)的系統(tǒng),越來越廣泛地應(yīng)用于自動控制,智能化儀器,儀表,數(shù)據(jù)采集,軍
5、工產(chǎn)品以及家用電器等各個(gè)領(lǐng)域,單片機(jī)往往是作為一個(gè)核心部件來使用,在根據(jù)具體硬件結(jié)構(gòu),以及針對具體應(yīng)用對象特點(diǎn)的軟件結(jié)合,以作完善。本次設(shè)計(jì)中以單片機(jī)的發(fā)展過程和發(fā)展方向?yàn)楸尘?,介紹了單片機(jī)的輸入輸出的工作原理和操作方法,中斷的工作原理和操作方法,74LS245驅(qū)動器的工作原理和與LED連接的方法。本次做的數(shù)字鐘是以單片機(jī)(AT89C51)為核心,結(jié)合相關(guān)的元器件(共陰極LED數(shù)碼顯示器、驅(qū)動器74LS245等),再配以相應(yīng)的軟件,是它具有時(shí),分,秒顯示的功能,并且時(shí),分,秒還可以調(diào)整。此次設(shè)計(jì)電子數(shù)字鐘是為了了解電子數(shù)字鐘的原理,從而學(xué)會制作電子數(shù)字鐘。而且通過電子數(shù)字鐘的制作進(jìn)一步的了解各
6、種在制作中用到的中小規(guī)模集成電路的作用及實(shí)用方法。通過它可以進(jìn)一步學(xué)習(xí)與掌握單片機(jī)原理與使用方法。關(guān)鍵詞:單片機(jī) AT89C51 共陰極LED數(shù)碼顯示器 74LS245譯碼器一、單片機(jī)數(shù)字時(shí)鐘設(shè)計(jì)的概述1.1設(shè)計(jì)目的1、利用所學(xué)過的知識,初步分析單片計(jì)算機(jī)控制系統(tǒng)的能力;2、利用單片機(jī)定時(shí)器制作數(shù)字時(shí)鐘并可以實(shí)現(xiàn)時(shí)鐘的控制;3、綜合運(yùn)用本專業(yè)方向所學(xué)知識,構(gòu)成以單片機(jī)為核心控制系統(tǒng)的能力;4、單片計(jì)算機(jī)控制系統(tǒng)實(shí)時(shí)軟件的設(shè)計(jì)、 編制與調(diào)試的能力;5、單片計(jì)算機(jī)控制系統(tǒng)中模擬部件以及常規(guī)傳感部件的使用、調(diào)試的能力;6、掌握數(shù)碼管動態(tài)顯示方法。7、學(xué)習(xí)AT89C51芯片管腳及其功能。8、單片計(jì)算機(jī)
7、控制系統(tǒng)綜合調(diào)整及性能測試的能力;9、實(shí)驗(yàn)結(jié)果分析、總結(jié)及撰寫技術(shù)報(bào)告的能力。1.2題目描述1、掌握單片機(jī)最小系統(tǒng)的電路原理圖;2、熟知單片機(jī)的工作原理;3、小組共同編輯、編譯軟件;4、調(diào)試要求:(1)數(shù)碼管顯示當(dāng)前的時(shí)間值;(2)時(shí)間精度為1秒,由秒個(gè)位數(shù)碼管變化體現(xiàn);(3)閃爍顯示時(shí)鐘;(4)調(diào)試數(shù)字時(shí)鐘;(5)四個(gè)按鈕,K1用作“秒”的設(shè)定;K2用作“分”的設(shè)定;K3用作“時(shí)”的設(shè)定;K4用作復(fù)位設(shè)定;1.3單片機(jī)基礎(chǔ)知識所謂單片機(jī),通俗的來講,就是把中央處理器CPU(Central Processing Unit),存儲器(memory),定時(shí)器,I/O(Input/Output)接口
8、電路等一些計(jì)算機(jī)的主要功能部件集成在一塊集成電路芯片上的微型計(jì)算機(jī)。單片機(jī)又稱為“微控制器MCU”。中文“單片機(jī)”的稱呼是由英文名稱“Single Chip Microcomputer”直接翻譯而來的。單片機(jī)的主要分類:1、按應(yīng)用領(lǐng)域可分為:家電類,工控類,通信類,個(gè)人信息終端類等等;2、按通用性可分為:通用型和專用型。通用型單片機(jī)的主要特點(diǎn)是:內(nèi)部資源比較豐富,性能全面,而且通用性強(qiáng),可履蓋多種應(yīng)用要求。所謂資源豐富就是指功能強(qiáng)。性能全面通用性強(qiáng)就是指可以應(yīng)用在非常廣泛的領(lǐng)域。通用型單片機(jī)的用途很廣泛,使用不同的接口電路及編制不同的應(yīng)用程序就可完成不同的功能。小到家用電器儀器儀表,大到機(jī)器設(shè)
9、備和整套生產(chǎn)線都可用單片機(jī)來實(shí)現(xiàn)自動化控制。專用型單片機(jī)的主要特點(diǎn)是:針對某一種產(chǎn)品或某一種控制應(yīng)用而專門設(shè)計(jì)的,設(shè)計(jì)時(shí)已使結(jié)構(gòu)最簡,軟硬件應(yīng)用最優(yōu),可靠性及應(yīng)用成本最佳。專用型單片機(jī)用途比較專一,出廠時(shí)程序已經(jīng)一次性固化好,不能再修該的單片機(jī)。例如電子表里的單片機(jī)就是其中的一種。其生產(chǎn)成本很低。在我們的這個(gè)網(wǎng)上課堂中,介紹的是MCS-51系列單片機(jī),MCS-51單片機(jī)也是一種通用單片機(jī),其結(jié)構(gòu)及原理對所有的單片機(jī)都適用。3、按總線結(jié)構(gòu)可分為總線型和非總線型。如我們常常見到的89C51單片機(jī)就是總線結(jié)構(gòu),在后面講解單片機(jī)的內(nèi)部結(jié)構(gòu)時(shí),我們就可以看到,89C51單片機(jī)內(nèi)部有數(shù)據(jù)總線,地址總線,還
10、有控制總線(WR,RD,EA,ALE等)。89C2051單片機(jī),就是一種非總線型的。其外部的引腳很少,可使成本降低。(1)單片機(jī)特點(diǎn):1)受集成度限制,片內(nèi)存儲器容量較小,一般內(nèi)ROM:8KB以下;2)內(nèi)RAM:256KB以內(nèi);3)可靠性高;4)易擴(kuò)展;5)控制功能強(qiáng);6)易于開發(fā)。(2)單片機(jī)的發(fā)展過程:1971年intel 公司研制出世界上第一個(gè)4位的微處理器;1973年intel 公司研制出8位的微處理器8080;1976年intel 公司研制出MCS-48系列8位的單片機(jī),這也是單片機(jī)的問世。80年代初,intel 公司在MCS-48單片機(jī)基礎(chǔ)上,推出了MCS-51單片機(jī)。1.4MCS
11、-51單片機(jī)介紹及分類MCS-51是指由美國INTEL公司生產(chǎn)的一系列單片機(jī)的總稱,這一系列單片機(jī)包括了好些品種,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的產(chǎn)品,該系列其它單片機(jī)都是在8051的基礎(chǔ)上進(jìn)行功能的增、減、改變而來的,所以人們習(xí)慣于用8051來稱呼MCS51系列單片機(jī)。INTEL公司將MCS51的核心技術(shù)授權(quán)給了很多其它公司,所以有很多公司在做以8051為核心的單片機(jī),當(dāng)然,功能或多或少有些改變,以滿足不同的需求,其中89C51就是這幾年在我國非常流行的單片機(jī),它是由美國ATMEL公司開發(fā)生產(chǎn)的。以后我們將用89C51、89S51來完
12、成一系列的實(shí)驗(yàn)。MCS-51系列單片機(jī)分為兩大系列,即51子系列與52子系列。51子系列:基本型,根據(jù)片內(nèi)ROM的配置,對應(yīng)的芯片為8031、8051、8751、8951。52子系列:增強(qiáng)型,根據(jù)片內(nèi)ROM的配置,對應(yīng)的芯片為8032、8052、8752、8952。這兩大系列單片機(jī)的主要硬件特性如 表1:片內(nèi)ROM模式ROM大小RAM大小尋址范圍I/O特性中斷源數(shù)量無ROMEPROM計(jì)數(shù)器并行口8031805187514KB128B64KB2*164*8580C3180C5187C514KB128B64KB2*164*858032805287528KB256B64KB3*164*8680C32
13、80C5287C528KB256B64KB3*164*86上表中可以看到,8031、8031、8032、80C32片內(nèi)是沒有ROM的,對應(yīng)著上表看,我們可以發(fā)現(xiàn),51系列的單片機(jī)的RAM大小為128B,52系列的RAM大小為256B,51系列的計(jì)數(shù)器為兩個(gè)16位的,52系列的計(jì)數(shù)器為三個(gè)16位計(jì)數(shù)器。51系列的中斷源為5個(gè),52系列的中斷源為6個(gè)。1.5數(shù)字鐘基本原理它是利用單片機(jī)的內(nèi)部的定時(shí)/計(jì)數(shù)器工作與定時(shí)方式,對機(jī)器周期計(jì)數(shù)形成基準(zhǔn)時(shí)間(如10ms)然后用另外一個(gè)計(jì)數(shù)器或軟件計(jì)數(shù)的形式對基準(zhǔn)時(shí)間進(jìn)行計(jì)數(shù)形成秒(如對10ms計(jì)數(shù)100次),“秒”計(jì)數(shù)60次形成“分”,“分”計(jì)數(shù)60次形成“
14、時(shí)”,“時(shí)”計(jì)數(shù)24次形成“天”并清零,然后通過譯碼器,數(shù)碼管把他們的內(nèi)容在相應(yīng)的位置顯示出來。在具體的設(shè)計(jì)時(shí)定時(shí)器采用中斷方式工作,對時(shí)鐘的形成在終中斷序中實(shí)現(xiàn),在主程序只是對定時(shí)/計(jì)數(shù)器的定義初始化,調(diào)用顯示程序和控制程序的初始化。另外為了使用的方便,也設(shè)計(jì)了按鍵,可以通過按鍵對時(shí)分秒進(jìn)行調(diào)整,這樣程序就加了按鍵程序。二、單片機(jī)數(shù)字時(shí)鐘的硬件系統(tǒng)2.1單片機(jī)最小系統(tǒng)的電路原理51單片機(jī)最小系統(tǒng)復(fù)位電路的極性電容C1的大小直接影響單片機(jī)的復(fù)位時(shí)間,一般采用1030uF,51單片機(jī)最小系統(tǒng)容值越大需要的復(fù)位時(shí)間越短。晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情況下可以采用
15、更高頻率的晶振,51單片機(jī)最小系統(tǒng)晶振的振蕩頻率直接影響單片機(jī)的處理速度,頻率越大處理速度越快。起振電容C2、C3一般采用1533pF,并且電容離晶振越近越好,晶振離單片機(jī)越近越好。P0口為開漏輸出,作為輸出口時(shí)需加上拉電阻,阻值一般為10k。設(shè)置為定時(shí)器模式時(shí),加1計(jì)數(shù)器是對內(nèi)部機(jī)器周期計(jì)數(shù)(1個(gè)機(jī)器周期等于12個(gè)振蕩周期,即計(jì)數(shù)頻率為晶振頻率的1/12)。計(jì)數(shù)值N乘以機(jī)器周期Tcy就是定時(shí)時(shí)間t。設(shè)置為計(jì)數(shù)器模式時(shí),外部事件計(jì)數(shù)脈沖由T0或T1引腳輸入到計(jì)數(shù)器。在每個(gè)機(jī)器周期的S5P2期間采樣T0、T1引腳電平。當(dāng)某周期采樣到一高電平輸入,而下一周期又采樣到一低電平時(shí),則計(jì)數(shù)器加1,更新的
16、計(jì)數(shù)值在下一個(gè)機(jī)器周期的S3P1期間裝入計(jì)數(shù)器。由于檢測一個(gè)從1到0的下降沿需要2個(gè)機(jī)器周期,因此要求被采樣的電平至少要維持一個(gè)機(jī)器周期。當(dāng)晶振頻率為12MHz時(shí),最高計(jì)數(shù)頻率不超過1/2MHz,即計(jì)數(shù)脈沖的周期要大于2 ms。 2.2 MCS-51單片機(jī)AT89C51芯片介紹單片機(jī)AT89C51引腳功能介紹根據(jù)初步設(shè)計(jì)方案的分析,設(shè)計(jì)一個(gè)數(shù)字時(shí)鐘的應(yīng)用系統(tǒng),以MCS-51系列單片機(jī)AT89C51芯片為基礎(chǔ),它將CPU、RAM、ROM、定時(shí)器/計(jì)數(shù)器和多功能部件集成在一塊芯片上,在我國應(yīng)用非常廣泛。AT89C51芯片是40引腳雙列直插式封裝芯片,如下圖。其中有些管腳具有兩種功能。這40根引腳中
17、包括電源引腳2根、外接晶振引腳2根、IO引腳32根、控制信號引腳4根。1、電源類引腳VCC(40腳):接+5V電源正端。 VSS(20腳):接地端。2、時(shí)鐘類引腳XTAL1(19腳) 和XTAL2(18腳):接外部石英晶體的一端。P0口(3932腳):P0.0P0.7統(tǒng)稱為P0口。P1口(18腳):P1.0P1.7統(tǒng)稱為P1口,可作為準(zhǔn)雙向I/O口使用。P2口(2128腳):P2.0P2.7統(tǒng)稱為P2口,一般可作為準(zhǔn)雙向I/O口使用。P3口(1017腳):P3.0P3.7統(tǒng)稱為P3口。表3 P3.0口的第二功能:口線功能描述P3.0RXD (串行數(shù)據(jù)輸入線)P3.1TXD (串行數(shù)據(jù)輸出線)P
18、3.2INT0 (外部中斷0輸入引腳)P3.3INT1 (外部中斷1輸入引腳)P3.4 T0 (定時(shí)器/計(jì)數(shù)器0的外部輸入引腳)P3.5 T1 定時(shí)器/計(jì)數(shù)器0的外部輸入引腳)P3.6 WR(外部數(shù)據(jù)存儲器寫選通信號引腳)P3.7 RD(外部數(shù)據(jù)存儲器讀選通信號引腳)3、控制引腳RST/VPP(9腳):復(fù)位引腳,引腳上出現(xiàn)2個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)位。 LE/PROG(30腳):地址鎖存允許信號。PSEN(29角):外部存儲器讀選通信號。EA/Vpp(31角):程序存儲器的內(nèi)外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內(nèi)部程序存儲器讀指令。 AT89C51芯片的內(nèi)存結(jié)構(gòu)MC
19、S-51單片機(jī)包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:1、中央處理器中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。2、數(shù)據(jù)存儲器(RAM)AT89C51芯片內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲單元和128個(gè)專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RA
20、M只有128個(gè),可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。3、程序存儲器(ROM)單片機(jī)內(nèi)部的程序寄存器一般為1K64K字節(jié),通常是只讀存儲器,因?yàn)閱纹瑱C(jī)應(yīng)用系統(tǒng)大多數(shù)是專用系統(tǒng),一旦研制成功,其軟件也就定性,程序固化到只讀存儲器,用只讀存儲器作為程序存儲器,掉電以后程序不會丟失從而提高系統(tǒng)的可靠性;另外,只讀存儲器集成度高、成本低。根據(jù)單片機(jī)內(nèi)部程序存儲器000H0FFFH程序存儲器0FFFH0000H60KB外部ROM64KB外部RAM4KB內(nèi)部EA=14KB外部EA=0專用寄存器內(nèi)部RAMFFFFH1000H0FFFH0000HFFH80H7FH00H內(nèi)部數(shù)據(jù)存儲器 外部數(shù)據(jù)存
21、儲器圖4 AT89C51芯片程序存儲器結(jié)構(gòu)類型的不同有可分為下列產(chǎn)品:(1)ROM行單片機(jī):內(nèi)部具有工廠掩膜變成的只讀程序儲存器ROM。這種單片機(jī)是定制的,用戶是不能修改ROM中代碼的。(2)EPROM型單片機(jī):內(nèi)部具有EPROM型程序存儲器,對于有窗口的EPROM型單片機(jī),可以通過紫外線擦除器擦除EPROM中的程序,用編程工具把新的程序代碼寫入EPROM,且可以反復(fù)擦除和寫入。(3)FLASH Memory型單片機(jī):內(nèi)部含有FLASH Memory型程序存儲器,用戶可以用編程器對FLASH Memory存儲器快速整體擦除和逐個(gè)字節(jié)寫入,這種單片機(jī)價(jià)格也低、使用方便,是目前最流行的單片機(jī)。4、
22、定時(shí)/計(jì)數(shù)器1)定時(shí)器方式寄存器:TMOD2)定時(shí)器控制寄存器:TCON3)計(jì)數(shù)寄存器:TH0、TL0;TH1、TL1??捎糜谠O(shè)定計(jì)數(shù)初值。5、并行輸入輸出(I/O)口:單片機(jī)有32個(gè)I/O口,P0,P1,P2,P3口。單片機(jī)是一種數(shù)字芯片,對于單片機(jī)的操作,從某種意義上講就是對單片機(jī)I/O口進(jìn)行操作,使其按程序規(guī)定輸出高低電平或者檢測I/O口電平,51單片機(jī)采用的是TTL電平,規(guī)定高電平為+5V,低電平為0V。復(fù)位電路單片機(jī)在啟動時(shí)都需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。89系列單片機(jī)的復(fù)位信號是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀
23、態(tài)時(shí),且振蕩器穩(wěn)定后,如果RST引腳上有一個(gè)高電平并維持2個(gè)機(jī)器周期(24個(gè)振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有:手動按鈕復(fù)位和上電復(fù)位。1、手動按鈕復(fù)位手動按鈕復(fù)位需要人為在復(fù)位輸入端RST上加入高電平。一般采用的辦法是在RST端和正電源Vcc之間接一個(gè)按鈕。當(dāng)人為按下按鈕時(shí),則Vcc的+5V電平就會直接加到RST端。手動按鈕復(fù)位的電路如所示。由于人的動作再快也會使按鈕保持接通達(dá)數(shù)十毫秒,所以,完全能夠滿足復(fù)位的時(shí)間要求。2、上電復(fù)位AT89C51芯片的上電復(fù)位電路,只要在RST復(fù)位輸入引腳上接一電容至Vcc端,下接一個(gè)電阻到地即可。對于CMOS型單片機(jī),由
24、于在RST端內(nèi)部有一個(gè)下拉電阻,故可將外部電阻去掉,而將外接電容減至22F。上電復(fù)位的工作過程是在加電時(shí),復(fù)位電路通過電 容加給RST端一個(gè)短暫的高電平信號,此高電平信號隨著Vcc對電容的充電過程而逐漸回落,即RST端的高電平持續(xù)時(shí)間取決于電容的充電時(shí)間。為了保證系統(tǒng)能夠可靠地復(fù)位,RST端的高電平信號必須維持足夠長的時(shí)間。上電時(shí),Vcc的上升時(shí)間約為10ms,而振蕩器的起振時(shí)間取決于振蕩頻率,如晶振頻率為10MHz,起振時(shí)間為1ms;晶振頻率為1MHz,起振時(shí)間則為10ms。在上圖的復(fù)位電路中,當(dāng)Vcc掉電時(shí),必然會使RST端電壓迅速下降到0V以下,但是,由于內(nèi)部電路的限制作用,這個(gè)負(fù)電壓將
25、不會對器件產(chǎn)生損害。另外,在復(fù)位期間,端口引腳處于隨機(jī)狀態(tài),復(fù)位后,系統(tǒng)將端口置為全“l(fā)”態(tài)。如果系統(tǒng)在上電時(shí)得不到有效的復(fù)位,則程序計(jì)數(shù)器PC將得不到一個(gè)合適的初值,因此,CPU可能會從一個(gè)未被定義的位置開始執(zhí)行程序。時(shí)鐘震蕩電路1、時(shí)鐘電路單片機(jī)要不斷的從程序存儲器中取出指令并執(zhí)行,這些執(zhí)行步驟是按節(jié)拍進(jìn)行的,時(shí)鐘電路就是提供CPU運(yùn)行節(jié)拍的電路。AT89C51的時(shí)鐘電路可以由內(nèi)部或外部兩種方式產(chǎn)生。AT89C51內(nèi)部具有一個(gè)振蕩電路,內(nèi)部方式就是利用該電路在XTAL.1和XTAL.2兩引腳之間外接晶振和電容C1、C2構(gòu)成并聯(lián)諧振電路,使內(nèi)部震蕩產(chǎn)生自激振蕩如圖所示。晶振頻率可選擇1.2-
26、10MHZ,電容可選則15-100PF,以對時(shí)鐘頻率起微調(diào)作用。2、CPU時(shí)序的周期單位通過之中振蕩電路,單片機(jī)的每一步工作都按照一定的節(jié)拍進(jìn)行,步調(diào)得到同意.描述MCS-51系列單片機(jī)的時(shí)序單位有4中,即時(shí)鐘周期.狀態(tài)周期,機(jī)器周期和指令周期。時(shí)鐘周期P:既振蕩周期,是MCS-51系列單片機(jī)的最小時(shí)序單位.例如:若時(shí)鐘頻率F=12MHZ,則時(shí)鐘周期=1/F=0.0833us。狀態(tài)周期S:連續(xù)兩個(gè)振蕩周期為一個(gè)狀態(tài)周期。機(jī)器周期:單片機(jī)完成某種基本操作的時(shí)間稱為機(jī)器周期。一個(gè)機(jī)器周期由6個(gè)狀態(tài)周期(12個(gè)振蕩周期)構(gòu)成。指令周期:執(zhí)行一條指令所需要的時(shí)間。MCS-51的指令周期一般需要1或2個(gè)
27、機(jī)器周期,乘,除法指令為4個(gè)機(jī)器周期。若采用上例鐘12MHZ的晶振,則執(zhí)行一條指令相應(yīng)地需要1us,2us或4us。晶振頻率越高,指令執(zhí)行的速度越快。2.3七段數(shù)碼管的引腳圖及使用數(shù)碼管使用條件:a、段及小數(shù)點(diǎn)上加限流電阻。b、使用電壓:段:根據(jù)發(fā)光顏色決定; 小數(shù)點(diǎn):根據(jù)發(fā)光顏色決定。c、使用電流:靜態(tài):總電流 80mA(每段 10mA);動態(tài):平均電流 4-5mA 峰值電流 100mA。上面這個(gè)只是七段數(shù)碼管引腳圖,其中共陽極數(shù)碼管引腳圖和共陰極的是一樣的。LED數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩類,右圖是共陰和共陽極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同
28、而已。將多只LED的陰極連在一起即為共陰式,而將多只LED的陽極連在一起即為共陽式。以共陰式為例,如把陰極接地,在相應(yīng)段的陽極接上正電源,該段即會發(fā)光。當(dāng)然,LED的電流通常較小,一般均需在回路中接上限流電阻。假如我們將b和c段接上正電源,其它端接地或懸空,那么b和c段發(fā)光,此時(shí),數(shù)碼管顯示將顯示數(shù)字“1”。而將a、b、d、e和g段都接上正電源,其它引腳懸空,此時(shí)數(shù)碼管將顯示“2”。其它字符的顯示原理類同。表4: 數(shù)碼管顯示01234567893FH06H5BH4FH66H6DH7DH07H7FH6FH2.4 驅(qū)動器74LS245芯片74LS245是我們常用的芯片,用來驅(qū)動led或者其他的設(shè)備
29、,它是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。當(dāng)8051單片機(jī)的P0口總線負(fù)載達(dá)到或超過P0最大負(fù)載能力時(shí),必須接入74LS245等總線驅(qū)動器。當(dāng)片選端CE低電平有效時(shí),DIR(AB/BA)=“0”,信號由 B 向 A 傳輸(接收);DIR=“1”,信號由 A 向 B 傳輸(發(fā)送);當(dāng)CE為高電平時(shí),A、B均為高阻態(tài)。由于P2口始終輸出地址的高8位,接口時(shí)74LS245的三態(tài)控制端1G和2G接地,P2口與驅(qū)動器輸入線對應(yīng)相連。P0口與74LS245輸入端相連,E端接地,保證數(shù)據(jù)線暢通。8051的/RD和/PSEN相與后接DIR,
30、使得RD且PSEN有效時(shí),74LS245輸入(P0.1D1),其它時(shí)間處于輸出(P0.1D1)。三、單片機(jī)數(shù)字時(shí)鐘的程序設(shè)計(jì)3.1系統(tǒng)開發(fā)環(huán)境、匯編語言系統(tǒng)開發(fā)環(huán)境單片機(jī)的應(yīng)用首先要考慮的是它的開發(fā)平臺,也即我們常說的開發(fā)環(huán)境。由于INTEL公司的MCS-51系列較早進(jìn)入我國,事實(shí)上已形成了工業(yè)標(biāo)準(zhǔn),MCS-51的單片機(jī)應(yīng)用場合隨處可見,它的軟件資源相當(dāng)豐富,硬件的支持也很完善,價(jià)廉物美的開發(fā)器材隨處可取?,F(xiàn)階段,國內(nèi)的大部分單片機(jī)開發(fā)工程技術(shù)人員還是普遍使用匯編語言編寫程序。匯編語言有其缺陷性,但它編寫的代碼最小,最直接,效率也最高,所以還深得用戶接受。但是,它有著固有的缺陷,必須十分了解所
31、用單片機(jī)的硬件結(jié)構(gòu),程序編寫困難,代碼難以理解,不易于識讀,難于移植,排錯(cuò)困難,編寫程序花的時(shí)間相當(dāng)多,調(diào)試不便等等。隨著國內(nèi)單片機(jī)開發(fā)環(huán)境的完善,開發(fā)技術(shù)水平不斷提高,現(xiàn)在已有相當(dāng)?shù)拈_發(fā)器材支持高級語言的使用和調(diào)試,為單片機(jī)的開發(fā)應(yīng)用提供了更好的物質(zhì)條件。高級語言(如C語言)具有開發(fā)周期短,易于識讀,容易移植,也便于初學(xué)著掌握。誠然,高級語言也有它不足之處,就是高級語言產(chǎn)生的代碼過長,對于早期單片機(jī)不大的ROM來說,可是非常突出的矛盾,另外它的運(yùn)行速度太慢,對于本來主頻不高的單片機(jī)是致命的弱點(diǎn)。但現(xiàn)在這方面的研制工作也取得了較大的進(jìn)展,高級語言的弱點(diǎn)也已被較大的克服,象MCS-51上的C語言
32、的代碼長度,如果未加上人工優(yōu)化條件,也可做到最優(yōu)匯編程序水平的120%150%,這也相當(dāng)可觀了??梢哉f相當(dāng)于中等匯編程序員的水平。3.1.2匯編語言匯編語言(Assembly Language)是面向機(jī)器的程序設(shè)計(jì)語言。匯編語言是一種功能很強(qiáng)的程序設(shè)計(jì)語言,也是利用計(jì)算機(jī)所有硬件特性并能直接控制硬件的語言?!皡R編語言”作為一門語言,對應(yīng)于高級語言的編譯器,需要一個(gè)“匯編器”、來把匯編語言原文件匯編成機(jī)器可執(zhí)行的代碼,我們一般使用偉福6000匯編器。同樣的匯編器如MASM, TASM等等,為我們寫匯編程序提供了很多類似于高級語言的特征,比如結(jié)構(gòu)化、抽象等。在這樣的環(huán)境中編寫的匯編程序,有很大一部
33、分是面向匯編器的偽指令,已經(jīng)類同于高級語言。現(xiàn)在的匯編環(huán)境已經(jīng)如此高級,即使全部用匯編語言來編寫windows的應(yīng)用程序也是可行的,但這不是匯編語言的長處。匯編語言的長處在于編寫高效且需要對機(jī)器硬件精確控制的程序。 在匯編語言中,用助記符(Memoni)代替操作碼,用地址符號(Symbol)或標(biāo)號(Label)代替地址碼。這樣用符號代替機(jī)器語言的二進(jìn)制碼,就把機(jī)器語言變成了匯編語言。因此匯編語言亦稱為符號語言。使用匯編語言編寫的程序,機(jī)器不能直接識別,要由一種程序?qū)R編語言翻譯成機(jī)器語言,這種起翻譯作用的程序叫匯編程序,匯編程序是系統(tǒng)軟件中語言處理系統(tǒng)軟件。匯編語言編譯器把匯編程序翻譯成機(jī)器語
34、言的過程稱為匯編。 匯編語言比機(jī)器語言易于讀寫、調(diào)試和修改,同時(shí)具有機(jī)器語言全部優(yōu)點(diǎn)。但在編寫復(fù)雜程序時(shí),相對高級語言代碼量較大,而且匯編語言依賴于具體的處理器體系結(jié)構(gòu),不能通用,因此不能直接在不同處理器體系結(jié)構(gòu)之間移植。 1、匯編語言的特點(diǎn): (1)面向機(jī)器的低級語言,通常是為特定的計(jì)算機(jī)或系列計(jì)算機(jī)專門設(shè)計(jì)的。 (2)保持了機(jī)器語言的優(yōu)點(diǎn),具有直接和簡捷的特點(diǎn)。 (3)可有效地訪問、控制計(jì)算機(jī)的各種硬件設(shè)備,如磁盤、存儲器、CPU、I/O端口等。 (4)目標(biāo)代碼簡短,占用內(nèi)存少,執(zhí)行速度快,是高效的程序設(shè)計(jì)語言。 (5)經(jīng)常與高級語言配合使用,應(yīng)用十分廣泛。 2、匯編語言的應(yīng)用: (1)7
35、0%以上的系統(tǒng)軟件是用匯編語言編寫的。 (2)某些快速處理、位處理、訪問硬件設(shè)備等高效程序是用匯編語言編寫的。 (3)某些高級繪圖程序、視頻游戲程序是用匯編語言編寫的。 3、匯編語言是我們理解整個(gè)計(jì)算機(jī)系統(tǒng)的最佳起點(diǎn)和最有效途徑:人們經(jīng)常認(rèn)為匯編語言的應(yīng)用范圍很小,而忽視它的重要性。其實(shí)匯編語言對每一個(gè)希望學(xué)習(xí)計(jì)算機(jī)科學(xué)與技術(shù)的人來說都是非常重要的,是不能不學(xué)習(xí)的語言。所有可編程計(jì)算機(jī)都向人們提供機(jī)器指令,通過機(jī)器指令人們能夠使用機(jī)器的邏輯功能。所有程序,不論用何種語言編制,都必須轉(zhuǎn)成機(jī)器指令,運(yùn)用機(jī)器的邏輯功能,其功能才能得以實(shí)現(xiàn)。機(jī)器的邏輯功能,軟件系統(tǒng)功能構(gòu)筑其上,硬件系統(tǒng)功能運(yùn)行于下。
36、匯編語言直接描述機(jī)器指令,比機(jī)器指令容易記憶和理解。通過學(xué)習(xí)和使用匯編語言,能夠感知、體會、理解機(jī)器的邏輯功能,向上為理解各種軟件系統(tǒng)的原理,打下技術(shù)理論基礎(chǔ);向下為掌握硬件系統(tǒng)的原理,打下實(shí)踐應(yīng)用基礎(chǔ)。 學(xué)習(xí)匯編語言,向上可以理解軟件,向下能夠感知硬件,是我們理解整個(gè)計(jì)算機(jī)系統(tǒng)的最佳起點(diǎn)和最有效途徑。3.2數(shù)字時(shí)鐘設(shè)計(jì)的思路及流程主程序主程序是先開始,系統(tǒng)初始化、定時(shí)器初始化,脈沖基時(shí)開始跑秒后進(jìn)行按鍵檢測。若沒有按鍵設(shè)置,顯示當(dāng)前時(shí)間;若有按鈕按下,按鍵調(diào)時(shí),檢測完后,時(shí)間設(shè)置完成?系統(tǒng)初始化定時(shí)器初始化啟動脈沖跑秒是否按設(shè)置鍵?按鈕設(shè)置時(shí)間圖1 主程序流程圖時(shí)加1顯示當(dāng)前時(shí)間時(shí)加1時(shí)加1
37、就可以顯示更新后的時(shí)間。定時(shí)中斷(走時(shí))子程序流程定時(shí)器中斷時(shí),先檢測50ms脈沖是否計(jì)數(shù)20次,計(jì)數(shù)到20次,秒就加1;如果沒計(jì)滿60,就返回顯示時(shí)間,如果秒計(jì)滿60秒,就清零秒,給分加1;檢測分鐘,如果沒計(jì)滿60,繼續(xù)計(jì)時(shí),返回顯示時(shí)間,如果滿60,就清零分鐘,給小時(shí)加1;檢測小時(shí),如果沒計(jì)滿24,就繼續(xù)計(jì)時(shí),返回顯示時(shí)間,如果計(jì)滿24,就清零,給秒加1,顯示時(shí)間。脈沖溢滿20?秒+1=60?分+1=60?分清零,時(shí)加1時(shí)+1=24?時(shí)清零中斷返回圖2定時(shí)中斷(走時(shí))子程序流程圖秒清零,分加1秒加1定時(shí)中斷口按鍵調(diào)時(shí)子程序:按鍵調(diào)試程序,是檢測是否有按鍵按下:(1)如果秒按鍵按下,就給秒加
38、1;(2)如果分按鍵按下,就給分加1;(3)如果小時(shí)按鍵按下,就給小時(shí)加1;(4)如果沒有按鍵按下,時(shí)鐘就顯示當(dāng)前時(shí)間。秒加1分加1時(shí)加1圖3按鍵調(diào)時(shí)子程序流程圖啟動脈沖跑秒是否有按鍵按下?顯示當(dāng)前時(shí)間秒按鍵按下?分按鍵按下?時(shí)按鍵按下?顯示更新后時(shí)間3.3定時(shí)器、計(jì)數(shù)器功能定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)從下面定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)圖中我們可以看出,16位的定時(shí)/計(jì)數(shù)器分別由兩個(gè)8位專用寄存器組成,即:T0由TH0和TL0構(gòu)成;T1由TH1和TL1構(gòu)成。其訪問地址依次為8AH-8DH。每個(gè)寄存器均可單獨(dú)訪問。這些寄存器是用于存放定時(shí)或計(jì)數(shù)初值的。此外,其內(nèi)部還有一個(gè)8位的定時(shí)器方式寄存器TMOD和一個(gè)8位
39、的定時(shí)控制寄存器TCON。這些寄存器之間是通過內(nèi)部總線和控制邏輯電路連接起來的。TMOD主要是用于選定定時(shí)器的工作方式;TCON主要是用于控制定時(shí)器的啟動停止,此外TCON還可以保存T0、T1的溢出和中斷標(biāo)志。當(dāng)定時(shí)器工作在計(jì)數(shù)方式時(shí),外部事件通過引腳T0(P3.4)和T1(P3.5)輸入。定時(shí)計(jì)數(shù)器的原理 16位的定時(shí)器/計(jì)數(shù)器實(shí)質(zhì)上就是一個(gè)加1計(jì)數(shù)器,其控制電路受軟件控制、切換。當(dāng)定時(shí)器/計(jì)數(shù)器為定時(shí)工作方式時(shí),計(jì)數(shù)器的加1信號由振蕩器的12分頻信號產(chǎn)生,即每過一個(gè)機(jī)器周期,計(jì)數(shù)器加1,直至計(jì)滿溢出為止。顯然,定時(shí)器的定時(shí)時(shí)間與系統(tǒng)的振蕩頻率有關(guān)。因一個(gè)機(jī)器周期等于12個(gè)振蕩周期,所以計(jì)數(shù)
40、頻率fcount=1/12osc。如果晶振為12MHz,則計(jì)數(shù)周期為:T=1/(12106)Hz1/12=1s這是最短的定時(shí)周期。若要延長定時(shí)時(shí)間,則需要改變定時(shí)器的初值,并要適當(dāng)選擇定時(shí)器的長度(如8位、13位、16位等)。當(dāng)定時(shí)器/計(jì)數(shù)器為計(jì)數(shù)工作方式時(shí),通過引腳T0和T1對外部信號計(jì)數(shù),外部脈沖的下降沿將觸發(fā)計(jì)數(shù)。計(jì)數(shù)器在每個(gè)機(jī)器周期的S5P2期間采樣引腳輸入電平。若一個(gè)機(jī)器周期采樣值為1,下一個(gè)機(jī)器周期采樣值為0,則計(jì)數(shù)器加1。此后的機(jī)器周期S3P1期間,新的計(jì)數(shù)值裝入計(jì)數(shù)器。所以檢測一個(gè)由1至0的跳變需要兩個(gè)機(jī)器周期,故外部事年的最高計(jì)數(shù)頻率為振蕩頻率的1/24。例如,如果選用12M
41、Hz晶振,則最高計(jì)數(shù)頻率為0.5MHz。雖然對外部輸入信號的占空比無特殊要求,但為了確保某給定電平在變化前至少被采樣一次,外部計(jì)數(shù)脈沖的高電平與低電平保持時(shí)間均需在一個(gè)機(jī)器周期以上。3.4中斷系統(tǒng)功能CPU暫時(shí)中止其正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行請求中斷的那個(gè)外設(shè)或事件的服務(wù)程序,等處理完畢后再返回執(zhí)行原來中止的程序, 叫做中斷。 MCS-51單片機(jī)的中斷系統(tǒng)簡單實(shí)用,其基本特點(diǎn)是:有5個(gè)固定的可屏蔽中斷源,3個(gè)在片內(nèi),2個(gè)在片外,它們在程序存儲器中各有固定的中斷入口地址,由此進(jìn)入中斷服務(wù)程序;5個(gè)中斷源有兩級中斷優(yōu)先級,可形成中斷嵌套;2個(gè)特殊功能寄存器用于中斷控制和條件設(shè)置的編程。5個(gè)中斷源的符
42、號、名稱及產(chǎn)生的條件如下。INT0:外部中斷0,由P32端口線引入,低電平或下跳沿引起。INT1:外部中斷1,由P33端口線引入,低電平或下跳沿引起。T0:定時(shí)器計(jì)數(shù)器0中斷,由T0計(jì)滿回零引起。T1:定時(shí)器計(jì)數(shù)器l中斷,由T1計(jì)滿回零引起。TIRI:串行IO中斷,串行端口完成一幀字符發(fā)送接收后引起。(1)外部中斷請求源:即外中斷0和1,經(jīng)由外部引腳引入的,在單片機(jī)上有兩個(gè)引腳,名稱為INT0、INT1,也就是P3.2、P3.3這兩個(gè)引腳。在內(nèi)部的TCON中有四位是與外中斷有關(guān)的。MCS-51 的中斷系統(tǒng) IT0:INT0觸發(fā)方式控制位,可由軟件進(jìn)和置位和復(fù)位,IT0=0,INT0為低電平觸發(fā)
43、方式,IT0=1,INT0為負(fù)跳變觸發(fā)方式。IE0:INT0中斷請求標(biāo)志位。當(dāng)有外部的中斷請求時(shí),這位就會置1(這由硬件來完成),在CPU響應(yīng)中斷后,由硬件將IE0清0。中斷系統(tǒng)的結(jié)構(gòu)如下圖:IT1、IE1的用途和IT0、IE0相同。(2)內(nèi)部中斷請求源TF0:定時(shí)器T0的溢出中斷標(biāo)記,當(dāng)T0計(jì)數(shù)產(chǎn)生溢出時(shí),由硬件置位TF0。當(dāng)CPU響應(yīng)中斷后,再由硬件將TF0清0。TF1:與TF0類似。四、數(shù)字時(shí)鐘系統(tǒng)運(yùn)行及仿真4.1 WAVE6000仿真軟件介紹1、單片機(jī)仿真功能在線仿真時(shí),開發(fā)系統(tǒng)應(yīng)能將在線仿真器中的單片機(jī)完整地出借給目標(biāo)系統(tǒng),不占用目標(biāo)系統(tǒng)單片機(jī)的任何資源,使目標(biāo)系統(tǒng)在聯(lián)機(jī)仿真和脫機(jī)運(yùn)
44、行時(shí)的環(huán)境(工作程序、使用的資源和地址空間)完全一致,實(shí)現(xiàn)完全的一次性仿真。單片機(jī)的資源包括:片上的CPU、RAM、SFR、定時(shí)器、中斷源、I/O口以及外部可擴(kuò)充的程序存儲器和數(shù)據(jù)存儲器地址空間。這些資源應(yīng)允許目標(biāo)系統(tǒng)充分自由地使用,不應(yīng)受到任何限制,使目標(biāo)系統(tǒng)能根據(jù)單片機(jī)固有的資源特性進(jìn)行硬件和軟件的設(shè)計(jì)。2、模擬功能在開發(fā)目標(biāo)系統(tǒng)的過程中,單片機(jī)的開發(fā)系統(tǒng)允許用戶使用它內(nèi)部的RAM存儲器和輸入輸出來替代目標(biāo)系統(tǒng)中的ROM程序存儲器、RAM數(shù)據(jù)存儲器和輸入輸出,使用戶在目標(biāo)系統(tǒng)樣機(jī)還未完全配置好以前,便可以借用開發(fā)系統(tǒng)提供的資源進(jìn)行軟件的開發(fā)。在研制目標(biāo)系統(tǒng)開始的初級階段,目標(biāo)程序還未生成,
45、此時(shí)用戶編寫的程序必須存放在開發(fā)系統(tǒng)RAM存儲器內(nèi),以便于對程序進(jìn)行調(diào)試和修改。開發(fā)系統(tǒng)所能出借的可作為目標(biāo)系統(tǒng)程序存儲器的RAM,我們常稱之為仿真RAM,開發(fā)系統(tǒng)中仿真RAM容量和地址映射應(yīng)和目標(biāo)機(jī)系統(tǒng)完全一致。3、調(diào)試功能開發(fā)系統(tǒng)對目標(biāo)系統(tǒng)軟、硬件的調(diào)試功能強(qiáng)弱,將直接關(guān)系到開發(fā)的效率。性能優(yōu)良的單片機(jī)開發(fā)系統(tǒng)應(yīng)具有下列調(diào)試功能:(1)運(yùn)行控制功能開發(fā)系統(tǒng)應(yīng)能使用戶有效地控制目標(biāo)程序的運(yùn)行,以便檢查程序運(yùn)行的結(jié)果,對存在的硬件故障和軟件錯(cuò)誤進(jìn)行定位。1)單步運(yùn)行:能使CPU從任意的程序地址開始執(zhí)行一條指令后停止運(yùn)行。2)斷點(diǎn)運(yùn)行:允許用戶任意設(shè)置斷點(diǎn)條件,啟動CPU從規(guī)定地址開始運(yùn)行后,當(dāng)
46、碰到斷點(diǎn)條件(程序地址和指定斷點(diǎn)地址符合或者CPU訪問到指定的數(shù)據(jù)存儲器單元等條件)符合以后停止運(yùn)行。3)全速運(yùn)行:能使CPU從指定地址開始連續(xù)地全速運(yùn)行目標(biāo)程序。4)跟蹤運(yùn)行:類似單步運(yùn)行過程,但可以跟蹤到子程序中運(yùn)行。(2)目標(biāo)系統(tǒng)狀態(tài)的讀出修改功能當(dāng)CPU停止執(zhí)行目標(biāo)系統(tǒng)的程序后,允許用戶方便地讀出或修改目標(biāo)系統(tǒng)資源的狀態(tài),以便檢查程序運(yùn)行的結(jié)果、設(shè)置斷點(diǎn)條件以及設(shè)置程序的初始參數(shù)??晒┯脩糇x出/修改的目標(biāo)系統(tǒng)資源包括:1)程序存儲器(開發(fā)系統(tǒng)中的仿真RAM存儲器或目標(biāo)機(jī)中的程序存儲器);2)單片機(jī)中片內(nèi)資源(工作寄存器、特殊功能寄存器、I/O口、RAM數(shù)據(jù)存儲器、位單元);3)系統(tǒng)中擴(kuò)
47、展的數(shù)據(jù)存儲器、I/O口。(3)跟蹤功能高性能的單片機(jī)開發(fā)系統(tǒng)具有邏輯分析儀的功能,在目標(biāo)程序運(yùn)行過程中,能跟蹤存儲目標(biāo)系統(tǒng)總線上的地址、數(shù)據(jù)和控制信號的狀態(tài)變化,跟蹤存儲器能同步地記錄總線上的信息,用戶可以根據(jù)需要顯示跟蹤存儲器搜集到的信息,也可以顯示某一位總線狀態(tài)變化的波形。使用戶掌握總線上狀態(tài)變化的過程,對各種故障的定位特別有用,可大大提高工作效率。4.2程序設(shè)計(jì)及運(yùn)行結(jié)果4.2.1數(shù)字時(shí)鐘源程序K1BITP1.0;秒按鍵設(shè)定K2BITP1.1;分按鍵設(shè)定K3BITP1.2;小時(shí)控設(shè)定SECONDEQU30H ;定義秒為30HMIN EQU31H ;定義分為31HHOUREQU32H ;
48、定義時(shí)為32HORG00HSJMPSTARTORG0BHLJMPTIMERSTART: ;開始MOV DPTR,#TABLE ;顯示初始值MOV HOUR,#0 ;時(shí)清零MOV MIN,#0 ;分清零MOV SECOND,#0 ;秒清零MOV R6,#0 ;初始脈沖清零MOV TMOD,#01H ;定時(shí)器工作方式1MOV TH0,#(65536-50000)/256 ;定時(shí)50毫秒MOV TL0,#(65536-50000)/256MOV IE,#82HSETBTR0TIMER: ;定時(shí)器中斷服務(wù)程序MOVTH0,#(65536-50000)/256 ;初脈沖50msMOVTL0,#(6553
49、6-50000)/256INCR6 ;脈沖加1MOVA,R6CJNE A,#20,EXIT;脈沖計(jì)滿20次INCSECOND ;秒加1MOVR6,#0 ;脈沖清零MOVA,SECONDCJNE A,#60,EXIT ;秒滿60,返回顯示INCMIN ;分加1MOVSECOND,#0 ;秒清零MOVA,MINCJNE A,#60,EXIT ;分滿60,返回顯示INCHOUR ;時(shí)加1MOVMIN,#0 ;分清零MOVA,HOURCJNE A,#24,EXIT ;時(shí)滿24,返回顯示MOVHOUR,#0 ;時(shí)清零MOVMIN,#0 ;分清零MOVSECOND,#0 ;秒清零MOVR6,#0 ;脈沖清
50、零EXIT:RETIKEY: ;秒、分、時(shí)的按鍵設(shè)置LCALL DISPLAY ;顯示當(dāng)前更新時(shí)間JNBK1,ADD_SECOND ;按一下,秒加1JNBK2,ADD_MIN ;按一下,分加1JNBK3,ADD_HOUR ;按一下,時(shí)加1LJMP KEY ;若無按鍵按下,返回按鍵設(shè)置KEYADD_SECOND: ;秒按鍵,子程序LCALLDELAY;延時(shí)子程序,去抖動JBK1,KEY ;若K1=1,則跳轉(zhuǎn)到KEYINCSECOND;秒值加1MOVA,SECOND ;秒的值傳入ACJNE A,#60,J0;判斷是否加到60秒MOVSECOND,#0 ;秒清零LJMP MIN ;跳轉(zhuǎn)到分ADD_MIN: ;分按鍵,子程序LCALL DELAY ;延時(shí)子程序,去抖動JB K2,KEY ;若K2=1,則跳轉(zhuǎn)到KEYINCMIN ;分鐘值加1MOVA,MINCJNE A,#
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房源核查方案(3篇)
- 財(cái)務(wù)規(guī)劃制作方案(3篇)
- 人防門裝修方案(3篇)
- 醫(yī)療服務(wù)準(zhǔn)入管理制度
- 學(xué)校物資調(diào)配管理制度
- 合營公司財(cái)務(wù)管理制度
- 醫(yī)療安全應(yīng)急管理制度
- 養(yǎng)生調(diào)理中心管理制度
- 醫(yī)療配套基建方案(3篇)
- DB62T 4363-2021 沙蓬栽培技術(shù)規(guī)程
- 專項(xiàng)04 工藝流程圖題
- 2024年成人高考成考(高起專)數(shù)學(xué)(文科)試題及答案指導(dǎo)
- 《石油化工儲運(yùn)系統(tǒng)罐區(qū)設(shè)計(jì)規(guī)范》(SHT3007-2014)
- 2023版設(shè)備管理體系標(biāo)準(zhǔn)
- 2024年廣西高考化學(xué)試卷真題(含答案解析)
- 技術(shù)部研發(fā)獎金分配方案1
- 電視臺轉(zhuǎn)播和直播工作注意事項(xiàng)及應(yīng)急預(yù)案
- 雙減背景下初中數(shù)學(xué)分層設(shè)計(jì)作業(yè)課題研究結(jié)題總結(jié)匯報(bào)
- 食堂食材配送采購 投標(biāo)方案(技術(shù)方案)
- 臨床試驗(yàn)行業(yè)消費(fèi)市場分析
- 抗量子密碼技術(shù)與應(yīng)用白皮書
評論
0/150
提交評論