单片机专周实习报告Word格式.docx
- 文档编号:17044019
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:13
- 大小:117.04KB
单片机专周实习报告Word格式.docx
《单片机专周实习报告Word格式.docx》由会员分享,可在线阅读,更多相关《单片机专周实习报告Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
_____________________
实习指导书
实习题目:
方波波形发生器
学生姓名
第1组
课程名称
单片机应用实习
专业班级
电自专2012
地点
实验楼I506
起止时间
2014.9.15至2014.9.26
实习内容及要求
要求实习的方波波形发生器完成以下功能:
1.基本功能
①发生方波信号
②频率可调
③幅度可调
2.扩展功能
测量信号的频率;
产生其他波形,自行扩展功能
设计
参数
①前两位显示输出频率,后两位显示输出电压
②10~90Hz范围频率可调
③0-4v范围幅度可调
进度
要求
①布置任务、分析任务、学习单片机的C51功能程序设计(1天)
②方案设计、使用Protel设计和绘制硬件原理图(1.5天)
③程序设计和调试(6.5天)
④实习验收、撰写报告(1天)
详见进度安排表
参考资料
张义辉,李家庆,单片机系统综合训练指导书.重庆科技学院
张毅刚.单片机原理及应用.北京:
高等教育出版社,2005
其它
说明
1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。
2.若填写内容较多可另纸附后。
3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。
系主任:
指导教师:
张小云
2014年9月10日
摘要:
在电子工程、通信工程、自动控制、测量仪器、仪表和计算机等技术领域,经常需要用到各种各样的信号波形发生器。
本次实习主要采用PCF8591输出频率和幅值可调的方波信号。
在硬件系统设计中,采用MCS51单片机为控制核心,D/A转换电路等实现设计要求。
软件设计中,在Keil软件平台下采用C51编程,设计了调频功能和调幅功能,使得所编写的程序具有可读性强、易于修改、测试和升级方便的特点。
关键词:
单片机 数模转换频率幅值可调数字方波发生器
一、目的和功能
1.1目的:
设计一种频率和幅值范围限定且可调的数字方波发生器,产生简易的方波波形。
1.2功能:
利用PCF8591输出方波波形,用MCS51单片机上的四个按键对方波的幅值和频率进行一定范围的调节,从而输出我们想要频率的方波。
1.3具体任务:
时间
内容
地点
指导教师
12.16
9:
00
布置实习任务及要求,查资料,准备方案
KEILC51程序设计练习(定时器程序设计)
I506、图书馆
12.17
总体方案设计,硬件设计
I506
12.18
画硬件电路原理图
数码管显示程序设计、调试
12.19
显示北京时间程序设计、调试
12.20
键盘控制程序设计、调试
12.23
软件方案设计,查阅资料,画软件流程图
12.24
设计、调试程序
12.25
设计、调试程序,讲解实习报告要求
12.26
实习成果验收,完成设计报告
12.27
二、硬件设计
2.1硬件设计思想
用PCF8591将按键的变化转化成相应的数值变化,用不同的变量代表不同的按键变化,当不同变量的值发生变化,就改变方波的频率或幅值。
基本设备是MCS51单片机上STC89C51、PCF8591以及按键部分,测试时还需要用到示波器来观察输出点的波形情况。
2.2硬件电路图
三、软件设计
3.1软件设计思想
不停得扫描是否有按键输入,根据按键对应值得变化输出相应的波形。
幅值由输出高低电平值得变化控制,频率由输出高电平和低电平的时间控制。
这里用按键的次数控制某个变量的自增或自减改变幅值或频率,从而得到对应的方波。
3.2程序框图
3.3调试
Keil软件中,在“文件\新建文件”中,新建C语言源程序文件,编写相应的程序。
在“文件\新建项目”的菜单中,新建项目并将C语言源程序文件包括在项目文件中。
在“项目\编译”菜单中将C源文件编译,检查语法错误及逻辑错误。
在编译成功后,产生以“*.hex”后缀的目标文件。
最后通过专业的下载工具将“*.hex”后缀的目标文件下载到单片机,用示波器观察输出点的波形,检查实验相关功能是否完成,若不能完成则查看对应程序部分是否有缺陷,一直到所有要求都完成。
心得体会:
通过这次实习,让我对单片机的相关知识更加的熟悉,以前不懂的I2C也有了一定的了解。
特别是在这两周的实习中,在与大家的交流学习到了很多,刚开始时大家都会有一些不懂的地方,但在不停的学习中,我们共同的在进步,虽然在最后的成果上不尽如人意,但是在这个过程中我们学到的团队合作、共同进步这些道理会一直伴随我们一生。
附录:
#include<
reg52.h>
intrins.h>
#defineucharunsignedchar
sbitSCL=P3^6;
sbitSDA=P3^7;
sbitP20=P2^0;
sbitP21=P2^1;
ucharcount=0;
ucharm,b,a=0;
ucharN[]={0x00,0x05,0x0a,0x0f};
voidusdelay()//微秒延时
{
_nop_();
}
voiddelay()
for(b=0;
b<
=a*10;
b++)
{
}
//启动IIc
voidiic_start(void)//时钟保持高,数据线从高到低一次跳变,I2C通信开始
{
SDA=1;
usdelay();
SCL=1;
//延时5us
SDA=0;
SCL=0;
//停止IIc
voidiic_stop(void)
//时钟保持高,数据线从低到高一次跳变,I2C通信停止
//应答信号ack
voidack()
uchari;
SCL=1;
while((SDA==1)&
&
(i<
200))
i++;
SCL=0;
//函数名称:
iicInit_()
//函数功能:
初始化I2C总线子程序
//------------------------------------------------------------------
voidiicInit()
SDA=1;
}
//写字节
voidIICSendByte(uchardat)
for(i=0;
i<
8;
i++)
SDA=(bit)(dat&
0x80);
//数据传送是由高到底bit把数据变为非0即1的一位数据
dat<
<
=1;
//释放总线
//主函数
main()
iicInit();
while
(1)
{
if(P21==0)//调幅
if(P21==0)
count++;
while(!
P21);
if(count==4)
count=0;
if(P20==0)//调频
if(P20==0)
a++;
P20);
if(a==4)
a=0;
switch(count)
case0:
//方波
iic_start();
IICSendByte(0x90);
ack();
IICSendByte(0x40);
//模拟输出
m=0;
IICSendByte(N[m]);
iic_stop();
delay();
N[m]=~N[m];
break;
case1:
m=1;
case2:
m=2;
case3:
m=3;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实习 报告