修改版走马灯软件设计Word文档下载推荐.docx
- 文档编号:15886894
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:15
- 大小:175.21KB
修改版走马灯软件设计Word文档下载推荐.docx
《修改版走马灯软件设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《修改版走马灯软件设计Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
下面详细讲解跑马灯电路的设计。
优领域-电子领域?
A(N'
U)P?
b)W优领域-电子领域?
第二章软件设计
2、1软件设计实现的功能
1具有走马灯,霓虹灯功能;
2走马灯规律:
自右向左隔两个灯;
3霓虹灯规律:
每隔一秒闪烁一次,隔灯亮灭为一秒;
4走马灯显示个数为8个;
5由走马灯转为霓虹灯由按钮控制;
2、2软件结构模块图
图2.1软件结构模块图
2、3软件编程流程思想
图2.2软件编程流程思想
中断是指CPU在执行程序的过程中,当出现异常情况或特殊请求时,停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回现行程序的间断处,继续执行原程序。
中断是单片机实时地处理内部或外部事件的一种内部机制。
当某种内部或外部事件发生时,单片机的中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理,中断处理完毕后,又返回被中断的程序处,继续执行下去。
第三章软件分析
3.1软件流程总图设计
图3.1软件流程总图设计
3.2软件分部程序设计
3.2.1初始化程序
TIME
BIT20H.0;
把位地址20H.0赋给变量TIME
DISPLAY
BIT20H.1把位地址20H.1赋给变量DISPLAY
ORG0000H;
程序开始地址
JMPMAIN;
跳转到主程序
MAIN:
MOV
SP,#40H;
堆栈入口地址40H
TMOD,#01H;
T0工作在模式1
TH0,#3CH;
给高8位赋初值
TL0,
#B0H;
给低8位赋初值1
SETB
IT0;
下降沿有效
TR0;
打开定时器T0启动控制位
EX0;
开外部中断INT0
ET0;
开定时器T0
EA;
开中断总允许
CLR
TIME;
取反直接寻址位TIME
DISPLAY;
取反直接寻址位DISPLAY
A,
#FEH;
给累加器赋初值FEH
LPP:
JNB
DISPLAY,LPP00;
直接寻址位为0就跳转到LP00处
LCALL
SHINE;
调用霓虹灯指令
JMP
LPP;
跳转到LPP处
LPP00:
WATERLIGHT;
调用走马灯指令
JMP
LPP;
3.2.2延时模块程序编辑
图3.2延时模块流程图
工作模式程序
方式选择
选择T0的方式1
计数初值的计算
机器周期:
T=12M/6M=2us
则T0的定时初值N=2^16-50000=15536=3CB0H
主程序中关于T0的部分
MOV
TMOD,#01H;
T0工作在模式一
TH0,#3CH;
TL0,#B0H;
给低8位赋初值
TR0;
打开定时器T0启动控制位
ET0;
允许T0中断溢出
EA;
打开中断允许总控位
T0的中断入口地址
ORG000BH;
T0;
跳转到T0处
T0中断服务入口程序
T0:
关闭T0启动控制位
DJNZ
R0,LOOP;
寄存器减一,不为0则转移到LOOP
R0,#0AH;
给R0赋初值10;
TIME;
启动计时
LOOP:
TH0,#3CH;
给高8位赋初值
TL0,#B0H;
SETBTRO;
打开定时器T0启动控制位
RETI;
中断返回
3.2.3显示功能模块编程
图3.3显示功能模块流程图
主程序部分
MOVSP,#40H;
堆栈入口改为40H
SETB
IT0;
EX0;
开外部中断INT0
中断入口
ORG0003H;
外部中断T0入口地址
INT0;
跳到INT0处
中断服务程序
INT0:
关闭外部中断
JB
DISPLAY,LOP;
如果DISPLAY为位1则跳转到LOP处
A,#0FFH;
给累加器赋初值A,FFH
LOP0:
CPL
DISPLAY;
取反DISPLLAY位
开外部中断INT0
RETI
;
中断返回
LOP:
A,#0FEH;
给累加器赋初值A,FEH
JMPLOP0
3.2.4走马灯模块流程图
图3.4走马灯模块流程图
WATERLIGHT:
关闭外部中断T0
P0,A;
将累加器的值传送到P0口
TIME,$;
直接寻址位TIME为0则等待
TIME位清零
RL
A;
将累加器A中值左移一位
RL
将累加器A中的值左移一位
SETBEX0;
关闭外部中断INT0
RET;
程序返回
3.2.5霓虹灯模块流程图
图3.5霓虹灯模块流程图
SHINE:
P0,A;
累加器的值传送到P0口
TIME,$;
直接寻址位TIME为0则等待
TIME位清零
EX0;
打开外部中断INT0
RET;
程序返回
第四章设计心得体会
经过多天的努力,终于完成了第一次任务,设计出了走马灯!
也可以说是经过了多天的学习,尽管期间苦难重重,但我还是从中学习了不少新的知识和解决困难的方法,也体验到了自主创作的快乐
对于本次课题的心得体会,我觉得有以下几点:
1、不管做什么事,计划是很重要的。
没有一个完好的计划,做事情就会没有一个好的顺序,做事情会比较乱,很难成功。
而有一个好的计划,不管做什么事都会事半功倍,做事心中有数,明确重点和缓急,不会有疏漏。
这样才能提高成功率。
2、做事要多动脑,选出最好的方法。
一件事往往有多种解决方法,一个好的方法,不仅能使事情事半功倍,而且往往决定最后的成与败,所以做事时一定要多动一下脑筋,想出最好的方法。
3、要注意细节。
细节决定成败,这句话在这次课题中不仅一次得到了印证,特别是在软件的编程过程中,一点点的错误就会使你整个程序不能运行。
因此我们不仅仅要有整体意识,也要注意细节,不要因一个关键地方的一个细节而导致满盘皆输。
5、最后,也是最重要的一点,通过这次课题,我们学到了很多有关单片机方面的知识,也对单片机有了更深入的了解。
使我们受益匪浅。
第五章附录
附录一硬件图,总程序
5.1硬件图
图5.1硬件图
5.3总程序
BIT20H.0;
把位地址20H.0赋给变量TIME
BIT20H.1;
把位地址20H.1赋给变量DISPLAY
ORG0000H;
程序开始地址
跳转到主程序
INT0的中断入口地址
INT0;
跳转到INT0
ORG000BH;
T0的中断入口地址
T0;
跳转到T0处
堆栈入口地址40H
TOMD,#01H;
T0工作在模式1
给高8位赋初值
下降沿有效
开中断总允许
取反直接寻址位TIME
CLR
取反直接寻址位DISPLAY
给累加器赋初值FEH
JNBDISPLAY,LPP00;
直接寻址位为0就跳转到LP00处
LCALL
调用霓虹灯指令
LPP;
跳转到LPP处
WATERLIGHT;
LPP;
TR0;
关闭T0启动控制位
R0,LOOP;
寄存器减一,不为0则转移到LOOP
MOV
R0,#0AH;
给R0赋初值10
SETB
TIME;
启动计时
TH0,#3CH;
TL0,#B0H;
给低8位赋初值
TRO;
RETI;
中断返回
JMPLOP0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 修改 走马灯 软件设计
![提示](https://static.bdocx.com/images/bang_tan.gif)