导航:首页 > 操作系统 > 51单片机正弦波数据

51单片机正弦波数据

发布时间:2024-01-15 06:21:05

㈠ 51单片机怎样采集正弦波的频率

用比较器将正弦波变为方波,用单片机中的T0或T1口配合测频率,T0可以用来计时,T1用来计算脉冲的个数,当定时1时间到了,计算T1的脉冲个数。calc()函数就是计算频率的函数。
#include "reg51.h"
#define uchar unsigned char
uchar disp[8]={0,0,0,0,0,0,0,0};
uchar T0count,T1count;

void delay(void)
{
uchar i;
for(i=250;i>0;i--);
}

void display()
{
//uchar i,j,k=0x80;
uchar dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar i,k;
k=0x80;
for(i=0;i<8;i++)
{
P2=0;
P0=dispcode[disp[i]];
P0=~P0;
P2=k;
k=k>>1;
delay();
}
P2=0;
}
void calc()
{
uchar i;
long frequency;
frequency=(T0count*256+TH0)*256+TL0;
for(i=7;i>0;i--)
{
disp[i]=frequency%10;
frequency=frequency/10;
}
disp[0]=frequency;
}
void init()
{
T0count=0;
T1count=0;
TH0=0;
TL0=0;
}

void main()
{
init();
TMOD=0x15;
TH1=(65536-5*110592/12)/256;
TL1=(65536-5*110592/12)/256%10;
ET1=1;
ET0=1;
EA=1;
TR1=1;
TR0=1;
//以下四句的作用是在P1.0引脚上形成1000Hz的脉冲,用导线连接到P3.4作为测试用,如果是AT89S51,则四句不用。将其中
//高8位和低8位的初始值更改后可输出不同频率的脉冲。
/*
T2MOD=0x2;
RCAP2H=245;
RCAP2L=74;
TR2=1;
*/
while(1)
{
display();
}
}
void time0() interrupt 1
{
T0count++;
}
void time1() interrupt 3
{
TH1=(65536-5*110592/12)/256;
TL1=(65536-5*110592/12)/256%10;
if(T1count==19)
{
calc();
init();
}
else T1count++;
}

㈡ 我现在用了个51单片机要怎么样才能弄出个正弦波 不加DA转换芯片的情况下可以办到吗

很简单啊,单片IO输出1的时候接近电源,输出0的时候接近0V,取3个以上的IO口,假如IO全输出1的时候那么这个端口是电源电压,每个I0用不同的电阻分压,依次将IO值1,就可以得到上升的电平。依次值0就是下降的电平,输出用电容平滑下,就是正弦波了。

㈢ 51单片机控制DAC0832产生正弦波,如何用定时器改变频率,求代码!

可以用一个定时器中断,在中断服务程序里面,直接把对应的正弦采样数据置入P1口,通过修改定时器的中断间隔,达到调整输出频率的目的;
假设你的采样数据的原始采样率为1KHz, 被采样正弦波频率为100Hz,当Timer中断间隔为1ms时,DAC那里输出处理后输出即为100Hz, 如果中断间隔为500us,输出就是200Hz

static unsigned char byIndex=0;
中断函数里面包含如下两句

P1 = Sin[byIndex++];
byIndex &= 0x7f;

㈣ 怎么用51单片机编写正弦波,有程序的更好,谢谢!!!

方法1: 用PWM功能,定时器中断,定时按照正弦波的规律数据不断改变PWM脉宽,PWM输出引脚用100K和104电容两级滤波,最后用运放跟随输出一下,得到近似正弦波。
方法2: 单片机+DA转换器,同样定时器中断,按正弦波数据不断刷新DA数据,使DA输出正弦电压。改变定时器中断时间,即可改变频率,注意DA器件的速度要足够快才行。

阅读全文

与51单片机正弦波数据相关的资料

热点内容
什么是白盒加密算法 浏览:804
乐书pdf 浏览:427
a星寻路算法在3d中 浏览:137
抗震等级不同箍筋加密区范围不同 浏览:471
xshell上传文件命令 浏览:781
优先级队列java 浏览:156
轻量化腾讯云服务器有什么用 浏览:462
编译原理自编译语言 浏览:425
闲鱼app为什么这么多 浏览:692
安卓手机玩游戏不卡怎么设置 浏览:568
编译链接装载书 浏览:539
面试腾讯公司程序员 浏览:110
一个字母y是什么app 浏览:144
魔兽大脚解压安装教程 浏览:9
超时代共享文件夹破解版 浏览:443
命令与征服红色警戒3攻略 浏览:726
解压缩jar包 浏览:588
如何计算服务器的最大并发数 浏览:345
java数组类型定义 浏览:850
安卓卡一和卡二怎么切换 浏览:985