广西大学行健文理学院
单片机应用综合实验报告
题目: 基于STC89S52单片机开发板的功能设计与应用
学 部:
班 级:
姓 名:
学 号:
指导教师:
撰写日期: 2
第一章 课程设计要求及功能说明. 1
1.1课程设计要求. 1
1.2课程设计电路及功能说明. 1
第二章 程序设计及结果分析. 2
2.1程序设计思想. 1
2.2调试结果分析及问题解答. 1
单片机综合应用实验设计总结. 4
1.1 课程设计要求
利用定时/计数器T1产生定时时钟,控制8个发光二极管,使8个指示灯依次一个一个闪动,闪动频率为10次/秒(8个灯依次亮一遍为一个周期),循环。
1.2课程设计电路及功能说明
1.2.1设计电路
#include<reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit P1_0=P1^0;
uchar tt,a;
void main() {
TMOD=0x10;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
EA=1;
ET1=1;
TR1=1;
a=0xfe;
while(1);
}
void timer1() interrupt 1
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
tt++;
if(tt==2)
{
tt=0;
P1=a;
a=_crol_(a,1);
}
}
程序结果: 8个指示灯依次一个一个闪动,闪动频率为10次/秒(8个灯依次亮一遍为一个周期),并且一直循环。
2.1程序设计思想:
通过定义左右循环移位子函数的库使控制指示灯的二进制数改变,通过设置定时器的工作方式,使其指示灯段依次一个一个闪动
2.2调试结果分析及问题解答
程序烧录进单片机后,单片机的8个指示灯依次一个一个闪动,并且一直循环下去,程序中通过定义左右循环移位子函数的库,从而使控制指示灯的二进制改变,使其不断循环,
问题1:初值的计算
由于晶振为10 MHz,所以机器周期Tcy为0.8 ms。
所以:
N=t/ Tcy =10000/0.8=12500
X=65536-12500=OXFEH
问题2:该程序如何实现功能的
该程序通过定义左右循环移位子函数的库使控制指示灯的二进制数改变,通过设置对寄存器的的初值的设定,用循环指令实现其对指示灯的控制,已达到实验目的。
说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。虽然这次的课程设计算起来在实验室的时间只有几天,可是回到宿舍了依然可以编写程序,实验进度还算理想。
回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在实验的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
下面是我自己关于学习单片机的一些心得体会,希望对大家有所帮助。
1、万事开头难、要勇敢迈出第一步。开始的时候,不要老是给自己找借口,说不会建项目啦、没有实验板啦之类的。遇到困难要一件件攻克,不会建项目,就先学它,这方面网上教程很多,随便找找看一下,做几次就懂了。然后可以参考别的人程序,抄过来也无所谓,写一个最简单的,让它运行起来,先培养一下自己的感觉,知道写程序是怎么一回事,无论写大程序还是小程序,要做的工序不会差多少,总得建个项目,再配置一下项目,然后建个程序,加入项目中,再写代码、编译、生成HEX,刷进单片机中、运行。必须熟悉这一套工序。个人认为,一块学习板还是必要的,写好程序在上面运行一下看结果,学习效果会好很多,仿真器就看个人需要了。单片机是注重理论和实践的,光看书不动手,是学不会的。
2、知识点用到才学,不用的暂时丢一边。,学了后面的,前面的估计也快忘光了,所以,最好结合实际程序,用到的时候才去看,不必说非要把书从第一页看起,看完它才来写程序。比如你写流水灯,完全就没必要看中断的知识,专心把流水灯学好就是了,这是把整本书化整为零,一小点一小点的啃。
3、程序不要光看不写,一定要自己写一次。最开始的时候,啥都不懂,可以抄人家的程序过来,看看每一句是干什么用的,达到什么目的,运行后有什么后果,看明白了之后,就要自己写一次,你会发现,原来看明白别人的程序很容易,但到自己写的时候却一句也写不出来,这就是差距。。。当你自己能写出来的时候,说明你就真的懂了。。。
4、必须学会掌握调试程序的方法。不少人写程序,把代码写好了,然后一运行,不是自己想要的结果,就晕了,然后跑到论坛上发个帖子,把程序一贴,问:为什么我的程序不能正常运行?然后就等别人来给自己分析。这是一种很不好的行为,应该自己学会发现问题和学会如何解决问题。这就需要学习调试程序的方法,比如可以下断点啦,查看寄存器内容等等,这些都是调试程序的手段,当你发现你写的程序运行结果和你想象中不一样的时候,你可以单步,也可以下断点,然后跟踪,查看各相关寄存器内容,看看程序运行过中是不是有什么偏差,找出影响结果的地方,改正过来。这一个过程非常重要,通过程序的排错,你可以学到的知识是书上得不到的。
5、开动脑筋,运用多种方法,不断优化自己的程序。想想用各种不同方法来实现同一功能。这是一个练习和提高的过程,一个问题,你解决了,那么你再想想,能不能换种写法,也可以实现同一功能,或者说,你写出来的代码,能不能再精简一点,让程序执行效率更高,这个过程,就是一个进步的过程。很多知识和经验的获得,并不是直接写在书让你看就可以得到的,需要自己去实践,开动脑筋,经验才能得到积累,编程水平才能有所提高。
6、看别人的代码,学习人家的思路。这个在学习初期是很有用,通过看别人的代码,特别是有多年编程经验的人写出的具有一定水平的代码,可以使自己编程水平得到迅速的提高,同时,也可以结合别人的编程手法,与自己的想法融合在一起,写出更高水平的代码,从中得到进步。但要注意,切忌将学习变成抄袭,更不是抄袭完了就认为自己学会了,这样做只会使你退步。
当然,这其中也有很多问题,第一、不够细心,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。
在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考问题的完整性和实际生活联系的可行性。在方案设计选择上,培养了我们综合应用单片机的能力,对单片机的各个管脚的功能也有了进一步的认识。还锻炼我们个人的查阅技术资料的能力,动手能力,发现问题,解决问题的能力。
这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。其次,这次课程设计让我充分认识到团队合作的重要性,只有分工协作才能保证整个项目的有条不絮。另外在课程设计的过程中,当我们碰到不明白的问题时,指导老师总是耐心的讲解,给我们的设计以极大的帮助,使我们获益匪浅。因此非常感谢老师的教导。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。我觉得作为一名电气工程及其自动化专业的学生,这次课程设计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这一个多礼拜的“学习”,在小组同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。
再次感谢老师的辅导以及同学的帮助,是他们让我有了一个更好的认识,无论是学习还是生活,生活是实在的,要踏实走路。课程设计时间虽然很短,但我学习了很多的东西,使我眼界打开,感受颇深。
总结人:
广西大学行健文理学院 单片机应用综合实验
报告
题目: 基于STC89S52单片机开发板的功能设计与应用
学 部: 理工学部 班 级: 姓 名: 学 号: 指导教师: 唐琳、赵玲峰 撰写日期: 20xx年5月
一、设计要求
二、设计电路及功能说明
三、编程思路及框架
四、调试结果及分析(1、这里写出题目实现结果;2、调试中出现的问题及解决的方法;3、老师的提问及解决的方法)
五、总结(心得体会)
目录
目 录
第一章 课程设计要求及功能说明..........................1
1.1课程设计要求...................................1
1.2课程设计电路及功能说明.........................1
第二章 程序设计及结果分析..............................2
2.1程序设计思想...................................1
2.2调试结果分析及问题解答.........................1
单片机综合应用实验设计总结.............................3
第一章 课程设计要求及功能说明(楷体、5号、边框宽度为3磅)
第一章 课程设计要求及功能说明
(标题1,宋体,小2)
1.1 课程设计要求
(标题2,黑体,小三,加粗,单倍行距)
内容(宋体,小4,行距20磅)
1.2课程设计电路及功能说明
1.2.1设计电路
(标题3,黑体,四号加粗,单倍行距)
纸张为16K纸,上下边距分别为2cm,左边距为2.5cm,右边距为2cm。
页眉中红字为页眉设置要求。页眉内容与论文相应章节的题目相同。
页脚添加页码,页码居中。 论文排版要求:
章节标题:见上面示例要求,(标题1、2、3)
正文内容:见上面示例要求。
中文字体:宋体,小4号;
英文字体:Times New Roman,小4号;
正文排版:行间距,固定值20磅
正文要求首行缩进空两格。
报告装订:左侧装订
1
第二章 程序设计及结果分析
第二章 程序设计及结果分析
2
单片机综合应用实验设计总结
单片机综合应用实验设计总结
正文部分****************************************************,继续**************************************。
排版与前面章节中正文要求相同。
字数要求:2000—3000
总结人姓名
2012.4.XX(报告撰写时间)
3
通信与信息工程学院20xx20xx学年第二学期实验报告课程名称单片机原理及应用专业班级学号学生姓名指导教师日期20xx年4月15日…
单片机原理及应用实验报告姓名方恩山学号63120xx40110专业通信工程实验性质设计性班级20xx级1班指导教师许强实验项目名称…
目录一实验一1二实验二7三实验三11四实验四15实验一定时计数器验证实验一实验目的熟悉定时计数器T0的特点学会合理选择定时方式并能…
滨江学院微机原理与接口技术综合实验报告题目:简易电子琴设计学号:学生姓名:XXX院系:滨江学院专业:指导教师:二OXX年月日【摘要…
目录广西大学行健文理学院单片机应用综合实验报告题目基于STC89S52单片机开发板的功能设计与应用学部班级姓名学号指导教师撰写日期…
编号实验报告姓名学号实验班级实验时间实验报告总份片数12份片实验教师学院1实验一开发软件使用与调试方法一实验目的学习KEIL的使用…
成绩重庆邮电大学自动化学院综合实验报告题目51系列单片机闭环温度控制学生姓名蒋运和班级0841004学号20xx213316同组人…
微机原理与单片机接口技术实验报告册河南理工大学电气学院专业班级学号姓名1目录实验一流水灯实验3一实验目的3二实验实现的功能3三系统…
基于单片机的温度数据采集系统实验报告班级电技姓名田波平学号指导老师仲老师101班10120xx108题目基于单片机的温度数据采集系…
单片机实验报告报告人xxx学号20xx211812班号20xx211407指导老师姚燕20xx0615实验一仿真软件的使用以及跑马…