电工学习网

 找回密码
 立即注册

8255与单片机接口实例

2015-5-13 06:36| 编辑:电工学习网| 查看: 14374| 评论: 0

1 8255B口输入8位数据,然后从8255A口输出。

解:设置8255A口为基本I/O输出方式,8255B口为基本I/O输入方式。先从8255B口输入8位数据到累加器A,然后将累加器中的8位数据输出到8255A口,重复上述过程。

2  编写交通灯控制程序。用8255A口的PA7PA6PA5控制南北方向的红、黄、绿灯,用8255A口的PA0PA1PA2控制东西方向的红、黄、绿灯,如图8-11所示。控制方式为:东西方向通行30秒后,黄灯亮1秒,再南北方向通行30秒后,黄灯亮1秒,按上述方式不断循环。

 

解:(1)分析:

开始时,假设东西方向先通行,即东西方向为绿灯(PA2=1),南北方向为红灯(PA7=1)。显然,送入8255A口的控制码为10000100=84H30秒延时后黄灯亮,黄灯亮的控制码为42H。延时1秒后,南北方向通行,南北方向通行的控制码为21H。然后延时30秒依次循环。具体工作过程如下:     

由上述分析可知,只要将8255A口设置成基本I/O输出方式,然后将交通灯的控制码依次输出到A口,并作30秒或1秒的延时,则可编写出如下的交通灯控制程序。

2)流程图如图8-19所示

3)源程序

延时1秒与30秒子程序由读者自行编写。

思考题:

在上题的基础上,如何编写在八段显示管DG1DG0上,能显示30秒倒计时的交通灯程序。

提示:将延时程序,改为调用倒计时显示子程序,该子程序的流程图如图8-12所示。在图中用41H单元作为倒计数单元,延时秒数(30秒或1秒)输入41H单元中。图8-13为定时器T0延时20ms中断处理程序,流程图中内容由读者自已理解,程序也由读者自己编写。

编程时请注意,图8-202)中:(41H)←(41H)-1要用十进制减法运算。

看过《8255与单片机接口实例》的人还看了以下文章:

发表评论

最新评论

  • 实时时钟芯片DS1302
  • 8255的控制字
  • 单片机点亮led灯程序详解
  • 单片机引脚功能定义
  • 单片机数码管显示原理
  • RS485通信和Modbus协议

电工学习网 ( )

GMT+8, 2023-8-13 17:00

Powered by © 2011-2022 www.shop-samurai.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

返回顶部