找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3068|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

關(guān)于pic16f1828單片機制作的呼吸燈,但是漸亮和漸暗過程效果不順暢

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:383379 發(fā)表于 2018-8-7 16:57 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
新手剛接觸單片機,用的是PIC16f1828芯片,參考著做了個呼吸燈,用PWM輸出,在中斷部分的程序沒看明白,可以幫我解釋下嗎?而且在燈漸亮和漸暗過程中不是很流暢,在暗亮之間的停頓時間過短。大家能幫我看看該怎么調(diào)整嗎?如果配置完P(guān)WM后不用中斷,想讓占空比通過逐漸增加和減少來實現(xiàn)漸亮到漸滅來實現(xiàn)呼吸燈功能又該怎么寫?謝謝以下是我參考所寫的程序:
  1. #include <pic16f1828.h>
  2. #define uint8 unsigned char
  3. #define uint16 unsigned int
  4. uint8 gDutycount = 0;
  5. uint16 count=0;
  6. const char SINETABLE[38]={50,55,60,65,70,75,80,85,90,95,100,95,90,85,80,75,70,60,60,55,50,45,40,35,30,25,20,15,10,5,10,15,20,25,30,35,40,45};
  7. void PWM_Init(void)
  8. {  
  9.     OSCCONbits.IRCF=1110;//8M晶振
  10.     CCPR1L=0x32;
  11.     CCP1CON=0b00001100;
  12.     TRISC5=0;
  13. }
  14. void Time2_Init(void)
  15. {
  16.    T2CON=0x05;
  17.    PR2=99;
  18.    TMR2IF=0;
  19.    GIE=1;
  20.    PEIE=1;
  21.    TMR2IE=1;
  22. }
  23. void main(void)
  24. {
  25.    PWM_Init();
  26.    Time2_Init();
  27.   while(1)
  28.    {

  29.      }
  30. }
  31. void interrupt Tmer2_isr(void)
  32. {
  33.    if(TMR2IF)
  34.   {
  35.     ++count;
  36.      if(count==35)
  37.     {
  38.        ++gDutycount;
  39.         if(gDutycount==75)
  40.        {
  41.           gDutycount=0;
  42.         }
  43.       CCPR1L=SINETABLE[gDutycount];
  44.       count=0;
  45.     }
  46.     TMR2IF=0;
  47.   }
  48. }
復(fù)制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:383379 發(fā)表于 2018-8-9 16:39 | 只看該作者
這是用一個數(shù)組按照5%的占空比的關(guān)系列出來的,慢慢調(diào)節(jié)亮度時候回感覺那種跳變的,程序該怎么修改才能讓占空比的變化是緩慢進行的而不是階梯性跳變的
回復(fù)

使用道具 舉報

板凳
ID:18297 發(fā)表于 2018-8-10 10:15 | 只看該作者
  1. <blockquote>
復(fù)制代碼
1)pic16F1828的CCP1的PWM輸出可以設(shè)置time2,time4,time6定時器。
     CCPTMRS0=0;      //選擇CCP1設(shè)置為time2定時器
2)time2已經(jīng)用于CCP1定時器,不能在用于普通的定時器。
3)以上程序,經(jīng)過proteus仿真,可以看如附件視頻。


QQ視頻20180810101052.rar

5.42 MB, 下載次數(shù): 26

回復(fù)

使用道具 舉報

地板
ID:463457 發(fā)表于 2019-1-15 19:17 | 只看該作者
樓主有仿真么
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表