久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
單片機學習-EEPROM實驗
[打印本頁]
作者:
51黑tt
時間:
2016-3-6 12:56
標題:
單片機學習-EEPROM實驗
EEPROM實驗板采用ATMEL公司的AT24C02芯片,該芯片為單頁256字節的存儲器,通過IIC總線可以對芯片進行讀寫操作。SCL和SDA分別接單片機的P3.6和P3.7。
C語言源程序:
#include<reg52.h> //52單片機頭文件包含
#define uchar unsigned char //宏定義 uchar 為 unsigned char
sbit sda=P3^6; //定義sda接口引腳
sbit scl=P3^7; //定義scl接口引腳
uchar a; //定義無符號字符變量 a
void delay()//延時函數 執行2條空語句
{ ;;}
void start() //開始信號
{
sda=1;//sda置1
delay();//延時
scl=1;//scl置1
delay();//延時
sda=0;//sda置0
delay();//延時
}
void stop()//停止信號
{
sda=0;//sda置0
delay();//延時
scl=1;//scl置1
delay();//延時
sda=1;//sda置1
delay();//延時
}
void respons() //應答
{
uchar i;//定義無符號字符變量 i
scl=1;//scl置1
delay();//延時
while((sda==1)&&(i<250)) i++; //如果sda=1并且i<250的話循環執行i++
scl=0;//scl置0
delay();//延時
}
void init() //初始化
{
sda=1;//sda置1
delay();//延時
scl=1;//scl置1
delay();//延時
}
void write_byte(uchar date) //寫一個字節
{
uchar i,temp; //定義無符號字符變量i,temp
temp=date;//將參數date賦值給temp
for(i=0;i<8;i++) //循環8次逐位寫入
{
temp=temp<<1;//左移1位
scl=0;//scl置0
delay();//延時
sda=CY;//進位標志賦值給sda完成寫入
delay();//延時
scl=1;//scl置1
delay();延時
}
scl=0;//scl置0
delay();//延時
sda=1;//sda置1
delay();//延時
}
uchar read_byte() //讀EEPROM中的一個字節
{
uchar i,k; //定義無符號字符變量i,k
scl=0;//scl置0
delay();//延時
sda=1;//sda置1
delay();//延時
for(i=0;i<8;i++) //分8次讀取每次讀一位
{
scl=1;//scl置1
delay();//延時
k=(k<<1) | sda;//k左移1位與sda相或得到1位的值
scl=0;//scl置0
delay();//延時
}
return k;//讀取完畢返回讀取到的值
}
void delay1(uchar x) //延時函數2
{
uchar a,b; //定義無符號字符變量a,b
for(a=x;a>0;a--)//循環x次
{
for(b=100;b>0;b--);//循環100次
}
}
void wirte_add(uchar address,uchar date) //按地址寫入數據函數
{
start();//開始信號
write_byte(0xa0); //寫入指令0xa0;
respons();//應答
write_byte(address);//寫入地址
respons();//應答
write_byte(date)//寫入數據
respons()//應答
stop();//停止
}
uchar read_add(uchar address)//讀取一個地址的數據
{
uchar date;//定義無符號字符變量date用于接收讀取的數據
start();//開始信號
write_byte(0xa0);//讀寫指令寫入
respons();//應答
write_byte(address);//寫入地址
respons();//應答
start();//開始信號
write_byte(0xa1);//讀指令寫入
respons();//應答
date=read_byte();//讀入地址的數據賦值給date
stop();//停止
return date;//返回讀到的值
}
void main() // 入口函數
{
init();//對EEPROM進行初始化
write_add(0x01,0x04);//在EEPROM的0x01號地址寫入數據0x04
delay1(100);//延時100ms
write_add(0x02,0x08);//在EEPROM的0x02號地址寫入數據0x08
delay1(100);//延時100ms
write_add(0x03,0);//在EEPROM的0x03號地址寫入數據0
delay1(100);//延時100ms
P1=read_add(0x01)//讀入0x01號地址的值賦值給P1
while(1);//無限循環
}
//實驗現象由于0x01號地址寫入的是0x04 (00000100)所以第三個發光二極管被熄滅
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
91精品久久久久久久久99蜜臂
|
狠狠干天天干
|
久久综合久久自在自线精品自
|
国产成人精品999在线观看
|
国产一区二区影院
|
欧美日韩精品免费
|
成人免费日韩
|
国产免费一区二区三区
|
国产精品久久久久久久久久妇女
|
国产视频一区二区三区四区五区
|
两性午夜视频
|
91视频在线看
|
午夜精品一区二区三区在线视频
|
国产黄色大片在线观看
|
www.三级
|
欧美精品久久久久
|
久久人
|
中文字幕在线播放第一页
|
国产激情片在线观看
|
国产亚洲精品久久久久动
|
欧美黄视频
|
www.亚洲成人网
|
www.99热这里只有精品
|
亚洲欧美一区二区在线观看
|
一区二区在线看
|
午夜精品一区二区三区在线观看
|
国产精品久久久久久久久久99
|
国产激情视频
|
国产成人综合久久
|
精品网站999
|
日本精品一区二区
|
一级黄色录像毛片
|
在线看黄免费
|
色综合视频
|
一区二区三区电影网
|
欧美xxxx网站
|
成人在线一区二区三区
|
暴草美女
|
国产伦精品一区二区三区照片91
|
日韩国产精品一区二区三区
|
亚洲精品影院
|