验证/仿真
跑马灯,又叫走马灯、串马灯。由毛竹编织成马头。马尾,系在身上糊上颜色鲜艳的纸,如今已由丝绸取代。在过去,跑马灯一般在春节等喜庆的日子里才表演,由二十来位11一14岁小孩组成,边跳边唱,根据节奏快慢形成不同阵势,有喜庆、丁财两旺、五谷丰登的寓意。现在用来指在电脑上通过编程实现的一种效果,通常指有时需要用一矩形条显示少量用户特别关心的信息,这条信息串首尾相连,向一个方向循环滚动〔实际应用中也常通过“跑马灯”来监视是否死机。
系统运行环境为windows7旗舰版;开发工具包括:KeiluVision4,ProtuesISIS,Protel99SE。
通过KeiluVision4软件编写C51程序控制灯实现预设的效果,使用Protel99SE绘制原理图,在Protues中进行单片机效果的仿真。
选用51单片机最小系统板,免去了最小系统设计、制作的冗长时间;其次,单片机型号为STC51;实际需要LED灯24个,分为三种颜色:红、黄、绿,购买30个灯以避免损坏后无法更换;发声部分,扬声器两个;另外,还需要一块ISP下载模块以及两条USB电源线用于程序载入和电源输入;其余330?排阻若干,排针若干,6*6*6微动开关若干。
将在KeiluVision4中编写的程序加载到ProtuesISIS中的单片机中,然后再进行仿真,分别执行相应的控制操作,以看各程序运行时输出是否按预想实现。
程序的调试也是分模块的,将一个功能视作一个模块。在调试该模块时,将其他的功能屏蔽掉。主函数中用了一个while(1)语句来实现控制循环,使程序不断地进行判断,执行相应的功能,只要将控制该程序执行的条件一直满足就可以对不同的模块进行仿真调试。如果相应的功能仿真与预想效果有差别,则进行分析相关信息,判断出错的原因,列出导致出错的可能性,再到相应的程序中去修改相应的程序代码,逐一排查,直到将相应的程图2仿真电路图才进行下一个功能的调试。
当所有的模块都调试完成后,再进行综合调试。综合调试就是每个功能都要执行,首先将每个功能都执行一遍,然后在不同的功能之间进行切换,要注意在切换过程中可能出现切换不过来或者是切换后的状态不能与相应功能对应,或者是切换时有突变,相应的显示不正常,这些都是由于程度代码在进行功能切换时的过度状态没有控制好,原因可能是判断条件不正确或者没有考虑到状态切换后条件有问题。
通过仿真调试,可以将程序中的绝大部分问题都能找到,但是有的问题不仅要进行仿真调试,还要分析代码,将程序一条一条地进行考虑,自己将程序走几遍,还要进行相应的演算,这样才能最大程度地达到预期效果。
根据程序及预期效果进行仿真,以进行判断相当的程序中是否有误从而不能达到预期目标。
第一步:接通电源,不进行图1电路模块组合图任何操作,这时程序执行的第一功能,观察灯的亮灭情况;
第二步:只按下第一个开关,这时程序执行第二个功能,观察灯的亮灭情况;
第三步:只按下第二个灯,这时程序执行第三个功能,观察灯的亮灭情况;
第四步:将第一、二个开关同时按下,这时程序执行第四个功能,观察灯的亮灭情况;
第五步:只关闭第三个开关,这时程序执行第五个功能,观察灯的亮灭情况,听扬声器输出的声音;
第六步:打开第三个开关,只在第一个开关和第二个开关之间进行切换,观察灯的亮灭情况;
第七步:打开第一个开关后过一段时间再打开第三个开关,观察灯的亮灭情况,听扬声器输出的声音;
第八步:打开第二个开关后过一段时间再打开第三个开关,观察灯的亮灭情况,听扬声器输出的声音;
第九步:打开第三个开关,然后再分别打开第一、第二个开关,观察灯的亮灭情况,听扬声器输出的声音。(图2)
将最小系统与单片机组合,在第一个电路板上插入排针,需要连接24个彩灯,还有VCC,GND;另一个电路板上,接出三个开关按钮,还有扬声器。之后进行焊接。
5.1.1、效果一
接入电源,可以观察到24个灯顺序灭灯并不断循环显示。
5.1.2、、效果二
接入电源,按住开关一,可以观察到彩灯序列显示H,E,L,L,O,!,hello!字样。
5.1.3、效果三
接入电源,按住开关二,可以观察到彩灯亮灭,呈现俄罗斯方块样式显示。
5.1.4、效果四
接入电源,同时按住前两个开关,可以观察到彩灯亮灭,呈现贪吃蛇样式显示。
按住开关按钮三,停止之前的功能,彩灯闪烁并循环播放音乐“世上只有妈妈好”。
在本次设计中,实现“三色跑马灯控制”的设计、制作,达到了预期功能;
全部0条评论
快来发表一下你的评论吧 !