找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2642|回复: 1
收起左侧

8086制作十字路口交通灯代码Proteus仿真原理图 8255+74273+74LS138

  [复制链接]
ID:1022606 发表于 2022-4-29 09:15 | 显示全部楼层 |阅读模式
8086制作的交通灯,使用8086CPU,以74273,8255和74LS138来作为模块
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
51hei.gif
1.png

8086汇编语言源程序如下:
  1. ;====================================================================
  2. ; Main.asm file generated by New Project wizard
  3. ;
  4. ; Created:   周二 3月 10 2020
  5. ; Processor: 8086
  6. ; Compiler:  MASM32
  7. ;
  8. ; Before starting simulation set Internal Memory Size
  9. ; in the 8086 model properties to 0x10000
  10. ;====================================================================

  11. ;====================================================================
  12. ; rtl.asm file generated by New Project wizard
  13. ;
  14. ; Created:   周六 11月 30 2019
  15. ; Processor: 8086
  16. ; Compiler:  Digital Mars C
  17. ;====================================================================

  18. IOCON EQU 02B6H
  19. IOA   EQU 02B0H
  20. IOB   EQU 02B2H
  21. IOC   EQU 02B4H
  22. CODE  SEGMENT
  23.       ASSUME  CS:CODE
  24. START:MOV  AL,80H         ;8255A的ABC口都为工作方式0,都为输出口
  25.       MOV  DX,IOCON     
  26.       OUT  DX,AL          ;向8255A发送工作方式控制字
  27.       
  28.       MOV  DX,IOB
  29.       MOV  AL,0F0H
  30.       OUT  DX,AL          ;关闭所有的黄灯和绿灯
  31.       
  32.       MOV  DX,IOC
  33.       MOV  AL,0F0H
  34.       OUT  DX,AL          ;打开所有的红灯
  35.       
  36.       CALL DELAY1         ;长延时
  37. IOLED0:
  38.       MOV  AL,10100101B
  39.       MOV  DX,IOC
  40.       OUT  DX,AL          ;东西的红灯亮,南北的绿灯亮
  41.       CALL DELAY1         ;长延时
  42.       CALL DELAY1         ;长延时
  43.       OR   AL,0F0H        
  44.       OUT  DX,AL          ;南北的绿灯灭
  45.       MOV  CX,8           ;南北的黄灯闪烁8次
  46. IOLED1:
  47.       MOV  DX,IOB
  48.       MOV  AL,10101111B
  49.       OUT  DX,AL          ;南北的黄灯亮
  50.       CALL DELAY2         ;短延时
  51.       OR   AL,01010000B   
  52.       OUT  DX,AL          ;南北的黄灯灭
  53.       CALL DELAY2         ;短延时
  54.       LOOP IOLED1
  55.       
  56.       MOV  DX,IOC
  57.       MOV  AL,0F0H
  58.       OUT  DX,AL          ;所有的红灯全亮,绿灯全灭,进行消隐
  59.       CALL DELAY2         ;短延时
  60.       
  61.       MOV  AL,01011010B
  62.       OUT  DX,AL          ;南北的红灯亮,东西的绿灯亮
  63.       CALL DELAY1         ;长延时
  64.       
  65.       OR   AL,0F0H
  66.       OUT  DX,AL          ;东西的绿灯灭
  67.       MOV  CX,8           ;东西的黄灯闪烁8次
  68. IOLED2:
  69.       MOV  DX,IOB
  70.       AND  AL,01011111B
  71.       OUT  DX,AL          ;东西的黄灯亮
  72.       CALL DELAY2         ;短延时
  73.       
  74.       OR   AL,10100000B
  75.       OUT  DX,AL          ;东西的黄灯灭
  76.       CALL DELAY2         ;短延时
  77.       LOOP IOLED2
  78.       
  79.       MOV  DX,IOC
  80.       MOV  AL,0F0H
  81.       OUT  DX,AL         ;所有的红灯全亮,绿灯全灭,进行消隐
  82.       CALL DELAY2        ;短延时
  83.       JMP  IOLED0
  84.       
  85. DELAY1:                  ;长延时
  86.       PUSH AX
  87.       PUSH CX
  88.       MOV  CX,0030H
  89. DELY2:CALL DELAY2       ;短延时
  90.       LOOP DELY2
  91.       POP  CX
  92.       POP  AX
  93.       RET
  94. DELAY2:
  95.       PUSH CX
  96.       MOV  CX,8000H
  97. DELA1:LOOP DELA1
  98.       POP  CX
  99.       RET
  100. CODE  ENDS
  101.       END  START
复制代码

代码与Proteus8.8版本仿真下载:
十字路口交通灯实验.7z (53.16 KB, 下载次数: 87)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:1031451 发表于 2022-6-1 09:17 | 显示全部楼层
感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表