吴忠躺衫网络科技有限公司

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>工控技術>I2C讀寫心得資料下載

I2C讀寫心得資料下載

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

資料介紹

??困擾我幾的程序終于搞定了,前幾天我對AT24C02一直讀不準確,找了N長時間的程序都沒有頭緒,后來在板哥的指點下,一下子明白了,原因很簡單,我在AT24C02_read()最后沒有加延時,主要還是對時序沒有控制好呀,用板哥的一句話是我們對器件的了解還不很熟,我現在也感到,一定要先了解了器件的特性,我們才能游刃有余把握住每一個容易疏忽的細節,在這里,板哥確實教會了我好多東西,在我剛學單片機時,他就對我說時序很重要,現在終于是看到了. ??好了不羅嗦了,最后得出一點,最好在每個讀寫結束時加個延時,如果對時間要求不是很重要的話,加的長一點無所謂,如果要求比較高的話,那先加長延時,然后慢慢的減. #include #include /*********************************LCD定義部分********************************/ //輸入方式設置 #define LCD_AC_AUTO_INCREMENT???? 0x06???????? //數據讀、寫操作后,AC自動增一 #define LCD_AC_AUTO_DECREASE????? 0x04???????? //數據讀、寫操作后,AC自動減一 #define LCD_MOVE_ENABLE?????????? 0x05???????? //數據讀、寫操作,畫面平移 #define LCD_MOVE_DISENABLE??????? 0x04???????? //數據讀、寫操作,畫面不動 #define LCD_GO_HOME?????????????? 0x02???????? //AC=0,光標、畫面回HOME位 //設置顯示、光標及閃爍開、關 #define LCD_DISPLAY_ON??????????? 0x0C???????? //顯示開 #define LCD_DISPLAY_OFF?????????? 0x08???????? //顯示關 #define LCD_CURSOR_ON???????????? 0x0A???????? //光標顯示 #define LCD_CURSOR_OFF??????????? 0x08???????? //光標不顯示 #define LCD_CURSOR_BLINK_ON?????? 0x09???????? //光標閃爍 #define LCD_CURSOR_BLINK_OFF????? 0x08???????? //光標不閃爍 //光標、畫面移動,不影響DDRAM #define LCD_LEFT_MOVE???????????? 0x18???????? //LCD顯示左移一位 #define LCD_RIGHT_MOVE??????????? 0x1C???????? //LCD顯示右移一位 #define LCD_CURSOR_LEFT_MOVE????? 0x10???????? //光標左移一位 #define LCD_CURSOR_RIGHT_MOVE???? 0x14???????? //光標右移一位 //工作方式設置 #define LCD_DISPLAY_DOUBLE_LINE?? 0x38???????? //兩行顯示 #define LCD_DISPLAY_SINGLE_LINE?? 0x30???????? //單行顯示 #define LCD_CLEAR_SCREEN? 0X01?? //清屏 /***********************LCD1602地址相關******************************/ #define LINE1_HEAD??? 0x80?? // 第一行DDRAM起始地址? #define LINE2_HEAD??? 0xc0?? //? 第二行DDRAM起始地址 #define LINE1???????? 0????? //第一行 #define LINE2???????? 1????? //第二行 #define LINE_LENGTH?? 16???? //每行的最大字符長度 /***********************LCD1602接線引腳定義************************** **********************可根據實際電路改變*******************************/ #define LCDIO???? P2???????? //定義P2口與LCD1602的數據口相接 ? sbit?? LCD_RS=P1^4;????????? ? sbit?? LCD_RW=P1^3;????????? ? sbit?? LCD_EN=P1^2; ? sbit? LCD_BUSY=LCDIO^7; ?/**********************另外相關的定義*********************************/ ?#define HIGH?????????????? 1 ?#define LOW??????????????? 0??? ?#define TURE?????????????? 1 ?#define? FALSE???????????? 0 ?#define? uchar unsigned char ?#define? uint? unsigned int ?#define NUM 10 ?/*************************以下是函數的申明部分*************************/ ?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); ?/*********************結束***********************************************/ //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);
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關電源基礎知識
  4. 5.73 MB  |  11次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5DIY動手組裝LED電子顯示屏
  10. 0.98 MB  |  3次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發板設計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機PM2.5檢測系統程序
  14. 0.83 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537797次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191186次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
TT娱乐城投注,| 百家乐官网无损打法| 盈禾娱乐场| 大发888娱乐场下载iypu| 太阳城百家乐杀祖玛| 送现金百家乐官网的玩法技巧和规则 | 皇冠网 全讯通| 德州扑克攻略| 大发888娱乐城建账号| 索罗门百家乐的玩法技巧和规则| 百家乐怎么下可以赢| 百家乐庄闲机率分析| 太子百家乐官网娱乐城| 百家乐官网娱乐真人娱乐| 百家乐官网赌场玩法技巧| 百家乐官网群11889| 可以玩百家乐官网的博彩网站 | 百家乐官网斗地主下载| 百家乐官网出千方法技巧| 百家乐官网007| 百家乐官网博赌场娱乐网规则| 全讯网百家乐官网的玩法技巧和规则| 将军百家乐官网的玩法技巧和规则| 巴西百家乐官网的玩法技巧和规则 | 大发888真钱游戏下载官网| 大发888免费下载| 大发888坑人么| 利记现金| 百家乐官网对打反水| 百家乐官网冯氏坐庄法| 澳门百家乐官网路子分析| 定做百家乐官网桌子| 百家乐官网真人百家乐官网赌博| 大西洋百家乐官网的玩法技巧和规则| 黄金城百家乐官网手机用户| 博彩百家乐龙虎| 百家乐试玩1000元| 太阳城官方网| 新利国际网站| 太阳城百家乐官网赌场| 神州百家乐官网的玩法技巧和规则|