亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3051|回復: 1
打印 上一主題 下一主題
收起左側

關于單片機PWM頻率輸出問題,請指教...

[復制鏈接]
跳轉到指定樓層
樓主
ID:279847 發表于 2018-4-14 12:44 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 Listen丶51 于 2018-4-14 12:45 編輯

/*
/*******************
工作芯片:STC 15W101
********************
*/


#include <reg51.h>
#include<RegDefined.h>
typedef unsigned int u16;
typedef unsigned char u8;
sbit PWM = P3^4;
sbit key = P3^5;
sbit r_led = P3^2;
sbit g_led = P3^1;
sbit b_led = P3^3;
sbit BEEP = P3^0;
//u8 Motor_on[]={0,5,10,15};
char timer;
/*
void delay(u16 num)
{
         u16 x,y;
         for(x=num; x>0; x--)
         for(y=110; y>0; y--)
         {
           ;
         }
}
*/

void IO_Init(void)
{
         P3M0 = 0x10;
         P3M1 = 0x20;
         PWM = 0;
         r_led = 1;
         g_led = 1;
         b_led = 1;
}

void InitTimer0(void)  
{
    TMOD = 0x01;
    //TL0 = 0x48;        //200us定時
    //TL0 = 0x0A4;
    TH0 = 0x0FF;    //5us定時
    TL0 = 0x0FB;
    EA = 1;
    ET0 = 1;
    TR0 = 1;
}
void main (void)
{         
   IO_Init();
   InitTimer0();
   while(1);
}
void timer_t0(void) interrupt 1//定時器0中斷服務函數,入口        定時200us
{
    //TL0 = 0x48;        //200us定時
    //TL0 = 0x0A4;
    TH0 = 0x0FF;        //5us定時
    TL0 = 0x0FB;
        timer++;
        if(timer == 9)
        timer = 1;

        if(timer <= 5)
                PWM = 0;
        else
                PWM = 1;
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:164602 發表于 2018-4-14 17:35 | 只看該作者
定時器中斷服務函數中,應該加上清除中斷標記的語句——TF0 = 0;//清除定時器0中斷標志。
手冊上是說可以自動清除,但我在實踐中發覺不是那么回事,一定要加清除中斷標記才行。
你試試。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表