數(shù)字鐘基于單片機(jī)匯編語(yǔ)言設(shè)計(jì)_第1頁(yè)
數(shù)字鐘基于單片機(jī)匯編語(yǔ)言設(shè)計(jì)_第2頁(yè)
數(shù)字鐘基于單片機(jī)匯編語(yǔ)言設(shè)計(jì)_第3頁(yè)
數(shù)字鐘基于單片機(jī)匯編語(yǔ)言設(shè)計(jì)_第4頁(yè)
數(shù)字鐘基于單片機(jī)匯編語(yǔ)言設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、51單片機(jī)數(shù)字時(shí)鐘課程設(shè)計(jì)報(bào)告專 業(yè):電氣工程及自動(dòng)化 班 級(jí):13電氣四姓 名: 黃海倫 指導(dǎo)教師: 周永寧 寧波職業(yè)技術(shù)學(xué)院二一五年十二月二十八日目 錄前言····································

2、3;·············摘要····································&#

3、183;·············一、單片機(jī)數(shù)字時(shí)鐘設(shè)計(jì)的概述···························11.1設(shè)計(jì)目的·····

4、3;······································11.2題目描述··········&#

5、183;·································11.3單片機(jī)基礎(chǔ)知識(shí)··············

6、83;·······················11.4 MCS-51單片機(jī)介紹及分類·······················&#

7、183;·····31.5數(shù)字鐘基本原理······································3二、單片機(jī)數(shù)字時(shí)鐘的硬件系統(tǒng)··

8、·························42.1單片機(jī)最小系統(tǒng)的電路原理······················&#

9、183;·····42.2 MCS-51單片機(jī)AT89C51芯片介紹·······················52.2.1 AT89C51芯片引腳功能介紹·············

10、83;········52.2.2 AT89C51芯片的內(nèi)存結(jié)構(gòu)························62.2.3復(fù)位電路············&#

11、183;·························82.2.4時(shí)鐘震蕩電路······················&#

12、183;···········92.3七段數(shù)碼管的引腳圖及使用···························102.4 驅(qū)動(dòng)器74LS245芯片·····

13、3;···························11三、單片機(jī)數(shù)字時(shí)鐘的程序設(shè)計(jì)····················

14、·······123.1系統(tǒng)開發(fā)環(huán)境、C語(yǔ)言······························123.1.1系統(tǒng)開發(fā)環(huán)境········&#

15、183;························123.1.2 C語(yǔ)言·······················

16、83;·············123.2數(shù)字時(shí)鐘設(shè)計(jì)的思路及流程···························143.2.1主程序·····

17、··································143.2.2定時(shí)中斷(走時(shí))子程序流程············

18、3;······153.2.3按鍵調(diào)試子程序·······························163.3定時(shí)器、計(jì)數(shù)器功能········

19、·························163.4中斷系統(tǒng)功能·······················&

20、#183;···············18四、數(shù)字時(shí)鐘系統(tǒng)的仿真及運(yùn)行··························194.1 WAVE6000仿真軟件介紹··&

21、#183;···························194.2 數(shù)字時(shí)鐘源程序····················

22、·············24五、心得體會(huì)···································

23、3;······28前 言隨著生活水平的提高,人們?cè)絹?lái)越追求人性化的事物,傳統(tǒng)的時(shí)鐘已不能滿足人們的需求。現(xiàn)代的數(shù)字鐘不僅需要數(shù)字電路技術(shù)而且需要模擬電路技術(shù)和單片機(jī)技術(shù),增加了數(shù)字鐘的功能。其電路可以由實(shí)時(shí)時(shí)鐘模塊、環(huán)境溫度檢測(cè)模塊、人機(jī)接口模塊、報(bào)警模塊等部分組成。利用軟件編程盡量做到硬件電路簡(jiǎn)單穩(wěn)定,減小電磁干擾和其他環(huán)境干擾,充分發(fā)揮軟件編程的優(yōu)點(diǎn),減小因元器件精度不夠引起的誤差,但是數(shù)字鐘還是可以改進(jìn)和提高如選用更精密的元器件。但與機(jī)械式時(shí)鐘相比已經(jīng)具有更高的準(zhǔn)確性和直觀性,且無(wú)機(jī)械裝置,具有更長(zhǎng)的使用壽命,因此得到了廣泛的

24、使用。數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì)、時(shí)、分、秒,數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車站, 碼頭辦公室等公共場(chǎng)所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵罚捎跀?shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過(guò)老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。摘 要近年來(lái)隨著計(jì)算機(jī)在社會(huì)領(lǐng)域的滲透和大規(guī)模集成電路的發(fā)展,單片

25、機(jī)的應(yīng)用正在不斷地走向深入,由于它具有功能強(qiáng),體積小,功耗低,價(jià)格便宜,工作可靠,使用方便等特點(diǎn),因此特別適合于與控制有關(guān)的系統(tǒng),越來(lái)越廣泛地應(yīng)用于自動(dòng)控制,智能化儀器,儀表,數(shù)據(jù)采集,軍工產(chǎn)品以及家用電器等各個(gè)領(lǐng)域,單片機(jī)往往是作為一個(gè)核心部件來(lái)使用,在根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟件結(jié)合,以作完善。本次設(shè)計(jì)中以單片機(jī)的發(fā)展過(guò)程和發(fā)展方向?yàn)楸尘埃榻B了單片機(jī)的輸入輸出的工作原理和操作方法,中斷的工作原理和操作方法,74LS245驅(qū)動(dòng)器的工作原理和與LED連接的方法。本次做的數(shù)字鐘是以單片機(jī)(AT89C51)為核心,結(jié)合相關(guān)的元器件(共陰極LED數(shù)碼顯示器、驅(qū)動(dòng)器74LS245

26、等),再配以相應(yīng)的軟件,是它具有時(shí),分,秒顯示的功能,并且時(shí),分,秒還可以調(diào)整。此次設(shè)計(jì)電子數(shù)字鐘是為了了解電子數(shù)字鐘的原理,從而學(xué)會(huì)制作電子數(shù)字鐘。而且通過(guò)電子數(shù)字鐘的制作進(jìn)一步的了解各種在制作中用到的中小規(guī)模集成電路的作用及實(shí)用方法。通過(guò)它可以進(jìn)一步學(xué)習(xí)與掌握單片機(jī)原理與使用方法。關(guān)鍵詞:?jiǎn)纹瑱C(jī) AT89C51 共陰極LED數(shù)碼顯示器 74LS245譯碼器一、單片機(jī)數(shù)字時(shí)鐘設(shè)計(jì)的概述1.1設(shè)計(jì)目的1、利用所學(xué)過(guò)的知識(shí),初步分析單片計(jì)算機(jī)控制系統(tǒng)的能力;2、利用單片機(jī)定時(shí)器制作數(shù)字時(shí)鐘并可以實(shí)現(xiàn)時(shí)鐘的控制;3、綜合運(yùn)用本專業(yè)方向所學(xué)知識(shí),構(gòu)成以單片機(jī)為核心控制系統(tǒng)的能力;4、單片計(jì)算機(jī)控制系

27、統(tǒng)實(shí)時(shí)軟件的設(shè)計(jì)、 編制與調(diào)試的能力;5、單片計(jì)算機(jī)控制系統(tǒng)中模擬部件以及常規(guī)傳感部件的使用、調(diào)試的能力;6、掌握數(shù)碼管動(dòng)態(tài)顯示方法。7、學(xué)習(xí)AT89C51芯片管腳及其功能。8、單片計(jì)算機(jī)控制系統(tǒng)綜合調(diào)整及性能測(cè)試的能力;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è)定;

28、1.3單片機(jī)基礎(chǔ)知識(shí)所謂單片機(jī),通俗的來(lái)講,就是把中央處理器CPU(Central Processing Unit),存儲(chǔ)器(memory),定時(shí)器,I/O(Input/Output)接口電路等一些計(jì)算機(jī)的主要功能部件集成在一塊集成電路芯片上的微型計(jì)算機(jī)。單片機(jī)又稱為“微控制器MCU”。中文“單片機(jī)”的稱呼是由英文名稱“Single Chip Microcomputer”直接翻譯而來(lái)的。單片機(jī)的主要分類:1、按應(yīng)用領(lǐng)域可分為:家電類,工控類,通信類,個(gè)人信息終端類等等;2、按通用性可分為:通用型和專用型。通用型單片機(jī)的主要特點(diǎn)是:內(nèi)部資源比較豐富,性能全面,而且通用性強(qiáng),可履蓋多種應(yīng)用要求。所

29、謂資源豐富就是指功能強(qiáng)。性能全面通用性強(qiáng)就是指可以應(yīng)用在非常廣泛的領(lǐng)域。通用型單片機(jī)的用途很廣泛,使用不同的接口電路及編制不同的應(yīng)用程序就可完成不同的功能。小到家用電器儀器儀表,大到機(jī)器設(shè)備和整套生產(chǎn)線都可用單片機(jī)來(lái)實(shí)現(xiàn)自動(dòng)化控制。專用型單片機(jī)的主要特點(diǎn)是:針對(duì)某一種產(chǎn)品或某一種控制應(yīng)用而專門設(shè)計(jì)的,設(shè)計(jì)時(shí)已使結(jié)構(gòu)最簡(jiǎn),軟硬件應(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)及原理對(duì)所有的

30、單片機(jī)都適用。3、按總線結(jié)構(gòu)可分為總線型和非總線型。如我們常常見(jiàn)到的89C51單片機(jī)就是總線結(jié)構(gòu),在后面講解單片機(jī)的內(nèi)部結(jié)構(gòu)時(shí),我們就可以看到,89C51單片機(jī)內(nèi)部有數(shù)據(jù)總線,地址總線,還有控制總線(WR,RD,EA,ALE等)。89C2051單片機(jī),就是一種非總線型的。其外部的引腳很少,可使成本降低。(1)單片機(jī)特點(diǎn):1)受集成度限制,片內(nèi)存儲(chǔ)器容量較小,一般內(nèi)ROM:8KB以下;2)內(nèi)RAM:256KB以內(nèi);3)可靠性高;4)易擴(kuò)展;5)控制功能強(qiáng);6)易于開發(fā)。(2)單片機(jī)的發(fā)展過(guò)程:1971年intel 公司研制出世界上第一個(gè)4位的微處理器;1973年intel 公司研制出8位的微處理

31、器8080;1976年intel 公司研制出MCS-48系列8位的單片機(jī),這也是單片機(jī)的問(wèn)世。80年代初,intel 公司在MCS-48單片機(jī)基礎(chǔ)上,推出了MCS-51單片機(jī)。1.4MCS-51單片機(jī)介紹及分類MCS-51是指由美國(guó)INTEL公司生產(chǎn)的一系列單片機(jī)的總稱,這一系列單片機(jī)包括了好些品種,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的產(chǎn)品,該系列其它單片機(jī)都是在8051的基礎(chǔ)上進(jìn)行功能的增、減、改變而來(lái)的,所以人們習(xí)慣于用8051來(lái)稱呼MCS51系列單片機(jī)。INTEL公司將MCS51的核心技術(shù)授權(quán)給了很多其它公司,所以有很多公司在做以80

32、51為核心的單片機(jī),當(dāng)然,功能或多或少有些改變,以滿足不同的需求,其中89C51就是這幾年在我國(guó)非常流行的單片機(jī),它是由美國(guó)ATMEL公司開發(fā)生產(chǎn)的。以后我們將用89C51、89S51來(lái)完成一系列的實(shí)驗(yàn)。MCS-51系列單片機(jī)分為兩大系列,即51子系列與52子系列。51子系列:基本型,根據(jù)片內(nèi)ROM的配置,對(duì)應(yīng)的芯片為8031、8051、8751、8951。52子系列:增強(qiáng)型,根據(jù)片內(nèi)ROM的配置,對(duì)應(yīng)的芯片為8032、8052、8752、8952。這兩大系列單片機(jī)的主要硬件特性如 表1:片內(nèi)ROM模式ROM大小RAM大小尋址范圍I/O特性中斷源數(shù)量無(wú)ROMEPROM計(jì)數(shù)器并行口8031805

33、187514KB128B64KB2*164*8580C3180C5187C514KB128B64KB2*164*858032805287528KB256B64KB3*164*8680C3280C5287C528KB256B64KB3*164*86上表中可以看到,8031、8031、8032、80C32片內(nèi)是沒(méi)有ROM的,對(duì)應(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ù)器工作與定

34、時(shí)方式,對(duì)機(jī)器周期計(jì)數(shù)形成基準(zhǔn)時(shí)間(如10ms)然后用另外一個(gè)計(jì)數(shù)器或軟件計(jì)數(shù)的形式對(duì)基準(zhǔn)時(shí)間進(jìn)行計(jì)數(shù)形成秒(如對(duì)10ms計(jì)數(shù)100次),“秒”計(jì)數(shù)60次形成“分”,“分”計(jì)數(shù)60次形成“時(shí)”,“時(shí)”計(jì)數(shù)24次形成“天”并清零,然后通過(guò)譯碼器,數(shù)碼管把他們的內(nèi)容在相應(yīng)的位置顯示出來(lái)。在具體的設(shè)計(jì)時(shí)定時(shí)器采用中斷方式工作,對(duì)時(shí)鐘的形成在終中斷序中實(shí)現(xiàn),在主程序只是對(duì)定時(shí)/計(jì)數(shù)器的定義初始化,調(diào)用顯示程序和控制程序的初始化。另外為了使用的方便,也設(shè)計(jì)了按鍵,可以通過(guò)按鍵對(duì)時(shí)分秒進(jìn)行調(diào)整,這樣程序就加了按鍵程序。二、單片機(jī)數(shù)字時(shí)鐘的硬件系統(tǒng)2.1單片機(jī)最小系統(tǒng)的電路原理51單片機(jī)最小系統(tǒng)復(fù)位電路的極

35、性電容C1的大小直接影響單片機(jī)的復(fù)位時(shí)間,一般采用1030uF,51單片機(jī)最小系統(tǒng)容值越大需要的復(fù)位時(shí)間越短。晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情況下可以采用更高頻率的晶振,51單片機(jī)最小系統(tǒng)晶振的振蕩頻率直接影響單片機(jī)的處理速度,頻率越大處理速度越快。起振電容C2、C3一般采用1533pF,并且電容離晶振越近越好,晶振離單片機(jī)越近越好。P0口為開漏輸出,作為輸出口時(shí)需加上拉電阻,阻值一般為10k。設(shè)置為定時(shí)器模式時(shí),加1計(jì)數(shù)器是對(duì)內(nèi)部機(jī)器周期計(jì)數(shù)(1個(gè)機(jī)器周期等于12個(gè)振蕩周期,即計(jì)數(shù)頻率為晶振頻率的1/12)。計(jì)數(shù)值N乘以機(jī)器周期Tcy就是定時(shí)時(shí)間t。設(shè)置為計(jì)

36、數(shù)器模式時(shí),外部事件計(jì)數(shù)脈沖由T0或T1引腳輸入到計(jì)數(shù)器。在每個(gè)機(jī)器周期的S5P2期間采樣T0、T1引腳電平。當(dāng)某周期采樣到一高電平輸入,而下一周期又采樣到一低電平時(shí),則計(jì)數(shù)器加1,更新的計(jì)數(shù)值在下一個(gè)機(jī)器周期的S3P1期間裝入計(jì)數(shù)器。由于檢測(cè)一個(gè)從1到0的下降沿需要2個(gè)機(jī)器周期,因此要求被采樣的電平至少要維持一個(gè)機(jī)器周期。當(dāng)晶振頻率為12MHz時(shí),最高計(jì)數(shù)頻率不超過(guò)1/2MHz,即計(jì)數(shù)脈沖的周期要大于2 ms。 2.2 MCS-51單片機(jī)AT89C51芯片介紹2.2.1單片機(jī)AT89C51引腳功能介紹根據(jù)初步設(shè)計(jì)方案的分析,設(shè)計(jì)一個(gè)數(shù)字時(shí)鐘的應(yīng)用系統(tǒng),以MCS-51系列單片機(jī)AT89C51芯

37、片為基礎(chǔ),它將CPU、RAM、ROM、定時(shí)器/計(jì)數(shù)器和多功能部件集成在一塊芯片上,在我國(guó)應(yīng)用非常廣泛。AT89C51芯片是40引腳雙列直插式封裝芯片,如下圖。其中有些管腳具有兩種功能。這40根引腳中包括電源引腳2根、外接晶振引腳2根、IO引腳32根、控制信號(hào)引腳4根。1、電源類引腳VCC(40腳):接+5 V電源正端。 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

38、.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ù)輸出線)P3.2INT0 (外部中斷0輸入引腳)P3.3INT1 (外部中斷1輸入引腳)P3.4 T0 (定時(shí)器/計(jì)數(shù)器0的外部輸入引腳)P3.5 T1 定時(shí)器/計(jì)數(shù)器0的外部輸入引腳)P3.6 WR(外部數(shù)據(jù)存儲(chǔ)器寫選通信號(hào)引腳)P3.7 RD(外部數(shù)據(jù)存儲(chǔ)器讀選通信號(hào)引腳)3、控制引腳RST/VPP(9腳):復(fù)位引腳,引腳上出現(xiàn)2個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)位。 LE/PROG(30腳):地

39、址鎖存允許信號(hào)。PSEN(29角):外部存儲(chǔ)器讀選通信號(hào)。EA/Vpp(31角):程序存儲(chǔ)器的內(nèi)外部選通,接低電平從外部程序存儲(chǔ)器讀指令,如果接高電平則從內(nèi)部程序存儲(chǔ)器讀指令。2.2.2 AT89C51芯片的內(nèi)存結(jié)構(gòu)MCS-51單片機(jī)包含中央處理器、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說(shuō)明: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)算和控制輸入輸出功能等操

40、作。2、數(shù)據(jù)存儲(chǔ)器(RAM)AT89C51芯片內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問(wèn),而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個(gè),可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。3、程序存儲(chǔ)器(ROM)單片機(jī)內(nèi)部的程序寄存器一般為1K64K字節(jié),通常是只讀存儲(chǔ)器,因?yàn)閱纹瑱C(jī)應(yīng)用系統(tǒng)大多數(shù)是專用系統(tǒng),一旦研制成功,其軟件也就定性,程序固化到只讀存儲(chǔ)器,用只讀存儲(chǔ)器作為程序存儲(chǔ)器,掉電以后程序不會(huì)丟失從而提高系統(tǒng)的可靠性;另外,只讀存儲(chǔ)器集成度高、成本低。根據(jù)單片機(jī)內(nèi)部程序存儲(chǔ)器000H0

41、FFFH程序存儲(chǔ)器0FFFH0000H60KB外部ROM64KB外部RAM4KB內(nèi)部EA=14KB外部EA=0專用寄存器內(nèi)部RAMFFFFH1000H0FFFH0000HFFH80H7FH00H內(nèi)部數(shù)據(jù)存儲(chǔ)器 外部數(shù)據(jù)存儲(chǔ)器圖4 AT89C51芯片程序存儲(chǔ)器結(jié)構(gòu)類型的不同有可分為下列產(chǎn)品:(1)ROM行單片機(jī):內(nèi)部具有工廠掩膜變成的只讀程序儲(chǔ)存器ROM。這種單片機(jī)是定制的,用戶是不能修改ROM中代碼的。(2)EPROM型單片機(jī):內(nèi)部具有EPROM型程序存儲(chǔ)器,對(duì)于有窗口的EPROM型單片機(jī),可以通過(guò)紫外線擦除器擦除EPROM中的程序,用編程工具把新的程序代碼寫入EPROM,且可以反復(fù)擦除和寫入

42、。(3)FLASH Memory型單片機(jī):內(nèi)部含有FLASH Memory型程序存儲(chǔ)器,用戶可以用編程器對(duì)FLASH Memory存儲(chǔ)器快速整體擦除和逐個(gè)字節(jié)寫入,這種單片機(jī)價(jià)格也低、使用方便,是目前最流行的單片機(jī)。4、定時(shí)/計(jì)數(shù)器1)定時(shí)器方式寄存器:TMOD2)定時(shí)器控制寄存器:TCON3)計(jì)數(shù)寄存器:TH0、TL0;TH1、TL1??捎糜谠O(shè)定計(jì)數(shù)初值。5、并行輸入輸出(I/O)口:?jiǎn)纹瑱C(jī)有32個(gè)I/O口,P0,P1,P2,P3口。單片機(jī)是一種數(shù)字芯片,對(duì)于單片機(jī)的操作,從某種意義上講就是對(duì)單片機(jī)I/O口進(jìn)行操作,使其按程序規(guī)定輸出高低電平或者檢測(cè)I/O口電平,51單片機(jī)采用的是TTL電平

43、,規(guī)定高電平為+5V,低電平為0V。2.2.3復(fù)位電路單片機(jī)在啟動(dòng)時(shí)都需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。89系列單片機(jī)的復(fù)位信號(hào)是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí),且振蕩器穩(wěn)定后,如果RST引腳上有一個(gè)高電平并維持2個(gè)機(jī)器周期(24個(gè)振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有:手動(dòng)按鈕復(fù)位和上電復(fù)位。1、手動(dòng)按鈕復(fù)位手動(dòng)按鈕復(fù)位需要人為在復(fù)位輸入端RST上加入高電平。一般采用的辦法是在RST端和正電源Vcc之間接一個(gè)按鈕。當(dāng)人為按下按鈕時(shí),則Vcc的+5V電平就會(huì)直接加到RST端。手動(dòng)按鈕復(fù)位的

44、電路如所示。由于人的動(dòng)作再快也會(huì)使按鈕保持接通達(dá)數(shù)十毫秒,所以,完全能夠滿足復(fù)位的時(shí)間要求。2、上電復(fù)位AT89C51芯片的上電復(fù)位電路,只要在RST復(fù)位輸入引腳上接一電容至Vcc端,下接一個(gè)電阻到地即可。對(duì)于CMOS型單片機(jī),由于在RST端內(nèi)部有一個(gè)下拉電阻,故可將外部電阻去掉,而將外接電容減至22F。上電復(fù)位的工作過(guò)程是在加電時(shí),復(fù)位電路通過(guò)電 容加給RST端一個(gè)短暫的高電平信號(hào),此高電平信號(hào)隨著Vcc對(duì)電容的充電過(guò)程而逐漸回落,即RST端的高電平持續(xù)時(shí)間取決于電容的充電時(shí)間。為了保證系統(tǒng)能夠可靠地復(fù)位,RST端的高電平信號(hào)必須維持足夠長(zhǎng)的時(shí)間。上電時(shí),Vcc的上升時(shí)間約為10ms,而振蕩

45、器的起振時(shí)間取決于振蕩頻率,如晶振頻率為10MHz,起振時(shí)間為1ms;晶振頻率為1MHz,起振時(shí)間則為10ms。在上圖的復(fù)位電路中,當(dāng)Vcc掉電時(shí),必然會(huì)使RST端電壓迅速下降到0V以下,但是,由于內(nèi)部電路的限制作用,這個(gè)負(fù)電壓將不會(huì)對(duì)器件產(chǎn)生損害。另外,在復(fù)位期間,端口引腳處于隨機(jī)狀態(tài),復(fù)位后,系統(tǒng)將端口置為全“l(fā)”態(tài)。如果系統(tǒng)在上電時(shí)得不到有效的復(fù)位,則程序計(jì)數(shù)器PC將得不到一個(gè)合適的初值,因此,CPU可能會(huì)從一個(gè)未被定義的位置開始執(zhí)行程序。2.2.4時(shí)鐘震蕩電路1、時(shí)鐘電路單片機(jī)要不斷的從程序存儲(chǔ)器中取出指令并執(zhí)行,這些執(zhí)行步驟是按節(jié)拍進(jìn)行的,時(shí)鐘電路就是提供CPU運(yùn)行節(jié)拍的電路。AT8

46、9C51的時(shí)鐘電路可以由內(nèi)部或外部?jī)煞N方式產(chǎn)生。AT89C51內(nèi)部具有一個(gè)振蕩電路,內(nèi)部方式就是利用該電路在XTAL.1和XTAL.2兩引腳之間外接晶振和電容C1、C2構(gòu)成并聯(lián)諧振電路,使內(nèi)部震蕩產(chǎn)生自激振蕩如圖所示。晶振頻率可選擇1.2-10MHZ,電容可選則15-100PF,以對(duì)時(shí)鐘頻率起微調(diào)作用。2、CPU時(shí)序的周期單位通過(guò)之中振蕩電路,單片機(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

47、=0.0833us。狀態(tài)周期S:連續(xù)兩個(gè)振蕩周期為一個(gè)狀態(tài)周期。機(jī)器周期:?jiǎn)纹瑱C(jī)完成某種基本操作的時(shí)間稱為機(jī)器周期。一個(gè)機(jī)器周期由6個(gè)狀態(tài)周期(12個(gè)振蕩周期)構(gòu)成。指令周期:執(zhí)行一條指令所需要的時(shí)間。MCS-51的指令周期一般需要1或2個(gè)機(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);動(dòng)態(tài):平均電流

48、4-5mA 峰值電流 100mA。上面這個(gè)只是七段數(shù)碼管引腳圖,其中共陽(yáng)極數(shù)碼管引腳圖和共陰極的是一樣的。  LED數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽(yáng)兩類,右圖是共陰和共陽(yáng)極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。將多只LED的陰極連在一起即為共陰式,而將多只LED的陽(yáng)極連在一起即為共陽(yáng)式。以共陰式為例,如把陰極接地,在相應(yīng)段的陽(yáng)極接上正電源,該段即會(huì)發(fā)光。當(dāng)然,LED的電流通常較小,一般均需在回路中接上限流電阻。假如我們將"b"和"c"段接上正電源,其它端接地或懸空,那么"b"

49、和"c"段發(fā)光,此時(shí),數(shù)碼管顯示將顯示數(shù)字“1”。而將"a"、"b"、"d"、"e"和"g"段都接上正電源,其它引腳懸空,此時(shí)數(shù)碼管將顯示“2”。其它字符的顯示原理類同。表4: 數(shù)碼管顯示01234567893FH06H5BH4FH66H6DH7DH07H7FH6FH2.4 驅(qū)動(dòng)器74LS245芯片74LS245是我們常用的芯片,用來(lái)驅(qū)動(dòng)led或者其他的設(shè)備,它是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。當(dāng)805

50、1單片機(jī)的P0口總線負(fù)載達(dá)到或超過(guò)P0最大負(fù)載能力時(shí),必須接入74LS245等總線驅(qū)動(dòng)器。當(dāng)片選端CE低電平有效時(shí),DIR(AB/BA)=“0”,信號(hào)由 B 向 A 傳輸(接收);DIR=“1”,信號(hào)由 A 向 B 傳輸(發(fā)送);當(dāng)CE為高電平時(shí),A、B均為高阻態(tài)。由于P2口始終輸出地址的高8位,接口時(shí)74LS245的三態(tài)控制端1G和2G接地,P2口與驅(qū)動(dòng)器輸入線對(duì)應(yīng)相連。P0口與74LS245輸入端相連,E端接地,保證數(shù)據(jù)線暢通。8051的/RD和/PSEN相與后接DIR,使得RD且PSEN有效時(shí),74LS245輸入(P0.1D1),其它時(shí)間處于輸出(P0.1D1)。三、單片機(jī)數(shù)字時(shí)鐘的程序

51、設(shè)計(jì)3.1系統(tǒng)開發(fā)環(huán)境、C語(yǔ)言3.1.1系統(tǒng)開發(fā)環(huán)境單片機(jī)的應(yīng)用首先要考慮的是它的開發(fā)平臺(tái),也即我們常說(shuō)的開發(fā)環(huán)境。由于INTEL公司的MCS-51系列較早進(jìn)入我國(guó),事實(shí)上已形成了工業(yè)標(biāo)準(zhǔn),MCS-51的單片機(jī)應(yīng)用場(chǎng)合隨處可見(jiàn),它的軟件資源相當(dāng)豐富,硬件的支持也很完善,價(jià)廉物美的開發(fā)器材隨處可取?,F(xiàn)階段,國(guó)內(nèi)的大部分單片機(jī)開發(fā)工程技術(shù)人員還是普遍使用匯編語(yǔ)言編寫程序。匯編語(yǔ)言有其缺陷性,但它編寫的代碼最小,最直接,效率也最高,所以還深得用戶接受。但是,它有著固有的缺陷,必須十分了解所用單片機(jī)的硬件結(jié)構(gòu),程序編寫困難,代碼難以理解,不易于識(shí)讀,難于移植,排錯(cuò)困難,編寫程序花的時(shí)間相當(dāng)多,調(diào)試不便

52、等等。隨著國(guó)內(nèi)單片機(jī)開發(fā)環(huán)境的完善,開發(fā)技術(shù)水平不斷提高,現(xiàn)在已有相當(dāng)?shù)拈_發(fā)器材支持高級(jí)語(yǔ)言的使用和調(diào)試,為單片機(jī)的開發(fā)應(yīng)用提供了更好的物質(zhì)條件。高級(jí)語(yǔ)言(如C語(yǔ)言)具有開發(fā)周期短,易于識(shí)讀,容易移植,也便于初學(xué)著掌握。誠(chéng)然,高級(jí)語(yǔ)言也有它不足之處,就是高級(jí)語(yǔ)言產(chǎn)生的代碼過(guò)長(zhǎng),對(duì)于早期單片機(jī)不大的ROM來(lái)說(shuō),可是非常突出的矛盾,另外它的運(yùn)行速度太慢,對(duì)于本來(lái)主頻不高的單片機(jī)是致命的弱點(diǎn)。但現(xiàn)在這方面的研制工作也取得了較大的進(jìn)展,高級(jí)語(yǔ)言的弱點(diǎn)也已被較大的克服,象MCS-51上的C語(yǔ)言的代碼長(zhǎng)度,如果未加上人工優(yōu)化條件,也可做到最優(yōu)匯編程序水平的120%150%,這也相當(dāng)可觀了??梢哉f(shuō)相當(dāng)于中等

53、匯編程序員的水平。3.1.2 C語(yǔ)言C語(yǔ)言是目前世界上流行、使用最廣泛的高級(jí)程序設(shè)計(jì)語(yǔ)言。C語(yǔ)言對(duì)操作系統(tǒng)和系統(tǒng)使用程序以及需要對(duì)硬件進(jìn)行操作的場(chǎng)合,用C語(yǔ)言明顯優(yōu)于其它高級(jí)語(yǔ)言,許多大型應(yīng)用軟件都是用C語(yǔ)言編寫的。C語(yǔ)言具有繪圖能力強(qiáng),可移植性,并具備很強(qiáng)的數(shù)據(jù)處理能力,因此適于編寫系統(tǒng)軟件,三維,二維圖形和動(dòng)畫它是數(shù)值計(jì)算的高級(jí)語(yǔ)言。C語(yǔ)言常用的編譯軟件有:MicrosoftVisualC+,BorlandC+,WatcomC+,BorlandC+,BorlandC+Builder,BorlandC+3.1forDOS,WatcomC+11.0forDOS,GNUDJGPPC+,Lccwi

54、n32CCompiler3.1,MicrosoftC,HighC,等等.C語(yǔ)言的發(fā)展歷史C語(yǔ)言的發(fā)展頗為有趣。它的原型ALGOL60語(yǔ)言。1963年,劍橋大學(xué)將ALGOL60語(yǔ)言發(fā)展成為CPL(CombinedProgrammingLanguage)語(yǔ)言。1967年,劍橋大學(xué)的MatinRichards對(duì)CPL語(yǔ)言進(jìn)行了簡(jiǎn)化,于是產(chǎn)生了BCPL語(yǔ)言。1970年,美國(guó)貝爾實(shí)驗(yàn)室的KenThompson將BCPL進(jìn)行了修改,并為它起了一個(gè)有趣的名字“B語(yǔ)言”。意思是將CPL語(yǔ)言煮干,提煉出它的精華。并且他用B語(yǔ)言寫了第一個(gè)UNIX操作系統(tǒng)。而在1973年,B語(yǔ)言也給人“煮”了一下,美國(guó)貝爾實(shí)驗(yàn)室的

55、D.M.RITCHIE在B語(yǔ)言的基礎(chǔ)上最終設(shè)計(jì)出了一種新的語(yǔ)言,他取了BGPL的第二個(gè)字母作為這種語(yǔ)言的名字,這就是C語(yǔ)言。為了使UNIX操作系統(tǒng)推廣,1977年DennisM.Ritchie發(fā)表了不依賴于具體機(jī)器系統(tǒng)的C語(yǔ)言編譯文本可移植的C語(yǔ)言編譯程序。1978年BrianW.Kernighian和DennisM.Ritchie出版了名著TheCProgrammingLanguage,從而使C語(yǔ)言成為目前世界上流行最廣泛的高級(jí)程序設(shè)計(jì)語(yǔ)言。1988年,隨著微型計(jì)算機(jī)的日益普及,出現(xiàn)了許多C語(yǔ)言版本。由于沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),使得這些C語(yǔ)言之間出現(xiàn)了一些不一致的地方。為了改變這種情況,美國(guó)國(guó)家標(biāo)準(zhǔn)

56、研究所(ANSI)為C語(yǔ)言制定了一套ANSI標(biāo)準(zhǔn),成為現(xiàn)行的C語(yǔ)言標(biāo)準(zhǔn)3.C語(yǔ)言的主要特點(diǎn)。C語(yǔ)言發(fā)展迅速,而且成為最受歡迎的語(yǔ)言之一,主要因?yàn)樗哂袕?qiáng)大的功能。許多著名的系統(tǒng)軟件,如DBASEPLUS、DBASE都是由C語(yǔ)言編寫的。用C語(yǔ)言加上一些匯編語(yǔ)言子程序,就更能顯示C語(yǔ)言的優(yōu)勢(shì)了,象PC-DOS、WORDSTAR等就是用這種方法編寫的。 1、C語(yǔ)言的特點(diǎn)1.簡(jiǎn)潔緊湊、靈活方便C語(yǔ)言一共只有32個(gè)關(guān)鍵字,9種控制語(yǔ)句,程序書寫自由,主要用小寫字母表示。它把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來(lái)。C語(yǔ)言可以象匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單

57、元。2.運(yùn)算符豐富C的運(yùn)算符包含的范圍很廣泛,共有種34個(gè)運(yùn)算符。C語(yǔ)言把括號(hào)、賦值、強(qiáng)制類型轉(zhuǎn)換等都作為運(yùn)算符處理。從而使C的運(yùn)算類型極其豐富表達(dá)式類型多樣化,靈活使用各種運(yùn)算符可以實(shí)現(xiàn)在其它高級(jí)語(yǔ)言中難以實(shí)現(xiàn)的運(yùn)算。3.數(shù)據(jù)結(jié)構(gòu)豐富C的數(shù)據(jù)類型有:整型、實(shí)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等。能用來(lái)實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)類型的運(yùn)算。并引入了指針概念,使程序效率更高。另外C語(yǔ)言具有強(qiáng)大的圖形功能,支持多種顯示器和驅(qū)動(dòng)器。且計(jì)算功能、邏輯判斷功能強(qiáng)大。4.C是結(jié)構(gòu)式語(yǔ)言結(jié)構(gòu)式語(yǔ)言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序

58、層次清晰,便于使用、維護(hù)以及調(diào)試。C語(yǔ)言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語(yǔ)句控制程序流向,從而使程序完全結(jié)構(gòu)化。5.C語(yǔ)法限制不太嚴(yán)格、程序設(shè)計(jì)自由度大一般的高級(jí)語(yǔ)言語(yǔ)法檢查比較嚴(yán),能夠檢查出幾乎所有的語(yǔ)法錯(cuò)誤。而C語(yǔ)言允許程序編寫者有較大的自由度。6.C語(yǔ)言允許直接訪問(wèn)物理地址,可以直接對(duì)硬件進(jìn)行操作因此既具有高級(jí)語(yǔ)言的功能,又具有低級(jí)語(yǔ)言的許多功能,能夠象匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單元,可以用來(lái)寫系統(tǒng)軟件。7.C語(yǔ)言程序生成代碼質(zhì)量高,程序執(zhí)行效率高一般只比匯編程序生成的目標(biāo)代碼效率低1020%。8.C語(yǔ)言適用范圍

59、大,可移植性好C語(yǔ)言有一個(gè)突出的優(yōu)點(diǎn)就是適合于多種操作系統(tǒng),如DOS、UNIX,也適用于多種機(jī)型。 3.2數(shù)字時(shí)鐘設(shè)計(jì)的思路及流程3.2.1主程序主程序是先開始,系統(tǒng)初始化、定時(shí)器初始化,脈沖基時(shí)開始跑秒后進(jìn)行按鍵檢測(cè)。若沒(méi)有按鍵設(shè)置,顯示當(dāng)前時(shí)間;若有按鈕按下,按鍵調(diào)時(shí),檢測(cè)完后,時(shí)間設(shè)置完成?系統(tǒng)初始化定時(shí)器初始化啟動(dòng)脈沖跑秒是否按設(shè)置鍵?按鈕設(shè)置時(shí)間圖1 主程序流程圖時(shí)加1顯示當(dāng)前時(shí)間時(shí)加1時(shí)加1就可以顯示更新后的時(shí)間。3.2.2定時(shí)中斷(走時(shí))子程序流程定時(shí)器中斷時(shí),先檢測(cè)50ms脈沖是否計(jì)數(shù)20次,計(jì)數(shù)到20次,秒就加1;如果沒(méi)計(jì)滿60,就返回顯示時(shí)間,如果秒計(jì)滿60秒,就清零秒,給

60、分加1;檢測(cè)分鐘,如果沒(méi)計(jì)滿60,繼續(xù)計(jì)時(shí),返回顯示時(shí)間,如果滿60,就清零分鐘,給小時(shí)加1;檢測(cè)小時(shí),如果沒(méi)計(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í)中斷口3.2.3按鍵調(diào)時(shí)子程序:按鍵調(diào)試程序,是檢測(cè)是否有按鍵按下:(1)如果秒按鍵按下,就給秒加1;(2)如果分按鍵按下,就給分加1;(3)如果小時(shí)按鍵按下,就給小時(shí)加1;(4)如果沒(méi)有按鍵按下,時(shí)鐘就顯示當(dāng)前時(shí)間。秒加1分加1時(shí)加1圖3按鍵調(diào)時(shí)子程序流程圖啟動(dòng)脈沖跑秒

61、是否有按鍵按下?顯示當(dāng)前時(shí)間秒按鍵按下?分按鍵按下?時(shí)按鍵按下?顯示更新后時(shí)間3.3定時(shí)器、計(jì)數(shù)器功能3.3.1定時(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)成。其訪問(wèn)地址依次為8AH-8DH。每個(gè)寄存器均可單獨(dú)訪問(wèn)。這些寄存器是用于存放定時(shí)或計(jì)數(shù)初值的。此外,其內(nèi)部還有一個(gè)8位的定時(shí)器方式寄存器TMOD和一個(gè)8位的定時(shí)控制寄存器TCON。這些寄存器之間是通過(guò)內(nèi)部總線和控制邏輯電路連接起來(lái)的。TMOD主要是用于選定定時(shí)器的工作方式;TCON主要是用于控制定時(shí)器的啟動(dòng)停止,此外

62、TCON還可以保存T0、T1的溢出和中斷標(biāo)志。當(dāng)定時(shí)器工作在計(jì)數(shù)方式時(shí),外部事件通過(guò)引腳T0(P3.4)和T1(P3.5)輸入。3.3.2定時(shí)計(jì)數(shù)器的原理 16位的定時(shí)器/計(jì)數(shù)器實(shí)質(zhì)上就是一個(gè)加1計(jì)數(shù)器,其控制電路受軟件控制、切換。當(dāng)定時(shí)器/計(jì)數(shù)器為定時(shí)工作方式時(shí),計(jì)數(shù)器的加1信號(hào)由振蕩器的12分頻信號(hào)產(chǎn)生,即每過(guò)一個(gè)機(jī)器周期,計(jì)數(shù)器加1,直至計(jì)滿溢出為止。顯然,定時(shí)器的定時(shí)時(shí)間與系統(tǒng)的振蕩頻率有關(guān)。因一個(gè)機(jī)器周期等于12個(gè)振蕩周期,所以計(jì)數(shù)頻率fcount=1/12osc。如果晶振為12MHz,則計(jì)數(shù)周期為:T=1/(12×106)Hz×1/12=1s這是最短的定時(shí)周期。

63、若要延長(zhǎng)定時(shí)時(shí)間,則需要改變定時(shí)器的初值,并要適當(dāng)選擇定時(shí)器的長(zhǎng)度(如8位、13位、16位等)。當(dāng)定時(shí)器/計(jì)數(shù)器為計(jì)數(shù)工作方式時(shí),通過(guò)引腳T0和T1對(duì)外部信號(hào)計(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ù)器。所以檢測(cè)一個(gè)由1至0的跳變需要兩個(gè)機(jī)器周期,故外部事年的最高計(jì)數(shù)頻率為振蕩頻率的1/24。例如,如果選用12MHz晶振,則最高計(jì)數(shù)頻率為0.5MHz。雖然對(duì)外部輸入信號(hào)的占空比無(wú)特殊要求,但為了確保某給定電平在變化前至少被采樣一次,外部計(jì)數(shù)

64、脈沖的高電平與低電平保持時(shí)間均需在一個(gè)機(jī)器周期以上。3.4中斷系統(tǒng)功能CPU暫時(shí)中止其正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行請(qǐng)求中斷的那個(gè)外設(shè)或事件的服務(wù)程序,等處理完畢后再返回執(zhí)行原來(lái)中止的程序, 叫做中斷。 MCS-51單片機(jī)的中斷系統(tǒng)簡(jiǎn)單實(shí)用,其基本特點(diǎn)是:有5個(gè)固定的可屏蔽中斷源,3個(gè)在片內(nèi),2個(gè)在片外,它們?cè)诔绦虼鎯?chǔ)器中各有固定的中斷入口地址,由此進(jìn)入中斷服務(wù)程序;5個(gè)中斷源有兩級(jí)中斷優(yōu)先級(jí),可形成中斷嵌套;2個(gè)特殊功能寄存器用于中斷控制和條件設(shè)置的編程。5個(gè)中斷源的符號(hào)、名稱及產(chǎn)生的條件如下。INT0:外部中斷0,由P32端口線引入,低電平或下跳沿引起。INT1:外部中斷1,由P33端口線引入,

65、低電平或下跳沿引起。T0:定時(shí)器計(jì)數(shù)器0中斷,由T0計(jì)滿回零引起。T1:定時(shí)器計(jì)數(shù)器l中斷,由T1計(jì)滿回零引起。TIRI:串行IO中斷,串行端口完成一幀字符發(fā)送接收后引起。(1)外部中斷請(qǐng)求源:即外中斷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ā)方式,IT0=1,INT0為負(fù)跳變觸發(fā)方式。IE0:INT0中斷請(qǐng)求標(biāo)志位。當(dāng)有外部的中斷請(qǐng)求時(shí),這位就會(huì)置1(這由硬件來(lái)完成),

66、在CPU響應(yīng)中斷后,由硬件將IE0清0。中斷系統(tǒng)的結(jié)構(gòu)如下圖:IT1、IE1的用途和IT0、IE0相同。(2)內(nèi)部中斷請(qǐng)求源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)行時(shí)的環(huán)境(工作程序、使用的資源和地址空間)完全一致,實(shí)現(xiàn)完全的一次性仿真。單片機(jī)的資源包括:片上的CPU、RAM、SFR、定時(shí)器

67、、中斷源、I/O口以及外部可擴(kuò)充的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器地址空間。這些資源應(yīng)允許目標(biāo)系統(tǒng)充分自由地使用,不應(yīng)受到任何限制,使目標(biāo)系統(tǒng)能根據(jù)單片機(jī)固有的資源特性進(jìn)行硬件和軟件的設(shè)計(jì)。2、模擬功能在開發(fā)目標(biāo)系統(tǒng)的過(guò)程中,單片機(jī)的開發(fā)系統(tǒng)允許用戶使用它內(nèi)部的RAM存儲(chǔ)器和輸入輸出來(lái)替代目標(biāo)系統(tǒng)中的ROM程序存儲(chǔ)器、RAM數(shù)據(jù)存儲(chǔ)器和輸入輸出,使用戶在目標(biāo)系統(tǒng)樣機(jī)還未完全配置好以前,便可以借用開發(fā)系統(tǒng)提供的資源進(jìn)行軟件的開發(fā)。在研制目標(biāo)系統(tǒng)開始的初級(jí)階段,目標(biāo)程序還未生成,此時(shí)用戶編寫的程序必須存放在開發(fā)系統(tǒng)RAM存儲(chǔ)器內(nèi),以便于對(duì)程序進(jìn)行調(diào)試和修改。開發(fā)系統(tǒng)所能出借的可作為目標(biāo)系統(tǒng)程序存儲(chǔ)器的RAM

68、,我們常稱之為仿真RAM,開發(fā)系統(tǒng)中仿真RAM容量和地址映射應(yīng)和目標(biāo)機(jī)系統(tǒng)完全一致。3、調(diào)試功能開發(fā)系統(tǒng)對(duì)目標(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é)果,對(duì)存在的硬件故障和軟件錯(cuò)誤進(jìn)行定位。1)單步運(yùn)行:能使CPU從任意的程序地址開始執(zhí)行一條指令后停止運(yùn)行。2)斷點(diǎn)運(yùn)行:允許用戶任意設(shè)置斷點(diǎn)條件,啟動(dòng)CPU從規(guī)定地址開始運(yùn)行后,當(dāng)碰到斷點(diǎn)條件(程序地址和指定斷點(diǎn)地址符合或者CPU訪問(wèn)到指定的數(shù)據(jù)存儲(chǔ)器單元等條件)符合以后停止運(yùn)行。3)全速運(yùn)行:能使CPU從指

69、定地址開始連續(xù)地全速運(yùn)行目標(biāo)程序。4)跟蹤運(yùn)行:類似單步運(yùn)行過(guò)程,但可以跟蹤到子程序中運(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)程序存儲(chǔ)器(開發(fā)系統(tǒng)中的仿真RAM存儲(chǔ)器或目標(biāo)機(jī)中的程序存儲(chǔ)器);2)單片機(jī)中片內(nèi)資源(工作寄存器、特殊功能寄存器、I/O口、RAM數(shù)據(jù)存儲(chǔ)器、位單元);3)系統(tǒng)中擴(kuò)展的數(shù)據(jù)存儲(chǔ)器、I/O口。(3)跟蹤功能高性能的單片機(jī)開發(fā)系統(tǒng)具有邏輯分析儀的功能,在目標(biāo)程序運(yùn)行過(guò)程中,能跟蹤存儲(chǔ)目標(biāo)系統(tǒng)總線上

70、的地址、數(shù)據(jù)和控制信號(hào)的狀態(tài)變化,跟蹤存儲(chǔ)器能同步地記錄總線上的信息,用戶可以根據(jù)需要顯示跟蹤存儲(chǔ)器搜集到的信息,也可以顯示某一位總線狀態(tài)變化的波形。使用戶掌握總線上狀態(tài)變化的過(guò)程,對(duì)各種故障的定位特別有用,可大大提高工作效率。4.2.數(shù)字時(shí)鐘源程序 - 31 -#include<reg52.h>#include<intrins.h>/#include<math.h>#define uchar unsigned char #define uint unsigned intsbit LED = P20;sbit StopLED = P21;code uchar pdat= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uint timer = 0;

溫馨提示

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

評(píng)論

0/150

提交評(píng)論