冰楓論壇

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

[討論] PIC16F1827

[複製鏈接]

2609

主題

0

好友

1000

積分

金牌會員

Rank: 6Rank: 6

UID
373967
帖子
8867
主題
2609
精華
0
積分
1000
楓幣
15
威望
977
存款
34822
贊助金額
0
推廣
0
GP
1205
閱讀權限
70
在線時間
455 小時
註冊時間
2023-1-12
最後登入
2024-11-22

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

跳轉到指定樓層
1
發表於 2023-4-26 06:46:07 |只看該作者 |倒序瀏覽
製作變頻器需要的零件:

PIC16F1827 微控制器
晶振 (建議使用 20MHz 的晶振)
電解電容 (建議使用 10uF 的電解電容)
陶瓷電容 (建議使用 22pF 的陶瓷電容)
積體電路 (IC) 座
變壓器 (建議使用 220V 轉 12V 的變壓器)
整流二極體 (建議使用 IN4007)
電容 (建議使用 1000uF 的電容)
二極體 (建議使用 1N4148)
電位器 (建議使用 50k 的電位器)
電阻 (建議使用 10k 的電阻)
LED 燈
按鈕開關
杜邦線

PIC16F1827 的連結腳位:

RA0 - 輸入按鈕開關的訊號
RA1 - 用於 PWM (pulse-width modulation) 輸出
RA2 - 用於 PWM 輸出
RA3 - 未使用
RA4 - 未使用
RA5 - 未使用
RE0 - 未使用
RE1 - 未使用
RE2 - 未使用
VSS - 接地
VDD - 供電
RB0 - 未使用
RB1 - 未使用
RB2 - 未使用
RB3 - 未使用
RB4 - 未使用
RB5 - 未使用
RB6 - 未使用
RB7 - 未使用

程式碼:

以下是 PIC16F1827 變頻器程式碼,可供參考。
這個程式會讓 LED 燈閃爍,並使用按鈕開關來控制 PWM 的頻率。


#include <xc.h>

#define _XTAL_FREQ 20000000

void main(void) {
    // 設置輸出和輸入
    TRISA = 0b00000001; // RA0 為輸入
    TRISB = 0b00000000; // 全部為輸出

    // 設置 PWM 訊號
    PR2 = 0xFF;
    T2CON = 0b00000100;
    CCP1CON = 0b00001100;
    CCP2CON = 0b00001100;
   
    // 設置計時器
    T0CON = 0b10000111;
    INTCON = 0b10100000;
   
    while(1) {
        // 讀取按鈕開
    // 如果按鈕被按下,則增加 PWM 頻率
    if (PORTAbits.RA0 == 0) {
        CCPR1L = CCPR1L + 10;
        CCPR2L = CCPR2L + 10;
        __delay_ms(50);
    }
   
    // 讓 LED 燈閃爍
    PORTBbits.RB0 = 1;
    __delay_ms(500);
    PORTBbits.RB0 = 0;
    __delay_ms(500);
}
}

void interrupt ISR() {
if (TMR0IF) {
TMR0IF = 0;
TMR0 = 6;
}
}
收藏收藏0 推0 噓0


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

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

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

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

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

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

GMT+8, 2024-11-22 10:04

回頂部