标题: 8086制作十字路口交通灯代码Proteus仿真原理图 8255+74273+74LS138 [打印本页]

作者: 2256140203    时间: 2022-4-29 09:15
标题: 8086制作十字路口交通灯代码Proteus仿真原理图 8255+74273+74LS138
8086制作的交通灯,使用8086CPU,以74273,8255和74LS138来作为模块
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)



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, 下载次数: 92)

作者: 顾招徕    时间: 2022-6-1 09:17
感谢分享
作者: kmio    时间: 2025-6-13 09:17
感谢分享
作者: bolo8417    时间: 2025-6-14 16:19
发表于 2022-6-1 09:17
感谢分享

谢谢博主!,博主配享太庙




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1