欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
關于存儲芯片24c02單片機例程(內含超詳細注釋)
[打印本頁]
作者:
guzunliang
時間:
2019-6-10 21:57
標題:
關于存儲芯片24c02單片機例程(內含超詳細注釋)
#include<reg52.h>
#define uchar unsigned char
sbit sda=P3^5; //數據
sbit scl=P3^4; //時鐘
uchar a;
void delay() //延時
{ ;; }
void start() //開始信號 在scl時鐘高電平時數據sda由高到低跳變
{
sda=1;
scl=1;
delay(); //延時
sda=0;
delay(); //延時
}
void stop() //停止 在scl時鐘高電平時數據sda由低到高跳變
{
sda=0;
scl=1;
delay(); //延時
sda=1;
delay(); //延時
}
void respons() //應答 在scl時鐘高電平時檢測數據sda由高到低跳變,經過幾個周期無應答自動跳過
{
uchar i;
scl=1;
delay();
while((sda==1)&&(i<250))i++; //當i=250時無應答自動跳過
scl=0;
delay();
}
void init() //初始化
{
sda=1;
scl=1;
delay(); //延時
}
void write_byte(uchar date) //寫一個字節
{
uchar i,temp;
temp=date;
for(i=0;i<8;i ++) //循環8次寫入一個字節
{
temp=temp<<1; //temp中的數據左移,最高位移入CY存儲器中,低位補零
scl=0;
delay();
sda=CY;
delay();
scl=1;
delay();
}
scl=0;
delay();
sda=1;
delay();
}
uchar read_byte() //讀取一個字節
{
uchar i,k;
scl=0;
sda=1;
delay();
for(i=0;i<8;i++)
{
scl=1;
delay();
k=(k<<1)|sda; //k左移低位用sda代替(左移完后與sda與運算),循環8次,取出完整的字節
scl=0;
delay();
}
return k; //返回k值
}
void delay1(uchar x) //延時函數
{
uchar a,b;
for(a=x;a>0;a--)
for(b=100;b>0;b--);
}
void write_add(uchar address,uchar date) //完整的寫字節過程
{
start(); //開始信號
write_byte(0xa0); //發送片選并選擇寫
respons(); //應答
write_byte(address); //發送要寫入的地址
respons(); //應答
write_byte(date); //發送要寫入的數據
respons(); //應答
stop(); //停止
}
uchar read_add(uchar address) //完整的讀字節過程
{
uchar date;
start(); //開始信號
write_byte(0xa0); //發送片選并選擇寫
respons(); //應答
write_byte(address); //發送要讀取的地址
respons(); //應答
start(); //開始信號
write_byte(0xa1); //發送片選并選擇讀
respons(); //應答
date=read_byte(); //讀取數據
stop(); //停止
return date; //返回date
}
void main()
{
init(); //初始化
write_add(23,0x5a); //在位置23中寫入5a
delay1(100); //延時函數
P1=read_add(23); //在位置23中讀取數據并對P!口賦值
while(1);
}
全部程序51hei下載地址:
24c02例程.zip
(20.52 KB, 下載次數: 57)
2019-6-10 21:57 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
kww6g55t
時間:
2019-9-6 16:13
這個好像哪個教程里的文件
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1