久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
51單片機怎么模擬PWM波(詳解!帶程序)
[打印本頁]
作者:
dagu
時間:
2014-12-26 18:29
標(biāo)題:
51單片機怎么模擬PWM波(詳解!帶程序)
51系列單片機無PWM輸出功能,可以采用定時器配合軟件的方法輸出。對精度要求不高的場合,非常實用。
一般可以使用兩個定時器來實現(xiàn),如果單片機是S51的話使用T0和T1,如果是S52的話建議使用T0和T2,因為定時器在工作方式2的八位重裝模式下定時比較準(zhǔn)確,這里我們使用T0和T1
用T0定時器完成PWM輸出,脈寬固定,T1來決定高平的寬帶來進行PWM調(diào)制
具體程序如下:
其中晶振12M,載波頻率20KHZ,直接用P0.1來驅(qū)動直流電機,直流電機正極接電源正,單片機低平驅(qū)動,這樣灌電流大。
#include < reg51.h >
#include < intrins.h >
sbit K1 =P1^4 ; //增加鍵
sbit K2 =P1^5 ; //減少鍵
sbit P00 =P0^1;
sbit BEEP =P3^7 ; //蜂鳴器
unsigned char PWM=0xe7; //賦初值
void Beep();
void delayms(unsigned char ms);
void delay(unsigned char t);
/*********************************************************/
void main()
{
P1=0xff;
TMOD=0x21 ;
TH0=0xff ; //50us延時常數(shù)
TL0=0xce ; //頻率調(diào)節(jié)
TH1=PWM ; //脈寬調(diào)節(jié)
TL1=0 ;
EA=1;
ET0=1;
ET1=1;
TR0=1 ;
while(1)
{
do{
if(PWM!=0xff)
{PWM++ ;delayms(10);}
else Beep() ;
}
while(K1==0);
do{
if(PWM!=0xce)
{PWM-- ;delayms(10);}
else Beep() ;
}
while(K2==0);
}
}
void timer0() interrupt 1
{
TR1=0 ;
TH0=0xff ;
TL0=0xce ;
TH1=PWM ;
TR1=1 ;
P00=0 ; //啟動輸出
}
void timer1() interrupt 3
{
TR1=0 ;
P00=1 ; //結(jié)束輸出
}
/*********************************************************/
//蜂鳴器子程序
/*********************************************************/
void Beep()
{
unsigned char i ;
for (i=0 ;i<100 ;i++)
{
delay(100) ;
BEEP=!BEEP ; //Beep取反
}
BEEP=1 ; //關(guān)閉蜂鳴器
delayms(100);
}
/*********************************************************/
// 延時子程序
/*********************************************************/
void delay(unsigned char t)
{
while(t--) ;
}
/*********************************************************/
// 延時子程序
/*********************************************************/
void delayms(unsigned char ms)
{
unsigned char i ;
while(ms--)
{
for(i = 0 ; i < 120 ; i++) ;
}
}
/*********************************************************/
復(fù)制代碼
作者:
szlaosong
時間:
2015-4-1 00:49
看看學(xué)習(xí)一下
作者:
lb688
時間:
2015-4-3 14:31
這款程序在學(xué)習(xí)板上試了一下,不是很理想。硬件是調(diào)節(jié)LED燈的亮度變化。
作者:
delay
時間:
2015-4-4 17:04
學(xué)習(xí)了,謝謝分享
作者:
hwt616591
時間:
2015-4-4 23:22
謝謝分享
作者:
youq2015
時間:
2015-6-21 10:24
看看效果如何,感謝分享
作者:
WSY_
時間:
2017-4-1 18:03
謝謝分享
作者:
JIN_zi
時間:
2017-4-4 14:08
終于明白了點兒了,不錯,贊一個
作者:
不會哭的毛毛蟲
時間:
2017-7-20 10:29
謝謝了
作者:
三四三
時間:
2017-8-5 15:26
很好 但是P00是什么意思
作者:
dx3536
時間:
2017-12-4 21:30
不知道自己能不能學(xué)的會
作者:
bbsbbc
時間:
2018-1-19 16:08
樓主分享
作者:
都市郎
時間:
2018-2-17 16:36
我把程序改到自己的開發(fā)板上實驗效果不好,調(diào)節(jié)范圍太小了.
作者:
ECC
時間:
2018-3-13 19:20
TR1為什么不賦1.
作者:
a50180
時間:
2018-3-13 19:36
不錯用定時器實現(xiàn)的
作者:
lizhendong
時間:
2018-4-27 23:47
學(xué)習(xí)學(xué)習(xí),謝謝
作者:
blossom99
時間:
2018-9-12 17:40
強烈建議加一個三極管驅(qū)動,8550之類的,這樣很可能燒單片機,過幾天可能的話我分享一下我的作品
作者:
jizi
時間:
2018-10-8 13:36
超給力
作者:
haiming8685
時間:
2018-10-8 16:48
請問這樣做脈沖輸出能占用單片機多少資源?比如我想做個30K的方波輸出驅(qū)動,響應(yīng)速度怎樣
作者:
haiming8685
時間:
2018-10-9 12:30
也可以用單片機直接驅(qū)動高速光耦再驅(qū)動其他器件,如三極管或mos管
作者:
大橘為重001
時間:
2019-2-26 15:42
學(xué)習(xí)學(xué)習(xí)
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
成人美女免费网站视频
|
日本韩国欧美在线观看
|
国产视频精品在线观看
|
综合二区
|
欧美日韩三区
|
国产在线精品一区二区三区
|
国产成人综合在线
|
国产精品国产
|
成人不卡视频
|
色频
|
日韩精品久久一区二区三区
|
亚洲精品久久久一区二区三区
|
亚洲一区二区久久
|
18成人在线观看
|
国产精品成人在线
|
日日夜夜天天综合
|
日韩av免费在线观看
|
91在线资源
|
国产亚洲精品成人av久久ww
|
精品三区
|
免费一区二区三区
|
波多野结衣一区二区三区在线观看
|
自拍偷拍亚洲视频
|
久综合
|
亚洲福利电影网
|
成人亚洲综合
|
日韩91
|
日本精品视频
|
求毛片
|
亚洲一区二区三区在线
|
成人自拍视频网站
|
嫩草视频在线
|
日韩在线
|
欧美5区
|
精品视频一区二区三区在线观看
|
欧美亚洲视频
|
伊人啪啪网
|
狠狠涩
|
国产精品免费大片
|
国产精品a免费一区久久电影
|
久久久日韩精品一区二区三区
|