你好!欢迎来到深圳市颖特新科技有限公司!
语言
当前位置:首页 >> 技术中心 >> 单片机入门 >> 8255与单片机接口实例

8255与单片机接口实例

作者:admin 来源:不详 发布时间:2018-05-08  浏览:0

例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要用十进制减法运算。

编辑:admin  最后修改时间:2018-05-08

联系方式

0755-82591179

传真:0755-82591176

邮箱:vicky@yingtexin.net

地址:深圳市龙华区民治街道民治大道973万众润丰创业园A栋2楼A08

Copyright © 2014-2023 颖特新科技有限公司 All Rights Reserved.  粤ICP备14043402号-4