2021年基于5单片机的信号发生器-完整电路、程序
基于51单片机的函数信号发生器
实验名称:基于8255的LED显示函数信号发生器设计一、课题内容和要求基本要求:1.用存储器或算法得到信源。
2.用DA转换器输出一函数信号(正弦、方波、三角、锯齿等,频率1000Hz)3.用数码管或LCD上将输出参数显示4.用功能键切换各信号的输出。
发挥部分:1.通过键盘,可修改输出信号的频率。
每按一次键,频率值进给或后退100Hz,频率范围100Hz~1500Hz2.按键时,蜂鸣器发出提示音,表示按键有效3.数码管或LCD显示的内容可以用频率值和周期值切换表示,周期值精确到0.01ms 动态显示格式:自定二、总体设计利用AT89S52单片机采用查表或算法产生三角波、正弦波和方波三种波形,再通过D/A 转换器DAC0832将数字信号转换成模拟信号,最终由示波器显示出来,通过键盘来控制三种波形的类型选择、频率变化,最终输出显示各自的频率或者周期值。
三、单元设计1.键盘扫描部分矩阵键盘电路硬件图:实验中采用8255的PA口和PC口的低四位进行键盘扫描,行由8255的PA0~PA3端口控制,列由8255的PC0~PC3端口控制,其中PA口工作在输出方式,PB口工作在输入方式。
当PA0~PA3中一个口输出低电平时,对应的行线上的电平就为0,这是当有键按下时对应的列线上就变为低电平,这时PC口上对应位就可以检测到低电平从而判断是哪个键按下。
键盘扫描流程图:第二行判断键盘扫描程序如下:SCAN:MOV DPTR,#1FFCH;PA口地址MOV A,#00HMOVX @DPTR,A; PA0~PA3输出低电平 INC DPTR;DPTR指向PC口MOVX A,@DPTR;读PC口的值ANL A,#0FH;屏蔽无用位CJNE A,#0FH,DETAIL;判断是否有低电平ACALL DELAY1;延时ACALL DELAY1AJMP SCAN;无键按下则继续扫描DETAIL:ACALL DELAY1;消抖动ACALL DELAY1MOV DPTR,#1FFCH;再判断是否有键按下MOV A,#00HMOVX @DPTR,AINC DPTRINC DPTRMOVX A,@DPTRANL A,#0FHCJNE A,#0FH,CONTINUE;有键按下则做进一步的判断 AJMP SCAN;无键按下继续扫描CONTINUE:CLR EA;有键按下驱动蜂鸣器SETB P1.7ACALL DELAY2CLR P1.7SETB EAMOV R4,#02H;扫描行数送入R4中MOV A,#0FEHLINE:MOV DPTR,#1FFCHMOV R2,A;行号送R2MOVX @DPTR,A;置PA0为低电平INC DPTRMOVX A,@DPTRANL A,#0FHCJNE A,#0FH,FIND;判断第一行是否有键按下MOV A,R2RL ADJNZ R4,LINESJMP SCAN;无键按下继续扫描FIND:MOV R3,A列号存入R3中MOV A,R2CJNE A,#0FEH,LINE2;判断是否是第一行有键按下LINE1:MOV A,R3;第一行有键按下CJNE A,#0EH,L1R2;判断是哪个按键按下L1R1:MOV R0,#01H;有波形键按下键按下MOV R1,#01H;波形标志1MOV R7,#00HCLR TR1CLR TR0SETB TR0SJMP SCANL1R2:CJNE A,#0DH,L1R3MOV R0,#01H;有波形键按下键按下MOV R1,#02H;方波标志MOV R7,#00HCLR TR0CLR TR1SETB TR1SJMP SCANL1R3:MOV R0,#01H;有波形键按下键按下MOV R1,#03H;三角波标志MOV R7,#00HCLR TR1CLR TR0SETB TR0AJMP SCANLINE2:MOV A,R3;第二行有键按下CJNE A,#0EH,L2R2L2R1:CJNE R0,#01H,NONE1;有波形时才能进行频率增减操作CJNE R6,#00H,START1;没有减到最小频率值时继续减否则减频操作失败 AJMP NONE1START1:DEC R6;减频MOV A,R6MOV DPTR,#TABLE3MOVC A,@A+DPTRMOV TH0,A;重置计数初值NONE1:AJMP DISPLAYL2R2:CJNE A,#0DH,L2R3CJNE R0,#01H,NONE2;有波形时才能进行频率增减操作CJNE R6,#0EH,START2;没有增到最大频率值时继续增否则增频操作失败 AJMP NONE2START2:INC R6;增频MOV A,R6MOV DPTR,#TABLE3MOVC A,@A+DPTRMOV TH0,A;重置计数初值NONE2:AJMP DISPLAYL2R3:CJNE A,#0BH,L2R4;显示波形周期值MOV F,#01HAJMP DISPLAYL2R4:MOV F,#00H;显示波形频率值AJMP DISPLAY2.显示部分显示部分硬件图:开发板上设置了6位8段数码管,采用动态扫描方式连接,各位数码管的A~DP互联后经拨码开关S1后由P0口控制,数码管的COM分别经拨码开关S2后由P10~P15控制。
(完整word版)51单片机函数信号发生器.doc
基于 51 单片机的函数信号发生器设计报告队员 1姓名:杨颉学号: 2专业:电子信息科学与技术队员 2姓名:王鼎鸿学号: 2专业:电子信息科学与技术基于 51 单片机的函数信号发生器摘要本系统利用单片机AT89C52采用程序设计方法产生锯齿波、三角波、正弦波、方波四种波形,再通过D/A 转换器 DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产生10Hz—10kHz的波形。
通过键盘来控制四种波形的类型选择、拨码开关控制频率的变化,并通过液晶屏1602 显示其各自的类型以及数值,系统大致包括信号发生部分、数/ 模转换部分以及液晶显示部分三部分,其中尤其对数 / 模转换部分和波形产生和变化部分进行详细论述。
关键词:单片机 AT89S52、DAC0832、液晶 1602目录1.系统设计1.1 设计要求1.2 方案设计与论证 1.2 方案设计与论证1.2.1信号发生电路方案论证1.2.2单片机的选择论证1.2.3显示方案论证1.2.4键盘方案论证1.3总体系统设计1.4 硬件实现及单元电路设计1.4.1单片机最小系统的设计1.4.2波形产生模块设计1.4.3显示模块的设计1.4.4键盘模块的设计1.5 软件设计流程1.6 源程序2.输出波形的种类与频率的测试2.1 测试仪器及测试说明2.2 测试结果3、附录3.1参考文献3.2附图1、系统设计经过考虑,我们确定方案如下:利用AT89C52单片机采用程序设计方法产生锯齿波、三角波、正弦波、方波四种波形,再通过D/A 转换器 DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控制四种波形的类型选择、频率变化,最终输出显示其各自的类型以及数值。
1.1 、设计要求1> 、利用单片机采用软件设计方法产生四种波形2)、四种波形可通过键盘选择3)、波形频率可调4)、需显示波形的种类及其频率1.2 方案设计与论证1.2.1信号发生电路方案论证方案一:通过单片机控制D/A,输出四种波形。
基于51单片机的简易信号发生器
/****************简易信号发生器****************************程序功能:输出正弦波、锯齿波、方波、三角波涉及芯片:TLC5615**********************************************************/#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit din=P3^0;sbit scl=P3^1;sbit cs1=P3^2;sbit key1=P1^0;sbit key2=P1^1;sbit key3=P1^2;sbit key4=P1^3;//sbit w2= P1^0;uchar code sine_tab[256]={//输出电压从0到最大值(正弦波1/4部分)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,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,//输出电压从最大值到0(正弦波1/4部分)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,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, 0x89,0x86,0x83,0x80,//输出电压从0到最小值(正弦波1/4部分)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,0x02,0x02,0x01,0x00,0x00, 0x00,0x00,0x00,0x00,//输出电压从最小值到0(正弦波1/4部分)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,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c,0x6f,0x72, 0x76,0x79,0x7c,0x80};uchar bdata date; //位寻址sbit date7=date^7;sbit date6=date^6;sbit date5=date^5;sbit date4=date^4;sbit date3=date^3;sbit date2=date^2;sbit date1=date^1;sbit date0=date^0;void delay(uint t){while(t--);}void write_sip5615(uchar k) {date=k;din=date7;scl=0;scl=1;din=date6;scl=0;scl=1;din=date5;scl=0;scl=1;din=date4;scl=0;scl=1;din=date3;scl=0;scl=1;din=date2;scl=0;scl=1;din=date1;scl=0;scl=1;din=date0;scl=0;}void write_5615(uint k){k<<=2;cs1=0;write_sip5615(k>>8);//送高八位write_sip5615(k);//送低八位cs1=1;}void main(){uint k1=0,k2=0,k3=0,k4=0,i=0,j=0,x=0,z,p;while(1){/* w2=0;delay(500);w2=1;delay(500); */if(key1==0)//按键1检测{k1=1;k2=0,k3=0,k4=0;while(!key1);}if(key2==0) //按键2检测{k2=1;k3=0,k1=0,k4=0;while(!key2);}if(key3==0)//按键3检测{k3=1;k1=0,k2=0,k4=0;while(!key1);}if(key4==0)//按键4检测{k4=1;k1=0,k2=0,k3=0;while(!key2);}if(k1==1)//正弦波write_5615(sine_tab[i]);i++;delay(100);if(i==256)i=0;}if(k2==1)//锯齿波{write_5615(j);j++;delay(100);if(j==250)j=0;}if(k3==1)//方波(次处用单片机的I/O效果更好){write_5615(10);delay(10000);write_5615(200);delay(10000);}if(k4==1)//三角波{for(z=0;z<301;z++){delay(50);write_5615(z);if(z==300){for(p=300;p>0;p--){if(p==0)break;write_5615(p);delay(50);}}}}}}。
基于51单片机的信号发生器
哈尔滨工业大学(威海)课程设计报告
图 3-3 DAC0832 与单片机的接口电路
图 3-4 键盘和单片机的连接电路图
3.6 显示电路
(1)运算放大电路 运算放大器型号为 UA741,它是一种高增益运算放大器,用于军事、工业和商
7
哈尔滨工业大学(威海)课程设计报告
业应用。这类单片硅整集成电路器件提供输出短路保护和闭锁自由运作。 运算放大器与 DAC0832 接口电路如图 3-5 所示。
信号发生器是一种经常使用的设备,若按照传统的设计方法,由纯粹的物理 器件构成,存在许多弊端,如:体积较大、重量较沉、移动不方便、信号失真较 大、波形形状调节过于死板,无法满足用户对精度、便携性、稳定性等要求。研 究设计出一种具有频率稳定、准确,波形质量好,便携性好等特点的波形发生器 来满足工业领域对信号源的要求,具有较好的市场前景。
(1)电流稳定时间 1us; (2)可单缓冲、双缓冲或直接数字输入; (3)单一电源供电(+5V~+15V); (4)低功耗,200mW。 DAC0832 结构: (1)D0~D7:8 位数据输入线,TTL 电平,有效时间应大于 90ns(否则锁 存器的数据会出错);
5
哈尔滨工业大学(威海)课程设计报告
CS
VCC
WR1 ILE(BY1/BY2)
GND
WR2
DI3
XFER
DI2
DI4
DI1
DI5
DI0
DI6
VREF
DI7
RFB
IOUT2
GND
IOUT1
20 19 18 17 16 15 14 13 12 11
U3
A
DAC0832
B OP1P
基于单片机的信号发生器(完整电路,程序)
电子和信息工程学院综合实验课程报告实验名称:基于单片机的信号发生器的设计和实现班级:200808XX学号:200808XXXX姓名:何XX指导教师:安XX时间:2011-5-4至2011-5-11摘要本文以STC89C51单片机为核心设计了一个低频函数信号发生器。
信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定范围内可任意改变。
波形和频率的改变通过软件控制,幅度的改变通过硬件实现。
介绍了波形的生成原理、硬件电路和软件部分的设计原理。
本系统可以产生最高频率798.6HZ的波形。
该信号发生器具有体积小、价格低、性能稳定、功能齐全的优点。
关键词:低频信号发生器;单片机;D /A转换;1设计选题及任务设计题目:基于单片机的信号发生器的设计和实现任务和要求:设计一个由单片机控制的信号发生器。
运用单片机系统控制产生多种波形,这些波形包括方波、三角波、锯齿波、正弦波等。
信号发生器所产生的波形的频率、幅度均可调节。
并可通过软件任意改变信号的波形。
基本要求:1. 产生三种以上波形。
如正弦波、三角波、矩形波等。
2.最大频率不低于500Hz。
并且频率可按一定规律调节,如周期按1T,2T,3T,4T或1T,2T,4T,8T变化。
3.幅度可调,峰峰值在0——5V之间变化。
扩展要求:产生更多的频率和波形。
2系统概述2.1方案论证和比较2.1.1总体方案:方案一:采用模拟电路搭建函数信号发生器,它可以同时产生方波、三角波、正弦波。
但是这种模块产生的不能产生任意的波形(例如梯形波),并且频率调节很不方便。
方案二:采用锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路复杂。
方案三:使用集成信号发生器发生芯片,例如AD9854,它可以生成最高几十MHZ的波形。
--基于51单片机的简易函数信号发生器的设计与分析
基于51单片机的简易函数信号发生器的设计与分析郭 辉(阜阳师范学院信息工程学院,安徽阜阳,236037)摘要:函数信号发生器设计与分析是单片机实践中的一重要实验。
本文采用Proteus 对函数信号发生器的原理图进行设计,并通过Keil 软件编程验证该设计的可行性,通过调节按键,该简易函数信号发生器可以正确输出正弦波、锯齿波、梯形波、矩形波,并可以通过按键对相应波形的频率进行调节,最终通过Proteus 制作出该电路的PCB 原理图。
本设计对单片机项目设计与实现具有一定的指导意义。
关键词:信号发生器;AT89C51;Proteus ;Keil ;PCB 中图分类号:TP368.1 文献标识码:BDesign and analysis of a simple function signal generator based on 51 single chip microcomputerGuo Hui(College of Information Engineering,Fuyang Teachers' College,Fuyang Anhui,236037)Abstract :This paper uses the principle of figure Proteus function signal generator is designed,and the feasibility of the design is verified by Keil software programming,by adjusting the key,the simple function signal generator can output sine wave,Ju Chibo,trapezoidal wave,rectangular wave,and can be adjusted through the key corresponding to the frequency of the waveform, eventually produced by Proteus PCB principle diagram of the circuit.Keywords :signal generator;AT89C51;Proteus;Keil;PCB 0 引言Proteus 软件为英国Labcenter electronics 公司开发的EDA 工具软件。
基于51单片机的函数信号发生器
基于51单片机的函数信号发生器
一、任务
设计并制作一台基于51单片机的函数信号发生器,使之能产生正弦波、方波和三角波信号,且不能使用专用集成函数发生器芯片。
二、要求
系统框图:
1.基本要求
1)信号发生器能产生正弦波、方波和三角波三种周期性波形;
2)输出信号频率在100Hz~1kHz范围内可调;
3)输出信号波形无明显失真;
2.发挥部分
1)将输出信号频率范围扩展为10Hz~10kHz,输出信号频率可分段调节:在10Hz~
10kHz范围内步进间隔为100Hz;
2)在1k 负载条件下,输出正弦波信号的电压峰-峰值V opp在0~5V范围内即可;
3)可实时显示输出信号的类型、幅度、频率和频率步进值;
4)其他。
三、说明
设计报告正文应包括系统总体框图、核心电路原理图、主要流程图和主要的测试结果。
完整的电路原理图、重要的源程序和完整的测试结果可用附件给出。
四、评分标准
注:请大家于五一收假的晚上之前把你们所需要的元件清单拿过来,我们好统一购买元器件。
基于51单片机的 正弦信号发生器的设计
西安文理学院课程设计报告第一章系统设计单片机采用程序设计方法产生锯齿经过考虑,我们确定方案如下:利用AT89S52将数字信号转换成模拟信转换器DAC0832波、正弦波、矩形波三种波形,再通过D/A号,滤波放大,最终由示波器显示出来,通过键盘来控制三种波形的类型选择、频率变化,最终输出显示其各自的类型以及数值。
1.1 设计要求1)、利用单片机采用软件设计方法产生三种波型 2)、三种波形可通过键盘选择)、波形频率可调3)、需显示波形的种类及其平率41.2方案设计与论信号发生电路方案论证1.2.1,此方案电路简单、成本低。
:通过单片机控制D/A方案一,压控振荡器搭接的IC145152 :使用传统的锁相频率合成方法。
通过芯片方案二锁相环电路输出稳定性极好的正弦波,再利用过零比较器转换成方波,积分电路转换成三角波。
此方案,电路复杂,干扰因素多,不易实现。
是精密高频波形产生电MAX038MAX038芯片组成的电路输出波形。
用方案三:利路,能够产生准确的三角波、方波和正弦波三种周期性波形。
但此方案成本高,程序复杂度高。
以上三种方案综合考虑,选择方案一。
总体系统设计1.3该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和变换,采用按键输入,利用液晶显示电路输出数字显页1 第西安文理学院课程设计报告)为系统的总体框图1示的方案。
将设计任务分解为按键电路、液晶显示电路等块。
图(1)总体方块图图(1.4硬件实现及单元电路设计单片机最小系统的设计1.4.1的单片机,因此,这种芯片构成的最小系统简单﹑可ROM/EPROM89C51是片内有单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即靠。
用80C51单片机最小系统所示。
由于集成度的限制,最小应用系统只能用) 89C51可,如图(2 作一些小型的控制单元。
其应用特点:口线。
(1) 有可供用户使用的大量I/O(2) 内部存储器容量有限。
基于单片机的多功能信号发生器的源程序及电路图
程序源代码#include <REGX52.H>#include <lcd1602.H>#include <AD9833_Serial.H>void Delay1ms(WORD count);//软件延时函数void display_freq(void); //更新频率函数BYTE code Cursor[]={0xC3,0XC4,0XC6,0XC7,0XC8,0XCA,0XCB,0XCC,0x85};//换算光标位置unsigned int a; //控制长时间不操作隐藏光标unsigned char step=4;//移动光标bit flag=0;//控制光标闪烁unsigned long int code Data []={10000000,1000000,100000,10000,1000,100,10,1}; //换算加减值unsigned long int Freqency_Out=1000; //初始化频率输出值unsigned char Wave_Out=1;unsigned char data DY[3] = {0x00,0x00,0x00} ;unsigned char DA;unsigned long int XS;sbit KEY1 = P1^0;sbit KEY2 = P1^1;sbit KEY3 = P1^2;sbit KEY4 = P1^3;sbit KEY5 = P1^4;sbit KEY6 = P1^5;sbit BEEP = P3^7;sbit din = P3^4;sbit clk = P3^5;sbit cs = P3^6;/*us级延时函数*//*******************************************************************/void DelayuS(unsigned int num){while( --num ) ;}/* 软件延时1*m毫秒*/void Delay1ms(WORD count){BYTE i, j;for( ; count>0; count--)for(i=2; i>0; i--)for(j=248; j>0; j--);}void display_freq(void) //显示频率{unsigned char j;unsigned long int temp;temp=Freqency_Out;tab2[3]=temp/10000000+0x30;//tab2[4]=temp%10000000/1000000+0x30;tab2[6]=temp%10000000%1000000/100000+0x30;tab2[7]=temp%10000000%1000000%100000/10000+0x30;tab2[8]=temp%10000000%1000000%100000%10000/1000+0x30;tab2[10]=temp%10000000%1000000%100000%10000%1000/100+0x30;tab2[11]=temp%10000000%1000000%100000%10000%1000%100/10+0x30;tab2[12]=temp%10000000%1000000%100000%10000%1000%100%10+0x30;WriteLCD(0,0xC0);// 设置显示位置为第二行第一个字for(j=0; j<15; j++){WriteLCD(1,tab2[j]);}switch(Wave_Out){case 1:Load_wave(0x2000,Freqency_Out,0xD000);break;case 2:Load_wave(0x2002,Freqency_Out,0xD000);break;case 3:Load_wave(0x2028,Freqency_Out,0xD000);break;}}void display_Wave(void) //变换波形{unsigned char j;switch(Wave_Out){case 1:WriteLCD(0,0x80);Load_wave(0x2000,Freqency_Out,0xD000);for(j=0; j<10; j++){WriteLCD(1,tab1_1[j]);}break;case 2:WriteLCD(0,0x80);Load_wave(0x2002,Freqency_Out,0xD000);for(j=0; j<10; j++){WriteLCD(1,tab1_2[j]);}break;case 3:WriteLCD(0,0x80);Load_wave(0x2028,Freqency_Out,0xD000);for(j=0; j<10; j++){WriteLCD(1,tab1_3[j]);}break;}// 设置显示位置为第二行第一个字}void initTimer(void) //定时器初始化初值{TMOD=0x2; //方式二TH0=0x49; //200usTL0=0x49;}/*******************************************************************/ /* 蜂鸣器响一声*//*******************************************************************/ void beep(){unsigned char y ;for (y=0 ;y<100 ;y++){DelayuS(60) ;BEEP=!BEEP ; //BEEP取反}BEEP=1 ; //关闭蜂鸣器DelayuS(40000) ;}void TLC5615(DA){unsigned char y;DA<<=6; //舍弃前6 位for(y=0;y<12;y++) //从高到低发送{if((DA&0x8000)==0)din=0;else din=1;//din = x&0x8000; //此处不能用din = x&0x8000;cs=0;clk=1;;;;clk=0;DA = DA<<1;}cs=1;}/* 电压转换与显示*//*******************************************************************/Disp_dianya(){DY[2]=XS/100+0x30 ;DY[0]=XS%100 ;DY[1]=DY[0]/10+0x30 ;DY[0]=DY[0]%10+0x30 ;WriteLCD(0,0x8B);WriteLCD(1,DY[2]);//十位数显示WriteLCD(0,0x8D);WriteLCD(1,DY[1]);//个位数显示WriteLCD(0,0x8E);WriteLCD(1,DY[0]);//小数显示}void main(void) //主函数{unsigned char i;initTimer();//定时器初始化TR0=1;ET0=1;DA=175;//DA初始电压XS=5;//显示初始电压TLC5615(DA);LCD_Initial(); //液晶初始化WriteLCD(0,0x80);// 设置显示位置为第一行第一个字for(i=0; i<16; i++){WriteLCD(1,tab1_1[i]);}//每行16个字,且光标自动右移WriteLCD(0,0xC0);// 设置显示位置为第二行第一个字for(i=0; i<16; i++){WriteLCD(1,tab2[i]);} //每行16个字,且光标自动右移Disp_dianya();DDSIni();//初始化AD9833Load_wave(0x2000,Freqency_Out,0xD000);//1KHz正弦信号display_freq();EA=1; //开启总中断WriteLCD(0,Cursor[step]);// 设置显示位置为第二行第一个字while(1){if(KEY2==0)//Right 光标右移{Delay1ms(50);if(KEY2==0){if(a!=0)//在没有光标时,第一次按下向左,向右按键时,光标不移动,只是显示出光标,并闪烁{step++;if(step==9) step=0;}WriteLCD(0,0x0F); // 开显示,开光标,闪烁WriteLCD(0,Cursor[step]);//显示出当前光标的位置EA=1;a=0; //当有按键按下时,开启定时器,计时开始。
基于单片机的信号发生器设计
基于单片机的信号发生器设计一、本文概述随着现代电子技术的飞速发展,单片机因其高集成度、低成本和易于编程等特点,在信号处理和控制领域得到了广泛应用。
本文旨在探讨基于单片机的信号发生器设计,该设计在电子工程、自动化控制、信号处理等领域具有重要的应用价值。
本文将首先介绍单片机的基本概念、特点及其在信号发生器设计中的应用优势。
随后,将详细阐述信号发生器的设计原理、系统架构以及关键模块的设计方法,包括信号生成模块、放大模块、滤波模块等。
本文还将探讨单片机编程技术在信号发生器中的应用,包括程序设计、调试与优化等方面。
通过实验验证所设计信号发生器的性能,并对其在实际应用中的可行性进行评估。
本文的研究成果将为相关领域的研究人员和技术人员提供一定的理论指导和实践参考。
二、单片机概述单片机(Microcontroller Unit,MCU)是一种集成电路芯片,是将中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入输出(IO)端口、定时计数器以及中断系统等主要计算机功能部件集成在一块芯片上的微型计算机。
单片机以其体积小、功能强、性价比高、可靠性高、控制灵活、易于扩展等优点,被广泛应用于各种控制系统和智能化产品中。
单片机通常按照数据总线宽度、内部程序存储器容量、IO端口数量等参数进行分类。
其内部逻辑电路主要包括CPU、存储器、IO接口电路、定时计数器、中断控制逻辑等模块。
CPU是单片机的核心,负责执行指令、处理数据和进行逻辑运算存储器用于存储程序和数据IO接口电路负责单片机与外部设备的连接和通信定时计数器用于实现定时和计数功能中断控制逻辑则用于响应和处理外部中断事件。
在信号发生器设计中,单片机作为核心控制单元,负责产生和控制各种信号波形,如正弦波、方波、三角波等。
通过编程控制单片机的IO端口,可以产生不同频率、不同幅度的信号,从而实现信号发生器的功能。
同时,单片机还可以通过与其他电路模块的配合,实现信号调理、功率放大、显示输出等功能,使信号发生器具有更高的性能和更广泛的应用范围。
基于51单片机的函数信号发生器的设计
111 前言波形发生器,是一种作为测试用的信号源,是当下很多电子设计要用到的仪器。
现如今是科学技术和设备高速智能化发展的科技信息社会,集成电路发展迅猛,集成电路能简单地生成各式各样的波形发生器,将其他信号波形发生器于用集成电路实现的信号波形发生器进行对比,波形质量、幅度和频率稳定性等性能指标,集成电路实现的信号波形发生器都胜过一筹,随着单片机应用技术的不断成长和完善,导致传统控制与检测技术更加快捷方便。
2 系统设计思路文章基于单片机信号发生器设计,产生正弦波、方波、三角波,连接示波器,将生成的波形显示在示波器上。
按照对作品的设计研究,编写程序,来实现各种波形的频率和幅值数值与要求相匹配,然后把该程序导入到程序存储器里面。
当程序运行时,一旦收到外界发出的指令,要求设备输出相应的波形时,设备会调用对应波形发生程序以及中断服务子程序,D/A转换器和运放器随之处理信号,然后设备的端口输出该信号。
其中,KEY0为复位键,KEY1的作用是选择频率的步进值,KEY2的作用是增加频率或增加频率的步进值,KEY3的作用是减小频率或减小频率的步进值,KEY4的作用是选择三种波形。
103为可调电阻,用于幅值的调节。
自锁开关起到电源开关的作用。
启动电源,程序运行的时候,选择正弦波,红色LED灯亮起;选择方波,黄色LED灯亮起;选择三角波,绿色LED灯亮起。
函数信号发生器频率最高可达到100Hz,最低可达到10Hz,步进值0.1-10Hz,幅值最高可到3.5V。
系统框图如图1所示。
3 软件设计选用AT89C51单片机编写程序。
这种方法控制信号波形的频率和幅值是通过编写程序来实现,通过改变程序来实现频率的变化,且这种方法无需改变硬件电路。
这种方法可以使信号的精度很高(编程产生的是数字信号),并可使电路得到一定程度上的简化。
主程序和生成波形的子程序共同组成了系统软件设计,生成波形的子程序的编程是软件设计的主要内容,各种波形通过编程来得到。
毕业设计--基于单片机的信号发生器
可修改可编辑设计(论文)题目基于单片机的信号发生器摘要信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。
各种波形曲线均可以用三角函数方程式来表示。
能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器。
函数信号发生器在电路实验和设备检测中具有十分广泛的用途。
例如在通信、广播、电视系统中,都需要射频(高频)发射,这里的射频波就是载波,把音频(低频)、视频信号或脉冲信号运载出去,就需要能够产生高频的振荡器。
在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的振荡器。
本文利用AT89C51单片机作为控制核心来设计信号发生器,通过程序设计的方法产生正弦波、方波、三角波,并在Protues电子设计平台上对此方案进行了仿真,得到与理论相应的波形。
通过D/A转换器将数字信号转换成模拟信号,最终由示波器显示出来。
通过按键来控制这几种波形的类型选择,而且可控制频率的变化,在一定范围内波形的幅度和频率可任意改变。
本次设计消除了传统信号发生器存在元器件分散性造成波形失真的缺陷,并且其设计简单,价格低廉,产生的波形稳定,可用于多种需要低频信号源的场合,实用性强。
【关键词】信号发生器 D/A转换 AT89C51 频率幅度AbstractSignal generator is also known as signal source or oscillator, in the production practice and technology is widely used in the field of. Each kind of wave may use the trigonometric function equation. Can produce a variety of waveforms, such as the triangle wave, sawtooth wave, rectangular wave (including square wave ), sine wave circuit is called the function signal generator. Function signal generator in electric circuit experiment and the equipment examination has a very wide range of uses. For example, in communication, broadcasting, television system, needs the radio frequency ( HF) emission, the radio wave is the carrier, the audio frequency ( low frequency ), the video signal or pulse signal to carry out, will need to be able to produce the high frequency oscillator. In industry, agriculture, biomedical and other fields, such as high-frequency induction heating, smelting, quenching, ultrasound, magnetic resonance imaging, required power big or small, or high or low frequency oscillator.This paper design a signal generator, and AT89C51 is used as a control microcontroller core, It can generate sine wave, square wave, triangle wave through the method of program design , and the simulation by the computer soft ware Proteus is been done , and those results consistent with the theory.converting a digital signal into an analog signal through the D/A converter ,and ultimately displayed by the oscilloscope. Through the button to control the options of waveform types and can change frequency ,amplitude and frequency of the waveform can be arbitrarily changed within a certain range. The design eliminates the defect of waveform distortion which produced by the dispersion of the components which exist in the traditional signal generator. Its design is simple,inexpensive,stable and can be used in a variety of occasions that require low frequency signal source,it has practical value.【keywords】Signal Generator D / A converter AT89C51 Frequency Margin目录第一章绪论 (4)1.1课题研究的动态和意义 (4)1.2单片机概述 (4)1.3信号发射器分类 (4)1.4设计任务和要求 (4)第二章方案的设计与选择 (5)2.1方案的比较 (5)2.2设计原理 (5)2.3设计功能 (6)第三章主要电路元器件介绍 (6)3.1AT89C51单片机简介 (6)3.2DAC0832简介 (8)第四章硬件实现和单元电路设计 (9)4.1硬件原理框图 (9)4.2复位电路 (10)4.3D/A转换电路 (11)4.4按键接口电路 (12)4.5时钟模块设计 (12)4.6显示模块设计 (13)第五章软件设计 (14)5.1程序流程图 (14)5.2初始化程序 (15)5.3键扫描程序 (16)5.4波形产生程序 (16)5.5波形仿真 (17)第六章安装调试和问题解决 (21)6.1调试过程 (21)6.2出现问题与解决方法 (22)实验总结 (22)致谢 (23)参考文献 (23)附录1 电路原理图 (23)附录2 源程序 (24)第一章绪论1.1课题研究的动态和意义信号发生器也被称为函数发生器,主要作为试验用的信号源,是现金各种电子电路实验设计中不可或缺的仪器设备之一。
基于51单片机的多功能信号发生器设计word格式
基于51单片机的多功能信号发生器设计一、设计目的和意义随着电子技术的发展,信号发生器经常要用在各种科学技术领域和工程实践中。
选择适当的嵌入式处理器、DA转换芯片,放大器,设计出一种基于单片机的多功能信号发生器的设计,能够实现键盘控制下输出正弦波、方波、三角波等波形。
二、设计原理利用51单片机采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产1Hz—3kHz的波形。
通过键盘来控制三种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分。
三、详细设计步骤1.总体框架图1 系统总体框架2.单片机最小系统设计51单片机是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单﹑可靠。
用80C51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图2所示。
由于集成度的限制,最小应用系统只能用作一些小型的控制单元。
其应用特点:(1) 有可供用户使用的大量I/O口线。
(2) 内部存储器容量有限。
(3) 应用系统开发具有特殊性。
图2 51单片机最小系统3.波形产生模块由单片机采用编程方法产生三种波形、通过DA转换模块DAC0832在进过滤波放大之后输出。
开始置DAC0832口地址4000HA赋值为#00H(A)0823输出A=F0H A=A+1图3锯齿波产生流程图锯齿波产生首先将DAC0832口地址置为4000H,然后将00H送入寄存器A中,DAC0832输出A的内容,当A中的内容等于F0H返回开始,当A中的内容不为0FH时,A的内容累加,从而输出波形。
图4 三角波产生流程图三角波产生首先将DAC0832口地址置为4000H,通过A中数值的加1递增,当A中的内容为0FFH时,A中的内容减1递减,从而循环产生三角波。
基于51单片机高频函数信号发生器
函数信号发生器设计报告参赛人员:朱秋王嘉文房开兰指导教师:漆晶二0 0 九年七月十四日摘要波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。
本函数发生器采用STC89C52 单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(uA741)、倍频电路(CD4046)、按键和LCD显示电路等。
电路采用STC89C52单片机和一片DAC0832数模转换器组成数字式低频信号发生器。
函数信号发生器,它具有价格低、性能高和在低频范围内稳定性好、操作方便、体积小、耗电少等特点。
由于采用了uA741运算放大器和滤波电路,使其电路更加具有较高的稳定性能,性能比高。
此电路清晰,出现故障容易查找错误,操作简单、方便。
通过按键控制可产生方波、三角波、正弦波,同时用LCD1602显示幅值和频率。
所产生的波形V P-P范围为0~5 V,由倍频电路使频率范围为100Hz~ 1MHz,波形准确并且平滑。
本系统设计简单、性能优良,具有一定的实用性。
关键词:单片机;倍频;调频;调幅;LCD1602AbstractWaveform generator is a common signal source, widely used in electronic circuits, automatic control systems and experiments in areas such as teaching .Function generator used as a control core STC89C52 single-chip, external digital / analog converter circuit (DAC0832),operational amplifier circuit (uA741), frequency-doubling circuit (CD4046), and buttons and LCD display circuit. STC89C52 circuit and a single-chip digital DAC0832 Digital to Analog component of low-frequency signal generator. Function signal generator, it has a low price, high-performance and low-frequency range of good stability, convenient operation, small size, low power consumption and so on. UA741 As a result of the operational amplifier and filter circuit to circuit with high stability and more performance, high performance. This circuit clears, easy to find failure error, simple and convenient.Keys can be generated through control of square wave, triangle wave, sine wave, LCD display at the same time with the amplitude and frequency. Waveform generated by VP-P range of 0 ~ 5 V, so that by the multiplier circuit for frequency range 92.592593Hz ~ 217.3913Hz, accurate and smooth waveform. The system is designed to be simple, excellent performance, with a certain degree of practicality.Key words:microcomputer; frequency; FM; AM; LCD1602目录一、系统方案 (5)1、1 信号发生部分 (5)1、2显示部分 (6)二、系统设计 (6)2、1 总体设计思路 (6)2、2总体框图 (6)三、硬件电路 (7)3、1单片机电路 (7)3、1、1 功能与基本原理 (7)3、1、2 资源分配 (8)3、2波形转换(D/A)电路 (8)3、3显示接口电路 (9)3、4倍频电路 (9)四、软件设计及流程 (10)五、调试与测试结果 (11)5、1 硬件调试 (11)5、2 软件调试 (11)六、结束语 (11)七、参考文献 (12)八、附录 (12)8、1 元件清单 (12)8、2 电路原理图 (13)8、3 程序清单 (14)一、系统方案题目要求实现的任务是设计并制作一个函数信号发生器,能产生正弦波,方波,三角波,要求不用DDS和专用的波形产生芯片,频率范围100Hz~1MHz,幅度0~5V,方波占空比可调,实时显示频率和幅度。
基于51单片机函数信号发生器设计
摘要:本系统利用单片机AT89S52采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产1Hz—3kHz的波形。
通过键盘来控制三种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。
关键词:单片机AT89S52、DAC0832、液晶1602Abstract: this system capitalize on AT89s52,it makes use of central processor to generate three kinds of waves, they are triangle wave, and use D/A conversion module, wave generate module and liquid crystal display of 1602, it can have the 1Hz-3KHz profile. In this system it can control wave form choosing, frequency, range,can have the sine wave, the square-wave, the triangular wave. Simultaneously may also take the frequency measurement frequency,and displays them through liquid crystal display of 1602.this design includes three modules. They are D/A conversion module, wave generate module and liquid crystal display of LED module. In this design, the wave generator into wave form module and D/A conversion module are discussed in detail.key word: AT89S52, DAC0832, liquid crystal 1602.目录1. 系统设计1.1 设计要求1.2方案设计与论证1.2.1 信号发生电路方案论证1.2.2 单片机的选择论证1.2.3 显示方案论证1.2.4 键盘方案论证1.3 总体系统设计1.4 硬件实现及单元电路设计1.4.1 单片机最小系统的设计1.4.2 波形产生模块设计1.4.3 显示模块的设计1.4.4 键盘模块的设计1.5 软件设计流程1.6源程序2. 输出波形的种类与频率的测试2.1 测试仪器及测试说明2.2 测试结果3. 设计心的及体会4. 附录4.1 参考文献4.2 附图1、系统设计经过考虑,我们确定方案如下:利用AT89S52单片机采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控制三种波形的类型选择、频率变化,最终输出显示其各自的类型以及数值。
可叠加信号发生器
学号2009061104密级___________ 哈尔滨工程大学学士学位论文基于51单片机的信号可叠加的信号发生器设计院(系)名称:信息与通信工程学院专业名称:电子信息工程学生姓名:包文龙指导教师:李康讲师哈尔滨工程大学2014年6月哈尔滨工程大学学士学位论文基于51单片机的可叠加的信号发生器的设计包文龙哈尔滨工程大学学号2009061104密级____________基于51单片机的信号可叠加的信号发生器设计A superimposed Signal Generator Design Basedon 51 Microcontroller学生姓名:包文龙所在学院:信息与通信工程学院所在专业:电子信息工程指导教师:李康职称:讲师所在单位:哈尔滨工程大学论文提交日期:2014年6月17日论文答辩日期:2014年6月17日学位授予单位:哈尔滨工程大学基于51单片机的信号可叠加的信号发生器设计摘要信号发生器作为基础的激励和测控检测仪器,早已渗透在实验教学、科学研究等多项领域,各种功能多样的信号发生器的研制和推广成为当今科技的一大课题。
本文介绍了一种采用STC89C52为主控芯片,利用芯片定时/计数器,通过程序查表的方法通过芯片三组I/O口输出离散化处理的波形信号,并经三片DAC0832数模转换,uA741运放使电流转换成电压并控制电压幅度增减的数字式波形发生器,可同时产生正弦波,方波,三角波等波形图。
通过示波器观察波形准确平滑,种类可以自由切换,周期、、幅度、初相均可调,编写一定算法,根据需要选择某种波形一周期内某段截取,对两种或三种截取波形叠加以产生新的波形,波形的截取、叠加控制彼此不受影响,波形截取起始终止点可在示波器上显示。
基于51单片机的可叠加的波形发生器,价格低廉、精度高、程序控制,并且体积小,操作方便,功率低,有很高的实验和应用价值。
关键词:单片机;信号发生器;截取;可叠加;程控I I哈尔滨工程大学学士学位论文ABSTRACTWaveform generator is a common signal source, which is widely used in electrniccircuits, automatic control system and teaching experiment etc.This paper introduces a kind of STC89C52 chip.With the timer/counter, the method of programming and software look-up table,the discrete-processed signal is outputed by the three groups of I/O port chip. Then through three pieces of DAC0832 chips to make D/A conversion and three pieces of uA741 op-amp chips to make current into voltage, uA741 op-amp can also control the voltage amplitude increase or decrease,we get a digital waveform generator,which can generate sine wave、square wave、triangular wave etc.Through the oscilloscope observation,the waveform is accurate and smooth,Species is free to switch, cycle,, amplitude and initial phase are adjustable. By the adoption of a certain algorithm and program,we can choose a period of a week of a waveform according to need to intercept,then superpose the two or three intercepted waveform to generate a new wave.The control of intercepting and superposing of waveform is not affected by each other. The starting and ending points of waveform interception can be showed by the oscilloscope.A superimposed signal generator design based on 51 microcontroller ,low cost, high precision and can be programmed and small volume, convenient operation, less consumption,has a high experiment and application value .Key words:microcontroller; wave generator; interception; superpose; program controlII基于51单片机的信号可叠加的信号发生器设计目录第1章绪论 (1)1.1 选题背景和目的 (1)1.2 信号发生器和单片机 (1)1.3 设计任务和要求 (2)1.4 研究设想和实现 (2)1.5 预期结果 (3)第2章系统方案的选择和简述 (4)2.1 方案的提出和论证 (4)2.1.1 信号发生方案的论证 (4)2.1.2 单片机方案论证 (5)2.2 系统总体概述 (5)2.2.1 系统总体框图和模块 (5)2.2.2 系统总体原理概述 (5)2.3 本章小结 (6)第3章功能模块及其原理 (7)3.1 单片机模块 (7)3.1.1 STC89C52 (7)3.1.2 单片机最小系统 (7)3.1.3 单片机产生波形原理 (9)3.2 D/A转换模块 (9)3.2.1 DAC0832引脚和结构 (10)3.2.2 DAC0832转换计算 (11)3.3 运放模块 (12)3.3.1 uA741引脚和结构 (12)3.3.2 uA741的电源供应 (13)3.4模拟加法器 (15)3.4.1 加法器原理 (15)3.4.2 波形选择、叠加、幅度调节 (17)III哈尔滨工程大学学士学位论文3.5 按键控制模块 (18)3.5.1 键盘检测原理 (18)3.5.2 中断概念和定时器中断 (19)3.6 低通滤波模块 (23)3.7本章小结 (25)第4章程序设计和分析 (26)4.1 系统程序总体框图 (26)4.2 Keilc 51简介 (27)4.3 频率调节 (28)4.4 波形截取 (29)4.5 初相调节 (32)4.6 本章小结 (34)第5章系统功能说明 (35)5.1 基本波形 (35)5.2 波形截取和叠加 (37)5.3 初相调节 (40)5.4 频率调节 (40)5.5 出现的问题及解决 (42)5.6 本章小结 (43)结论 (44)参考文献 (45)致谢 (46)IV第1章绪论第1章绪论1.1 选题背景和目的随着现代各种测控仪器的产生和发展,人们对电子测量的精度和稳定度的要求越来越高,促使各种信号发生器种类不断增加,各种性能和功能也层出不穷。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要欧阳光明(2021.03.07)本文以STC89C51单片机为核心设计了一个低频函数信号产生器。
信号产生器采取数字波形合成技术,通过硬件电路和软件法度相结合,可输出自界说波形,如正弦波、方波、三角波、三角波、梯形涉及其他任意波形,波形的频率和幅度在一定规模内可任意修改。
波形和频率的修改通过软件控制,幅度的修改通过硬件实现。
介绍了波形的生成原理、硬件电路和软件部分的设计原理。
本系统可以产生最高频率798.6HZ的波形。
该信号产生器具有体积小、价格低、性能稳定、功能齐全的优点。
关键词:低频信号产生器;单片机;D /A转换;1设计选题及任务设计题目:基于单片机的信号产生器的设计与实现任务与要求:设计一个由单片机控制的信号产生器。
运用单片机系统控制产生多种波形,这些波形包含方波、三角波、锯齿波、正弦波等。
信号产生器所产生的波形的频率、幅度均可调节。
并可通过软件任意修改信号的波形。
基本要求:1. 产生三种以上波形。
如正弦波、三角波、矩形波等。
2.最年夜频率不低于500Hz。
并且频率可按一定规律调节,如周期按1T,2T,3T,4T或1T,2T,4T,8T变更。
3.幅度可调,峰峰值在0——5V之间变更。
扩展要求:产生更多的频率和波形。
2系统概述2.1计划论证和比较2.1.1总体计划:计划一:采取模拟电路搭建函数信号产生器,它可以同时产生方波、三角波、正弦波。
可是这种模块产生的不克不及产生任意的波形(例如梯形波),并且频率调节很不便利。
计划二:采取锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需频率上,该计划性能良好,但难以达到输出频率笼盖系数的要求,且电路庞杂。
计划三:使用集成信号产生器产生芯片,例如AD9854,它可以生成最高几十MHZ的波形。
可是该计划也不克不及产生任意波形(例如梯形波),并且价格昂贵。
计划四:采取AT89C51单片机和DAC0832数模转换器生成波形,加上一个低通滤波器,生成的波形比较纯洁。
它的特点是可产生任意波形,频率容易调节,频率能达到设计的500HZ以上。
性能高,在低频规模内稳定性好、操纵便利、体积小、耗电少。
经比较,计划四既可满足课程设计的基本要求又能充分阐扬其优势,电路简单,易控制,性价比高,所以采取该计划.2.1.2修改幅度计划:计划一:可以将送给DA的数字量乘以一个系数,这样就可以修改DA输出电流的幅度,从而修改输出电压;可是这样做有很严重的问题,单片机在做乘法运算时需要很长的时间,这样的话输出波形的频率就会很低,达不到至少500HZ的要求;并且该计划的输出电压做不到连续可调,当DA的输入数字量比较小时,输出的波形失真就会比较严重。
计划二:将输出电压通过一个运算放年夜器的放年夜。
这样还有个优点是幅度连续可调。
经比较,计划二既可满足课程设计的基本要求,并且电路也挺简单。
2.2工作原理数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的办法来获得所需要的波形。
89C51单片机自己就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、按时器/计数器以及串行通讯接口等,只要将89C51再配置键盘及、数模转换及波形输出、放年夜电路等部分,即可构成所需的波形产生器,其信号产生器构成系统框图如下图所示。
系统框图89C51是整个波形产生器的核心部分,通过法度的编写和执行,产生各种各样的信号,并从键盘接收数据,进行各种功能的转换和信号幅度的调节。
当数字信号电路达到转换电路,将其转换成模拟信号也就是所需要的输出波形。
波形ROM表是将信号一个周期等间距地别离成64个点,贮存在单片机得RON内。
具体ROM表是通过MATLAB生成的,例如正弦表,MATLAB生成的法度如下:x=0:2*pi/64:2*pi; y=round(sin(x)*127)+1283单位电路设计与阐发3.1.1主控电路设计中主要采取STC89C51型单片机,它具有如下优点:(1)拥有完善的外部扩展总线,通过这些总线可便利地扩展外围单位、外围接口等。
(2)该单片机内部拥有4K字节的FLASH ROM法度存储器空间和256字节的RAM数据存储空间,完全可以满足法度的要求。
由于该芯片可电擦写,故可重复使用。
如果更改法度内容,可将芯片拿下重新烧写。
(3)该单片机与工业标准的MCS-51型机的指令集和输出引脚兼容。
中断系统是使处理器具有对外界异步事件的处理能力而设置的。
傍边央处理器CPU正在处理某件事的时候外界产生了紧急事件,要求CPU暂停以后的工作,转而去处理这个紧急事件。
在波形产生器中,用两个开光直接与外部中断0和外部中断1的管脚相连,其中S1开光用来修改波形,S2开光用来修改频率。
在法度主函数中,我们写了个死循环一直输出一个默认的波形,当S1或S2按下又抬起时,法度会暂时跳出死循环,进入中断处理法度,从而对波形和频率进行修改。
时钟电路。
由于频率较年夜时,三角波、正弦波、方波等波中每一点延时时间为几微秒,故延时时间还要加上指令时间即可获得指定频率的波形,该电路用11.0592MHz晶振。
主控电路图3.1.2 数/模转换电路由于单片机产生的是数字信号,要想获得所需要的波形,就要把数字信号转换成模拟信号,所以该文选用价格昂贵、接口简单、转换控制容易并具有8位辩白率的数模转换器DAC0832。
DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。
但实际上,DAC0832输出的电量也不是真正能连续可调,而是以其绝对辩白率为单位增减,是准模拟量的输出。
DAC0832是电流型输出,在应用时外接运放使之成为电压型输出。
根据对DAC0832的数据锁存器和DAC寄存器的不合的控制方法,DAC0832有三种工作方法:直通方法、单缓冲方法和双缓冲方法。
本设计选用直通方法。
DAC0832的数据口和单片机的P0口相连。
CSDA:片选信号输入线(选通数据锁存器),低电平有效;WR:数据锁存器写选通输入线,负脉冲(脉宽应年夜于500ns)有效。
由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;数模转换电路3.1.3运算放年夜电路和低通滤波电路LM324的5管脚与DAC0832的(IOUT2)12管脚相连,LM324的6管脚与DAC0832的(IOUT1)11管脚相连,LM324的7管脚与DAC0832的REF(9)管脚相连.第一级运算放年夜器的作用是将DAC0832输出的电流信号转化为电压信号V1,第二级运算放年夜器的作用是将V1通过反向放年夜电路(R2/R1)倍。
题目要求输出的电压在05V可调,而V1的电压年夜约是5V,所以R1选择5K的电阻,R2选择10K的电位器,这样最年夜的输出电压为5*(10/2)=10,最小电压为0,可以实现题目要求的05V。
在第二个运算放年夜器的输出端连了一个低通滤波器。
如果不加低通滤波器,也能够生成波形,可是产生的信号中毛刺很多,加一个低通滤波器不但起到的滤波的作用,还起到了平滑的作用。
低通滤波器的截止频率F=1/(2*pi*R3*C6),这里我们选择R3 为100欧姆电阻,C6为104电容,截止频率F=16KHZ。
实验标明,此时的输出波形效果不错。
3.1.4 串口通信电路通用异步收发器(UART)是一种串行接口,一般微处理器中都包含这种外设接口。
异步串行接口提供了一种简单的途径,使两个器件无需共享同一个时钟信号就能进行通信。
如果再加入一个合适的电平转换器MAX232,串口就能能用在RS232和RS485等网络中实现通信,或者与计算机的COM端口连接。
串口只需两根信号线(RX和TX)即可实现,并且只要两端器件都采取同样的位格式和波特率,那么它们无需其它任何对方的信息就可以胜利传输数据。
串口通信电路图3.2系统软件设计软件设计上,根据功能分了几个模块编程。
模块主要有:主法度模块、外部中断0模块,外部中断1模块。
主法度:主法度先是进行一些初始化的工作,然后根据波形标记a,b,c,d,e 的值进入相应的while 循环。
这样写的好处是输出的波形频率可以790多HZ。
在while循环中,单片机根据地址标记位不断低查表,然后把查得的值赋给DAC0832的数据口,然后地址标记位加一,并判断地址标记位是否即是64,如果是就置0再往下执行,如果不是直接往下执行。
然后根据频率标记位进行相应的延时。
主法度流程图中断办事法度:本法度中两个外部中断辨别起到了控制波形和频率的作用。
在法度中还加入了消抖部分。
4装置调试及丈量数据阐发4.1调试过程;1.欠亨电,用万用表根据电路图仔细检查各线路连接是否正常。
2.首先是调试单片机部分,DA和运算放年夜器芯片不接。
用STC_ISP_V483软件通过串口下法度。
看是否可以正常下法度。
3.当可以正常下法度时,给51单片机下一个让所有I/0口一会儿输入0,延时,再输出1,以此类推。
用万用表丈量各I/O口得电压是不是一会儿高,一会儿低。
4.安上DA和运算放年夜器芯片,给单片机下一个输出正弦波的测试法度,通过示波器看输出是否正常。
5.给单片机下一个完整的法度,辨别按下S1,看波形是否修改。
按下S2,看频率是否修改。
4.2频率的丈量数据:单位:HZ4.3呈现的问题与解决的办法:1.调试单片机的串口时,发明不克不及正常的下法度。
我想可能是单片机坏了借了一块学习板测试了一下单片机芯片,发明可以正常下载。
这说明很可能是MAX232的电路出了问题。
我仔细检查了电路图,又上网查了下其他的MAX232的电路图,发明我的电路图和他人的不一样。
我是依照郭天翔的那本《新概念51单片机C语言教程入门、提高、开发、拓展全》第130页的串口电路画的图,电路图中MAX232的TIOU1接串口的第3脚。
而其他书上有些电路图却是MAX232的TIOU1接到了串口的第2脚。
于是我将MAX232的TIOU1接串口的第2脚,再下法度,终于可以正常下载了。
2.刚开始写的测试法度输出的波形失真很年夜。
我想可能是波形的ROM内外的数据值过小,招致DA输出的误差很年夜。
因而卧将波形的ROM内外的数据值调年夜,在测试时发明波形变得好多了。
3.调试波形的时候我发明矩形波的失真比较年夜。
我想到可能是低通滤波器的截止频率太低了,因而我将RC低通滤波器的电阻由1K换成了100欧姆,效果好了很多。
4.4系统仿真波形:矩形波锯齿波正弦波4.5效果阐发:由 4.2的频率理论值与实际值,可知频率在T,2T,3T,4T,5T,6T,7T,8T 上频率误差很小。
最终的波形输出效果也很不错。