2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  廣告流水燈設(shè)計</b></p><p><b>  單片機(jī)簡介</b></p><p><b>  1.1單片機(jī)概述</b></p><p>  單片機(jī)又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機(jī)系統(tǒng)集成到一個芯片上。概括的講:一塊芯片就成了一臺計算

2、機(jī)。它的體積小、質(zhì)量輕、價格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用單片機(jī)是了解計算機(jī)原理與結(jié)構(gòu)的最佳選擇。</p><p>  單片機(jī)內(nèi)部也用和電腦功能類似的模塊,比如CPU,內(nèi)存,并行總線,還有和硬盤作用相同的存儲器件,不同的是它的這些部件性能都相對我們的家用電腦弱很多,不過價錢也是低的,一般不超過10元即可......用它來做一些控制電器一類不是很復(fù)雜的工作足矣了。我們現(xiàn)在用的全自動滾筒洗衣機(jī)

3、、排煙罩、VCD等等的家電里面都可以看到它的身影!......它主要是作為控制部分的核心部件?! ∷且环N在線式實時控制計算機(jī),在線式就是現(xiàn)場控制,需要的是有較強(qiáng)的抗干擾能力,較低的成本,這也是和離線式計算機(jī)的(比如家用PC)的主要區(qū)別。</p><p>  1.2、單片機(jī)的發(fā)展歷史</p><p>  單片機(jī)誕生于20世紀(jì)70年代末,經(jīng)歷了SCM、MCU、SoC三大階段。 </p&

4、gt;<p>  SCM即單片微型計算機(jī)(Single Chip Microcomputer)階段,主要是尋求最佳的單片形態(tài)嵌入式系統(tǒng)的最佳體系結(jié)構(gòu)?!皠?chuàng)新模式”獲得成功,奠定了SCM與通用計算機(jī)完全不同的發(fā)展道路。在開創(chuàng)嵌入式系統(tǒng)獨(dú)立發(fā)展道路上,Intel公司功不可沒。 </p><p>  MCU即微控制器(Micro Controller Unit)階段,主要的技術(shù)發(fā)展方向是:不斷擴(kuò)展?jié)M足嵌入

5、式應(yīng)用時,對象系統(tǒng)要求的各種外圍電路與接口電路,突顯其對象的智能化控制能力。它所涉及的領(lǐng)域都與對象系統(tǒng)相關(guān),因此,發(fā)展MCU的重任不可避免地落在電氣、電子技術(shù)廠家。從這一角度來看,Intel逐漸淡出MCU的發(fā)展也有其客觀因素。在發(fā)展MCU方面,最著名的廠家當(dāng)數(shù)Philips公司。 </p><p>  Philips公司以其在嵌入式應(yīng)用方面的巨大優(yōu)勢,將MCS-51從單片微型計算機(jī)迅速發(fā)展到微控制器。因此,當(dāng)我們

6、回顧嵌入式系統(tǒng)發(fā)展道路時,不要忘記Intel和Philips的歷史功績。 </p><p>  單片機(jī)是嵌入式系統(tǒng)的獨(dú)立發(fā)展之路,向MCU階段發(fā)展的重要因素,就是尋求應(yīng)用系統(tǒng)在芯片上的最大化解決;因此,專用單片機(jī)的發(fā)展自然形成了SoC化趨勢。隨著微電子技術(shù)、IC設(shè)計、EDA工具的發(fā)展,基于SoC的單片機(jī)應(yīng)用系統(tǒng)設(shè)計會有較大的發(fā)展。因此,對單片機(jī)的理解可以從單片微型計算機(jī)、單片微控制器延伸到單片應(yīng)用系統(tǒng)。</

7、p><p>  1.3單片機(jī)的應(yīng)用領(lǐng)域</p><p>  單片機(jī)滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用說自動控制領(lǐng)域的機(jī)器

8、人、智能儀表、醫(yī)療器械了。因此,單片機(jī)的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。 </p><p>  單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域</p><p>  2、單片機(jī)軟件開發(fā)的特點(diǎn)與方法</p><p>  由于單片機(jī)通常是為應(yīng)用系統(tǒng)而設(shè)計的,本身一般不具有自我開發(fā)和編程的能力,

9、因此必須借助于開發(fā)工具來開發(fā)。單片機(jī)最突出的特點(diǎn)是其本身就是一個完整的應(yīng)用系統(tǒng),可以通過對單片機(jī)的選型和多個聯(lián)用滿足不同要求。若無特殊需要,不必進(jìn)行擴(kuò)展(如ROM、RAM、I/O、A/D 等擴(kuò)展)。而是合理選用以達(dá)到最佳利用單片機(jī)的資源,在設(shè)計時,通??闪粲羞m量余地。單片機(jī)既然是一個完整的應(yīng)用系統(tǒng),必然與外界有較多的聯(lián)系,這些聯(lián)系通常通過I/O 接口進(jìn)行,以滿足用戶的不同要求。因此,單片機(jī)的產(chǎn)品開發(fā)特點(diǎn)是:選用合適機(jī)型,開發(fā)實用軟件。說

10、明兩點(diǎn):項目的可行性論證:在著手系統(tǒng)設(shè)計之前,必須提出任務(wù)及要求,確定系統(tǒng)設(shè)計的技術(shù)指標(biāo)。系統(tǒng)總體方案:是開發(fā)產(chǎn)品的關(guān)鍵環(huán)節(jié)。在充分調(diào)研的基礎(chǔ)上選擇好單片機(jī)機(jī)型和關(guān)鍵元器件;要充分考慮貨源、開發(fā)工具及外圍電路等;還要分配協(xié)調(diào)好軟、硬件功能,通常硬件和軟件具有一定的互換性。開發(fā)單片機(jī)應(yīng)用系統(tǒng)產(chǎn)品,開發(fā)工具處于重要地位。在硬件調(diào)試、程序調(diào)試及聯(lián)調(diào)時,都需使用開發(fā)系統(tǒng),甚至在進(jìn)行總體設(shè)計時,某些技術(shù)問題也需要驗證。開發(fā)系統(tǒng)還是鑒定性能的得力工

11、具,因此,在選用開發(fā)系統(tǒng)時,要選擇性能優(yōu)良的開發(fā)</p><p>  單片機(jī)系統(tǒng)設(shè)計過程簡介</p><p>  單片機(jī)應(yīng)用系統(tǒng)設(shè)計技術(shù)是電子技術(shù)領(lǐng)域中應(yīng)用最為廣泛的一項技術(shù)。掌握單片機(jī)系統(tǒng)的軟/硬件開發(fā)技術(shù),對于從事電子工程的專業(yè)技術(shù)人員來說,具有舉足輕重的意義</p><p>  單片機(jī)系統(tǒng)的研制步驟和方法一般都分為總體設(shè)計、硬件電路的構(gòu)思設(shè)計、軟件的編制和仿真

12、調(diào)試幾個階段。</p><p><b>  3.1總體設(shè)計</b></p><p><b>  確立功能特性指標(biāo),</b></p><p><b>  確定單片機(jī)的機(jī)型</b></p><p>  確定軟件的編寫和支持工具</p><p>  3.2 硬

13、件電路設(shè)計</p><p>  外圍擴(kuò)展的存儲器1、程序存儲器2、數(shù)據(jù)存儲器</p><p><b>  單片機(jī)的系統(tǒng)總線</b></p><p><b>  I/O口</b></p><p>  A/D和D/A轉(zhuǎn)換器</p><p><b>  3.3軟件設(shè)計&l

14、t;/b></p><p><b>  確定系統(tǒng)資源</b></p><p><b>  確定程序結(jié)構(gòu)</b></p><p><b>  確定數(shù)學(xué)模型</b></p><p><b>  確定程序流程</b></p><p>

15、;<b>  編制程序</b></p><p><b>  廣告流水燈概述</b></p><p>  作為現(xiàn)代裝飾的一種元素,廣告流水燈被應(yīng)用到許多地方,在諸多的娛樂場所、理發(fā)店、賓館、飯店、公司等的門外,我們都可以看得各式各樣的廣告流水燈。所謂的廣告流水燈,就是將一系列的廣告燈串聯(lián)在一起,然后令這些燈按一定的次序逐個或幾個的依次點(diǎn)亮或熄滅。由

16、于廣告燈點(diǎn)亮產(chǎn)生的效果就像流水一樣,因此就稱這類廣告燈為廣告流水燈</p><p>  我們的生活中有各種各樣的廣告流水燈,其形式和點(diǎn)亮的順序是多種多樣的,有單一顏色的幾個燈按固定次序來點(diǎn)亮,有多個不同顏色的構(gòu)成某一圖案依次點(diǎn)亮的,也有多排廣告燈按多種組合好的順序循環(huán)點(diǎn)亮的,可以說各種各樣的形式多不勝數(shù),而如此多的燈,如此多的點(diǎn)亮順序是如何控制的呢,這就是我們要解決的問題。</p><p>

17、;<b>  設(shè)計任務(wù)分析</b></p><p>  生活中有各種各樣的流水廣告燈,我們不可能一一進(jìn)行分析,現(xiàn)在我們設(shè)計其中一種最簡單的廣告流水燈,使用單片機(jī)控制8個彩燈的點(diǎn)亮,要求廣告燈從左到右循環(huán)點(diǎn)亮兩次,每燈點(diǎn)亮?xí)r間為0.2秒,再從右到左循環(huán)點(diǎn)亮兩次,每燈點(diǎn)亮?xí)r間也為0.2秒,然后再所以的燈一起閃爍兩次,每次燈亮的時間也為0.2秒,通過對其的設(shè)計,我們可以了解廣告流水燈的控制原理,從

18、而推廣到各種復(fù)雜的廣告流水燈。廣告流水燈的控制即控制各個燈的點(diǎn)亮順序,點(diǎn)亮方法,點(diǎn)亮?xí)r間,點(diǎn)亮次數(shù)等。</p><p>  我們使用單片機(jī)控制廣告流水燈的工作,要實現(xiàn)上述功能,必修要求一塊8051單片機(jī),470?的電阻8個,小彩燈8個,30uf的電容3個以及一個12MHz的晶體振蕩器一個。</p><p><b>  電路設(shè)計分析</b></p><

19、;p>  我們可以采用單片機(jī)的P2端口的八個引腳來控制8個廣告燈的點(diǎn)亮,電源部分采用5V的直流電源,晶體振蕩器采用12MHz的石英晶體振蕩器。下圖為采用單片機(jī)的I/O口控制廣告流水燈的電路圖:</p><p>  在下面的程序中,我們將實現(xiàn)廣告燈從左到右單個點(diǎn)亮兩次,每次的順序為P2.0燈亮---P2.1燈亮---P2.2燈亮---P2.3燈亮---P2.4燈亮---P2.5燈亮----P2.6燈亮---P

20、2.7燈亮,然后再從右到左單個移動點(diǎn)亮兩輪,即每輪點(diǎn)亮的次序為:P2.7燈亮--- P2.6燈亮--- P2.5燈亮--- P2.4燈亮--- P2.3燈亮--- P2.2燈亮--- P2.1燈亮---P2.0燈亮,之后,再使所有廣告燈閃爍兩次,即先所有燈點(diǎn)亮,然后在所有燈熄滅,如此反復(fù)兩次。</p><p>  流水廣告燈設(shè)計電路圖</p><p><b>  程序設(shè)計分析&l

21、t;/b></p><p>  在使用I/O口控制廣告流水燈的程序中,我們可以使用多種不同的方法來實現(xiàn)。方法一:我們可以使用一般簡易端口控制方法來控制廣告流水燈;方法二:使用定時器的不同工作方式來實現(xiàn)廣告燈控制程序設(shè)計;方法三:利用中斷控制法來實現(xiàn)廣告燈控制程序設(shè)計。</p><p>  對于方法一,我們又可以使用兩種不同的方法來實現(xiàn),第一種是將移動前的顯示初值通過程序來給定,然后逐

22、次運(yùn)用左移或右移指令,從而實現(xiàn)顯示值的移動點(diǎn)亮;另一種方法是將所有的顯示值編成一個表,然后在程序中通過差別的方式來逐個輸出各顯示值的數(shù)據(jù)。設(shè)計中要求燈每次亮兩次后再熄滅,必將使用到延時程序,所有可以事先編寫出延時程序來。</p><p>  對于方法二,我們可以使用定時器四種不同的工作方式來實現(xiàn),可以通過定時器方式寄存器TMOD來選擇定時器的不同工作方式,即13位、16位、8位重裝和兩個8位獨(dú)立計算數(shù)器,選擇那種

23、工作方式由TMOD的M1M0兩位的狀態(tài)設(shè)定。</p><p>  51單片機(jī)主要是通過TCON和TMOD兩個特殊功能寄存器來來實現(xiàn)的定時和計算功能的。</p><p>  7.1定時器控制寄存器TCON</p><p>  定時器控制寄存器TCON是一個8位寄存器, TCON的作用是控制定時器的啟、停,標(biāo)志定時器溢出和中斷情況。</p><p&g

24、t;  TCON的格式如下圖所示。其中,TFl,TRl,TF0和TR0位用于定時器/計數(shù)器;IEl,ITl,IE0和IT0位用于中斷系統(tǒng)。</p><p><b>  各位定義如下:</b></p><p>  TF1:定時器1溢出標(biāo)志位。當(dāng)定時器1計滿溢出時,由硬件使TF1置“1”,并且申請中斷。進(jìn)入中斷服務(wù)程序后,由硬件自動清“0”,在查詢方式下用軟件清“0”。&

25、lt;/p><p>  TR1:定時器1運(yùn)行控制位。由軟件清“0”關(guān)閉定時器1。當(dāng)GATE=1,且INT1為高電平時,TR1置“1”啟動定時器1;當(dāng)GATE=0,TR1置“1”啟動定時器1。</p><p>  TF0:定時器0溢出標(biāo)志。其功能及操作情況同TF1。</p><p>  TR0:定時器0運(yùn)行控制位。其功能及操作情況同TR1。</p><

26、p>  IE1:外部中斷1請求標(biāo)志。</p><p>  IT1:外部中斷1觸發(fā)方式選擇位。</p><p>  IE0:外部中斷0請求標(biāo)志。</p><p>  IT0:外部中斷0觸發(fā)方式選擇位。 </p><p>  由于定時器/計數(shù)器的功能是由軟件編程確定的,所以一般在使用定時/計數(shù)器前都要對其進(jìn)行初始化,使其按設(shè)定的功能工作。初

27、始貨的步驟一般如下:</p><p>  1)、確定工作方式(即對TMOD賦值);</p><p>  2)、預(yù)置定時或計數(shù)的初值(可直接將初值寫入TH0、TL0或TH1、TL1);</p><p>  3)、根據(jù)需要開放定時器/計數(shù)器的中斷(直接對IE位賦值);</p><p>  4)、啟動定時器/計數(shù)器</p><p

28、>  定時器的定時時間與系統(tǒng)的振蕩頻率有關(guān)。因一個機(jī)器周期等于12個振蕩周期,所以計數(shù)頻率fcount=1/12osc。如果晶振為12MHz,則計數(shù)周期為:     T=1/(12×106)Hz×1/12=1μs</p><p>  下面介紹一下確定時時/計數(shù)器初值的具體方法。</p><p>  因為在不同工作方式下計數(shù)

29、器位數(shù)不同,因而最大計數(shù)值也不同。</p><p>  現(xiàn)假設(shè)最大計數(shù)值為M,那么各方式下的最大值M值如下:</p><p>  方式0:M=2^13=8 192</p><p>  方式1:M=2^16=65 536</p><p>  方式2:M=2^8=256</p><p>  方式3:定時器0分成兩個8位計數(shù)

30、器,所以兩個M均為256。</p><p>  因為定時器/計數(shù)器是作“加1”計數(shù),并在計數(shù)滿溢出時產(chǎn)生中斷,因此初值X可以這樣計算:</p><p><b>  X=M-計數(shù)值</b></p><p>  7.2定時器控方式存器TMOD</p><p>  TMOD的格式如下圖所示。</p><p&

31、gt;  由圖可見,TMOD的高4位用于T1,低4使用于T0,4種符號的含義如下:</p><p>  GATE:門控制位。GATE和軟件控制位TR、外部引腳信號INT的狀態(tài),共同控制定時器/計數(shù)器的打開或關(guān)閉。</p><p>  C/T:定時器/計數(shù)器選擇位。C/T=1,為計數(shù)器方式;C/T=0,為定時器方式。</p><p>  M1M0:工作方式選擇位,定時

32、器/計數(shù)器的4種工作方式由M1M0設(shè)定。</p><p>  M0M1        工作方式                功能描述0 0    

33、             工作方式0          13位計數(shù)器</p><p>  0 1         

34、         工作方式1          16位計數(shù)器</p><p>  1 0             &

35、#160;    工作方式2           自動再裝入8位計數(shù)器</p><p>  1 1               

36、0;  工作方式3          定時器0:分成兩個8位計數(shù)器,定時器1:停止計數(shù)</p><p><b>  流程圖</b></p><p>  下圖為簡易端口控制廣告燈的兩種程序編寫方法下的程序流程圖</p><p>  表10.1 左移

37、和右移指令法程序流程圖</p><p>  表10.2 查表法程序流程圖</p><p><b>  10、編寫程序</b></p><p>  方法一:利用左移或者右移指令方法實現(xiàn)廣告流水燈的控制</p><p>  因為我們設(shè)計的燈每亮一次的時間為0.2秒,所以可以先編寫一個延時0.2s的延時程序,當(dāng)遇到燈亮或滅需0

38、.2s時,可以調(diào)用該子程序。編寫程序時,先編寫左移指令,再編寫右移指令,再最后編寫閃爍指令。具體程序見附錄。</p><p>  方法二、利用取表法實現(xiàn)廣告流水燈的控制</p><p>  在用表格進(jìn)行程序設(shè)計的時候,要用以下的指令來完成(1).利用MOV DPTR,#DATA16的指令來使數(shù)據(jù)指針寄存器指到表的開頭。(2).利用MOVC A,@A+DPTR的指令,根據(jù)累加器的值再加上DP

39、TR的值,就可以使程序計數(shù)器PC指到表格內(nèi)所要取出的數(shù)據(jù)。</p><p>  因此,只要把控制碼建成一個表,而利用MOVC A,@A+DPTR做取碼的操作,就可方便地處理一些復(fù)雜的控制動作。</p><p><b>  具體程序見附錄。</b></p><p>  方法三:使用定時器的方法控制流水燈。</p><p>

40、  定時器T0或T1無論用作定時器或計數(shù)器都有4種工作方式:方式0、方式1、方式2和方式3。除方式3外,T0和T1有完全相同的工作狀態(tài)。下面我們使用T0來控制廣告流水燈。</p><p>  工作方式0: 13位方式由TL1的低5位和TH1的8位構(gòu)成13位計數(shù)器(TL1的高3位無效)。工作方式0的結(jié)構(gòu)見下圖:</p><p>  為定時/計數(shù)選擇:C/T=0,T0為定時器,定時信號為振蕩周

41、期12分頻后的脈沖;</p><p>  定時器T0能否啟動工作,還受到了TR0、GATE和引腳信號INT1的控制。由圖中的邏輯電路可知,當(dāng)GATE=0時,只要TR0=1就可打開控制門,使定時器工作;當(dāng)GATE=1時,只有TR0=1且INT0=1,才可打開控制門。GATE,TR0,C/T的狀態(tài)選擇由定時器的控制寄存器TMOD,TCON中相應(yīng)位狀態(tài)確定,INT0則是外部引腳上的信號。</p><

42、p>  在方式0下,當(dāng)為計數(shù)工作方式時,計數(shù)值的范圍是: 1~8192(2^13)</p><p>  當(dāng)為定時工作方式時,定時時間的計算公式為:</p><p> ?。?^13-計數(shù)初值)×晶振周期×12  </p><p>  其時間單位與晶振周期或機(jī)器周期相同(ms)。</p><p>  

43、廣告流水燈每0.2s閃爍一次,因此可使定時器在各種工作方式下的定時時間均為0.2s。</p><p>  定時0.2s的初值為:</p><p>  2x10^3= (2^13-計數(shù)初值)×晶振周期×12  </p><p>  計數(shù)初值為6192,即1830H,因此,在工作方式0下,可設(shè)TH0為18H,TL0為30

44、H,</p><p> ?、?TMOD寄存器初始化</p><p>  為把定時器/計數(shù)器1設(shè)定為方式0,則M1M0=00;為實現(xiàn)定時功能,應(yīng)使C/T=0;為實現(xiàn)定時器/計數(shù)器0的運(yùn)行控制,則GATE=0。定時器/計數(shù)器1不用,有關(guān)位設(shè)定為0。因此TMOD寄存器應(yīng)初始化為00H。</p><p>  ⑶ 由定時器控制寄存器TCON中的TR0位控制定時的啟動和停止&#

45、160;   TR0=1啟動,TR0=0停止。具體程序見附錄。</p><p><b>  工作方式1:</b></p><p>  方式1是16位計數(shù)結(jié)構(gòu)的工作方式,計數(shù)器由TH0全部8位和TL0全部8位構(gòu)成。與工作方式0基本相同,區(qū)別僅在于工作方式1的計數(shù)器TL1和TH1組成16位計數(shù)器,從而比工作方式0有更寬的定時/計數(shù)范圍。</p&g

46、t;<p>  當(dāng)為計數(shù)工作方式時,計數(shù)值的范圍是:</p><p>  1~65536(216)</p><p>  當(dāng)為定時工作方式時,定時時間計算公式為:</p><p>  (2^16-計數(shù)初值)×晶振周期×12 或(216-計數(shù)初值)×機(jī)器周期</p><p><b>

47、 ?、?計算計數(shù)初值</b></p><p> ?。?^16-計數(shù)初值)×晶振周期×12=2000</p><p>  計數(shù)初值為63536,即0F830H,因此,在工作方式0下,可設(shè)TH0為F8H,TL0為30H,</p><p>  ⑵ TMOD寄存器初始化</p><p><b>  TMOD=

48、01H</b></p><p><b>  具體程序見附錄。</b></p><p><b>  工作方式2:</b></p><p>  16位定時器/計數(shù)器被拆成兩個8位寄存器TH0和TL0,CPU在對它們初始化時必須裝入相同的定時器/計數(shù)器初值。以TL0作計數(shù)器,而TH0作為預(yù)置寄存器。當(dāng)計數(shù)滿溢出時,T

49、F0置“1”,同時TH0將計數(shù)初值以硬件方法自動裝入TL0。</p><p>  當(dāng)為定時工作方式時,定時時間計算公式為:</p><p>  (2^8-計數(shù)初值)×晶振周期×12   或    (216-計數(shù)初值)×機(jī)器周期</p><p><b> ?、?計算計數(shù)初值<

50、;/b></p><p> ?。?^8-計數(shù)初值)×晶振周期×12=2000</p><p>  計數(shù)初值為6,即0006H,因此,在工作方式2下,可設(shè)TH0為00H,TL0為06H,</p><p> ?、?TMOD寄存器初始化</p><p><b>  TMOD=10H</b></p

51、><p><b>  工作方式3:</b></p><p>  TL0:8位定時器/計數(shù)器,使用T0原有控制資源TR0和TF0,其功能和操作與方式0或方式1完全相同。</p><p>  TH0:只能作為8位定時器,借用T1的控制位TR1和TF1,只能對片內(nèi)機(jī)器周期脈沖計數(shù)。</p><p>  在方式3模式下,定時器/計數(shù)

52、器0可以構(gòu)成兩個定時器或者一個定時器和一個計數(shù)器。</p><p>  當(dāng)為定時工作方式時,定時時間計算公式為:</p><p> ?。?^8-計數(shù)初值)×晶振周期×12 或 (216-計數(shù)初值)×機(jī)器周期</p><p><b>  ⑴ 計算計數(shù)初值</b></p><p&

53、gt; ?。?^8-計數(shù)初值)×晶振周期×12=2000</p><p>  計數(shù)初值為6,即0006H,因此,在工作方式2下,可設(shè)TH0為00H,TL0為06H,</p><p> ?、?TMOD寄存器初始化</p><p><b>  TMOD=10H</b></p><p>  廣告流水燈的改進(jìn)

54、與推廣</p><p>  廣告流水燈的控制除了使用查表、定時器的方法進(jìn)行控制外,還可以使用中斷的方法進(jìn)行編程??梢允褂猛獠恐袛郔NT0控制廣告流水燈,也可以使用記時中斷和外部中斷INT0同時存在的方法控制流水燈,還可以使用外部中斷INT0和INT1同時存在的方法控制廣告流水燈。</p><p><b>  參考文獻(xiàn)</b></p><p> 

55、 [1] 余錫存,《單片機(jī)原理與接口技術(shù)》,西安電子科技大學(xué),2007年</p><p>  [2] 肖倩,《單片機(jī)入門與趣味實驗設(shè)計》,北京航空航天大學(xué)出版社,2007年</p><p>  [3] 林志琦,《基于Proteus的單片機(jī)可視化軟硬件仿真》,北京航空航天大學(xué)出版社,2007年</p><p><b>  附錄</b></p

56、><p>  附錄一:利用左移或者右移指令方法實現(xiàn)的控制廣告流水燈源程序</p><p>  附錄二:利用查表的方法實現(xiàn)的控制廣告流水燈源程序</p><p>  附錄三:定時器T0工作在工作方式0時的源程序</p><p>  附錄四:定時器T0工作在工作方式1時的源程序</p><p>  附錄五:定時器T0工作在工作

57、方式2時的源程序</p><p>  附錄六:定時器T0工作在工作方式3時的源程序</p><p>  附錄一:利用左移或者右移指令方法實現(xiàn)的控制廣告流水燈源程序:</p><p><b>  ORG 00H</b></p><p>  START: MOV A,#0FFH ;移動前,使所

58、有的燈都不亮</p><p><b>  CLR C</b></p><p>  MOV R1,#02H ;設(shè)從左到右移動兩輪</p><p>  M1: MOV R2,#08H ;設(shè)從左到右移動8次</p><p>  LOOP: RLC A

59、 ;左移一位</p><p>  MOV P2,A ;輸出到P2</p><p>  CALL DELAY ;調(diào)用延時程序</p><p>  DJNZ R2,LOOP ;左移不到七次就返回</p><p>  DJNZ R

60、1,M1 ;循環(huán)不到兩輪就繼續(xù)</p><p>  MOV R1,#02H ;從右到左移動兩輪</p><p>  M2: MOV R2,#07H ;每輪移動7次</p><p>  LOOP1: RRC A ;右移一位</

61、p><p>  MOV P2, A ;輸出到P2</p><p>  CALL DELAY ;調(diào)用延時程序</p><p>  DJNZ R2,LOOP1 ;右移不到七次就返回</p><p>  DJNZ R1,M2 ;循環(huán)不到兩輪

62、就繼續(xù)</p><p>  MOV R1,#02H ;閃爍兩次</p><p>  M3: MOV P2,#0FFH ;全滅</p><p>  CALL DELAY ;調(diào)用延時程序</p><p>  MOV P2,#00H

63、 ;全亮</p><p>  CALL DELAY ;延時</p><p>  DJNZ R1,M3 ;閃爍不到兩次就繼續(xù)</p><p>  JIM START</p><p>  DELAY: MOV R3,#20H ;延時程序<

64、;/p><p>  D1: MOV R4,#20H</p><p>  D2: MOV #248H</p><p>  DJNZ R5,$</p><p>  DJNZ R4,D2</p><p>  DJNZ R3,D1</p><p><b>  RET&

65、lt;/b></p><p><b>  END</b></p><p>  附錄二:利用查表的方法實現(xiàn)的控制廣告流水燈源程序:                    

66、60;       </p><p><b>  ORG 00H</b></p><p>  START:               MOV DPTR,#TABLE&l

67、t;/p><p>  LOOP:                CLR A</p><p>  MOVC A,@A+DPTR</p><p>  CJNE A,#01H,LOOP1</p><p>

68、<b>  JMP START</b></p><p>  LOOP1:              MOV P1,A</p><p>  MOV R3,#20</p><p>  LCALL DELAY</p&

69、gt;<p><b>  INC DPTR</b></p><p><b>  JMP LOOP</b></p><p>  DELAY:              MOV R4,#20</p>

70、;<p>  D1:                     MOV R5,#248</p><p><b>  DJNZ R5,$</b></p><p>  DJNZ R4

71、,D1</p><p>  DJNZ R3,DELAY</p><p><b>  RET</b></p><p>  TABLE:              DB 0FEH,0FDH,0FBH,0F7H</p

72、><p>  DB 0EFH,0DFH,0BFH,07FH</p><p>  DB 0FEH,0FDH,0FBH,0F7H</p><p>  DB 0EFH,0DFH,0BFH,07FH               

73、</p><p>  DB 07FH,0BFH,0DFH,0EFH</p><p>  DB 0F7H,0FBH,0FDH,0FEH</p><p>  DB 07FH,0BFH,0DFH,0EFH</p><p>  DB 0F7H,0FBH,0FDH,0FEH</p><p>  DB 00H, 0FFH,00H,

74、 0FFH</p><p><b>  DB 01H</b></p><p><b>  END</b></p><p>  附錄三:定時器T0工作在工作方式0時的源程序:</p><p><b>  ORG 00H</b></p><p>  MOV

75、 TMOD, #00H</p><p>  START: MOV A,#0FFH ;移動前,使所有的燈都不亮</p><p><b>  CLR C</b></p><p>  MOV R1,#02H ;設(shè)從左到右移動兩輪</p><p>  D1:

76、MOV R2,#08H ;設(shè)從左到右移動8次</p><p>  LOOP: RLC A ;左移一位</p><p>  MOV P2,A ;輸出到P2</p><p>  MOV R3,#100</p><p>  CALL DELA

77、Y ;調(diào)用延時程序</p><p>  DJNZ R2,LOOP ;左移不到七次就返回</p><p>  DJNZ R1,D1 ;循環(huán)不到兩輪就繼續(xù)</p><p>  MOV R1,#02H ;從右到左移動兩輪</p><p> 

78、 D2: MOV R2,#07H ;每輪移動7次</p><p>  LOOP1: RRC A ;右移一位</p><p>  MOV P2, A ;輸出到P2</p><p>  MOV R3,#100</p><p>  

79、CALL DELAY ;調(diào)用延時程序</p><p>  DJNZ R2,LOOP1 ;右移不到七次就返回</p><p>  DJNZ R1,D2 ;循環(huán)不到兩輪就繼續(xù)</p><p>  MOV R1,#02H ;閃爍兩次</p><

80、;p>  D3: MOV P2,#0FFH ;全滅</p><p>  MOV R3,#100</p><p>  CALL DELAY ;調(diào)用延時程序</p><p>  MOV P2,#00H ;全亮</p><p>  MOV R

81、3,#100</p><p>  CALL DELAY ;延時</p><p>  DJNZ R1,M3 ;閃爍不到兩次就繼續(xù)</p><p>  JIM START</p><p><b> ??;延時程序</b></p><p> 

82、 DELAY: SETB TR0 ;啟動T0開始時間</p><p>  AGAIN MOV TL0,#30H ;設(shè)定初值為2ms</p><p>  MOV TH0,#18H</p><p>  LOOP2: JBC TF0,LOOP3 ;檢查是否溢出</p>

83、<p>  JMP LOOP2</p><p>  LOOP3: DJNZ R3,AGAIN ;設(shè)定時間不到就繼續(xù)</p><p>  CLR TR0 ;設(shè)定時間到就停止T0記時</p><p><b>  RET</b></p><p>

84、;<b>  END</b></p><p>  附錄四:定時器T0工作在工作方式1時的源程序:</p><p><b>  ORG 00H</b></p><p>  MOV TMOD, #01H</p><p>  START: MOV A,#0FFH ;移動前

85、,使所有的燈都不亮</p><p><b>  CLR C</b></p><p>  MOV R1,#02H ;設(shè)從左到右移動兩輪</p><p>  D1: MOV R2,#08H ;設(shè)從左到右移動8次</p><p>  LOOP: RLC A

86、 ;左移一位</p><p>  MOV P2,A ;輸出到P2</p><p>  MOV R3,#20</p><p>  CALL DELAY ;調(diào)用延時程序</p><p>  DJNZ R2,LOOP ;左

87、移不到七次就返回</p><p>  DJNZ R1,D1 ;循環(huán)不到兩輪就繼續(xù)</p><p>  MOV R1,#02H ;從右到左移動兩輪</p><p>  D2: MOV R2,#07H ;每輪移動7次</p><p>  LOOP1:

88、 RRC A ;右移一位</p><p>  MOV P2, A ;輸出到P2</p><p>  MOV R3,#20</p><p>  CALL DELAY ;調(diào)用延時程序</p><p>  DJNZ R2,LOOP1

89、 ;右移不到七次就返回</p><p>  DJNZ R1,D2 ;循環(huán)不到兩輪就繼續(xù)</p><p>  MOV R1,#02H ;閃爍兩次</p><p>  D3: MOV P2,#0FFH ;全滅</p><p>  MOV

90、 R3,#20</p><p>  CALL DELAY ;調(diào)用延時程序</p><p>  MOV P2,#00H ;全亮</p><p>  MOV R3,#20</p><p>  CALL DELAY ;延時</p><

91、p>  DJNZ R1,M3 ;閃爍不到兩次就繼續(xù)</p><p>  JIM START</p><p><b> ??;延時程序</b></p><p>  DELAY: SETB TR0 ;啟動T0開始時間</p><p>  AGAIN

92、 MOV TL0,#30H ;設(shè)定初值為2ms</p><p>  MOV TH0,#F8H </p><p>  LOOP2: JBC TF0,LOOP3 ;檢查是否溢出</p><p>  JMP LOOP2</p><p>  LOOP3: DJNZ

93、R3,AGAIN ;設(shè)定時間不到就繼續(xù)</p><p>  CLR TR0 ;設(shè)定時間到就停止T0記時</p><p><b>  RET</b></p><p><b>  END</b></p><p>  附錄五:定時器T0工作在工

94、作方式2時的源程序:</p><p><b>  ORG 00H</b></p><p>  MOV TMOD, #02H</p><p>  START: MOV A,#0FFH ;移動前,使所有的燈都不亮</p><p><b>  CLR C</b><

95、/p><p>  MOV R1,#02H ;設(shè)從左到右移動兩輪</p><p>  D1: MOV R2,#08H ;設(shè)從左到右移動8次</p><p>  LOOP: RLC A ;左移一位</p><p>  MOV P2,A

96、 ;輸出到P2</p><p>  MOV R3,#200</p><p>  CALL DELAY ;調(diào)用延時程序</p><p>  DJNZ R2,LOOP ;左移不到七次就返回</p><p>  DJNZ R1,D1 ;循環(huán)

97、不到兩輪就繼續(xù)</p><p>  MOV R1,#02H ;從右到左移動兩輪</p><p>  D2: MOV R2,#07H ;每輪移動7次</p><p>  LOOP1: RRC A ;右移一位</p><p>  MOV

98、 P2, A ;輸出到P2</p><p>  MOV R3,#200</p><p>  CALL DELAY ;調(diào)用延時程序</p><p>  DJNZ R2,LOOP1 ;右移不到七次就返回</p><p>  DJNZ R1,D2

99、 ;循環(huán)不到兩輪就繼續(xù)</p><p>  MOV R1,#02H ;閃爍兩次</p><p>  D3: MOV P2,#0FFH ;全滅</p><p>  MOV R3,#200</p><p>  CALL DELAY ;

100、調(diào)用延時程序</p><p>  MOV P2,#00H ;全亮</p><p>  MOV R3,#200</p><p>  CALL DELAY ;延時</p><p>  DJNZ R1,M3 ;閃爍不到兩次就繼續(xù)</p>&

101、lt;p>  JIM START</p><p><b>  ;延時程序</b></p><p>  DELAY: SETB TR0 ;啟動T0開始時間</p><p>  AGAIN MOV TL0,#06H ;設(shè)定初值為2ms</p><p> 

102、 MOV TH0,#00H </p><p>  LOOP2: JBC TF0,LOOP3 ;檢查是否溢出</p><p>  JMP LOOP2</p><p>  LOOP3: DJNZ R3,AGAIN ;設(shè)定時間不到就繼續(xù)</p><p>  CLR

103、 TR0 ;設(shè)定時間到就停止T0記時</p><p><b>  RET</b></p><p><b>  END</b></p><p>  附錄六:定時器T0工作在工作方式3時的源程序:</p><p><b>  ORG 00H</b&

104、gt;</p><p>  MOV TMOD, #03H</p><p>  START: MOV A,#0FFH ;移動前,使所有的燈都不亮</p><p><b>  CLR C</b></p><p>  MOV R1,#02H ;設(shè)從左到右移動兩輪<

105、;/p><p>  D1: MOV R2,#08H ;設(shè)從左到右移動8次</p><p>  LOOP: RLC A ;左移一位</p><p>  MOV P2,A ;輸出到P2</p><p>  MOV R4,#04<

106、;/p><p>  A1: MOV R3,#200</p><p>  CALL DELAY ;調(diào)用延時程序</p><p>  DJNZ R4,A1</p><p>  DJNZ R2,LOOP ;左移不到七次就返回</p><p>  DJNZ R1

107、,D1 ;循環(huán)不到兩輪就繼續(xù)</p><p>  MOV R1,#02H ;從右到左移動兩輪</p><p>  D2: MOV R2,#07H ;每輪移動7次</p><p>  LOOP1: RRC A ;右移一位</p

108、><p>  MOV P2, A ;輸出到P2</p><p>  MOV R4,#04</p><p>  A2: MOV R3,#200</p><p>  CALL DELAY ;調(diào)用延時程序</p><p>  DJNZ R4,A2&l

109、t;/p><p>  DJNZ R2,LOOP1 ;右移不到七次就返回</p><p>  DJNZ R1,D2 ;循環(huán)不到兩輪就繼續(xù)</p><p>  MOV R1,#02H ;閃爍兩次</p><p>  D3: MOV P2,#0FFH

110、 ;全滅</p><p>  MOV R4,#04</p><p>  A3: MOV R3,#200</p><p>  CALL DELAY ;調(diào)用延時程序</p><p>  MOV P2,#00H ;全亮</p><p&g

111、t;  MOV R4,#04</p><p>  A4: MOV R3,#200</p><p>  CALL DELAY ;延時</p><p>  DJNZ R4,A4</p><p>  DJNZ R1,D3 ;閃爍不到兩次就繼續(xù)</p><

112、;p>  JIM START</p><p><b> ??;延時程序</b></p><p>  DELAY: SETB TR0 ;啟動T0開始時間</p><p>  AGAIN MOV TL0,#06H ;設(shè)定初值為250us</p><p> 

113、 LOOP2: JBC TF0,LOOP3 ;檢查是否溢出</p><p>  JMP LOOP2</p><p>  LOOP3: DJNZ R3,AGAIN ;設(shè)定時間不到就繼續(xù)</p><p>  CLR TR0 ;設(shè)定時間到就停止T0記時</p>

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論