微机原理课程设计.docx
《微机原理课程设计.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计.docx(11页珍藏版)》请在冰豆网上搜索。
微机原理课程设计
课程设计说明书
题目带数码管显示的交通灯模拟控制
系统设计
课程名称微机原理及应用A
院系电力工程学院
专业电气工程及其自动化(输配电工程)
班级输电081
学生姓名孙桂付
学号206080525
设计地点工程实践中心8-216
指导教师韩念杭
目录
一、课程设计任务书……………………………………………2
二、设计思路设计思路与功能要求,电路原理图…………4
三、电路接线及流程图………………………………………6
四、系统调试中的问题及解决办法…………………………8
五、运行情况和结论…………………………………………8
六、源程序清单………………………………………………9
七、主要参考文献…………………………………………13
八、心得体会………………………………………………13
南京工程学院
课程设计任务书
课程名称微机原理及应用A
院(系、部、中心)电力工程学院
专业电气工程及其自动化
班级输电081
姓名孙桂付
学号206080525
起止日期2011年六月七日至九日
指导教师韩念杭
1.课程设计应达到的目的
通过课程设计加深理解课堂教学内容,掌握微机原理的基本应用方法。
通过实验熟悉微机基本接口芯片的外型、引脚、编程结构,掌握汇编语言程序设计和微机基本接口电路的设计、应用方法,做到理论联系实际。
2.课程设计题目及要求
题目:
交通信号灯模拟控制系统的设计
利用STARES598PCI实验仪的硬件资源设计一个“带时间显示的交通信号灯模拟控制系统”。
所有输入该装置信号采用STARES598PCI实验仪上的状态输入开关,东西、南北方向的红绿黄灯采用实验仪上的LED发光二极管模拟,东西、南北方向的信号灯变化,通行倒计时时间用数码管显示。
1、功能要求:
1)假设在一个A道(东西方向)和B道(南北方向)交叉的十字路口安装有自动信号灯。
当A道和B道均有车辆要求通过时,A道和B道轮流放行。
A道放行7秒钟,B道再放行5秒钟,依次轮流。
绿灯转换红灯时黄灯亮1秒钟。
2)一道有车,另一道无车时(实验时用开关K5和K6控制),交通控制系统能立即让有车道放行。
3)有紧急车辆要求通过时,系统要能禁止普通车辆通过,A、B道均为红灯,紧急车由K7开关模拟,有紧急车时另有一红灯闪烁。
2、难度要求:
1)基本要求:
采用8255输出控制信号灯,8255输入K5、K6、K7控制开关信号,用循环程序软件定时实现功能要求;(60分)
2)中级要求:
采用8255输出控制信号灯,8255输入K5、K6、K7控制开关信号,用8253硬件定时,软件查询方式实现功能要求;(80分)
3)高级要求:
在中级要求的基础上,增加用8255输出驱动LED数码显示器显示绿灯倒计时秒数,黄灯时不显示时间。
(100分)
二、设计思路与功能要求,电路原理图及其说明
1、设计思路
(1)主程序每0.5秒循环一次,每次查询三个开关状态,及时响应开关状态的变化。
其中CNT0和CNT3分别用于记录状态0和状态3工作进程的进程计数器,可以用寄存器或内存变量实现。
(2)常用的工作状态0是A、B道交替通行,一个周期用时14秒。
用CNT0以0.5秒为单位进行加1计数,从0到27循环计数,CNT0/2就可知本周期进行到第几秒了。
根据设计任务功能要求,第0秒,A道红灯、B道黄灯;第1~7秒,A道绿灯、B道红灯;第8秒,A道黄灯、B道红灯;第9~13秒,A道红灯、B道绿灯。
(3)工作状态3中,CNT3只有2种状态(0和0FFH),用于控制紧急车辆的灯光闪烁。
(4)时间显示采用实验仪的数码管显示。
只用一个数码显示器显示绿灯通行倒计时,A道显示数=8-CNT0/2,B道显示数=14-CNT0/2。
如果用2个数码显示器分别显示A道、B道的倒计时,则需要用到动态显示扫描技术,难度较大,定为加分项目。
在500ms延时子程序中循环调用动态显示扫描子程序,定时器的定时周期应缩短到5ms。
参考流程图3。
此功能难度较大,定为加分项目。
2个数码管的位码选择(低电平有效)有8255的PC3、PC0来确定,接线到数码管选择脚接口JP41(注意JP41的接插方法:
JP41只接插一半,用PCL接JP41的1-4引脚。
如果PCL与JP41完全连接,PC4对应位会显示倒计时数码)。
显示内容由8255的B口接线到数码管段码接口JP42。
2、功能描述
假设在一个A道(东西方向)和B道(南北方向)交叉的十字路口安装有自动信号灯。
当A道和B道均有车辆要求通过时,A道和B道轮流放行。
A道放行7秒钟,B道再放行5秒钟,依次轮流。
绿灯转换红灯时黄灯亮1秒钟。
用数码显示器显示出A道的倒计时。
3、电路原理
(1)8255A接口电路原理图:
(2)8253A接口电路原理图:
三、电路接线及流程图
1、接线方案
(1)交通信号灯由实验仪的LED二极管模拟,由8255-PA输出控制,带时间显示的交通信号灯模拟控制系统8255A输入/输出信号一览表
8255-PB输出方式
PCH输入方式
8255-PA输出方式
PCL输出方式
引脚
输出信号
引脚
输入信号
引脚
输出信号
引脚
输出信号
PB7
驱动数码管字型
PC7
PA7
紧急车辆闪光
PB6
PC6
PA6
东西红灯
PB5
PC5
PA5
东西黄灯
PB4
PC4
8253-OUT2
PA4
东西绿灯
PB3
PA3
PC3
PB2
PA2
南北红灯
PC2
PB1
PA1
南北黄灯
PC1
PB0
PA0
南北绿灯
PC0
数码管的位码选择
注:
1)、8255-PA输出方式可根据实验设备红绿黄灯具体位置改变
2)、采用软件延时,则8255的PC4不用接8253-OUT2。
数码管的位码选择
(2)定时问题:
用8253#2工作方式0进行500ms定时,CLK2接125kHz时钟信号,GATE2接高电平,OUT2接8255-PC4。
主程序通过查询8255-PC4的状态,获知准确的定时信息。
也可以采用软件延时,采用500ms延时子程序。
(3)断开根据设计任务功能要求,依K5、K6、K7的状态分为四种工作状态:
状态0:
K5、K6、K7均(1电平)或K5、K6均闭合K7断开,A、B道交替通行;状态1:
仅K5闭合,A道有车、B道无车;状态2:
仅K6闭合,A道无车,B道有车;K5和K6均闭合,A、B道都有车,A、B道交替通行;状态3:
K7闭合,有紧急车辆通行。
3、流程图
四、系统调试中的问题及解决办法
1、遇到的问题
(1)课程设计进度较慢;编写课程设计的程序时,由于我们平时练习的少,以至于经常出现一些低级的错误,这很大影响了课程设计的进展。
(2)由于实验室仪器的老化和一些仪器的损坏,使得有时候不能准确的得到实验现象,形成一些误导,同时浪费很多时间更换仪器;还有同一段程序,相同的连线在两个试验台运行,会出现两种结果,甚至是直接运行不了。
(3)做8253方波实验时蜂鸣器做实验第一次接线后,蜂鸣器正常报警即时有时无的声音,用指示灯测试时红绿灯交替闪烁,但是当程序停止运行后,蜂鸣器还是工作,当关掉实验仪后,再次做实验是蜂鸣器只发出很轻微的细鸣声(蜂鸣器单独测试能正常工作,试验程序也未经改动)。
2、相应的解决办法
(1)当遇到编程问题时,用星研菜单里的“编译、连接”,找出出错的地方,依次修改,再重新编译、连接。
虽然最终修改成功,但其间花费了大量时间,严重影响了进程。
(2)对于机器的老化问题,我们只能东拼西凑,拼成一组完好能使用的实验台,好好爱护,省得下次实习同学遇到类似的问题。
并且希望学校能利用暑假的时间,对实验室里的仪器进行一次查修维护。
(3)过段时间在此做8253方波实验仪器又可以正常工作。
五、运行情况和结论
程序正常运行,并且能完成设计要求:
当A道和B道均有车辆要求通过时,A道和B道轮流放行。
A道放行7秒钟,B道再放行5秒钟,依次轮流。
绿灯转换红灯时黄灯亮1秒钟。
六、源程序清单
.MODELTINY
COM_ADDREQU0B003H
T0_ADDREQU0B000H
T1_ADDREQU0B001H
T2_ADDREQU0B002H
COM_ADDEQU0F003H
PA_ADDEQU0F000H
PB_ADDEQU0F001H
PC_ADDEQU0F002H
.STACK300
.DATA
LED_DATADB10111101B
DB11101011B
DB11011011B
DB10111110B
SHUMADB01111111B
DB00000110B
DB01011011B
DB01001111B
DB01100110B
DB01101101B
DB01111101B
DB00000111B
DB01111111B
CNT0DB?
.CODE
START:
MOVAX,@DATA
MOVDS,AX
MOVDX,COM_ADD
MOVAL,88H
OUTDX,AL
MOVDX,COM_ADDR
MOVAL,0B0H
OUTDX,AL
MOVDX,PC_A
MOVAL,01H
OUTDX,AL
MOVCNT0,0
LP:
CALLDL500ms
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
JNZLP
MOVCNT0,0
JMPLP
MOVAL,0
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]韩念杭.微型计算机原理实验指导书[M].南京工程学院,2004.
[2]李干林.微机原理及接口技术实验指导书[M].北京大学出版社,2010.
[3]李继灿.新编16/32微型计算机原理及应用[M].北京:
清华大学出版社,2004
[4]朱定华等.微型计算机原理及应用[M].北京:
电子工业出版社,2005.
[5]郑学坚,周斌.微型计算机原理及应用[M].北京:
清华大学出版社,2001.
八、心得体会
总的来说,使得我对8253、8255芯片的理解更加深入,对它们的工作方式把握更清楚了。
但在试验过程中,开始时对仪器不熟悉,在接线、调试是浪费了很多时间,理论知识不能迅速准确的和实际试验联系起来,需要老师或同学提醒才知道怎么回事,这也说明我对书本还不熟悉。