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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

23、工作方式由TMOD的M1M0兩位的狀態(tài)設定。</p><p>  51單片機主要是通過TCON和TMOD兩個特殊功能寄存器來來實現(xiàn)的定時和計算功能的。</p><p>  7.1定時器控制寄存器TCON</p><p>  定時器控制寄存器TCON是一個8位寄存器, TCON的作用是控制定時器的啟、停,標志定時器溢出和中斷情況。</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溢出標志位。當定時器1計滿溢出時,由硬件使TF1置“1”,并且申請中斷。進入中斷服務程序后,由硬件自動清“0”,在查詢方式下用軟件清“0”。&

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

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

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

28、>  定時器的定時時間與系統(tǒng)的振蕩頻率有關(guān)。因一個機器周期等于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ù)值為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設定。</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>  因為我們設計的燈每亮一次的時間為0.2秒,所以可以先編寫一個延時0.2s的延時程序,當遇到燈亮或滅需0

38、.2s時,可以調(diào)用該子程序。編寫程序時,先編寫左移指令,再編寫右移指令,再最后編寫閃爍指令。具體程序見附錄。</p><p>  方法二、利用取表法實現(xiàn)廣告流水燈的控制</p><p>  在用表格進行程序設計的時候,要用以下的指令來完成(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做取碼的操作,就可方便地處理一些復雜的控制動作。</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的控制。由圖中的邏輯電路可知,當GATE=0時,只要TR0=1就可打開控制門,使定時器工作;當GATE=1時,只有TR0=1且INT0=1,才可打開控制門。GATE,TR0,C/T的狀態(tài)選擇由定時器的控制寄存器TMOD,TCON中相應位狀態(tài)確定,INT0則是外部引腳上的信號。</p><

42、p>  在方式0下,當為計數(shù)工作方式時,計數(shù)值的范圍是: 1~8192(2^13)</p><p>  當為定時工作方式時,定時時間的計算公式為:</p><p> ?。?^13-計數(shù)初值)×晶振周期×12  </p><p>  其時間單位與晶振周期或機器周期相同(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下,可設TH0為18H,TL0為30

44、H,</p><p> ?、?TMOD寄存器初始化</p><p>  為把定時器/計數(shù)器1設定為方式0,則M1M0=00;為實現(xiàn)定時功能,應使C/T=0;為實現(xiàn)定時器/計數(shù)器0的運行控制,則GATE=0。定時器/計數(shù)器1不用,有關(guān)位設定為0。因此TMOD寄存器應初始化為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>  當為計數(shù)工作方式時,計數(shù)值的范圍是:</p><p>  1~65536(216)</p><p>  當為定時工作方式時,定時時間計算公式為:</p><p> ?。?^16-計數(shù)初值)×晶振周期×12 或(216-計數(shù)初值)×機器周期</p><p><b>

47、 ?、?計算計數(shù)初值</b></p><p> ?。?^16-計數(shù)初值)×晶振周期×12=2000</p><p>  計數(shù)初值為63536,即0F830H,因此,在工作方式0下,可設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作為預置寄存器。當計數(shù)滿溢出時,T

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

50、;/b></p><p>  (2^8-計數(shù)初值)×晶振周期×12=2000</p><p>  計數(shù)初值為6,即0006H,因此,在工作方式2下,可設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)機器周期脈沖計數(shù)。</p><p>  在方式3模式下,定時器/計數(shù)

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

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

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

55、 [1] 余錫存,《單片機原理與接口技術(shù)》,西安電子科技大學,2007年</p><p>  [2] 肖倩,《單片機入門與趣味實驗設計》,北京航空航天大學出版社,2007年</p><p>  [3] 林志琦,《基于Proteus的單片機可視化軟硬件仿真》,北京航空航天大學出版社,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 ;設從左到右移動兩輪</p><p>  M1: MOV R2,#08H ;設從左到右移動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 ;設從左到右移動兩輪</p><p>  D1:

76、MOV R2,#08H ;設從左到右移動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> ?。谎訒r程序</b></p><p> 

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

83、<p>  JMP LOOP2</p><p>  LOOP3: DJNZ R3,AGAIN ;設定時間不到就繼續(xù)</p><p>  CLR TR0 ;設定時間到就停止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 ;設從左到右移動兩輪</p><p>  D1: MOV R2,#08H ;設從左到右移動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 ;設定初值為2ms</p><p>  MOV TH0,#F8H </p><p>  LOOP2: JBC TF0,LOOP3 ;檢查是否溢出</p><p>  JMP LOOP2</p><p>  LOOP3: DJNZ

93、R3,AGAIN ;設定時間不到就繼續(xù)</p><p>  CLR TR0 ;設定時間到就停止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 ;設從左到右移動兩輪</p><p>  D1: MOV R2,#08H ;設從左到右移動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> ?。谎訒r程序</b></p><p>  DELAY: SETB TR0 ;啟動T0開始時間</p><p>  AGAIN MOV TL0,#06H ;設定初值為2ms</p><p> 

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

103、 TR0 ;設定時間到就停止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 ;設從左到右移動兩輪<

105、;/p><p>  D1: MOV R2,#08H ;設從左到右移動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 ;設定初值為250us</p><p> 

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

溫馨提示

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

評論

0/150

提交評論