微機原理課程設(shè)計---交通信號燈模擬控制系統(tǒng)的設(shè)計_第1頁
已閱讀1頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  課程設(shè)計說明書(論文)</p><p>  題 目 交通信號燈模擬控制系統(tǒng)的設(shè)計 </p><p>  課 程 名 稱 微機原理及應(yīng)用 </p><p>  院 系 </p><p>  專 業(yè)

2、 </p><p>  班 級 </p><p>  學(xué) 生 姓 名 </p><p>  學(xué) 號 </p><p>  設(shè) 計 地 點

3、 </p><p>  指 導(dǎo) 教 師 </p><p>  設(shè)計起止時間:2011年6月15日至2011年6月17日</p><p><b>  目 錄</b></p><p>  1.任務(wù)書 ………………………………………………………………………..

4、3</p><p>  2.課程設(shè)計:交通信號燈模擬控制系統(tǒng)的設(shè)計 </p><p>  2.1課程設(shè)計要求…………………………………………………………………..7</p><p>  2.2實驗流程圖…………………………………………………………………… ..8</p><p>  2.3實驗源代碼…………………………………………………………

5、………… ..9</p><p>  2.4實際接線圖…………………………………………………………………..…13</p><p>  3.設(shè)計心得及體會 ……………………………………………………14</p><p>  4.主要參考資料………………………………………………………..15</p><p><b>  課程設(shè)計任務(wù)書

6、</b></p><p>  課 程 名 稱 微機原理及應(yīng)用B </p><p>  院(系、部、中心) </p><p>  專 業(yè) </p><p>  班 級 &l

7、t;/p><p>  起 止 日 期 每班為期一周,具體時間參照進程表 </p><p>  指 導(dǎo) 教 師 </p><p><b>  2.1課程設(shè)計要求</b></p><p>  設(shè)計任務(wù)中的A道代表東西方向,B道代表南北方向。&l

8、t;/p><p><b>  電路接線方案: </b></p><p>  交通信號燈由實驗儀的LED發(fā)光二極管模擬,由8255-PA輸出控制:見下表。</p><p>  帶時間顯示的交通信號燈模擬控制系統(tǒng) 8255A輸入/輸出信號一覽表(供參考)</p><p>  注:1)、8255-PA輸出方式可根據(jù)實驗設(shè)備紅綠黃

9、燈具體位置改變</p><p>  2)、采用軟件延時,則8255的PC4不用接8253-OUT2。數(shù)碼管的位碼選擇 </p><p>  定時問題:用8253#2工作方式0進行500ms定時,CLK2接125kHz時鐘信號,GATE2接高電平,OUT2接8255-PC4。主程序通過查詢8255-PC4的狀態(tài),獲知準確的定時信息。也可以采用軟件延時,500ms延時子程序參見實驗一。<

10、/p><p>  根據(jù)設(shè)計任務(wù)功能要求,依K5、K6、K7的狀態(tài)分為四種工作狀態(tài):狀態(tài)0:K5、K6、K7均斷開(1電平)或K5、K6均閉合K7斷開,A、B道交替通行;狀態(tài)1:僅K5閉合,A道有車、B道無車;狀態(tài)2:僅K6閉合,A道無車,B道有車;K5和K6均閉合,A、B道都有車,A、B道交替通行;狀態(tài)3:K7閉合,有緊急車輛通行。</p><p><b>  參考流程圖說明:<

11、;/b></p><p><b>  流程圖1設(shè)計思想:</b></p><p>  主程序每0.5秒循環(huán)一次,每次查詢?nèi)齻€開關(guān)狀態(tài),及時響應(yīng)開關(guān)狀態(tài)的變化。其中CNT0和CNT3分別用于記錄狀態(tài)0和狀態(tài)3工作進程的進程計數(shù)器,可以用寄存器或內(nèi)存變量實現(xiàn)。</p><p>  常用的工作狀態(tài)0是A、B道交替通行,一個周期用時14秒。用CN

12、T0以0.5秒為單位進行加1計數(shù),從0到27循環(huán)計數(shù),CNT0/2就可知本周期進行到第幾秒了。根據(jù)設(shè)計任務(wù)功能要求,第0秒,A道紅燈、B道黃燈;第1~7秒,A道綠燈、B道紅燈;第8秒,A道黃燈、B道紅燈;第9~13秒,A道紅燈、B道綠燈。</p><p>  工作狀態(tài)3中,CNT3只有2種狀態(tài)(0和0FFH),用于控制緊急車輛的燈光閃爍。</p><p>  時間顯示采用實驗儀的數(shù)碼管顯示

13、。只用一個數(shù)碼顯示器顯示綠燈通行倒計時,A道顯示數(shù)=8-CNT0/2,B道顯示數(shù)=14-CNT0/2。參考流程圖2。</p><p>  如果用2個數(shù)碼顯示器分別顯示A道、B道的倒計時,則需要用到動態(tài)顯示掃描技術(shù),難度較大,定為加分項目。在500ms延時子程序中循環(huán)調(diào)用動態(tài)顯示掃描子程序,定時器的定時周期應(yīng)縮短到5ms。參考流程圖3。此功能難度較大,定為加分項目。2個數(shù)碼管的位碼選擇(低電平有效)有8255的PC

14、3、PC0來確定,接線到數(shù)碼管選擇腳接口JP41(注意JP41的接插方法:JP41只接插一半,用PCL接JP41的1-4引腳。如果PCL與JP41完全連接,PC4對應(yīng)位會顯示倒計時數(shù)碼)。顯示內(nèi)容由8255的B口接線到數(shù)碼管段碼接口JP42。</p><p>  基本和中級要求的參考流程圖:</p><p><b>  2.2實驗流程圖 </b></p>

15、<p><b>  2.3實際源代碼</b></p><p><b>  源程序如下: </b></p><p>  .MODEL TINY</p><p>  COM_ADDR EQU 0B003H</p><p>  T0_ADDR EQU 0B000H&

16、lt;/p><p>  T1_ADDR EQU 0B001H</p><p>  T2_ADDR EQU 0B002H</p><p>  COM_ADD EQU 0F003H</p><p>  PA_ADD EQU 0F000H</p><p>  PB_A

17、DD EQU 0F001H</p><p>  PC_ADD EQU 0F002H</p><p>  .STACK 300</p><p><b>  .DATA </b></p><p>  ;********************數(shù)碼管顯示****************

18、*****:</p><p>  LED_DATA DB 00111111B;數(shù)碼管顯示0</p><p>  DB 00000110B;數(shù)碼管顯示1</p><p>  DB 01011011B;數(shù)碼管顯示2</p><p>  DB 01001111B;數(shù)碼管顯示3</p>&

19、lt;p>  DB 01100110B;數(shù)碼管顯示4</p><p>  DB 01101101B;數(shù)碼管顯示5</p><p>  DB 01111101B;數(shù)碼管顯示6</p><p>  DB 00000111B;數(shù)碼管顯示7</p><p>  DB 01111111B;數(shù)碼管顯

20、示8</p><p>  DB 01101111B ;數(shù)碼管顯示9</p><p>  CNT0 DB ?</p><p>  CNT3 DB ?</p><p><b>  .CODE</b></p><p>  START:

21、MOV AX,@DATA</p><p>  MOV DS,AX </p><p>  MOV DX,COM_ADD ;8255初始化</p><p>  MOV AL,88H ;AL=10001000.PA、PB、PCL輸出,方式0PCH輸入</p><p>  OUT

22、 DX,AL 將AL中的字節(jié)內(nèi)容輸出到由DX所指定的端口</p><p>  MOV DX,PA_ADD;A口初始化</p><p>  MOV AL,0FFH;AL=11111111</p><p>  OUT DX,AL;將AL中的字節(jié)內(nèi)容輸出到由DX所指定的端口</p><p>

23、;  MOV DX,PC_ADD;C口初始化</p><p>  IN AL,DX ;從DX所指的端口中讀取一個字節(jié)內(nèi)容送AL</p><p>  AND AL,0F0H ;1111000,保留高位,低位為0 </p><p>  OUT DX,AL;將AL中的字節(jié)內(nèi)容輸出到由D

24、X所指定的端口</p><p>  MOV DX,COM_ADDR ;8253初始化</p><p>  MOV AL,0B0H ;AL=10110000,選計數(shù)器2,讀計數(shù)結(jié)果;寫計數(shù)初值。方式0,用二進制表示</p><p>  OUT DX,AL;將AL中的字節(jié)內(nèi)容輸出到由DX所指定的端口</p><

25、;p>  MOV CNT0,0;CNT0=0</p><p>  MOV CNT3,0;CNT3=0</p><p>  LEA BX,LED_DATA;將LEA_DATA的原操作數(shù)的偏移地址送到BX通用寄存器中</p><p>  LP: CALL DL500MS;延遲5秒</p><p&

26、gt;  MOV DX,PC_ADD;C口初始化</p><p>  IN AL,DX;從DX所指的端口中讀取一個字節(jié)內(nèi)容送AL</p><p>  TEST AL,80H ;AL AND 10000000H,檢測K7</p><p>  JNE K72 ;如果PC7=0,

27、結(jié)果為0,JNE=0,不執(zhí)行K7。如果PC7=1,JNE=1,執(zhí)行K72,為特殊情況</p><p>  TEST AL,20H ;0010 0000,檢測PC5</p><p>  JNE K51 ;如果PC5=0,結(jié)果為0,JNE=0,不執(zhí)行K51。如果相反,則執(zhí)行K51</p><p>  TEST

28、 AL,40H ;0100 0000 ,PC6 </p><p>  JNE K61 ;如果PC6=0,結(jié)果=0,JNE=0,不執(zhí)行K61。如果相反,則執(zhí)行K61</p><p>  MOV CNT3,0</p><p>  MOV CH,CNT0</p><p> 

29、 SHR CH,1 ;CNT3=0,CH右移1位相當于CH/2</p><p>  JZ L1 ;CH/2=0時,轉(zhuǎn)L1</p><p>  CMP CH,8 ;比較CH/2和8</p><p>  JS L2 ;CH/2〈8,轉(zhuǎn)L

30、2,CH<16</p><p>  JZ L3 ;CH/2=8,CH=16</p><p>  MOV DX,PA_ADD</p><p>  MOV AL,0D7H ;1101 0111</p><p>  OUT DX,AL ;A紅B綠&l

31、t;/p><p>  MOV DX,PB_ADD </p><p>  MOV AL,14 ;啟動數(shù)碼管</p><p>  SUB AL,CH ;AL-CH/2</p><p>  XLAT ;AL=AL+BX,代碼轉(zhuǎn)換指令</

32、p><p>  OUT DX,AL ;顯示倒計時。</p><p>  L0: INC CNT0 ;CNT0=CNT0+1</p><p>  CMP CNT0,28 ;CNT0-28</p><p>  JNZ LP &

33、lt;/p><p>  MOV CNT0,0</p><p><b>  JMP LP</b></p><p>  L1: MOV DX,PA_ADD;A口初始化</p><p>  MOV AL,0DBH ;1101 1011</p><p>  

34、OUT DX,AL ;A紅B黃</p><p>  MOV DX,PB_ADD;B口初始化</p><p>  MOV AL,00H;AL=00000000</p><p>  OUT DX,AL</p><p><b>  JMP L0</b></p&

35、gt;<p>  K72: JMP K7;跳K7</p><p>  K51: MOV DX,PC_ADD;C口初始化</p><p>  IN AL,DX;從DX所指的端口中讀取一個字節(jié)內(nèi)容送AL</p><p>  TEST AL,40H ;0100 0000 ,PC6

36、 </p><p>  JNE K62 ;如果PC6=0,結(jié)果=0,JNE=0,不執(zhí)行K62。如果相反,則K62</p><p>  JMP K5;跳K5</p><p>  K61: JMP K6;跳K6</p><p>  K62: MOV DX,PA_AD

37、D ;A口初始化</p><p>  MOV AL,0BBH ;1011 1011,K8亮0.5S</p><p>  OUT DX,AL ;將AL中的字節(jié)內(nèi)容輸出到由DX所指定的端口</p><p>  CALL DL500MS;延遲0.5秒</p><p>  MOV

38、DX,PA_ADD;A口初始化</p><p>  MOV AL,0FFH ;1111 1111 K8滅0.5S</p><p>  OUT DX,AL;將AL中的字節(jié)內(nèi)容輸出到由DX所指定的端口</p><p>  JMP LP;跳回LP</p><p>  L2:

39、MOV DX,PA_ADD</p><p>  MOV AL,7DH ;0111 1101</p><p>  OUT DX,AL ;A綠B紅</p><p>  MOV DX,PB_ADD ;輸出倒計時數(shù)字</p><p>  MOV AL,8

40、 </p><p>  SUB AL,CH ;AL=AL-CH/2=8-CH/2</p><p>  XLAT ;AL=AL+BX</p><p>  OUT DX,AL </p><p><b>  JMP L0</b>&l

41、t;/p><p>  L3: MOV DX,PA_ADD;A口初始化</p><p>  MOV AL,0BDH;AL=10111101</p><p>  OUT DX,AL;A黃B紅</p><p>  MOV DX,PB_ADD;B口初始化</p><p>  MOV

42、 AL,00H;AL=00000000</p><p>  OUT DX,AL</p><p><b>  JMP L0</b></p><p>  K7: MOV CH,CNT3 ;CNT3=0,CH=0</p><p>  CMP CH,0

43、 ;將CH與0相減但不回送結(jié)果,置標志位ZF=0</p><p>  JZ K71 ;若ZF=0,則執(zhí)行K71 </p><p>  MOV DX,PA_ADD ;A口初始化</p><p>  MOV AL,0DDH ;AL=11011101</p><p>  K7

44、1: MOV DX,PA_ADD ;A口初始化</p><p>  MOV AL,0CCH ;1100 1100,K8亮0.5S</p><p>  OUT DX,AL ;將AL中的字節(jié)內(nèi)容輸出到由DX所指定的端口</p><p>  CALL DL500MS ;延遲0.5秒</p&

45、gt;<p>  MOV DX,PA_ADD ;A口初始化</p><p>  MOV AL,0DDH ;1101 1101 K8滅0.5S</p><p>  OUT DX,AL ;將AL中的字節(jié)內(nèi)容輸出到由DX所指定的端口</p><p>  MOV DX,PB_ADD</p>

46、<p>  MOV AL,00H </p><p>  OUT DX,AL </p><p>  NEG CH ;CH=0</p><p>  MOV CNT3,CH ; CNT3=0,K7滅</p><p&

47、gt;  MOV CNT0,0 </p><p>  JMP LP ;再次跳回LP</p><p>  K5: MOV DX,PA_ADD ;初始化A口</p><p>  MOV AL,7DH ;AL=0111 1101</p><p>  OUT DX,AL

48、 ;亮A綠B紅</p><p>  JMP K56 ;跳K56</p><p>  K6: MOV DX,PA_ADD ;A口初始化</p><p>  MOV AL,0D7H ;1101 0111</p><p>  OUT DX,AL

49、 ;亮A紅B綠</p><p>  K56: MOV DX,PB_ADD ;初始化B口 </p><p>  MOV AL,00H ;AL=00000000</p><p>  OUT DX,AL ;數(shù)碼管停止顯示</p><p>  MOV CNT0,0</p>

50、;<p>  MOV CNT3,0</p><p><b>  JMP LP</b></p><p>  DL500MS PROC NEAR</p><p>  MOV DX,T2_ADDR</p><p>  MOV AX,62500 ;頻率125,62

51、500*(1/125)=0.5S</p><p>  OUT DX,AL</p><p>  MOV AL,AH</p><p>  OUT DX,AL</p><p>  DELAY: MOV DX,PC_ADD</p><p>  IN AL,DX</p><

52、p>  TEST AL,10H ;設(shè)置“準備就緒”(ready)信息在D4位到PC4,TEST為AL AND 10H</p><p>  JE DELAY ;AND后PC4為0時,JE=1,執(zhí)行DELAY。AND后為1,JE=0,不執(zhí)行DELAY</p><p><b>  RET</b>&l

53、t;/p><p><b>  ENDP</b></p><p>  END START</p><p><b>  2.4實際接線圖:</b></p><p><b>  總接線圖</b></p><p>  LED模擬的交通燈顯示情況</p>

54、;<p>  數(shù)碼管模擬的交通燈倒計時</p><p><b>  設(shè)計心得及體會</b></p><p><b>  4.主要參考資料</b></p><p>  [1] 韓念杭. 微型計算機原理實驗指導(dǎo)書 [M] .南京工程學(xué)院,2004.</p><p>  [2] 李干林. 微

55、機原理及接口實驗指導(dǎo)書[M] .南京工程學(xué)院,2009.</p><p>  [3] 李繼燦.新編16/32微型計算機原理及應(yīng)用[M].北京:清華大學(xué)出版社,2004 </p><p>  [4] 朱定華等. 微型計算機原理及應(yīng)用[M]. 北京:電子工業(yè)出版社,2005.</p><p>  [5] 鄭學(xué)堅,周斌. 微型計算機原理及應(yīng)用[M] . 北京:清華大學(xué)出版

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論