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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于STC89C52的简易波形发生器文档格式.docx

1、总体系统框架是由按键、最小系统模块、DAC0832、转串口模块组成,这样就可以实现多函数输出和PC机通信。按键是为了实现波形的切换和频率的大小调节,最小系统是系统的主控制模块,是沟通按键、DAC0832模块、PC机的主控模块,是系统必不可少的模块。转串口模块式为了实现单片机与PC的通信,PC可以通过上位机控制波形的选择和频率大小设置。3.2最小系统模块电路图3.2 图3.2是STC89C52的最小系统图,组成局部有时钟电路和复位电路。实现的功能是控制DAC0832的模拟输出量的大小和输出的频率,以产生方波、三角波、正弦波、锯齿波,并通过与转串口电路的结合以实现与PC机之间的通信。3.3DAC0

2、832模块电路图3.3上图中DAC0832电路的接法是直通型接法,这种接法的最大特点就是只需要对DAC0832的数据口赋值就可以实现电压的输出,所以操作起来非常方便,而DAC0832输出的并不是电压,而是电流所以要在输出端加上一个运放实现电流到电压的转换。选用LM358的原因是它输出端的电压可以到达负电压,这样就可以实现单电源供电了。3.4按键电路图3.4 按键是通过单片机的P0口进展监控,当单片机检查到有按键按下时,单片机就会根据按键对DA输出进展相应的改变,这样就可以实现按键对输出波形的切换和频率的调节。3.5转串口电路图3.5 转串口用的芯片是CH340,CH340产家提供有两种接法,一

3、种是可以把PC机串口的电平转变为USB电平,另外一种可以直接把单片机的电平转换为USB电平,本设计选用的是第二种接法,因为这样接就可以省去了MAX232把单片机电平转换外PC机电平,这样设计电路变得更加可靠稳定了,同时也可以节省本钱,同样本电路也是需要时钟电路让CH340能正常工作。4系统软件设计系统软件由主程序和产生波形的子程序组成,软件设计主要是产生各种波形的子程序的编程,通过编程可得到各种波形。周期的改变可采用插入延时子程序的方法来实现。主程序和几种常用波形子程序的流程图如下图。4.1 主流程图图4.1由图4.1可以简单的知道,程序的大概思路是,判断按键与上位机是否发送数据来觉得DA的输

4、出量,初始化的时候程序是写输出频率为200HZ的方波信号。4.2软件模拟仿真图4.2 锯齿波仿真锯齿波产生是通过P2口将00H送入存放器A中,DAC0832输出A中的内容,读取P2口的状态,取反后作为延时常数,当A中的内容不为0FFH时,A中的内容加1,当A中的内容等于FFH返回开场,从而输出波形。锯齿波程序void juchibo(void) for(num=0;num0;num-)DAC0832=0X00;4.4按键检测原理void changbo(void) if(P32=0); delay(20); if(P32=0) flag+; if(flag=4) flag=0;总结通过设计简易

5、的函数发生器,我学会了自己查资料,通过大量的资料结合,最终决定了现在所选用的方案,接下来就是运用之前学习过的Protel99se画板技术,成功的画出了电路图。接着是电路的调试,这一个步骤是最难的,当然遇到的挫折也是最多的,例如开场的时候没有对DAC0832深入了解造成了,电路设计没错就是不能正常工作,最后慢慢的调节,发现原来是自己所选用的参考电压出问题,本来应该选用负电压作为参考电压,按照手册提供的经典电路才能得到一个正电压,但是由于没注意到这点所以画了很多的时间。能够把电路正常的调处来还要感谢同学对我的帮助,因为他们做过这样给我更加大的信心。调完了电路后接下来的是进展写程序,开场调式程序的时

6、候有点乱,因为没有画完流程图在调,所以思路会比拟混乱。不过后来通过参照网上的程序,终于实现了题目所要的功能。参考文献1 周明德.微型计算机系统原理及应用M.:清华大学,2002.341364.2 X乐善.微型计算机接口技术及应用M.:航空航天大学,2001.258264.3 童诗白.模拟电路技术根底M.:高等教育,2000.171202.4 杜华.任意波形发生器及应用J.国外电子测量技术,2005.1:3840.5 X友德.单片微型机原理、应用与实践M.XX:复旦大学,2004.4044. 6 程朗.基于8051单片机的双通道波形发生器的设计与实现J.计算机工程与应用,2004.8:10010

7、3.7 X永瑞.电子测量技术根底M.XX:XX电子科技大学,2006.61101.8 李叶紫. MCS-51单片机应用教程M.:清华大学,2004.232238.附件I 源程序/*时间:2021年6月23日15:33:43硬件条件:stc89c52rc单片机上工程:函数发生器 龙腾跃准备知识:通过DAC0832实现信号的发生,DAC0832选用的是直通型输出方式修改:*/#include #includeDelay_time.hUart.h#include/#includeboxing.hsbit CS = P37;sbit up = P00;sbit down = P01;bit flag=

8、0,flag1=0,flag2=1,flag3=0,flag5=0,flag6=1,cont=1;unsigned int num4=170,num3=188,num2=0,num1=0;unsigned char mark=0;unsigned char k=1;unsigned char N=0x00;unsigned int tmp;unsigned char i=0;unsigned int t=2;unsigned char table4;void Triangle(); /输出三角波void Square(); /方波void sin(); /正弦波void Sawtooth();

9、 /锯齿波 void change();unsigned char code sin_tab = /正弦波输出表 0x80,0x83,0x86,0x89,0x8D,0x90,0x93,0x96,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,

10、0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFD,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,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,0xDF,0xDD,0xDA, 0xD8,0xD6,0xD4,0xD1,0xCF,0xCC,0xCA,0xC7,0xC5,0xC2,0xBF,0x

11、BC,0xBA,0xB7,0xB4,0xB1, 0xAE,0xAB,0xA8,0xA5,0xA2,0x9F,0x9C,0x99,0x96,0x93,0x90,0x8D,0x89,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,0x1

12、8,0x16,0x15,0x13,0x11,0x10,0x0E,0x0D,0x0B,0x0A,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,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,0

13、x2B,0x2E,0x30,0x33,0x35,0x38,0x3A,0x3D,0x40,0x43,0x45,0x48,0x4C,0x4E,0x51,0x55,0x57,0x5A,0x5D,0x60,0x63,0x66,0x69,0x6C,0x6F,0x72,0x76,0x79,0x7C,0x7Evoid main() Uart_init(); Delaynms(1000); send_string(作者:龙腾跃 ); Delaynms(10); Enter();作品:简易信号发生器初始波形为200HZ方波 CS=0; up=1; down=1; while(1) if(flag) Triang

14、le(); if(flag1) Sawtooth(); if(flag2) Square(); if(flag3) sin(); change(); if(flag5&flag6) if(mark=4&cont) num4=170-t; flag=0; flag1=0; flag2=0; flag3=1; send_data(num4); if(mark=3& num3=(200.0/t)*188; flag2=1; flag3=0; send_string(频率: send_data(t); send_string(HZ if(mark=2& num2=t; flag1=1; send_da

15、ta(num2); if(mark=1& num1=5-t/10; flag=1; flag5=0; void Uart(void) interrupt 4 using 1 /串口中断子函数 if(1=RI) /必须进展判断才可以实现中断的对应响应 RI = 0; tablei=SBUF; i+; if(i=4) t=(table2-48)*100+(table3-48)*10+(table0-48); mark=table1-48; flag5=1; TR0=0; i=0; flag6=flag6; cont=1;/* 输出三角波*/void Triangle() unsigned char

16、 l; unsigned int j; for(l=0;l255;l=l+k) P2=l; while(j1;l=l-k) 输出方波函数void Square() unsigned int j=0; N=N; P2=N; while(jnum3) j+; j=0; 输出正弦波函数void sin() unsigned int i,j=0; for(i=0; i i+,j=0)num4) P2=sin_tabi; 输出锯齿波函数void Sawtooth()l+)num2) P2=l; /data byte 调整函数void change() if(!up) Delaynms(15); k+ ;

17、 while(!up); if(k=2) flag=0; flag1=1; flag2=0; flag3=0; if(k=3) flag1=0; flag2=1; if(k=4) flag3=1; if(k=5) flag=1; k=1; if(!down) if(mark=4) num4=num4-10; if(mark=3) num3=num3+10; send_data(num3); if(mark=2) num2=num2+10; if(mark=1) num1=num1+10; cont=0;down);II 总电路图总图PCB元器件清单电解电容 10uf1个瓷片电容 30pf2个电阻 10K晶振12MHz按钮开关LM324集成块1块DAC0832AT89S52DIP-40封装插座DIP-20封装插座导线假设干星轨

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

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