设计制作一个波形发生器,该波形发生器能产生正弦波、方波、三角波和由用户编辑的特定形状波形。

来源:百度知道 编辑:UC知道 时间:2024/05/20 06:15:29
二、要求
1.基本要求
(1)具有产生正弦波、方波、三角波三种周期性波形的功能。
(2)用键盘输入编辑生成上述三种波形(同周期)的线性组合波形,以及由基波及其谐波(5次以下)线性组合的波形。
(3)具有波形存储功能。
(4)输出波形的频率范围为100Hz~20kHz(非正弦波频率按10次谐波计算);重复频率可调,频率步进间隔≤100Hz。
(5)输出波形幅度范围0~5V(峰-峰值),可按步进0.1V(峰-峰值)调整。
(6)具有显示输出波形的类型、重复频率(周期)和幅度的功能。
2.发挥部分
(1)输出波形频率范围扩展至100Hz~200kHz。
(2)用键盘或其他输入装置产生任意波形。
(3)增加稳幅输出功能,当负载变化时,输出电压幅度变化不大于±3%(负载电阻变化范围:100Ω~∞)。
(4)具有掉电存储功能,可存储掉电前用户编辑的波形和设置。
(5)可产生单次或多次(1000次以下)特定波形(如产生1个半周期三角波输出)。
(6)其它(如增加频谱分析、失真度分析、频率扩展>200kHz、扫频输出等功能)。

谁有电路图和论文报告啊?急!

这种东西买一个就可以了。

很成熟的产品,自己做反而更贵。

/////P2口接4*4键盘的行线和列线;红灯亮时进行频率输入;绿灯亮时进行占空比输入;频率值暂定在100到60KHZ之间;输入频率和占空比时要输够六位整数,不够的在前面补0;占空比以百比数(0-100)形式存在。///////////
/////////方波发生器资料。空军工程大学导院501明明,2007.10.10初稿/////////
#include<reg52.h>
#include<stdio.h>
#define uchar unsigned char
sbit coma=P1^0;
sbit comb=P1^1;
sbit comc=P1^2;
sbit comd=P1^3;
sbit come=P1^4;
sbit red=P1^5;
sbit green=P1^6;
sbit new=P1^7;
sbit Q=P3^7;
int i,x,y;

/* 延时函数 */
void delay(void)
{
uchar j;
for (j=300;j>0;j--);
}

/*数字对应的共阳极段码*/
uchar getcode(uchar i)
{
uchar p;
switch (i)
{
case 0: p=0xC0; break; /* 0 */
case 1: p=0xF9; break; /* 1 */
case 2: p=0xA4; break; /* 2 */
case 3: p=0xB0; break; /* 3 */
case 4: p=0x99; break; /* 4 */
case 5: p=0x92; break; /* 5 */
case 6: p=0x82; brea