找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3362|回復: 0
打印 上一主題 下一主題
收起左側

基于單片機匯編的交通燈設計,源碼與Proteus仿真與視頻

[復制鏈接]
跳轉到指定樓層
樓主
ID:541284 發(fā)表于 2019-5-18 19:59 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
基于匯編的交通燈設計1.紅綠黃+數(shù)碼管顯示倒計時,其中綠燈最后三秒閃爍
2.程序框圖如下



3.部分單片機匯編語言源碼
  1. //變量定義
  2.                 REDTIME        EQU 30H
  3.                 GREENTIME EQU 31H
  4. //程序起點
  5.                 ORG 0000H
  6.                 LJMP MAIN
  7.                 ORG 000BH
  8.                 LJMP COUNTTIME ;定時器0中斷
  9.                 ORG 0003H
  10.                 LJMP CHANMODE ;外部中斷0
  11. //主程序
  12.                 ORG 0100H
  13. MAIN:
  14. ;1.啟動檢查
  15. ;2.初始化定時器0、外部中斷
  16.                 MOV TMOD,#01H                   ;采用方式1
  17.                 MOV TH0,#0ECH                   ;定時5ms的定時常數(shù)
  18.                 MOV TL0,#76H
  19.                 SETB TR0                           ;啟動定時器
  20.                 SETB ET0                           ;允許定時器中斷
  21.                 SETB EX0                        ;允許外部中斷
  22.                 SETB IT0                        ;下降沿觸發(fā)方式
  23.                 SETB EA                                   ;開啟CPU中斷
  24. ;3.定義變量初值
  25.                 MOV R0,#0
  26.                 MOV REDTIME,#25                ;紅燈起始25s
  27.                 MOV GREENTIME,#20        ;綠燈起始20s
  28.                 MOV P0,#0FFH                ;數(shù)碼管全不亮
  29.                 MOV P2,#00H                        ;共陰數(shù)碼管每段都不亮
  30.                 MOV P1,#00H                        ;每個發(fā)光二極管都不亮

  31.                 MOV R1,GREENTIME                ;R1儲存實時變化的南北時間
  32.                 MOV R2,REDTIME        ;R2儲存實時變化的東西時間

  33.                 SETB P1.0                        ;初始狀態(tài),南北綠燈亮
  34.                 SETB P1.5                        ;初始狀態(tài),東西紅燈亮
  35.                 MOV R3,#1                        ;記錄運行的階段
  36.                 MOV R4,#0                        ;記錄數(shù)碼管位選信號        
  37.                 MOV R5,#0                        ;記錄綠燈閃爍次數(shù)
  38.                 MOV R7,#0                        ;記錄工作模式0為正常運行,1為設置模式        
  39. ;4.開始LED和SEG開始倒計時工作
  40. LOOP:        CJNE R7,#1,WORK                ;進行模式判斷
  41.                 LCALL SETMODE                ;R7=1,則進入設置模式
  42.                 JMP LOOP                        ;進行模式判斷的循環(huán)

  43. WORK:        CJNE R0,#200,LOOP        ;工作模式
  44.                 MOV R0,#0                        ;R0=200則為1s進行倒計時時間的變化
  45.                 DEC R1
  46.                 DEC R2
  47.                 LCALL TWINKGREEN        ;綠燈閃爍子程序(判斷綠燈是否閃爍,是否執(zhí)行閃爍)
  48.                 LCALL  STAGECHAN        ;運行的階段的判斷,即一個階段的倒計時完成之后,重新賦值
  49.                 JMP LOOP
復制代碼


4.Proteus仿真視頻:
https://www.bilibili.com/video/av39625094

5.Preotuse仿真與源碼
Proteus.rar (102.54 KB, 下載次數(shù): 45)

匯編交通燈.rar (31.75 KB, 下載次數(shù): 34)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表