交通灯设计-8255-8254(附连线图和源代码)

上传人:go****e 文档编号:136889787 上传时间:2020-07-03 格式:DOCX 页数:27 大小:55.97KB
返回 下载 相关 举报
交通灯设计-8255-8254(附连线图和源代码)_第1页
第1页 / 共27页
交通灯设计-8255-8254(附连线图和源代码)_第2页
第2页 / 共27页
交通灯设计-8255-8254(附连线图和源代码)_第3页
第3页 / 共27页
交通灯设计-8255-8254(附连线图和源代码)_第4页
第4页 / 共27页
交通灯设计-8255-8254(附连线图和源代码)_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《交通灯设计-8255-8254(附连线图和源代码)》由会员分享,可在线阅读,更多相关《交通灯设计-8255-8254(附连线图和源代码)(27页珍藏版)》请在金锄头文库上搜索。

1、西安郵電學院硬件课程设计报告题 目:微机原理与接口课程设计院系名称: 计算机学院 专业名称: 软件工程班 级: 软件0802 学生姓名: 王晶晶学号(8位): 04085047指导教师: 刘军设计起止时间:2011年05月23日2011年05月27日一、设计目的通过可编程并行接口芯片8255A和可编程定时器计数器芯片82538254以及中断控制器 8259实现十字路口交通灯的模拟控制,进一步掌握并行接口和定时器计数器及数码管控制的实际应用。二、设计内容1用试验台提供的发光二极管(红绿黄各两支,共六支)作为南北路口(红绿黄各一支)和东西路口(红绿黄各一支)的模拟交通灯。2用可编程并行接口芯片82

2、55A控制模拟交通灯的亮与灭和数码管的倒计时显示。3用可编程定时器计数器芯片8253实现模拟交通灯亮与灭的时间延迟控制。4用数码管作为模拟交通灯亮与灭的时间延迟控制的倒计时显示。5用汇编语言编程使六个灯按交通灯变化规律“亮/灭”。交通灯变化规律要求: 南北路口的绿灯,东西路口的红灯同时亮30秒,且数码管30秒倒计时显示。 南北路口的黄灯闪烁3秒(三亮三灭),同时东西路口的红灯继续亮,且数码管3秒倒计时显示。 南北路口的红灯,东西路口的绿灯同时亮20秒,且数码管20秒倒计时显示。 南北路口的红灯继续亮,同时东西路口的黄灯闪烁3秒(三亮三灭),且数码管3秒倒计时显示。 转重复 按压“东西紧急键”,

3、则东西方向绿灯,南北方向红灯;再次按压“东西紧急键”,解除东西紧急通行状态。(“东西紧急键”可是键盘键,亦可是逻辑开关键) 按压“南北紧急键”,则南北方向绿灯,东西方向红灯;再次按压“南北紧急键”,解除南北紧急通行状态。(“南北紧急键”可是键盘键,亦可是逻辑开关键) 按 键退出程序。备注:1、按键用 8255A 芯片的 PC 口实现或用键盘模拟实现。2、8253定时到可以通过8259,用中断的方式实现定时器。3、也可以用软件监测8253计数状态实现定时。4、也可以用纯软件延时方式实现本题目。三、概要设计 由于本设计要使用到8254和8255。因此对其分块实现。1. 流水灯设计:做该设计是为了熟

4、悉编程环境,并借此熟悉8255的基本工作原理。功能模块图:流水灯LED灯循环点亮图3-1 流水灯功能模块功能描述:使SW-LED UNIT的D0-D7循环被点亮。2. 用8255与LED KEYBOARD UNIT相连实现八段数码管的静态显示。功能模块图八段数码管静态显示数码管上显示在程序中给定的数值图3-2 LED静态显示功能描述:在程序中给定一位数值,将其显示在LED数码管上。3. 用8255与LED KEYBOARD UNIT相连实现八段数码管的动态显示功能模块图:八段数码管动态显示程序给定初值NUM在LED上显示NUMNUM!=0NUM-1NUM=0结束 图3-3 LED动态显示功能描

5、述:给定一个数值,使其在LED灯上显示,并且是显示两位(视觉效果),然后将该数减一显示,直到减为0。4. 交通灯控制(软延时)交通灯控制功能模块图:东西,南北紧急键先LED灯显示的同时,数码管显示对应的倒计时LED灯东西,南北方向红、黄、绿灯按一定规则交替显示图3-4 交通灯控制功能描述:模拟交通灯的实现,是SW-LED上的灯模拟红绿灯,数码管模拟倒计时显示器,先是南北路口绿灯亮,东西路口红灯亮,倒计时30秒,南北路口黄灯亮,东西路口红灯亮,倒计时5秒,南北路口红灯亮,东西路口绿灯亮,倒计时30秒,南北路口红灯亮,东西路口黄灯亮,倒计时5秒,然后不停的循环这四种状态。可按任意键退出该程序,K0

6、键为东西紧急键,K1为南北紧急键。按动K0(K0=1)后东西方向一直为绿灯,南北方向一直为红灯,直到再次搬动K0使K0=0时,南北绿灯,东西红灯,恢复上述四种状态的循环。按动K1使K1=1时,南北一直绿灯,东西一直红灯,知道再次按动K1,使K1=0,使南北红灯,东西绿灯,恢复上述四种状态的循环。在SW-LED UNIT中D7、D5、D3分别表示东西方向的红、绿、黄灯,D6、D4、D3分别表示南北方向的红、绿、黄灯。5. 交通灯控制(8254)这部分的功能模块图与功能描述与上述交通灯控制(软延时)相同,只是实现方式有所不同。四、详细设计1、用8255实现流水灯,熟悉8255的使用和工作原理。在该

7、试验中使8255的A口、B口、C口均工作在输出状态下,让B口与SW-LED UNIT的D0-D7相连,给B口得初值为FE并输出在LED灯上显示,然后让该值循环右移并显示,在每次输出时,使用软件延时,使灯的每次变换间隔大约为1秒数据流程图为:开始初始化8255给B口送初值FE。使D0亮B口的值循环右移,使灯循环点亮图4-1 流水灯数据流程图2、用8255与LED KEYBOARD UNIT相连实现八段数码管的静态显示。实验线路图如下图4-2所示: XD7XD6XD5XD4XD3XD2XD1XD0XA1XA0XIOWXIORIOY3ABCDEFGDPLED KEYBOARD UNITD7 PB0D

8、6 PB1D5 PB2D4 PB3D3 PB4D2 PB5D1 PB6D0 PB78255UNITA1A0 WR RD CS低电平X1X2X3X4图4-2 静态显示实验的连线图共阴极LED数码管字形代码如下表4-2所示:表4-3 共阴极LED数码管字形显示字形共阴极字形代码字形共阴极字形代码字形共阴极字形代码03FH67DHC39H106H707Hd5EH25BH87FHE79H34FH96FHF71H466HA77H灭00H56DHb7CH实验步骤:设计实验线路图如上图4-2所示,完成连接。编写程序实现将给定数值用LED的前两位显示出来:8255初始化: MOV DX, 1463H MOV

9、AL, 10000001B ;初始化A,B,C口都工作在方式0,都为输出口 OUT DX, AL LED显示数NUM: MOV BX, OFFSET TABLE1 ;取八段数码管表的首地址 MOV AL, NUM XLAT ;查表,找出NUM对应的共阴极字形代码 MOV DX, 1461H OUT DX, AL ;将该代码送到B口打开试验箱电源,进入纯DOS环境运行程序,观察LED数码管显示情况。开始将8255的B口设为输出口,A,C口任意给出一个要显示的数值查表求出对应的段码将段码经8255的B口输出结束实验流程图如下图4-4所示图4-4 静态显示程序数据流程图3. 用8255与LED KE

10、YBOARD UNIT相连实现八段数码管的动态显示实验连线图如下图4-5所示: D7 PB0D6 PB1D5 PB2D4 PB3D3 PB4D2 PB5D1 PB6D0 PB78255UNITA1A0 WR PA0RD PA1 CSLED KEYBOARD UNITABCDEFGDPX1X2XD7XD6XD5XD4XD3XD2XD1XD0XA1XA0XIOWXIORIOY3 图4-5 动态显示实验的连线图实验步骤:设计实验连线图如上图4-5所示,完成连线。编写程序实现用LED数码管动态显示3000,先使用软件延时,使其实现30秒得倒计时。8255初始化: MOV DX, 1463H MOV A

11、L, 10000001B ;初始化A,B,C口都工作在方式0,都为输出口 OUT DX, ALLED动态显示30秒得倒计时:DISPLY PROC MOV NUM, 25 ;使十位数与个位数循环交替显示25次 MOV BX, OFFSET TABLE1 SHOW: MOV AL, NUM1 ;显示十位数 XLAT ;查表 MOV DX, 1461H OUT DX, AL ;将该数的LED数码管字形代码送到B口 MOV DX, 1460H ;接通8段代码管的第一位,在LED上显示十位数 MOV AL, 0FEH OUT DX, AL CALL DELAY MOV AL, 0FFH OUT DX, AL MOV AL, NUM2 ;显示个位数 XLAT MOV DX, 1461H OUT DX, AL MOV DX, 1460H ;接通8段数码管的第二位 MOV AL, 0FDH OUT DX, AL DEC N

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 其它小学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号