Ⅰ 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