模拟交通信息灯.docx

上传人:b****1 文档编号:13392359 上传时间:2023-06-13 格式:DOCX 页数:13 大小:64.91KB
下载 相关 举报
模拟交通信息灯.docx_第1页
第1页 / 共13页
模拟交通信息灯.docx_第2页
第2页 / 共13页
模拟交通信息灯.docx_第3页
第3页 / 共13页
模拟交通信息灯.docx_第4页
第4页 / 共13页
模拟交通信息灯.docx_第5页
第5页 / 共13页
模拟交通信息灯.docx_第6页
第6页 / 共13页
模拟交通信息灯.docx_第7页
第7页 / 共13页
模拟交通信息灯.docx_第8页
第8页 / 共13页
模拟交通信息灯.docx_第9页
第9页 / 共13页
模拟交通信息灯.docx_第10页
第10页 / 共13页
模拟交通信息灯.docx_第11页
第11页 / 共13页
模拟交通信息灯.docx_第12页
第12页 / 共13页
模拟交通信息灯.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

模拟交通信息灯.docx

《模拟交通信息灯.docx》由会员分享,可在线阅读,更多相关《模拟交通信息灯.docx(13页珍藏版)》请在冰点文库上搜索。

模拟交通信息灯.docx

模拟交通信息灯

 

计算机科学与技术系

 

 

课程名现代微机原理与接口技术

设计题目交通灯控制系统

班级08级本科

(2)班

专业计算机科学与技术

姓名万里龙

指导教师高敏

2011年1月制

设计任务

由于目前单片机技术的成熟与广泛应用,使得交通灯的功能多样化和时代化,远远超过老式交通灯,并提供给行人准确的等待时间,交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的美观和功能。

此次设计的交通灯是通过编程控制8255A芯片,使试验箱上的红、绿、黄发光二极管是模拟十字路口交通信号灯的亮灭。

当按下任意键则停止运行并返回。

因此,要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序灯及扩大其应用,有着非常现实的意义。

此课程设计是有我们三人组团队共同设计的,根据每人不同的情况,分别选择自己擅长和喜爱的环节设计,我在此次课程设计中负责核心程序中的子程序编写

同组成员有:

赵苇负责软件驱动的主程序编写

贾凤莲负责硬件的使用链接等

完成任务的思路、方法与算法

1.设计提示

交通灯规律:

状态1:

南北绿灯通车,东西红灯;

状态2:

南北绿灯闪烁3次转黄灯亮,东西仍然红灯,延时3秒;

状态3:

东西绿灯通车,南北红灯;

状态4:

东西绿灯闪烁3次转黄灯亮,延时3秒南北仍然红灯。

以开关控制正常状态与夜间。

2.完成的任务:

初始化8255芯片的控制口为全输出,初始化PC口。

用8255芯片的C端口作为输出端口对灯的颜色进行控制,分为四个状态:

1:

南北绿灯通车,东西红灯;状态2:

南北绿灯闪烁3次转黄灯亮,东西仍然红灯,延时3秒;状态3:

东西绿灯通车,南北红灯;状态4:

东西绿灯闪烁3次转黄灯亮,延时3秒南北仍然红灯。

循环一次后,进入黑夜情况,两路口均为黄灯闪烁,均可放行。

3.实训的软件设计:

1、8255A:

实现对红—绿灯信号的输出的控制以及输出倒计时信号。

2、8255A的端口地址为:

端口A-0ffd8H、端口B-0ffd9H、端口C-0ffdaH、控制端口-0ffdbH

3、8255A的片选信号引脚连接:

200-207

系统逻辑结构:

利用可编程并行接口芯片8255A的PC接口的输出功能及软件中基本状态子模块实现了交通灯的基本状态及状态转换。

程序框图

核心程序(对主要的语句要加注释)

子程序:

DLYPROCNEAR

PUSHCX

DDD:

MOVCX,0FFFH

CCC:

LOOPCCC;结束

DECBX

CMPBX,0

JNEDDD

POPCX

RET

DLYENDP

LEDstartPROC

PUSHAX

PUSHCX

PUSHDX

PUSHCS

POPDS

MOVDX,PB55;设置8255B口为输出口

MOVAL,80H

OUTDX,AL

BEGIN:

MOVAL,0

MOVCH,0

WRITE2:

MOVAH,AL

LEABX,LED

XLAT

MOVCL,8H;分八位写一个LED

WRITE1:

MOVDX,PA55

OUTDX,AL

PUSHAX

MOVDX,PB55;利用8255PB0口控制DCLK,使DCLK产生一低电平到高电平的跳变

MOVAL,00H;PB0置“0”

OUTDX,AL

MOVAL,01H;PB0置“1”

OUTDX,AL

POPAX

RCRAL,1

DECCL

CMPCL,0

JNZWRITE1

CALLDELAY

MOVAL,AH

INCAL

INCCH

CMPCH,0AH

JNZWRITE2

POPDX

POPCX

POPAX

RET

LEDstartENDP

LED:

DB09H,01H,1FH,41H,49H,99H,0DH,25H,9FH,03H

;9876543210

CODEENDS

ENDSTART

附录(含核心程序及相关子程序)

;FOREAT598

;交通灯

;DX:

端口信息,CX:

交通灯闪烁的次数,BX:

闪烁的时间,与交通灯亮的时间

PB55EQU0ffd9H

PA55EQU0ffd8H;8255PA口地址

PC55EQU0ffdaH;8255PC口地址

P55CTLEQU0ffdbH;8255控制口地址

D1EQU10H;闪烁的时间间隔

D2EQU50H;交通灯的时间设定

DATASEGMENT;数据段

PBDB?

DATAENDS

STACKSEGMENTSTACK;堆栈段

STADW50DUP(?

TOPEQULENGTHSTA

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

PUSHCS

POPDS

MOVDX,P55CTL;设置为全输出dx输入的端口信息

MOVAL,80H

OUTDX,AL;AL中数据送到端口p55CTL:

213H

MOVDX,0ffddH

MOVAL,00H

OUTDX,AL;清LED

MOVDX,PC55;全红DX端口信息

MOVAL,0FH

OUTDX,AL

MOVBX,7FH

CALLDLY

BG:

MOVAL,96H;南北绿,东西红起始信息

OUTDX,AL

CALLLED

MOVBX,D2

CALLDLY

MOVCX,03H;闪烁次数

XH1:

MOVAL,9FH;绿灭

OUTDX,AL

MOVBX,D1

CALLDLY

MOVAL,96H;绿亮

OUTDX,AL

MOVBX,D1

CALLDLY

LOOPXH1;闪烁循环

MOVAL,06H;南北黄

OUTDX,AL

MOVBX,D1

CALLDLY

MOVBX,D1

CALLDLY

MOVAL,69H;南北红,东西绿

OUTDX,AL

MOVBX,D2

CALLDLY

CALLLEDSTART

MOVCX,03H

XH2:

MOVAL,6FH;

OUTDX,AL

MOVBX,D1

CALLDLY

MOVAL,69H

OUTDX,AL

MOVBX,D1

CALLDLY

LOOPXH2

MOVAL,09H

OUTDX,AL

MOVBX,D1

CALLDLY

MOVBX,D1

CALLDLY

MOVCX,2FH;闪烁时间

XH3:

MOVAL,09H;黄红交替闪烁

OUTDX,AL

MOVBX,D1

CALLDLY

MOVAL,06H

OUTDX,AL

MOVBX,D1

CALLDLY

LOOPXH3

JMPBG

DLYPROCNEAR

PUSHCX

DDD:

MOVCX,0FFFH

CCC:

LOOPCCC;结束

DECBX

CMPBX,0

JNEDDD

POPCX

RET

DLYENDP

LEDstartPROC

PUSHAX

PUSHCX

PUSHDX

PUSHCS

POPDS

MOVDX,PB55;设置8255B口为输出口

MOVAL,80H

OUTDX,AL

BEGIN:

MOVAL,0

MOVCH,0

WRITE2:

MOVAH,AL

LEABX,LED

XLAT

MOVCL,8H;分八位写一个LED

WRITE1:

MOVDX,PA55

OUTDX,AL

PUSHAX

MOVDX,PB55;利用8255PB0口控制DCLK,使DCLK产生一低电平到高电平的跳变

MOVAL,00H;PB0置“0”

OUTDX,AL

MOVAL,01H;PB0置“1”

OUTDX,AL

POPAX

RCRAL,1

DECCL

CMPCL,0

JNZWRITE1

CALLDELAY

MOVAL,AH

INCAL

INCCH

CMPCH,0AH

JNZWRITE2

POPDX

POPCX

POPAX

RET

LEDstartENDP

DELAYPROCNEAR

PUSHCX

MOVCX,0FFFFH

LOOP$;倒计时延迟

LOOP$

LOOP$

POPCX

RET

DELAYENDP

LED:

DB09H,01H,1FH,41H,49H,99H,0DH,25H,9FH,03H

;9876543210

CODEENDS

ENDSTART

 

解题结果及对结果的分析

1.初始为东西红灯,南北红灯;转南北绿灯通车,东西红灯;

2.过一段时间,倒计时10秒,剩余0秒时,南北绿灯闪3次,东西仍然红灯。

3.再转东西绿灯通车,南北红灯;过一段时间,倒计时10秒,剩余0秒时,南北绿灯闪3次,南北仍然红灯

4.最后循环至南北绿灯通车,东西红灯。

 

课程设计总结

1、软件延时与定时器计时

软件延时,设计简单,使用方便,但是无法进行精确计时,无法在实际应用中进行使用,本次设计采用了,定时器0进行计时,每10ms产生一个脉冲信号,可以准确的计时并方便8段数码管进行显示

2、使用中断的好处

使用中断比较麻烦,在试验中需要两次加载初始化程序和中断服务程序,并且需要手工指定中断服务地址和中断向量号;但是使用中断可以进行多样化设计,强化程序功能与执行效率。

3、团队合作

在产品或项目开发中,团队合作是非常重要的,在对设计进行模块划分、统一变量之后,分别设计不同设计然后进行整合,这样进行开发是非常快速简单的。

关于本次设计

在本次设计中,使用了8259A中断控制器、8253计数器、8255可编程并行接口实现了,对南北、东西方向交通的分别计时、分别控制,但是程序没有实现对双向交通的数码显示,数码显示模块空缺,我们会尽快将程序补全,使其具有完整的交通灯功能,

 

老师评语:

 

老师签名年月日

注:

成绩分为优、良、中、及格、不及格五级

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2