亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? i2c_2.lst

?? 用PIC16F73編寫的SMBUS通信測試程序
?? LST
字號:
     1: 
     2: /******************************************************************* 
     3: 一、程序說明: 
     4: 1, 24LC02器件地址是1010000R/W. 同時也一部分為SMBUS  0x16
     5: 2, 數組寫入24LC02采取頁寫方式. 
     6: 3, 數組code從24LC02讀出時采取自由讀方式. 
     7: 4, 采用4.00M晶體。 
     8: 5,采用軟件I2C。 
     9: 
    10: 二、硬件連接: 
    11: 1, SDA_DIRE------->23 pin.(當然你可以任意選擇腳位) 
    12: 2,  SCL_DIRE------->18 Pin.(當然你可以任意選擇腳位) 
    13: 3, PORTD----->外接8個LED,顯示讀出的數據,在這里,讀出的剛好是一個閃動的流水燈狀態。 
    14: 
    15: *******************************************************************/ 
    16: #include "pic.h" 
    17: 
    18: #define uchar   unsigned char 
    19: #define nop()  asm("nop")
    20: //#define SCL_DIRE  TRISC3  //PIC mcu專用I2C
    21: //#define SDA_DIRE  TRISC4 
    22: //#define SCL     RC3
    23: //#define SDA_E     RC4
    24: 
    25: //#define SCL     RA0
    26: //#define SDA     RA1
    27: //#define SCL_DIR  TRISA0 
    28: //#define SDA_DIR  TRISA1 
    29: 
    30: void start_i2c(); 
    31: void stop_i2c(); 
    32: void send_byte(uchar c); 
    33: uchar receive_byte(); 
    34: void I_send_str(uchar sla,uchar suba,uchar *s,uchar no);
    35: void I_send_word(uchar sla,uchar suba,uchar datal,uchar datah); 
    36: void delay_250ms(); 
    37: void i2c_error (); 
    38: int ReadByte_EE(uchar addr);
    39: 
    40: 
    41: uchar code[]={0x34,0x64,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff}; 
    42: uchar no,ack,c,data; 
    43: 
    44: 
    45: /******************************************************************* 
    46: 起動總線函數 
    47: 函數原型: void start_i2c(); 
    48: Function: start on the I2C bus 
    49: *******************************************************************/ 
    50: void start_i2c() 
    51: { 
    52:  SDA_DIR=1;       //發送啟始條件的數據信號 
    53:  nop(); 
    54:  SCL_DIR=1; 
    55:  nop();nop();nop();nop();nop(); //24LC02要求建立時間大于4,7S 
    56:  SDA_DIR=0;                      //發送起始信號 
    57:  nop();nop();nop();nop();nop(); 
    58:  SCL_DIR=0;                      //鉗住I2C總線,準備發送數據或接收數據 
    59:  nop();nop(); 
    60: } 
    61: 
    62: 
    63: /******************************************************************* 
    64: 停止總線函數 
    65: 函數原型: void stop_i2c(); 
    66: Function: stop the I2C bus 
    67: *******************************************************************/ 
    68: void stop_i2c() 
    69: { 
    70:   
    71:  SDA_DIR=0; //發送結束條件的數據信號 
    72:  nop(); 
    73:  SCL_DIR=1; 
    74:  nop();nop();nop();nop();nop(); 
    75:  SDA_DIR=1; 
    76:  nop();nop();nop();nop(); 
    77: } 
    78: 
    79: /*================================================================= 
    80: 字節數據傳送函數 
    81: 函數原型: void send_byte(uchar c); 
    82: Function: 將數據C發送出去,可以是地址,也可以是數據,發完后等待回應,并對此狀態 
    83:          位進行操作(不應答或非應答都使ack=0 ),發送數據正常,ack=1;ack=0 
    84:          表示被控器無應答或損壞。 
    85: ==================================================================*/ 
    86: void send_byte(uchar c) 
    87: { 
    88:  uchar bit_count; 
    89:  for (bit_count=0;bit_count<8;bit_count++) 
    90:   { 
    91:    if ((c<<bit_count)&0x80) {SDA_DIR=1;} 
    92:    else {SDA_DIR=0;} 
    93:    nop(); 
    94:    SCL_DIR=1; 
    95:    nop();nop();nop();nop();nop(); 
    96:    SCL_DIR=0; 
    97:   } 
    98:   nop();nop(); 
    99:   SDA_DIR=1; 
   100:   nop();nop(); 
   101:   SCL_DIR=1; 
   102:   nop();nop();nop(); 
   103:   if (SDA==1) ack=0; 
   104:   else ack=1; //用ASK=1為有應答信號 
   105:   SCL_DIR=0; 
   106:   nop();nop(); 
   107: } 
   108: 
   109: /*================================================================== 
   110: 字節數據接收函數 
   111: 函數原型:uchar receive_byte(); 
   112: FUNCTION: 用來接收從器件傳來的數據,并判斷總線錯誤(不發應答信號), 
   113:          發完后請用應答函數。 
   114: ===================================================================*/ 
   115: uchar receive_byte() 
   116: { 
   117:   uchar retc,bit_count; 
   118:   retc=0; 
   119:   SDA_DIR=1; 
   120:   for (bit_count=0;bit_count<8;bit_count++) 
   121:   { 
   122:      nop(); 
   123:      SCL_DIR=0; 
   124:      nop();nop();nop();nop();nop(); 
   125:      SCL_DIR=1; 
   126:      nop();nop(); 
   127:      retc=retc<<1; 
   128:      if (SDA==1)  retc=retc+1; 
   129:      nop();nop(); 
   130:    } 
   131:    SCL_DIR=0; 
   132:    nop();nop(); 
   133:    return (retc); 
   134: } 
   135: 
   136: ////////********************************//////////////
   137: int ReadByte_EE(uchar addr){
   138: uchar data1;
   139:  start_i2c(); 
   140:       send_byte(0xA0);      //發送器件地址,即DEVICE ADDRESS。 
   141:         if (ack==0) i2c_error(); //如果24LC02無應答。則進入I2C ERROR錯誤指示。 
   142:       send_byte(addr);         //發送字地址,即WORD ADDRESS。D口顯示數組。 
   143:         if (ack==0) i2c_error(); 
   144:       start_i2c();          //重新啟動總線。 
   145:       send_byte(0xA1);      //發送讀命令和器件地址DEVICE ADDRESS。 
   146:         if (ack==0) i2c_error(); 
   147:       data1=receive_byte(); 
   148:       stop_i2c(); 
   149:       return(data1);
   150:       }
   151: 
   152: 
   153: /*================================================================ 
   154: 向有子地址器件發送多字節數據函數 
   155: 函數原型: bit I_send_str(uchar sla,uchar suba,uchar *s,uchar no); 
   156: Function: 從啟動總線到發送地址,數據,結束總線的全過程,從器件地址sla。如果 
   157:          返回1表示操作成功,否則操作有誤。 
   158: =================================================================*/ 
   159: void I_send_str(uchar sla,uchar suba,uchar *s,uchar no) 
   160: { 
   161:   uchar i; 
   162:   start_i2c(); 
   163:   send_byte(sla); 
   164:   if (ack==0)  i2c_error(); 
   165:   send_byte(suba); 
   166:   if (ack==0)  i2c_error(); 
   167:   for (i=0;i<no;i++) 
   168:    { 
   169:      send_byte(*s); 
   170:      if (ack==0)  i2c_error(); 
   171:      s++; 
   172:    } 
   173:   stop_i2c(); 
   174:  // return(1); 
   175: } 
   176: 
   177: /*================================================================ 
   178: 向有子地址器件發送兩字節數據函數 
   179: 函數原型: bit I_send_word(uchar sla,uchar suba,uchar datal,uchar datah); 
   180: Function: 從啟動總線到發送地址,數據,結束總線的全過程,從器件地址sla。如果 
   181:          返回1表示操作成功,否則操作有誤。 
   182: =================================================================*/ 
   183: void I_send_word(uchar sla,uchar suba,uchar datal,uchar datah) 
   184: { 
   185:   uchar i; 
   186:   start_i2c(); 
   187:   send_byte(sla); 
   188:   if (ack==0)  i2c_error(); 
   189:   send_byte(suba); 
   190:   if (ack==0)  i2c_error(); 
   191:   send_byte(datal); 
   192:   if (ack==0)  i2c_error(); 
   193:   send_byte(datah); 
   194:   if (ack==0)  i2c_error(); 
   195:   stop_i2c(); 
   196:  // return(1); 
   197: } 
   198: /***************************************************************** 
   199: 延時函數 
   200: 函數原型: void delay_250ms(); 
   201: FUNCTION: 延明250ms 
   202: *****************************************************************/ 
   203: void delay_250ms() 
   204: { 
   205:  unsigned int d=24999; 
   206:  while (--d); 
   207: } 
   208: 
   209: /***************************************************************** 
   210: 總線錯誤函數 
   211: 函數原型: void i2c_error(); 
   212: Function: 通過RD7閃動8次表示總線操作失敗一次報警。 
   213: *****************************************************************/ 
   214: void i2c_error () 
   215: { 
   216:  uchar i; 
   217:  for (i=0;i<8;i++) 
   218:  { 
   219:    RB7=0; 
   220:    delay_250ms(); 
   221:    RB7=1; 
   222:    delay_250ms(); 
   223:  } 
   224:   
   225: } 
   226: /**********END**************/ 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频一二三区| 91精品国产一区二区| 午夜激情一区二区三区| 国产精品欧美一区喷水| 精品精品欲导航| 欧美美女一区二区三区| 日本久久精品电影| 91久久人澡人人添人人爽欧美| 国产91精品入口| 高清不卡在线观看| 国产ts人妖一区二区| 国产伦精品一区二区三区视频青涩| 蜜臀av一区二区在线免费观看| 天涯成人国产亚洲精品一区av| 午夜精品免费在线观看| 亚洲第一激情av| 丝袜国产日韩另类美女| 裸体一区二区三区| 国内精品国产成人| 国产福利电影一区二区三区| 风间由美一区二区三区在线观看| 国产电影一区在线| 不卡的av网站| 欧美日韩久久久| 精品国产乱码久久久久久久| 国产亚洲福利社区一区| 成人欧美一区二区三区视频网页 | 美女高潮久久久| 国产一区二三区| k8久久久一区二区三区| 欧美无砖专区一中文字| 日韩欧美一级片| 国产精品素人视频| 亚洲一区二区三区视频在线| 蜜桃视频在线观看一区| 丁香亚洲综合激情啪啪综合| 色香蕉成人二区免费| 678五月天丁香亚洲综合网| 精品国产一区二区三区四区四| 欧美激情在线免费观看| 亚洲成人精品影院| 福利电影一区二区| 欧美一区二区三区白人| 国产精品久久久久久久久久久免费看 | 色婷婷精品大在线视频| 欧美一区二区三区小说| 国产精品久线观看视频| 蜜臀va亚洲va欧美va天堂| 99精品视频在线播放观看| 日韩网站在线看片你懂的| 亚洲精品免费电影| 国产在线精品一区二区三区不卡| 日本丶国产丶欧美色综合| 精品国产三级a在线观看| 一区二区三区在线免费观看 | 国产精品一区三区| 欧美精三区欧美精三区| 最新不卡av在线| 国产在线精品一区二区三区不卡| 欧美久久久久久久久| 欧美经典一区二区| 精品综合免费视频观看| 欧美日韩国产免费| 最新高清无码专区| 从欧美一区二区三区| 日韩欧美一二区| 日韩av在线免费观看不卡| 91免费看`日韩一区二区| 国产亚洲成aⅴ人片在线观看| 免费观看一级特黄欧美大片| 在线观看一区日韩| 亚洲激情一二三区| 色综合一区二区三区| 国产精品丝袜黑色高跟| 国产盗摄一区二区三区| 国产网站一区二区三区| 九九久久精品视频| 精品国精品国产尤物美女| 麻豆精品视频在线观看免费 | 天天综合色天天综合色h| 97se狠狠狠综合亚洲狠狠| 中文字幕一区二区三中文字幕| 精品一区二区精品| 久久女同精品一区二区| 国产精品亚洲综合一区在线观看| 欧美成人精品二区三区99精品| 免费看欧美美女黄的网站| 欧美一区二区成人6969| 麻豆精品一二三| 久久久噜噜噜久久中文字幕色伊伊| 久久99国产精品免费| 久久视频一区二区| 懂色av一区二区三区蜜臀| 中文字幕一区二区三区在线播放| jizzjizzjizz欧美| 亚洲品质自拍视频| 欧美日韩三级视频| 日韩av电影天堂| 久久久久久久av麻豆果冻| 国产成人精品免费视频网站| 中文天堂在线一区| 色哟哟国产精品| 日韩av电影一区| 国产日产亚洲精品系列| av在线综合网| 舔着乳尖日韩一区| 国产女人aaa级久久久级| 色诱视频网站一区| 免费观看91视频大全| 精品成人佐山爱一区二区| 波多野结衣中文字幕一区二区三区| 亚洲欧美偷拍三级| 日韩亚洲欧美中文三级| 高清不卡一二三区| 亚洲国产乱码最新视频| xfplay精品久久| 91极品美女在线| 久久成人免费电影| 一区二区高清在线| 久久嫩草精品久久久久| 色综合天天综合狠狠| 精品在线播放免费| 又紧又大又爽精品一区二区| www激情久久| 欧美在线观看一区二区| 国产成人鲁色资源国产91色综| 一区二区三区成人| 久久综合av免费| 欧美网站一区二区| 不卡一区二区中文字幕| 久久精品国产一区二区三区免费看| 亚洲同性gay激情无套| 日韩一区二区三| 色婷婷精品大视频在线蜜桃视频 | 日本一区二区视频在线观看| 欧美日韩一区久久| 91无套直看片红桃| 国产成人精品免费在线| 九九国产精品视频| 亚洲一区二区三区中文字幕在线| 欧美国产丝袜视频| 欧美精品一区二区精品网| 911精品国产一区二区在线| 91免费版pro下载短视频| 成人综合在线观看| 国产精品一级片在线观看| 免费欧美日韩国产三级电影| 亚洲综合丝袜美腿| 亚洲精品精品亚洲| 日韩一区中文字幕| 国产精品福利一区二区| 国产欧美精品一区二区色综合朱莉| 国产精品乱码人人做人人爱| 日韩视频一区二区三区在线播放| 欧美日韩成人一区| 欧美在线色视频| 在线亚洲免费视频| 色老汉av一区二区三区| 91麻豆精品秘密| 欧美在线免费视屏| 欧美日韩综合在线免费观看| 欧美亚洲日本一区| 欧美日韩国产首页| 制服丝袜亚洲精品中文字幕| 欧美一区欧美二区| 欧美大片免费久久精品三p| 日韩欧美亚洲一区二区| 欧美sm极限捆绑bd| 久久精品网站免费观看| 国产女主播一区| 中文字幕一区二区三区在线不卡 | 欧美日韩高清一区二区三区| 欧美日韩国产综合一区二区| 7777精品久久久大香线蕉| 日韩一区二区在线看| 26uuu精品一区二区在线观看| 26uuu色噜噜精品一区| 中文字幕在线不卡一区二区三区| 亚洲欧洲精品天堂一级| 亚洲国产欧美在线人成| 久久精品国产亚洲高清剧情介绍| 精品一区二区三区香蕉蜜桃| 国产iv一区二区三区| 91麻豆精品在线观看| 日韩一区二区三区免费观看| 久久蜜桃av一区二区天堂| 亚洲欧洲三级电影| 亚洲成人手机在线| 经典三级一区二区| 色综合天天综合色综合av| 欧美一区二区三区影视| 国产精品家庭影院| 午夜精品123| 成人午夜视频在线| 欧美日韩精品一区视频| 久久九九影视网| 亚洲成人福利片| 欧美日韩欧美一区二区| 久久精品视频在线看| 亚洲一区二区三区四区不卡|