新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于X5045的看門狗電路及51讀寫x5045存儲(chǔ)器的程序

基于X5045的看門狗電路及51讀寫x5045存儲(chǔ)器的程序

作者: 時(shí)間:2012-08-03 來源:網(wǎng)絡(luò) 收藏

是一種集狗、電壓監(jiān)控和串行EEPROM 三種功能于一身的可編程控制.特別適合應(yīng)用在需要少量,并對板空間需求較高場合,

本文引用地址:http://m.butianyuan.cn/article/171073.htm

具有電壓監(jiān)控功能,可以保護(hù)系統(tǒng)免受低電壓的影響,當(dāng)電源電壓降到允許范圍(4.2V)以下時(shí),系統(tǒng)將復(fù)位,直到電源電壓返回到穩(wěn)定值為止。與CPU 通過串行通信方式接口(SPI),可以存放512個(gè)字節(jié)數(shù)據(jù).可擦寫100萬次,數(shù)據(jù)可保存100年.

下圖是X5045與具有手動(dòng)復(fù)位的8051微控制器的連接


注意:圖上的芯片寫著是X5043,實(shí)際上這是X5045的接法

下邊是51

//和51的連接方法
sbit CS = P1^0;
sbit SO = P1^3;
sbit SI = P1^1;
sbit SCK = P1^2;
//定義寄存器指令
#define WREN 0x06 // 寫入使能指令(WREN)
#define WRDI 0x04 // 寫入禁止指令(WRDI)
#define WRSR 0x01 // 寫入狀態(tài)寄存器指令(WRSR)
#define RDSR 0x05 // 讀取狀態(tài)寄存器指令(RDSR)
#define WRITE 0x02 // 寫入存儲(chǔ)器指令(WRITE)
#define READ 0x03 // 讀取存儲(chǔ)器指令(READ)

#define STATUS_REG 0x00 // 要寫入到狀態(tài)寄存器的值
#define MAX_POLL 0x99 // 最在查詢次數(shù)m number of


void outbyte(unsigned char write_data)
{
unsigned char i;
for(i = 0; i 8; i++)
{
SCK = 0;
SI = (bit)(write_data 0x80); //傳送一個(gè)位到SI
write_data = 1;
SCK = 1;
}
SI = 0;
}
unsigned char inbyte()
{
unsigned char i;
unsigned char read_data=0;

for(i = 0; i 8; i++)
{
SCK = 0;
read_data = 1;
SCK = 1;
read_data |= (unsigned char)SO;
}
return read_data;
}

DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY



上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉