C语言方波的函数表示 c语言已知频率求波长

怎样用C语言编写一个方波函数?附上代码,讲解在后面:
public class Program
{
static void Main(string[] args)
{
ListPoint range = new ListPoint(5 * 5);
for (int i = 0; i5; i)
{
for (int j = 0; j5; j)
{
range.Add(new Point { X = j, Y = i });
}
}
//移动方向的顺序
MoveDirection[] md = new[]
如何用c语言编写一段方波最好还是不要用延时函数
比较准确的方法是利用定时器
以c51为例:
/*********定时器方波************/
/*********16位定时器************/
/************机器周期1us********/
/*********占空比50%*************/
/*********方波周期1s*************/
int a;//定义全局整形变量
void int() interrupt 1
{
设置定时器初值为500;
a;
if(a == 1000)
{
"输出取反"
}
}
如何用C语言编程使单片机产生方波信号?普通51的话需要模拟PWM,如果是加强版51有内置PWM模块,
PIC和AVR以及430还有STM也有集成PWM的型号!
如果是单纯输出方波的话就简单了 。
程序如下:
//功能,按下P1_0的开关降低频率 , 按P1_1为升高频率
#includeAT89X52.H//引用AT89X52的库文件
#define uchar unsigned char//替换简称
#define uintunsigned int//替换简称
uchar sm;//定义临时变量
void delay_ms(uint ms)//延时子函数 , 一个循环12uS
{
while(--ms);
}
void T0_IRQ(void) interrupt TF0_VECTOR//定时器0中断函数
{
TH0=sm;//将变量赋予定时器0的高位
P2_0=!P2_0;//翻转IO
}
//寄存器初始化子函数
void mcu_init()
{
ET0=1;//开定时器0中断
EA=1;//开总中断
TMOD=0x01;//设置为16位定时器0
TH0=0xFF;//填充定时器高位
TR0=1;//开定时器0
sm=0xFF;//变量初始化
}
void main()//主函数
{
mcu_init();//调用初始化函数
while(1)//主循环
{
if((!P1_0)||(!P1_1))//检测是否有按键按下
{
delay_ms(8333);//延时去抖
if(!P1_0)//如果是P1_0按键按下
{
while(!P1_0); //等待按键放手
if(sm)//检测变量不为0
{
--sm;//自减1
P2_1=1;//取消边界LED
}
else P2_1=0; //到达边界点亮LED
}
else if(!P1_1)//否则如果P1_1按键按下
{
while(!P1_1); //等待按键放手
if(sm0xFF)//检测变量小于0xFF
{
sm;//自加1
P2_1=1;
}
else P2_1=0;
}
}
}
}
【C语言方波的函数表示 c语言已知频率求波长】关于C语言方波的函数表示和c语言已知频率求波长的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读