資料介紹
??困擾我?guī)椎某绦蚪K于搞定了,前幾天我對(duì)AT24C02一直讀不準(zhǔn)確,找了N長(zhǎng)時(shí)間的程序都沒(méi)有頭緒,后來(lái)在板哥的指點(diǎn)下,一下子明白了,原因很簡(jiǎn)單,我在AT24C02_read()最后沒(méi)有加延時(shí),主要還是對(duì)時(shí)序沒(méi)有控制好呀,用板哥的一句話(huà)是我們對(duì)器件的了解還不很熟,我現(xiàn)在也感到,一定要先了解了器件的特性,我們才能游刃有余把握住每一個(gè)容易疏忽的細(xì)節(jié),在這里,板哥確實(shí)教會(huì)了我好多東西,在我剛學(xué)單片機(jī)時(shí),他就對(duì)我說(shuō)時(shí)序很重要,現(xiàn)在終于是看到了.
??好了不羅嗦了,最后得出一點(diǎn),最好在每個(gè)讀寫(xiě)結(jié)束時(shí)加個(gè)延時(shí),如果對(duì)時(shí)間要求不是很重要的話(huà),加的長(zhǎng)一點(diǎn)無(wú)所謂,如果要求比較高的話(huà),那先加長(zhǎng)延時(shí),然后慢慢的減.
#include
#include
/*********************************LCD定義部分********************************/
//輸入方式設(shè)置
#define LCD_AC_AUTO_INCREMENT???? 0x06???????? //數(shù)據(jù)讀、寫(xiě)操作后,AC自動(dòng)增一
#define LCD_AC_AUTO_DECREASE????? 0x04???????? //數(shù)據(jù)讀、寫(xiě)操作后,AC自動(dòng)減一
#define LCD_MOVE_ENABLE?????????? 0x05???????? //數(shù)據(jù)讀、寫(xiě)操作,畫(huà)面平移
#define LCD_MOVE_DISENABLE??????? 0x04???????? //數(shù)據(jù)讀、寫(xiě)操作,畫(huà)面不動(dòng)
#define LCD_GO_HOME?????????????? 0x02???????? //AC=0,光標(biāo)、畫(huà)面回HOME位
//設(shè)置顯示、光標(biāo)及閃爍開(kāi)、關(guān)
#define LCD_DISPLAY_ON??????????? 0x0C???????? //顯示開(kāi)
#define LCD_DISPLAY_OFF?????????? 0x08???????? //顯示關(guān)
#define LCD_CURSOR_ON???????????? 0x0A???????? //光標(biāo)顯示
#define LCD_CURSOR_OFF??????????? 0x08???????? //光標(biāo)不顯示
#define LCD_CURSOR_BLINK_ON?????? 0x09???????? //光標(biāo)閃爍
#define LCD_CURSOR_BLINK_OFF????? 0x08???????? //光標(biāo)不閃爍
//光標(biāo)、畫(huà)面移動(dòng),不影響DDRAM
#define LCD_LEFT_MOVE???????????? 0x18???????? //LCD顯示左移一位
#define LCD_RIGHT_MOVE??????????? 0x1C???????? //LCD顯示右移一位
#define LCD_CURSOR_LEFT_MOVE????? 0x10???????? //光標(biāo)左移一位
#define LCD_CURSOR_RIGHT_MOVE???? 0x14???????? //光標(biāo)右移一位
//工作方式設(shè)置
#define LCD_DISPLAY_DOUBLE_LINE?? 0x38???????? //兩行顯示
#define LCD_DISPLAY_SINGLE_LINE?? 0x30???????? //單行顯示
#define LCD_CLEAR_SCREEN? 0X01?? //清屏
/***********************LCD1602地址相關(guān)******************************/
#define LINE1_HEAD??? 0x80?? // 第一行DDRAM起始地址?
#define LINE2_HEAD??? 0xc0?? //? 第二行DDRAM起始地址
#define LINE1???????? 0????? //第一行
#define LINE2???????? 1????? //第二行
#define LINE_LENGTH?? 16???? //每行的最大字符長(zhǎng)度
/***********************LCD1602接線(xiàn)引腳定義**************************
**********************可根據(jù)實(shí)際電路改變*******************************/
#define LCDIO???? P2???????? //定義P2口與LCD1602的數(shù)據(jù)口相接
? sbit?? LCD_RS=P1^4;?????????
? sbit?? LCD_RW=P1^3;?????????
? sbit?? LCD_EN=P1^2;
? sbit? LCD_BUSY=LCDIO^7;
?/**********************另外相關(guān)的定義*********************************/
?#define HIGH?????????????? 1
?#define LOW??????????????? 0???
?#define TURE?????????????? 1
?#define? FALSE???????????? 0
?#define? uchar unsigned char
?#define? uint? unsigned int
?#define NUM 10
?/*************************以下是函數(shù)的申明部分*************************/
?void LCD_init(void);??????????????????? //LCD1602初始化
?void LCD_send_command(uchar command);?? //
?void LCD_send_data(uchar dat);
?void LCD_write_char(uchar x,uchar y,uchar dat);
?void LCD_write_string(uchar x,uchar y,char *Data);
?void delay_ms(uint n);
?void LCD_check_busy(void);
?/*********************結(jié)束***********************************************/
//at24c02 part
#define? WRITE24C02??? 0xA0
#define???? READ24C02??? 0xA1
//I2C part
#define??? Wait1us??????? _nop_();
#define??? Wait2us??????? {_nop_();_nop_();}
#define??? Wait4us??????? {Wait2us;Wait2us;}
#define??? Wait8us??????? {Wait4us;Wait4us;}
#define??? Wait10us??? {Wait8us;Wait2us;}
sbit SDA=P2^7;????? //AT24C02 serial data??? pin 5?
sbit SCL=P2^6;???? //AT24C02 serial clock??? pin 6
/********************************************************************/
void I2C_start(void);//I2C start function
void I2C_stop(void);//I2C stop function
//void I2C_send_ack(void);//I2C send responsion function?
void I2C_send_noack(void);
void I2C_write_byte(unsigned char IIC_data);//I2C bus write byte function?
unsigned char I2C_read_byte(void);//I2C bus read byte function
/********************************************************************/
void AT24C02_write(unsigned char address,unsigned char *buf,unsigned char n);//write 24c02 information function
void AT24C02_read(unsigned char address,unsigned char *buf,unsigned char n);//read 24c02 information function
/********************************************************************/
void Mcu_init(void);//system initize funcition
void I2C_init(void);
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- I2C控制EF2內(nèi)置FLASH讀寫(xiě)
- STM32f103系列i2c讀寫(xiě)文件at24c02 22次下載
- STM32 I2C存取實(shí)驗(yàn)資料 16次下載
- STM32學(xué)習(xí)之I2C協(xié)議(讀寫(xiě)EEPROM)
- 嵌入式linux應(yīng)用讀寫(xiě)i2c示例
- I2C基本用法及問(wèn)題匯總資料下載
- 淺談 STM32 硬件I2C的使用資料下載
- 使用C語(yǔ)言模擬51單片機(jī)的I2C總線(xiàn)的資料和程序免費(fèi)下載
- 如何將I2C從地址左移1位
- I2C負(fù)響應(yīng)問(wèn)題項(xiàng)目求解答的資料合集免費(fèi)下載 5次下載
- Arduino教程之I2C模塊使用教程資料免費(fèi)下載 9次下載
- I2C—讀寫(xiě)EEPROM 23次下載
- I2C資料總結(jié) 2次下載
- I2C總線(xiàn)規(guī)范與I2C器件C51讀寫(xiě)程序
- I2C總線(xiàn)器件的C51讀寫(xiě)程序
- I2C地址跳變問(wèn)題的調(diào)試案例 1124次閱讀
- 無(wú)法讀取I2C地址的調(diào)試案例 1652次閱讀
- I2C通信沒(méi)反應(yīng)怎么辦? 3062次閱讀
- I2C通信協(xié)議及其工作原理 4485次閱讀
- Linux I2C驅(qū)動(dòng)入門(mén)知識(shí)科普 1518次閱讀
- i2c-tools工具的安裝和使用簡(jiǎn)單介紹 9317次閱讀
- 基于MM32生態(tài)實(shí)現(xiàn)I2C接口通訊的方式 1556次閱讀
- MM32F0140 MCU關(guān)于I2C的介紹、配置及實(shí)驗(yàn) 3693次閱讀
- 什么是I2C通信協(xié)議? 7575次閱讀
- i2c總線(xiàn)用來(lái)做什么_i2c總線(xiàn)數(shù)據(jù)傳輸過(guò)程 7086次閱讀
- 基于MCS-51單片機(jī)I2C總線(xiàn)接口電路的設(shè)計(jì) 3245次閱讀
- AT89S52單片機(jī)并行端口模擬I2C總線(xiàn)協(xié)議讀寫(xiě)AT24C04的設(shè)計(jì) 2585次閱讀
- 基于使用STM8單片機(jī)I2C方式實(shí)現(xiàn)讀寫(xiě)操作 1.1w次閱讀
- I2C總線(xiàn)的特點(diǎn)、控制技術(shù)與傳輸分析 9914次閱讀
- 《振南電子STM32視頻教程》第八講:I2C總線(xiàn) 1077次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 11次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5DIY動(dòng)手組裝LED電子顯示屏
- 0.98 MB | 3次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開(kāi)發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)PM2.5檢測(cè)系統(tǒng)程序
- 0.83 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537797次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191186次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多