8255A控制交通灯完盏柠实验.docVIP

  • 1
  • 0
  • 约3.41千字
  • 约 6页
  • 2017-08-18 发布于浙江
  • 举报
8255A控制交通灯完盏柠实验

二○一 一 ~二○一二学年第 二 学期 信息科学与工程学院 课程设计报告书 课程名称: 微机原理课程设计 班 级: 电子信息工程2009级 6 班 学 号: 200904135150 姓 名: 张 强 指导教师: 徐 守 明 二○一二年 二 月 二十 日 8255A控制交通灯实验 一、实验流程图如下: 1、主程序流程图 2、中断服务程序(以外部中断0为例) 二、软件仿真图如下: 三、实验总结: 本实验主要实现了基本交通灯工作情况,主要用到并行接口芯片5255A,单片机控制8255A工作,由8255A的PA口驱动LED闪烁, 8255PA口的低三位是南北路口。高三位是东西路口,模拟交通灯工作。另外,利用单片机内部中断,加了两个紧急情况处理功能。当需要关闭东西通道,开通南北通道时,按下K1键,东西红灯亮,南北绿灯亮。当需要关闭南北通道,开通东西通道时,按下K2键,东西红灯亮,南北绿灯亮。 完整的做完实验后,我觉得实验中应该注意一下几点: 延时程序的设计。要想利用软件比较准确的设计延时程序,需要知道时钟周期,状态周期,机器周期的概念以及循环程序设计的基本思路。 8255A编程,实验中应该先写控制字后写方式字。这里需要指出的是,硬件连线时一定要严格按照8255A的控制字连线,也就是地址分配问题。AT89S52的P2口在实验中做地址线,充当地址高8位,P0口既做地址线也做数据线,做地址线时充当地址低8位。 8255A选择A口时,不能直接把A0,A1接地,而应该用地址赋值语句给A0,A1赋值,使其同时为低电平,选中A口。 四、实验程序如下: ;*********8255PA口的次低三位是南北路口。次高三位是东西路口********* ORG 0000H LJMP START ORG 0003H ;外部中断0的中断程序入口地址 LJMP KEY1 ;转外部中断0中断服务程序 ORG 0013H ;外部中断1的中断程序入口地址 LJMP KEY2 ;转外部中断1中断服务程序 START: SETB IT0 ;INTO为边沿触发 SETB IT1 SETB EX0 ;启动T0 SETB EX1 SETB EA ;开总中断 MOV DPTR,#03FFH MOV A,#80H MOVX @DPTR,A S1: MOV A, MOV DPTR,#00FFH MOVX @DPTR,A ;第一种状态:东西红灯亮,南北绿灯亮 CALL DELAY5S ;5秒延时 S2: MOV A, ;第二种状态:东西红灯亮,南北黄灯亮 MOV DPTR,#00FFH MOVX @DPTR,A CALL DELAY1S ; 0.2秒延时 MOV A, ;东西红灯亮,南北黄灯灭,黄灯第一次闪烁 MOV DPTR,#00FFH MOVX @DPTR,A CALL DELAY1S MOV A, ;第二种状态:东西红灯亮,南北黄灯亮 MOV DPTR,#00FFH MOVX @DPTR,A CALL DELAY1S MOV A, ;东西红灯亮,南北黄灯灭,黄灯第二次闪烁 MOV DPTR,#00FFH MOVX @DPTR,A CALL DELAY1S MOV A, ;第二种状态:东西红灯亮,南北黄灯亮 MOV DPTR,#00FFH MOVX @DPTR,A CALL DELAY1S MOV A, ;东西红灯亮,南北黄灯灭,黄灯第次闪烁 MOV DPTR,#00FFH MOVX @DPTR,A CALL DELAY1S S3: MOV A, ;第三种状态:东西绿灯亮,南北

文档评论(0)

1亿VIP精品文档

相关文档