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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

7按鍵控制對應7LED斷電能記憶上一次狀態

查看數: 2573 | 評論數: 5 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2018-3-23 16:26

正文摘要:

新手,沒有太多的黑幣,抱歉了! 如圖,想做一個多路開關玩,手頭有拆機的MCU,請高手幫忙設計程序。 1、KEY1~7分別控制LED1~7; 2、當任意一個KEY按下后對應LED點亮,但其它LED滅; 4、需要在關機斷電時記錄最 ...

回復

ID:295906 發表于 2018-3-27 22:28
511386807 發表于 2018-3-24 14:28
每次有按鍵按下時,將當前的狀態寫入EEPROM中,每次程序啟動時,從EEPROM讀取就行。

師傅,幫忙看看我的代碼哪里有問題。
加入存儲后,按鈕無法控制LED了,不加就可以,但是不能存儲。
ID:295906 發表于 2018-3-27 22:27

#include "STC_IAP_EEPROM.h"
#include "common.h"
#define uchar unsigned char
#define uint  unsigned int

/*=================DF¶¨òåÏà1Ø================*/
#define FLAG_EPPROM_ADDR            0      //EPPROMÄú′æ3õê¼»ˉ±êÖ¾μØÖ·
#define MODE_EPPROM_ADDR            8      //êäèëí¨μà′æ′¢μØÖ·
#define OUTMODE_EPPROM_ADDR        12      //êä3öí¨μà′æ′¢μØÖ·

void RecoverParam(void)
{
    unsigned char temp;
    temp = Byte_Read(FLAG_EPPROM_ADDR);
    if(temp == 0x5a)
    {
        mode = Byte_Read(MODE_EPPROM_ADDR);
        if(mode>5) mode=0;
    }
}

void UpdateSaveParam(void)
{
    Sector_Erase(FLAG_EPPROM_ADDR);           //2á3yÕû¸öéèÇø
    Byte_Program(FLAG_EPPROM_ADDR, 0x5a);     //½« DEBUG_DATA D′èë EEPROM
    Byte_Program(MODE_EPPROM_ADDR, mode);
}

//5msÑóê±
void Delay5Ms(void)
{
        unsigned int TempCyc = 60552;        
        while(TempCyc--);
}

//400msÑóê±
void Delay400Ms(void)
{
        unsigned char TempCycA = 5;
        unsigned int TempCycB;
        while(TempCycA--)
        {
                  TempCycB=44269;
                  while(TempCycB--);
        }
            UpdateSaveParam();
}
//-------------------------------------í¨μàêäèëÑ¡Ôñé趨oˉêy¿aê¼---------------------------------------//
void key_scan()
{
        static bit KEY_MODE1_sign,KEY_MODE2_sign,KEY_MODE3_sign,KEY_MODE4_sign,KEY_MODE5_sign;                                //¾2ì¬Î»±äá¿°′¼ü×ÔËø±êÖ¾
        static uint count1,count2,count3,count4,count5;                                                                                                                                                                                                //¾2쬼Æêy±äá¿                        
        
        if(KEY_MODE1==0)                                                                                                                                                                       //¼ì2a°′¼ü1°′ÏÂ
        {
                if(KEY_MODE1_sign==0)
                {
                        count1++;                                 //Ïû¶¶¼Æêy1×Ô+1
                        if(count1>=1000)                          //°′Ö÷Ñ-»·ÖüÆú100~2000μ÷Õû
                        {
                                KEY_MODE1_sign=1;                 //°′¼ü1×ÔËø±êÖ¾ÖÃ1
                                K1=0;K2=K3=K4=K5=1;               //led1è¡·′                        
                        }
                }
        }
        else                                                       //°′¼ü1ì§Æe
        {
                KEY_MODE1_sign=0;                                  //°′¼ü1×ÔËø±êÖ¾Çå0
                count1=0;                                          //Ïû¶¶¼Æêy1Çå0
        }

        if(KEY_MODE2==0)                                           //¼ì2a°′¼ü2°′ÏÂ
        {
                if(KEY_MODE2_sign==0)
                {
                        count2++;                                 //Ïû¶¶¼Æêy1×Ô+1
                        if(count2>=1000)                          //°′Ö÷Ñ-»·ÖüÆú100~2000μ÷Õû
                        {
                                KEY_MODE2_sign=1;                 //°′¼ü2×ÔËø±êÖ¾ÖÃ1
                                K2=0;K1=K3=K4=K5=1;               //led2è¡·′                        
                        }
                }
        }
        else                                                       //°′¼ü2ì§Æe
        {
                KEY_MODE2_sign=0;                                  //°′¼ü2×ÔËø±êÖ¾Çå0
                count2=0;                                          //Ïû¶¶¼Æêy1Çå0
        }

        if(KEY_MODE3==0)                                           //¼ì2a°′¼ü3°′ÏÂ
        {
                if(KEY_MODE3_sign==0)
                {
                        count3++;                                 //Ïû¶¶¼Æêy1×Ô+1
                        if(count3>=1000)                          //°′Ö÷Ñ-»·ÖüÆú100~2000μ÷Õû
                        {
                                KEY_MODE3_sign=1;                 //°′¼ü1×ÔËø±êÖ¾ÖÃ3
                                K3=0;K2=K1=K4=K5=1;               //led3è¡·′                        
                        }
                }
        }
        else                                                       //°′¼ü1ì§Æe
        {
                KEY_MODE3_sign=0;                                  //°′¼ü1×ÔËø±êÖ¾Çå0
                count3=0;                                          //Ïû¶¶¼Æêy1Çå0
        }

        if(KEY_MODE4==0)                                           //¼ì2a°′¼ü2°′ÏÂ
        {
                if(KEY_MODE4_sign==0)
                {
                        count4++;                                 //Ïû¶¶¼Æêy1×Ô+1
                        if(count4>=1000)                          //°′Ö÷Ñ-»·ÖüÆú100~2000μ÷Õû
                        {
                                KEY_MODE4_sign=1;                 //°′¼ü2×ÔËø±êÖ¾ÖÃ1
                                K4=0;K1=K3=K2=K5=1;               //led4è¡·′                        
                        }
                }
        }
        else                                                       //°′¼ü4ì§Æe
        {
                KEY_MODE4_sign=0;                                  //°′¼ü4×ÔËø±êÖ¾Çå0
                count4=0;                                          //Ïû¶¶¼Æêy1Çå0
        }
        if(KEY_MODE5==0)                                           //¼ì2a°′¼ü2°′ÏÂ
        {
                if(KEY_MODE5_sign==0)
                {
                        count5++;                                 //Ïû¶¶¼Æêy1×Ô+1
                        if(count5>=1000)                          //°′Ö÷Ñ-»·ÖüÆú100~2000μ÷Õû
                        {
                                KEY_MODE5_sign=1;                  //°′¼ü5×ÔËø±êÖ¾ÖÃ1
                                K5=0;K1=K3=K2=K4=1;               //led5è¡·′                        
                        }
                }
        }
        else                                                       //°′¼ü5ì§Æe
        {
                KEY_MODE5_sign=0;                                  //°′¼ü5×ÔËø±êÖ¾Çå0
                count5=0;                                          //Ïû¶¶¼Æêy1Çå0
        }
                               
                                UpdateSaveParam();
}
/************Ö÷3ìDò************/
void main()
{
        RecoverParam();
                                key_scan();                     
}
ID:287536 發表于 2018-3-26 21:15
沒有EEProm沒法實現記憶功能
ID:295906 發表于 2018-3-25 15:51
511386807 發表于 2018-3-24 14:28
每次有按鍵按下時,將當前的狀態寫入EEPROM中,每次程序啟動時,從EEPROM讀取就行。

關鍵是,不會寫。
ID:234868 發表于 2018-3-24 14:28
每次有按鍵按下時,將當前的狀態寫入EEPROM中,每次程序啟動時,從EEPROM讀取就行。

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美视频区| 亚洲国产黄色av | 成人国产精品色哟哟 | 国产免费一区二区三区最新6 | 精品国产一级 | 国产偷久久一级精品60部 | 毛片入口 | 成人在线免费 | 久久中文字幕一区 | 国产九九精品视频 | av中文字幕在线观看 | 久久久涩 | 日韩精品在线播放 | 一区二区av | 日韩伦理一区二区三区 | 欧美日韩久久久 | 欧美久久久久久久久 | 国产激情综合五月久久 | 欧美精品一区在线发布 | 欧美在线视频二区 | 在线久草 | 91精品国产乱码久久久久久久久 | 精品国产乱码久久久久久牛牛 | 91精品国产乱码久久久 | 天天干,夜夜操 | 免费国产视频 | 日本精品一区二区三区视频 | 精品欧美一区二区三区久久久 | 午夜精品久久 | 欧美成人高清视频 | 日韩高清不卡 | 日韩亚洲一区二区 | 亚洲午夜小视频 | 中文精品视频 | 91精品国产综合久久久久久丝袜 | 久久久成人动漫 | 在线视频国产一区 | 国产精品区二区三区日本 | 国产精品网址 | 精品久久精品 | www.4虎影院 国产999精品久久久影片官网 |