版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘要 本系统是一个SPW脉冲发生器。整个系统是以单片机AT89c51为核心,通过编程产生低频波信号,再通过LM358放大电路和滤波电路将波形信号进行处理,最后由示波器显示波形,而波形频率可以通过按键来改变,并且将波形的模式和修改的频率通过LCD12864显示,以便了解当前波形模式和所修改后的频率。经试验测试,系统满足设计的基本要求,而且系统的电路结构简单,优越性强。关键字:SPW脉冲发生器 单片机AT89c51波形信号LM358放大电路滤波电路AbstractThis system is a SPWM pulse generator. The whole system is chip-comp
2、uter AT89c51, through the programming produce low-frequency waveform signal, again through the amplifier circuit LM358 and filter circuit will waveform signal processing, the last oscilloscope display, but by the frequency changes through the button to revise the present wave frequency, and between
3、the mode and modification of the wave frequency through the LCD12864 shows, in order to understand the revised model and frequency waveforms. After the test, this system meet the design requirement, system structure is simple, the circuit strong superiority.Key word: SPWM pulse generator single-chip
4、 microcomputer AT89c51 waveform signal LM358 amplifier circuit filter circuit目录摘要1一、系统设计11.1方案的比较与选择.11.1.1芯片的选择11.1.2信号处理的选择11.1.3按键模块的选择11.1.4显示模块的选择11.1.5信号的放大和滤波电路的选择.21.2系统框图2二、单元硬件电路设计32.1控制电路部分32.1.1 时钟电路32.1.2 复位电路42.2 按键模块42.3 显示模块42.4 放大、滤波电路5三、算法和软件设计53.1理论分析和计算63.2软件流程7四、系统测试.84.1频率测试84.
5、2误差分析8五、总结8参考文献9附录9附录一9附录二10一、系统设计1.1方案的比较与选择芯片的选择 本系统采用的控制芯片是单片机AT89C51,AT89C51是一种4K字节FLASH存储器的低电压、高性能的CMOS8位微处理器,有优异的性价比,集成度高,控制功能强。该芯片可以通过编程来产生稳定的脉冲信号,并且所需的外部电路比较简单,AT89C51编程、调试容易,实用简单。所以我们选择单片机AT89C51作为本系统的控制芯片。信号处理的选择方案一:利用数模转换器DAC0832作为输出信号的转换,该芯片由8位输入锁存器、8位DAC寄存器、8位D/A转换器和转换控制电路组成。DAC0832将由单片
6、机输出的数字信号通过转换后,由示波器将波形显示。方案二:由运放和滤波电路共同将输出信号进行处理。滤波电路将单片机输出的波形信号在大于50HZ的其它波形全部过滤,最后只剩下所需的波形信号,再由运放电路将进行放大之后,通过示波器显示。DAC0832在硬件连接上比较麻烦,且需要的I/O口多。运放和滤波电路简单、清晰,且所需的I/O口少,如有问题,便于检测,调整。所以选择方案二。按键模块的选择方案一:用矩阵键盘作为波形频率的调节。矩阵键盘主要是用于减少口的使用,而且按键数量较多得时候使用简单,但比直接法的按键电路要复杂。方案二:用四个独立的按键来调节波形频率,并不会使用多的口,电路简单,相对于矩阵键盘
7、也很简单。基于以上我们选择方案二。显示模块的选择方案一:用LCD12864作为波形频率显示,通过液晶显示器可以同时显示出波形的频率和模式,而且用LCD12864显示也比较清楚,容易辨别。方案二:用数码管作为波形频率显示,只能显示数字和少数的字母,用数码管只能显示出波形的频率,而波形的模式和其他的一些信息不能显示,输出的信息比较少。数码管显示的范围比较狭窄,显示的信息少,且显示不清晰。LCD12864虽然价格比较贵,但是LCD12864显示较清晰,容易辨别,人机界面好。基于以上的特性,我们选择方案一。信号的放大和滤波电路的选择放大电路的芯片采用的是LM358,LM358是一个具有两个独立的、高增
8、益、内部频率补偿的双运算放大器,并且是用于所有单电源供电的运算放大器电路。滤波则是组成的低通滤波电路,这样可以过滤出大于频率50的波形,保留正弦波波形,这样就不会被其他频率的波形所干扰,这样波形输出更加清晰。1.2系统框图以单片机AT89c51为核心,产生正弦波信号,通过放大电路和滤波电路后,由示波器显示波形,按键修改波形的频率,通过LCD显示可查看频率修改的大小和范围。如图a-1所示。 图a-1系统框图二、单元硬件电路设计2.1 控制电路部分控制电路部分主要是由单片机AT89c51作为主控芯片,加上时钟电路、复位电路完成对其他模块电路的连接和控制,单片机通过编程产生方波信号,输出给外围电路处
9、理。控制电路部分电路如图b-1 图 b-1 控制电路部分电路 时钟电路 时钟电路由单片机内部的时钟电路和外部的时钟电路组成(图b-2),系统所需的时钟信号就由这两种电路形成。外部时钟电路是由两个15pf的电容和11.0592的晶振组成,这样使单片机可以形成稳定的时钟脉冲。 图b-2 时钟电路和复位电路复位电路 复位电路是由复位引脚RES外接一个电阻和电容组成(图b-2)。复位方式有按键复位和上电复位,我们所采用的是上电复位。上电后,由于电容充电,使RES持续一段高电平时间。当单片机已在运行之中时,复位还能使RES持续一段时间的高电平,从而实现上电复位的操作,之后便退出复位状态。2.2 按键模块
10、按键主要是由三个普通按键组成:K-MODE、K-UP、K-DN。在按键功能中我们加了蜂鸣器提示音,当按键按下后蜂鸣器回鸣叫一声,说明此次按键有效。通过K-MODE可以修改输出波形的模式:单极性,从而使得波形可以在这之间相互转换,-U和K-DN主要是用来加减波形频率的大小,频率的范围是2050HZ,-U或K-DN每按下一次,波形频率加或减10HZ。2.3 显示模块LCD12864(如图-LCD12864原理图)汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。LCD12864工作为串行方式
11、,这样大大减少使用单片机的I/O口,而在本系统中LCD主要显示出波形的频率和模式。在外部调节波形频率的时候,LCD不断地刷新,显示出当前信息,以便可以正确的查询和修改波形的频率。 图-LCD12864原理图2.4 放大、滤波电路在信号放大和滤波处理的选择中讨论采用LM358作为放大电路的芯片,通过改变R3=500K电位器阻值的大小,从而改变放大的倍数。而低通滤波电路则是组成的,在输入端接一个R4=100的电位器,从而可以通过调节电位器的大小而改变滤波频率的大小。通过由单片机输出的方波信号,通过滤波电路将不在频率范围之内的波形滤掉之后然后在通过放大电路将信号幅值放大,由示波器显示出正弦波波形。图
12、b-4所示为放大电路和滤波电路的原理图 图b-4放大电路和滤波电路的原理图三、算法和软件设计3.1 理论分析和计算我们采用的是通过按键来调节波形的频率,通过按键加减频率,每按键一次,频率改变10HZ,它的范围在2050HZ,步长为10HZ。而输出波形的占空比则是由变量K决定。SPWM脉冲占空比:= 0.8*sin (2*K+1)*/N),K=0,1.(N-2)/2其中SPWM波每秒脉冲数称为载波频率,记作fC。载波频率fC 与等效正弦波频率fR之比,称作为载波比,记作N,而题目中的载波比是恒定的,为N=20。当K=0,1····4时,SPWM1/4波形的
13、脉冲占空比依次是:0.1251476, 0.3631924, 0.5656854, 0.7128052, 0.7901507。 SPWM波形在频率为20HZ到50HZ时的各个周期Tc:0.0025, 0.001666667, 0.00125, 0.001。晶振为11.0592。脉冲的序列频率为:fC= fR*N,所以fC为:400HZ,600HZ,800HZ,1000HZ。所形成的单极性波形输出如图c-1所示(其中Uo是SPWM 波,Uof 是等效的正弦波)。 图c-1 单极性SPWM波LM358放大电路(图c-3 LM358)中的放大倍数=(1+R2/R1)*;而R1恒定不变,所以当改变R2
14、的电阻值得大小时,放大电路的倍数也随之相应的变化。本系统中=(1+2/1)=3,所以放大倍数的倍数是三倍。(其中是输入端3, 图c-3 LM358是输出端1。本次要求的频率范围在2050HZ之间,系统滤 波采用的是低通滤波电路,所以只需将大于50HZ的波形给滤掉就行,当fR=50HZ,电容C=10uF,则电阻的最小值R=1/ fR *C=2K。 3.2 软件流程系统中主要是由单片机编程产生波形,产生的波形信号通过I/O口P10、P11输出给放大电路和滤波电路,再由示波器显示。该程序主要有LCD12864显示、波形信号产生和按键修改频率三大子程序构成整个系统的程序。如图c-3所示。 图c-3 系
15、统主流程图 图c-4按键模块流程图按键模块主要是通过三个按键控制。K_MODE是模式选择按键,通过它可以改变波形模式单极性。K_UP和K_DN两个按键是对波形频率大小的修改。通过这三个按键可以查询、修改波形频率。按键模块如图c-4所示。四、 系统测试4.1频率测试SPWM脉冲发生器最后的波形在示波器中显示。通过编程产生占空比不一样的方波,通过单片机输出到外围电路中,通过放大电路,将波形的幅值放大三倍,在通过滤波电路将频率大于50HZ的波形过滤,满足要求的波形在示波器显示。通过示波器将波形的频率记录,如d-1表所示。 表d-1 测量数据理论波形频率(HZ)20304050实际输出频率(HZ)(单
16、极性)19.4928.9037.6546.97误差2.55%3.67%5.87%6.06%4.2误差分析波形输出后的频率误差主要来源于电阻值的不稳定,有一定的变化和电容的变化从而产生输出波形频率的误差。在电路中调节放大倍数和频率大小都是用的电位器,电位器在调节到所需值后会跳动而不稳定,使得电阻值会有一定的变化,从而输出波形的频率就有一定的偏差,但是输出的波形还是很漂亮的。五、 总结本次设计的SPWM脉冲发生器可以产生方波信号,通过放大、滤波电路后,在示波器中输出频率为2050HZ的正弦波,并且可以通过按键修改当前波形的频率,并在LCD上显示频率大小。在示波器中输出的波形频率与LCD中显示的频率
17、有一定的偏差,但是系统的误差不大,对SPWM脉冲发生器没有太大的影响,并且输出的波形可以清楚地观察,基本完成题目要求。参考文献1 赵广林. Protel99SE电路设计与制版 M(第二版).北京: 电子工业出版社 ,20092 周润景,张丽娜. Protel99SE原理图与印制电路板设计M. 北京:电子工业出版社, 20083 张毅刚. 单片机原理及应用M. 北京:高等教育出版社, 20034 贺军,聂雪军. C程序设计金典教程M(第4版).北京: 清华大学出版社 20085 王振红,张常年. 综合电子设计与实践M(第2版).北京: 清华大学出版社,20086华成英. 模拟电子技术基础M(第四
18、版).北京:高等教育出版社,2006.5附录附录一 SPWM波形发生器原理图附录二 系统主程序#include"reg51.h"#include<intrins.h>#include"spwm.h"#include"Key.h"#include"Qc12864.h"#define N 20 /载波比#define fosc 11.0592*1000000 /晶振double Tc = 0.0025,0.001666667,0.00125,0.001;/SPWM波周期double Duty_ratio =
19、 0.1251476,0.3631924,0.5656854,0.7128052,0.7901507;/波形1/4周期内的占空比unsigned char NUM_H_H5;/高电平高位unsigned char NUM_H_L5;/高电平地位unsigned char NUM_L_H5;/低电平高位unsigned char NUM_L_L5;/低电平地位static unsigned char i = 0;unsigned char CH = 3;/频率选择unsigned int count = 0;/定时器初值bit Bit = 0; /反转标志位bit Mark = 0;sbit M
20、ode = P32;sbit Up = P21;sbit Down = P22;sbit Buffer = P14; sbit CLK= P12 ; /串行时钟信号 sbit RW = P13 ; /串行数据口 sbit CS= P14 ; /串行片选信号unsigned char NUM_H_H5;/高电平高位unsigned char NUM_H_L5;/高电平地位unsigned char NUM_L_H5;/低电平高位unsigned char NUM_L_L5;/低电平地位static unsigned char i = 0;unsigned char CH = 3;/频率选择uns
21、igned int count = 0;/定时器初值bit Bit = 0; /反转标志位bit Mark = 0;void main() lcd_init(); /液晶初始化 printstr(1,1,"SPWM脉冲信号"); printstr(0,2,"频率:"); printstr(3,2,"50"); printstr(4,2,"HZ"); Timer_set(); /定时器0初始化 Set_Fiset_NUM(3);/定时器初值计算 while(1) Key_Mode(); void Timer_set(
22、) TMOD = 0x11; TH0 = 0xFF; TL0 = 0xF0; ET0 = 1; TR0 = 1; EA = 1; /定时器初始化 SPWM0 = 0; SPWM1 = 0;void Set_Fiset_NUM(unsigned char CH) unsigned char i; for(i = 0; i <= 4;i+) count = 65536 - TcCH*Duty_ratioi*fosc/12; NUM_H_Hi = (char)(count/256); NUM_H_Li = (char)(count%256);/高电平初值计算 count = 65536 - (
23、TcCH-TcCH*Duty_ratioi)*fosc/12; NUM_L_Hi = (char)(count/256); NUM_L_Li = (char)(count%256);/低电平初值计算 void timer0() interrupt 1 TR0 = 0; if(Mark = 0) if(i <= 4) TH0 = NUM_H_Hi; TL0 = NUM_H_Li; else if(i >= 5) TH0 = NUM_H_H9-i; TL0 = NUM_H_L9-i; if(Bit = 0) SPWM0 = 1; SPWM1 = 0; else if(Bit = 1)
24、SPWM0 = 0; SPWM1 = 1; TR0 = 1; Mark = 1; else if(Mark = 1) if(i <= 4) TH0 = NUM_L_Hi; TL0 = NUM_L_Li; else if(i >= 5) TH0 = NUM_L_H9-i; TL0 = NUM_L_L9-i; TR0 = 1; SPWM0 = 0; SPWM1 = 0; i+; if(i >= 10) i = 0; Bit = Bit; Mark = 0; void Key_Mode() if(Mode = 0|Up = 0|Down = 0) ET0 = 0; if(Mode
25、= 0) Buffer = 0; ET0 = ET0; while(Mode = 0); else if(Up = 0) Buffer = 0; CH+; if(CH >= 3) CH = 3; Set_Fiset_NUM(CH); while(Up = 0); else if(Down = 0) Buffer = 0; if(CH > 0) CH-; else CH = Set_Fiset_NUM( 0; CH); w 0; CH; while(Down = 0); switch(CH) case 0:printstr(3,2,"20");break;case
26、 1:printstr(3,2,"30");break;case 2:printstr(3,2,"40");break;case 3:printstr(3,2,"50");break; Delay(); Buffer = 1; ET0 = 1; void Delay() unsigned char i,j; for(i = 0; i < 100;i+) for(j = 0; j < 50;j+);void lcd_init(void)/初始化 /RST=1 ; /复位标志 /PSB = 0;/H并行,L串行 Write_L
27、CD(0,0x30); /功能设置,一次送8位数据,基本指令集 /send_com(0x34);/34H-扩充指令操作 Write_LCD(0,0x0C); /0000,1100 整体显示,游标off,游标位置off /Write_LCD(0,0x0f); /0000,1100 整体显示,游标on,游标位置on Write_LCD(0,0x01); /0000,0001 清屏 Write_LCD(0,0x02); /0000,0010 DDRAM地址归位 Write_LCD(0,0x80); /1000,0000 设定DDRAM 7位地址000,0000到地址计数器AC/-void DelayMs(unsigned char n)/延时 unsigned char i; while(n-) for(i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 骨科慢性病患者的中医护理管理
- 2026 增肌期饮品选择技巧课件
- 2026 增肌期豆类应用深化课件
- 2024年高校设备运输合同三篇
- 阴疮创面处理原则
- 2026 塑型进阶鱼豆腐课件
- 2026 塑型维持期肉片课件
- 葡萄膜炎的护理与康复
- 肿瘤化疗患者的光照疗法应用
- 食道癌术后护理与康复指导
- 城市轨道交通供电系统运行与维护课件:动力照明配电系统
- 2026年宝鸡市辛家山马头滩林业局招聘(12人)笔试备考题库及答案详解
- 检验检测机构资质认定生态环境监测机构评审补充要求(2025年)条文释义
- 市政道路工程路基施工专项方案
- 中科曙光入职测试答案
- 对外投资合作国别(地区)指南 2025 -卡塔尔
- 重复医学检查检验工作制度
- GA 991-2025爆破作业项目管理要求
- 2026年学习教育查摆问题清单及整改措施台账(四个方面16条)
- 2025年四川省成都市小升初语文试卷
- 2025 小学高年级写作竞争合作主题的探讨课件
评论
0/150
提交评论