一、说明
信号发生器是一种能提供各种频率、波形和输出电平电信号的设备。在测量各种电信系统或电信设备的振幅特性、频率特性、传输特性及其它电参数时,以及测量元器件的特性与参数时,用作测试的信号源或激励源。
信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线以用三角函数方程式来表示。能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器。
信号发生器用来产生频率为20Hz~200kHz的正弦信号(低频)。除具有电压输出外,有的还有功率输出。所以用途十分广泛,可用于测试或检修各种电子仪器设备中的低频放大器的频率特性、增益、通频带,也可用作高频信号发生器的外调制信号源。另外,在校准电子电压表时,它可提供交流信号电压。低频信号发生器的原理:系统包括主振级、主振输出调节电位器、电压放大器、输出衰减器、功率放大器、阻抗变换器(输出变压器)和指示电压表。
主振级产生低频正弦振荡信号,经电压放大器放大,达到电压输出幅度的要求,经输出衰减器可直接输出电压,用主振输出调节电位器调节输出电压的大小。
简易多功能信号发生器是信号发生器的一种,在生产实践和科研领域中有着广泛的应用。在研制、生产、测试和维修各种电子元件、部件以及整机设备时,都需要有信号源,由它产生不同频率不同波形的电压、电流信号并加到被测器件或设备上,用其他仪器观察、测量被测仪器的输出响应,以分析确定它们的性能参数。信号发生器是电子测量领域中最基本、应用最广泛的一类电子仪器。它可以产生多种波形信号,如正弦波、三角波、方波和锯齿波等,因而广泛用于通信、雷达、导航、宇航等领域
信号发生器有参考振荡器、频率合成单元、调制单元、电平控制单元等组成。内部带有扫频输出功能(全频段扫频时间小于5秒),带有外部扫频控制输入接口(控制信号为电压0-5V,控制电流小于1mA)。
用开发装置和Proteus仿真编程实现以下功能:
- 多路脉冲信号发生器实验
二、重点
- 单片机定时器/计数器的工作方式及其控制方法
- 单片机定时器/计数器的实际应用
三、实现
#include<reg51.h> #define uint unsigned int #define uchar unsigned char unsigned int code sin_dat[360]= {0x80,0x82,0x84,0x86,0x88,0x8b,0x8d,0x8f,0x91,0x94,0x96,0x98, 0x9a,0x9c,0x9e,0xa1,0xa3,0xa5,0xa7,0xa9,0xab,0xad,0xaf,0xb1, 0xb4,0xb6,0xb8,0xba,0xbc,0xbe,0xbf,0xc1,0xc3,0xc5,0xc7,0xc9, 0xcb,0xcc,0xce,0xd0,0xd2,0xd3,0xd5,0xd7,0xd8,0xda,0xdc,0xdd, 0xdf,0xe0,0xe2,0xe3,0xe4,0xe6,0xe7,0xe8,0xea,0xeb,0xec,0xed, 0xee,0xef,0xf0,0xf2,0xf3,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9, 0xf9,0xfa,0xfb,0xfb,0xfc,0xfc,0xfd,0xfd,0xfe,0xfe,0xfe,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xfe,0xfe,0xfe,0xfd,0xfd,0xfc,0xfc,0xfb,0xfb,0xfa, 0xf9,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf4,0xf3,0xf2,0xf1,0xf0, 0xee,0xed,0xec,0xeb,0xea,0xe8,0xe7,0xe6,0xe4,0xe3,0xe2,0xe0, 0xdf,0xdd,0xdc,0xda,0xd9,0xd7,0xd5,0xd4,0xd2,0xd0,0xce,0xcd, 0xcb,0xc9,0xc7,0xc5,0xc3,0xc2,0xc0,0xbe,0xbc,0xba,0xb8,0xb6, 0xb4,0xb2,0xb0,0xae,0xab,0xa9,0xa7,0xa5,0xa3,0xa1,0x9f,0x9c, 0x9a,0x98,0x96,0x94,0x92,0x8f,0x8d,0x8b,0x89,0x86,0x84,0x82, 0x80,0x7d,0x7b,0x79,0x77,0x75,0x72,0x70,0x6e,0x6c,0x69,0x67, 0x65,0x63,0x61,0x5f,0x5c,0x5a,0x58,0x56,0x54,0x52,0x50,0x4e, 0x4c,0x4a,0x48,0x46,0x44,0x42,0x40,0x3e,0x3c,0x3a,0x38,0x36, 0x34,0x33,0x31,0x2f,0x2d,0x2c,0x2a,0x28,0x27,0x25,0x24,0x22, 0x21,0x1f,0x1e,0x1c,0x1b,0x19,0x18,0x17,0x16,0x14,0x13,0x12, 0x11,0x10,0x0f,0x0e,0x0d,0x0c,0x0b,0x0a,0x09,0x08,0x07,0x07, 0x06,0x5,0x5,0x4,0x3,0x3,0x2,0x2,0x1,0x1,0x1,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x1,0x2, 0x2,0x3,0x3,0x4,0x4,0x5,0x6,0x6,0x7,0x8,0x9,0xa,0xa,0xb,0xc, 0xd,0xe,0xf,0x10,0x12,0x13,0x14,0x15,0x16,0x18,0x19,0x1a,0x1c, 0x1d,0x1f,0x20,0x22,0x23,0x25,0x26,0x28,0x2a,0x2b,0x2d,0x2f, 0x30,0x32,0x34,0x36,0x38,0x39,0x3b,0x3d,0x3f,0x41,0x43,0x45, 0x47,0x49,0x4b,0x4d,0x4f,0x51,0x53,0x55,0x58,0x5a,0x5c,0x5e, 0x60,0x62,0x65,0x67,0x69,0x6b,0x6d,0x70,0x72,0x74,0x76,0x78, 0x7b,0x7d};// 正弦信号产生数组 超过128字节需要将数据放到rom当中 /**********************************************************/ //主程序 /**********************************************************/ void main() { uint i=0; while(1) { for(i=0;i<360;i++)//以下为0832驱动程序 { P2=sin_dat[i];//P2口输出数据 ;;;//小延时 } } }
四、下载