单片机综合应用实验设计报告格式

上传人:笛音 文档编号:25596718 上传时间:2017-12-15 格式:DOC 页数:19 大小:155.18KB
返回 下载 相关 举报
单片机综合应用实验设计报告格式_第1页
第1页 / 共19页
单片机综合应用实验设计报告格式_第2页
第2页 / 共19页
单片机综合应用实验设计报告格式_第3页
第3页 / 共19页
单片机综合应用实验设计报告格式_第4页
第4页 / 共19页
单片机综合应用实验设计报告格式_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《单片机综合应用实验设计报告格式》由会员分享,可在线阅读,更多相关《单片机综合应用实验设计报告格式(19页珍藏版)》请在金锄头文库上搜索。

1、广西大学行健文理学院单片机应用综合实验报告题目: 基于 STC89S52单片机开发板的功能设计与应用 学 部: 理工学部 班 级: 电气 091班 姓 名: 仇清山 学 号: 0938140122 指导教师: 唐琳、赵玲峰 撰写日期: 2012 年 5月 一、设计要求二、设计电路及功能说明三、编程思路及框架四、调试结果及分析(1、这里写出题目实现结果;2、调试中出现的问题及解决的方法;3、老师的提问及解决的方法)五、总结(心得体会)目录目 录第一章 课程设计要求及功能说明 .11.1 课程设计要求 .11.2 课程设计电路及功能说明 .1第二章 程序设计及结果分析 .22.1 程序设计思想 .

2、12.2 调试结果分析及问题解答 .1单片机综合应用实验设计总结 .4第一章 课程设计要求及功能说明(楷体、5 号、边框宽度为 3 磅)0第一章 课程设计要求及功能说明(标题 1,宋体,小 2)1.1 课程设计要求(标题 2,黑体,小三,加粗,单倍行距)简易秒表。设计要求:用 S1 启动秒表和停止秒表,S2 键将秒表归零,按一下 S1,即开始定时,在数码管上每秒加 1,加到 60,归零。内容(宋体,小 4,行距 20 磅)1.2课程设计电路及功能说明1.2.1设计电路数码管显示电路-由于单片机的 IO 口输出电流不能直接驱动数码管,所以我们采用锁存器 74hc573 作为数码管显示的驱动芯片。

3、由单片机的 P2.6 接到 74hc573 的选通信号控制数码管的段选信号,P2.7接到另一个 74hc573 的选通信号端控制数码管显示的位选。第一章 课程设计要求及功能说明(楷体、5 号、边框宽度为 3 磅)1第二章 程序设计及结果分析2第二章 程序设计及结果分析2.1程序设计思想2.1.1程序设计思想2.1.2编程思路及框架#include#define uint unsigned int#define uchar unsigned charvoid delayms(uchar);void display(uchar,uchar);sbit dula=P26;sbit wela=P27;

4、sbit key=P34;sbit key3=P35;sbit key4=P36;sbit key5=P37;uchar code table 16=主函数显示函数转换函数 调节函数 中断函数第二章 程序设计及结果分析30x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar i,j,k,num,num1,A1,A2;void keyscan()if(key=0)delayms(10);if(key=0)num1=0;wela=1;/位选/P0=0xfc;wela=0;dula=1

5、;/断选/P0=0x3f;dula=0;/断选结束/while(!key);if(key3=0)delayms(10);if(key3=0)TR1=TR1;/取反/while(!key3);if(key4=0)第二章 程序设计及结果分析4delayms(10);if(key4=0)num1+;if(num1=60)num1=0;while(!key4);if(key5=0)delayms(10);if(key5=0)num1-;if(num1=60)num1=0;while(!key5);void delayms(uchar i)for(j=i;j0;j-)for(k=125;k0;k-);/

6、延时时间/ void main()TMOD=0X10;/中断方式/第二章 程序设计及结果分析5TH1=(65536-45872)/256;TL1=(65536-45872)%256;EA=1;ET1=1;TR1=1;while(1)display(A1,A2);/显示函数 /keyscan();/按键/void display(uchar shi,uchar ge)dula=1;P0=tableshi;dula=0;P0=0xff;/消影/wela=1;P0=0xfe;wela=0;delayms(5);dula=1;P0=tablege;dula=0;wela=1;P0=0xfd;wela=

7、0;delayms(5);A1=num1/10;/十位显示/A2 =num1%10;/个位显示 /第二章 程序设计及结果分析6void T0_time() interrupt 3TH1=(65536-50000)/256;TL1=(65536-50000)%256;num+; if(num=20)num=0;num1+;if(num1=60)num1=0;A1=num1/10;A2 =num1%10;2.2调试结果分析及问题解答2.2.1实现结果用 S1 启动秒表和停止秒表,S2 键将秒表归零,按一下 S1,即开始定时,在数码管上每秒加 1,加到 60,归零。2.2.2调试中出现的问题及解决的

8、方法在程序的调试中基本没出现什么大的问题,主要就是忘记分号等等小问题,当时我对程序进行了反复的检查,最后终于是的程序能够正常运行。至于题目要求的功能,基本上都能实现。2.2.3提问及解决的方法将左边开头两个显示管显示的数字改到中间两个显示管显示。第二章 程序设计及结果分析7这里将左边开头的两个数字液晶显示管的十六进制表示法改为中间两个数字液晶显示管的即可程序如下:#include#define uint unsigned int#define uchar unsigned charvoid delayms(uchar);void display(uchar,uchar);sbit dula=P

9、26;sbit wela=P27;sbit key=P34;sbit key3=P35;sbit key4=P36;sbit key5=P37;uchar code table 16=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar i,j,k,num,num1,A1,A2;void keyscan()if(key=0)delayms(10);if(key=0)num1=0;wela=1;/位选/P0=0xfc;wela=0;第二章 程序设计及结果分析8dula=1;/断选

10、/P0=0x3f;dula=0;/断选结束/while(!key);if(key3=0)delayms(10);if(key3=0)TR1=TR1;/取反/while(!key3);if(key4=0)delayms(10);if(key4=0)num1+;if(num1=60)num1=0;while(!key4);if(key5=0)delayms(10);if(key5=0)第二章 程序设计及结果分析9num1-;if(num1=60)num1=0;while(!key5);void delayms(uchar i)for(j=i;j0;j-)for(k=125;k0;k-);/延时时间

11、/ void main()TMOD=0X10;/中断方式/TH1=(65536-45872)/256;TL1=(65536-45872)%256;EA=1;ET1=1;TR1=1;while(1)display(A1,A2);/显示函数 /keyscan();/按键/void display(uchar shi,uchar ge)dula=1;第二章 程序设计及结果分析10P0=tableshi;dula=0;P0=0xff;/消影/wela=1;P0=0xf7; wela=0;delayms(5);dula=1;P0=tablege;dula=0;wela=1;P0=0xfb; wela=0

12、;delayms(5);A1=num1/10;/十位显示/A2 =num1%10;/个位显示 /void T0_time() interrupt 3TH1=(65536-50000)/256;TL1=(65536-50000)%256;num+; if(num=20)num=0;num1+;if(num1=60)num1=0;A1=num1/10;第二章 程序设计及结果分析11A2 =num1%10;单片机综合应用实验设计总结12单片机综合应用实验设计总结字数要求:20003000总结人姓名2012.4.XX(报告撰写时间)1、万事开头难、勇于做第一个吃螃蟹的人。开始的时候,不要老是给自己找借

13、口,说 KEIL 不会建项目啦、没有实验板啦之类的。遇到困难要一件件攻克,不会建项目,就先学它,这方面网上教程很多,随便找找看一下,做几次就懂了,再不行还可以请教同学,多多交流。然后可以参考别的人程序,抄过来也无所谓,写一个最简单的,让它运行起来,先培养一下自己的感觉,知道写程序是怎么一回事,无论写大程序还是小程序,要做的工序不会差多少,总得建个项目,再配置一下项目,然后建个程序,加入项目中,再写代码、编译、生成 HEX,刷进单片机中、运行。必须熟悉这一套工序。个人认为,一块学习板还是必要的,写好程序在上面运行一下看结果,学习效果会好很多,仿真器就看个人需要了。单片机是注重理论和实践的,光看书

14、不动手,是学不会的。2、程序一定要过自己的手。最开始的时候,啥都不懂,可以抄人家的程序过来,看看每一句是干什么用的,达到什么目的,运行后有什么后果,看明白了之后,就要自己写一次,你会发现,原来看明白别人的程序很容易,但到自己写的时候却一句也写不出来,这就是差距。当你自己能写出来的时候,说明你就真的懂了。3、掌握调试程序的各种方法。不少人写程序,把代码写好了,然后一运行,不是自己想要的结果,就晕了,然后跑到别人的机子上,把程序一贴,问:为什么我的程序不能正常运行?然后就等别人来给自己分析。这是一种很不好的行为,应该自己学会发现问题和学会如何解决问题。这就需要学习调试程序的方法,比如 KEIL 里,可以下断点啦,查看寄存器内容等等,这些都是调试程序的手段,当你发现你写的程序运行结果和你想象中不一样的时候,你可以单步,也可以下断点,然后跟踪,查看各相关寄存器内容,看看单片机综合应用实验设计总结13程序运行过中是不是有什么偏差,找出影响结果的地方,改正过来。这一个过程非常重要,通过程序的排错,你可以学到的知识是书上得不到的。4、找到解决问题思路比找到代码更重要。我们用单片机来控制周边器件,达到我们想到的目的,这是一个题目,而如何写出一个程序,来控制器件按你想要的结果去运作,这个就是解题的思路。要写程序,就得先找到解决问题的思路,你学会找出这个解题思路,比

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号