ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:312.13KB ,
资源ID:16395327      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16395327.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(波形发生器实验报告Word文档格式.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

波形发生器实验报告Word文档格式.docx

1、控制核心集成块DAC0832数模转换晶振12MHz晶振电路uA470放大电路电容30pF2电阻100K电解电容22uF10V复位电路50K10K电源12V0.5A排阻10K*10+5V0.5A提供+5V按键9选择波形、复位键、调节方波空占比、调节频率4.1主控芯片单片机的介绍(1)AT89C51的引脚如图2.2所示。 AT89C51单片机的40个引脚可分为:电源引脚2根、时钟引脚两根、控制引脚4根、输入输出引脚32根。各引脚功能描述如下:(1)主电压引脚 VCC:电源端,正常工作时接+5V电源 VSS:接地端(2)时钟引脚 XTAL1:内部振荡电路的反相放大器的输入端,接外部晶振和微调电容的一

2、端。采用外部时钟电路时,对HMOS型工艺的单片机而言,此引脚应接地;对CHMOS型而言,此引脚应接外部时钟的输入端。 内部振荡电路的反相放大器的输出端,接外部晶振和微调电容的另一端。采用外部时钟电路时,对HMOS型工艺的单片机而言,此引脚应接外部时钟的输入端;对CHMOS型而言,此引脚悬空。(3)控制引脚 RSTVPD:复位信号备用电源输入引脚。当振荡运行时,RST引脚保持2个机器周期的高电平后,就可以使8051完成复位工作。该引脚的第二功能是VPD,即备用电源的输入端,具有掉电保护功能。在主电源VCC掉电期间,该引脚可接+5V备用电源,由VPD向内部RAM提供备用电源,保持内部RAM中的数据

3、不丢失。 ALEPROG:地址锁存允许信号编程脉冲输入端。当CPU访问片外存储器时,ALE输出信号控制锁存P0口的低8位地址,从而实现P0口的数据与低位地址的分时复用。当8051上电正常工作后,ALE端以不变频率(振荡器频率的fosc6)周期性地输出正脉冲信号。该脉冲可用作对外输出的时钟,或用于定时目的。该引脚的第二功能PROG是做编程脉冲的输入端。 PSEN:外部程序存储器读选通信号端,低电平有效。 EAVpp:内部ROM和外部ROM选择端编程电压输入端。当EA接高电平时,CPU访问片内ROM,但当PC值超过0FFFH时,将自动转去执行片外ROM指令;当EA接低电平时,CPU访问片外ROM。

4、该引脚的第二功能是Vpp是作为编程电压的输入端。(4)输入输出引脚 P0.0P0.7:P0口的8位口线。P0口是一个8位漏极开路型双向IO,既可作地址数据总线使用,又可作通用的IO口使用。当CPU访问片外存储器时,P0口分时先作低8位地址总线,后作双向数据总线,P0口能以吸收电流的方式驱动8个LSTTL电路。 P1.0P1.7:P1口的8位口线。P1口是一个带有内部上拉电阻的8位准双向IO口。作为通用的IO口,它能驱动4个LSTTL负载。 P2.0P2.7:P2口的8位口线。P2口是一个带有内部上拉电阻的的8位准双向IO口。当CPU访问片外存储器时,P2口输出高8位地址总线,与P0口配合,组成

5、16位片外存储器单元地址。P2口驱动4个LSTTL负载。(5)DAC0832是8位CMOS数模转换芯片,其特点如下: 分辨率8位的并行DA转换器。 双列直插式(DIP)封装,CMOS低功耗(功耗为20mW)器件。 单电源供电。参考电压为-10V+10V,从+5V+15V均可正常工作。 电流输出型芯片,需外接运算放大器。 电流建立时间为1us。 片内二级数据缓存,数据输入可采用双缓冲、单缓冲和直通方式。数模转换器DAC0832由1个8位数据寄存器、1个8位DAC寄存器、1个8位DA转换器和控制逻辑组成。DAC0832各引脚功能: D7D0:8位数字量输入端,接CPU数据线D7D0。 IOUT1:

6、模拟电流输出端1,输出值随DAC寄存器内容线性变化。 IOUT2模拟电流输出端2,IOUT1 + IOUT2 =常数。一般情况下,在单极性输出时,IOUT2接地,在双极性输出时IOUT2接运算放大器。 Vref:参考电压输出端。Vref可以外接一个正电压,也可以接一个负电压,范围为-10V+10V。参考电压决定数字量0255(00HFFH)转化出来的模拟量电压值的幅度。 Rfb:反馈电阻输出引脚。DAC0832是电流输出,为了取得电压输出,需在电流输出端接运算放大器,构成IV转换电路。DAC0832内部已经有反馈电阻,所以Rfb端可以直接与外部运算放大器相连,相当于将一个反馈电阻接在运算放大器

7、的输出端和输入端之间。 Vcc:电源电压。AGND:模拟量地。DGND:数字量地。 CS:片选信号,低电平有效。当CS=0时,DAC0832工作。 ILE:输入锁存器允许信号,高电平有效。 WR1:写控制信号1,低电平有效。WR2:写控制信号2,低电平有效。 XFER:数据传送信号,低电平有效。4.2复位与振荡电路对于MCS-51一般的晶振可以在1.2MHZ12MHZ之间选择,这是电容C可以对应的选择10pf-30Pf。一条引脚接在XTAL1,另一条接在XTAL2。复位电路如图2,由C3和R1构成。由于51单片机为低电平复位,图示电路利用电容的特性,在刚刚外加5V电源时RST脚的电压为低。选择

8、12MHz晶体,C1、C2、C3选择30pF电容,R1选择10K电阻。图2、复位与振荡电路4.3显示电路 显示元件选择8段LED数码管,共阳极。段选信号经过上拉电阻接到51的P0口,位选信号由按键接至P1.0到P1.3提供,因此得到数码管L1显示分别为1、2、3、4.显示数码管与P0口对应表显示数码管显示1显示2显示3显示4P0口0xF90xA40xB00x99图2、显示电路4.4按键电路由于89C51的P1口内部有上拉电阻,为简化电路,用按键开关直接接对应引脚P1.0、至P1.7到地。其中P1.0接正弦波按键,p1.1接方波按键,p1.2接锯齿波按键,p1.3接三角波按键,p1.4接增加方波

9、占空比按键,p1.5接减小方波占空比按键,p1.6接增加频率按键,p1.7接减小频率按键。当按键按下,P1口为零,进行选择。图4、按键电路4.5DA转换及放大电路 为了将数字信号转换成模拟信号得到我们需要的波形,在P2口接入用于DA转换的DAC0832芯片,并接入uA741运放用于将信号放大。图5、输出驱动电路4.6调幅电路通过滑动变阻器的调节,调节电压,从而使波形的振幅发生变化。5、软件规划5.1软件流程图 5.2软件划分根据设计要求,先定义按键对应的端口,在定义各波形输出点的电压值,编写波形函数及按键控制函数,完成程序的设计。设计的全局变量:(1)定义按键变量:sbit s1=P10; s

10、bit s2=P11; sbit s3=P12; sbit s4=P13; sbit s5=P14; sbit s6=P15; sbit s7=P16; sbit s8=P17;(2)定义全局变量:uint d1,d2;uint s,p; uint n;(3)定义正弦波各个输出点的电压值: uchar code sintab256(4)定义锯齿波各输出点的电压值uchar code jctab128(5)定义三角波各输出点的电压值uchar code sjtab256(6)初始化变量:d1=10; d2=10; n=0; p=4; P0=0xff; P1=0xff;设计函数如下:(1)主函数

11、main() ,调用各函数 显示输出的波形。 程序循环。(2) 延时函数delay (uchar k) 功能:等待显示器反应(3)产生正弦波函数sin()扫描P2口,产生正弦波。(4)产生方波函数fang() 扫描P2口,产生方波。(5)产生锯齿波juchi() 扫描P2口,产生锯齿波。(6)产生三角波 tran() 扫描P2口,产生三角波(7)键盘控制函数 boxingkey()设置按键的控制功能,返回到具体的函数中。6、测试(测试方案设计、测试记录、结果分析)制作完成后,进行如下测试,结果合格。功能要求功能描述测试结果(1)按键是否满足设计的功能S1按下,显示正弦波数码管显示1,示波器显示

12、正弦波S2按下,显示方波数码管显示2,示波器显示方波S3按下,显示锯齿波数码管显示3,示波器显示锯齿波S4按下,显示三角波数码管显示4,示波器显示三角波S5按下,方波占空比增加方波占空比增加S6按下,方波占空比减小方波占空比减小S7按下,频率增加波形频率增加S7按下,频率减小波形频率减小幅度是否能调节调节滑动变阻器,幅度改变波形幅度能够改变测试结果:1、按下按键1,数码管显示1,示波器输出正弦波 2、按下按键2,数码管显示2,示波器输出方波。3、按下按键3,数码管显示3,示波器输出锯齿波4、按下按键4,数码管显示4,示波器输出三角波。5、按下按键5,方波占空比增加。6、按下按键6,方波占空比减

13、小。7、按下按键7,波形频率增加,以正弦波为例。8、按下按键8,波形频率减小,以正弦波为例。9,使用调节幅度变阻器,可使波形幅度发生改变,以正弦波为例。7、体会与感想 一周的课程设计结束了,本次课程设计的题目是波形发生器,虽然时间不是很长,但在这短短的时间里,我学到了很多的东西,首先学会了用keil软件来编程以及用proteus软件来仿真,也知道了一个单片机的工作过程,还复习了单片机的一系列内容,包括:复位电路、时钟电路、数码管与单片机的接口等。对于一些器件的工作原理也有了进一步的了解,如:89C51单片机,数码管等。对于软件程序和硬件电路的结合,更加深刻体会了单片机系统的妙处。与此同时,还在

14、对一些硬件的使用上,电路板的设计上有了很大的进步,对今后的学习有很大的帮助。 在实验过程中,我遇到了一些问题(1)初次使用keil软件及proteus软件,对其熟练地掌握有一些困难,在电路原理图的设计过程中总是出现错误,对元件的名称有许多的不了解。但在同学和老师的帮助下找到了正确的元件。(2)在程序的设计上也遇到了问题,对于C语言掌握的不是特别熟练,导致出现了许多的 语法错误,在一些细节上也出现了错误,丢失了一些符号。(3)在仿真过程中,程序与电路图不对应,需要对照着修改,电路图也可能不能实现自己所需要的功能。(4)在连接电路过程中,总是出现波形失真或不稳定的现象,但在我们的共同努力下,调出了

15、一个较好的方波。 但本次课程设计我学会了很多,明白了更多的道理,总的来说有以下收获:(1)对波形发生器有了深刻的认识,明白了波形器的原理,了解了我们所用的函数发生器的原理,我们生活中的许多事物都可以通过自身实践来明白(2)通过对电路的设计,对51系列单片机的原理和功能有了进一步的了解,学到了更多的电路知识,如复位电路的原理,晶振电路的作用,上拉电阻的功能,熟悉了DAC0832芯片的原理和功能,认识了uA741运放器,并且能对其进行应用。(3)通过原理图的绘制,学会了proteus软件的使用,并且能用它完成一些简单的电路设计,并且对元器件的封装有了一定的了解和认识。(4)通过自己动手设计,增强了

16、自身的实践动手能力,对电路原理的应用有了更深刻的认识。(5)在仿真阶段,尤其是在硬件电路的检查阶段,有很深的体会,有时候一个简单的错误就有可能造成电路无法正常工作,通过找错排错,更加熟悉了电路的原理和51单片机的工作原理。通过本次课程设计,我看到了自身还存在许多不足,在实践动手能力方面比较弱,对一些电路知识掌握得不是很好,对程序设计有很多的缺陷,还好在寻求别的同学和老师的帮助下,完成了课程设计。附1、原理图附2、程序清单#include reg52.;uchar code sintab256= 正弦波各个输出点的电压值0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x9

17、6, 0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae, 0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5, 0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8, 0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9, 0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5, 0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd, 0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,

18、0xff,0xff,0xff,0xff,0xfe,0xfd, 0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6, 0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea, 0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda, 0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7, 0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1, 0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99, 0x96,0x93,0x90,0x8d,0x8

19、9,0x86,0x83,0x80, 0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69, 0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51, 0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a, 0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27, 0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16, 0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a, 0x09,0x08,0x07,0x06,0x05,0x04,0x03,0

20、x02, 0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02, 0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09, 0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15, 0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25, 0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38, 0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e, 0x51,0x5

21、5,0x57,0x5a,0x5d,0x60,0x63,0x66, 0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80 ;uchar code jctab128= 设定锯齿波各输出点的电压值 0x00,0x02,0x04,0x06,0x08,0x0a,0x0c,0x0e, 0x10,0x12,0x14,0x16,0x18,0x1a,0x1c,0x1e, 0x20,0x22,0x24,0x26,0x28,0x2a,0x2c,0x2e, 0x30,0x32,0x34,0x36,0x38,0x3a,0x3c,0x3e, 0x40,0x42,0x44,0x46,0x48,0x

22、4a,0x4c,0x4e, 0x50,0x52,0x54,0x56,0x58,0x5a,0x5c,0x5e, 0x60,0x62,0x64,0x66,0x68,0x6a,0x6c,0x6e, 0x70,0x72,0x74,0x76,0x78,0x7a,0x7c,0x7e, 0x80,0x82,0x84,0x86,0x88,0x8a,0x8c,0x8e, 0x90,0x92,0x94,0x96,0x98,0x9a,0x9c,0x9e, 0xa0,0xa2,0xa4,0xa6,0xa8,0xaa,0xac,0xae, 0xb0,0xb2,0xb4,0xb6,0xb8,0xba,0xbc,0xbe,

23、 0xc0,0xc2,0xc4,0xc6,0xc8,0xca,0xcc,0xce, 0xd0,0xd2,0xd4,0xd6,0xd8,0xda,0xdc,0xde, 0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xee, 0xf0,0xf2,0xf4,0xf6,0xf8,0xfa,0xfc,0xfe uchar code sjtab256= 设定三角波各输出点的电压值0x60,0x62,0x64,0x66,0x68,0x6a,0x6c,0x6e,0xf0,0xf2,0xf4,0xf6,0xf8,0xfa,0xfc,0xfe, 0xfe,0xfc,0xfa,0xf8,0

24、xf6,0xf4,0xf2,0xf0, 0xee,0xec,0xea,0xe8,0xe6,0xe4,0xe2,0xe0, 0xde,0xdc,0xda,0xd8,0xd6,0xd4,0xd2,0xd0, 0xce,0xcc,0xca,0xc8,0xc6,0xc4,0xc2,0xc0, 0xbe,0xbc,0xba,0xb8,0xb6,0xb4,0xb2,0xb0, 0xae,0xac,0xaa,0xa8,0xa6,0xa4,0xa2,0xa0, 0x9e,0x9c,0x9a,0x98,0x96,0x94,0x92,0x90, 0x8e,0x8c,0x8a,0x88,0x86,0x84,0x82

25、,0x80, 0x7e,0x7c,0x7a,0x78,0x76,0x74,0x72,0x70, 0x6e,0x6c,0x6a,0x68,0x66,0x64,0x62,0x60, 0x5e,0x5c,0x5a,0x58,0x56,0x54,0x52,0x50, 0x4e,0x4c,0x4a,0x48,0x46,0x44,0x42,0x40, 0x3e,0x3c,0x3a,0x38,0x36,0x34,0x32,0x30, 0x2e,0x2c,0x2a,0x28,0x26,0x24,0x22,0x20, 0x1e,0x1c,0x1a,0x18,0x16,0x14,0x12,0x10, 0x0e,0x0c,0x0a,0x08,0x06,0x04,0x02,0x00 void delay (uchar k) 延时函数 uchar j; while(k-)!=0) for(j=0;j=256) void fang() 产生方波 P2=0xff;方波 delay(d1-p); P2=0; delay(d2-p);void juchi() 产生锯齿波 P2=jctabn;=127)n=0;void tran() 产生三角波 P2=s

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1