基于8086彩灯控制器的设计报告 最终版.docx
- 文档编号:26834119
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:14
- 大小:61.51KB
基于8086彩灯控制器的设计报告 最终版.docx
《基于8086彩灯控制器的设计报告 最终版.docx》由会员分享,可在线阅读,更多相关《基于8086彩灯控制器的设计报告 最终版.docx(14页珍藏版)》请在冰豆网上搜索。
基于8086彩灯控制器的设计报告最终版
摘要
课题:
基于8086的彩灯控制器
1.通过8255A控制发光二极管,L1对应黄灯,L2-L5对应红灯,L6-L8对应绿灯,以“0”代表彩灯点亮,以“1”代表彩灯熄灭。
用“JMPSTART”语句控制循环。
用“DL500ms”,“DL1500ms”语句实现延时控制。
2程序中设定好8255A的工作模式及三个端口均工作在方式0,并处于输出状态
3各发光二极管共阳极,使其点亮应使8255A相应端口的位清0。
关键词:
8255彩灯控制器端口
设计原理
我们以8255交通灯的一种显示效果为例,介绍彩灯控制器显示的基本原理。
设有一排8个水平排列的彩灯,某种显示方式为从左到右0.5秒点亮。
其控制过程如下:
若以“0”代表彩灯点亮,以“1”代表彩灯熄灭,则开始时刻,L1黄灯亮1.5秒后,红灯L2,L3,L4,L5间隔0.5秒依次亮,然后绿灯L6.L7.L8间隔0.5秒依次亮;循环7次。
控制器将一帧8个数据送至8个彩灯的控制端,其中,最左边的一段彩灯对应的控制数据为“0”,其余的数据均为1,即11111110.当8个数据送完以后,控制器停止送数,保留这种状态(定时)1.5秒,此时黄灯被点亮,其余彩灯熄灭。
随后,控制器又在极短的时间内将数据111111101送至彩灯的控制端,并定时0.5秒,这段时间,第一个红灯被点亮。
由于送数据的过程很快,我们观测到的效果是第一个红灯被点亮0.5秒后,第2个红灯接着被点亮,即每隔0.5秒显示一帧图样。
如此下去,最后控制器将数据01111111送至8个彩灯的控制端,则L8绿灯被点亮。
依次循环7次。
仿真电路图
功能流程图
程序主流程控制图
注:
程序详见附件
结果讨论
本程序共有分端口设置模块,延时模块,显示模块等几个模块。
经过调试,本程序可以基本实现题目的要求。
黄灯L1亮1.5秒红灯L2.L3.L4.L5间隔0.5秒依次点亮1.5秒绿灯L6、L7、L8、L9间隔0.5秒依次点亮1.5秒黄灯L1熄灭1.5秒L2、L3、L4、L5同时熄灭1.5秒L6、L7、L8、L9同时熄灭1.5秒返回初始步,循环显示。
本程序参照实验室电脑中星研8255控制交通灯实验。
下面对几个重点部分的调试过程和遇到的问题作一定的讨论:
1.所调试的程序无法达到彩灯有规律的熄灭。
2.循环次数有限,为7次。
3.硬件连接的排线无法与插针很好的匹配。
4.在系统显示监控提示符“P.”时,按SCAL键。
设计心得
通过对基于8086彩灯控制器的汇编实现,对硬件特别是8253A,8255并行口的原理和实现都有了很深的了解。
更加深了对汇编语言的使用.
整个程序中涉及8253A,8255并行口的使用,汇编语言熟练掌握的要求。
可以说整个文件中最麻烦的就是进位条件的判断,编程中经常犯想当然的错误。
另外对于中断服务子程序的类型设置问题,由于以前对这个概念的理解留于表面,编程中出现了不少奇怪的错误。
再调试中尝试使用了分割法,对错误模块进行定位,再进行排查.
在算法实现上要有一定的思路要更能体现设计的目的。
同时上机调试也是十分重要的,在调试的过程中能够不断的发现在编写算法时应该注意的一些细节和算法语句的非法使用,在调试过程中通过对算法的不断测试、更正、扩充功能、修饰细节,使算法程序不断的得到完善。
通过这次的课程设计使我认识到要将微机原理这门计算机专业的课学好不仅仅是要把书上的基本知识学好而且还要不断进行实践,将所学的跟实践操作结合起来才能更好地巩固所学,才能提高自己实践能力.通过这次的设计使我认识到只停留在表面理解问题是很难使问题得到很好的解决的,实践能力与理论知识同样重要。
可以说此课程设计的理论难度并不大,但是若要深入发掘其中的东西,并且实际去编程实现,就遇到了相当大的难度。
因为与之涉及的很多方面并没有学过,需要自己去自学和实践检验。
所以在以后的学习中一方面我要不断的巩固自己所学的理论知识,一方面还要多参加实际操作工作以便提高自己的实际操作能力。
其实这次课程设计的最大收获应该是找到了解决问题的几个很好的途径:
1.讨论2.通过网络,在自己的网站上也收获了很多,共享让我们共同进步。
此外,我学会了看硬件结构图,并学会了自己去独立的完善一个程序,对程序的效用等做思考。
并体会到:
问别人只能帮你开拓思路,真正解决问题还是要靠自己去摸索。
当然讨论是很好的学习途径,它会让你事半功倍.
由于时间不是很充裕,程序中有很多值得改善的地方,我尝试再其中加入更多的功能,但调试的结果没有,所以需要继续努力。
结束语
通过本次“基于8086的彩灯控制器”的微机课程设计,在理论知识方面:
我们更进一步了解了8255并口的应用,同时加深学习了星研和DJ88k相关软硬件操作。
一方面加强了通过查阅资料分析问题,研究问题,解决问题,另一方面将理论与实践在某一程度进行融合。
在实验经验方面:
充分认识到团队合作的重要性!
虽然在实验过程中遇到了种种困难,但经过团队的共同努力,老师的指导,充分发挥出了团队的主体与个体优势,扬长避短,最终完成了实验任务。
最后,感谢刘伟,林泽坤两位老师一直陪伴我们完成实验,以及在实验两周内的辛勤指导!
谢谢……
参考文献
《微型计算机原理及接口技术》实验指导书
《16-32位微型计算机技术及应用》清华大学出版社
《汇编语言程序设计》南京大学出版社
《汇编语言程序设计教程》清华大学出版社
《微型计算机原理及接口技术》中国科技大学出版社
附件:
基于8086彩灯控制器的程序清单
DATASEGMENT
COMEQU96H;控制口偏移量
PAEQU90H;PA口偏移量
PBEQU92H;PB口偏移量
PCEQU94H
DATAENDS
sdasegmentstack
bdfvdw100dup(0)
sdaends
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
sda
START:
movdx,COM
moval,82H;PA、PB、PC为基本输出模式
outdx,al
moval,00000000b
movdx,PA
outdx,al
QQ:
MOVDX,PB
INAL,DX
cmpal,0FDh
jnzSTART1
MOVDX,PB
INAL,DX
cmpal,0FDh
Jzhh
jmpQQ
hh:
jmpSTART2
START1procnear
waitq:
MOVDX,PB
INAL,DX
cmpal,0Fbh
jnzwait1
moval,00000000b
movdx,PA
outdx,al
MOVDX,PC
MOVAL,00H
OUTDX,AL
wait1:
MOVDX,PB
INAL,DX
cmpal,0Fbh
jzwait1
MOVDX,PC
MOVAL,01H
OUTDX,AL
MOVCX,6H
DELAY8:
DECCX
LOOPDELAY8
MOVDX,PA
MOVAL,01H
OUTDX,AL
MOVCX,2H
DELAY:
DECCX
LOOPDELAY
MOVDX,PA
MOVAL,03H
OUTDX,AL
MOVCX,2H
DELAY1:
DECCX
LOOPDELAY1
waitw:
MOVDX,PB
INAL,DX
cmpal,0Fbh
jnzwait1w
moval,00000000b
movdx,PA
outdx,al
MOVDX,PC
MOVAL,00H
OUTDX,AL
wait1w:
MOVDX,PB
INAL,DX
cmpal,0Fbh
jzwait1w
MOVDX,PA
MOVAL,07H
OUTDX,AL
MOVCX,2H
DELAY2:
DECCX
LOOPDELAY2
MOVDX,PA
MOVAL,0FH
OUTDX,AL
MOVCX,6H
DELAY3:
DECCX
LOOPDELAY3
MOVDX,PA
MOVAL,1FH
OUTDX,AL
MOVCX,2H
DELAY4:
DECCX
LOOPDELAY4
MOVDX,PA
MOVAL,3FH
OUTDX,AL
MOVCX,2H
DELAY5:
DECCX
LOOPDELAY5
waitw1:
MOVDX,PB
INAL,DX
cmpal,0Fbh
jnzwait1w1
moval,00000000b
movdx,PA
outdx,al
MOVDX,PC
MOVAL,00H
OUTDX,AL
wait1w1:
MOVDX,PB
INAL,DX
cmpal,0Fbh
jzwait1w1
MOVDX,PA
MOVAL,7FH
OUTDX,AL
MOVCX,2H
DELAY6:
DECCX
LOOPDELAY6
MOVDX,PA
MOVAL,0FFH
OUTDX,AL
MOVCX,6H
DELAY9:
DECCX
LOOPDELAY9
MOVDX,PC
MOVAL,0
OUTDX,AL
MOVCX,6H
DELAY10:
DECCX
LOOPDELAY10
MOVDX,PA
MOVAL,0
OUTDX,AL
JMPSTART1
ret
START1endp
START2procnear
wait2:
MOVDX,PB
INAL,DX
cmpal,0FBh
jnzwait3
moval,00000000b
movdx,PA
outdx,al
MOVDX,PC
MOVAL,00H
OUTDX,AL
wait3:
MOVDX,PB
INAL,DX
cmpal,0Fbh
jzwait3
MOVDX,PC
MOVAL,01H
OUTDX,AL
MOVCX,0EH
DELA8:
DECCX
LOOPDELA8
MOVDX,PA
MOVAL,01H
OUTDX,AL
MOVCX,06H
DELA:
DECCX
LOOPDELA
MOVDX,PA
MOVAL,03H
OUTDX,AL
MOVCX,06H
DELA1:
DECCX
LOOPDELA1
MOVDX,PA
MOVAL,07H
OUTDX,AL
MOVCX,06H
DELA2:
DECCX
LOOPDELA2
wait6:
MOVDX,PB
INAL,DX
cmpal,0FBh
jnzwait7
moval,00000000b
movdx,PA
outdx,al
MOVDX,PC
MOVAL,00H
OUTDX,AL
wait7:
MOVDX,PB
INAL,DX
cmpal,0Fbh
jzwait7
MOVDX,PA
MOVAL,0FH
OUTDX,AL
MOVCX,0EH
DELA3:
DECCX
LOOPDELA3
movdx,PA
MOVAL,1FH
OUTDX,AL
MOVCX,06H
DELA4:
DECCX
LOOPDELA4
MOVDX,PA
MOVAL,3FH
OUTDX,AL
MOVCX,06H
DELA5:
DECCX
LOOPDELA5
MOVDX,PA
MOVAL,7FH
OUTDX,AL
MOVCX,06H
DELA6:
DECCX
LOOPDELA6
MOVDX,PA
MOVAL,0FFH
OUTDX,AL
MOVCX,0EH
DELA9:
DECCX
LOOPDELA9
MOVDX,PC
MOVAL,0
OUTDX,AL
MOVCX,0EH
DELA10:
DECCX
LOOPDELA10
MOVDX,PA
MOVAL,0
OUTDX,AL
JMPSTART2
ret
START2ENDP
CODEENDS
ENDSTART
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于8086彩灯控制器的设计报告 最终版 基于 8086 彩灯 控制器 设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)