多路流水灯的控制程序设计.doc

上传人:精*** 文档编号:830185 上传时间:2023-09-06 格式:DOC 页数:10 大小:829.98KB
下载 相关 举报
多路流水灯的控制程序设计.doc_第1页
第1页 / 共10页
多路流水灯的控制程序设计.doc_第2页
第2页 / 共10页
多路流水灯的控制程序设计.doc_第3页
第3页 / 共10页
多路流水灯的控制程序设计.doc_第4页
第4页 / 共10页
多路流水灯的控制程序设计.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、 多路流水灯控制程序的设计 1、设计目的1.1 了解各种各种小灯循环点亮和渐变效果的产生原理。1.2 掌握并行接口芯片8255A逻辑功能及使用方法。1.3 掌握一定的汇编语言知识,培养自己的动手操作能力。1.4 学习程序设计的基本思路和方法。2、设计要求2.1 以8086CPU为核心、并行接口芯片8255A和3个逻辑电平开关设计多路流水灯控制程序;2.2 该多路流水灯控制程序能实现模拟水滴下落、左向移动流水灯和右向移动流水灯三种不同的模拟流水形式;2.3 该多路流水灯控制程序在输入有效代码时才能产生所需的流水形式,否则,小灯全灭。3、设计思路总体方案设计分析在本实验中要求用8255A的B口做为

2、输出,接8个发光二极管,从而实现8位流水灯的显示效果,故基本的接线可以如下面图2所示。在C口的低三位接3个开关,实现3个扩展功能的控制,在PC0-PC7口分别对应的接八个发光二极管。3.1模拟水滴下落(1) 现象模拟水滴下落分为两个过程:其一,水滴形成(渐变效果),即最左位的小灯的亮度逐渐增强;其二,水滴掉下(加速与拖尾效果),即小灯移动的速度逐渐加快以及渐隐效果。(2) 原理水滴形成是在一个周期内,我们可以调节亮和灭的时间,达到调节亮度的目的。因为一次亮灭为一个周期,由于人眼对时间的分辨率有限,变化较快的的闪烁频率无法识别,只要周期够短,人眼就看不出闪烁了。因此利用此原理,亮的时间长一点,灭

3、的时间短一点,看起来就亮一些,否则就暗一些从而实现渐变的效果及水滴的形成,给人的感觉是D0位小灯的亮度逐渐增大。 水滴掉下过程是首先定义一些时间数组,然后通过数组所定义的时间的逐渐变化来使硬件产生小灯的加速移动的效果。拖尾效果是首先定义一些时间数组,然后通过数组所定义的时间的逐渐变化来使硬件产生小灯的渐隐的效果。3.2左向移动流水灯(1) 现象左向移动流水灯的实验现象是首先最左边的灯亮,然后是最左边的灯灭,此时左起第二个灯亮,依次轮流亮,直到第八个灯亮。然后循环上述过程。(2) 原理左向移动流水灯是根据发光二极管的显示原理,首先点亮最右的二极管,然后进位置一,通过带进位的循环左移指令编写程序以

4、实现模拟流水灯的左向移动。3.3右向移动流水灯(1) 现象右向移动流水灯的实验现象是首先最右边的灯亮,然后是最右边的灯灭,此时右起第二个灯亮,依次轮流亮,直到第八个灯亮。然后循环上述过程。(2) 原理右向移动流水灯是根据发光二极管的显示原理,首先点亮最左的二极管,然后进位置一,通过带进位的循环右移指令编写程序以实现模拟流水灯的右向移动。4、电路及连线设计8086CPU处理PB0-PB78255A输入PC0-PC2LED显示K0K2图4.1 系统逻辑框图图4.2 系统硬件连接图图4.3 8255A与8086CPU连接及外部接线图图4.4 8255A与LED及开关的连接及外部接线图5、程序设计5.

5、1主程序流程开始设置8255A的工作方式(81H)读C口低三位模拟水滴下落输出00H右向流水灯灯左向流水灯灯结束无有效按键时输出YNYYNYK2是否被按下NNK3是否被按下K1是否被按下图5.1 主程序流程图5.2子程序流程图(1)模拟水滴子程序水滴形成(渐变效果):保护现场NYYNNYBX=0吗DL加1YY恢复现场CX等于0吗NCX等于0吗CX等于0吗N恢复现场开始初始化寄存器保护现场BX模4保护现场B口输出7FH, BX加1恢复现场YB口输出FFHBX=DX吗图5.2 水滴形成过程子程序图水滴掉下(加速与拖尾效果):YNNYYNSI+2的内容通过AX给SI+4 ,DL加1CX等于0吗CX等

6、于0吗YNCX等于0吗判断是否满足程序所给的条件,输出相应结果恢复现场YNBL=AL吗CX等于0吗恢复现场初始化寄存器保护现场保护现场保护现场保护现场恢复现场结束恢复现场图5.3 水滴掉下过程子程序图(2)左向移动流水灯开始CF置1,0FEHALB口输出AL带进位循环左移一位延时图5.4 左向移动流水灯子程序图(3)右向移动流水灯开始CF置1,07FHALB口输出AL带进位循环右移一位延时图5.5 左向移动流水灯子程序图5.3源程序设计(见附录)5.4仿真实物连接图图5.6 硬件仿真图6、设计总结这次微机原理课程设计我学到了很多在书本上所没有学到过的知识。以前在上课的时候对于编程工具的使用还处

7、于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以及当寄存器不够用时如何用存储单元代替寄存器、怎么去使用循环嵌套、怎么去正确使用8255芯片等方面都有了很大程度的提高。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,但总的来说还是圆满的7、参考文献1 楼顺天,周佳社. 微机原理与接口技术M. 北京:科学出版社,2006:25-71,163-164,295-3052周明德微机原理与接口技术M北京:人民邮电出版社,2007225-243附录: .

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922