Ⅰ 51单片机如何输出方波
有的51带PWM的,用PWM方式输出方波很容易。
Ⅱ 求高手 用51单片机输出产生方波的程序
#include"reg52.h"
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;
}
Ⅲ 单片机输出方波
12系列的是不是自带寄存器可以输出方波,可以调试分频,输出20KHZ的方波,不行的话,可以用32M的晶振
Ⅳ 51单片机产生的方波能自己使用吗
可以。
可见:
http://hi..com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/ef2c24cbf257e74af31fe7ef.html
Ⅳ 如何用51单片机输出一个占空比可调的方波:
估计你这个是想使用单片机来驱动DC-DC稳压电源吧。
你买STC12系列的单片机,自带PWM及ADC功能,然后通过输出电压及电流值调整频率输出,控制MOS管驱动高频变压器就可以完成了。
Ⅵ 求教高手如何让单片机输出方波
#include<reg51.h>
//如果是循环输出的话,我建议你做一个数组,如:
unsignedcharcodeWafer_Level_Table[10]=
{
0x01,0x01,0x00,0x01,0x00,
0x01,0x01,0x00,0x00,0x01,
};
staticunsignedchari=0;
sbitWafer_Output_IO=P0^1;
//初始化定时器
voidTimer0_Init(void)
{
TMOD=0x01;
TH0=(65536-38)/256;//这里是晶振等于12MHz时候的值
TL0=(65536-38)%256;
EA=1;
ET0=1;
TR0=1;
}
voidmain(void)
{
Wafer_Output_IO=1;
Timer0_Init();
while(1)
{
if(i==10)
{
i=0;
}
}
}
//中断服务函数
voidTimer0_isr(void)interrupt1
{
TH0=0xff;//重新赋初值
TL0=0xda;
Wafer_Output_IO=Wafer_Level_Table[i++];
}
Ⅶ 关于单片机实现方波信号的输出,求大神解惑!
PWM 就是脉宽调制 pulse width molation
方波信号就是只有高电平和低电平两种(理想的)的波形
PWM可以调节方波的占空比(一个周期内高电平持续的时间)
可以用PWM的方法调节电机转速,灯的亮度等等
Ⅷ 51单片机输出两路方波信号
#include "reg51.h"
//timer init
void initTimer(void)
{
TMOD=0x11;
TH0=0xff;
TL0=0xf5;
TH1=0xf8;
TL1=0xd7;
}
//timer0/counter0 interrupt
void timer0(void) interrupt 1
{
TH0=0xff;
TL0=0xf8;
P1&=0x01;
}
//timer1/counter1 interrupt
void timer1(void) interrupt3
{
TH1=0xf8;
TL1=0xd9;
P1&=0x02;
}
//the main fun
void main(void)
{
initTimer();
TR0=1;
ET0=1;
TR1=1;
ET1=1;
EA=1;
while(1);
}
Ⅸ 单片机怎么输出方波
用定时器或者用一个循环都可以如下:
#include<reg51.h>
#define uchar unsigned char
pulse1=P1^0;
pulse2=P1^1;
void t0isr() interrupt 1
{
pulse1=~pulse1;
}
void delay(uchar a)
{
uchar i,j;
for(i=0;i<a;i++)
for(j=0;j<120;j++);
}
main()
{
TMOD=0x02;
TH0=56;
TL0=56;
TR0=1;
ET0=1;
EA=1;
while(1)
{
pulse2=~pulse2;
delay(10);
}
}
Ⅹ 单片机80C51 汇编方波输出
ORG 0000H
AJMP MAIN
ORG 000BH
T0MS EQU NOT 500 ; 定义定时器初值 12M晶振 0.5 mS = 500 1 mS = 1000
MOV TL0, #LOW T0MS
MOV TH0, #HIGH T0MS
CPL P1.0 ; P1.0 取反 输出 1 mS的方波
REIT
MAIN:MOV TMOD,#01H
MOV TL0, #LOW T0MS
MOV TH0, #HIGH T0MS
SETB TR0 ; 启动定时器
SETB ET0 ; 开 T0 中断
SETB EA ; 开 总 中断
SJMP $
END