帮帮忙啊,初学matlab遇到很多问题,我要产生一个周期为1M的周期矩形脉冲信号,要用什么函数

帮帮忙啊,初学matlab遇到很多问题,我要产生一个周期为1M的周期矩形脉冲信号,要用什么函数,第1张

周期性矩形波(方波)信号:在MATLAB中用square函数来表示,其调用形式为

y=square(t,DUTY)

其作用类似于sin(t),用以产生一个时长为t、幅值为±1的周期性方波信号,其中的DUTY参数表示占空比,即在信号的一个周期中正值所占的百分比。例如频率为30Hz的周期性方波信号的 MATLAB 参考程序如下:

t=-2pi/100:pi/1024:2pi/100;

y=square(2pi30t,50);

plot(t,y);

grid

ylim([-15 15])

#include<reg51h>

#define uchar unsigned char

#define uint unsigned int

uint num;

uchar times=0;

bit flag=0;

void t0isr() interrupt 1

{

num++;

}

void t1isr() interrupt 3

{

TH1=(65536-50000)/256;

TL1=(65536-50000)%256;

times++;

if(times>=20)

{

times=0;

TR0=0;

flag=1;

}

}

main()

{

TMOD=0x16; //定时器0做计数器接受外部脉冲输入,定时器1做定时器

TH0=0xff;

TL0=0xff;

TH1=(65536-50000)/256;

TL1=(65536-50000)%256;

EA=1;

TR0=1;

TR1=1;

ET0=1;

ET1=1;

while(1)

{

if(flag)

{

提取num脉冲数供处理

}

}

}

#include"reg52h"

sbit PWM=P1^0;//定义输出脚

void main()

{

TMOD=0x01; //定时器0工作方式1

TH0=(65536-10000)/256; //12M晶振10MS计时常数

TL0=(65536-10000)%256;

EA=1; //开总中断

ET0=1; //开定时器0中断

TR0=1; //启动定时器0

while(1);

}

//中断函数,启动后每10MS进入一次中断

void T0_time(void) interrupt 1

{

TH0=(65536-10000)/256; //12M晶振10MS计时常数

TL0=(65536-10000)%256;

if(PWM)PWM=0; //输出脚取反

else PWM=1;

}

以上就是关于帮帮忙啊,初学matlab遇到很多问题,我要产生一个周期为1M的周期矩形脉冲信号,要用什么函数全部的内容,包括:帮帮忙啊,初学matlab遇到很多问题,我要产生一个周期为1M的周期矩形脉冲信号,要用什么函数、51单片机大神们编个程序: 频率为25Hz的矩形波给单片机脉冲!求解1秒内输入的脉冲数…、求高手 用51单片机输出产生方波的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9835973.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存