单片机实习总结报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
专业综合实习总结2010-2011(2)
专业班级:电子信息工程
学生学号:
学生姓名:
指导教师:
实习时间:
机电工程学院
一、实习目的和意义
1、实习目的:
(1)利用单片机小系统实习板,掌握电路原理图;
(2)通过对系统板的测试,了解系统板的工作原理及性能,掌握元器件及系统故障的排除方法;
(3)通过单片机系统的调试、程序编制及运行,掌握单片机系统的工作原理、开发方法和操作方法。
2、实习意义:
通过本实习不但可以掌握单片机软、硬件的综合调试方法,而且可以熟练掌握电路原理图,激发对单片机智能性的探索精神,提高学生的综合素质,培养学生应用单片机实现对工业控制系统的设计、开发与调试的能力。在制作学习过程中,不但可以掌握软、硬件的综合调试方法,而且可以使学生对单片机智能性产生强烈的欲望。达到最大限度地掌握微机应用技术,软件及接口设计和数据采集与处理的技能,培养电综合实践素质的目的。
二、实习内容
1.熟悉“单片机课程实习”电路板,领会、掌握该电路板的设计原理及硬件布局。
2.掌握单片机技术应用平台keil软件的学习。
3.借助平台软件,学习开发板的使用,按照要求编制、调试出正确的汇编语言程序。
4.学习适合本开发平台软件STC-ISP的在线单片机烧录。
5.针对实习电路板的功能,编制、调试、编译汇编语言程序,下载烧录并在实验板上运行,或利用软件ISIS 7 Professional进行软件仿真。
实现的功能:
1.led显示模块:单向循环流水led显示、双向循环流水led显示、花样流水灯的显示,使用查表方法编制任意点亮历程的实现,使用软件延时;
2.数码管显示模块:一位静态数码管显示0到9和0到F、二位静态数码管显示0到99、三位静态数码管显示0到999、四位静态数码管显示0到9999;阴极和阳极四位动态数码管显示;74LS驱动4位静态数码管显示;利用74HC595四位静态数码管
显示;使用串行静态显示和动态扫描显示两种方式;
3.键盘模块:利用4×4矩阵键盘按键对应置数显示“0~F”;使用键盘的行列扫描方式;
三、硬件介绍
(一)LED显示模块:
图1 流水灯显示
图2 键盘控制循环灯(二)数码管显示模块:
图3 1位静态数码管显示
图6 独立键盘加减清零数码管显示
图7 4位74LS驱动静态数码管显示
图8 4位74HC595静态显示
图9 0到F矩阵键盘四、软件程序流程图
1、流水灯循环左移右移程序框图:
是
3、0到9一位静态显示程序框图:
4、动态数码显示程序框图:
5、4×4矩阵矩阵键盘数码显示程序框图:主程序图:
判别是否有键按下程序:
五、实习的心得体会
回顾起此次课程设计,感觉受益匪浅,从拿到题目到完成整个编程,从理论到实践,学到很多很多的课堂理论中没学到过的东西,不仅对键盘的识别技术这一章节的知识点有了深刻的认识,而且对这学期开设的单片机这门课程有了更全面的了解,尤其是在学习使用proteus软件片编程和仿真时收获良多。通过这次单片机课程设计,还使我懂得了实践的重要性。同时在程序调试的过程中提高自己的发现问题、解决问题、实际动手和独立思考的能力。
本次单片机实习我们一共完成了三个模块的程序设计,包括:led显示模块、数码管显示模块和键盘模块。分别实现了流水灯的循环点亮控制、数码管的静态和动态计数显示,还有矩阵键盘按键控制数码管显示的程序设计。然后我们分别用protues系统仿真软件对各个模块进行了模拟仿真,用keil软件编制了汇编语言程序,验证了我们所设计的程序。
当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。
通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。
这次课程设计能顺利的完成,除了我们的努力外,当然也离不开指导老师申老师的辛勤指导,致使我在设计的过程中学到了很多实用性的知识。同时,对给过我帮助的所有同学和各位指导老师表示忠心的感谢!
附录:程序清单
P1口闪亮:ORG 0000H
LOOP:MOV P1,#01H
ACALL DELAY
MOV P1,#00H
ACALL DELAY
SJMP LOOP DELAY:MOV R7,#250 DEL1:MOV R6,#250
DJNZ R6,$
DJNZ R7,DEL1
RET
END
流水灯循环左移右移:
方法一:ORG 0000H
MOV A,#01H LOOP: MOV P1,A
MOV R5,#10
LOOP1:ACALL DELAY
DJNZ R5,LOOP1
RL A
JB ACC.7, LOOP2 SJMP LOOP
LOOP2:MOV P1,A
MOV R5,#10 LOOP3:ACALL DELAY
DJNZ R5,LOOP3
RR A
JB ACC.0,LOOP
SJMP LOOP2 DELAY:MOV R7,#250 DEL1:MOV R6,#250
DJNZ R6,$
DJNZ R7,DEL1
RET
END
方法二:ORG 0000H
MOV A,#80H LOOP:RL A
MOV P1,A
ACALL DELAY
CJNE A,#80H,LOOP LOOP1:RR A
MOV P1,A
ACALL DELAY
CJNE A,#01H,LOOP1
SJMP LOOP DELAY:MOV R7,#0FFH DELAY1:MOV R6,#0FFH DELAY2:MOV R5,#03H DELAY3:DJNZ R5,DELAY3 DJNZ R6,DELAY2 DJNZ R7,DELAY1
RET
END
方法三:ORG 0000H
MOV A,#80H
MOV R0,#08H LOOP:RL A
MOV P1,A
ACALL DELAY
DJNZ R0,LOOP
MOV R0,#07H LOOP1:RR A
MOV P1,A
ACALL DELAY
DJNZ R0,LOOP1
MOV R0,#07H
SJMP LOOP DELAY:MOV R7,#0FFH DELAY1:MOV R6,#0FFH DELAY2:MOV R5,#03H DELAY3:DJNZ R5,DELAY3 DJNZ R6,DELAY2 DJNZ R7,DELAY1
RET
END
方法四:ORG 0000H
MOV A,#00H
SETB CY
LOOP:RLC A
JC LOOP1
MOV P1,A
ACALL DELAY
SJMP LOOP
LOOP1:RRC A
JC LOOP
MOV P1,A
ACALL DELAY
SJMP LOOP1 DELAY:MOV R7,#0FFH