2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩23頁(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、<p>  單片機(jī)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告</p><p>  課題: 交通燈 </p><p>  班級(jí): </p><p>  成員: </p><p>  指導(dǎo)老師: </p><p>  單片機(jī)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告</

2、p><p>  :近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)技術(shù)日益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個(gè)核心部件來(lái)使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。</p><p>  十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來(lái)實(shí)現(xiàn)這井然秩序呢?靠的就是交通信號(hào)燈的自動(dòng)指揮系統(tǒng)。交通信

3、號(hào)燈控制方式很多。本系統(tǒng)采用MSC-51系列單片機(jī)AT89C51和可編程并行I/O接口芯片8255A為中心器件來(lái)設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)設(shè)置紅、綠燈燃亮?xí)r間的功能;紅綠燈循環(huán)點(diǎn)亮,倒計(jì)時(shí)黃燈警示(交通燈信號(hào)通過(guò)8255的PC口輸出,顯示時(shí)間直接通過(guò)PB口輸出至雙位數(shù)碼管);并用復(fù)位按鍵表示出現(xiàn)特殊情況時(shí)四個(gè)方向禁止通行,用set,inc和dec按鍵來(lái)實(shí)現(xiàn)紅綠燈及黃燈顯示時(shí)間的控制。同時(shí)還加了LCD液晶顯示功能。</p>&l

4、t;p><b>  1、 單片機(jī)概述</b></p><p>  單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。通常單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲(chǔ)器和I/O接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。單片機(jī)經(jīng)過(guò)

5、1、2、3、3代的發(fā)展,目前單片機(jī)正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強(qiáng),內(nèi)部資源在增多,引角的多功能化,以及低電壓底功耗。</p><p><b>  2、 芯片簡(jiǎn)介</b></p><p>  2.1 MSC-51芯片簡(jiǎn)介</p><p>  MCS-51單片機(jī)內(nèi)部結(jié)構(gòu):</p><p>  89C51

6、是MCS-51系列單片機(jī)的典型產(chǎn)品,我們以這一代表性的機(jī)型進(jìn)行系統(tǒng)的講解。    89C51單片機(jī)包含中央處理器、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說(shuō)明:</p><p><b>  ·中央處理器:</b></p>

7、<p>  中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。</p><p>  ·數(shù)據(jù)存儲(chǔ)器(RAM)</p><p>  89C51內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制

8、指令數(shù)據(jù),用戶只能訪問(wèn),而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個(gè),可存放讀寫(xiě)的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。</p><p><b>  1圖</b></p><p>  ·程序存儲(chǔ)器(ROM):</p><p>  89C51共有4096個(gè)8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。</p

9、><p>  ·定時(shí)/計(jì)數(shù)器(ROM):</p><p>  89C51有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。</p><p>  ·并行輸入輸出(I/O)口:</p><p>  89C51共有4組8位I/O口(P0、 P1、P2或P3),用于對(duì)外部數(shù)據(jù)的傳輸。</p>&

10、lt;p><b>  ·全雙工串行口:</b></p><p>  89C51內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。</p><p><b>  ·中斷系統(tǒng):</b></p><p>  89C51具備較完善的中斷功能,

11、有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿足不同的控制要求,并具有2級(jí)的優(yōu)先級(jí)別選擇。</p><p><b>  ·時(shí)鐘電路:</b></p><p>  89C51內(nèi)置最高頻率達(dá)12MHz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,但8051單片機(jī)需外置振蕩電容。</p><p>  單片機(jī)的結(jié)構(gòu)有兩種類型,一種是程

12、序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-51系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機(jī)則采用普林斯頓結(jié)構(gòu)。</p><p>  下圖是MCS-51系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖2。</p><p><b>

13、;  圖2</b></p><p>  MCS-51的引腳說(shuō)明:</p><p>  MCS-51系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用。現(xiàn)在我們對(duì)這些引腳的功能加以說(shuō)明:</p><

14、p>  MCS-51的引腳說(shuō)明:</p><p>  MCS-51系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對(duì)這些引腳的功能加以說(shuō)明:如圖3</p><p><b>  圖3</b>

15、</p><p>  Pin9:RESET/Vpd復(fù)位信號(hào)復(fù)用腳,當(dāng)89C51通電,時(shí)鐘電路開(kāi)始工作,在RESET引腳上出現(xiàn)24個(gè)時(shí)鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫(xiě)入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開(kāi)始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),

16、89C51的初始態(tài)。</p><p>  89C51的復(fù)位方式可以是自動(dòng)復(fù)位,也可以是手動(dòng)復(fù)位,見(jiàn)下圖4。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部RAM的數(shù)據(jù)不丟失。</p><p><b>  圖4</b></p><p>  ·Pin30:ALE/當(dāng)訪問(wèn)外部程序器時(shí),ALE(地址鎖

17、存)的輸出用于鎖存地址的低位字節(jié)。而訪問(wèn)內(nèi)部程序存儲(chǔ)器時(shí),ALE端將有一個(gè)1/6時(shí)鐘頻率的正脈沖信號(hào),這個(gè)信號(hào)可以用于識(shí)別單片機(jī)是否工作,也可以當(dāng)作一個(gè)時(shí)鐘向外輸出。更有一個(gè)特點(diǎn),當(dāng)訪問(wèn)外部程序存儲(chǔ)器,ALE會(huì)跳過(guò)一個(gè)脈沖。</p><p>  如果單片機(jī)是EPROM,在編程其間,將用于輸入編程脈沖。</p><p>  ·Pin29:當(dāng)訪問(wèn)外部程序存儲(chǔ)器時(shí),此腳輸出負(fù)脈沖選通信

18、號(hào),PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲(chǔ)器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。</p><p>  ·Pin31:EA/Vpp程序存儲(chǔ)器的內(nèi)外部選通線,8051和8751單片機(jī),內(nèi)置有4kB的程序存儲(chǔ)器,當(dāng)EA為高電平并且程序地址小于4kB時(shí),讀取內(nèi)部程序存儲(chǔ)器指令數(shù)據(jù),而超過(guò)4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲(chǔ)器指令。顯然,對(duì)

19、內(nèi)部無(wú)程序存儲(chǔ)器的8031,EA端必須接地。</p><p>  在編程時(shí),EA/Vpp腳還需加上21V的編程電壓。</p><p>  2.2 8255芯片簡(jiǎn)介</p><p>  8255可編程并行接口芯片簡(jiǎn)介:</p><p>  8255可編程并行接口芯片有三個(gè)輸入輸出端口,即A口、B口和C口,對(duì)應(yīng)于引腳PA7~PA0、PB7~PB

20、0和PC7~PC0。其內(nèi)部還有一個(gè)控制寄存器,即控制口。通常A口、B口作為輸入輸出的數(shù)據(jù)端口。C口作為控制或狀態(tài)信息的端口,它在方式字的控制下,可以分成4位的端口,每個(gè)端口包含一個(gè)4位鎖存器。它們分別與端口A/B配合使用,可以用作控制信號(hào)輸出或作為狀態(tài)信號(hào)輸入。</p><p>  8255可編程并行接口芯片方式控制字格式說(shuō)明:</p><p>  8255有兩種控制命令字;一個(gè)是方式選擇

21、控制字;另一個(gè)是C口按位置位/復(fù)位控制字。其中C口按位置位/復(fù)位控制字方式使用較為繁難,說(shuō)明也較冗長(zhǎng),故在此不作敘述,需要時(shí)用戶可自行查找有關(guān)資料。</p><p>  方式控制字格式說(shuō)明如表1:</p><p><b>  表1</b></p><p>  D7:設(shè)定工作方式標(biāo)志,1有效。</p><p>  D6、D

22、5:A口方式選擇</p><p><b>  0 0 —方式0</b></p><p><b>  0 1 —方式1</b></p><p><b>  1 ×—方式2</b></p><p>  D4:A口功能 (1=輸入,0=輸出)</p>

23、<p>  D3:C口高4位功能 (1=輸入,0=輸出)</p><p>  D2:B口方式選擇 (0=方式0,1=方式1)</p><p>  D1:B口功能 (1=輸入,0=輸出)</p><p>  D0:C口低4位功能 (1=輸入,0=輸出)</p><p>  8255可編程并行接口芯片工作方式說(shuō)明:&

24、lt;/p><p>  方式0:基本輸入/輸出方式。適用于三個(gè)端口中的任何一個(gè)。每一個(gè)端口都可以用作輸入或輸出。輸出可被鎖存,輸入不能鎖存。</p><p>  方式1:選通輸入/輸出方式。這時(shí)A口或B口的8位外設(shè)線用作輸入或輸出,C口的4條線中三條用作數(shù)據(jù)傳輸?shù)穆?lián)絡(luò)信號(hào)和中斷請(qǐng)求信號(hào)。</p><p>  方式2 :雙向總線方式。只有A口具備雙向總線方式,8位外設(shè)線用

25、作輸入或輸出,此時(shí)C口的5條線用作通訊聯(lián)絡(luò)信號(hào)和中斷請(qǐng)求信號(hào)。</p><p>  2.3 74LS373簡(jiǎn)介</p><p>  74LS373 是一種帶三態(tài)門(mén)的8D鎖存器,其管腳示意圖如下示:</p><p>  其中:1D-8D為8個(gè)輸入端。</p><p>  1Q-8Q為8個(gè)輸出端。</p><p>  LE

26、為數(shù)據(jù)打入端:當(dāng)LE為“1”時(shí),鎖存器輸出</p><p>  狀態(tài)同輸入狀態(tài);當(dāng)LE由“1”變“0”時(shí),數(shù)據(jù)</p><p><b>  打入鎖存器</b></p><p>  OE為輸出允許端:當(dāng)OE=0時(shí),三態(tài)門(mén)打開(kāi);</p><p>  當(dāng)OE=1時(shí),三態(tài)門(mén)關(guān)閉,輸出高阻。</p><p>

27、;  2.4 LM041L液晶簡(jiǎn)介</p><p><b>  管教及其功能描述:</b></p><p>  模塊控制芯片提供兩套控制命令,基本指令和擴(kuò)充指令如下:</p><p><b>  3、系統(tǒng)硬件設(shè)計(jì)</b></p><p>  3.1交通管理的方案論證</p><p

28、>  東西、南北兩干道交于一個(gè)十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為東西、南北兩干道的公共停車時(shí)間。設(shè)東西道比南北道的車流量大,指示燈燃亮的方案如表2。</p><p><b>  表2</b></p><p>  表2說(shuō)明:

29、</p><p> ?。?)當(dāng)東西方向?yàn)榧t燈,此道車輛禁止通行,東西道行人可通過(guò);南北道為綠燈,此道車輛通過(guò),行人禁止通行。時(shí)間為20秒。</p><p> ?。?)黃燈閃爍3秒,警示車輛和行人紅、綠燈的狀態(tài)即將切換。 </p><p> ?。?)當(dāng)東西方向?yàn)榫G燈,此道車輛通行;南北方向?yàn)榧t燈,南北道車輛禁止通過(guò),行人通行。時(shí)間為20秒。 東西方向車流大

30、 通行時(shí)間長(zhǎng)。</p><p> ?。?)這樣如上表的時(shí)間和紅、綠、黃出現(xiàn)的順序依次出現(xiàn)這樣行人和車輛就能安全暢通的通行。</p><p> ?。?)此表中的紅綠燈及黃燈的顯示時(shí)間可以根據(jù)人流量來(lái)進(jìn)行調(diào)整</p><p><b>  3.2交通燈設(shè)計(jì)</b></p><p>  選用設(shè)備89C51單片機(jī)一片選用設(shè)備:89

31、C31單片機(jī)一片,8255并行通用接口芯片一片,74LS08兩片,74LS373一片,共陰極的七段數(shù)碼管4個(gè),紅、黃、綠交通燈各兩個(gè),開(kāi)關(guān)按鈕、連線若干。</p><p>  3.3 交通燈總體硬件仿真圖 </p><p>  3.4 89C51與8255的擴(kuò)展</p><p>  其中用單片機(jī)的P0端口來(lái)擴(kuò)展82

32、55,如上圖連接硬件圖,這樣連接后8255的控制口地址為FF7FH,PA,PB,PC的地址分別為FF7CH,FF7DH,FF7EH。</p><p>  3.5 紅綠黃燈模塊</p><p>  本系統(tǒng)同過(guò)8255的擴(kuò)展端口PC0—PC5六個(gè)端口來(lái)控制六個(gè)發(fā)光二極管,發(fā)光二極管采用陽(yáng)極驅(qū)動(dòng)的方式,當(dāng)輸入為高電平時(shí)點(diǎn)亮。同時(shí)通過(guò)外部中斷0來(lái)控制等狀態(tài)的改變。相應(yīng)的子程序如下:</p&g

33、t;<p> ??;狀態(tài)一東西方向綠燈,南北方向紅燈</p><p>  PINT0:MOV A,40H</p><p><b>  JNZ BWL0</b></p><p><b>  MOV A,41H</b></p><p><b>  MOV 45H,A</b&g

34、t;</p><p><b>  ADD A,42H</b></p><p><b>  MOV 44H,A</b></p><p><b>  INC 44H</b></p><p><b>  INC 45H</b></p><p&

35、gt;  BWL0:MOV A,40H</p><p>  CJNE A,41H,BXD0</p><p>  BXD0:JNC PINT01</p><p>  MOV R0,#7EH</p><p>  MOV A,#0CH</p><p>  MOVX @R0,A</p><p><

36、b>  INC 40H</b></p><p><b>  DEC 44H</b></p><p><b>  DEC 45H</b></p><p><b>  RETI</b></p><p> ??;狀態(tài)二東西方向黃燈,南北方向紅燈</p>

37、<p>  PINT01:MOV A,40H</p><p>  CJNE A,41H,BWL1</p><p>  MOV 45H,42H</p><p><b>  INC 45H</b></p><p>  BWL1:MOV A,41H</p><p><b>  ADD

38、 A,42H</b></p><p><b>  MOV 43H,A</b></p><p><b>  MOV A,40H</b></p><p>  CJNE A,43H,BXD1</p><p>  BXD1:JNC PINT02</p><p>  MOV

39、 R0,#7EH</p><p>  MOV A,#14H</p><p>  MOVX @R0,A</p><p><b>  INC 40H</b></p><p><b>  DEC 44H</b></p><p><b>  DEC 45H</b>

40、;</p><p><b>  RETI</b></p><p> ??;狀態(tài)二東西方向紅燈,南北方向綠燈</p><p>  PINT02:MOV A,40H</p><p>  CJNE A,43H,BWL2</p><p><b>  MOV A,41H</b></

41、p><p><b>  MOV 44H,A</b></p><p><b>  ADD A,42H</b></p><p><b>  MOV 45H,A</b></p><p><b>  INC 45H</b></p><p>&l

42、t;b>  INC 44H</b></p><p>  BWL2:MOV A,43H</p><p><b>  ADD A,41H</b></p><p><b>  MOV 43H,A</b></p><p><b>  MOV A,40H</b><

43、/p><p>  CJNE A,43H,BXD2</p><p>  BXD2:JNC PINT03</p><p>  MOV R0,#7EH</p><p>  MOV A,#21H</p><p>  MOVX @R0,A</p><p><b>  INC 40H</b>

44、;</p><p><b>  DEC 44H</b></p><p><b>  DEC 45H</b></p><p><b>  RETI</b></p><p> ?。粻顟B(tài)二東西方向紅燈,南北方向黃燈</p><p>  PINT03:MOV A

45、,40H</p><p>  CJNE A,43H,BWL3</p><p>  MOV 44H,42H</p><p><b>  INC 44H</b></p><p>  BWL3:MOV R0,#7EH</p><p>  MOV A,#22H</p><p>  

46、MOVX @R0,A</p><p><b>  DEC 44H</b></p><p><b>  DEC 45H</b></p><p><b>  INC 40H</b></p><p><b>  MOV A,43H</b></p>

47、<p><b>  ADD A,42H</b></p><p><b>  MOV 43H,A</b></p><p><b>  MOV A,40H</b></p><p>  CJNE A,43H,BXD3</p><p>  MOV 40H,#00</p&

48、gt;<p>  BXD3:RETI</p><p>  3.6 數(shù)碼管顯示模塊</p><p>  本系統(tǒng)中選用了兩塊雙七段共陰數(shù)碼管,分別用來(lái)顯示東西方向和南北方向紅綠燈倒計(jì)時(shí)剩余時(shí)間。用8255的PB端口來(lái)驅(qū)動(dòng),應(yīng)為用同一組端口控制四個(gè)數(shù)碼管因此要用到動(dòng)態(tài)顯示,這里用P1.0—P1.3四個(gè)口來(lái)選中要送數(shù)顯示的數(shù)碼管,再用快速循環(huán)顯示來(lái)達(dá)到所需的視覺(jué)效果。顯示子程序如下

49、:</p><p>  SNDISP:MOV A,44H ;南北方向的數(shù)碼管顯示</p><p><b>  MOV B,#10</b></p><p><b>  DIV AB</b></p><p>  MOV P1,#01H ;顯示十位</p><p>  MOV

50、DPTR,#TAB2</p><p>  MOVC A,@A+DPTR</p><p>  MOV R0,#7DH</p><p>  MOVX @R0,A</p><p><b>  NOP</b></p><p><b>  NOP</b></p><

51、p>  MOV A, #0FFH</p><p>  MOV R0, #7DH</p><p>  MOVX @R0, A</p><p><b>  MOV A,B</b></p><p>  MOV P1,#02H ;顯示個(gè)位</p><p>  MOV DPTR,#TAB2<

52、/p><p>  MOVC A,@A+DPTR</p><p>  MOV R0,#7DH</p><p>  MOVX @R0,A</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  MOV A,

53、#0FFH</p><p>  MOV R0, #7DH</p><p>  MOVX @R0, A</p><p>  EWDISP:MOV A,45H ;東西方向的數(shù)碼管顯示</p><p><b>  MOV B,#10</b></p><p><b>  DIV AB<

54、/b></p><p>  MOV P1,#04H ;顯示十位</p><p>  MOV DPTR,#TAB2</p><p>  MOVC A,@A+DPTR</p><p>  MOV R0,#7DH</p><p>  MOVX @R0,A</p><p><b> 

55、 NOP</b></p><p><b>  NOP</b></p><p>  MOV A, #0FFH</p><p>  MOV R0, #7DH</p><p>  MOVX @R0, A</p><p><b>  MOV A,B</b></p&g

56、t;<p>  MOV P1,#08H 顯示個(gè)位</p><p>  MOV DPTR,#TAB2</p><p>  MOVC A,@A+DPTR</p><p>  MOV R0,#7DH</p><p>  MOVX @R0,A</p><p><b>  NOP</b>&

57、lt;/p><p><b>  NOP</b></p><p>  MOV A, #0FFH</p><p>  MOV R0, #7DH</p><p>  MOVX @R0, A</p><p><b>  RET</b></p><p>  TAB2

58、:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H</p><p>  3.7 外部控制按鈕</p><p>  為了控制的方便,本系統(tǒng)擴(kuò)展了一些外部按鈕來(lái)對(duì)交通燈進(jìn)行外部設(shè)置。共有4個(gè)按鈕,分別為復(fù)位鍵、設(shè)置選擇鍵、加一鍵、減一鍵。將他們的狀態(tài)送入外部中斷1來(lái)實(shí)現(xiàn)相應(yīng)的功能,這里用兩個(gè)與門(mén)來(lái)進(jìn)行狀態(tài)的疊加后再送到外部中斷1,最后在中斷程序中判

59、斷信號(hào)的具體來(lái)源,確定所要執(zhí)行的子程序。SET用來(lái)選擇狀態(tài),點(diǎn)擊第一下兩路口的綠燈點(diǎn)亮,同時(shí)在程序中關(guān)閉外部中斷0,示意現(xiàn)在可以設(shè)置綠燈顯示的時(shí)間,然后分別用INC和DEC來(lái)實(shí)現(xiàn)加一或減一,點(diǎn)擊第二下,兩路口的黃燈點(diǎn)亮,表示現(xiàn)在可以設(shè)置黃燈顯示的時(shí)間,同樣用INC和DEC來(lái)進(jìn)行調(diào)整,點(diǎn)擊第三下打開(kāi)外部中斷0,路燈開(kāi)始正常運(yùn)行。在其他時(shí)候點(diǎn)擊INC和DEC無(wú)效。還有復(fù)位鍵是用來(lái)使交通燈的回到初始狀態(tài),并接著運(yùn)行。具體實(shí)現(xiàn)代碼如下:<

60、/p><p>  PINT1:JNB P3.5,PINT11 </p><p>  JNB P3.0,PINT12</p><p>  JNB P3.1,PINT13</p><p>  PINT11:CJNE R3,#00H,TZ1</p><p>  AJMP PINT11A</p><p>

61、  TZ1:CJNE R3,#01H,TZ2</p><p>  AJMP PINT11B</p><p>  TZ2:CJNE R3,#02H,TZ3</p><p>  AJMP PINT11C</p><p>  TZ3:MOV R3,#00H</p><p>  PINT11A:MOV R0,#7EH</

62、p><p>  MOV A,#09H</p><p>  MOVX @R0,A</p><p>  MOV 44H,41H</p><p>  MOV 45H,41H</p><p><b>  CLR EX0</b></p><p>  MOV 40H,#00</p&g

63、t;<p><b>  INC R3</b></p><p><b>  RETI</b></p><p>  PINT11B:MOV R0,#7EH</p><p>  MOV A,#12H</p><p>  MOVX @R0,A</p><p>  MOV

64、 44H,42H</p><p>  MOV 45H,42H</p><p><b>  CLR EX0</b></p><p>  MOV 40H,#00</p><p><b>  INC R3</b></p><p><b>  RETI</b>&

65、lt;/p><p>  PINT11C:SETB EX0</p><p>  MOV R3,#00H</p><p><b>  RETI</b></p><p>  PINT12:CJNE R3,#01H,TC1</p><p><b>  INC 41H</b></p&

66、gt;<p>  MOV 44H,41H</p><p>  MOV 45H,41H</p><p>  TC1:CJNE R3,#02H,TC2</p><p><b>  INC 42H</b></p><p>  MOV 44H,42H</p><p>  MOV 45H,42

67、H</p><p><b>  TC2:RETI</b></p><p>  PINT13:CJNE R3,#01H,TC3</p><p><b>  DEC 41H</b></p><p>  MOV 44H,41H</p><p>  MOV 45H,41H</p

68、><p>  TC3:CJNE R3,#02H,TC4</p><p><b>  DEC 42H</b></p><p>  MOV 44H,42H</p><p>  MOV 45H,42H</p><p><b>  TC4:RETI </b></p><

69、;p>  3.8 液晶顯示模塊</p><p>  液晶顯示模塊選用了16*4的顯示板,選用8255的PA端口作為數(shù)據(jù)口。用P2.0—P2.2三個(gè)端口來(lái)作為控制端。具體顯示子程序如下:</p><p>  ENABLE: CLR RS</p><p><b>  CLR RW</b></p><p><b&g

70、t;  CLR E</b></p><p>  LCALL DELAY</p><p><b>  SETB E</b></p><p><b>  RET</b></p><p>  KSXSHI: MOV R0,#7CH </p><p>  MOV A,#8

71、0H</p><p>  MOVX @R0,A</p><p>  ACALL ENABLE</p><p>  MOV DPTR,#TAB</p><p>  LCALL WRITE1</p><p>  MOV R0,#7CH</p><p>  MOV A,#0C0H</p>

72、;<p>  MOVX @R0,A</p><p>  LCALL ENABLE</p><p>  MOV DPTR,#TAB1</p><p>  LCALL WRITE1</p><p><b>  RET </b></p><p>  WRITE1: MOV 50H,#00H

73、</p><p>  A1: MOV A,50H</p><p>  MOVC A,@A+DPTR</p><p>  LCALL WRITE2</p><p><b>  INC 50H</b></p><p><b>  MOV A,50H</b></p>

74、<p>  CJNE A,#10H,A1</p><p><b>  RET</b></p><p>  WRITE2:MOV R0,# 7CH</p><p>  MOVX @R0,A</p><p><b>  SETB RS</b></p><p><b

75、>  CLR RW</b></p><p><b>  CLR E</b></p><p>  LCALL DELAY</p><p><b>  SETB E</b></p><p><b>  RET</b></p><p>  D

76、ELAY: MOV 55H,#100</p><p>  D1: MOV 56H,#100</p><p>  D2: DJNZ 56H,D2</p><p>  DJNZ 55H,D1</p><p><b>  RET </b></p><p>  TAB :DB 00H,'

77、H','a','p','p','y',00H,'n','e','w',00H,'y','e','a','r','!'</p><p>  TAB1:DB 00H,'Z','h',

78、9;a','n','g','R','u','i',00H,'Y','a','N','a','n',00H</p><p>  4、Protel制版</p><p><b>  4.1 原理圖</b>&l

79、t;/p><p>  4.2 PCD制版圖</p><p><b>  5、實(shí)驗(yàn)總結(jié)</b></p><p>  本本系統(tǒng)就是充分利用了89C51和8255芯片的I/O引腳。系統(tǒng)統(tǒng)采用MSC-51系列單片機(jī)AT89C51和可編程并行I/O接口芯片8255A為中心器件來(lái)設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)了能根據(jù)實(shí)際車流量通過(guò)82551芯片的PC口設(shè)置紅、綠燈燃亮

80、時(shí)間的功能;紅綠燈循環(huán)點(diǎn)亮,倒計(jì)時(shí)剩N秒時(shí)黃燈閃爍警示(交通燈信號(hào)通過(guò)PC口輸出,顯示時(shí)間直接通過(guò)8255的PB口輸出至雙位數(shù)碼管);</p><p>  通過(guò)這次課程設(shè)計(jì),我不僅加深了對(duì)單片機(jī)理論的理解,將理論很好地應(yīng)用到實(shí)際當(dāng)中去,而且我還學(xué)會(huì)了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新,是要我們學(xué)會(huì)將理論很好地聯(lián)系實(shí)際,并不斷地去開(kāi)動(dòng)自己的大腦,從為人類造福的意愿出發(fā),做自己力所能及的,別

81、人卻沒(méi)想到的事。同時(shí),更重要的是,我在這一設(shè)計(jì)過(guò)程中,學(xué)會(huì)了堅(jiān)持不懈,不輕易言棄。設(shè)計(jì)過(guò)程,常有一些不如意,比如,程序的一些細(xì)節(jié)經(jīng)常出錯(cuò),而且特別難以發(fā)現(xiàn)錯(cuò)誤,必須要靜下心來(lái)仔細(xì)查看,認(rèn)真核對(duì)才能夠發(fā)現(xiàn)錯(cuò)誤的所在,這要求我們必須要有相當(dāng)?shù)哪托模潋溄湓?,也許這就是在對(duì)我們提出了挑戰(zhàn),勇敢過(guò),也戰(zhàn)勝了,勝利的鐘聲也就一定會(huì)為我們而敲響。</p><p>  這個(gè)設(shè)計(jì)過(guò)程中,我遇到過(guò)許多次失敗的考驗(yàn),就比如,自己對(duì)實(shí)

82、際生活中的交通秩序的不了解給整個(gè)設(shè)計(jì)帶來(lái)的困擾,真想要就此罷休,然而,就在想要放棄的那一刻,我明白了,原來(lái)結(jié)果并不那么重要,我們更應(yīng)該注重的是這一整個(gè)過(guò)程。于是,我堅(jiān)持了下來(lái)。當(dāng)然最終,這個(gè)設(shè)計(jì)很成功,主要體現(xiàn)在,整個(gè)系統(tǒng)的程序都是由我們自己獨(dú)立完成,并用了8255來(lái)擴(kuò)展端口,程序簡(jiǎn)單易讀,結(jié)構(gòu)清楚。</p><p>  總之通過(guò)本次課程設(shè)計(jì)我們學(xué)到了很多,不僅得到了一次用專業(yè)知識(shí)、專業(yè)技能分析和解決問(wèn)題全面系統(tǒng)

83、的鍛煉。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程,以及在常用編程設(shè)計(jì)思路技巧(特別是匯編語(yǔ)言)的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。</p><p><b>  6、參考書(shū)籍:</b></p><p>  張毅剛 單片機(jī)原理及應(yīng)用 高等教育出版社</p><p>  7、附錄:完整程序代碼</p&g

84、t;<p><b>  ORG 0000H</b></p><p><b>  AJMP MAIN</b></p><p><b>  ORG 0003H</b></p><p>  AJMP PINT0</p><p><b>  ORG 0013H&

85、lt;/b></p><p>  AJMP PINT1</p><p><b>  ORG 0100H</b></p><p>  MAIN:MOV SP,#60H</p><p>  RS EQU P2.2</p><p>  RW EQU P2.1</p><p>

86、;  E EQU P2.0</p><p>  MOV R0,#7FH</p><p>  MOV A,#80H</p><p>  MOVX @R0,A</p><p>  MOV R0,#7EH</p><p>  MOV A,#24H</p><p>  MOVX @R0,A</p

87、><p>  MOV 40H,#00</p><p>  MOV 41H,#20</p><p>  MOV 42H,#03</p><p>  MOV 44H,41H</p><p>  MOV 45H,42H</p><p>  MOV P1,#0FH</p><p> 

88、 MOV R2,#00H</p><p><b>  SETB EX1</b></p><p><b>  SETB IT1</b></p><p><b>  SETB PX1</b></p><p><b>  SETB EX0</b></p&g

89、t;<p><b>  SETB IT0</b></p><p><b>  CLR PX0</b></p><p><b>  SETB EA</b></p><p>  START:MOV R0,#7CH</p><p>  MOV A,#01H</p&

90、gt;<p>  MOVX @R0,A</p><p>  ACALL ENABLE</p><p>  MOV A,#38H</p><p>  MOV R0,7CH</p><p>  MOVX @R0,A</p><p>  ACALL ENABLE</p><p>  MO

91、V A,#0CH</p><p>  MOV R0,#7CH</p><p>  MOVX @R0,A</p><p>  ACALL ENABLE </p><p>  LCALL KSXSHI</p><p>  LOOP:LCALL SNDISP</p><p><b>  AJ

92、MP LOOP</b></p><p>  PINT0:MOV A,40H</p><p><b>  JNZ BWL0</b></p><p><b>  MOV A,41H</b></p><p><b>  MOV 45H,A</b></p>&

93、lt;p><b>  ADD A,42H</b></p><p><b>  MOV 44H,A</b></p><p><b>  INC 44H</b></p><p><b>  INC 45H</b></p><p>  BWL0:MOV A

94、,40H</p><p>  CJNE A,41H,BXD0</p><p>  BXD0:JNC PINT01</p><p>  MOV R0,#7EH</p><p>  MOV A,#0CH</p><p>  MOVX @R0,A</p><p><b>  INC 40H&

95、lt;/b></p><p><b>  DEC 44H</b></p><p><b>  DEC 45H</b></p><p><b>  RETI</b></p><p>  PINT01:MOV A,40H</p><p>  CJNE

96、A,41H,BWL1</p><p>  MOV 45H,42H</p><p><b>  INC 45H</b></p><p>  BWL1:MOV A,41H</p><p><b>  ADD A,42H</b></p><p><b>  MOV 43H

97、,A</b></p><p><b>  MOV A,40H</b></p><p>  CJNE A,43H,BXD1</p><p>  BXD1:JNC PINT02</p><p>  MOV R0,#7EH</p><p>  MOV A,#14H</p>&l

98、t;p>  MOVX @R0,A</p><p><b>  INC 40H</b></p><p><b>  DEC 44H</b></p><p><b>  DEC 45H</b></p><p><b>  RETI</b></p&g

99、t;<p>  PINT02:MOV A,40H</p><p>  CJNE A,43H,BWL2</p><p><b>  MOV A,41H</b></p><p><b>  MOV 44H,A</b></p><p><b>  ADD A,42H</b&g

100、t;</p><p><b>  MOV 45H,A</b></p><p><b>  INC 45H</b></p><p><b>  INC 44H</b></p><p>  BWL2:MOV A,43H</p><p><b>  

101、ADD A,41H</b></p><p><b>  MOV 43H,A</b></p><p><b>  MOV A,40H</b></p><p>  CJNE A,43H,BXD2</p><p>  BXD2:JNC PINT03</p><p>  

102、MOV R0,#7EH</p><p>  MOV A,#21H</p><p>  MOVX @R0,A</p><p><b>  INC 40H</b></p><p><b>  DEC 44H</b></p><p><b>  DEC 45H</b

103、></p><p><b>  RETI</b></p><p>  PINT03:MOV A,40H</p><p>  CJNE A,43H,BWL3</p><p>  MOV 44H,42H</p><p><b>  INC 44H</b></p>

104、<p>  BWL3:MOV R0,#7EH</p><p>  MOV A,#22H</p><p>  MOVX @R0,A</p><p><b>  DEC 44H</b></p><p><b>  DEC 45H</b></p><p><b&

105、gt;  INC 40H</b></p><p><b>  MOV A,43H</b></p><p><b>  ADD A,42H</b></p><p><b>  MOV 43H,A</b></p><p><b>  MOV A,40H<

106、/b></p><p>  CJNE A,43H,BXD3</p><p>  MOV 40H,#00</p><p>  BXD3:RETI</p><p>  PINT1:JNB P3.5,PINT11</p><p>  JNB P3.0,PINT12</p><p>  JNB

107、P3.1,PINT13</p><p>  PINT11:CJNE R3,#00H,TZ1</p><p>  AJMP PINT11A</p><p>  TZ1:CJNE R3,#01H,TZ2</p><p>  AJMP PINT11B</p><p>  TZ2:CJNE R3,#02H,TZ3</p&

108、gt;<p>  AJMP PINT11C</p><p>  TZ3:MOV R3,#00H</p><p>  PINT11A:MOV R0,#7EH</p><p>  MOV A,#09H</p><p>  MOVX @R0,A</p><p>  MOV 44H,41H</p>

109、<p>  MOV 45H,41H</p><p><b>  CLR EX0</b></p><p>  MOV 40H,#00</p><p><b>  INC R3</b></p><p><b>  RETI</b></p><p>

110、  PINT11B:MOV R0,#7EH</p><p>  MOV A,#12H</p><p>  MOVX @R0,A</p><p>  MOV 44H,42H</p><p>  MOV 45H,42H</p><p><b>  CLR EX0</b></p><

111、p>  MOV 40H,#00</p><p><b>  INC R3</b></p><p><b>  RETI</b></p><p>  PINT11C:SETB EX0</p><p>  MOV R3,#00H</p><p><b>  RET

112、I</b></p><p>  PINT12:CJNE R3,#01H,TC1</p><p><b>  INC 41H</b></p><p>  MOV 44H,41H</p><p>  MOV 45H,41H</p><p>  TC1:CJNE R3,#02H,TC2<

113、;/p><p><b>  INC 42H</b></p><p>  MOV 44H,42H</p><p>  MOV 45H,42H</p><p><b>  TC2:RETI</b></p><p>  PINT13:CJNE R3,#01H,TC3</p>

114、<p><b>  DEC 41H</b></p><p>  MOV 44H,41H</p><p>  MOV 45H,41H</p><p>  TC3:CJNE R3,#02H,TC4</p><p><b>  DEC 42H</b></p><p>

115、  MOV 44H,42H</p><p>  MOV 45H,42H</p><p><b>  TC4:RETI</b></p><p>  SNDISP:MOV A,44H</p><p><b>  MOV B,#10</b></p><p><b>  D

116、IV AB</b></p><p>  MOV P1,#01H</p><p>  MOV DPTR,#TAB2</p><p>  MOVC A,@A+DPTR</p><p>  MOV R0,#7DH</p><p>  MOVX @R0,A</p><p><b>

117、  NOP</b></p><p><b>  NOP</b></p><p>  MOV A, #0FFH</p><p>  MOV R0, #7DH</p><p>  MOVX @R0, A</p><p><b>  MOV A,B</b></p&

118、gt;<p>  MOV P1,#02H</p><p>  MOV DPTR,#TAB2</p><p>  MOVC A,@A+DPTR</p><p>  MOV R0,#7DH</p><p>  MOVX @R0,A</p><p><b>  NOP</b></p&

119、gt;<p><b>  NOP</b></p><p>  MOV A, #0FFH</p><p>  MOV R0, #7DH</p><p>  MOVX @R0, A</p><p>  EWDISP:MOV A,45H</p><p><b>  MOV B,#

120、10</b></p><p><b>  DIV AB</b></p><p>  MOV P1,#04H</p><p>  MOV DPTR,#TAB2</p><p>  MOVC A,@A+DPTR</p><p>  MOV R0,#7DH</p><p&

121、gt;  MOVX @R0,A</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  MOV A, #0FFH</p><p>  MOV R0, #7DH</p><p>  MOVX @R0, A</p>

122、<p><b>  MOV A,B</b></p><p>  MOV P1,#08H</p><p>  MOV DPTR,#TAB2</p><p>  MOVC A,@A+DPTR</p><p>  MOV R0,#7DH</p><p>  MOVX @R0,A</p&

123、gt;<p><b>  NOP</b></p><p><b>  NOP</b></p><p>  MOV A, #0FFH</p><p>  MOV R0, #7DH</p><p>  MOVX @R0, A</p><p><b>  R

124、ET</b></p><p>  ENABLE: CLR RS</p><p><b>  CLR RW</b></p><p><b>  CLR E</b></p><p>  LCALL DELAY</p><p><b>  SETB E<

125、/b></p><p><b>  RET</b></p><p>  KSXSHI: MOV R0,#7CH </p><p>  MOV A,#80H</p><p>  MOVX @R0,A</p><p>  ACALL ENABLE</p><p>  M

126、OV DPTR,#TAB</p><p>  LCALL WRITE1</p><p>  MOV R0,#7CH</p><p>  MOV A,#0C0H</p><p>  MOVX @R0,A</p><p>  LCALL ENABLE</p><p>  MOV DPTR,#TAB

127、1</p><p>  LCALL WRITE1</p><p><b>  RET </b></p><p>  WRITE1: MOV 50H,#00H</p><p>  A1: MOV A,50H</p><p>  MOVC A,@A+DPTR</p><p> 

128、 LCALL WRITE2</p><p><b>  INC 50H</b></p><p><b>  MOV A,50H</b></p><p>  CJNE A,#10H,A1</p><p><b>  RET</b></p><p>  WR

129、ITE2:MOV R0,# 7CH</p><p>  MOVX @R0,A</p><p><b>  SETB RS</b></p><p><b>  CLR RW</b></p><p><b>  CLR E</b></p><p>  LCA

130、LL DELAY</p><p><b>  SETB E</b></p><p><b>  RET</b></p><p>  DELAY: MOV 55H,#100</p><p>  D1: MOV 56H,#100</p><p>  D2: DJNZ

131、 56H,D2</p><p>  DJNZ 55H,D1</p><p><b>  RET </b></p><p>  TAB:DB 00H,'H','a','p','p','y',00H,'n','e','w

132、9;,00H,'y','e','a','r','!'</p><p>  TAB1:DB 00H,'Z','h','a','n','g','R','u','i',00H,'Y','a&

溫馨提示

  • 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ù)僅提供信息存儲(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)論