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

標題: 單片機呼吸燈程序沒看明白 [打印本頁]

作者: 1234590qwehjm    時間: 2023-4-16 19:37
標題: 單片機呼吸燈程序沒看明白
用的是stc15的芯片 ,程序沒看明白(希望可講解一下),這個程序只能從亮到暗,有沒有什么辦法是它循環起來(謝謝大家)

1681644894033.jpg (659.98 KB, 下載次數: 47)

1681644894033.jpg

1681644945677.jpg (668.16 KB, 下載次數: 47)

1681644945677.jpg

1681644972677.jpg (671.05 KB, 下載次數: 43)

1681644972677.jpg

1681644988272.jpg (569.88 KB, 下載次數: 47)

1681644988272.jpg

作者: 張大炮ie    時間: 2023-4-16 20:12
#include<STC15.h>

#define LED_PIN P1_0

void init_PWM() {
    TMOD |= 0x01; // 定時器0設置為16位定時器模式,以供PWM使用

    ET0 = 1; //打開定時器中斷
    TR0 = 1; //啟動定時器
}

void delay_nms(unsigned int n) { // 毫秒級延時函數,可根據實際情況調節
    unsigned int i,j;
    for (i=0; i<n; i++) {
        for (j=0; j<125; j++);
    }
}

void main() {
    unsigned char duty_cycle = 0; // 占空比,默認為0
    unsigned char flag = 0; // 標志變量,用于判斷遞增還是遞減
    init_PWM();
    while(1) {
        if(!flag) {
            duty_cycle++;
            if(duty_cycle == 255) {
                flag = 1;
            }
        } else {
            duty_cycle--;
            if(duty_cycle == 0) {
                flag = 0;
            }
        }
        LED_PIN = (duty_cycle == 0 || duty_cycle == 255) ? 0 : 1; // 避免輸出高電平或低電平長時間照成LED損傷
        delay_nms(10); // 延時10毫秒,可根據實際需求做出適當調整
    }
}

void timer0() interrupt 1 {
    TH0 = 245; // 修改定時器初值
    TL0 = 245;
    PWM_OUT = duty_cycle; // 修改PWM占空比
}
在上述代碼中,循環呼吸燈的周期為500ms,可在 delay_nms() 函數中根據實際情況進行調整。同時,在 main() 函數中使用 flag 變量控制 duty_cycle 的遞增和遞減,從而實現循環呼吸燈的效果。在 timer0() 中斷服務函數中,修改定時器初值并根據當前占空比設置 PWM 輸出。
作者: 1234590qwehjm    時間: 2023-4-16 22:33
張大炮ie 發表于 2023-4-16 20:12
#include

#define LED_PIN P1_0

謝謝大佬
作者: 1234590qwehjm    時間: 2023-4-17 00:38
張大炮ie 發表于 2023-4-16 20:12
#include

#define LED_PIN P1_0

我想再問一下,怎么讓它和通過ad獲得的光敏電阻值結合,就是用光敏電阻的值去控制led的亮暗(值越小,燈越暗,值越大,燈越亮)
作者: man1234567    時間: 2023-4-17 11:14
1234590qwehjm 發表于 2023-4-17 00:38
我想再問一下,怎么讓它和通過ad獲得的光敏電阻值結合,就是用光敏電阻的值去控制led的亮暗(值越小,燈 ...

將AD值與占空比進行關聯就可以。
作者: 1234590qwehjm    時間: 2023-4-17 12:07
man1234567 發表于 2023-4-17 11:14
將AD值與占空比進行關聯就可以。

這個獲取的AD值怎么轉換,怎么看自己用的是多少位的ad
作者: 1234590qwehjm    時間: 2023-4-17 16:35
1234590qwehjm 發表于 2023-4-17 12:07
這個獲取的AD值怎么轉換,怎么看自己用的是多少位的ad

好的,謝謝




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 四虎影| 日日综合 | www.com久久久 | 久久久成人精品 | 久久精品国产免费一区二区三区 | 成人精品一区二区三区 | 欧美黄色性生活视频 | 国产精品特级毛片一区二区三区 | 久久久一区二区三区四区 | 日韩在线成人 | 免费一区二区三区 | 中文精品视频 | 亚洲欧美一区二区三区1000 | 国产精品视频免费看 | 国产精品久久精品 | 男女啪啪高潮无遮挡免费动态 | 日韩国产欧美 | 国产精品成人一区二区三区吃奶 | 欧美日韩中文在线 | 天天爽夜夜骑 | 日韩一区二区三区在线视频 | 81精品国产乱码久久久久久 | www久久久| 亚洲一区日韩 | 亚洲视频免费在线观看 | 欧美日韩中文字幕在线 | 亚洲精品一区二 | 亚洲午夜在线 | 天天操天天干天天爽 | 超碰在线97国产 | 人人人人干 | 2021狠狠天天天 | 欧美一区二区三区在线 | 日韩成人一区 | 一区精品视频 | 中日av | 成人午夜高清 | 国产剧情一区 | 丁香综合 | 成人精品区 | 日韩在线看片 |