导航:首页 > 操作系统 > 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单片机正弦波数据相关的资料

热点内容
加密的视频不小心删除怎么恢复 浏览:462
安卓游戏充钱充错帐号怎么办 浏览:203
有什么是绑定手机号的app 浏览:496
phpredis事务 浏览:935
阴阳师pad怎么登录安卓账号 浏览:734
bitlocker加密后读取不了 浏览:176
算法设计是指流程图吗 浏览:168
javaboot如何防止反编译 浏览:118
python复合数据结构视频 浏览:146
培训学校需要用什么云服务器 浏览:721
卫星锅加密卡那里收购 浏览:58
小米工具文件夹选项在哪里 浏览:55
md5磁盘加密 浏览:642
单片机x地址 浏览:208
回车键失灵运行命令如何使用 浏览:984
电脑一键解压缩的软件 浏览:171
怎么关闭手机通讯录对外app 浏览:370
我的世界如何强行进入一个满人的服务器 浏览:653
什么app可以查询会考成绩 浏览:389
程序员能创造的价值 浏览:261