- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二○一 一 ~二○一二学年第 二 学期
信息科学与工程学院
课程设计报告书
课程名称: 微机原理课程设计
班 级: 电子信息工程2009级 6 班
学 号: 2
姓 名: 张 强
指导教师: 徐 守 明
二○一二年 二 月 二十 日
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, ;第三种状态:东西绿灯亮,南北红灯亮
MOV DPTR,#00FFH
文档评论(0)