第二章 交叉路口交通指示灯控制器.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 交叉路口交通指示灯控制器

第二章 交叉路口交通指示灯控制器 一、实训目的 掌握利用8253定时/计数器芯片进行定时的基本方法 掌握8255并行接口芯片的基本输入/输出控制方法 掌握数码管显示控制的方法 二、实训设备 TDN86/51教学实验系统。 三、实训内容 利用8253作为定时器,8255作为输入输出接口,控制数码管的时间显示。 硬件连接图 硬件连接说明: ①8253和8259采用系统连接,8253的定时器通道0,输入频率为1.19MHz,输出产生0.05秒的定时信号,通过8259的IR0向CPU申请中断,即每产生一次中断,则说明定时0.05秒。 ②8255的A口输出,控制8个发光二极管的亮灭,作为指示灯,实际只用二个绿灯和红灯。 ③8259的B口输出,作为4个数码管的笔划码,其显示码与显示数据的关系如下表;C口的PC0~PC3为字段码控制,控制哪一个数码管显示。 显示数值 显示码 显示数值 显示码 Dp g f e d c b a Dp g f e d c b a 0 0 0 1 1 1 1 1 1 5 0 1 1 0 1 1 0 1 1 0 0 0 0 0 1 1 0 6 0 1 1 1 1 1 0 1 2 0 1 0 1 1 0 1 1 7 0 0 0 0 0 1 1 1 3 0 1 0 0 1 1 1 1 8 0 1 1 1 1 1 1 1 4 0 1 1 0 0 1 1 0 9 0 1 1 0 1 1 1 1 ④8259的C口输入,根据开关K1~K4的值,设置通行时间从00~90秒,间隔10秒。 程序流程图 主程序流程如下: 中断处理程序如下: 程序 ;十字路口交通控制器 DATA SEGMENT SETTIME DB ? ;用户设置的通行时间 NOWTIME DB ? ;当前计时时间 TIME1 EQU 10 TIMEOT1 DB TIME1 ;0.5秒定时单元 TIME2 EQU 2 TIMEOT2 DB TIME2 ;1秒定时单元 FLAG DB 1 ;闪烁标志 ONOFF DB 1 ;亮灭标志 LEFT DB 1 ;南北向和东西向标志 TAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;0~9的显示码 DATA ENDS STACK SEGMENT STACK DW 64 DUP(?) ;定义堆栈段 STACK ENDS CODE SEGMENT ;代码段定义 ASSUME CS:CODE,DS:DATA ;段指定 START: MOV AX,DATA MOV DS,AX PUSH DS ;当前用户DS段入栈保存 MOV AX,0000H MOV DS,AX ;修改DS=0000H,指向中断矢量表所在段 MOV AX,OFFSET IRQ0 ;取出中断处理子程序的入口偏移地址(以0为基准) ADD AX,2000H ;修正,实际地址=装入地址的偏移量+相对于0起始的偏移量 MOV SI,0020H ;IR0中断矢量号为08H,处于矢量表的20H~23H MOV [SI],AX ;将偏移地址装入矢量表 MOV AX,0000H MOV SI,0022H MOV [SI],AX ;将段地址(0000H)装入矢量表 POP DS ;恢复用户数据段DS MOV AL,0FCH ;D1,D0位复位为0 OUT 21H,AL ;写入OCW1(IMR);开放8259A的IR1和IR0中断 MOV AL,34H ;设定8253通道0的工作方式 OUT 43H,AL ;CH0采用先写低8位,后写高8位,方式2,二进制计数 MOV AX,59500 ;计数初值为59500,输出20HZ信号,定时0.05秒 OUT 40H,AL ;写入CH0 MOV AL,AH OUT 40H,AL STI ;开中断 MOV AL,88H ;写入8255A的方式控制字,设定工作方式 OUT 63H,AL ;即A口方式0输出,C口高4位输入,B口方式0输出,C口低4位输出 IN AL,62H ;循环读出C口的四个开关状态(PC4~PC7)

您可能关注的文档

文档评论(0)

haowendangqw + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档