基于单片机AT89C51控制的花样调速流水灯课题设计报告_第1页
基于单片机AT89C51控制的花样调速流水灯课题设计报告_第2页
基于单片机AT89C51控制的花样调速流水灯课题设计报告_第3页
基于单片机AT89C51控制的花样调速流水灯课题设计报告_第4页
基于单片机AT89C51控制的花样调速流水灯课题设计报告_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 宁波技师学院课课 程程 设设 计计 报报 告告 论文题目 花样调速流水灯 专业班级 学生姓名 学 号 指导教师 宁波技师学院电气技术系宁波技师学院电气技术系20132013 年年 9 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 章 系统设计

2、1.1 数码管显示方案通常数码管显示有两种方式:动态显示和静态显示。静态显示的优点是程序简单、显示亮度有保证、单片机 CPU 的开销小,节约CPU 的工作时间。但占用 I/O 口线多,每一个 LED 都要占用一个 I/O 口,硬件开销大,电路复杂。需要几个 LED 就必须占用几个并行 I/O 口,比较适用于 LED 数量较少的场合。当然当 LED 数量较多的时候,可以使用单片机的串行口通过移位寄存器的方式加以解决,但程序编写比较复杂。LED 动态显示硬件连接简单,但动态显示扫描方式需要占用 CPU 较多的时间,在单片机没有太多实时测试任务的情况下可以采用。本系统需要采用 4 位 LED 数码管

3、来显示流水灯闪烁方式的序号,故本系统选择动态显示方案。1.2 键盘输入方案单片机的键盘结构可以采用独立式按键和矩阵式键盘两种。独立式按键指直接用 I/O 口线构成单个按键电路。可在系统中键较少时使用。在按键比较多的时候可采用矩阵式键盘。本系统要设置 3 个键,其中 1 个键用来开启整个流水灯系统,另外 2 个键分别控制流水灯的闪烁方式和闪烁速度。第 2 章 硬件电路设计2.1 电路原理本硬件的核心是 MCS-51 单片机,我们选用 AT89C51。因无需扩展外部 RAM。系统采用 4 位共阳极数码管,用来显示各种闪烁方式的序号。系统采用 3 个按键控制,一个为启动键,当按下启动按钮整个流水灯系

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

5、可供调节) 。3.再次按下功能键 1 流水灯 3 个 3 个闪烁,此时数码管将显示 3 表示为第 3种显示方式,在按下功能键 3 灯光将放慢频率显示(共有 3 种速度可供调节) 。4.最后按下功能键 1 流水灯将 4 个 4 个闪烁,此时数码管将显示 4 表示为第4 种显示方式,在按下功能键 3 灯光将放慢频率显示(共有 3 种速度可供调节) 。5.再按下停止按钮系统将停止运行第第 3 章章 软件设计3.13.1 系统总体结构框图系统总体结构框图针对与设计思想做系统的结构框图如图针对与设计思想做系统的结构框图如图 3 31 1 所示。所示。 图 313.2 系统流程图系统流程图整个系统的总体程

6、序,电路通电后, ,若按一下功能键(按钮 1) ,为第一种方式;若再按一下功能键(按钮 1) ,此时为第二种方式;再按一下为第三种方式,每种方式各有它的流水灯花样。(流程图请看附录) 第 5 章 总结通过此次设计使我对应用系统设计思路有了一定的掌握,对硬件和软件的实践。系统采用 4 位共阳极数码管来显示数字,采用 3 个按键,用来调整闪烁方式和频率。将所学的知识得到了贯通,进一步掌握了独立设计的本领,深入领会单片机应用系统的软、硬件调试方法和系统研制开发过程。 参考文献1 张立红 单片微型计算机原理与应用(第二版) 。中国劳动社会保障出版社。2 胡毓坚 PROTEL 99SE 原理图与 PCB

7、 及仿真。机械工业出版社。3 百度文库附录附录1 1 软件代码软件代码;流动循环灯ORG 0000HAJMPSTART ORG 000BHAJMPT_0 ;20ms延时中断ORG 001BHAJMPT_1 ;100ms延时中断;_ _ 伪定义 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _YANS_ENBIT 01H ;延时使能标志,1有效ORG 0030H;_ _ 初始化 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ START:;打开四位一体数码管COM1端MOV P2, #0

8、FEH;设置堆栈指针在(5FH)MOV SP, #5FH;R0 存放 按键1(选择工作方式)MOV R0, #0D;R1 存放 按键2(变换延时时间)MOV R1, #1;R2 延时辅助MOV R2, #0;R3 流水灯1查表辅助MOV R3, #0;R4 流水灯2查表辅助MOV R4, #0;R5 流水灯3查表辅助MOV R5, #0;30H 存放 延时数据 (多少次100ms)MOV 30H, #2;2x100ms即200ms;中断初始化MOV IE, #10001010B;T_0、T_1延时中断使能MOV IP, #00000000B ;无 中断优先MOV TMOD, #00010001

9、B ;T_0、T_1延时中断 工作方式一MOV TH0, #0D8HMOV TL0, #0F0H;D8F0 = 55536 (20000us即20ms)MOV TH1, #3CHMOV TL1, #0B0H;3CB0 = 15536 (100000us即100ms)MOV TCON, #01010000B ;启动T_0、T_1延时;_ _ 主程序 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _MAIN:CJNER0, #1D, K1 ;流水灯1LCALLLOOP1K1:CJNER0, #2D, K2 ;流水灯2 LCALLLOOP2

10、K2: CJNER0, #3D, K3 ;流水灯3 LCALLLOOP3 K3: CJNER0, #4D, K4 ;关闭 MOV P1, #0FFH MOV P0, #0FFH LCALLSTART K4: LJMPMAIN;_ _ 流水灯1 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _LOOP1:JNB YANS_EN, $;延时CLR YANS_EN;(关闭)延时使能标志MOV DPTR, #LSD1MOV A, R3MOVCA, A+DPTRMOV P1, AMOV P0, #0F9H ;数码管显示1INC R3CJNER3,

11、 #16, BYE1MOV R3, #0BYE1:RET;_ _ 流水灯2 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _LOOP2:JNB YANS_EN, $;延时CLR YANS_EN;(关闭)延时使能标志MOV DPTR, #LSD2MOV A, R4MOVCA, A+DPTRMOV P1, AMOV P0, #0A4H ;数码管显示2INC R4CJNER4, #8, BYE2MOV R4, #0BYE2:RET;_ _ 流水灯3 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

12、 _ _ _LOOP3:JNB YANS_EN, $;延时CLR YANS_EN;(关闭)延时使能标志MOV DPTR, #LSD3MOV A, R5MOVCA, A+DPTRMOV P1, AMOV P0, #0B0H ;数码管显示3INC R5CJNER5, #40, BYE3MOV R5, #0BYE3:RET;_ _ 中断T_0(20ms延时执行按键判断)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _T_0:CLR ET0PUSHPSWPUSHACCMOV TH0, #0D8HMOV TL0, #0F0H;D8F0 = 5

13、5536 (20000us即20ms)LCALLAJPD;按键判断POP ACCPOP PSWSETBET0RETI;_ _ 中断T_1(100ms延时)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _T_1:CLR ET1PUSHPSWPUSHACCMOV TH1, #3CHMOV TL1, #0B0H;3CB0 = 15536 (100000us即100ms)INC R2MOV A, R2CJNEA, 30H, YESMOV R2, #0SETBYANS_EN;(启动)延时使能YES:POP ACCPOP PSWSETBET1R

14、ETI;_ _ 按键判断 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _AJPD:;按键1(选择工作方式)JB P3.0, OUT1JNB P3.0, $INC R0OUT1:;按键2(变换延时时间) JB P3.1, OUT2JNB P3.1, $INC R1LCALLYSSJ;调用延时数据(并更新) OUT2:RET;_ _ 延时数据(更新) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ YSSJ:CJNER1, #1, SD1MOV 30H

15、, #2;2x100ms即200msMOV R2, #0SJMPSD3SD1:CJNER1, #2, SD2MOV 30H, #5;5x100ms即500msMOV R2, #0SJMPSD3SD2:CJNER1, #3, SD3MOV R1, #0MOV 30H, #10 ;10 x100ms即1sMOV R2, #0SD3:RET;_ _ 流水灯数据 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _LSD1:;流水灯1,(0 15)DB 0FEH, 0FCH, 0F8H, 0F0H, 0E0H, 0C0H, 80

16、H, 00HDB 80H, 0C0H, 0E0H, 0F0H, 0F8H, 0FCH, 0FEH, 0FFHLSD2:;流水灯2,(0 7)DB 0FCH, 0F0H, 0C0H, 00H, 0C0H, 0F0H, 0FCH, 0FFHLSD3:;流水灯3,(0 39)DB 0FEH, 0FCH, 0F8H, 0F0H, 0FFHDB 0FDH, 0F9H, 0F1H, 0E1H, 0FFHDB 0FBH, 0F3H, 0E3H, 0C3H, 0FFHDB 0F7H, 0E7H, 0C7H, 87H, 0FFHDB 0EFH, 0CFH, 8FH, 0FH, 0FFHDB 0DFH, 9FH,

17、 1FH, 1EH, 0FFHDB 0BFH, 3FH, 3EH, 3CH, 0FFHDB 7FH, 7EH, 7CH, 78H, 0FFH附录 2 仿真电路图 花样调速流水灯的硬件电路附录附录3 3 系统原理图系统原理图流程图流程图PCBPCB 图图项目 负责人绘图PCB 程序硬件设计软件设计系统设计调试清单总结乌呈琪乌呈琪姚文杰姚文杰吴银锋吴银锋 第四章 调试 4.1 正常现象按下功能键1,灯开始闪烁.开始运行,这是第一种方式,然后在第一种方式中又有五中闪烁方式,这时候,就要用到功能键2了,按下功能键2切换方式.按一下,切换一种方式,再按一下切换一种方式.然后就是切换到方式二,开始第二种方式. 按下功能键2,第二种方式开始.灯开始闪烁,然后就按到功能键2切换

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论