找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1791|回复: 0
打印 上一主题 下一主题
收起左侧

基于8086,8255芯片的交通灯程序和电路原理图设计

[复制链接]
跳转到指定楼层
楼主
ID:1060254 发表于 2023-1-4 10:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
实验目的
掌握通过 8255A 并口传输数据的方法,以控制发光二极管的亮与灭。
实验原理
利用 Proteus 仿真 8255A 控制交通灯,用 8255A 做输出口,控制十二个 LED 亮灭,模拟交通灯管理

实验内容
  (1)设计 8255A 连接 LED 方案。 通过 8255A 控制发光二极管,PB4-PB7 对应黄灯,PC0-PC3 对应红灯,PC4-PC7 对应绿灯, 以模拟交通路灯的管理。
     (2)交通路灯的亮灭规律 设有一个十字路口 l、3 为南北方向,2、4 为东西方向,初始状态为四个路口的红灯全亮,之后 1、3 方向的绿灯亮,2、4 方向的红灯亮,1、3 方向通车。延时一段时间后, l、3 方向的绿灯熄灭,而 l、3 方向的黄灯开始闪烁,闪烁8次以后,l、3 方向红灯亮, 而同时 2、4 方向的绿灯亮,2、4 方向通车,延时一段时间后,2、4 方向的绿灯熄灭, 而黄灯开始闪烁,闪烁8次以后,四个方向红灯齐亮,再切换到 l、3 方向通行,之后重复上述过程。

1. 硬件:微型计算机1台
2. 软件:MASM50、DosBox0.74。

实验线路的仿真和接口芯片的编码

   

实验结果截图:

初始状态,全部红灯亮

1、3方向绿灯亮,2、4方向红灯亮

1、3方向黄灯闪烁

1、3方向红灯亮,2、4方向绿灯亮

2、4方向黄灯闪烁


  1. CODE SEGMENT ;8255A 控制交通灯程序
  2. ASSUME CS:CODE
  3. IOCONPT EQU 86H;8255 控制口
  4. IOAPT EQU 80H ;PA 口
  5. IOBPT EQU 82H;PB 口
  6. IOCPT EQU 84H;PC 口
  7. START:MOV AL,82H ;PB 输入,PA,PC 输出
  8. MOV DX,IOCONPT
  9. OUT DX,AL ;写命令字
  10. MOV DX,IOBPT ;读 PB 口
  11. IN AL,DX
  12. MOV BYTE PTR DS:[0601H],AL ;保存 PB 口数据
  13. MOV DX,IOCONPT ;8255 控制口
  14. MOV AL,80H
  15. OUT DX,AL ;写命令字, PA,PB,PC 输出
  16. MOV DX,IOBPT ;
  17. MOV AL,DS:[0601H]
  18. OR AL, 0F0H
  19. OUT DX,AL
  20. MOV DX,IOCPT
  21. MOV AL,0F0H
  22. OUT DX,AL ;四路口红灯全亮
  23. CALL DELAY1 ;延时
  24. IOLED0: MOV AL, 10100101B
  25. MOV DX,IOCPT
  26. OUT DX,AL ;南北绿灯亮,东西红灯亮
  27. CALL DELAY1 ;延时
  28. CALL DELAY1 ;延时
  29. OR AL,0F0H
  30. OUT DX,AL ;南北绿灯灭
  31. MOV CX,20H
  32. IOLED1: MOV DX,IOBPT
  33. MOV AL,DS:[0601H]
  34. AND AL,10100000B
  35. OUT DX,AL ;南北黄灯亮
  36. CALL DELAY2 ;延时
  37. OR AL,01010000B
  38. OUT DX,AL ;南北黄灯灭
  39. CALL DELAY2 ;延时
  40. LOOP IOLED1 ;南北黄灯闪烁 8 次
  41. MOV DX,IOCPT
  42. MOV AL,0F0H
  43. OUT DX,AL ;四路口红灯全亮
  44. CALL DELAY2 ;延时
  45. MOV AL, 01011010B
  46. OUT DX,AL ;东西绿灯亮
  47. CALL DELAY1 ;延时
  48. CALL DELAY1
  49. OR AL,0F0H
  50. OUT DX,AL ;东西绿灯灭
  51. MOV CX,20H
  52. IOLED2: MOV DX,IOBPT
  53. MOV AL,DS:[0601H]
  54. AND AL,  01010000B
  55. OUT DX,AL ;东西黄灯亮
  56. CALL DELAY2 ;延时
  57. OR AL,10100000B
  58. OUT DX,AL ;东西黄灯灭
  59. CALL DELAY2 ;延时
  60. LOOP IOLED2 ;东西黄灯闪烁 8 次
  61. MOV DX,IOCPT
  62. MOV AL,0F0H
  63. OUT DX,AL ;四路口红灯全亮
  64. CALL DELAY2
  65. JMP IOLED0 ;循环继续
  66. DELAY1: PUSH AX
  67. PUSH CX
  68. MOV CX,0030H
  69. DELY2: CALL DELAY2
  70. LOOP DELY2
  71. POP CX
  72. POP AX
  73. RET
  74. DELAY2: PUSH CX
  75. MOV CX,1500H
  76. DELA1: LOOP DELA1
  77. POP CX
  78. RET
  79. CODE ENDS
  80. END START
复制代码
本次实验熟悉了8255A芯片的硬件连接方法、内部结构、工作原理和工作方式,实验中需要注意的是交通灯的接线不能接反了,否则会出现错误,同时也在实验中回顾了知识,尤其看到交通灯亮起来的时候非常的高兴。

以上图文的Word格式文档下载(由于word原因 文件内的图片也比较模糊,如介意请勿下载,为防止有人照抄,仿真文件不提供):
仅供参考,大家可以学习下作者的思路,自行设计,切勿照搬: 交通灯.docx (1.35 MB, 下载次数: 6)

评分

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

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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