18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 18luck平台 >> 單片機 >> 正文

單片機C語言程序設計:用 ADC0808 控製PWM 輸出

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2017-6-24

單片機pwm輸出電路圖 /* 名稱:用 ADC0808 控製 PWM 輸出

說明:使用數模轉換芯片 ADC0808,通過調節可變電阻 RV1 來調節脈衝(chong) 寬度,

運行程序時,通過虛擬示波器觀察占空比的變化。

*/

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit CLK=P2^4;  //時鍾信號
sbit ST=P2^5;   //啟動信號
sbit EOC=P2^6; //轉換結束信號
sbit OE=P2^7;  //輸出使能
sbit PWM=P3^0;    //PWM 輸出
//延時
void DelayMS(uint ms)
{
uchar i;
while(ms--) for(i=0;i<40;i++);
}
//主程序
void main()
{
uchar Val;
TMOD=0x02; //T1 工作模式 2
TH0=0x14;
TL0=0x00;
IE=0x82;
TR0=1;
while(1)
{


ST=0;ST=1;ST=0;  //啟動 A/D 轉換
while(!EOC);  //等待轉換完成
OE=1;
Val=P1;      //讀轉換值
OE=0;
if(Val==0)   //PWM 輸出(占空比為(wei) 0%)
{
PWM=0;
DelayMS(0xff);
continue;
                 }
if(Val==0xff)   //PWM 輸出(占空比為(wei) 100%)
{
PWM=1;
                              DelayMS(0xff);
                               continue; 
           }
 
 
}

//T0 定時器中斷給 ADC0808 提供時鍾信號
void Timer0_INT() interrupt 1
{
CLK=~CLK;
}
 

PWM=1;   //PWM 輸出(占空比為(wei) 0%~100%)
DelayMS(Val);
PWM=0;
DelayMS(0xff-Val);


 

Tags:單片機C語言,ADC0808,PWM 輸出,c語言  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁麵
下到頁底
晶體管查詢