基于单片机AT89C51控制的花样调速流水灯-课题设计报告.doc

上传人:教**** 文档编号:88908191 上传时间:2023-05-04 格式:DOC 页数:26 大小:1.35MB
返回 下载 相关 举报
基于单片机AT89C51控制的花样调速流水灯-课题设计报告.doc_第1页
第1页 / 共26页
基于单片机AT89C51控制的花样调速流水灯-课题设计报告.doc_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《基于单片机AT89C51控制的花样调速流水灯-课题设计报告.doc》由会员分享,可在线阅读,更多相关《基于单片机AT89C51控制的花样调速流水灯-课题设计报告.doc(26页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 单片机课程设计 宁波技师学院课 程 设 计 报 告 论文题目 花样调速流水灯 专业班级 学生姓名 学 号 指导教师 宁波技师学院电气技术系2013 年 9月目 录第1章 系统设计11.1 数码管显示方案11.2 按键输入方案1第2章 硬件电路设计22.1电路原理22.2系统工作流程2第3章 软件设计3 3.1系统资源分配43.2软件模块设计6 第四章 调试94.1 正常现象10 4.2出现的故障11第5章 总结7参考文献7附录1硬件电路图8附录2软件代码14 第1章 系统设计1.1 数码管显示方案通常数码管显示有两种方式:动态显示和静态显示。静态显示的优点是程序简单、显示亮度有保证、单片机C

2、PU的开销小,节约CPU的工作时间。但占用I/O口线多,每一个LED都要占用一个I/O口,硬件开销大,电路复杂。需要几个LED就必须占用几个并行I/O口,比较适用于LED数量较少的场合。当然当LED数量较多的时候,可以使用单片机的串行口通过移位寄存器的方式加以解决,但程序编写比较复杂。LED动态显示硬件连接简单,但动态显示扫描方式需要占用CPU较多的时间,在单片机没有太多实时测试任务的情况下可以采用。本系统需要采用4位LED数码管来显示流水灯闪烁方式的序号,故本系统选择动态显示方案。1.2 键盘输入方案单片机的键盘结构可以采用独立式按键和矩阵式键盘两种。独立式按键指直接用I/O口线构成单个按键

3、电路。可在系统中键较少时使用。在按键比较多的时候可采用矩阵式键盘。本系统要设置3个键,其中1个键用来开启整个流水灯系统,另外2个键分别控制流水灯的闪烁方式和闪烁速度。第2章 硬件电路设计2.1电路原理本硬件的核心是MCS-51单片机,我们选用AT89C51。因无需扩展外部RAM。系统采用4位共阳极数码管,用来显示各种闪烁方式的序号。系统采用3个按键控制,一个为启动键,当按下启动按钮整个流水灯系统启动。系统在P1.0到P1.8上接了8个发光二极管,在按一下启动键的时,P1.0的二极管亮,此时从P1.0到P1.8的二极管依次闪烁:1 若此时按功能键2,流水灯将2个2个,3个3个或4个4个依次闪烁。

4、2 若此时按功能键3,流水灯的闪烁频率将改变。 2.2系统工作流程按设计要求,我们规划了花样调速流水灯的工作流程如下:1. 按下启动按钮,流水灯依次闪烁,数码管将显示1为第一种闪烁方式2. 按下功能键1流水灯将2个2个闪烁,此时数码管将显示2表示为第2种显示方式,并且在此时按下功能键3灯光将放慢频率显示(共有3种速度可供调节)。3. 再次按下功能键1流水灯3个3个闪烁,此时数码管将显示3表示为第3种显示方式,在按下功能键3灯光将放慢频率显示(共有3种速度可供调节)。4. 最后按下功能键1流水灯将4个4个闪烁,此时数码管将显示4表示为第4种显示方式,在按下功能键3灯光将放慢频率显示(共有3种速度

5、可供调节)。5. 再按下停止按钮系统将停止运行第3章 软件设计3.1 系统总体结构框图针对与设计思想做系统的结构框图如图31所示。 图313.2 系统流程图整个系统的总体程序,电路通电后,若按一下功能键(按钮1),为第一种方式;若再按一下功能键(按钮1),此时为第二种方式;再按一下为第三种方式,每种方式各有它的流水灯花样。(流程图请看附录) 第5章 总结通过此次设计使我对应用系统设计思路有了一定的掌握,对硬件和软件的实践。系统采用4位共阳极数码管来显示数字,采用3个按键,用来调整闪烁方式和频率。将所学的知识得到了贯通,进一步掌握了独立设计的本领,深入领会单片机应用系统的软、硬件调试方法和系统研

6、制开发过程。 参考文献1 张立红 单片微型计算机原理与应用(第二版)。中国劳动社会保障出版社。2 胡毓坚 PROTEL 99SE 原理图与PCB及仿真。机械工业出版社。3 百度文库附录1 软件代码;流动循环灯ORG0000HAJMPSTART ORG000BHAJMPT_0;20ms延时中断ORG001BHAJMPT_1;100ms延时中断;_ _ 伪定义 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _YANS_ENBIT01H;延时使能标志,1有效ORG0030H;_ _ 初始化 _ _ _ _ _ _ _ _ _ _ _ _ _ _

7、_ _ _ _ _ _ _ _ _ _ _ _ START:;打开四位一体数码管COM1端MOVP2, #0FEH;设置堆栈指针在(5FH)MOVSP, #5FH;R0 存放 按键1(选择工作方式)MOVR0, #0D;R1 存放 按键2(变换延时时间)MOVR1, #1;R2 延时辅助MOVR2, #0;R3 流水灯1查表辅助MOVR3, #0;R4 流水灯2查表辅助MOVR4, #0;R5 流水灯3查表辅助MOVR5, #0;30H 存放 延时数据 (多少次100ms)MOV30H, #2;2x100ms即200ms;中断初始化MOVIE, #10001010B;T_0、T_1延时中断使能

8、MOV IP, #00000000B ;无 中断优先MOVTMOD, #00010001B;T_0、T_1延时中断 工作方式一MOVTH0, #0D8HMOVTL0, #0F0H;D8F0 = 55536 (20000us即20ms)MOVTH1, #3CHMOVTL1, #0B0H;3CB0 = 15536 (100000us即100ms)MOVTCON, #01010000B ;启动T_0、T_1延时;_ _ 主程序 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _MAIN:CJNER0, #1D, K1;流水灯1LCALLLOOP

9、1K1:CJNER0, #2D, K2;流水灯2 LCALLLOOP2 K2: CJNER0, #3D, K3;流水灯3 LCALLLOOP3 K3: CJNER0, #4D, K4;关闭 MOVP1, #0FFH MOVP0, #0FFH LCALLSTART K4: LJMPMAIN;_ _ 流水灯1 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _LOOP1:JNBYANS_EN, $;延时CLRYANS_EN;(关闭)延时使能标志MOVDPTR, #LSD1MOVA, R3MOVCA, A+DPTRMOVP1, AMOVP0,

10、#0F9H;数码管显示1INCR3CJNER3, #16, BYE1MOVR3, #0BYE1:RET;_ _ 流水灯2 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _LOOP2:JNBYANS_EN, $;延时CLRYANS_EN;(关闭)延时使能标志MOVDPTR, #LSD2MOVA, R4MOVCA, A+DPTRMOVP1, AMOVP0, #0A4H;数码管显示2INCR4CJNER4, #8, BYE2MOVR4, #0BYE2:RET;_ _ 流水灯3 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

11、 _ _ _ _ _ _ _ _ _ _LOOP3:JNBYANS_EN, $;延时CLRYANS_EN;(关闭)延时使能标志MOVDPTR, #LSD3MOVA, R5MOVCA, A+DPTRMOVP1, AMOVP0, #0B0H;数码管显示3INCR5CJNER5, #40, BYE3MOVR5, #0BYE3:RET;_ _ 中断T_0(20ms延时执行按键判断)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _T_0:CLRET0PUSHPSWPUSHACCMOVTH0, #0D8HMOVTL0, #0F0H;D8F0 =

12、 55536 (20000us即20ms)LCALLAJPD;按键判断POPACCPOPPSWSETBET0RETI;_ _ 中断T_1(100ms延时)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _T_1:CLRET1PUSHPSWPUSHACCMOVTH1, #3CHMOVTL1, #0B0H;3CB0 = 15536 (100000us即100ms)INCR2MOVA, R2CJNEA, 30H, YESMOVR2, #0SETBYANS_EN;(启动)延时使能YES:POPACCPOPPSWSETBET1RETI;_ _

13、按键判断 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _AJPD:;按键1(选择工作方式)JBP3.0, OUT1JNBP3.0, $INCR0OUT1:;按键2(变换延时时间) JBP3.1, OUT2JNBP3.1, $INCR1LCALLYSSJ;调用延时数据(并更新) OUT2:RET;_ _ 延时数据(更新) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ YSSJ:CJNER1, #1, SD1MOV30H, #2;2x100ms即20

14、0msMOVR2, #0SJMPSD3SD1:CJNER1, #2, SD2MOV30H, #5;5x100ms即500msMOVR2, #0SJMPSD3SD2:CJNER1, #3, SD3MOVR1, #0MOV30H, #10;10x100ms即1sMOVR2, #0SD3:RET;_ _ 流水灯数据 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _LSD1:;流水灯1,(0 15)DB0FEH, 0FCH, 0F8H, 0F0H, 0E0H, 0C0H, 80H, 00HDB80H, 0C0H, 0E0H,

15、 0F0H, 0F8H, 0FCH, 0FEH, 0FFHLSD2:;流水灯2,(0 7)DB0FCH, 0F0H, 0C0H, 00H, 0C0H, 0F0H, 0FCH, 0FFHLSD3:;流水灯3,(0 39)DB0FEH, 0FCH, 0F8H, 0F0H, 0FFHDB0FDH, 0F9H, 0F1H, 0E1H, 0FFHDB0FBH, 0F3H, 0E3H, 0C3H, 0FFHDB0F7H, 0E7H, 0C7H, 87H, 0FFHDB0EFH, 0CFH, 8FH, 0FH, 0FFHDB0DFH, 9FH, 1FH, 1EH, 0FFHDB0BFH, 3FH, 3EH,

16、 3CH, 0FFHDB 7FH, 7EH, 7CH, 78H, 0FFH附录2 仿真电路图 花样调速流水灯的硬件电路附录3 系统原理图流程图PCB图项目 负责人绘图PCB 程序硬件设计软件设计系统设计调试清单总结乌呈琪姚文杰吴银锋 第四章 调试 4.1 正常现象按下功能键1,灯开始闪烁.开始运行,这是第一种方式,然后在第一种方式中又有五中闪烁方式,这时候,就要用到功能键2了,按下功能键2切换方式.按一下,切换一种方式,再按一下切换一种方式.然后就是切换到方式二,开始第二种方式. 按下功能键2,第二种方式开始.灯开始闪烁,然后就按到功能键2切换方式,切换五种方式. 按下功能键3,切换到第三种方式,灯开始闪烁,然后再按下功能键2,切换方式,与上面一样. 最后,就是关闭,按下功能键3 4.2 出现的故障在我们调试当中,出现了芯片发烫的问题,一开始是好的,但是后来突然停住了,紧接着就是芯片烫了,后来我觉得应该是三极管的问题,因为在插三极管的时候我就觉得好像错了,但是我还是插上去了,结果错了,最后把三极管全部换掉了,再一次通电就行了.显示正常.电阻4701K20010022uf30uf12Mhz三极管9012LED数码管四位一体12个9个1个8个1个2个1个4个8个1个(元件清单)25

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com