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

標題: 定時器中斷實現LED多種模式任意間隔閃爍 [打印本頁]

作者: 千早愛音愛玩51    時間: 2025-7-2 16:52
標題: 定時器中斷實現LED多種模式任意間隔閃爍
下面的代碼用了一個二維數組來實現led定時間隔閃爍,復用很簡單,直接把ledstate函數放進定時器中斷就行,可以用外部函數改變ledmode,進而調整到不同的模式。想要修改間隔,就改數組值或者改定時器中斷的頻率,改間隔的話,可以改數組的值,也可以增加數組的行數或者列數(同時修改計數器循環值)
具體原理很簡單,就是通過ledmode和currentbit這兩個數值在二維數組中選值,然后與計數器做比較,定時器每次中斷都會對計數器+1,于是就有了時間基礎,每個1都是定時器中斷的間隔。直到計數器的值大于從數組中讀取到的值,才會切換讀取數組的下一位。通過&運算讓位數在0到3的范圍里循環。
根據你的定時器中斷間隔與與想要實現的閃爍,調整數組數值就行。
const unsigned char ledform[][4] = {//二維數組
    //每次125ms定時器1中斷ledcounter++,將ledcounter與數組做比較
    {0,0,0,0},    //mode0,常亮(vcc>4200mv),數組中的0表示立即切換到下一位
    {16,4,16,4},    //mode1,2000ms亮,500ms滅 (3800<vcc<=4000)
    {8,4,8,4},   //mode2,1000ms亮,500ms滅 (3400<vcc<=3800)
    {4,4,4,4},    //mode3,500ms亮,500ms滅 (2750=<vcc<=3400)
    {1,1,1,1},    //mode4,125ms亮,125ms滅(vcc<2750)
    {12,1,1,1},    //mode5,1500ms亮,125ms滅亮滅,charging
};
void LED_STATE(void){
    static unsigned char ledcounter = 0;//局部變量聲明
    //用于從ledform中選值,比如ledmode=1,currentbit=2,segtimes=4
    static unsigned char currentbit = 0;//當前位
    unsigned char bitvalue = ledform[ledmode][currentbit];//讀取當前位值
    if(ledmode == 0){//對常亮的特殊情況單獨設置
        P30 = 0;
        ledcounter = 0;
        return;//不繼續執行下面的語句
    }
    //狀態切換判斷
    if(ledcounter >= bitvalue){
        currentbit = (currentbit + 1) & 0X03;//0~3循環,改了列數修改這里,可以改成%N,N就是數組列數
        ledcounter = 0;
    }
    //如果位值為0,位數+1,并退出函數,實現常亮,與下面的狀態切換判斷不能調換先后位置
    //定義位數對應LED亮滅
    if (currentbit == 0 || currentbit == 2) {
        P30 = 0; // 亮
    } else {
        P30 = 1; // 滅
    }
    ledcounter++;//led計數器加1
}







歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产超碰在线观看 | 日韩一级片在线观看 | 成人毛片网站 | 蜜桃视频一区 | 免费播放av| 天堂成人网 | 久久综合社区 | 精品久久久久久久久久久久久久久久 | 精品视频免费在线观看 | 久久久久一 | 亚洲精品免费观看 | 女教师合集乱500篇小说 | 中国av在线播放 | 亚洲高清免费 | 美女福利网站 | 色婷婷六月 | 51调教丨国产调教视频 | 国产精品二区一区二区aⅴ污介绍 | 国产伦精品一区二区三区照片 | 日韩精品极品 | 深夜福利网站 | 国产乱码一区二区 | 黄色网址在线播放 | 国产福利视频在线观看 | 成人在线免费观看网站 | 久久xx | 欧美在线一区二区三区 | 色妞色视频一区二区三区四区 | 少妇搡bbbb搡bbb搡毛茸茸 | www中文字幕| 精品久久久久久久久久久久久 | 亚洲精品黄 | 欧美综合一区二区 | 一级做a爰片久久毛片潮喷 亚洲黄色天堂 | 美女免费视频网站 | 国产一区在线播放 | 欧美亚洲激情 | 日韩免费一区二区 | 欧美丰满少妇 | 亚洲一区二区 | 精品国产三级 |