微机原理课程设计带数码管显示的交通灯模拟控制系统设计.docx
- 文档编号:9223783
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:21
- 大小:1.27MB
微机原理课程设计带数码管显示的交通灯模拟控制系统设计.docx
《微机原理课程设计带数码管显示的交通灯模拟控制系统设计.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计带数码管显示的交通灯模拟控制系统设计.docx(21页珍藏版)》请在冰豆网上搜索。
微机原理课程设计带数码管显示的交通灯模拟控制系统设计
成绩
南京工程学院
课程设计说明书(论文)
题目带数码管显示的交通灯模拟控制系统设计
课程名称微机原理及应用
院系
专业
班级
学生姓名
学号
设计地点
指导教师
设计起止时间:
2013年12月23日至2017年12月27日
目录
一、方案说明…………………………………………………………………2
1、硬件设计………………………………………………………………………2
1.1、硬件接线图………………………………………………………………2
1.2、主机接线说明………………………………………………………………3
2、软件设计………………………………………………………………………3
2.1、程序流程图………………………………………………………………4
二.源程序清单………………………………………………………………5
三、调试现象…………………………………………………………………10
四、心得体会…………………………………………………………………12
1.课程设计应达到的目的
通过课程设计加深理解课堂教学内容,掌握微机原理的基本应用方法。
通过实验熟悉微机基本接口芯片的外型、引脚、编程结构,掌握汇编语言程序设计和微机基本接口电路的设计、应用方法,做到理论联系实际。
2.课程设计题目及要求
题目:
交通信号灯模拟控制系统的设计
利用STARES598PCI实验仪的硬件资源设计一个“带时间显示的交通信号灯模拟控制系统”。
所有输入该装置信号采用STARES598PCI实验仪上的状态输入开关,东西、南北方向的红绿黄灯采用实验仪上的LED发光二极管模拟,东西、南北方向的信号灯变化,通行倒计时时间用数码管显示。
1、功能要求:
1)假设在一个A道(东西方向)和B道(南北方向)交叉的十字路口安装有自动信号灯。
当A道和B道均有车辆要求通过时,A道和B道轮流放行。
A道放行10秒钟,B道再放行10秒钟,依次轮流。
绿灯转换红灯前黄灯亮4秒钟。
2)夜间工作时A道(东西方向)和B道(南北方向)的黄灯闪烁,绿灯和红灯不亮(实验时用开关K8控制)。
3)开关K8=0,则工作在以上功能
(1);开关K8=1,则工作在以上功能
(2)。
2、难度要求:
1)基本要求:
采用8255PA口输出控制信号灯,8255PC0输入K8控制开关信号,用循环程序软件定时实现功能要求;(60分)
2)中级要求:
采用8255PA口输出控制信号灯,8255PC0输入K8控制开关信号,用8253硬件定时,软件查询方式实现功能要求;(80分)
3)高级要求:
在中级要求的基础上,增加用8255PB口动LED数码显示器显示绿灯倒计时秒数,从9倒计数到0,倒计数到4时黄灯亮。
(100分)
一、设计说明
硬件方面:
8253产生1HZ的方波,脉冲到8259的IR1端,产生中断,调中断服务子程序。
在加入紧急车道后,单脉冲()连到8259的IRO端,产生一个高级的中断请求信号。
软件方面:
主程序先对各个硬件初始化,在开CPU中断,然后空操作,等待中断。
执行低级中断(IR1)时,8255的PA口负责选数码管,PB口负责显示数字,用查表法可查到0~9的数码管编码。
采用循环扫描方法,人眼即可看到连续的二位数。
当倒计时减到零时,对红绿灯取反。
若手动上下拨动单脉冲()一次,则产生一个高级中断(IR0),程序转而执行此中断处理程序,处理完后返回继续执行低级中断(IR1)。
1、硬件设计
1.1、硬件接线图
1.2连线说明:
C5区:
CS、A0、A1
————
A3区:
CS3、A0、A1
C5区:
OUT0
————
C5区:
CLK1
C5区:
GATE0、GATE1
————
C1区:
VCC
C5区:
CLK0
————
B2区:
2M
C5区:
OUT1
————
B3区:
IR1
B3区:
CS、A0
————
A3区:
CS2、A0
B3区:
INT、INTA
————
ES8688:
INTR、INTA
B3区:
IR0
————
B2区:
单脉冲(
)
B4区:
CS、A0、A1
————
A3区:
CS1、A0、A1
B4区:
PA口、PB口
————
G5区:
C口、B口
B4区:
PC口
————
G6区:
JP65(LED灯)
1.3实物连线图
2、软件设计
1、程序流程图
2.设计思路
①8255
交通信号灯的灯光变化和数码显示通过8255实现控制。
8255是一种具有多种功能的可编程并行通信接口电路芯片。
芯片包括A、B、C三个数据端口、A组控制部件、B组控制部件、读写逻辑控制电路、数据总线缓冲器。
8255有三种工作方式,其中方式0是基本输入/输出方式,适用于无条件传送和查询方式的接口电路。
本设计中,PA口用于输出信号控制灯光的变化(D6D5=00,D4=0),PB口用于输出信号控制数码管的显示(D2=0,D1=0),PC0用于输入K8的控制开关信号,PC1用于输入用于硬件延时的方波信号(D0=1)。
PC7用于输出控制数码管工作/不工作的信号(D3=0)。
故写入方式控制字为10000001B=81H。
8255A输入/输出信号接线方案如下表所示:
8255-PB输出方式
PCH输出方式
8255-PA输出方式
PCL输入方式
引脚
输出信号
引脚
输出信号
引脚
输出信号
引脚
输入信号
PB7
PB7—DP段
PB6—G段
PB5—F段
PB4—E段
PB3—D段
PB2—C段
PB1—B段
PB0—A段
PC7
数码管的位码选择
PC7=0,则该位选中
PA7
不用(灭)
PB6
PA6
南北红灯
PB5
PA5
南北黄灯
PB4
PA4
南北绿灯
PB3
PA3
不用(灭)
PC3
PB2
PA2
东西红灯
PC2
PB1
PA1
东西黄灯
PC1
8253-OUT0
PB0
PA0
东西绿灯
PC0
开关K8输入
a.灯光显示:
送低电平则灯亮,送高电平则灯灭。
东西绿灯,南北红灯:
PA0~PA7应输出01111101B=7DH
东西闪灯,南北红灯:
黄灯亮,红灯亮PA0~PA7应输出10111101B=0BDH
黄灯灭,红灯亮PA0~PA7应输出11111101B=0FDH
东西红灯,南北绿灯:
PA0~PA7应输出11010111B=0D7H
东西红灯,南北黄闪:
红灯亮,黄灯亮PA0~PA7应输出11011011B=0DBH
红灯亮,黄灯灭PA0~PA7应输出11011111B=0DFH
②8253
交通信号灯亮、灭的时间及数码管的倒计时间隔都通过8253控制。
8253可编程定时/计数器是Intel公司生产的通用外围接口芯片,它有三个独立的16位计数器,计数范围为0~2MHz。
8253有6种工作方式,其中方式三是方波发生器方式。
本设计中选用通道0,CLK0接1953HZ的时钟信号,GATE0接高电平VCC,OUT0接8255的PC1。
因为需要产生周期为0.5s的方波,即产生2Hz的方波而固有频率为1953Hz,故分频系数N=1953/2=976。
由于选用了通道0(SC1SC0=00),工作在方式3(M2M1M0=011),对计数器进行读写/操作时,先送低8位,再送高8位(RW1RW0=11),计数器的数值采用10进制(BCD=1),故初始化时命令字为00110111B=37H。
4、运行情况和结论
(1)实际情况
运行时的图片
(2)结论
①本设计基本完成了任务书中所要求的功能。
a.白天模式:
①东西方向和南北方向各放行10秒。
绿灯转红灯前黄灯闪烁4秒。
②LED数码显示器显示倒数计时,从9倒数到0;倒数到4时黄灯亮。
②有待改进之处:
a.夜间模式能在1s内切换到白天模式。
但在白天模式必须等一个循环结束后才能切换。
b.1s延时程序不精确,最大存在0.5s的误差。
C.东西南北放行时间不准确,数码管显示时间存在误差
5、系统调试中的问题和解决办法
遇到的问题:
不能立刻从白天模式切换到夜晚模式
解决的方法:
修改了代码,在白天每次灯闪烁的后面判断是否切换,如果切换就跳到黄灯循环模式,由于程序长度限制,需要每隔一段设置一个中间点jmp.
2.源程序清单
.MODELTINY
COM_ADDREQU0B003H
T0_ADDREQU0B000H
T1_ADDREQU0B001H
T2_ADDREQU0B002H
COM_ADDEQU0F003H
PA_ADDEQU0F000H
PB_ADDEQU0F001H
PC_ADDEQU0F002H
.STACK300
.DATA
LED_DATADB10111101B
DB11101011B
DB11011011B
DB10111110B
DB00111011B
DB10111011B
SHUMADB01111111B
DB00000110B
DB01011011B
DB01001111B
DB01100110B
DB01101101B
DB01111101B
DB00000111B
DB01111111B
CNT0DB?
CNT3DB?
.CODE
START:
MOVAX,@DATA
MOVDS,AX
MOVDX,COM_ADD
MOVAL,88H
OUTDX,AL
MOVDX,COM_ADDR
MOVAL,0B0H
OUTDX,AL
MOVDX,PC_ADD
INAL,DX
ANDAL,0FEH
ORAL,01H
OUTDX,AL
MOVCNT0,0
MOVCNT3,0
LP:
CALLDL500ms
MOVDX,PC_ADD
INAL,DX
TESTAL,80H
JZK7
JMPJMP1
K7:
MOVCH,CNT3
CMPCH,0
JZRRS
RRM:
MOVAL,5
XLAT
MOVDX,PA_ADD
OUTDX,AL
JMPLAST0
RRS:
MOVAL,4
XLAT
MOVDX,PA_ADD
OUTDX,AL
CALLDL500ms
MOVAL,5
XLAT
MOVDX,PA_ADD
OUTDX,AL
LAST0:
MOVDX,PB_ADD
MOVAL,00H
OUTDX,AL
XORCH,0FFH
MOVCNT3,CH
MOVCNT0,0
JMPLP
JMP1:
MOVDX,PC_ADD
INAL,DX
TESTAL,20H
JNZJMP2
MOVDX,PC_ADD
INAL,DX
TESTAL,40H
JNZK5
JMPJMP3
K5:
MOVAL,1
XLAT
MOVDX,PA_ADD
OUTDX,AL
MOVDX,PB_ADD
MOVAL,00H
OUTDX,AL
MOVCNT0,0
MOVCNT3,0
JMPLP
JMP2:
MOVDX,PC_ADD
INAL,DX
TESTAL,40H
JZK6
JMPJMP3
K6:
MOVAL,3
XLAT
MOVDX,PA_ADD
OUTDX,AL
MOVDX,PB_ADD
MOVAL,00H
OUTDX,AL
MOVCNT0,0
MOVCNT3,0
JMPLP
LP1:
JMPLP
JMP3:
MOVCNT3,0
MOVCH,CNT0
SHRCH,1
LEABX,LED_Data
CMPCH,0
JZRY
CMPCH,8
JBGR
CMPCH,8
JZYR
JMPRG
RG:
MOVAL,3
XLAT
MOVDX,PA_ADD
OUTDX,AL
PUSHBX
LEABX,SHUMA
MOVAL,14
SUBAL,CH
XLAT
MOVDX,PB_ADD
OUTDX,AL
POPBX
LAST:
INCCNT0
CMPCNT0,28
JNZLP1
MOVCNT0,0
JMPLP1
RY:
MOVAL,0
XLAT
MOVDX,PA_ADD
OUTDX,AL
MOVDX,PB_ADD
MOVAL,00H
OUTDX,AL
JMPLAST
GR:
MOVAL,1
XLAT
MOVDX,PA_ADD
OUTDX,AL
PUSHBX
LEABX,SHUMA
MOVDX,PB_ADD
MOVAL,8
SUBAL,CH
XLAT
MOVDX,PB_ADD
OUTDX,AL
POPBX
JMPLAST
YR:
MOVAL,2
XLAT
MOVDX,PA_ADD
OUTDX,AL
MOVDX,PB_ADD
MOVAL,00H
OUTDX,AL
JMPLAST
DL500msPROCNEAR
MOVDX,T2_ADDR
MOVAL,24H
OUTDX,AL
MOVAL,0F4H
OUTDX,AL
DELAY:
MOVDX,PC_ADD
INAL,DX
TESTAL,10H
JZDELAY
RET
DL500msENDP
ENDSTART
三、调试现象
1.调试现象
程序调试时,交通信号灯系统初始状态为所有红灯闪烁4次,数码管此时不显示;系统初始状态之后东西向车行道绿灯亮,南北向车道红灯亮;当数码管数字减为0时,东西向、南北向红绿灯交换亮,即南北向车行道绿灯亮,东西向车道红灯亮,数码管数字减为0秒后,红绿灯再次交换,如此循环重复。
当道路发生紧急状况时,可拨单脉冲,使调试状态重新进入初始化,此时数码管停止计时(灭),初始化状态结束后,继续从刚刚被停止时刻开始计时,红绿灯状态仍为停止时刻的状态。
四、心得体会
一个星期的微机原理课程设计终于结束了。
在整整一星期的日子里,从刚开始的完全迷惑到最后的豁然开朗,真是经历了很多,但是却让我们学到很多的东西,不仅可以巩固了课上所学过的理论知识,而且学到了很多在书本上所没有学到过的知识。
以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图画出来,但是我开始总觉得这样做没必要,很浪费时间。
但是,这次课程设计完全改变了我以前的那种错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画程序方框图是很有必要的。
因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问:
调试程序时,发现只有初始化状态显示,知道了中断程序进不去,就开始查中断程序,最后查出原来是没写STI等待中断,所以中断才进不去。
在检查错误的过程中发现会自己的不足之处,发现自己对以前所学过的知识理解得不够深刻,掌握得不够牢固,同时对知识的理解和接受能力还不是太强。
这次课程设计任务终于顺利完成了,在设计中遇到了很多问题,最后在自己的努力下以及与同学之间和老师的探讨下,终于一个一个得解决了问题,当看到数码管和二极管按照自己编写的程序显示的时候,心情异常兴奋,好有成就感。
这次课程设计在培养我们编程能力的同时,也让我学会了要完成一项任务,除了需要过硬的技术和能力之外,还要有不屈不挠的精神,有些同学就是没有耐心做下去,才没有好好的完成任务。
所以,感谢我们的指导老师,谢谢!
目录
第一章总论1
第一节项目背景1
第二节项目概况2
第二章项目建设必要性5
第三章市场分析与建设规模7
第一节汽车市场需求分析7
第二节市场预测12
第三节项目产品市场分析13
第四节建设规模16
第四章场址选择17
第一节场址所在位置现状17
第二节场址建设条件17
第五章技术方案、设备方案、工程方案22
第一节技术方案22
第二节设备方案28
第三节工程方案33
第六章原材料、燃料供应38
第七章总图布置与公用辅助工程39
第一节总图布置39
第二节公用辅助工程43
第八章环境影响评价52
第一节环境保护设计依据52
第二节项目建设和生产对环境的影响52
第三节环境保护措施54
第四节环境影响评价56
第九章劳动安全卫生与消防57
第一节劳动安全卫生57
第二节消防64
第十章节能与节能措施67
第一节项目概况67
第二节项目综合能耗69
第三节节约及合理利用能源的主要措施71
第十一章项目实施进度与人力资源配置76
第一节建设工期76
第一节项目实施进度76
第二节生产组织与人员培训79
第十二章投资估算与资金筹措82
第一节建设投资估算82
第二节总投资估算86
第三节资金筹措86
第十四章财务效益分析88
第一节财务评价基础数据与参数选取88
第二节销售收入及销售税金估算89
第三节成本费用估算89
第四节财务评价91
第五节不确定性分析93
第十三章风险分析95
第十四章结论与建议97
第一节研究结论97
第二节建议97
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 课程设计 数码管 显示 交通灯 模拟 控制系统 设计