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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2172|回復: 1
打印 上一主題 下一主題
收起左側

求一個stc8G1K08a單片機跑馬燈開暗到亮慢到快,關亮到暗快到滅,可切換亮燈模式

[復制鏈接]
跳轉到指定樓層
樓主
ID:1002664 發表于 2022-1-27 23:54 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
50黑幣
本帖最后由 菜鳥一個622 于 2022-1-28 15:58 編輯

現大佬教51以有,用在8g1k08a上有更好的嗎

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1002664 發表于 2022-1-28 15:57 | 只看該作者
#include <STC8G.h>

typedef unsigned char u8;  //0 to 255
typedef unsigned int u16;  //0 to 65535
typedef unsigned long u32;  //0 to 4294967295
sbit key1 = P5 ^ 4;
u16 TMR_XX_ACC;
u16 TMR_XX_PRE = 500;
u8 PWM = 1;
u8 index = 0;
u8 MODE = 1;
bit Power_On = 1;
unsigned char dat1[4] = {0xfe, 0xfd, 0xfb, 0xf7};
unsigned char dat2[4] = {0xfc, 0xf9, 0xf3, 0xf6};
unsigned char dat3[4] = {0xf1, 0xf2, 0xf4, 0xf8};

void key_Proc()
{
    static u16 Delay_XD = 0;    //消抖計數
    static u16 Min_T = 25;
    static u16 Max_T = 2500;

    if(!key1)
    {
        if(Delay_XD < 0xFFFF)Delay_XD++;
       //else Delay_XD = 0;       //連按功能
        if(Delay_XD == Max_T)      //長按
        {
//            MODE = ++MODE % 3;
                                        ++MODE;
                                        if(MODE>3)
                                                MODE=1;
        }
    }
    else            //按鍵抬起
    {
        if(Delay_XD > Min_T && Delay_XD < Max_T)      //短按
        {
            Power_On ^= 1;
        }
        Delay_XD = 0;    //Delay_XD清0
    }
}
void delayus(u8 x)
{
    while(x--);
}
void main()
{
    while (1)
    {   
        if(PWM > 0) {
            switch (MODE)
            {
            case 0:
                P3 = 0xff;
                break;
            case 1:
                P3 = dat1[index];
                break;
            case 2:
                P3 = dat2[index];
                break;
                                                case 3:
                P3 = dat3[index];
                break;
            }
            delayus(PWM);
        }
        P3 = 0xFF;
        delayus(100 - PWM);
        key_Proc();
        if(++TMR_XX_ACC >= TMR_XX_PRE)
        {   TMR_XX_ACC = 0;
            if(Power_On)
            {
                if(PWM < 99) PWM++;
            } else {
                if(PWM > 0) PWM--;
            }
            index = ++index % 4;
            if(index == 0)
                if(Power_On)
                {
                    if(TMR_XX_PRE > 50) //固定到快
                    {
                        TMR_XX_PRE -= 50;
                    }
                } else {
                    if(TMR_XX_PRE < 500) //固定到快
                    {
                        TMR_XX_PRE += 50;
                    }
                }
        }
    }
}
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 美女久久 | 亚洲一一在线 | 亚洲成人午夜电影 | 先锋资源亚洲 | 免费国产视频 | 亚洲欧美中文日韩在线v日本 | 精品国产伦一区二区三区观看体验 | 青青久久 | 综合在线视频 | 91久久久久久久久久久 | 国产不卡一区 | 黄色片在线 | 中国一级大毛片 | 黄色高清视频 | 久久免费精品 | 久久机热| 中国大陆高清aⅴ毛片 | 丁香六月伊人 | www.99精品 | 精品国产乱码久久久久久图片 | jvid精品资源在线观看 | 国产精品久久久久久久一区二区 | 国产在线不卡 | www.亚洲视频.com | 久久精品一 | 欧美 日韩 国产 一区 | 欧美一级片黄色 | 久久精品成人热国产成 | 国产乱码精品一品二品 | 成人亚洲片 | 亚洲国产18 | 国产成人精品午夜视频免费 | 国产一区二区三区免费 | a级片播放 | 看a网站 | 奇米av| 久草免费在线视频 | 国产黄色小视频 | 国产精品永久免费 | 日韩高清国产一区在线 | 成人黄色av网站 |