單片機紅綠燈的匯編語言程序設計_第1頁
單片機紅綠燈的匯編語言程序設計_第2頁
單片機紅綠燈的匯編語言程序設計_第3頁
單片機紅綠燈的匯編語言程序設計_第4頁
單片機紅綠燈的匯編語言程序設計_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、單片機紅綠燈的匯編語言程序設計a程序源代碼ORG 0000H ;主程序的入口地址LJMP MAIN ;跳轉到主程序的開始處ORG 0003H ;外部中斷0的中斷程序入口地址ORG 000BH ;定時器0的中斷程序入口地址LJMP T0_INT ;跳轉到中斷服務程序處ORG 0013H ;外部中斷1的中斷程序入口地址MAIN : MOV SP,#50HMOV IE,#8EH ;CPU 開中斷,允許 T0中斷,T1中斷和外部中斷1中斷MOV TMOD,#51H ;設置T1為計數方式,T0為定時方式,且都工作于模式1MOV TH1,#00H ;T1 計數器清零MOV TL1,#00HSETB TR1

2、 ;啟動T1計時器SETB EX1 ;允許INT1中斷SETB IT1 ;選擇邊沿觸發方式MOV DPTR ,#0003HMOV A, #80H ;給8255賦初值,8255工作于方式 0MOVX DPTR, AAGAIN: JB P3.1,N0 ;判斷是否要設定東西方向紅綠燈時間的初值,若P3.1為1則跳轉MOV A,P1JB P1.7,RED ;判斷P1.7是否為1,若為1則設定紅燈時間,否則設定綠燈時間MOV R0,#00H ;R0 清零MOV R0,A ;存入東西方向綠燈初始時間MOV R3,ALCALL DISP1LCALL DELAYAJMP AGAINRED: MOV A,P1A

3、NL A,#7FH 1.7 置 0MOV R7,#00H ;R7 清零MOV R7,A ;存入東西方向紅燈初始時間MOV R3,ALCALL DISP1LCALL DELAYAJMP AGAINN0: SETB TR0 ;啟動T0計時器MOV 76H,R7 ;紅燈時間存入76HN00: MOV A,76H ;東西方向禁止,南北方向通行MOV R3,AMOV DPTR,#0000H ;置8255A 口,東西方向紅燈亮,南北方向綠燈亮MOV A,#0DDHMOVX DPTR, AN01: JB P2.0,B0N02: SETB P3.0CJNE R3,#00H,N01 ;比較R3中的值是否為0,不

4、為0轉到當前指令處執行;-黃燈閃爍5秒程序-N1: SETB P3.0MOV R3,#05HMOV DPTR,#0000H ;置8255A 口,東西,南北方向黃燈亮MOV A,#0D4HMOVX DPTR,AN11: MOV R4,#00HN12: CJNE R4,#7DH,$ ;黃燈持續亮 0.5 秒N13: MOV DPTR,#0000H ; 置 8255A 口,南北方向黃燈滅MOV A,#0DDHMOVX DPTR,AN14: MOV R4,#00HCJNE R4,#7DH,$ ;黃燈持續滅 0.5秒CJNE R3,#00H,N1 ;閃爍時間達5秒則退出N2: MOV R7,#00HMO

5、V A,R0 ;東西通行,南北禁止MOV R3,AMOV DPTR,#0000H ;置8255A 口,東西方向綠燈亮,南北方向紅燈亮MOV A,#0EBHMOVX DPTR,AN21: JB P2.0,T03N22: CJNE R3,#00H,N21;-黃燈閃爍5秒程序-N3: MOV R3,#05HMOV DPTR,#0000H ;置8255A 口,東西,南北方向黃燈亮MOV A,#0E2HMOVX DPTR,AN31: MOV R4,#00HCJNE R4,#7DH,$ ;黃燈持續亮0.5秒N32: MOV DPTR,#0000H ; 置 8255A 口,南北方向黃燈滅MOV A,#0EB

6、HMOVX DPTR,AN33: MOV R4,#00HCJNE R4,#7DH,$ ;黃燈持續滅 0.5秒CJNE R3,#00H,N3 ;閃爍時間達5秒則退出SJMP N00;闖紅燈報警程序BO: MOV R2,#03H ;報警持續時間 3秒B01: MOV A,R3JZ N1 ;若倒計時完畢,不再報警CLR P3.0 ;報警CJNE R2,#00H,B01 ;判斷3秒是否結束SJMP N02;-1秒延時子程序N7: RETIT0_INT:MOV TL0,#9AH ; 給定時器 T0送定時10ms的初值MOV TH0,#0F1HINC R4INC R5CJNE R5,#0FAH,T01 ;

7、判斷延時是否夠一秒,不夠則調用顯示子程序MOV R5,#00H ;R5 清零DEC R3 ;倒計時初值減一DEC R2 ;報警初值減一T01: ACALL DISP ;調用顯示子程序RETI ;中斷返回;-顯示子程序-DISP: JNB P2.4,T02DISP1: MOV B,#0AHMOV A,R3 ;R3中值二轉十顯示轉換DIV ABMOV 79H,AMOV 7AH,BDIS: MOV A,79H ;顯示十位MOV DPTR,#TABMOVC A,A+DPTRMOV DPTR,#0002HMOVX DPTR,AMOV DPTR,#0001HMOV A,#0F7HMOVX DPTR,ALC

8、ALL DELAYDS2: MOV A,7AH ;顯示個位MOV DPTR,#TABMOVC A,A+DPTRMOV DPTR,#0002HMOVX DPTR,AMOV DPTR,#0001HMOV A,#0FBHMOVX DPTR,ARET;-東西方向車流量檢測程序 -T03: MOV A,R3SUBB A,#00H ;若綠燈倒計時完畢,不再檢測車流量JZ N3JB P2.0,T03INC R7CJNE R7,#64H,E1MOV R7,#00H ;中斷到100次則清零E1: SJMP N22;東西方向車流量顯示程序 T02: MOV B,#0AHMOV A,R7 ;R7中值二轉十顯示轉換D

9、IV ABMOV 79H,AMOV 7AH,BDIS3: MOV A,79H ;顯示十位MOV DPTR,#TABMOVC A,A+DPTRMOV DPTR,#0002HMOVX DPTR,AMOV DPTR,#0001HMOV A,#0F7HMOVX DPTR,ALCALL DELAYDS4: MOV A,7AH ;顯示個位MOV DPTR,#TABMOVC A,A+DPTRMOV DPTR,#0002HMOVX DPTR,AMOV DPTR,#0001HMOV A,#0FBHMOVX DPTR,ALJMP N7;-延時4MS子程序DELAY: MOV R1,#0AHLOOP: MOV R6

10、,#64HNOPLOOP1: DJNZ R6,LOOP1DJNZ R1,LOOPRET;-字符表-TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHENDORG 0000HAJMP MAINORG 000BHLJMP INTORG 0030H MAIN:MOV R2,#20HMOV TMOD,#01HMOV TL0,#0B0HMOV TH0,#80HSETB EASETB ET0SETB TR0LOOP:MOV A,#01HMOV P1,ALCALL DELMOV R0,#02HLCALL FPLOOP1:MOV A,#02HMOV P1,ALCAL

11、L DELMOV R0,#02HLCALL FPLOOP2:MOV A, #04HMOV P1,ALCALL DELMOV R0,#05HLCALL FPMOV P1,#00HLCALL DELCJNE R0,#00H ,AASJMP LOOPFP:MOV R1,#80HMOV A,R1MOV DPTR,#3FFFH MOVX DPTR,A RR AMOV R1,AMOV A,R0ANL A,#0FHMOV DPTR,#TABMOVC A,A+DPTRMOV DPTR,#5FFFHMOVX DPTR,ALCALL DELMOV A,#0FFHMOV DPTR,#5FFFHMOVX DPTR,AMOV A,R1MOV DPTR,#3FFFHMOVX DPTR,AMOV A,R0ANL A,#0F0HSWAP AMOV DPTR,#TABMOVC A,A+DPTRMOV DPTR,#5FFFHMOVX DPTR,ALCALL DELMOV A,#0FFHMOV DPTR,#5FFFHMOVX DPTR,ACJNE R0,#99H,FPRETDEL:MOV R5,#100HDEL0:MOV R6,#250HDEL1JNZ R6,DEL1DJNZ R5,DEL0RETINT:

溫馨提示

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

評論

0/150

提交評論