電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>工控技術(shù)>I2C讀寫(xiě)心得資料下載

I2C讀寫(xiě)心得資料下載

2021-04-17 | pdf | 87.91KB | 次下載 | 2積分

資料介紹

??困擾我?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);
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1TC358743XBG評(píng)估板參考手冊(cè)
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
  4. 5.73 MB  |  11次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5DIY動(dòng)手組裝LED電子顯示屏
  10. 0.98 MB  |  3次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開(kāi)發(fā)板設(shè)計(jì)
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)PM2.5檢測(cè)系統(tǒng)程序
  14. 0.83 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537797次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191186次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)