ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:254.23KB ,
资源ID:23457688      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23457688.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机AT89C51可控流水灯课程设计报告汇编语言参考模板.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机AT89C51可控流水灯课程设计报告汇编语言参考模板.docx

1、单片机AT89C51可控流水灯课程设计报告汇编语言参考模板第一章 课题的意义及应用当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活或学习,还是娱乐和消遣几乎样样都离不开电子产品,大型复杂的计算能力是人脑所不能胜任的,而且比较容易出错。计算机作为一种快速通用的计算工具方便了用户的使用。计算机可谓是我们最亲密的电子伙伴之一。本设计着重在于分析计算机软件和开发过程中的环节和步骤,并从实践经验出发对计算机设计做了详细的分析和研究。单片机由于其微小的体积和极低的成本,广泛的应用于家用电器、工业控制等领域中。在工业生产中。单片微型计算机是微型计算机称单片机,特别适用于控制领域,

2、故又称为微控制器。单片机的应用日益广泛,如应用在仪器仪表,家用电器和专卖装备的智能化以及过程控制等方面,单片机在人们的日常生活和工作中正扮演着越来越重要的角色。本系统就是充分利用了AT89C51芯片的I/O引脚。系统以采用MCS-51系列单片机为中心器件来设计LED流水灯系统,实现8个LED流水灯的各种显示方式,并实现循环的速度可调,暂停及复位功能。通过本次课题设计,应用单片机原理及接口技术等所学相关知识及查阅资料,完成可控流水灯设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能力的目的。通过本次设计的训练,可以使我在基本思路和基本方法上对基于MCS-51单片机的嵌入式系统

3、设计有一个比较感性的认识,并具备一定程度的设计能力。第二章 系统的总体设计2.1 设计方法本课题使用AT89C51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变高电平;同理,接在P1.1P1.7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,只要将发光二极管LED1LED8依次点亮、熄灭,8只LED灯便会一

4、亮一暗的做流水灯了。在此还应注意一点,由于人眼的视觉暂留效应以单片机执行每条指令的时间很短,在控制二极管亮灭的时候应该延时一段时间,否则就看不到“流水”效果了。2.2 数码管显示方案通常数码管显示有两种方式:动态显示和静态显示。静态显示的优点是程序简单、显示亮度有保证、单片机CPU的开销小,节约CPU的工作时间。但占用I/O口线多,每一个LED都要占用一个I/O口硬件开销大,电路复杂。需要几个LED就必须占用几个并行I/O口,比较适用于LED数量较少的场合。当然当LED数量较多的时候可以使用单片机的串行口通过移位寄存器的方式加以解决,但程序编写比较复杂。LED动态显示硬件连接简单,但动态显示扫

5、描方式需要占用CPU较多的时间,在单片机没有太多实时测试任务的情况下可以采用。本系统需要采用4位LED数码管来显示流水灯闪烁方式的序号,故本系统选择动态显示方案。2.3 键盘输入方案单片机的键盘结构可以采用独立式按键和矩阵式键盘两种。独立式按键指直接用I/O口线构成单个按键电路,可在系统中键较少时使用。在按键比较多的时候可采用矩阵式键盘。本系统要设置6个按键,其中1个键用来开启和关闭整个流水灯系统并控制流水灯的闪烁方式,还有一个键也是控制流水灯的闪烁方式,另外2个键控制流水灯闪烁速度,还有一个按键用来控制流水灯的暂停和继续。最后一个按键用来控制流水灯的复位,故采用独立式按键。第三章 硬件电路设

6、计3.1电路原理本硬件的核心是MCS-51单片机,我们选用AT89C51。因无需扩展外部RAM。系统采用4位共阳极数码管,用来显示各种闪烁方式的序号。系统采用6个按键控制,其中1个键用来开启和关闭整个流水灯系统并控制流水灯的闪烁方式,还有一个键也是控制流水灯的闪烁方式,另外2个键控制流水灯闪烁速度,还有一个按键控制流水灯的暂停和继续。最后一个按键控制流水灯的复位。系统在P1.0到P1.8上接了8个发光二极管,在按一下启动键时,P1.0的二极管亮,此时从P1.0到P1.8的二极管依次闪烁:1.若此时按按键1,2,流水灯将2个2个,隔1个亮1个,从中间向两边并从两边向中间或4个4个依次闪烁。2.若

7、此时按按键3,4,流水灯的闪烁频率将改变。3.若此时按按键5,将暂停流水灯效果,再按一次又可继续之前的效果。4.若此时按按键6,将复位流水灯(跳到第一种方式)。3.2单片机最小系统 +5V 10UF 10K C1 C2图313.3系统工作流程按设计要求,规划了可控流水灯的工作流程如下:1.按下启动按钮(按键1),流水灯依次闪烁,数码管将显示1为第一种闪烁方式。若在此时按下按键3,4灯光将改变频率显示(共有3种速度可供调节)。并且若此时按按键5,将暂停彩灯效果,再按一次又可继续之前的效果。2.按下按键1流水灯将2个2个闪烁,此时数码管将显示2表示为第2种闪烁方式,若在此时按下按键3,4灯光将改变

8、频率显示(共有3种速度可供调节)。并且若此时按按键5,将暂停彩灯效果,再按一次又可继续之前的效果。3.再按下功能键1流水灯将隔1个亮1个,此时数码管将显示3表示为第3种闪烁方式,再按下功能键3,4灯光将改变频率显示(共有3种速度可供调节)。并且若此时按按键5,将暂停彩灯效果,再按一次又可继续之前的效果。4.再次按下按键1流水灯将从中间向两边并从两边向中间闪烁,此时数码管将显示4表示为第4种闪烁方式,再按下功能键3,4灯光将改变频率显示(共有3种速度可供调节)。并且若此时按功能键5,将暂停彩灯效果,再按一次又可继续之前的效果。5.再按下按键1流水灯将4个4个闪烁,此时数码管将显示5表示为第4种闪

9、烁方式,再按下按键3,4灯光将改变频率显示(共有3种速度可供调节)。并且若此时按按键5,将暂停彩灯效果,再按一次又可继续之前的效果。6.再按下停止按钮系统将停止运行。7.按按键2改变流水灯闪烁方式数码管将显示的数字依次减少。8.按按键6将复位流水灯(跳到第一种方式)。第四章 程序设计4.1系统总体结构框图系统的结构框图如图41所示。图414.2 系统流程图整个系统的总体程序,电路通电后,若按一下按键1,为第一种方式;若再按一下按键1,此时为第二种方式;再按一下为第三种方式;若按下按键2,此时为第二种方式;若再按一下按键2,此时为第一种方式;再按一下按键2,此时为第五种方式。每种方式各有它的流水

10、灯花样。(程序及流程图请看附录)第五章 调试5.1正常现象按下按键1,灯开始闪烁。开始运行,这是第一种方式,然后在第一种方式中又有四种闪烁方式,这时候就要用到按键1和2了,按下按键1,2切换方式。按一下,切换一种方式,再按一下切换另一种方式。按下按键1,2灯开始闪烁,切换五种方式。按下按键3,4灯光改变频率显示。按下按键5彩灯效果暂停,再按一次又继续之前的效果。最后,就是关闭,按下按键1。5.2出现的故障在调试当中,出现了按下按键5,不能暂停彩灯效果,通过认真修改程序后,按下按键5,暂停彩灯效果,再按一次又继续之前的效果。图51在用实验箱进行实验时,不能实现流水灯效果。认真思考及检查线路后,发

11、现是烧接程序时步骤出错。然后重新按照步骤:擦除芯片打开文件写Flash校验Flash操作,最后实现了可控流水灯功能。图52图53第六章 心得体会本次课程设计的题目是可控流水灯的设计,我针对这个题目的任务要求从课本上,上网等渠道获取相关信息及参考资料。之后对电路原理图和程序不断地修改,最终达到要求的效果。但由于水平和时间有限,程序和设计中还有许多不足之处。我会在以后的学习中不断努力。通过此次设计使我对应用系统设计思路有了一定的掌握,对硬件和软件的实践有了一定的了解。系统采用4位共阳极数码管来显示数字,采用6个按键,用来调整流水灯的闪烁方式,闪烁频率,暂停及复位。将所学的知识得到了一定的贯通,进一

12、步掌握了独立设计的本领,深入领会单片机应用系统的软、硬件调试方法和系统研制开发过程。感谢老师及同学的帮助,这次课程设计收获颇多。参考文献1胡健单片机原理及接口技术,机械工业出版社。2XX文库。附录1程序: ORG 0000H AJMP START ORG 000BH AJMP T_0 ;20ms延时中断 ORG 001BH AJMP T_1 ;100ms延时中断 ;_ _ 伪定义 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ YANS_EN BIT01H ;延时使能标志,1有效 ORG 0030H;_ _ 初始化 _ _ _ _ _ _ _

13、 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _START: MOV P2, #01H ;打开四位一体数码管COM1端 MOV SP, #60H ;设置堆栈指针在(60H) MOV R1, #0 ;R1 存放按键1,2(选择工作方式) MOV R2, #1 ;R2 存放按键3,4(变换延时时间) MOV R3, #0 ;R3 延时辅助 MOV R4, #0 ;R4 流水灯1查表辅助 MOV R5, #0 ;R5 流水灯2查表辅助 MOV R6, #0 ;R6 流水灯3查表辅助 MOV R7, #0 ;R7 流水灯4查表辅助MOV R0, #0 ;R0 流水灯5查表辅助

14、MOV 30H, #2 ;30H 存放延时数据2x100ms即200ms ;中断初始化 MOV IE, #10001010B;T_0、T_1延时中断使能 MOV IP, #00000000B;无中断优先 MOV TMOD,#00010001B ;T_0、T_1延时中断 工作方式一 MOV TH0, #0D8H MOV TL0, #0F0H ;D8F0 = 55536 (20000us即20ms) MOV TH1, #3CH MOV TL1, #0B0H ;3CB0 = 15536 (100000us即100ms) MOV TCON,#01010000B ;启动T_0、T_1延时 ;_ _ 主程

15、序 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ MAIN: CJNE R1, #1, L1 ;流水灯1 LCALL LOOP L1: CJNE R1, #2, L2 ;流水灯2 LCALL LOOP1 L2: CJNE R1, #3,L3 ;流水灯3 LCALL LOOP2 L3: CJNE R1, #4, L4 ;流水灯4 LCALL LOOP3 L4: CJNE R1, #5, L5 ;流水灯5 LCALL LOOP4 L5: CJNE R1, #6, L6 ;关闭 MOV P1, #0FFH MOV P0, #0FFH LCALL

16、START L6: LJMP MAIN ;_ _ 流水灯1 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ LOOP: JNB YANS_EN,$ ;延时 CLR YANS_EN ;关闭延时使能标志 MOV DPTR, #TAB1 MOV A,R4 MOVC A, A+DPTR MOV P1,A MOV P0, #0F9H ;数码管显示1 INC R4 CJNE R4, #16, BY1 MOV R4, #0 BY1: RET ;_ _ 流水灯2 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ LO

17、OP1: JNB YANS_EN, $ ;延时 CLR YANS_EN ;关闭延时使能标志 MOV DPTR, #TAB2 MOV A, R5 MOVC A, A+DPTR MOV P1, A MOV P0, #0A4H ;数码管显示2 INC R5 CJNE R5, #8,BY2 MOV R5, #0 BY2: RET ;_ _ 流水灯3 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ LOOP2: JNB YANS_EN, $ ;延时 CLR YANS_EN ;关闭延时使能标志 MOV DPTR, #TAB3 MOV A, R6 MOVC A

18、, A+DPTR MOV P1, A MOV P0, #0B0H ;数码管显示3 INC R6 CJNE R6, #16, BY3 MOV R6, #0 BY3: RET ;_ _ 流水灯4 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ LOOP3: JNB YANS_EN, $ ;延时 CLR YANS_EN ;关闭延时使能标志 MOV DPTR, #TAB4 MOV A, R7 MOVC A, A+DPTR MOV P1, A MOV P0, #99H ;数码管显示4 INC R7 CJNE R7, #10, BY4 MOV R7, #0

19、BY4: RET ;_ _ 流水灯5 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ LOOP4: JNB YANS_EN, $ ;延时 CLR YANS_EN ;关闭延时使能标志 MOV DPTR, #TAB5 MOV A, R0 MOVC A, A+DPTR MOV P1, A MOV P0, #92H ;数码管显示5 INC R0 CJNE R0, #40, BY5 MOV R0, #0 BY5: RET ;_ _ 中断T_0 (20ms延时执行识别按键) _ _ _ _ _ _ _ _ _ _ _ T_0: CLR ET0 PUSH PS

20、W PUSH ACC MOV TH0, #0D8H MOV TL0, #0F0H ;D8F0 = 55536 (20000us即20ms) LCALL SBAJ ;识别按键 POP ACC POP PSWSETB ET0 RETI;_ _ 中断T_1(100ms延时)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ T_1: CLR ET1 PUSH PSW PUSH ACC MOV TH1, #3CH MOV TL1, #0B0H ;3CB0 = 15536 (100000us即100ms) INC R3 MOV A,R3 CJNE A,30H,YS MOV R3, #

21、0SETB YANS_EN ;启动延时使能 YS: POP ACC POP PSW SETB ET1 RETI ;_ _ 按键识别 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ SBAJ: ;按键1,2(选择工作方式) JB P3.0, L7 JNB P3.0, $ INC R1 L7: JB P3.1, L8 JNB P3.1, $ DEC R1 CJNE R1, #0,L7 MOV R1, #5L8: ;按键3,4(变换延时时间) JB P3.2, L9 JNB P3.2, $ INC R2 LCALL YSGX ;调用延时数据更新L9:

22、JB P3.3, L10 JNB P3.3, $ INC R2 LCALL YSGX1 ;调用延时数据更新L10: ;按键5(暂停继续) JB P3.4, L11 JNB P3.4, $ CPL TR1L11:;按键6(复位) JB P3.5, L12 JNB P3.5, $ MOV R1,#1L12: RET;_ _ 延时数据更新 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ YSGX: CJNE R2, #1, BS1 MOV 30H, #10 ;10x100ms即1s MOV R3, #0 SJMP BS3 BS1: CJNE R2, #2, B

23、S2 MOV 30H, #5 ;5x100ms即500ms MOV R3, #0 SJMP BS3 BS2: CJNE R2, #3, BS3 MOV R2, #0 MOV 30H, #2 ;2x100ms即200ms MOV R3, #0 BS3: RET YSGX1: CJNE R2, #1, BS11 MOV 30H, #2 ;2x100ms即200ms MOV R3, #0 SJMP BS33 BS11: CJNE R2, #2, BS22 MOV 30H, #5 ;5x100ms即500ms MOV R3, #0 SJMP BS33 BS22: CJNE R2, #3, BS33 M

24、OV R2, #0 MOV 30H, #10 ;10x100ms即1s MOV R3, #0 BS33: RET ;_ _ 流水灯数据 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ TAB1: ;流水灯1 DB 0FEH, 0FCH, 0F8H, 0F0H, 0E0H, 0C0H, 80H, 00H DB 80H, 0C0H, 0E0H, 0F0H, 0F8H, 0FCH, 0FEH, 0FFH TAB2: ;流水灯2 DB 0FCH, 0F0H, 0C0H, 00H, 0C0H, 0F0H, 0FCH, 0FFH TAB3: ;流水灯3 DB 0

25、FEH, 0FAH, 0EAH, 0AAH, 0FFH DB 0FDH, 0F5H, 0D5H, 55H, 0FFH DB 0AAH, 0FFH,55H, 0FFH,00H, 0FFHTAB4: ;流水灯4 DB 0E7H, 0C3H, 81H, 00H, 0FFH DB 7EH, 3CH, 18H, 00H, 0FFHTAB5: ;流水灯5 DB 0FEH, 0FCH, 0F8H, 0F0H, 0FFH DB 0FDH, 0F9H, 0F1H, 0E1H, 0FFH DB 0FBH, 0F3H, 0E3H, 0C3H, 0FFH DB0F7H, 0E7H, 0C7H, 87H, 0FFH DB 0EFH, 0CFH, 8FH, 0FH, 0FFH DB 0DFH, 9FH, 1FH, 1EH, 0FFH DB 0BFH, 3FH, 3EH, 3CH, 0FFH DB 7FH, 7EH, 7CH, 78H, 0FFH 附录2仿真电路图:实验箱接线图:流程图: N N N Y Y Y Y N Y

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1