交通灯控制微机课程设计报告Word文档格式.docx
- 文档编号:4813493
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:15
- 大小:113.88KB
交通灯控制微机课程设计报告Word文档格式.docx
《交通灯控制微机课程设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《交通灯控制微机课程设计报告Word文档格式.docx(15页珍藏版)》请在冰点文库上搜索。
通过8254计数,每1ms刷新一次,CX计数不为零,计数值减1,刷新1000次,持续一秒钟(其中,输入始终脉冲为1KHZ)。
使用8254实现了PA7~PA0控制二极管的亮灭,PB7~PA0控制数码管的显示。
通过设置控制字,使8255的C口高四位输出,低四位输入,PC4和PC5对数码管进行位控,让两位十进制数同时显示。
(2)红、黄、绿灯的表示
由于仪器上面只有16个发光二级管,且从高到低依次为:
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0。
在设计的过程中我们采用了六个灯,但是我们连接了8根线,所以我们做了如下的规定:
R表示红灯,G表示绿灯,Y表示黄灯,E表示方向东,W表示方向西,S表示方向南,N表示方向北。
所以在设计中采用如下的规定:
A7~A5分别代表东西方向红黄绿灯,A4~A2分别代表南北方向红黄绿灯,A1~A0无意义。
具体连线及表示如下图所示。
(3)硬件设计框图及连线/接图:
说明:
8255连接说明如下
8255数据端口连接系统总线数据段D0~D7
8255RD连接系统IOR
8255WD连接系统IOW
8255CS连接IOY3
8255寄存器地址输入信号A0A1连接系统总线A0A1
8255PA端连接外设二极管(PA端A7~A2对应二极管D7~D2),作为输出
A7~A5分别代表东西方向;
红黄绿灯,A4~A2分别代表南北方向红黄绿灯,A1~A0无意义。
且全部为低有效)
8255PB端连接外设LED(PB端B0~B7对应LEDabcdefgh),作为输出
8255PC端,低位输入、高位输出C0连接8254OUT端作为输入;
C4~C5连接X1~X2作为输出,控制LED显示十位个位
8254连接说明如下
8254数据端口连接系统总线数据段D0~D7
8254RD连接系统IOR
8254WD连接系统IOW
8254CS连接IOY2
8254寄存器地址输入信号A0A1连接系统总线A0A1
8254CLK0连接1KHZ
8254GATE0连接+5V
8254OUT0连接8255C0端
(4)流程图:
三、实验日志:
星期一:
收集相关资料;
熟悉8254、8255芯片的工作原理;
初步设计。
星期二:
初步设计;
并绘图编程。
星期三:
设计并绘图编程;
接线运行程序。
星期四:
修改程序,使其能正常运行。
星期五:
老师验收,并向老师解释程序。
四、实验结果与分析
在实验室的实验台上可以看到如下的结果:
1、即东西方向的绿灯和南北方向的红灯同时点亮20秒钟;
2、20秒钟后,东西方向的黄灯闪烁5秒钟,。
此时南北方向仍维持红灯点亮。
3、东西方向的黄灯闪烁5秒钟后,转为东西方向的红灯和南北方向的绿灯同时点亮20秒钟;
4、
20秒钟后,转为南北方向的黄灯闪烁5秒钟,此时东西方向仍维持红灯点亮。
5、南北方向的黄灯闪烁5秒钟后,东西方向的绿灯和南北方向的红灯同时点亮
20秒钟。
如此循环重复。
在设计过程中,由于延时是通过编写程序实现的,而程序里面是通过执行指令的次数以达到延时,切执行一条指令的时间有很难计算,所以本次设计只是大概地估计了一下延时的时间,这是一点不足之处,若采用硬件延时(比如用8253定时器)的话,也许会使延时的时间相对的准确些。
五、设计体会及收获:
(1)的心得:
通过一星期微机接口的课程设计,我们对微机接口芯片有了更进一步的了解。
这次实验通过使用了8254计数器、8255可编程并行接口实现了交通灯的控制。
由于这学期微机接口这门课学的不是扎实,所以在调试程序中出现了很多问题。
所以刚开始在做这个设计时,我们首先将以前做过的8254计数器、8255可编程的实验重新做了一遍,对这些芯片有了更进一步的理解。
然后通过网上查阅了很多资料和老师的指导,总算了解了8254计数器、8255可编程等芯片的操作方式,对整个课程设计也有了总体的轮廓,通过学过的知识以及做过的实验,最后有了圆满的结果。
通过本次课程设计我们学到了很多新的东西,极大地拓宽了知识面,锻炼了能力,综合素质得到较大提高,感到收获不小。
也发现了大量问题,有些在设计过程中已经解决,有些还要待今后慢慢学习,只要学习就会有更多的问题,有更多的难点,但也会有更多的收获。
(2)的心得:
通过这次微机原理的实习,我学到了很多平时在课堂上不能学到的东西。
对于这次选择的交通灯的设计,我最开始抱着的是不能实现的态度,但是在我们组的共同努力下,经过了三天,我们终于有了一定的思路。
虽然在中途我们遇到了机器有问题的难题,但是我们还是成功的解决了种种困难,最终取得了成功。
通过这次课程设计,我加深了对8255,8254芯片的工作方式的认识和使用方法,也对微机原理的理解更加的深刻了,对于实际动手能力的锻炼我也得到了很到的提高。
(3)的心得:
通过此次课程设计,结合所学的《微机原理与接口技术》这门课程的知识,对其应用之一——交通灯控制器进行设计与实现。
总体感觉收获比较多,因为可以将书本上的知识应用到实践当中。
刚开始的时候,翻阅了一些资料,还是没有什么头绪,后来在老师和同学的帮助下,终于找到了入口点,接下来的事情就相对的容易一些了。
首先,把握整个的设计的大概的流程,然后再对每一个分快进行设计,最后进行调试。
在设计的过程中,很重要的一点是要熟悉可编程并行通信接口芯片8255A的初始化及其端口的使用。
此次课程设计感觉收获很多,比如,翻阅资料提高了自学能力,和同学一起讨论汲取别人的长处。
希望老师能够引导学生应该如何去把握、分析课程设计的主题,找出突破点,让学生积极主动进行课程设计,以使学生更好地提高自学的能力。
(4)的心得:
通过此次实验,使我全面的解了微机接口的运行方式,以及汇编语言与接口之间的关系.同时加深了我对8255,8254芯片的工作方式的认识和使用方法。
本次设计中我们克服了很多难题,在同伴的努力下我们还是按时完成了任务。
而且最难的就是硬件的调试,我们最开始的时候由于机器有问题,我们怎么也不能成功,但是我们换了一台机器后我们终于成功的看到了试验现象。
通过本次课设学到很多课堂上学不到的调试知识,对Debug有了一定的了解。
通过实践也加深了对理论知识的理解。
很感谢学校给我们提供了这么好的学习机会。
六、源代码及注释:
MY8255_AEQU9C60H
MY8255_BEQU9C61H
MY8255_CEQU9C62H
MY8255_MODEEQU9C63H
MY8254_COUNT0EQU9C40H
MY8254_MODEEQU9C43H
DATASEGMENT
LEDDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;
数码管七段代码表
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,MY8255_MODE;
8255初始化,连接端口IOY3
MOVAL,10000001B;
A口输出接二极管,B口输出接数码管,C0输入,C4~C5输出
OUTDX,AL
MOVCX,30;
计时30秒
A1:
MOVDX,MY8255_A;
8255的A口接LED
MOVAL,01111011B;
东西红,南北绿
OUTDX,AL;
将灯状态传送给LED显示
CALLINITIAL_8254
LOOP2:
MOVAH,0BH
INT21H
CMPAL,0
JNZEXIT0
JMPL1
EXIT0:
MOVAH,4CH
INT21H
L1:
CALLDISP
L2:
MOVDX,MY8255_C
INAL,DX
TESTAL,1H
JELOOP2
DECCX
CMPCX,3;
计时3秒
JAA1
JMPA2
A2:
MOVDX,MY8255_A
MOVAL,01110111B;
东西红,南北黄
OUTDX,AL
LOOP4:
JNZEXIT1
JMPL3
EXIT1:
L3:
L4:
INAL,DX
JELOOP4
DECCX
CMPCX,0
JEP
JMPA2
P:
MOVCX,30;
JMPA3
A3:
东西绿,南北红
MOVAL,11001111B
LOOP5:
JNZEXIT2
JMPL6
EXIT2:
L6:
L7:
JELOOP5
DECCX;
CMPCX,3
JAA3
JMPA4
A4:
MOVDX,MY8255_A;
东西黄,南北红
MOVAL,10101111B
OUTDX,AL
LOOP6:
JNZEXIT3
JMPL8
EXIT3:
L8:
L9:
JELOOP6
JEPP
JMPA4
PP:
JNZEXIT
JMPSTART
EXIT:
INITIAL_8254PROC;
8254初始化,1s
PUSHAX
PUSHDX
MOVDX,MY8254_MODE;
初始化,计数器0工作在方式0,先写低8位,再写高8位,BCD方式计数
MOVAL,00110001B
OUTDX,AL
MOVDX,MY8254_COUNT0
MOVAL,00H;
写低8位
MOVAL,10H;
写高8位
POPDX
POPAX
RET
INITIAL_8254ENDP
DISPPROC;
数码管显示
PUSHBX
PUSHCX
DECCX
MOVDX,MY8255_C;
将CL中二进制数转化为十进制数
MOVAL,11101111B
MOVAX,CX
MOVCL,0AH;
将十位数放在高位数码管,将个位数放在低位数码管
DIVCL
MOVBX,OFFSETLED
XLAT;
显示十位码
MOVDX,MY8255_B;
将AL中8位码输出到B口,给LED显示器
MOVCX,0FFFFH;
延时
DELAY:
NOP
LOOPDELAY
MOVDX,MY8255_C
MOVAL,11011111B
POPAX
MOVAL,AH
显示个位码
POPCX
POPBX
DISPENDP
CODEENDS
ENDSTART
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通灯 控制 微机 课程设计 报告