单片机课程实习报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“单片机实习报告”。
单片机控制的循环彩灯控制系统的设计
一、实习目的 《单片机原理与接口技术》课程实习安排在该课程理论教学结束后进行。其目的是通过实习,使学生进一步弄懂所学到的课本知识,巩固和深化对单片机的结构、指令系统、中断系统、键盘/显示系统、接口技术、系统扩展、定时/计数控制、程序设计、应用开发等基本理论知识的理解,提高单片机应用技术的实践操作技能,掌握单片机应用系统设计、研制方面的一般方法,培养利用单片机进行科技革新、开发和创新的基本能力、为毕业后从事和单片机相关的工作打下一定的基础。
二、实习内容要求 要求能输出4种花型,并能由人工进行花型的切换。可以使用按键,也可以使用波动1)开关来实现切换,方法不限。参考花型:(1)使彩灯从右到左逐一循环点亮。(2)使彩灯交替闪烁。(3)使彩灯从左到右逐一点亮,当全部点亮后同时闪烁一次。(4)使彩灯从两边到中间顺序点亮,直至全部点亮;再将彩灯从中间到两边熄灭,直至全部熄灭。2)循环彩灯的循环速度可调。按键要求:(1)启动/暂停。按动一次启动,再按一次暂停。是一个双态转换键。(2)花型变化。按一次,立即停止当前花型的显示,转换为下一种花型。4种花型可以循环切换。(3)速度+。按键一次,速度略加快一点。(4)速度-。按键一次,速度略减慢一点。(5)在LED显示器上显示相应的花型号。利用TDN86/51二合一微机实验教学系统设计一个用8051单片机控制的循环彩灯控制系统。
三、程序设计
1、程序分模块设计 1)基本程序模块:延时程序、设置按键处理程序、主程序初始化及初值设定 2)LED控制程序
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 花型43、总体设计
充分利用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
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 YY MOV 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
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 ,0B SUBB 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
四、软、硬件调试 将程序装载进MD51,用U命令调试检查有没有错误,生成HEX文件,装载进8031内,装载成功后,输入G=0000按回车运行,看LED数码显示器显示花形号,二极管按花型的设计亮起。没有装载成功按复位键重装。
五、设计仿真图
六、实习总结与心得 通过这次的实习设计使我认识到我对单片机方面的知识学习得不够透彻,对书本上的很多知识还不能灵活的运用,有很多我们必须的知识没有掌握,还需要在以后的学习中弥补所缺失的知识。了解和掌握了一些编程思想和对I/O口的使用。本次实习的设计是以单片机8051为核心,结合相关的元器件(共阴极LED数码显示器、通用I/O接口芯片8155等),再加上装载设计的汇编程序,以达到LED二极管实现多种花样彩灯的功能及实习设计要求的功能。在实习准备前期,对编程设计不懂,就查阅了很多有关资料,最后还是没能解决实习要求控制彩灯“加减速”的功能,仿真图及程序见附页。实习的时候,“加减速”程序不符合要求,就拿其他程序进行调试,在实习调试的过程
中,遇到很多困难,插线没插好,导致“加减速”按键没能正常工作,还有就是数码管没能正常显示相应花样样式以及运行一段时间后会卡机;最后卡机问题还是没能解决。最后就是觉得自己对本次实习的态度不够认真。附页:
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
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
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 INC A
MOV R3,A
CJNE A,#08H,ZOU LJMP LOOP MOV A,#00H NEXT7:LCALL DELAY;正常 LCALL DELAY MOV A,R3 INC A CJNE A,#08H,ZOU MOV A,#00H MOV R3,A LJMP LOOP DELAY:MOV R7,#02H D1: MOV R6,#0FFH D2: DJNZ R6,D2
DJNZ R7,D1
RET DELAY1:MOV R7,#04H
D3:MOV R6,#0FFH
D4:DJNZ R6,D2 DJNZ R7,D1 RET TAB:DB 06H,5BH,4FH,66H TAC:DB 7EH,0BDH,0DBH,0E7H,18H,24H,42H,81H END
单片机课程报告在人们素养不断提高的今天,报告的使用成为日常生活的常态,报告具有语言陈述性的特点。你知道怎样写报告才能写的好吗?以下是小编收集整理的单片机课程报告,仅供参......
单片机课程报告4篇在现实生活中,越来越多的事务都会使用到报告,报告具有双向沟通性的特点。那么一般报告是怎么写的呢?以下是小编为大家收集的单片机课程报告,欢迎大家分享。单......
单片机实习报告单片机>实习报告(一)这次实习我们使用控制电路的单片机是AT89S51型号的。通过它实现对八盏双色灯发光二极管的控制P0和《单片机实习报告总结》正文开始》 这次......
单片机实习报告随着社会不断地进步,报告有着举足轻重的地位,其在写作上有一定的技巧。那么报告应该怎么写才合适呢?以下是小编整理的单片机实习报告,希望对大家有所帮助。单片机......
重庆城市管理职业学院信息工程学院单片机实习报告专业班级电子A0801学号0401080112姓名吕爽组号第一组实 验 室 单片机实训室成绩评定老师签名2009年 12月 25日实训课题:99数......