正弦波方波三角波的发生电路设计说明

上传人:x**** 文档编号:65634514 上传时间:2022-03-24 格式:DOC 页数:27 大小:361.50KB
返回 下载 相关 举报
正弦波方波三角波的发生电路设计说明_第1页
第1页 / 共27页
正弦波方波三角波的发生电路设计说明_第2页
第2页 / 共27页
正弦波方波三角波的发生电路设计说明_第3页
第3页 / 共27页
点击查看更多>>
资源描述
.正弦波方波三角波的发生电路设计摘要现今世界中电子技术与电子产品的应用越加广泛,人们对电子技术的要求也越来越高。因此如何根据实际要求设计出简便实用的电子技术物品便显得尤为重要。灵活、快速的选用不同特征的信号源成了现代测量技术值得深入研究的课题。能将简单的易获取的信号转换为自己所需的复杂信号是一项必不可少的技术。我们有必要做好这相关方面的研究,为被测电路提供所需要的信号与各种波形,以便完成各种相关试验。信号源在各种试验应用和实验测试处理中,仿真各种测试信号,提供给被测电路,用来满足实验的各种要求。关键词:单片机,信号发生器,波形ABSTRACT:The application of electronic technology and electronic products in todays world increasingly extensive, people also more and more high to the requirement of electronic technology. According to actual requirements so how to design simple and practical electronic technology items, it becomes very important. Flexible, fast, choose different characteristics of the signal source is worth studying deeply the modern measuring technology. Can be simple, easy to obtain signal can be converted into their complex signal is an essential technology. It is necessary for us to do the related research, to provide the required signal circuit under test and various waveform, to complete various related experiment. Signal source in various test application and test processing, simulation of testing signal, provided to the circuit under test, to satisfy the requirements of the experiments.KEY WORDS:Microcontroller, signal generator, waveform目录第一章前言41.1 课题研究背景41.2 波形介绍51.2.1正弦波51.2.2三角波51.2.3方波61.3硬件介绍61.3.1 AT89C51单片机61.3.2 DAC0832转换器7第二章发生电路设计原理92.1功能和基本原理92.2红外电路92.3复位电路102.4LCD显示部分电路102.5电源部分112.6外部时钟电路112.7显示接口电路112.8独立按键部分122.9波形转换电路122.10串口通信模块13第三章软件设计153.2 键盘中断子程序213.3系统初始化子程序21第四章系统仿真224.1仿真电路图224.2输出波形图224.2.1、测量仪器与测试说明224.2.2测试过程224.2.3、测试结果24第五章结束语25参考文献26附录27致28第一章 前言1.1 课题研究背景函数信号发生器是一种常用信号源。通常能够产生正弦波、方波、三角波等多种波形,因其时间波形可用某种时间函数来描述而得名。函数信号发生器在电路实验和设备检测中具有十分广泛的应用,密切地联系着工业、农业、生物医学等产业,并对它们的发展起到极大的促进作用。 伴随着单片机技术的快速发展与普遍应用,函数信号发生器的性能和性价比将会有更大的提升空间。基于单片机的函数信号发生器将为智能化生活提供实质的帮助。1.2 波形介绍1.2.1正弦波正弦信号可用如下形式表示:f (t)=Asin(t+ ),其中,A 为振幅, 是角频率, 为初相位。正弦函数为一周期信号如下图1所示: 图1 正弦波1.2.2三角波三角波波形如下图2所示:图2 三角波1.2.3方波方波函数是我们常用且所熟知的简单波形函数,做脉冲等,其表示形式如下:方波波形如下图3所示:图3 方波当方波下半段幅值为0时,就为矩形波,一个原理,所以不再赘述矩形波。1.3硬件介绍1.3.1 AT89C51单片机1.AT89C51单片机的简介AT89C51单片机是一种带4 k字节的闪存(FPEROM - FLASH编程和可擦只读存储器)的低电压、高性能CMOS 8位微处理器。AT89C2051是一种带2 k字节flash可编程单片机可擦除只读存储器(ROM)。单片机可擦除只读存储器可以抹去反复1000次。该设备采用ATMEL高密度非易失存储器制造技术,和行业标准的MCS - 51指令集和输出管兼容。由于多功能8位CPU和闪存在单一芯片,ATMEL AT89C51单片机的结合是一种有效的微控制器,AT89C2051的精简版本。AT89C51为许多嵌入式控制系统提供了一个解决方案概述高灵活性和低价格的特点。能够提供以下标准特性:4 k字节的Flash闪存,128字节的部RAM,32个I / O端口线,两个16位定时器/计数器,一个两个阶段5向量中断结构、全双工串行通信端口,芯片上的时钟振荡器电路与时。同时,AT89C51单片机静态逻辑运算可以减少到0赫兹,和两个软件支持可选的节能工作模式。免费停止CPU的工作方式,但是允许RAM,定时器/计数器,串行通信端口和中断系统继续工作。电方式节省存的容,但振荡器停止工作和其他工作,直到下一个硬件复位所有部分。2.AT89C2051的功能单片机各功能部件的运行都是以时钟频率为基准的,有条不紊地进行工作。因而时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路方式有两种:一种是部时钟方式,一种是外部时钟方式,这里采用的是部时钟方式,外接晶振。时钟电路由片外晶体、微调电容和单片机的部电路组成。选取频率为11.0592MHz的晶振,微调电容是瓷片电容。89S52单片机的P0.7口作为波形输出口,若接示波器,则可通过示波器来观察波形,是一个矩形波。1.3.2 DAC0832转换器1. DAC0832转换器的简介DAC0832DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路与转换控制电路构成。2. DAC0832的功能(1)分辨率它反映了最小输出模拟电压值的变化。定义为满量程输出电压之比2 n,其中n位DAC。分辨率有一定的与数字量的输入数字的关系。全系列的5 v,使用8位DAC,分辨率为5 v / 256 = 19.5 mV;当使用DAC分辨率为5 v / 1024 = 4.88 mV。显然,位数越高分辨率越高。(2)建立时间建立时间是描述DAC转换速度快慢的参数。定义为从输入数字量变化到输出达到终值误差1/2 LSB(最低有效位)所需的时间。(3)接口形式接口是DAC的输入/输出特性。包括输入数字量的形式:十六进制或BCD,是否输入。DAC0832是使用一个非常常见的8 D / A转换器,因为它和输入数据寄存器,它可以直接与单片机接口。DAC0832输出电流的形式,需要时将可以外部运算放大器的电压输出。属于系列芯片和DAC0830 DAC0831,它们可以相互替换。根据数据输入过程中,有三种单片机和DAC0832连接方式:二级缓冲单级缓冲的连接方法连接模式,直接连接。第二章发生电路设计原理2.1功能和基本原理 AT89C51外接12M晶振作为时钟频率,设计并使用功率降低。使用电复位复位电路,其工作原理是,得电,相当于电容的两端短路,因此TST引脚为高电平,那么电容器充电。RST端电压下降缓慢,在一定程度上,是低水平,单片机就开始工作。产生方波计划:低于100赫兹的频率,根据定时器溢出时间1us,定时器溢出时代的等效频率值,当达到规定的数量,达到的状态的方波的输出接脚; 对于大于100HZ的频率,直接根据频率值设置其定时溢出的时间,当溢出时间达到时,将输出管脚取反达到方波的产生。产生三角波计划的想法:产生峰值电压5 v的三角波,一个周期需要时间510次,可以计算每次溢出的时间,然后每次加权可以实现三角波电压波形;生成正弦波程序理念:设定一个周期的正弦波表,通过20个数据,相当于255倍,每个周期时间,时间可以计算为每个时间的溢出,每个点可以得到电压加权正弦电压,即正弦波的形成。2.2红外电路红外的工作原理:51单片机对遥控的解码和我们前面所讲的串口并口通信不同,他不是单纯的用高电平代表1,低电平代表0。这一点大家要从思想上面转变过来。他是发送一连串的数据帧,这个数据帧就是一连串的二进制代码,单片机通过区分高电平的持续时间来区别红外编码的。我们就以HC6800单片机上的红外接头为例来说明,当高电平的脉冲宽度为1.12ms的时候单片机认为它为0,当高电平的脉冲宽度为2.25的时候单片机认为它为1。单片机是通过判断脉冲的宽度来得到信息位为0还是为1的。根据各部分的功能。可将它们分为5部分,分别为引导码、地址码、地址码、数据码、数据反码。遥控器发射代码时均是低位在前。高位在后。分析可以得到引导码高电平为45ms,低电平为45ms。当接收到此码时表示一帧数据的开始。单片机可以准备接收下面的数据。地址码由8位二进制组成,共256种。地址码重发了一次。主要是加强遥控器的可靠性如果两次地址码不一样则说明本帧数据有错应丢弃。不同的设备可以拥有不同的地址码因此。同种编码的遥控器只要设置地址码不同,也不会相互干扰。在同一个遥控器中所有按键发出的地址码都是一样的。数据码为8位,可编码256种状态,代表实际所按下的键。数据反码是数据码的各位求反,通过比较数据码与数据反码可判断接收到的数据是否正确。如果数据码与数据反码之间的关系不满足相反的关系则本次遥控接收有误数据应丢弃。在同一个遥控器上所有按键的数据码均不一样。数据码为十六进制的0CH,数据反码为十六进制的0F3H(注意低位在前)两者之和应为0FFH。2.3复位电路这种复位电路的工作原理是:单片机的复位电路在刚接通电时,刚开始电容是没有电的,电容的电阻很低,通电后,5V的电通过电阻给电容进行充电,电容两端的电会由0V慢慢的升到4V左右(此时间很短一般小于0.3秒),RC构成的微分电路在上电瞬间产生一个微分脉冲,其宽度大于两个机器周期,89C51将复位。正因为这样,复位脚的电由低电位升到高电位,引起了部电路的复位工作,RST端电压慢慢下降,降到一定电压值以后,即为低电平,单片机开始正常工作(这是单片机的上电复位,也叫初始化复位);当按下复位键时,电容两端放电,电容又回到0V了,于是又进行了一次复位工作(这是手动复位原理)。 下图4为复位电路图4复位电路2.4LCD显示部分电路为了节约成本,采用1602来作为显示器,用独立按键来控制不同的显示,能完成基本的显示功能。图5 LCD液晶显示电路2.5电源部分本电源设计了两个接口,方便不同接口的电源接入,并且在电源部分加上滤波电容,起过滤接入电源的杂波的作用,为了电路中得到+12V、-12V和+5V的直流工作电压,用变压器变压后再通过芯片和电容设计出所需要的电路。图6电源电路2.6外部时钟电路图7采用11.0592MHz的晶振和两个22pf的电容组成时钟电路部分图7外部时钟电路2.7显示接口电路功能:驱动Led液晶显示器,扫描按钮。LCD1602液晶显示和一个矩阵的按钮。按键时, 通过P2口将数字信号发送到LCD1602,LCD1602显示液晶点阵设计,如字母、数字、符号,其外部电压5 v。扫描通过使用软件程序实现,当按键时,立即扫描发现,立即调用子程序,执行相应的功能。与单片机连接如图所示:图8 部分电路图2.8独立按键部分图9为用独立按键来控制不同的输出波形图9独立按键2.9波形转换电路功能:转换波形样本值编码模拟值,完成波形的输出。由一块DAC0832和LF356运放。DAC0832是两个输入数据寄存器的8位DAC。当前生产的DAC芯片分为两种,一种是芯片部数据寄存器设置,不需要外加电路,就可以直接与微机接口连接。另一种类型的芯片没有数据寄存器、输出信号变化状态的数据输入行,所以你不能直接与微机接口连接,必须通过并口与微机接口相连。DAC0832 有20条引线的双列直插式CMOS设备,里面有两个级别的数据寄存器,完成8位 D / A转换,且不需要额外的电路。DAC0832是电流输出类型,在示波器上显示波形,通常需要电压信号和电流信号,电压信号的转换可以使用运算放大器LF356实现。单片机发送DAC0832数字编码,生成不同的输出。先利用采样定理对各种波形进行抽样,然后把各种采样值进行编码,收到的数字量存入各个波形表,执行程序时通过查表的方法依次取出,D / A转换后输出波形可以计算出来。假如N个点构成波形的一个周期,DAC0832输出N个样本值,样本点能形成一个轨迹,即,一个周期。重复输出N点之后,成为第二个周期。利用单片机的晶振控制输出周期的速度,也就是控制输出的波形的频率。从而控制输出波形和振幅和频率,如正弦波,取20个样值点。具体连接的电路图如图10所示:示:图10 D/A转换的电路连接图2.10串口通信模块图11过MAX232进行TTL电平和232电平转换,从而单片机和上位机之间通信提供通道。图11串口通信电路通信电路的目的就是让通信双发的电平匹配,单片机用的是TTL电平,上位机的串口用的是232电平。TTL电平的逻辑1的电压围是+3.3V到+5V,逻辑0的电压围是0到+3.3V;232电平的逻辑1的电压围是-15V到-5V,逻辑0的电压围是+5V到+15V。因此设计串口通信电路就是让这两种电平统一。第三章 软件设计信号发生器的软件设计包括主程序、延时子程序、系统初始化程序、键盘中断子程序、定时器中断子程序。3.1 主程序#includeunsigned char i,sqar_num=128; /最大值100,默认值50unsigned char cho=0; /0:正弦波。1:方波。2:三角波。unsigned char num=0;unsigned char TIME0_H=0xff,TIME0_L=0xd9; /定时器0的初值设置;全局变量.对应正弦波sbit chg= P10; /三角波100Hz.sbit freq_u=P11;sbit freq_d=P12;sbit duty_u=P13;sbit duty_d=P14;sbit cs =P37;bit flag=0;unsigned int FREQ=50;/初始化频率,50HZsbit rs=P35;sbit lcdcs=P30;unsigned char TempBuffer7;unsigned char value1=Frequency:;void delay(unsigned int ms)unsigned int i,j;for (j=0;jms;j+)for (i=0;i0) sqar_num-; else if(duty_u=0&sqar_num255) sqar_num+;/波形发生函数void sint(void) if(!flag) cs=0;P2=sin_numnum+;cs=1;if(num=0)num=255;flag=1; else if(flag) cs=0;P2=sin_numnum-;cs=1; if(num=255)num=0;flag=0; void square(void) if(i+sqar_num) cs=0;P2=0XFF;cs=1;elsecs=0;P2=0X00;cs=1;/*void triangle(void) cs=0;P2=num+;cs=1; */void triangle(void) if(flag) cs=0;P2=num+;cs=1;if(num=0)num=255;flag=1; else if(flag) cs=0;P2=num-;cs=1; if(num=255)num=1;flag=0; /1602显示开始void write_command(unsigned char command)rs=0;P0=command;lcdcs=1;lcdcs=0;void write_data(unsigned char data0)rs=1;P0=data0;lcdcs=1;lcdcs=0;void init_1602()delay(15);write_command(0x38);delay(5);write_command(0x0c);delay(5);write_command(0x06);delay(5); /1602显示结束/*频率值转换为字符串*/void temp_to_str() TempBuffer0=FREQ/1000+0; /千位 TempBuffer1=FREQ%1000/100+0; /百位 TempBuffer2=FREQ%1000%100/10+0;/十位 TempBuffer3=FREQ%1000%100%10+0;/个位 TempBuffer4=H; TempBuffer5=Z; TempBuffer6=0;/*频率显示*/void show_frequency()unsigned char i; /init_1602();/初始化lcd write_command(0x8a);/液晶显示位置 temp_to_str(); /*for (i=0;isizeof(value1)-1;i+)write_data(value1i);delay(5);*/ for (i=0;isizeof(TempBuffer)-1;i+)write_data(TempBufferi);delay(5);void main() TMOD=0X01; TH0=0xff; TL0=0xd9; IT0=1; /设置中断触发方式,下降沿 EA=1; EX0=1; ET0=1; IP=0X01; /键盘中断级别高init_1602();/初始化lcd write_command(0x80);/液晶显示位置 delay(5); for (i=0;isizeof(value1)-1;i+)write_data(value1i);delay(5); TR0=1; while(1) show_frequency();/按键中断处理程序。void it0() interrupt 0 if(chg=0) FREQ=50; if(+cho=3) cho=0;num=0; /num=0;所有数据从新开始,保证波形的完整性 else if(freq_u=0|freq_d=0) freq_ud(); else if (cho=1&(duty_d=0|duty_u=0) duty_ud(); else ;/定时器中断处理程序。void intt0() interrupt 1/TH0=0x00;TL0=0x00;sinx();switch(cho) case 0:TH0=TIME0_H;TL0=TIME0_L;sint() ;break; /正弦波/每半周期256取样。case 1:TH0=TIME0_H;TL0=TIME0_L;square();break;/方波 /为了提高方波的最高频率,只有牺牲占空比的最小可调值。分100份 每次1%。case 2:TH0=TIME0_H;TL0=TIME0_L;triangle();break;/三角波default: ; 3.2 键盘中断子程序 键盘用外中断0实现。当有键按下时,产生低电平送入INT0口,形成中断请求信号,CUP转去执行键盘中断子程序,进行频率调节或占空比调节。 (1)频率调节 按下按键1或2时,进行频率的调节,占空比不变。1键按下时,频率增加100Hz,若2键按下时,频率增加10Hz。频率最大值为500Hz,当频率大于最大值时,重新赋值为50Hz。 (2)占空比调节 当按键3和4按下时,进行占空比调节,频率不变。3键按下时,占空比进行增加10%,4键按下时,占空比增加1%。占空比最大值为99%,当占空比大于99%时,重新赋值为1%。3.3系统初始化子程序在此程序中,给所有变量赋初值:键盘扫描口、初始频率与占空比与定时、开中断、定时器0与定时器1的工作方式等。初始化时启动了定时器0和定时器1.其中初始频率为50Hz,占空比为50%。 第四章 系统仿真4.1仿真电路图通过Proteus软件和电路原理图绘制出如下仿真电路图,对程序和电路功能进行测试图13 proteus仿真电路图4.2输出波形图4.2.1、测量仪器与测试说明测量仪器:稳压电源、示波器、数字万用表。测量说明:正弦波、矩形波、三角波信号的输出,通过对独立键盘来实现其的不同波形的输出以与其频率的改变。4.2.2测试过程当程序下进去时经过初始化,液晶屏的上只显示“wave:”和“f:“,当开关三按一下是此时输出波形为正弦波,按两下时输出为方波,按三下时输出为三角波。另外两个开关可以调节频率,三种波形的频率可调围不同,分别如下: 正弦波:1180HZ 方 波:13.3KHZ 三角波:1180HZ根据示波器的波形频率的显示计算出三种波形的频率计算公式如下:正弦波:f=(1000/(9+3*ys)方 波:f=(100000/(3*ys)三角波:f=(1000/(15+3*ys)其中ys为延时的变量。三种波形的仿真波形图如下:图14正弦波图15方波图16三角波4.2.3 测试结果各项指标均达到要求。测试数据如下:1.产生正弦波、方波、三角波基本实现2.三种波形的频率都可调,但不能步进的调节,其中方波的可调围最广为13.3KHZ,其他两种波形的频率围不大1180HZ3显示部分基本实现4.键盘功能实现第五章 结束语在单片机课程设计中,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。但是,由于平时对单片机知识学习得不够扎实,理解得不够透彻、一知半解,致使在运用是不能贯通,导致在设计过程中困难重重,往往无从下手,但是通过和同组的同学一起探讨,最后还是一步一步的把所有的问题给一一解决了。在这次设计过程中,我也对word、protel、画图板等软件有了更进一步的了解,这使我在以后的学习中更加熟练。同时在本次设计的过程中,我还学会了高效率的查阅资料、运用工具书、利用网络查找资料。我发现,在我们所使用的书籍上有一些知识在实际应用中其实并不是十分理想,各种参数都需要自己去调整。偶而还会遇到错误的资料现象,这就要求我们应更加注重实践环节。最后还要在此感指导老师们和我的同学,他们在整个过程中都给予了我充分的帮助与支持。总之,本次单片机课程设计让我悟出了许多东西:第一,就是对资料的搜索、整理、归类、总结、保存的能力是一个至关重要的个人能力。如果没有这种能力,在大学学习阶段,那么我们的学习将会是一种负担;今后我们走出校门,甚至在整个人生阶段,也将会碌禄无为;第二,我们要学会坚持不懈,不轻易言弃,这对于我们非常的重要。如果我们没有这种精神,一旦我们遇到一点挫折,我们也许就会被打败,以后进入社会就会没有我们的立足之地。因此,我们要珍惜大学时光,循序渐进的培养这些能力,这样才不会被瞬息万变的时代所淘汰。参考文献1 何立民.MCS51单片机应用系统设计M.:航空航天大学,2003.2 徐君毅.单片微型机原理与应用M.:科技,19953 公茂法.单片机人机接口实例集M.:航空航天大学,1998.4 红卫.基于单片机的智能系统设计与实现M.:电子工业, 2005.5 广弟,朱月秀等.单片机基础M.:航空航天大学, 2003.附录正弦波是所有波中最普遍常见的波形,也是最容易生成的波形。任何复杂信号都可以看成由许许多多频率不同、大小不等的正弦波复合而成。可以说是所有波形的基础。正弦波一般与函数信号发生器有关,与数控也有关。 方波可以快速从一个值转至另一个(即01或10),所以方波就用作时钟讯号来准确地触发同步电路。但是如果用频率定义域来表示方波,就会出然一连串的谐波。这可能会产生电磁波和电流脉波,影响周围的电路,产生噪声和错误,对一些精密仪器如类比数位资料转换器(analog-to-digital converter)影响十分明显,所以设计会使用正弦波作时钟讯号来代替方波。总体来说,方波一般用作时钟信号。 三角波也叫锯齿波,主要用在CRT作显示器件的扫描电路中.如示波器,显像管,显示器等.CRT是由许多点组成的.要形成光栅就要有电子束轰击这些发光点.扫描电路分水平和垂直扫描两种.可以一行或一帧的对CRT进行扫描.电子束从第一行或帧的一端开始扫到另一端,马上返回扫第二行或第二帧.三角波的特点是电压渐渐增大突然降到零.正好适合用于扫描电路中。致27 / 27
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!