wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機IIC協議 & EEPROM讀寫程序

  [復制鏈接]
跳轉到指定樓層
樓主
來到51黑電子也有一段時間了,單片機萌新一個,一直都是看別人的貼子,很感謝論壇里熱心指導的大佬們,今天萌新也來貢獻一下代碼吧,寫了一個IIC讀寫EEPROM的源碼,經過編譯和燒錄,成功在開發板上實現。
一個00~99的計數器,每秒計數一次,具有斷電記憶功能(開機后,從關機前的最新數值繼續計數),軟件模擬IIC協議。

源碼以及開發板上的與本源碼相關的電路部分如下(第一次發文,不懂別人帖子里的源碼框怎么弄,尷尬.gif):
AT89S52


數碼管顯示


EEPROM模塊以及受影響的DS1302模塊


單片機源程序如下:
#include<reg52.h>
#include<intrins.h>

bit x=0;                //將計時值寫入EEPROM的標志位
sbit SCL=P2^1;
sbit SDA=P2^0;
sbit X=P2^4;                //引腳P2^4為開發板上DS1302模塊的復位引腳
sbit DU=P2^6;                //數碼管模塊段選位
sbit WE=P2^7;                //數碼管模塊位選位

unsigned char num=0;
unsigned char i=0;

unsigned char LEDS[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};                //共陰數碼管的段碼

void LEDS_IO()                //數碼管鎖存
{
        WE=1;
        P0=1;
        WE=0;
        DU=1;
        P0=0;
        DU=0;
}

void Delay5ms()
{
        unsigned char i,j;
        i=9;
        j=244;
        do
        {
                while(--j);
        }
        while(--i);
}

void IIC_Delay()
{
        _nop_();
        _nop_();
}

void IIC_INIT()                //IIC初始化
{
        X=0;                //DS1302模塊的復位電平為低電平,令DS1302模塊一直處于復位狀態,使其I/O端口(P2^0)不輸出,避免干擾EEPROM模塊的SDA端口(P2^0)
        SDA=1;
        IIC_Delay();
        SCL=1;
        IIC_Delay();
}

void IIC_Start()                //IIC起始信號
{
        SDA=1;
        IIC_Delay();
        SCL=1;
        IIC_Delay();
        SDA=0;
        IIC_Delay();
}

void IIC_Stop()                //IIC停止信號
{
        SDA=0;
        IIC_Delay();
        SCL=1;
        IIC_Delay();
        SDA=1;
        IIC_Delay();
}

void IIC_ACK()                //等待應答信號;“應答”信號:SDA=0;“非應答”信號:SDA=1
{
        unsigned char i;
        SCL=1;
        IIC_Delay();
        while((SDA==1)&&(i<256))                //若超時,則視為“非應答”
        {
                i++;
        }
        SCL=0;
        IIC_Delay();
}

void IIC_Write(unsigned char DATA)                //IIC發送數據
{
        unsigned char i;
        unsigned char temp;
        temp=DATA;
        for(i=0;i<8;i++)
        {
                temp=temp<<1;
                SCL=0;
                IIC_Delay();
                SDA=CY;                //IIC數據的發送從高位開始,需要使用左移指令,而C語言的左移和右移指令,CY參與其中(CY并不是只有在進位和借位中用到),左移出來的一位賦給CY
                IIC_Delay();
                SCL=1;
                IIC_Delay();
        }
        SCL=0;                //將SCL置低電平,準備接收應答信號
        IIC_Delay();
        SDA=1;                //釋放SDA,準備接收從器件反饋的應答信號
        IIC_Delay();
}

unsigned char IIC_Read()                //IIC接收數據
{
        unsigned char i;
        unsigned char DATA;
        SCL=0;
        IIC_Delay();
        SDA=1;
        IIC_Delay();
        for(i=0;i<8;i++)
        {
                SCL=1;
                IIC_Delay();
                DATA=(DATA<<1)|SDA;
                SCL=0;
                IIC_Delay();
        }
        return DATA;
}

void EEPROM_Write(unsigned char ADDRESS,unsigned char DATA)                //寫入EEPROM
{
        IIC_Start();
        IIC_Write(0xa0);                //發送IIC從器件(EEPROM)地址,并選擇“寫”操作
        IIC_ACK();
        IIC_Write(ADDRESS);                //發送將要寫入的EEPROM的存儲地址
        IIC_ACK();
        IIC_Write(DATA);                //發送寫入EEPROM的數據
        IIC_ACK();
        IIC_Stop();
}

unsigned char EEPROM_Read(unsigned char ADDRESS)                //讀取EEPROM
{
        unsigned char DATA;
        IIC_Start();
        IIC_Write(0xa0);
        IIC_ACK();
        IIC_Write(ADDRESS);
        IIC_ACK();
        IIC_Start();
        IIC_Write(0xa1);                //發送IIC從器件(EEPROM)地址,并選擇“讀”操作
        IIC_ACK();
        DATA=IIC_Read();
        IIC_Stop();
        return DATA;
}

void LEDS_OUTPUT(unsigned char m,unsigned char n)                //數碼管顯示
{
        DU=0;
        P0=LEDS[m];
        DU=1;
        DU=0;
        WE=0;
        P0=0x3e;
        WE=1;
        WE=0;
        Delay5ms();
        DU=0;
        P0=LEDS[n];
        DU=1;
        DU=0;
        WE=0;
        P0=0x3d;
        WE=1;
        WE=0;
        Delay5ms();
}

void main()
{
        IIC_INIT();
        LEDS_IO();
        num=EEPROM_Read(0x00);
        TMOD=0x01;
        TH0=0x4c00;
        TL0=0x4c00;
        TR0=1;
        ET0=1;
        EA=1;
        while(1)
        {
                LEDS_OUTPUT(num/10,num%10);
                if(x==1)
                {
                        x=0;
                        EEPROM_Write(0x00,num);
                }
        }
}

void T() interrupt 1                //每0.05秒中斷一次
{
        TH0=0x4c00;
        TL0=0x4c00;
        i++;
        if(i==20)                //中斷20次,即1秒
        {
                i=0;
                num++;
                x=1;
                if(num==100)
                {
                        num=0;
                }
        }
}

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:480627 發表于 2022-4-15 11:22 | 只看該作者
謝謝樓主了,對我很有用,比看那些好幾個又是C又是H的調來調去的直觀多了
回復

使用道具 舉報

板凳
ID:205485 發表于 2022-4-17 09:27 | 只看該作者
不錯,條理分明,簡潔易懂。對于初學者來說,最最重要的就是代碼簡潔,能看懂是首要任務,其次才是效率、占用資源、優化這些東西。我看了幾個老師的視頻,他們的學識不可謂不淵博,但絕大多數都犯了這種錯誤,幾課過后,就忘記了聽眾都是小白了。
回復

使用道具 舉報

無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
日韩特黄一级片| 成人久久久久久久久| 欧美一区二区私人影院日本| 免费在线成人网| 99热播精品免费| 亚洲精品一区二区| 国产精品欧美激情在线| 野战少妇38p| 亚洲.欧美.日本.国产综合在线| 欧美成人一二三| 欧美性猛交xxxxxxxx| 国产精品资源在线观看| 欧美日韩国产高清电影| 吉吉日韩欧美| 你懂的视频在线观看| 国产女人av| 在线天堂www在线国语对白| 中文字幕一区二区三区5566| 日韩av电影国产| 亚洲国产精品成人va在线观看| 国产精品国产a级| 天堂在线一区二区| 最新国产一区| 欧美第一视频| 免费观看久久久久| 一个人看的视频www| 一区二区三区|亚洲午夜| 国产精品一久久香蕉国产线看观看| 亚洲天天在线日亚洲洲精| 狠狠色狠狠色综合日日五| 久久这里只有精品首页| 日韩精品午夜视频| 亚洲女同中文字幕| 日韩精品丝袜美腿| 国产欧美在线观看免费| 午夜成年人在线免费视频| 久久久久久77777| 国产精品臀控福利在线观看| 精品国产无码一区二区| 国产成人在线观看网站| 久久久精品成人| 中文字幕第九页| 午夜免费一区二区| 久久男人资源站| 日韩一区二区三区高清| 91久久精品国产91性色| 91精品国产色综合久久不卡98| 精品一区二区三区三区| 宅男噜噜噜66一区二区66| 午夜日韩在线观看| 综合在线观看色| 26uuu亚洲| 国产成人精品在线看| 老司机午夜免费精品视频 | 亚洲成人第一| 国产欧美日韩伦理| 国产精品一二三在线| 91av福利视频| 高清在线视频日韩欧美| 久久久91精品国产一区不卡| 日韩成人小视频| 91精品免费在线| 欧美日韩日本视频| 日本久久一区二区| 99香蕉国产精品偷在线观看| 午夜激情久久| 亚洲成人99| se69色成人网wwwsex| 免费成人直播| 日韩在线影院| 亚洲色图欧美视频| 国产精品伦一区二区三区| 国产黄色免费视频| 高清乱码免费看污| 日本视频免费观看| 久草视频一区二区| www.欧美色| 中文字幕 视频一区| 中文字幕+乱码+中文字幕明步| 少妇又紧又色又爽又刺激视频| 中文字幕免费高清网站| 伊人亚洲综合网| 国产女无套免费视频| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 日韩成人午夜精品| 日韩激情一区二区| 精品在线播放午夜| 国产一区二区在线观看视频| 国产毛片精品国产一区二区三区| 国产91精品一区二区麻豆亚洲| 成人97人人超碰人人99| 久久久久久日产精品| 国产欧美一区二区三区在线看蜜臀 | 国产精品免费丝袜| 自拍偷拍亚洲欧美日韩| 亚洲午夜日本在线观看| 欧美日韩精品在线播放| 欧美老肥妇做.爰bbww| 亚洲成人亚洲激情| 色婷婷久久一区二区| 91成人性视频| 国产精品一区二区三区不卡| 爱爱爱视频网站| 一本久道中文无码字幕av| 中文字幕第九页| 精品人妻伦九区久久aaa片| 人人草在线观看| 亚洲三区在线观看无套内射| yw3121.龙物视频永不失联| 自拍av在线| 激情国产在线| 99这里只有精品视频| 一区二区日韩欧美| 国产麻豆精品视频| 一区二区三区欧美日韩| 91精品国产麻豆国产自产在线| 国产午夜精品一区二区三区| 99国内精品久久| 国产色产综合产在线视频| 亚洲线精品一区二区三区八戒| 91精品蜜臀在线一区尤物| 亚洲天堂一区二区三区四区| 天堂蜜桃一区二区三区| 国产成人精品亚洲日本在线桃色| 亚洲国产精品传媒在线观看| 亚洲精品午夜久久久| 欧美在线观看视频在线| 欧美日韩三级在线| 69堂精品视频| 欧美一级精品大片| 91av看片| 97人摸人人澡人人人超一碰| 色老头一区二区三区在线观看| 日韩精品在线观看一区| 亚洲成人在线网| 亚洲丝袜在线视频| 伊人久久精品视频| 欧美福利视频在线| 国产精品视频久久久久| 午夜一区二区三区| 国产精品69久久久| 国产三级生活片| 亚洲AV无码成人精品区明星换面| 欧美日韩成人免费观看| 亚洲av人无码激艳猛片服务器| 久久久久久久福利| 影音先锋中文一区| 德国极品另类| 免费资源在线观看| 国产h片在线观看| 国产精品1区| 欧美xxxx中国| 香蕉久久国产| 自拍偷在线精品自拍偷无码专区| 国产精品久久午夜| 欧美精品在线视频| 国产亚洲欧洲高清| 国产精品入口尤物| 一本二本三本亚洲码| 国产在线观看中文字幕| 亚洲欧美综合另类| av中文网站| 日本夜爽爽一二区| 超碰91在线观看| 日本三级网站在线观看| 久久偷拍免费视频| 亚洲影院在线播放| 中文字幕42页丝袜| 蜜芽tv福利在线视频| 性欧美猛交videos| 超碰97久久| 校园春色综合网| 国产精品网站导航| 精品久久久久久综合日本欧美| 精品自拍视频在线观看| 久久五月天婷婷| 九九热精品国产| 久久国产精品二区| 天天插天天干天天操| 二区视频在线| 台湾佬中文娱乐网欧美电影| 日本一二区不卡| 成人一级黄色片| 欧美亚洲尤物久久| 九九久久精品一区| 久久久影院一区二区三区| 美女少妇一区二区| 午夜三级在线观看| 国产精品久久久久久久久鸭| 头脑特工队2免费完整版在线观看| 人人鲁人人莫人人爱精品| 日本电影一区二区| 成人一区二区三区| 欧美一区三区二区| 国产精品一区二区三区在线观| 久草福利视频在线| 国产99久久久| 黄色高清视频| 在线看片福利| 国产精品大片免费观看| 日韩毛片一二三区| 91精品国产一区二区人妖| 国产精品jizz在线观看麻豆| www.久久av.com| 99久久久无码国产精品免费蜜柚| 黄色片免费看| 人人视频精品| 久久久久久自在自线| 亚洲成av人**亚洲成av**| 久久五月情影视| 正在播放一区| www.自拍偷拍| 国产精彩自拍| 爱啪啪综合导航| a91a精品视频在线观看| 亚洲大片在线观看| 中文日韩欧美| 欧美在线亚洲综合一区| 亚洲精品免费在线播放| 久久精品在线视频| 成年丰满熟妇午夜免费视频| 2021亚洲天堂| 成年人黄色网址| 日韩亚洲国产免费| 久久久久亚洲蜜桃| 亚洲图片欧美午夜| 亚洲免费不卡| 欧美精品videos极品| 免费毛片在线播放| 激情综合五月| 久久蜜桃av一区精品变态类天堂| 日韩电影大全免费观看2023年上| 蜜桃成人免费视频| 国产精品久久久久久成人| 国产精品18久久久久网站| 国产福利资源一区| 久久久久久一级片| 国模视频一区二区| 欧美wwwwwww| 亚洲第一视频在线| 亚洲美女炮图| 国产一区在线观看视频| 亚洲欧美一区二区三区情侣bbw| 亚洲欧洲免费无码| 亚洲天堂视频网站| av片在线观看永久免费| 亚洲制服少妇| 日韩一级大片在线| 一区二区三视频| 少妇一级淫片日本| 在线观看欧美日韩电影| 国产在线播放一区三区四| 日韩精品中文字幕在线观看| 国产一二三四五| 中文精品久久久久人妻不卡| 成人在线免费视频| 一区二区三区福利| 精品乱码亚洲一区二区不卡| 久久久国产精华液999999| 亚洲精品一级片| 成人免费网站观看| 99视频在线精品| 久久欧美在线电影| 亚洲中文字幕一区| 成人亚洲一区二区三区| 午夜精品毛片| 91精品国产全国免费观看| 欧美 另类 交| 天天综合网在线| 91成人福利社区| 亚洲激情自拍视频| 成人欧美一区二区三区在线观看 | 国产不卡精品一区二区三区| 懂色av色香蕉一区二区蜜桃| 自拍偷拍亚洲综合| 国产精品日韩一区二区三区| 久久久久久天堂| 人妖欧美1区| av亚洲产国偷v产偷v自拍| 色综合亚洲精品激情狠狠| 欧美美女一级片| 国产精品免费视频一区二区三区 | 亚洲精品久久久成人| 白嫩亚洲一区二区三区| 一区二区三区日本| 国内精品久久国产| 丁香社区五月天| 免费网站免费进入在线| 国产日韩欧美a| 91免费看片在线| 中文字幕免费在线观看视频| 女人天堂av在线播放| 久久先锋影音av鲁色资源| 国产日韩精品推荐| 久草热在线观看| 日韩毛片免费观看| 亚洲国产另类av| 亚洲精品高清视频| 欧美精品久久久久久久小说| 国产99久久| 精品福利在线导航| 国产天堂在线播放| www.激情| 日韩黄色在线观看| 97色伦亚洲国产| 曰本女人与公拘交酡| 欧美视频综合| 欧美激情自拍偷拍| 鲁丝一区鲁丝二区鲁丝三区| 亚洲乱熟女一区二区| 91成人噜噜噜在线播放| 亚洲缚视频在线观看| 亚洲在线观看网站| 三级黄色网址| 国产一区91精品张津瑜| 国模精品一区二区三区| 亚洲爱情岛论坛永久| 538任你躁精品视频网免费| 欧美日韩高清一区二区三区| 黄色激情在线视频| 丰满少妇又爽又紧又丰满69| 日韩精品久久久久久| 91精品国产网站| 在线观看亚洲天堂| 高清一区二区三区| 亚洲电影中文字幕| www.17c.com喷水少妇| 你懂的视频在线观看| caoporn国产| 999久久久精品一区二区| 欧美精品色一区二区三区| 欧美综合在线观看视频| 香蕉521av成人网| 久久久久久一区二区| 国产99视频精品免费视频36| 女人18毛片水真多18精品| 欧美中文一区| 精品一区二区三区四区在线| 美女的奶胸大爽爽大片| 亚洲精品动漫| 欧美午夜片在线看| 丰满少妇中文字幕| 色呦呦久久久| 色天天综合久久久久综合片| 亚洲 中文字幕 日韩 无码| 调教在线观看| 亚洲激情自拍视频| 丰满少妇在线观看| 亚洲男人都懂的网站| 中文天堂在线一区| 日本www.色| 毛片免费在线观看| 亚洲精品中文在线| 欧美视频第一区| 老司机免费在线视频| 黄网动漫久久久| 一道本在线免费视频| 午夜视频国产| 午夜国产不卡在线观看视频| 无遮挡又爽又刺激的视频| 亚在线播放中文视频| 日本一区二区久久| 香蕉视频999| 国产在线更新| 欧美日韩视频在线第一区| 蜜桃av免费在线观看| 亚洲成人av观看| 精品国产成人在线影院| 暗呦丨小u女国产精品| 亚洲成在人线免费观看| 欧美日韩第一视频| 国产精品一区二区av白丝下载| 久久视频精品| av成人午夜| 在免费jizzjizz在线视频| 韩国av一区二区| 亚洲国产欧美日韩| 天堂а√在线8种子蜜桃视频| 亚洲一区二区三区在线看| 亚洲无在线观看| 日本激情在线观看| 日韩黄在线观看| 久久亚洲精品石原莉奈| 在线电影一区二区| 日韩精品久久久| 曰韩少妇与小伙激情| 一区二区三区资源| 99久久综合网| 国产综合色区在线观看| 亚洲日本aⅴ片在线观看香蕉| 台湾佬中文在线| 激情自拍一区| 欧美一区二区三区四区五区六区 | 欧美日韩一区二区欧美激情| 精品人妻一区二区三区四区| 中文有码在线播放| 日本午夜免费一区二区| zzijzzij亚洲日本成熟少妇| 91禁在线观看| 水野朝阳av一区二区三区|