新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AVR的EEPROM簡單實驗

        AVR的EEPROM簡單實驗

        作者: 時間:2016-11-30 來源:網絡 收藏
        #include
        #include

        #define uchar unsigned char
        #define uint unsigned int
        __flash uchar seg[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
        __flash uchar tab[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
        #define EEWE 1
        #define EERE 0
        #define EEMWE 2
        #define k1 PIND_Bit4 //地址變化鍵
        #define k2 PIND_Bit5 //數據變化鍵
        #define k3 PIND_Bit6 //地址寫入
        #define k4 PIND_Bit7 //地址讀出


        uint val; //顯示的存儲數值
        uchar address,data; //存儲地址和數值

        void delay(uint k) //延遲函數
        {
        uint i,j;
        for(i=0;ifor(j=0;j<1140;j++);
        }
        void key1()
        {
        static uchar i,j;
        if(k1==0)
        {
        if(i==0)
        {
        j++;
        if(j>3)
        {
        if(k1==0)
        {
        i=1;j=0;
        address++;
        }
        }
        }
        }
        else
        {
        i=0;j=0;
        }
        }

        void key2()
        {
        static uchar i,j;
        if(k2==0)
        {
        if(i==0)
        {
        j++;
        if(j>3)
        {
        if(k2==0)
        {
        i=1;j=0;
        data++;
        }
        }
        }
        }
        else
        {
        i=0;j=0;
        }
        }
        void show_val(uint k) //顯示數值函數
        {
        static uchar i=0,j;
        uchar ss[6];
        do
        {
        ss[i]=k%10;
        i++;
        }while(k/=10);
        for(j=0;j{
        PORTA=seg[ss[j]];
        PORTC=tab[j];
        delay(1);
        PORTA=0xff;
        PORTC=0xff;
        }
        i=0;
        }
        void show_address(uint k) //顯示數值函數
        {
        static uchar i=0,j;
        uchar ss[6];
        do
        {
        ss[i]=k%10;
        i++;
        }while(k/=10);
        for(j=0;j{
        PORTA=seg[ss[j]];
        PORTC=tab[j+3];
        delay(1);
        PORTA=0xff;
        PORTC=0xff;
        }
        i=0;
        }
        void show_data(uint k) //顯示數值函數
        {
        static uchar i=0,j;
        uchar ss[6];
        do
        {
        ss[i]=k%10;
        i++;
        }while(k/=10);
        for(j=0;j{
        PORTA=seg[ss[j]];
        PORTC=tab[j+6];
        delay(1);
        PORTA=0xff;
        PORTC=0xff;
        }
        i=0;
        }

        上一頁 1 2 下一頁

        關鍵詞: AVREEPROM簡單實

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 高安市| 台湾省| 栾川县| 高雄县| 马尔康县| 南雄市| 永和县| 个旧市| 宁波市| 石林| 抚顺市| 平果县| 靖边县| 敦煌市| 左权县| 双江| 包头市| 基隆市| 页游| 若尔盖县| 惠州市| 永兴县| 晋江市| 崇明县| 图们市| 旌德县| 承德县| 安多县| 舒兰市| 静宁县| 合肥市| 安西县| 阳城县| 盐边县| 无极县| 浦东新区| 团风县| 南溪县| 加查县| 波密县| 阿图什市|