久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
PMS154C 24C02 DOME
[打印本頁]
作者:
tianshizhiren
時間:
2024-11-3 13:52
標題:
PMS154C 24C02 DOME
//********************************************************************************//
// 功能名稱: 24C02模塊(EEPROM)
// 功能編號: 180201
// 適應芯片: 適用于所有芯片
//--------------------------------------------------------------------------------//
//程序說明:
// 封裝引腳圖如下
// ┌─┐
// A0┤ ├VCC
// A1┤ ├WP
// A2┤ ├SCL
// GND┤ ├SDA
// └─┘
// 引腳A0~A2地址輸入引腳,案例全接GND
// WP引腳寫保護,接GND進行正常讀寫,接VCC只讀模式,案例接GND
// 案例為寫入一個地址0數據49,然后再讀出該地址的數據
// 地址和數據可以隨意改動,數據的范圍為0~255,
// 超過的范圍請參考連寫或連讀
//注意事項:
// 1.案例為PMS154C,其他芯片原理都相同
// 2.連讀或連寫請參考對應的程序
//********************************************************************************//
#include "extern.h"
#define _5us 5*2
bit SCL : PA.3;//用于產生器件所有數據發送或接收的時鐘
bit SDA : PA.4;//用于器件所有數據的發送或接收
byte Address;
byte data;
byte Read_Data;
byte Write_Data;
void init(void)//初始化函數
{
SCL = 1;
.delay _5us;
SDA = 1;//控制信號拉高
.delay _5us;
}
void start(void)//啟動信號子函數//向ROM發送一個開始的信號
{
SDA = 1;
.delay _5us;
SCL = 1;
.delay _5us;
SDA = 0;
.delay _5us;
}
void stop(void)//停止信號子函數//向ROM發送一個停止的信號
{
SDA = 0;
.delay _5us;
SCl = 1;
.delay _5us;
SDA = 1;
.delay _5us;
}
void respons(void)//應答信號子函數//接收一信號后應答
{
$ SDA in,pull;
.delay 100;
SCL = 1;
.delay _5us;
while(SDA==1)
nop;
SCL = 0;
.delay _5us;
$ SDA out,high;
.delay 100;
}
void write_byte(void)//寫入一個字節數據//向E2PROM寫數據
{
byte temp = 0,i = 8;
while(i--)
{
SCL = 0;//數據可以改變
.delay _5us;
temp = data & 0x80;//保留最高位
if(temp)//寫一位
SDA = 1;
else
SDA = 0;
.delay _5us;
data <<= 1;//要存的數據左移一位
SCL = 1;//數據穩定不能寫了
.delay _5us;
}
SCL = 0;
.delay _5us;
SDA = 1;//穩定數據
.delay _5us;
}
void read_byte(void)//讀回一個字節
{
byte i = 8;
SCL = 0;//數據改變
.delay _5us;
SDA = 1;//可讀信號
.delay _5us;
$ SDA in,pull;
.delay 100;
Read_Data = 0;
while(i--)
{
Read_Data = Read_Data << 1;//寫入時從高位寫,讀出時也一樣
SCL = 1;//數據穩定,可從SDA讀出一位
.delay _5us;
if(SDA)
Read_Data = Read_Data | 0x01;
else
Read_Data = Read_Data & 0xfe;
SCL = 0;//數據改變準備下一位
.delay _5us;
}
$ SDA out,high;
.delay 100;
}
void write_add(void)//片內隨意地址寫任意數//根據起始地址、數據個數及數據寫入E2PROM中
{ //Write_Data address變量
start();//起始
data = 0xa0;//E2PROM地址(ATC02為0xa0)//器件地址+寫控制位
write_byte();
respons();//應答
data = address;//寫入數據要存放的地址
write_byte();
respons();//應答
data = Write_Data;//寫入數據
write_byte();
respons();//應答
stop();//終止
}
void read_add(void)//片內隨意地址讀數據//根據起始地址和讀出個數,從E2PROM中讀出一串數據
{ //address變量
start();//起始
data = 0xa0;//器件地址+寫控制位
write_byte();
respons();//應答
data = address;//數據地址
write_byte();
respons();//應答
start();//起始
data = 0xa1;//器件地址+讀控制位
write_byte();
respons();
read_byte();
.delay 1000;
stop();//停止
}
void FPPA0 (void)
{
.ADJUST_IC SYSCLK=IHRC/8, IHRC=16MHz, VDD=5V;
$ SDA out,high;
$ SCL out,high;
Address = 0;
init();
.delay 100;
while (1)
{
Address = 0;//地址
Write_Data = 49;//數據
write_add();//寫入一個數據
.delay 5000*2;//延時一下
Address = 0;
read_add();//讀出寫入的數據
nop;
}
}
void Interrupt (void)
{
pushaf;
if (Intrq.T16)
{ // T16 Trig
// User can add code
Intrq.T16 = 0;
//...
}
popaf;
}
復制代碼
原理圖: 無
仿真: 無
代碼:
PMS154C 24C02.zip
(11.35 KB, 下載次數: 1)
2024-11-3 13:51 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产精品日韩一区二区
|
特一级毛片
|
麻豆视频国产在线观看
|
97人人草
|
国产精品国产三级国产aⅴ中文
|
亚洲成av人片在线观看无码
|
手机在线不卡av
|
亚洲 欧美 综合
|
国产精品久久久久久久
|
成人小视频在线免费观看
|
狠狠伊人
|
欧美极品在线视频
|
日日摸天天添天天添破
|
青青久草
|
久久成人一区
|
超碰电影
|
国产视频91在线
|
亚洲九色
|
欧美成人精品
|
日韩伦理一区二区
|
亚洲免费在线观看
|
91在线精品一区二区
|
国产99精品
|
9久久
|
欧美高清一区
|
国产日韩精品久久
|
国产婷婷
|
密色视频
|
欧美日韩高清
|
操人视频在线观看
|
在线电影日韩
|
人人爽人人爽人人片av
|
精品欧美一区二区精品久久久
|
国产重口老太伦
|
欧美日韩综合一区
|
视频精品一区
|
伊色综合久久之综合久久
|
污片在线观看
|
久久中文字幕在线
|
国产精品欧美一区二区三区不卡
|
亚洲免费观看视频
|