亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 24cxx.c

?? 可用于任何單片機平臺的I2C總線讀寫程序
?? C
字號:
#include <REG51.H>                /* special function register declarations   */
#include <stdio.h>                                  /* for the intended 8051 derivative         */
#include <absacc.h>
#include <INTRINS.H>
#include "g_data.h"
#include "24cxx.h"


/***************************************************************************
*名稱:e24_start
*功能:24C32的起始位
***************************************************************************/
void e24_start(void)
{
    NOP;
    SDA_H;  
    NOP;
    SCL_H;
    NOP;
    SDA_L;
    NOP;
    SCL_L;
    NOP;
}

/***************************************************************************
*名稱:e24_stop
*功能:24C32的終止位
**********************************************************/
void e24_stop(void)
{
    NOP;
    SDA_L;
    NOP;
    SCL_H;
    NOP;
    SDA_H;
    NOP;
    SCL_L;
    NOP;
}

/***************************************************************************
*名稱:e24_clock
*功能:24C32的一個時鐘
**************************************************************/
void e24_clock(void)
{
    NOP;
    SCL_H;
    NOP;
    NOP;
    SCL_L;
    NOP;
}

/***************************************************************************
*名稱:e24_start
*功能:24C32的每個操作階段后的應答信號
*輸出:result-是否成功標志0為成功

***************************************************************************/
uint8 e24_ack(void)
{
    uint8 data result;
    NOP;
    SCL_H;
    SDA_I;
    NOP;
    result = SDA;
    SCL_L;
    NOP;
    return (result);
}

/***************************************************************************
*名稱:e24_send
*功能:24C32的發(fā)送數(shù)據(jù)函數(shù)
*輸入:sen_data,本此需要發(fā)送的字節(jié)數(shù)據(jù)
*輸出:若操作成功返回1,失敗0
***************************************************************************/
uint8 e24_send(uint8 send_data)
{
    uint8 data i;
    for (i = 0; i < 8; i++)
    {
        if ((send_data & 0x80) != 0)
		{
            SDA_H;
		}
        else
		{
            SDA_L;
	    }
        e24_clock();
        send_data <<= 1;
    }
    SDA_H;
    //i = e24_ack();
    if (e24_ack() !=0)
	{
        return(0);
	}
    else
	{
        return(1);
	}
}

/***************************************************************************
*名稱:e24_readclock
*功能:24C32的讀操作中的位操作
*輸入:無
*輸出:所讀到的SDA上的每一位的數(shù)據(jù)
***************************************************************************/
uint8 e24_readclock(void)
{
    uint8 data ch;
    NOP;
    SCL_H;
    NOP;
    ch = SDA;
    NOP;
    SCL_L;
    NOP;
    return (ch);
}

/***************************************************************************
*名稱:e24_receive
*功能:24C32的讀操作的接收部分函數(shù)
*輸入:無
*輸出:read_data-所讀到的SDA上的一個字節(jié)的數(shù)據(jù)
***************************************************************************/
uint8 e24_receive(void)
{
    uint8 data read_data,i;
    SDA_I;
    read_data = 0;
    for (i = 0; i < 8; i++)
    {
        read_data*=2;
        if(e24_readclock() != 0)
        read_data++;
    }
    return(read_data);
}

/***************************************************************************
*名稱:e24_write
*功能:24C32的寫操作
*輸入:addr-所寫數(shù)據(jù)的地址,write_data-所要寫入的數(shù)據(jù)
*輸出:1-寫操作成功,0-寫操作失敗
*說明:結(jié)束前后要分別開WP和關(guān)WP
***************************************************************************/
uint8 e24_write(uint16 addr, uint8 write_data)
{
    WP_L;
    e24_start();
    if (e24_send(0xA0))
    {
        if (e24_send(addr/0x100))
        {
		    if (e24_send(addr%0x100))
			{
                if (e24_send(write_data))
                {
                    e24_stop();
                    NOP;
                    return(1);
                }
                else
			    {
                    return(0);
		        }
			}
			else
			{
                return(0);
			}
        }
        else
		{
            return(0);
	    }
    }
    else
	{
        return(0);
    }
	WP_H;
}

/***************************************************************************
*名稱:e24_pagewrite
*功能:24C32的按頁寫操作
*輸入:pro_num-所寫入的協(xié)議對應的序號,data_array-寫入數(shù)據(jù)的指針。
*輸出:1-操作成功,0-操作失敗
*說明:同單個字節(jié)寫。
***************************************************************************/
uint8 e24_pagewrite(uint8 pro_num, uint8 * data_array)
{
    uint8 data i, addr_H, addr_L;  //--地址分高低字節(jié)存放--
    WP_L;
	//----確定相應的協(xié)議對應的存放地址-----
    addr_H = pro_num/8 + 1;
	addr_L = pro_num * 0x20;
    e24_start();
    if (e24_send(0xA0))
    {
        if (e24_send(addr_H))
        {
		    if (e24_send(addr_L))
			{
			    for (i = 0; i < 32; i++)
				{
                    if (e24_send(*(data_array+i)) == 0)
                    {
                        return(0);
                    }
				}
				e24_stop();
                NOP;
                return(1);
			}
			else
			{
                return(0);
			}
        }
        else
		{
            return(0);
	    }
    }
    else
	{
        return(0);
    }
	WP_H;
}

/***************************************************************************
*名稱:e24_read
*功能:24C32的讀操作
*輸入:addr-所讀數(shù)據(jù)的地址
*輸出:read_data,讀失敗,一律為0xff
***************************************************************************/
uint8 e24_read(uint16 addr)
{
    uint8 read_data;
	WP_H;
    e24_start();
    if (e24_send(0xA0))
    {
        if (e24_send(addr/0x100))
        {
		    if (e24_send(addr%0x100))
			{
                e24_start();
                if (e24_send(0xA1))   //--讀操作的控制碼--
                {
                    read_data = e24_receive();
                    e24_clock();
                    e24_stop();
                    return(read_data);
                }
                else
			    {
                    e24_stop();
			    }
			}
			else
			{
                e24_stop();
			}
        }
        else
		{
            e24_stop();
	    }
    }
    else
	{
        e24_stop();
	}
    return(0xff);
}

/***************************************************************************
*名稱:check_flash
*功能:檢查并載入flash對于的數(shù)據(jù)是否有效
***************************************************************************/
void check_flash(void)
{
    uint8 data i, j, k, temp, add_bit, check_sum;
	uint16 data addr;
	for (i = 0; i < 4; i++)
	{
	    ptl_status[i] = 0;
		add_bit = 1;
		for (j = 0; j < 8; j++)
		{
		    addr = 0x100 + 0x100 * i + 0x20 * j;
	        temp = e24_read(addr);
            if ((temp > 0) && (temp <= 16))
		    {
			    check_sum = temp;
			    for (k = 2; k < temp + 2; k++)
				{
                    check_sum += e24_read(addr + k);
				}
				if (check_sum == e24_read(addr + 1))
				{
			        ptl_status[i] += add_bit; 
					//find_buf[i*8 + j] = e24_read(addr + 2);
				}
		    }
			add_bit *= 2;
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费观看男女羞羞视频| 日韩免费电影一区| 亚洲二区在线视频| 欧美日本在线看| 久久不见久久见中文字幕免费| 精品国产乱码久久久久久1区2区| 国产一区二区不卡老阿姨| 国产精品嫩草影院av蜜臀| 色综合天天性综合| 天天影视网天天综合色在线播放| 精品日韩99亚洲| 成人禁用看黄a在线| 一区二区在线观看av| 欧美一区二区大片| 国产精品一区二区黑丝| 最近日韩中文字幕| 8x8x8国产精品| 国产不卡在线播放| 亚洲综合免费观看高清在线观看| 日韩国产精品久久| 欧美精品一区男女天堂| thepron国产精品| 偷拍与自拍一区| 久久免费美女视频| 在线观看91精品国产入口| 青青草一区二区三区| 欧美高清在线精品一区| 欧美亚洲国产一区二区三区| 蜜桃av噜噜一区二区三区小说| 欧美—级在线免费片| 欧美体内she精高潮| 国产一区二区三区免费播放 | 日韩午夜av电影| 成人久久视频在线观看| 午夜精品久久久| 国产色91在线| 欧美日韩高清一区| 成人午夜在线免费| 香蕉加勒比综合久久| 亚洲国产精品二十页| 精品视频一区二区三区免费| 国产剧情一区二区三区| 亚洲成年人影院| 国产亚洲福利社区一区| 欧美日韩另类一区| 国产福利一区二区三区视频| 偷拍日韩校园综合在线| 国产精品乱码一区二三区小蝌蚪| 制服丝袜一区二区三区| 色综合天天做天天爱| 精品一区二区三区欧美| 亚洲一区二区美女| 国产精品三级电影| 日韩欧美国产系列| 欧美亚洲一区二区在线| 国产.欧美.日韩| 另类专区欧美蜜桃臀第一页| 在线中文字幕不卡| 国产sm精品调教视频网站| 日本在线不卡一区| 亚洲精品国产第一综合99久久| 久久一夜天堂av一区二区三区| 欧美性色aⅴ视频一区日韩精品| 国产成人综合自拍| 蜜桃一区二区三区四区| 亚洲永久精品国产| 国产精品久久国产精麻豆99网站| 精品国产乱码久久久久久免费| 欧美日韩一区二区三区高清| 99久久er热在这里只有精品15| 国产在线精品一区二区| 蜜臀精品久久久久久蜜臀| 一区二区三区日本| 国产精品国产三级国产| 2欧美一区二区三区在线观看视频| 欧美日韩国产成人在线91| 一本一道久久a久久精品| 懂色av一区二区夜夜嗨| 久久国内精品自在自线400部| 亚洲超碰97人人做人人爱| 综合激情网...| 中文一区二区在线观看| 国产精品66部| 久久99精品久久只有精品| 天天操天天干天天综合网| 一区二区三区中文免费| 亚洲日本一区二区三区| 国产精品伦一区二区三级视频| 国产日韩欧美综合在线| 精品国产人成亚洲区| 欧美一个色资源| 91精品国产色综合久久不卡电影 | 99久久久精品免费观看国产蜜| 国产一区在线视频| 久久精品av麻豆的观看方式| 日韩高清在线一区| 日韩国产欧美三级| 天堂va蜜桃一区二区三区漫画版 | 亚洲成a人片在线不卡一二三区| 亚洲激情在线激情| 亚洲免费色视频| 成人欧美一区二区三区在线播放| eeuss鲁一区二区三区| 成人午夜激情影院| 成人免费视频视频在线观看免费| 国产不卡在线视频| 成人av在线看| 91在线观看高清| 91日韩在线专区| 在线观看亚洲一区| 欧美日韩亚洲综合在线| 欧美另类videos死尸| 欧美日韩第一区日日骚| 欧美一级淫片007| 精品免费一区二区三区| 亚洲精品在线电影| 久久精品视频在线免费观看| 国产女同性恋一区二区| 中文字幕的久久| 综合久久久久久| 一个色综合网站| 亚洲成人av一区二区三区| 男女性色大片免费观看一区二区| 久久99久久精品欧美| 国产黑丝在线一区二区三区| 风间由美一区二区av101| 99视频在线精品| 精品视频一区二区不卡| 91精品国产乱码| 国产一区二区三区香蕉| 粉嫩13p一区二区三区| 色综合一区二区| 欧美精品一级二级三级| 精品国一区二区三区| 国产日韩av一区二区| 亚洲同性同志一二三专区| 亚洲自拍偷拍欧美| 免费成人在线视频观看| 国产一区二区电影| 色综合天天综合在线视频| 欧美精品tushy高清| 亚洲精品在线观看网站| 中文字幕亚洲电影| 亚洲成av人片观看| 精品亚洲欧美一区| 99精品视频一区| 欧美挠脚心视频网站| 2017欧美狠狠色| 亚洲三级久久久| 免费看精品久久片| 成人a级免费电影| 欧美日韩五月天| 久久久国产精品不卡| 亚洲嫩草精品久久| 卡一卡二国产精品| 99久久99久久精品国产片果冻| 欧美日韩电影在线| 成人高清免费在线播放| 欧美少妇一区二区| 久久精品视频一区二区| 一区二区在线免费观看| 久久99精品国产麻豆婷婷洗澡| av欧美精品.com| 51久久夜色精品国产麻豆| 亚洲国产精品激情在线观看| 性感美女极品91精品| 成人午夜视频网站| 精品视频在线免费观看| 欧美国产日韩亚洲一区| 天堂资源在线中文精品| 成人h动漫精品一区二| 91精品国产高清一区二区三区蜜臀| 中文字幕va一区二区三区| 日韩av电影天堂| 9人人澡人人爽人人精品| 欧美成人高清电影在线| 亚洲激情五月婷婷| 国产成人欧美日韩在线电影| 欧美男男青年gay1069videost| 国产精品亲子伦对白| 蜜桃视频一区二区三区| 色综合一个色综合亚洲| 久久精品免费在线观看| 五月婷婷综合在线| 91老师国产黑色丝袜在线| xnxx国产精品| 水野朝阳av一区二区三区| 一区二区三区.www| 国产成人综合网站| 欧美一区2区视频在线观看| 一区二区高清视频在线观看| 国产精品一区久久久久| 538prom精品视频线放| 一区二区三区在线看| 高清不卡一区二区在线| 337p粉嫩大胆噜噜噜噜噜91av| 日韩在线a电影| 欧美中文字幕一二三区视频| 国产精品美女久久久久久久| 寂寞少妇一区二区三区|