水电电工知识
电工文库|8255与单片机接口实例
2016-01-20  浏览:54
水电之家讯:例1 从8255B口输入8位数据,然后从8255A口输出。

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

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

<?XML:NAMESPACE PREFIX = O />

解:(1)分析:

开始时,假设东西方向先通行,即东西方向为绿灯(PA2=1),南北方向为红灯(PA7=1)。显然,送入8255A口的控制码为10000100=84H。30秒延时后黄灯亮,黄灯亮的控制码为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-20(2)中:(41H)←(41H)-1要用十进制减法运算。

水电之家为您提供最全面的管材,管件,水电,电线,电工,管材水电品牌的装修知识点和各种管材水电的导购与在线购买服务,拥有最便宜的管材水电价格和最优质的售后服务,每天都有秒杀的抢购活动哦!敬请登陆水电之家:http://shuidian.jc68.com/
更多»您可能感兴趣的文章:
更多»有关 管材 的产品:
  • 水电电工资讯
  • 发表评论 | 0评
  • 评论登陆
  • 移动社区 天花之家 木门之家 灯具之家 铁艺之家 幕墙之家 五金头条 楼梯头条 墙纸头条 壁纸头条 玻璃头条 老姚之家 灯饰之家 电气之家 全景头条 照明之家 防水之家 防盗之家 区快洞察 建材 枣庄建材 临沂建材 南昌建材 上饶建材 抚州建材 宜春建材 吉安建材 赣州建材 鹰潭建材 新余建材 九江建材 萍乡建材 景德镇陶瓷 石家庄建材 衡水建材 廊坊建材 沧州建材 承德建材 建材之家 企业之家 720全景
    (c)2015-2017 BYBC.CN SYSTEM All Rights Reserved