单片机原理及应用课程设计报告格式版.docx
- 文档编号:5684653
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:18
- 大小:218.70KB
单片机原理及应用课程设计报告格式版.docx
《单片机原理及应用课程设计报告格式版.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用课程设计报告格式版.docx(18页珍藏版)》请在冰豆网上搜索。
单片机原理及应用课程设计报告格式版
《单片机原理及应用》课程设计管理材料
设计项目名称:
姓名及学号:
专业班级:
成绩:
指导教师:
孙剑
课程设计工作时间:
2013年4月20日-5月30日
黄山学院教务处印制
材料目录
一、课程设计任务书……………………………………………………………1
二、课程设计成绩评定…………………………………………………………2
三、课程设计摘要………………………………………………………………3
四、课程设计报告正文…………………………………………………………4
五、参考资料……………………………………………………………………XX
六、设计小结……………………………………………………………………XX
一、课程设计任务书:
1、课程设计的任务基本要求:
完成基于AT89C52单片机为核心的设计,要求应用仿真软件Proteus进行仿真。
任务要求:
1)选题方向正确,具有科学性、创新性和可行性
2)研究方案合理、技术路线、课题计划安排得当
3)做好文献综述工作
4)完成基于AT89C52单片机为核心设计工作
2、进度安排:
第一阶段:
4月20日-4月30日学习Protues软件阶段
第二阶段:
5月4日-5月10日资料查找,系统设计框架设计
第三阶段:
5月11日-5月20日系统设计,并完成仿真调试
第四阶段:
5月20日-5月30日在单片机学习板上进行系统运行,书写课程设计报告。
3、参考文献:
[1]朱蓉,郑建华.基于MCS-51单片机定时精确控制的研究[J].现代电子技术,2005,(17):
32—48.
[2]张同怀,张庆玲.输出幅度可控制的信号发生器[J].科技技术与工程,2010,(13):
92—98.
[3]许文斌.单片机实现智能信号发生器[J].中国新技术新产品,2008,(17):
45—51.
[4]VankkaJ.Spurreductiontechniquesinsineout-putdirectdigitalsynthesis[J].IEEEProc.2001,(15):
74—90.
[5]张福贵,姚振东.基于DDS的高性能信号发生器的实现[J].成都信息工程学院学报,2006,(01):
12—18.
指导教师签字:
教研室主任签字:
年月日年月日
二|、成绩评定
1、指导教师成绩评定:
题目
指标
文献
综述
10分
工作
态度
20分
实践
能力
20分
分析问题能力
20分
质量
20分
创新
10分
得分
2、指导教师评语:
指导教师签字:
年月日
3、答辩意见及成绩:
答辩小组成员签字:
年月日
总评成绩:
(教师评分×75%+答辩成绩×25%)
三、摘要
本文在介绍函数发生器的基本原理基础上,设计了基于AT89C52单片机为核心的DDS函数信号发生器,可产生三角波、方波、正弦波等多种特殊波形和任意波形,波形的频率可用程序控制改变。
在单片机上加外围器件矩阵式键盘,通过键盘控制波形频率的增减以及波形的选择。
在单片机的输出端口DAC0832进行D/A转换,再通过运放进行波形调整,最后输出波形接在示波器上显示。
该系统硬件部分包含单片机、DAC转换模块、按键和LED显示模块。
系统的软件设计是在keiluVision4的集成开发环境下,采用C语言完成了应用系统软件编程,该系统产生四种常用信号,具有可读性和易于维护的特点。
关键词:
信号发生器;AT89C52;DDS
四、课程设计报告正文
1课题的研究现状以及选题目的和意义
1.1本课题的研究现状
函数发生器的关键技术是多种高性能仪器的支撑技术,因为它能够提供高质量的精密信号源及扫频源,可使相应系统的检测过程大大简化,降低检测费用并极大地提高检测精度。
美国安捷伦生产的33250A型函数信号发生器可以产生低失真的方波、稳定的三角波、精确的正弦波等等,其输出频率范围为1μHz~80MHz,而输出幅度为10mVpp~10Vpp;该公司生产的8648D射频信号发生器的频率覆盖范围能在9kHz到4GHz之间。
国产SG1060数字合成信号发生器能双通道同时输出高分辨率、高精度、高可靠性的各种波形,频率覆盖范围为1μHz~60MHz;国产S1000型数字合成扫频信号发生器通过采用新技术、新器件实现了一系列的功能,同时应用DDS和锁相技术,使频率范围从1MHz~1024MHz能精确地分辨到100Hz,它既是一台高精度的扫频源,同时也是一台高精度的函数信号发生器。
还有很多其它类型的信号发生器,他们各有各的优点,纵观函数发生器的发展史可以总结出函数信号发生器将会在军事、经济、人文等各方面将会扮演越来越重要的角色[3]。
1.2选题目的及意义
本设计利用熟悉的单片机AT89C52和常用的8位D/A转换芯片DAC0832来共同实现正弦波,锯齿波,三角波,方波这四种常见波形的发生,并且可以接收外接键盘输入而在一定范围内改变频率。
通过该课题的设计掌握以AT89C52为核心的单片机系统的软硬件开发过程和基本信号的产生原理、测量及误差分析方法,综合运用所学的专业知识、课本的理论知识和专业的实践的能力,学习解决一般工程技术和有关专业问题的能力,通过本次论文设计来连串大学所学的课本知识和专业技能。
2系统分析与设计
2.1设计方案的比较
实现函数信号发生器的方案可以有如下几种。
在动手实践之前对各种方案进行了分析:
方案一:
用差分放大电路实现所要研究的波形以及集成运放组成的电路实现函数发生器。
波形变换的原理是利用了差分放大器的传输特性曲线的非线性,传输特性曲线越对称,线性区域越窄越好;三角波应正好使晶体接近饱和区域或者截至区域。
方案二:
用集成运放组成的电路和二极管折线近似电路实现函数发生器。
根据二极管折线近似电路实现三角波—正弦波的变换频率调节部分设计时,可先按三个频率段给定三个电容值:
1000pF、0.01Μf、0.1μF然后再计算R的大小。
手控与压控部分线路要求更换方便。
为满足对方波前后沿时间的要求,以及正弦波最高工作频率(10kHz)的要求,在积分器、比较器、正弦波转换器和输出级中应选用Sr值较大的运放(如LF353)。
为保证正弦波有较小的失真度,应正确计算二极管网络的电阻参数,并注意调节输出三角波的幅度和对称度。
方案三:
利用熟悉的单片机AT89C51和常用的8位D/A转换芯片DAC0832共同实现锯齿波,方波,三角波,正弦波这四种常见波形的发生,并且可以接收外接键盘输入而在一定范围内改变频率。
上面三种方案中,方案一与方案二中三角波—正弦波部分原理虽然不一样,但是他们有共通的地方就是都要认为地搭建波形变换的电路图。
而方案三利用单片机组成的研究系统有较大的准确性。
系统扩展、系统配置灵活。
容易构成各种规模的应用系统,且应用系统有较高的软、硬件利用系数。
单片机具有可编程性,硬件的功能描述可完全在软件上实现,而且设计时间短,成本低,可靠性高。
综上所述我选择了第三种设计方案。
2.2系统模块设计
该函数发生器的组成部分如下:
(1)控制模块
(2)按键及其显示模块(3)D/A转换模块三部分组成。
系统框图如图2-1所示。
图2-1系统框图
2.2.1控制模块
用单片机AT89S52作为系统的最重要部分。
单片机具有体积小,使用灵活,方便于人机对话和较好的数据处理,有较强的指令寻址和运算功能等优点。
且单片机低消耗,价格便宜的优点。
2.2.2按键及其显示模块
为了提高单片机的资源利用率和运行的效率,按键显示部分我们直接使用zlg7289扩展键盘,键盘与单片机连接。
zlg7289芯片与单片机之间通信方便,而且由zlg7289对键盘进行自动扫描,可以去抖动,充分的提高了单片机的工作效率。
2.2.3波形的发生
使用单片机的定时器设置定时时间,每半个周期对I/O口取反一次,从而实现频率输出。
这种方案虽然在高频频段误差比较大,但是编程简单控制容易。
2.2.4D/A转换
通过D/A转换后单片机输出的数字信号转变为便于研究的模拟信号。
采用2片DAC0832。
由其中一芯片的输出电压作为另一芯片的参考电压,这样就可以方便的控制最大输出电压。
单片机通过DI、CLK、CS、DO这4条数据线与DAC0832相连接。
当DAC0832没运行时其端口为高电平的应是CS,这个时候芯片被禁用,其他三个端口的电平为任意。
将CS输入端调节成低电平,此时DAC0832芯片进行A/D转换工作,这里要注意的是CS输入端要一直是低电平状态直到转换结束。
此时CLK输入端接收由处理器发送的时钟脉冲,DO/DI端口接收数据信号。
当产生启始信号此时DI端限定为高电平而且发生在第一个时钟脉冲下沉之前。
在第2、3个脉冲下沉之前向DI端输入2位数据后其端口具有了选择通道的功能。
当第4个脉冲开始下沉后此时从DO端口输出DATA7的转换数据,然后DO端相继输出下一位数据伴随着每一个脉冲的下沉发生。
当第11个脉冲下沉时产生DATA0这个最低位数据,此时芯片才算完成了一个字节的数据输出。
与此同输出了DATA0这个相反字节的数据。
此后再继续输出8位数据即到达了第19个脉冲,从而结束了这一次的A/D转换。
3单片机与DAC0832
3.1传统的单片机最小系统
单片机最小系统如图3-1所示。
图3-1单片机最小系统
对图3-1说明如下:
(1)单片机的晶振电路
单片机外围的晶振电路是通过单片机的第18(XTAL1),19(XTAL2)引脚接入,XTAL1:
内部时钟发生电路和振荡器反相放大器的输入端。
XTAL2:
振荡器反相放大器的输出端。
(2)
/VPP:
访问外部程序存储器控制信号。
要使
接GND才能从0000H到FFFFH之间的外部程序存储器中读取指令。
使
接VCC才能执行内部程序指令。
接收十二伏VPP电压发生在flash编程期间。
(3)ALE/
:
锁存低8位地址的输出脉冲是访问外部程序存储器时地址锁存控制信号(ALE)。
引脚(
)作为编程输入脉冲发生在flash编程期间。
3.2单片机的接口电路
(1)ZLG7289芯片引脚介绍
VDD正电源
NC悬空
VSS接地
/CS片选输入端,当芯片接收指令和读取键盘数时该引脚为低电平
CLK同步时钟输入端
DATA串行数据的输入/输出端
/KEY按键有效输出端,有效按键时,该引脚为低电平,否则为高电平
SG-SA段g—段a驱动输出
DP小数点驱动输出
DIG0-DIG7数字0数字7驱动输出
OSC2振荡器的输出端
OSC1振荡器的输入端
/RESET
zlg7289A具有三种类型的指令结构:
不带数据纯指令的指令宽度有8个字节,即微处理器要发送8个CLK脉冲。
带有数据的指令的宽度有16个字节,即微处理器要发送16个CLK脉冲。
读取键盘数据指令的宽度有16个字节,前8个字节由微处理器发送到zlg7289A,后8个字节是zlg7289A返回时的键盘代码,当zlg7289A的DATA端等待接收下一个指令必须发生在第9个CLK脉冲的上升沿和第16个脉冲的下降沿同时为输入状态才能进行。
串行接口的时序如下图3-2不带数据纯指令时序图,图3-3带数据指令时序图,图3-4读键盘指令时序图所示。
图3-2不带数据纯指令时序图
图3-3带数据指令时序图
图3-4读键盘指令时序图
(2)ZLG7289的使用。
当zlg7289A连接到共阴式数码时,此过程中没有发挥作用的数码管可以不连接键盘,除去一部分数码管以及设置数码管的消隐属性都不会使键盘发生作用。
在不使用键盘的情况下连接到键盘的八只10千欧电阻和八只100千欧下拉电阻都可以不需要;在使用键盘的情况下连接的八只10千欧电阻和八只100千欧下拉电阻均必须保留,除非电路中没有连接数码管,否则对DP和SA-SG有连接作用的八只电阻都必须保留。
在实际操作中八只下拉电阻要和八只用于键盘连接位选线DIG0-DIG7的电阻必须要保持一定的比例关系,当下拉电阻在位选电阻的5倍到50倍之间时,典型值为10倍,位选电阻的取值范围在1千欧到10千欧之间,下拉电阻的取值范围在10千欧到100千欧之间。
3.3幅度控制模块
3.3.1单片机与DAC0832的接口
当D/A转换器和单片机相互连接时,由于单片机发生数模转换的条件必须要一定的指令输出数字量,但是数据总线上接收来自指令送出的数据的时间很短暂,因此在单片机和DAC两者之间,需要有数据寄存器来保持单片机计算机输出的数据,供DAC转换使用。
当前所出产的DAC芯片有两种类型:
(1)芯片内部设置有数据寄存器,在没有外加电路的情况下直接和微型计算机接口相连接;
(2)芯片内部没有数据寄存器,所输出的信号随着数据输入线的状态变化而变化,所以和微型计算机接口不能直接相连,只能由并行接口和微型计算机接口相连接。
DAC0832是具有20条引线的双列直插式CMOS器件,它内部具有两级数据寄存器,完成8位电流D/A转换,故不需要外加电路。
因此单片机与DAC0832连接方式示意图如图3-5所示。
图3-5单片机与DAC0832连接方式
3.3.2DAC0832与运放的连接
(1)在本设计中的运放的连接方式第一部分如图3-6所示。
图3-6运放的连接方式
上图3-6的三个运放实现的功能分为:
U6作为一个反向比例器,U5也是一个反向比例器,U4作为一个加法器。
Uout3的输出结果为Uout1与Uout2的和。
(2)本设计中的运放的连接的第二部分如图3-7所示。
图3-7运放的连接
该电路由电位器串接2个1千欧电阻实现调节直流偏移,电位器触头在最右端和最左端时,电位器输出的电压分别为-5v和+5v,电位器的电压与
通过一个加法器后,实现直流偏移的调节。
(3)电路性能指标分析
用于调压的DAC0832的参考电压是12V,所以,峰峰值可以调节到的最大值为12V,由于运放的电源均为±12V,故均未达到饱和。
通过1千欧电位器与两个1千欧的电阻进行直流偏移的调节。
当电位器的滑动触头分别位于最右端与最左端时,输出电压分别为-5v和+5v,电位器的电压与输出的电压通过一个加法器实现直流偏移的调节。
由于DAC0832存在的非线性,输出信号的幅值存在一定的误差。
4系统设计
4.1系统软件设计方案
51单片机系列的编程语言常用的有两种,一种是汇编语言,一种是C语言。
汇编语言直接同计算机的底层软件甚至硬件进行交互,它具有如下一些优点:
(1)能够直接访问与硬件相关的存储器或I/O端口;
(2)能够不受编译器的限制,对生成的二进制代码进行完全的控制;
(3)能够对关键代码进行更准确的控制,避免因线程共同访问或者硬件设备共享引起的死锁;
(4)能够根据特定的应用对代码做最佳的优化,提高运行速度;
(5)能够最大限度地发挥硬件的功能。
同时还应该认识到不可避免地存在一些缺点:
(1)编写的代码非常难懂,不好维护;
(2)很容易产生bug,难于调试;
(3)只能针对特定的体系结构和处理器进行优化;
(4)开发效率很低,时间长且单调。
C语言,是一种计算机程序设计语言且存在如下优点:
(1)简洁紧凑、灵活方便;
(2)运算符丰富;
(3)数据结构丰富;
(4)C是结构式语言;
(5)对C语法没有硬性规定,程序设计变化空间大;
(6)C语言可以直接访问物理地址,允许对硬件进行直接操作;
(7)生成质量高的目标代码,更易于程序的执行;
(8)C语言应用广泛,可移植性好。
综合以上C语言的优点,函数发生器系统的软件部分由C语言设计编程实现。
4.2系统软件流程图
系统软件是由若干子程序构成,包括主程序、显示子程序、各模式子程序等等。
主程序的流程图如图4-1所示。
图4-1主程序流程图
键盘输入的流程图如图4-2所示。
图4-2键盘输入流程图
4.3信号产生程序
本设计将各种波形的数据固定在单片机的程序存储器里,通过改变这些数据的输出速度来改变信号的频率,然后通过改变D/A转换器的参考点要来改变信号的峰峰值,电路较为简单,成本较低。
4.3.1正弦波产生
方法一:
首先在单片机的存储器中存入正弦波的点数,通过输出的两点间的延时来实现调频的功能。
我们通过两个机器周期的语句作为调频的最小时间单位,通过循环次数来控制时间,假设波形点数为n,输入频率为f,每个频段的最小分辨率为x。
方法二:
直接输入计算式方法。
用泰勒级数展开(取其前5项进行近似得):
4.3.2三角波产生
(1)产生三角波的原理
设个自变量i让它不断地自加1,直到加到255时,即i≥255时令t=i,对t进行不断地自减到t=0,然后再不断地重复上述过程而产生三角波。
(2)程序流程图如图4-3所示。
图4-3产生三角波的原理图
4.3.3方波产生
(1)产生方波的原理
设个自变量i=0使之延时一段时间,再使i=255时延时与i=0相同的时间,然后在重复上述过程。
假设延时为T。
(2)方波流程图如图4-4所示。
图4-4产生方波的原理图
4.3.4锯齿波产生
(1)产生锯齿波的原理
锯齿波中的斜线用一个个小台阶来逼近,在一个周期内从最小值开始逐步递增,当达到最大值后又回到最小值,如此循环,当台阶间隔很小时,波形基本上近似于直线。
设个自变量i让它不断地自加1,直到加到255,DAC0832可以又自动归0,然后再不断地重复上述过程进而产生锯齿波。
(2)程序流程图如图4-5所示。
图4-5产生锯齿波的原理图
5系统仿真与分析
5.1系统仿真电路图
用Proteus软件对系统进行仿真,效果很理想,如图5-1为系统产生锯齿波的仿真电路图。
图5-2为系统产生的锯齿波波形,图5-3为三角波波形,图5-4为正弦波波形,图5-5为方波波形。
图5-1系统仿真电路图
图5-2系统产生的锯齿波波形
图5-3系统产生的三角波波形
图5-4系统产生的正弦波波形
图5-5系统产生的方波波形
5.2结果分析
Proteus电路仿真实验数据如表5-1所示:
表5-1电路仿真波形参数表
周期T
频率f
三角波
峰值Vp
正弦波
峰值Vp
方波峰
值Vp
三角波
峰峰值Vp-p
正弦波
峰峰值Vp-p
方波峰
峰值
Vp-p
1.272
ms
786HZ
136.51
7mv
3.190
mv
2.566v
247mv
6.75m
v
5.012v
仿真完成时通过示波器查看波形,发现正弦波存在失真,记录一定时间内波形的数据如表5-2所示,记录在一定时间内频率变化如表5-3所示。
表5-2示波器测量数据记录表
电位器
R
周期T
频率f
三角波峰值Vp
正弦波峰值Vp
方波峰值Vp
三角波峰峰值Vp-p
正弦波峰峰值Vp-p
方波峰峰值
Vp-p
0%
1.006ms
977.2HZ
118mv
7.2mv
2.04v
228mv
12.6mv
3.76v
100%
1.153ms
863.3HZ
122mv
6.8mv
2.04v
234mv
13mv
3.76v
表5-3频率变化数据(5分钟内)
Rp
fmax
fmin
0%
1009HZ
993.7HZ
100%
863.3HZ
786HZ
通过表3中频率变化数据可计算出频率稳定度δ:
当Rp取0%时δ=(fmax-fmin)/f0*100%=(1009-993.7)/1144=1.34%
当Rp取100%时δ=(fmax-fmin)/f0*100%=(863.3-786)/866=8.89%
通过示波器观察波形输出端发现确实存在失真,经分析原因可能是电路中电
阻和电容的数值没有调到最佳。
五、参考资料
[1]朱蓉,郑建华.基于MCS-51单片机定时精确控制的研究[J].现代电子技术,2005,(17):
32-48.
[1]张同怀,张庆玲.输出幅度可控制的信号发生器[J].科技技术与工程,2010,(13):
92-98.
[2]许文斌.单片机实现智能信号发生器[J].中国新技术新产品,2008,(17):
45-51.
[3]胡迎军,李兴城,李传军.基于AT89C4051单片机的专用信号发生器的设计与应用[J].微机算机信息,2004,(11):
17-31.
[4]任晓光.集成555定时器及其应用[J].电工理大,2004,(03):
32-40.
[6]颜恒斌,张玉洁.探讨仿真软件在电工实验中的应用[J].科技信息,2008,(26):
12-23.
[7]吴孝谦,赵勇.555集成芯片及应用实例简介[J].中国无线电,2007,(05):
16-22.
[8]张福贵,姚振东.基于DDS的高性能信号发生器的实现[J].成都信息工程学院学报,2006,(01):
12-18.
[9]胡虎斌,胡仁杰.基于MSP430单片机和直接数字合成技术的信号发生器[J].江苏电器,2008,(11):
18-30.
[10]VankkaJ.Spurreductiontechniquesinsineout-putdirectdigitalsynthesis[J].IEEEProc.2001,(15):
74-90.
[11]Bentley,JohnP.PrimipleofMeasurementSystems[P].Longman,LondonandNewYork,2004.
6、课程设计小结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用 课程设计 报告 格式