久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

為什么這個單片機程序在protues仿真時 單片機P1^3能工作,但p1^4和p1^5一直是高電平呢

[復制鏈接]
跳轉到指定樓層
樓主
ID:771216 發表于 2020-6-18 22:07 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
uchar time1=0;
uchar time2=0;
uchar Power = 50;

sbit PWM2 = P1^3;// P1.3輸出pwm,控制M2調整功率
sbit PWM3 = P1^5;// P1.5輸出pwm,控制M3放電
sbit PWM1 = P1^4;// P1.4輸出pwm,控制可控硅充電

/********pwm控制模塊********/
//初始化定時器
void int_timer()
{
        TMOD = 0x11;//定時器0工作方式1
        TH0 = 0xFC;//(65536-10)/256;//賦初值定時
        TL0 = 0x18;//(65536-10)%256;//1ms  
        TH1 = 0xFF;//(65536-10)/256;//賦初值定時
        TL1 = 0xF6;//(65536-10)%256;//0.01ms  
        EA = 1;//開總中斷
        ET0 = 1;//開定時器0中斷
        TR0 = 1;//啟動定時器0
        ET1 = 1;
        TR1 = 1;
}
//定時器0中斷,pwm1和pwm3脈
void tim0() interrupt 1
{
        TR0 = 0;//賦初值時,關閉定時器
        TH0 = 0xFC;//(65536-1000)/256;//賦初值定時
        TL0 = 0x18;//(65536-1000)%256;//1ms
        TR0 = 1;//打開定時器
        time1 ++;
    if(time1 >= 1000) //1hz
    {                                                                                                                                                                                       
                time1 = 0;
        }
        else if(time1 <= 980) //占空比%98
        {
            PWM1 = 1;
                PWM3 = 0;
        }
        else if((time1 > 985)&&(time1 <= 995))
        {
                PWM1 = 0;
                PWM3 = 1;
        }
    else
    {
                PWM1 = 0;
                PWM3 = 0;
        }
}

/*****定時器1中斷,改變PWM占空比******/
void tim1() interrupt 3
{
        TR1 = 0;//賦初值時,關閉定時器
        TH1 = 0xff;//(65536-10)/256;//賦初值定時
        TL1 = 0xf6;//(65536-10)%256;//0.01ms
        TR1 = 1;//打開定時器
        time2 ++;
        if(time2 >= 100) //1khz
                time2 = 0;
        if(time2 <= Power) //占空比
                PWM2 = 1;
        else PWM2 = 0;
}


/****主函數****/
void main()
{
    while(1)
    {
                int_timer();         
        }  
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:213173 發表于 2020-6-19 07:30 | 只看該作者
由于int_timer(); 在main中位置錯誤,導致定時器不斷被重置,PWM1和PWM3沒有機會運行。完成定時器1中斷函數任務的時間遠大于10us,事實PWM2也不能正常運行。
/****主函數****/
void main()
{
        int_timer();
        while(1)
        {
        
        }  
}
回復

使用道具 舉報

板凳
ID:771216 發表于 2020-6-19 20:30 來自手機 | 只看該作者
wulin 發表于 2020-6-19 07:30
由于int_timer(); 在main中位置錯誤,導致定時器不斷被重置,PWM1和PWM3沒有機會運行。完成定時器1中斷函數 ...

你說的對,非常感謝!我是初學者,如果你有時間,能不能指正一下我這兩個中斷函數的錯誤之處,十分感謝。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产乱码精品1区2区3区 | 国内自拍第一页 | 97avcc| 国产精品国产三级国产aⅴ中文 | 国产日韩欧美一区 | 中国一级特黄真人毛片免费观看 | 日韩二三区 | 黄色大片视频 | 日韩www视频 | 国产精品久久久久久久久 | 免费看片在线播放 | www.婷婷 | 欧美一级一 | 一区二区三区网站 | 中文字幕av一区 | 中文字幕av在线播放 | 亚洲精品www. | 91精品国产一区二区三区动漫 | 99热.com | 四虎网站在线观看 | 天堂网中文 | 国产伦精品一区二区三区精品视频 | 久久国产高清 | aa级毛片毛片免费观看久 | caoporn国产精品免费公开 | 人人人人干| 中文字幕av一区二区三区 | av色站| 亚洲欧美一区二区三区国产精品 | 久久精品国产精品青草 | 欧美日韩亚洲一区 | 成人在线看片 | 精品九九| 欧美一区二区综合 | 亚洲精品日韩一区二区电影 | 久久成人午夜 | 国产日韩欧美精品一区二区 | 亚洲一区二区久久久 | 欧美精品1区2区3区 免费黄篇 | 久久夜色精品国产 | 欧美精品一区二区三区在线 |