冰楓論壇

 找回密碼
 立即註冊
ads_sugarbook
搜索
查看: 638|回覆: 0
打印 上一主題 下一主題

[討論] PIC16F690

[複製鏈接]

2609

主題

0

好友

947

積分

高級會員

Rank: 4

UID
373967
帖子
7462
主題
2609
精華
0
積分
947
楓幣
6399
威望
927
存款
21000
贊助金額
0
推廣
0
GP
1205
閱讀權限
50
在線時間
409 小時
註冊時間
2023-1-12
最後登入
2024-5-8

2023端午節紀念勳章 2023中秋節紀念勳章 2023聖誕節紀念勳章

跳轉到指定樓層
1
發表於 2023-4-26 06:49:47 |只看該作者 |倒序瀏覽
製作變頻機需要以下零件:

PIC16F690 微控制器
晶體振盪器
電容
電感
可變電阻
電池或電源模組
電晶體
電阻
電容
按鈕開關
LED 燈

以下是 PIC16F690 的連結腳位圖:


         ____________
  VDD --|1        20|-- VSS
  RA0 --|2        19|-- AN3/RA3
  RA1 --|3        18|-- AN2/RA4
  RA2 --|4        17|-- AN1/RA5
  RC5 --|5        16|-- AN0/RA6
  RC4 --|6        15|-- OSC2/CLKOUT
  RC3 --|7        14|-- OSC1/CLKIN
  RC6 --|8        13|-- TX/CK
  RC7 --|9        12|-- RX/DT
  GND --|10       11|-- MCLR
         ------------
以下是PIC16F690 變頻機的程式碼示例
使用 CCS C Compiler:


#include <16F690.h>
#use delay(clock=4000000)

void main()
{
   int freq = 10000;  // 起始頻率
   int duty = 50;     // 起始占空比
   int step = 10;     // 頻率和占空比步進值
   int min_freq = 1000;  // 最小頻率
   int max_freq = 50000; // 最大頻率
   
   setup_adc_ports(NO_ANALOGS);   // 禁用類比輸入
   setup_adc(ADC_OFF);            // 禁用 ADC 轉換
   setup_timer_2(T2_DIV_BY_1,255,1);  // 設置定時器 2
   
   while(TRUE)
   {
      set_pwm2_duty(duty);  // 設置 PWM2 占空比
      
      if(input(PIN_A0) == 0)  // 按下按鈕開關
      {
         freq += step;   // 頻率增加
         if(freq > max_freq)  // 檢查頻率是否超出最大值
         {
            freq = max_freq;
         }
      }
      else if(input(PIN_A1) == 0)  // 按下按鈕開關
      {
         freq -= step;   // 頻率減少
         if(freq < min_freq)  // 檢查頻率是否低於最小值
         {
            freq = min_freq;
         }
      }
      
      setup_timer_2(T2_DIV_BY_1,255,freq);  // 設置定時器 2 產生指定頻率的 PWM 輸出
      delay_ms(100);  // 稍作延遲

}
}


上述程式碼中使用了定時器 2 和 PWM 功能來產生可變頻率的輸出信號。

在主循環中,程式會不斷檢查按鈕開關的狀態,如果按下了頻率增加按鈕,則頻率會增加一個步進值,如果按下了頻率減少按鈕,則頻率會減少一個步進值。

然後,程式會重新設置定時器 2 的參數,產生指定頻率的 PWM 輸出信號,並使用 set_pwm2_duty() 函數來設置 PWM2 的占空比。
收藏收藏0 推0 噓0


把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分: 1骰子
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$
高級模式
B Color Image Link Quote Code Smilies |上傳

廣告刊登意見回饋關於我們管群招募本站規範DMCA隱私權政策

Copyright © 2011-2024 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|手機版|冰楓論壇

GMT+8, 2024-5-9 03:37

回頂部