微机原理及应用课程设计数码管交通灯教材.docx
- 文档编号:28445129
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:15
- 大小:737.71KB
微机原理及应用课程设计数码管交通灯教材.docx
《微机原理及应用课程设计数码管交通灯教材.docx》由会员分享,可在线阅读,更多相关《微机原理及应用课程设计数码管交通灯教材.docx(15页珍藏版)》请在冰豆网上搜索。
微机原理及应用课程设计数码管交通灯教材
南京工程学院
课程设计任务书
课程名称微机原理及应用A
院(系、部、中心)
专业
班级
姓名
学号
起止日期2013.12.23~2013.12.26
指导教师
目录
1.设计要求3
1.1设计目的3
1.2设计内容3
1.3功能要求3
1.4难度要求3
2.方案说明4
2.1硬件系统工作原理说明4
2.1.1电路接线方案4
2.1.2定时问题4
2.1.3工作状态4
2.2参考流程图说明5
2.2.1流程图设计思想5
2.2.2实验流程图6
3源程序清单7
4.调试过程和结果11
4.1总接线图11
4.2LED模拟的交通灯显示情况12
4.3数码管模拟的交通灯倒计时13
5.心得体会13
6.参考文献14
1.设计要求
1.1设计目的
通过课程设计加深理解课堂教学内容,掌握微机原理的基本应用方法。
通过实验熟悉微机基本接口芯片的外型、引脚、编程结构,掌握汇编语言程序设计和微机基本接口电路的设计、应用方法,做到理论联系实际
1.2设计内容
利用STARES598PCI实验仪的硬件资源设计一个“带时间显示的交通信号灯迷你控制系统”。
所有输入该装置的信号均采用STARES598PCI实验仪上的状态输入开关输入,东西,南北方向的红绿黄灯均采用实验仪上的LED发光二极管模拟,东西,南北方向的信号灯变化,通行倒计时时间用数码管显示。
1.3功能要求
(1)假设在一个A道(东西方向)和B道(南北方向)交叉的十字路口安装有自动信号灯。
当A道和B道均有车辆要求通过时,A道和B道轮流放行。
A道放行7秒,B道再放行5秒,依次轮流。
绿灯转换红灯时黄灯亮1秒。
(2)一道有车,另一道无车时(实验时用开关K5和K6控制),交通控制系统能立即让有车道放行。
(3)有紧急车辆要求通过时,系统要能禁止普通车辆通过,A、B道均为红灯,紧急车辆用K7开关来模拟控制,有紧急车辆时另有一红灯闪烁。
(4)当A道和B道均有车辆要求通过时,A道和B道轮流放行。
A道放行30秒,B道再放行20秒,依次轮流。
每个绿灯的最后5秒黄灯闪烁。
1.4难度要求
(1)基本要求:
采用8255A输出控制信号灯,8255A输入K5、K6、K7控制开关信号,用循环程序软件定时实现功能要求。
(60分)
(2)中级要求:
采用8255A输出控制信号灯,8255A输入K5、K6、K7控制开关信号,用8253硬件定时、软件查询方式实现功能要求。
(80分)
(3)高级要求:
在中级要求的基础上,增加用8255A输出驱动LED数码显示器显示绿灯倒计时的秒数,黄灯时不显示时间。
(100分)
2.方案说明
2.1硬件系统工作原理说明
2.1.1电路接线方案
设计任务中的A道代表东西方向,B道代表南北方向
交通信号灯由实验仪的LED发光二极管模拟,由8255A-PA输出控制,见下表:
带时间显示的交通信号灯模拟控制系统8255A输入/输出信号一览表(供参考)
带时间显示的交通信号灯模拟控制系统及8255A输入/输出信号一览表
8255A-PB输出方式
PCH输入方式
8255A-PA输出方式
PCL输出方式
引脚
输出信号
引脚
输入信号
引脚
输出信号
引脚
输出信号
PB7
驱动数码管字形
PC7
K7
PA7
东西绿灯
PB6
PC6
K6
PA6
东西黄灯
PB5
PC5
K5
PA5
东西红灯
PB4
PC4
8253-OUT2
PA4
PB3
PA3
南北绿灯
PC3
PB2
PA2
南北黄灯
PC2
PB1
PA1
南北红灯
PC1
PB0
PA0
紧急车辆闪光
PC0
数码管的位码选择
2.1.2定时问题
用8253#2工作方式0进行500ms定时,CLK2接125kHz时钟信号,GATE2接高电平,OUT2接8255-PC4。
主程序通过查询8255-PC4的状态,获知准确的定时信息。
也可以采用软件延时,500ms延时子程序参见实验一。
2.1.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闭合,有紧急车辆通行。
2.2参考流程图说明
2.2.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。
5、如果用2个数码显示器分别显示A道、B道的倒计时,则需要用到动态显示扫描技术,难度较大,定为加分项目。
在500ms延时子程序中循环调用动态显示扫描子程序,定时器的定时周期应缩短到5ms。
参考流程图3。
此功能难度较大,定为加分项目。
2个数码管的位码选择(低电平有效)有8255的PC3、PC0来确定,接线到数码管选择脚接口JP41(注意JP41的接插方法:
JP41只接插一半,用PCL接JP41的1-4引脚。
如果PCL与JP41完全连接,PC4对应位会显示倒计时数码)。
显示内容由8255的B口接线到数码管段码接口JP42。
2.2.2实验流程图
3源程序清单
.MODELTINY
COM_ADDEQU0F003H;8255A片选地址
PA_ADDEQU0F000H
PB_ADDEQU0F001H
PC_ADDEQU0F002H
COM_ADDREQU0B003H
T0_ADDREQU0B000H
T1_ADDREQU0B001H
T2_ADDREQU0B002H
.STACK200
.DATA
SHU_DATADB00111111B
DB00000110B
DB01011011B
DB01001111B
DB01100110B
DB01101101B
DB01111101B
DB00000111B
CNT0DB?
CNT3DB?
.CODE
START:
MOVDX,COM_ADD;8255初始化
MOVAL,88H;PA、PB、PCL输出方式0,PCH输入
OUTDX,AL
MOVDX,PA_ADD
MOVAL,0FFH
OUTDX,AL
MOVDX,PC_ADD
INAL,DX
ANDAL,0F0H;保留高位,低位为0
ORAL,01H;保留高位,低位全部为1
OUTDX,AL
MOVDX,COM_ADDR;8253初始化
MOVAL,0B0H;10110000B
OUTDX,AL
MOVCNT0,0;状态0:
A,B交替
MOVCNT3,0;状态3:
紧急时
LEABX,SHU_DATA
LP:
CALLDL500MS
MOVDX,PC_ADD
INAL,DX
TESTAL,80H;ALAND10000000B,检测K7
JNZK7;如果PC7=0,结果为0,ZF=1,不执行K7。
如果PC7=1,ZF=1,执行K7,为特殊情况
TESTAL,20H;00100000B,检测PC5
JNZK51;如果PC5=0,结果为0,ZF=1,不执行K51。
如果相反,则执行K51
TESTAL,40H;01000000B,检测PC6
JNZK61
MOVCNT3,0
MOVCH,CNT0
SHRCH,1;CNT3=0,CH右移1位相当于CH/2
CMPCH,5;比较CH/2和8
JSGR;CH/2〈8,标志SF=1,转GR
CMPCH,10
JSYR
CMPCH,15
JSRG
JMPRY
LAST:
INCCNT0;CNT0=CNT0+1
CMPCNT0,40;CNT0-28
JNZLP
MOVCNT0,0
JMPLP
RG:
MOVDX,PA_ADD
MOVAL,0D7H;11010111B
OUTDX,AL;A红B绿
MOVDX,PB_ADD
MOVAL,14;启动数码管
SUBAL,CH;AL-CH/2
XLAT;AL=AL+BX
OUTDX,AL;显示倒计时。
JMPLAST
RY:
MOVDX,PA_ADD
MOVAL,0DBH;11011011B
OUTDX,AL;A红B黄
CALLDL200MS
MOVDX,PA_ADD
MOVAL,0DFH
OUTDX,AL
JMPLAST
K51:
JMPK5
K61:
JMPK6
GR:
MOVDX,PA_ADD
MOVAL,7DH;01111101
OUTDX,AL;A绿B红
MOVDX,PB_ADD;输出倒计时数字
MOVAL,8
SUBAL,CH;AL=AL-CH/2=8-CH/2
XLAT;AL=AL+BX
OUTDX,AL
JMPLAST
K7:
MOVCH,CNT3;CNT3=0,CH=0
CMPCH,0
JZK71
MOVDX,PA_ADD
MOVAL,0DDH
K72:
MOVDX,PB_ADD
MOVAL,00H
OUTDX,AL
NEGCH;CH=1
MOVCNT3,CH;CNT3=1,K7灭
MOVCNT0,0
JMPLP
YR:
MOVDX,PA_ADD
MOVAL,0BDH
OUTDX,AL
CALLDL200MS
MOVDX,PA_ADD
MOVAL,0FDH
OUTDX,AL
JMPLAST
K71:
MOVDX,PA_ADD
MOVAL,0DCH;11011100B,K8亮0.5s
OUTDX,AL
CALLDL200MS
MOVDX,PA_ADD
MOVAL,0DDH;11011101B,K8灭0.5s
OUTDX,AL
JMPK72
K5:
MOVDX,PA_ADD
MOVAL,7DH;AL=01111101B
OUTDX,AL;亮A绿B红
JMPK56
K6:
MOVDX,PA_ADD
MOVAL,0D7H;11010111B
OUTDX,AL;亮A红B绿
K56:
MOVDX,PB_ADD
MOVAL,00H
OUTDX,AL
MOVCNT0,0
MOVCNT3,0
JMPLP
DL500MSPROCNEAR
MOVDX,T2_ADDR
MOVAX,62500;频率125KHz,62500*(1/125)=0.5s
OUTDX,AL
MOVAL,AH
OUTDX,AL
DELAY1:
MOVDX,PC_ADD
INAL,DX
TESTAL,10H;设置"准备就绪"(ready)信息在D4位到PC4,TEST为ALAND10H
JEDELAY1;AND后PC4为0时,JE=1,执行DELAY。
AND后为1,JE=0,不执行DELAY
RET
DL500MSENDP
DL200MSPROCNEAR
MOVDX,T2_ADDR
MOVAX,25000;频率125KHz,25000*(1/125)=0.2s
OUTDX,AL
MOVAL,AH
OUTDX,AL
DELAY2:
MOVDX,PC_ADD
INAL,DX
TESTAL,10H
JEDELAY2
RET
DL200MSENDP
ENDSTART
4.调试过程和结果
4.1总接线图
4.2LED模拟的交通灯显示情况
4.3数码管模拟的交通灯倒计时
5.心得体会
在课程设计之前,我是完全摸不着头脑的。
连线图要怎么画都不知道,通过亲手的的调试与操作,三天的实习过后,我对微机原理有了更加深的了解。
为了准备课程设计,老师布置完设计题目之后,我就把书上82538255的内容仔细看了一遍,对照流程图以及代码研究了整个程序的运行流程以及关键的设计点。
可是当老师要求增加难度的时候,一着手还是一筹莫展,我才知道我对程序了解的还不够。
然后又是一遍一遍的查书、讨论和调试,遇到了难点就向老师请教。
就在这一遍一遍的调试中,设计的思路、芯片引脚的作用、程序段的含义逐渐在我脑海里清晰了起来。
这次课程设计让我巩固了书本的知识,为后面的考试增加了信心,更重要的是让我了解到了仅仅依靠书本是不够的,一眼掠过去的东西以为看懂了,其实了解的少之又少,实践得真知。
只有动手去做了才能获得最深的体会。
6.参考文献
[1]李干林.《STARES598PCI实验仪微机原理实验指导书》[M].南京工程学院,2008.
[2]李继灿.新编16/32微型计算机原理及应用[M].北京:
清华大学出版社,2004
[3]郑学坚,周斌.微型计算机原理及应用[M].北京:
清华大学出版社,2001.
[4]朱定华等.微型计算机原理及应用[M].北京:
电子工业出版社,2005.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 应用 课程设计 数码管 交通灯 教材