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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

毕业设计论文基于单片机的信号发生器设计Word下载.docx

1、结论 17致谢 17参考文献 18附录A 19附录B 201 引言信号发生器是一种常用信号源。通常能够产生正弦波、方波、三角波、锯齿波等多种波形,因其时间波形可用某种时间函数来描述而得名。函数信号发生器在电路实验和设备检测中具有十分广泛的应用,密切地联系着工业、农业、生物医学等产业,并对它们的发展起到极大的促进作用。单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的

2、微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。随着单片机技术的快速发展与普遍应用,函数信号发生器的性能和性价比将会有更大的提升空间。基于单片机的函数信号发生器将为智能化生活提供实质的帮助。设计旨在通过查找文献资料提高自己独立学习、思考能力。提高把理论运用到实践当中的能力,提升认识水平。1.1研究背景随着经济与科技不断发展,相应的测试仪器与手段也有了许多改善与提高,但是对之要求也不断提高。波形发生器的信号已知,使用者根据具体的要求,将其作为激励源,测得感兴趣的参数。信号源仿真各种测试信号,给待测电路,从而满足实现需求。信号发

3、生器在仿真实验占有重要地位,对于测试仪器来说也同样不可缺少,因此对相关信号发生器的研究开发有着一定的意义。传统的信号发生器电路复杂,控制灵活度不够,成本也相对较高。虽然我国所研制的波形发生器在一定程度上已有了一些成果,但与国外技术确实还存在一定差距,因此很有必要提高相关方面的研究。 利用单片机的控制灵活性,外设处理能力强等特点,实现频率与幅度可调的多种波形,这就克服了传统的缺点,具有良好的实用性。同时根据程序的易控制性,可以容易实现各种复杂的调频条幅功能。1.2 国内外的研究现状和发展趋势 我国的单片机应用始于80年代,虽然发展迅速,但相对于世界市场我国的占有率还很低。到目前为止,由于我国的微

4、电子技术和制造工艺都比较落后及国外单片机的竞争等原因,我国还没有设计生产出自己的单片机。国内的单片机目前注重的还只是低中档的应用,普遍采用的是8或16位的单片机,对宏单片机和DSP等高档的应用还处于初始阶段。在1980年以前,信号发生器全部属于模拟方式,借助电阻电容,电感电容、谐振腔、同轴线作为振荡回路产生正弦或其它函数波形。频率的变动由机械驱动可变元件,如电容器或谐振腔来完成,往往调节范围受到限制。1980年以后,数字技术日益成熟,信号发生器绝大部分不再使用机械驱动而采用数字电路。数字合成技术使信号发生器变为非常轻便、覆盖频率范围宽、输出动态范围大、容易编程、适用性强和使用方便。 单片机的发

5、展趋势为:低功耗与高性能、低电压、低噪声与高可靠性、采用CMOS技术、外围电路内装、串行扩展技术等。同时,单片机的快速发展也带动着基于单片机的信号发生器的快速发展,如:任意波形发生器、矢量波形发生器。使得信号发生器的应用更加广泛。 2 设计要求 1、利用AT89C51单片机设计的函数信号发生器产生正弦波、方波、三角波、锯齿波四种波形。 2、四种波形输出类型可通过按键选择。 3、波形频率可调(频率:0535Hz)。 4、需显示波形的频率。3 设计总体方案该函数信号发生器采用单片机AT89C51作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和变换。AT89C5

6、1单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将AT89C51再配置键盘、数模转换及波形输出、放大电路等部分,即可构成所需的函数信号发生器。接着,通过按键来控制四种波形的类型选择、和频率数值选择,并由液晶屏1602显示其频率数值。其信号发生器总体设计如图3.1所示。图3.1 函数信号发生器总体设计4 硬件电路实现 4.1 单片机最小系统的设计本次设计选用的单片机芯片是AT89C51单片机。AT89C51是美国ATMEL公司生产的低电压,高性能CMOS 8位单片

7、机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM)。器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元。用AT80C51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可。如图4.1所示。图4.1 单片机最小系统4.1.1 时钟电路 AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶休或陶瓷谐振器一起构成自激振荡器。外接石英

8、晶体(或陶瓷诺振器)及电容C1, C2接在放大器的反馈回路中构成并联振荡电路。如图4.2所示。图4.2 时钟电路4.1.2 复位电路当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机开始复位。单片机复位电路是指单片机的初始化操作。图4.3 复位电路 单片机启运运行时,都需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并使这个状态开始工作。如图4所示。上电后,由于电容C1的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键sj1后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。

9、4.2 D/A转换电路D/AC0832是双列直插式8位D/A转换器。能完成数字量输入到模拟量(电流)输出的转换。DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。如图4.4所示。图4.4 DAC0832内部结构图 D/ACA0832各引脚的功能如下: D0D7:8位数据输入线,TTL电平,有效时间应大于90ns(否则锁器的数据会出错); ILE:数据锁存允许控制信号输入线,高电平有效; CS:片选信号输入线(选通数据锁存器),低电平有效; WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生LE

10、1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存; XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效; R2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由WR1、WXFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。 IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化; IOUT2:电流输出端2,其值与IOUT1值之和为一常数;图4.5 D/ACA0832引脚图Rfb:反馈信号输入线,改变Rfb

11、端外接电阻值可调整转换满量程精度; Vcc:电源输入端,Vcc的范围为+5V+15V; VREF:基准电压输入线,VREF的范围为-10V+10V; AGND:模拟信号地 DGND:数字信号地 通常DAC0832有三种不同的工作方式,主要依据对数据锁存器和DAC锁存器的控制方式划分:直通方式,单缓冲方式和双缓冲方式。图4.6 单片机与D/AC0832直通连接方式本设计采用直通方式,当ILE接高电平,CS、WR1、WR2和XFER都接数字地时,DAC处于直通方式,8位数字量一旦到达DI7DI0输入端,就立即加到8位D/A转换器,被转换成模拟量。如图7所示。4.3 放大滤波电路如图4.7所示,LM

12、324的5管脚与DAC0832的(IOUT2)12管脚相连,LM324的6管脚与DAC0832的(IOUT1)11管脚相连,LM324的7管脚与DAC0832的REF(9)管脚相连.第一级运算放大器的作用是将DAC0832输出的电流信号转化为电压信号V1,第二级运算放大器的作用是将V1通过反向放大电路-(R2/R1)倍。图4.7 放大滤波电路图 在第二个运算放大器的输出端连了一个低通滤波器。如果不加低通滤波器,也能够生成波形,但是产生的信号中毛刺很多,加一个低通滤波器不仅起到的滤波的作用,还起到了平滑的作用。低通滤波器的截止频率F=1/(2*pi*R3*C6),这里我们选择R3 为100欧姆电

13、阻,C6为104电容,截止频率F=16KHZ。4.4 键盘模块的设计通常单片机外部扩展键盘的方式有独立式键盘,矩阵键盘以及专门的键盘电路。独立式键盘就是一个I/O口扩展一个开关,这种方式程序编写比较容易,只需要检测单片机I/O某一时刻是否为低电平就能检测出其的按键输入情况,而且按键和I/O口一一对应,所以能够轻松识别按键的值,缺点是由于一个I/O口能连接一个按键,当按键数量比较多的时候,势必占用了大量的I/O口,对系统的扩展造成巨大的困难。图4.8 独立键盘输入由于本设计使用的按键数量并不多。所以采用独立键盘能够减少系统电路的复杂程度,也大大简化了对编程的要求。如图9所示。4.5 显示模块的设

14、计LCD1602液晶显示模块,它可以显示两行,每行16个字符,采用单+5V电源供电,外围电路配置简单。LCD1602管脚功能如表4.1所示。表4.1 LCD1602管脚功能引脚号符号状态功能1Vss电源地2Vdd电源+5V3V0对比度控制端4RS输入寄存器选择5R/W读、写操作6E使能信号7DB三态数据总线89101112131415LEDA背光+5V16LEDK背地光 LCD1602主要管脚介绍: V0:液晶显示器对比度调整端,接地电源时对比度最高,对比度过高时会产生鬼影,使用时可以通过一个10K的电位器调整对比度。 RS:寄存器选择,高电平时选择数据寄存器;低电平时选择指令寄存器。 R/W

15、:读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址;当RS为高电平R/W为高电平R/W为低电平时可以写入数据。 E:使能端,当E端由高电平跳变成低电平时,液晶模块执行指令。LCD1602的八位数据端接单片机的P0口,其使能端RS、E分别接单片机的P3.5、P3.0。通过软件控制液晶屏可以显示波形的种类以及波形的频率。如图4.9所示。图4.9 LCD1602与单片机连接电路图5软件程序设计软件设计上,根据功能分了几个模块编程。模块主要有:主程序模块、外部中断0模块,外部中断1模块。 主程序模块:先是进行初始化的工作,然后根据波形标志a,b,

16、c,d的值进入相应的while 循环。在while循环中,单片机根据地址标志位不停低查表,然后把查得的值赋给DAC0832的数据口,然后地址标志位加一,并判断地址标志位是否等于64,如果是就置0再往下执行,如果不是直接往下执行。然后根据频率标志位进行相应的延时。如图5.1所示。图5.1 主程序流程图 外部中断0起到了控制波形,外部中断1一起到控制频率的作用。如图5.2所示。图5.2 中断程序6 测试仪器及测试说明测量仪器:稳压电源、示波器、数字万用表。测试说明:将编译好的程序通过编程器下载到AT89C51芯片中,然后插到系统中即可独立完成所有的控制。当程序初始化后,液晶屏的上只显示“Frequ

17、ency:”和“0050Hz”,默认状态输出波形为正弦波,按键1控制波形类型的选择。按键2、3控制频率变化。四种波形的频率可调范围,分别如下: 正弦波:0535Hz 方 波:三角波:锯齿波:结论基于单片机AT89C51的函数信号发生器能够产生正弦波、方波、锯齿波 、三角波四种波形。四种波形的类型和频率都可以通过按键调节,频率调节的范围是0到535HZ。波形的类型和频率大小能够通过液晶屏1602显示。致谢 本文是在老师的悉心指导下完成的,衷心感谢她在论文的写作期间给与我的热情帮助和指导。李老师渊博的知识,认真负责的工作作风,平易近人的态度让我获益匪浅。在此,向李老师表示最衷心的感谢和最诚挚的敬意

18、。同时,我还要感谢我的同学,在我的毕业设计过程中,我多次请教他们有关硬件、软件方面的问题,他们都耐心地为我讲解;在我的毕业论文写作过程中,他们提出了很多建设性的意见,并给了我很多启发。参考文献1 程全.基于AT89C52实现的多种波形发生器的设计J.周口师范学院学报,2005.22(5):5758.2 周明德.微型计算机系统原理及应用M.北京:清华大学出版社,2002.341364.3 刘乐善.微型计算机接口技术及应用M.北京:航空航天大学出版社,2001.258264.4 童诗白.模拟电路技术基础M.北京:高等教育出版社,2000.171202.5 Intel, Microcontrolle

19、r Handbook, 1988M.附录A附录B源程序#includeunsigned char i,sqar_num=128; /最大值100,默认值50unsigned char cho=0; /0:正弦波。1:方波。2:三角波。3:锯齿波。unsigned char num=0;unsigned char TIME0_H=0xff,TIME0_L=0xd9; /定时器0的初值设置;全局变量.对应正弦波,锯齿波50HZsbit chg= P10; /三角波100Hz.sbit freq_u=P11;sbit freq_d=P12;sbit duty_u=P13;sbit duty_d=P1

20、4;sbit cs =P37;bit flag=0;unsigned int FREQ=50;/初始化频率,50HZsbit rs=P24;sbit lcdcs=P26;unsigned char TempBuffer7;unsigned char value1=Frequency:;void delay(unsigned int ms) unsigned int i,j; for (j=0;jms;j+) for (i=0;i120;i+);unsigned char code sin_num= 0, 0, 0, 0 , 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2,

21、2, 3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,10, 10, 11, 12, 12, 13, 14, 15, 15, 16, 17, 18, 18, 19, 20, 21,22, 23, 24, 25, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37,38, 39, 40, 41, 42, 44, 45, 46, 47, 49, 50, 51, 52, 54, 55, 56,57, 59, 60, 61, 63, 64, 66, 67, 68, 70, 71, 73, 74, 75, 77, 78,8

22、0, 81, 83, 84, 86, 87, 89, 90, 92, 93, 95, 96, 98, 99, 101, 102,104, 106, 107, 109, 110, 112, 113, 115, 116, 118, 120, 121, 123, 124, 126, 128,129, 131, 132, 134, 135, 137, 139, 140, 142, 143, 145, 146, 148, 149, 151, 153,154, 156, 157, 159, 160, 162, 163, 165, 166, 168, 169, 171, 172, 174, 175, 177

23、, 178, 180, 181, 182, 184, 185, 187, 188, 189, 191, 192, 194, 195, 196, 198, 199,200, 201, 203, 204, 205, 206, 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, 221, 223, 224, 225, 226, 227, 228, 229, 230, 230, 231, 232, 233, 234, 235, 236, 237, 237, 238, 239, 240, 240, 241, 242, 243, 243,

24、 244, 245, 245, 246, 246, 247, 247, 248, 248, 249, 249, 250, 250, 251, 251, 251, 252, 252, 253, 253, 253, 253, 254, 254, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255 ;/调节部分频率void freq_ud(void) unsigned int temp; if(freq_d=0) FREQ-; else if(freq_u=0) FREQ+; if(cho=1|cho=3) /锯齿波256次中断一周期,特殊处理下。否则他的频率是100(+-)n*2Hz. temp=0xffff-3906/FREQ; /方波,三角波默认为100hz,切换后频率也为50HZ 65336-106/(256*FREQ) TIME0_H=temp/256; TIME0_L=temp%256;

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

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