交通灯设计报告综述.docx
《交通灯设计报告综述.docx》由会员分享,可在线阅读,更多相关《交通灯设计报告综述.docx(20页珍藏版)》请在冰豆网上搜索。
交通灯设计报告综述
浙江师范大学数理与信息工程学院课程设计——交通灯设计
\
数理与信息工程学院
课程设计
题目:
交通灯设计报告
专业:
班级:
姓名:
学号:
实验地点:
指导老师:
成绩:
(2006.6)
浙江师范大学数理与信息工程学院课程设计——交通灯设计
第1节引言⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯1
1.1设计的基本要求⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯1
1.2本设计的主要任务及主要功能⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯1
第2节交通灯硬件设计
2.1硬件设计--电气结构框图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯2
2.2元件介绍⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3
第3节系统软件设计
3.1整个系统程序的代码⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯7
3.2.键盘服务子程序流程图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯12参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯17
浙江师范大学数理与信息工程学院课程设计——交通灯设计
交通灯设计报告
第1节引言
设计的目的、意义
1.目的本设计是《单片机原理与应用》课程综合训练,同学们可以通过理论学习,课题选择,资料查阅,软,硬件设计,系统调试等环节,巩固和提高所学的知识和应用水平。
学会提出问题,观察和分析问题,得到最终的科学方法。
培养严谨的工作作风,务实的工作态度。
为今后的毕业设计,及从事单片机控制系统的设计与维护奠定坚实的基础。
2.意义本设计的意义在于通过具体的控制系统的设计,掌握单片机控制系统设计的一般方法和处理问题的思路,特别是一些常用的技术手段。
使我们能在实践教学环节中,积累设计经验,开拓思维空间,全面提高个人的综合能力。
1.1设计的基本要求
1.巩固,加强对《单片机原理与应用》,课程基本理论的理解,并能应用所学知识解决实际问题。
2.掌握常用接口芯片的电路设计与软件设计方法。
3.掌握简单系统的总体设计一般方法。
1.2本设计任务及系统主要功能
1.设计中以MCS-51单片机为主控器,作适当的存储器,键盘\显示器,、十二盏指示灯的扩展,形成一个路口灯火控制系统。
2.本设计是在车辆通行繁忙的十字交叉路口设置的灯火控制系统,其特点是:
道路较窄而车辆通行较多,支线、干线的车辆通行时间不等,并设有左右弯道通行时间,允许人工监控或修改各线通行时间,同时设有道路应急控制。
具体的情况是:
在正常的情况下,干道通行时间为40秒,其中左右弯道占时5秒,直道通行时间为25秒,其中左右弯道占时5秒,直道占时20秒。
并且能够在人工监控状态下,干道、支道通行时间通过键盘修改或通过开关人为控制。
浙江师范大学数理与信息工程学院课程设计——交通灯设计
第2节交通灯硬件设计
2.1硬件设计--电气结构框图如下:
1.硬件系统的设计还应满足以下原则:
(1)满足系统的设计要求,易于操作维护。
(2)系统功能灵活,便于扩展。
(3)具有自动诊断功能。
2.硬件系统的设计主要包括下面的工作:
a:
扩展存储器:
本系统设计中用到的是62256EEPROM即可做程序存储器又可做数据存储器。
他跟2个74LS373地址锁存器相连,用到A0——A14共15根地址线,所以他的寻址范围0——7FFFH。
b.配置8位LED显示器:
该显示器是双色显示器,它由一个红色的LED和一个绿色的
LED封装在一起红色管接正极,绿色管接负极显示红色,红色管接负极,绿色管接正极,则显示器显示绿色,都接正极则显示黄色,都接负极则不显示。
在该系统中它是由8255的A口经过
74LS240连接的。
c.配置25键键盘,其中“A”为启动键,B为停止键.扩展并行接口8255A.c键为修改键,e,f键人工控制键。
在该系统中列线用到的是8279的SL经过74LS138的8根列线中的3跟Y0,Y1,Y5,行线是8279的RL8根输出线。
(2)软件设计在该系统的软件设计中用到的是模块程序设计,主要的模块程序是键盘的模块程序,它包括、、、、、、、,显示的模块程序,它包括、、、、、、。
通过软件的设计使系统有简易的监控功能,通过键
盘可以修改通行时间和启动或停止人工控制的路口灯火控制系统.正常显示状态:
动态显示车辆通
行时间,其格式为
监控状态显示修改时间;应急状态显示“P——P”。
3.总体设计与论证
A:
首先根据该设计的特点,把出现的情况进行分析整理,得到以下几种情况:
两为。
(2)支道:
左右弯道;占时5秒,显示如上图所示的二三位;直道:
占时25秒,显示如上图所示的第
0位。
(3)同时的几位灯在直道时那位亮,在弯道时那位亮。
(4)在绿灯转红灯时,闪烁3次,变黄延时五秒变红灯。
B:
根据以上的情况分析,经过思路的整理大家统一得到了整体的设计框架图,及程序流程图和硬件图。
C:
我门的的系统设计过程中,实验系统主要采用的是模块化设计。
这次系统设计中用到的模块是:
MODEL1---62256存储器,ELMOD2---8279键盘显示,ELMOD—3138译码电路,ELMOD—4可编程并行接口8225。
这次系统设计过程中要将这几个模块按照逻辑与设计要求把它们与8031做连接,实现以上特点。
D:
这次设计当中初步决定所需要的辅助芯片有:
373地址锁存器2个或3个。
反向器若干,62256存储器。
E:
硬件设计:
电路图为附件。
F:
软件设计:
包括键盘程序,显示程序,显示程序为主程序。
子程序有延时程序—延时为0.1秒。
2.2元件介绍
1、可编程键盘,显示器接口——Intel8279
⑴8279是INTEL开发的专用键盘显示器接口芯片,该芯片能对显示器实现自动扫描,能自动识别键盘型号,它大大减轻了CPU的负担,因此在单片机应用系统中,该芯片得到了广泛的应用。
⑵8279的结构及引脚功能:
下图为8279内部结构图。
8279由数据缓冲器,I/O控制逻辑,控制和定时寄存器及定时与控制电路,扫描计数器,回复缓冲器,键盘去抖动及控制电路,FIFO/传感器RAM及其他状态寄存器,显示RAM及显示地址寄存器等部分组成。
(1)数据缓冲器及I/O控制逻辑数据缓冲器是一个双向缓冲器,它连接内部总线和
外部总线,用于传送CPU和8279之间的命令,数据和状态。
(2)控制与定时寄存器以及定时与控制电路8279为一个可编程芯片,其工作方式
等通过写入一些命令来设置。
控制与定时寄存器用来寄存操作命令字,通过对命令字译码产生相应的控制信号,控制8279的各个部件的协调工作,完成相应的功能。
(3)扫描计数器扫描计数器有两种工作方式。
一种为外部译码方式。
计数器以二
进制方式计数,4位计数状态从扫扫描结SL0~SL3输出,经外部译码后形成的16位扫描信号;另一种为内部译码方式。
(4)回复缓冲器,键盘去抖动与控制电路回复缓冲器缓冲并锁存来自RL0~RL78
根回复线的回复信号。
(5)数据缓冲器及I/O控制逻辑数据缓冲器是一个双向缓冲器,它连接内部总线和
外部总线,用于传送CPU和8279之间的命令,数据和状态。
(6)控制与定时寄存器以及定时与控制电路8279为一个可编程芯片,其工作方式
等通过写入一些命令来设置。
控制与定时寄存器用来寄存操作命令字,通过对命令字译码产生相应的控制信号,控制8279的各个部件的协调工作,完成相应的功能。
(7)扫描计数器扫描计数器有两种工作方式。
一种为外部译码方式。
计数器以二
进制方式计数,4位计数状态从扫扫描结SL0~SL3输出,经外部译码后形成的16位扫描信号;另一种为内部译码方式。
(8)回复缓冲器,键盘去抖动与控制电路回复缓冲器缓冲并锁存来自RL0~RL78
根回复线的回复信号。
(9)FIFO/传感器RAM及其状态寄存器FIFO/传感器RAM是一个双重功能的
8X8RAM
(10)显示RAM各显示地址寄存器显示RAM用来存储显示数据,容量为16X8位。
3.8279的工作方式:
(1)键盘工作方式双键互锁方式
浙江师范大学数理与信息工程学院课程设计——交通灯设计
2)
3)
4)
N键轮回方式显示器工作方式左端输入方式右端输入方式传感器矩阵方式选通输入方式4.8279的引脚功能:
8279采用40脚引脚封装,其管脚,引线功能如下所示:
8279
注释:
其中右图中大括号未标注的是:
键盘数据。
相连,用于CPU和8279间的数据/命令
D0-D7(数据总线):
双向,三态总线,和系统数据总线和状态的传送。
CLK(系统时钟):
输入线,为8279提供内部时钟的输入端。
RESET(复位):
输入线,当RESET=1时,8279复位,其复位状态为:
16个字符显示,编码扫描键盘——双重功能键琐定,程序时钟编程为31。
CS(片选):
输入线,当CS=0时,8279被选种时,允许CPU对其读,写,否则,被禁止。
A0(数据选择):
输入线,当A0=1时,CPU写入数据为命令字,读出数据为状态字。
A0=0时,CPU
读写的字节均为数据。
浙江师范大学数理与信息工程学院课程设计——交通灯设计
RD,WR(读,写信号):
输入线,低电瓶有效,来自CPU的控制信号,控制8279的读写操作。
IRQ(中断请求)输出线,高电平有效。
SL0-SL3(扫描线):
输出线,用来扫描键盘和显示器,他们可以编程设定为内部译码输出和外部译码输出。
RL0-RL7(回复线):
输入线,他们时键盘距阵和传感器距阵行或列信号输入线。
SHIFT(移位信号):
输入线,高电平有效,,该输入信号时8279键盘数据的次高位(D0)。
通常用来扩充键开关的功能。
可用作键盘上下挡的功能键。
在传感器方式和选通方式中,SHIFT无效。
CNTL/STB(控制/选通):
输入线,高电平有效。
OUTA0~OUTA(3A组显示信号),OUTB0~OUTB(3B组显示信号):
输出线,这两组引线都是显示数据输出线,与多位数字显示的扫描线SL0-SL3同步。
两组可独立使用也可合并使用。
BD(显示消隐):
输出线,低电平有效,在信号在数字切换显示或使用消隐命令时,将显示消隐。
浙江师范大学数理与信息工程学院课程设计——交通灯设计
第3节系统的软件设计
软件设计
⑴系统有简易的临控功能,通过键盘可以控制机械手的启动,停止,回零等运行动作,对路径和作业时间进行编程。
⑵显示器能显示每个工位作业时间,出错时能显示报警信号“E——E”以及在监控状态下显示键入的数据。
3.1整个系统的程序代码
Z8279
EQU
0FF82H
;8279状态/命令口地址
D8279
EQU
0FF80H
;8279数据口地址
LEDMOD
EQU
00H
;左边输入八位字符显示
;外部译码键扫描方式,双键互锁
LEDFEQ
EQU
2FH
;扫描速率
LEDCLS
EQU
0C1H
;清除显示RAM
LEDWR0
EQU
80H
;设定的将要写入的显示RAM
READKB
EQU
40H
;读FIFORAM地址0的命令字
ORG0000H
地址
MOVDPTR,#8406H;8255控制口地址
MOVA,#80H;命令字传入控制口MOVX@DPTR,A
LJMPSTART;开始程序
ORG0040H
STATUS0:
MOV
DPTR,#8400H
MOV
A,#0FH
MOVX
@DPTR,A
MOV
R2,#10;延时一秒
LCALL
DELAY
STATUS1:
RET
;南北绿灯东西红灯
MOV
DPTR,#8400H
MOV
A,#96H
MOVX
@DPTR,A
MOV
11H,16H
浙江师范大学数理与信息工程学院课程设计——交通灯设计
LCALLINIT8279;初始化清屏
STA1:
LCALLLC;处理并调用显示的数据
MOV
15H,#07H
;设定显示位数
MOV
14H,#06H
MOV
R5,12H
LCALL
DISPLAY
;调用显示
MOV
R5,13H
MOV
R2,#10
LCALL
DELAY
;延时
LCALL
FUWU
;调用键盘服务程序
DJNZ
11H,STA1
RET
STATUS2:
;南北绿灯闪转黄灯东西红灯
MOV
DPTR,#8400H
MOV
R3,#03H
;闪烁三次
FLASH:
MOV
A,#9FH
MOVX
@DPTR,A
MOV
R2,#03H
LCALL
DELAY
MOV
A,#96H
MOVX
@DPTR,A
MOV
R2,#03H
LCALL
DELAY
DJNZ
R3,FLASH
MOV
A,#06H
MOVX
@DPTR,A
LCALL
INIT8279
MOV
11H,#5
;弯道时间
STA2:
LCALL
LC
MOV
14H,#4
LCALL
DISPLAY
DJNZ
11H,STA2
RET
STATUS3:
;
南北红灯东西绿灯
MOV
DPTR,#8400H
MOV
A,#69H
MOVX
@DPTR,A
MOV
11H,#25
;设定支道时间
LCALLINIT8279
STA3:
LCALLLC
MOV
15H,#03H
MOV
14H,#02H
LCALL
DISPLAY
DJNZ
11H,STA3
STATUS4:
RET
;南北红灯东西绿灯闪转黄灯
MOV
DPTR,#8400H
MOV
R3,#03H
FLASH1:
MOV
A,#6FH
MOVX
@DPTR,A
MOV
R2,#03H
LCALLDELAY
MOV
A,#69H
MOVX
@DPTR,A
8
;显示字符程序
MOVR5,12H;存高位
浙江师范大学数理与信息工程学院课程设计——交通灯设计
MOVR4,15H;显高位LCALLDISLED
MOVR5,13H
MOVR4,14H
LCALLDISLED
;MOVR2,#10
;LCALLDELAY
LC:
MOVR5,#00H
MOVR4,14H
LCALLDISLED
RET
MOVA,11H
;处理将要显示的数据
ERROR:
MOVB,#0AH
DIVAB
MOV12H,A
MOV13H,B
RET
LCALLSTATUS0
;显示急停子程序
FUWU:
MOVR5,#10H
MOVR4,#05HLCALLDISLED
MOVR5,#11H
MOVR4,#04HLCALLDISLED
MOVR5,#12H
MOVR4,#03HLCALLDISLED
MOVR5,#13H
MOVR4,#02H
LCALLDISLED
RET
;键盘程序
WAIT:
LCALLGETKEY
;得到键值
CJNEA,#0FFH,RET0
;是否有键按下
MOVA,B
CJNEA,#0AH,BB
;判断键值
BB:
LCALLKEYA
SJMPRET0
MOVA,B
CC:
CJNEA,#0BH,CCLCALLKEYB
SJMPRET0
MOVA,B
DD:
CJNEA,#0CH,DD
LCALLKEYC
SJMPRET0
MOVA,B
RET0:
CJNEA,#0DH,WAIT
LCALLKEYD
RET
GETKEY:
PUSHDPH;读取键盘子程序,
PUSHDPL;保护现场
PUSHPSW
10
浙江师范大学数理与信息工程学院课程设计——交通灯设计
GETVAL:
;读FIFORAM命令
MOV
A,#READKB
;读键值
MOVX
@DPTR,
A
MOV
DPTR,#D8279
MOVX
A,@DPTR
ANL
A,#3FH
;屏蔽SHIF、CTRL
MOV
B,A
;置返回键值
MOV
A,#0FFH
;置标志(有键输入)
NKBHIT:
POP
PSW
;恢复现场
POPDPL
POPDPH
RET
KEYA:
LCALL
INIT8279
;A键(开始)
MOV
R5,#0A
MOV
R4,#06H
LCALLDISLED
AJMPSTART
RET
KEYB:
MOV
R5,#0BH
;B键急停
KEYC:
WAIT1:
WAIT2:
KEYD:
MOVR4,#06HLCALLDISLEDLCALLRETLCALL
MOVR5
MOVR4
ERROR
INIT8279,#0CH,#06H
LCALLDISLEDLCALLGETKEYCJNE
MOV
MOV
;C键改数
A,#0FFH,WAIT1
R5,B
21H,B
MOVR4,#01HLCALLDISLEDLCALLGETKEY
CJNEA,#0FFH,WAIT2
MOVR5,B
MOV20H,B
MOVR4,#0LCALLDISLED
CLRA
MOVA,81HMOVB,#10MULAB
MOVB,80HADDA,B
MOV16H,A
RET
MOVA,21H
;D键确认
11
MOVB,#10
MULAB
MOVB,20H
ADDA,B
MOV16H,A
MOV11H,16H
LCALLCIRCLE
AJMPCIRCLE
RET
LEDSEG:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;'0,1,2,3,4,5,6,7,'
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H;'8,9,A,B,C,D,E,F,'
DB73H,40H,40H,73H,'P,-,-,P,'
END
3.2.键盘服务子程序流程图如下所示:
12
浙江师范大学数理与信息工程学院课程设计——交通灯设计
结束语
这只是一篇对单片机的进行设计的报告,没有什么实践。
因此很难有更多的实践所带来的感受。
但话又说回来,在整个设计过程中,使我学会了许多在书本上学不到的知识。
比如说,通过本次设计,使我了解并掌握到了8279的理论知识。
为以后从事单片机软硬件产品的设计开发、PC软件开发打下了良好的基础,树立独立从事产品研发的信心。
同时也培养了我认真的做事态度。
从得到题目到查找资料,从对题目的研究设定到电路图的设计,电路图的设计到程序设计⋯在这一个充满挑战伴随挫折,充满热情伴随打击的过程中,我感触颇深,它是对我的钻研精神,创新精神,面对困难的心态,做事的毅力和耐心的考验。
我在这个过程中深刻的感受到了做设计的意义所在,和我一样真正投入了身心去做的人也一定会有同样的感触。
将近一个月的准备,这篇报告终于要完成了,心里真有许多说不出的滋味。
突然发现自己所掌握的知识是那么的有限,有那么多需要改进的不足的地方。
我想通过这次实验报告的设计,我想我更加清楚自己以后发展及学习的方向。
参考文献
[1]刘国荣,《单片微型计算机技术》,机械工业出版
[2]谢自美,《电子线路设计·实验·测试》,华中理工大学出版社
[3]曾昆,王迎旭,《单片机原理及应用实验指导书》,湖南工程学院出版
[4]周立功,《增强型80C5单片机速成与实战》,北京航空航天大学出版社
13