单片机课程实习报告_第1页
单片机课程实习报告_第2页
单片机课程实习报告_第3页
单片机课程实习报告_第4页
单片机课程实习报告_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

单片机控制的循环彩灯控制系统的设计一、实习目的 单片机原理与接口技术课程实习安排在该课程理论教学结束后进行。其目的是通过实习,使学生进一步弄懂所学到的课本知识,巩固和深化对单片机的结构、指令系统、中断系统、键盘/显示系统、接口技术、系统扩展、定时/计数控制、程序设计、应用开发等基本理论知识的理解,提高单片机应用技术的实践操作技能,掌握单片机应用系统设计、研制方面的一般方法,培养利用单片机进行科技革新、开发和创新的基本能力、为毕业后从事和单片机相关的工作打下一定的基础。 二、实习内容要求 要求能输出4种花型,并能由人工进行花型的切换。可以使用按键,也可以使用波动1)开关来实现切换,方法不限。 参考花型: (1) 使彩灯从右到左逐一循环点亮。 (2) 使彩灯交替闪烁。 (3) 使彩灯从左到右逐一点亮,当全部点亮后同时闪烁一次。 (4) 使彩灯从两边到中间顺序点亮,直至全部点亮;再将彩灯从中间到两边熄灭,直至全部熄灭。 2)循环彩灯的循环速度可调。 按键要求: (1)启动/暂停。按动一次启动,再按一次暂停。是一个双态转换键。 (2)花型变化。按一次,立即停止当前花型的显示,转换为下一种花型。4种花型可以循环切换。 (3)速度+。按键一次,速度略加快一点。 (4)速度-。按键一次,速度略减慢一点。 (5)在LED显示器上显示相应的花型号。 利用TDN86/51二合一微机实验教学系统设计一个用8051单片机控制的循环彩灯控制系统。 三、程序设计 1、程序分模块设计 1) 基本程序模块:延时程序、设置按键处理程序、主程序初始化及初值设定 2)LED控制程序 - 1 - 3)取消按键抖动程序 4)控制程序 2、设计流程图 开始 字型码赋值 8155初始化 字位码初始值 总控制开关 字位码 C口 花型控制开关 显示数据 查表字形码 C口 花型 显示字形 显示 选择花型 结束 调速 P3.4=0? 否 P3.2=1? 是 否 是 P3.3=1? 加速 P3.1=0? P3.0=0? 是 否 是 否 减速 00 01 10 11 花型1 花型2 花型3 花型4 - 2 - 3、总体设计 充分利用TDN86/51二合一微机实验教学系统的硬件资源来实现循环灯的功能,因此: (1) 利用8051的P1端口接发光二极管,以模拟彩灯控制。 (2)利用8051的P3端口接拨动开关;利用拨动开关提供逻辑0和逻辑1,模拟按键操作,以实现4种花型之间的切换、加快循环速度、减慢循环速度以及暂停循环灯循环等操作,具体定义如表1.1和表1.2所示。 表1.1 拨动开关与对应的花型 K1 K2 花型 0 0 花型1 0 1 花型2 1 0 花型3 1 1 花型4 表1.2 拨动开关功能表 K3 K4 K5 功能 功能 功能 0 0 0 加速无效 减速无效 暂停 1 1 1 加速 减速 启动 (3)8051通过8155对LED显示器控制显示相应的花型编号。 (4)利用软件子程序或单片机内部的定时/计数器实现定时功能,以模拟循环速度的基准值。 4、设计程序如下: ORG 0000H SETB ET0 LJMP MAIN SETB EX0 ORG 0003H SETB ET1 LJMP JIAN SETB EX1 ORG 0013H SETB EA LJMP JIA LOOP:LCALL KEY ORG 1000H LJMP LOOP MAIN: MOV SP, #60H JIAN:JNB P3.2,$ MOV 20H,#8 INC 20H MOV P1,#0FFH INC 20H - 3 - MOV A,20H JIA: JNB P3.3,$ CJNE A,#14,YY DEC 20H MOV A,#14 DEC 20H YY: MOV 20H,A MOV A,20H RETI JNZ YYMOV A,#02 MOV DPTR, #SEGTAB MOV 20H,A MOVC A, A+DPTR RETI MOV DPTR, #8002H KEY:MOV A,P3 MOVX DPTR, A ANL A,#03H MOV A, R2 MOV 19H,A MOV DPTR, #8001H CJNE A,#00H,L1 MOVX DPTR, A LJMP LP0 MOV R3, #00H L1: CJNE A,#01H,L2 DISP3: DJNZ R3, DISP3 LJMP LP1 INC R0 L2: CJNE A,#02H,L3 RR A LJMP LP2 MOV R2, A L3: LJMP LP3 JB ACC.7, DISP1 DISP: MOV A,#03H RET MOV DPTR,#8000H PUTT: MOV R1,A MOVX DPTR,A ANL A, #0FH MOV R0,#4FH MOV R0, A MOV A,27H RET ACALL PUTT LP0: MOV 27H, #01H MOV R0,#4FH LCALL DISP MOV R2,#0FEH MOV DPTR, #TABLE DISP1: MOV DPTR,#8002H MOV R4, #09 MOV A,#00H L6:MOV A, #09 MOVX DPTR,A SUBB A, R4 MOV A,R0 LCALL XX - 4 - DJNZ R4, L6 MOV A, #09H RET LCALL XX LP1: MOV 27H, #02H MOV A,#10 LCALL DISP LCALL XX MOV DPTR, #TABLE RET LP2: MOV 27H, #03H CJNE A , 19H, PP LCALL DISP MOV R2, 20H MOV DPTR, #TABLE D1:MOV R3, #30 MOV R5, #11 D2:MOV R1, #120 L7: MOV A, #22 DJNZ R1, $ SUBB A, R5 DJNZ R3, D2 LCALL XX DJNZ R2, D1 DJNZ R5, L7 RET RET PP:LJMP LOOP LP3:MOV 27H, #04H SEGTAB: LCALL DISP DB 3FH,06H,5BH,4FH,66H MOV DPTR, #TABLE TABLE: MOV R6, #09 DB 0FFH L8:MOV A, #30 DB 0FEH ,0FDH ,0FBH ,0F7H ,0EFH ,0DFH ,0BSUBB A, R6 FH ,07FH LCALL XX DB 0AAH,55H DJNZ R6, L8 DB RET 7FH,3FH,1FH,0FH,07H,03H,01H,00H,0FFH, 00H XX: MOVC A, A+DPTR DB MOV P1, A 7EH,3CH,18H,00H,18H,3CH,7EH,0FFH LCALL DEL1S DB 00H RET END DEL1S: JNB P3.4, $ MOV A, P3 ANL A, #03H - 5 - 四、软、硬件调试 将程序装载进MD51,用U命令调试检查有没有错误,生成HEX文件,装载进8031内,装载成功后,输入G=0000按回车运行,看LED数码显示器显示花形号,二极管按花型的设计亮起。没有装载成功按复位键重装。 五、设计仿真图 六、实习总结与心得 通过这次的实习设计使我认识到我对单片机方面的知识学习得不够透彻,对书本上的很多知识还不能灵活的运用,有很多我们必须的知识没有掌握,还需要在以后的学习中弥补所缺失的知识。了解和掌握了一些编程思想和对I/O口的使用。 本次实习的设计是以单片机8051为核心,结合相关的元器件(共阴极LED数码显示器、通用I/O接口芯片8155等),再加上装载设计的汇编程序,以达到LED二极管实现多种花样彩灯的功能及实习设计要求的功能。在实习准备前期,对编程设计不懂,就查阅了很多有关资料,最后还是没能解决实习要求控制彩灯“加减速”的功能,仿真图及程序见附页。 实习的时候,“加减速”程序不符合要求,就拿其他程序进行调试,在实习调试的过程 - 6 - 中,遇到很多困难,插线没插好,导致“加减速”按键没能正常工作,还有就是数码管没能正常显示相应花样样式以及运行一段时间后会卡机;最后卡机问题还是没能解决。 最后就是觉得自己对本次实习的态度不够认真。 附页: 1、设计准备阶段仿真图: 2、设计程序: ORG 0030H JNB P3.2,STAR3 MOV A,#03H LJMP STAR4 MOV DPTR,#8000H STAR0:JNB P3.2,STAR1 MOVX DPTR,A SJMP STAR2 MOV R5,#7FH STAR1:MOV R0,A MOV R3,#00H MOV A,#00H MOV R2,#0FEH MOV DPTR,#TAB MOV A,#0FEH MOVC A,A+DPTR LOOP:JNB P3.1,STAR0 MOV DPTR,#8002H - 7 - MOVX DPTR,A MOVX DPTR,A MOV R2,#0FEH MOV A,R0 MOV A,R2 MOV P1,A MOV DPTR,#8001H JB P3.5,$ JNB P3.3,NEXT0 RR A LCALL DELAY SWAP A RL A SJMP LOOP SJMP LOOP NEXT2:JNB P3.4,NEXT3 NEXT0:JNB P3.4,NEXT1 LCALL DELAY LCALL DELAY1 LCALL DELAY1 RL A RR A SJMP LOOP SWAP A NEXT1:LCALL DELAY SJMP LOOP LCALL DELAY NEXT3:LCALL DELAY RL A LCALL DELAY SJMP LOOP RR A STAR2:MOV R0,A SWAP A MOV A,#01H LJMP LOOP MOV DPTR,#TAB STAR3:MOV A,#02H MOVC A,A+DPTR MOV DPTR,#TAB MOV DPTR,#8002H MOVC A,A+DPTR MOVX DPTR,A MOV DPTR,#8002H MOV A,R2 MOVX DPTR,A MOV DPTR,#8001H MOV A,R2 MOVX DPTR,A MOV DPTR,#8001H MOV A,R0 MOVX DPTR,A MOV P1,A MOV A,R5 JB P3.5,$ MOV P1,A JNB P3.3,NEXT2 JB P3.5,$ LCALL DELAY JNB P3.3,NEXT4 - 8 - LCALL DELAY MOV R1,A LCALL DELAY1 CJNE R1,#0FFH,TWO INC A MOV P1,#00H LCALL DELAY LJMP LOOP TWO: MOV A,R5 STAR4:MOV A,#03H RR A MOV DPTR,#TAB MOV R5,A MOVC A,A+DPTR LJMP LOOP MOV DPTR,#8002H NEXT4:JNB P3.4,NEXT5 MOVX DPTR,A LCALL DELAY1 MOV A,R2 LCALL DELAY1 MOV DPTR,#8001H LCALL DELAY1 MOVX DPTR,A INC A MOV A,R3 MOV R1,A MOV DPTR,#TAC CJNE R1,#0FFH,TWO MOVC A,A+DPTR MOV P1,#00H MOV P1,A LCALL DELAY JB P3.5,$ MOV A,R5 JNB P3.3,NEXT6 RR A LCALL DELAY ;加速 MOV R5,A MOV A,R3 LJMP LOOP INC A NEXT5:LCALL DELAY CJNE A,#08H,ZOU LCALL DELAY MOV A,#00H INC A ZOU:MOV R3,A MOV R1,A LJMP LOOP CJNE R1,#0FFH,TWO NEXT6:JNB P3.4,NEXT7 MOV P1,#00H LCALL DELAY ;减速 MOV A,R5 LCALL DELAY RR A LCALL DELAY MOV R5,A MOV A,R3 - 9 - INC A MOV R3,A CJNE A,#08H,ZOU LJMP LOOP MOV A,#00H NEXT7:LCALL DELAY ;正常

温馨提示

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

评论

0/150

提交评论