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

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

?? bq_smbus.lst

?? 用PIC16F73編寫的SMBUS通信測試程序
?? LST
字號:
     1: /* I2C test program that writes & reads data to an I2C EEPROM device. */
     2: /*
     3: 此程序用于SMBUS通訊測試,配置可參考I2C.H
     4: 軟件I2C通訊,使用RA1==>SDA,RA0==>SCL
     5: 單片機使用PIC16F716
     6: 晶振4M
     7: 
     8: */
     9: 
    10: #include <pic.h>
    11: #include "delay.h"
    12: #include "i2c.h"
    13: #include "delay.c"
    14: #include "i2c.c"
    15: #include "i2c_2.c"
    16: 
    17: #define ROM1 0x16        /* smbus */
    18: #define ROM 0xA0        /* I2C EEPROM */
    19: #define XTAL_FREQ       4MHZ
    20: #define I2C_MODULE 0
    21: 
    22: 
    23: 
    24: 
    25: uchar code1[]={0x06,0x06,0x5a,0xff,0x80,0x00,0x00,0x00,0xff};
    26: uchar code2[]={0x5a,0xff,0x5a,0xff};
    27: uchar code3[]={0x80,0x00,0x5a,0xff};
    28: uchar code4[]={0x00,0x00,0x5a,0xff};
    29: 
    30: void flashled(void) {           /* flash a led on RB0 */
    31:         while(1) {
    32:             RB0 = 1;
    33:             DelayMs(200);
    34:             RB0 = 0;
    35:             DelayMs(200);
    36:         }
    37: }
    38: 
    39: 
    40: void WriteByte(unsigned char addr, unsigned char byte) {
    41:         i2c_WriteTo(ROM);
    42:         if (i2c_PutByte(addr)==I2C_ERROR)
    43:             flashled();
    44:         if (i2c_PutByte(byte)==I2C_ERROR)
    45:             flashled();
    46: }
    47: 
    48: 
    49: /*================================================================ 
    50: 讀取BQ寄存器里面數據函數-word 
    51: 函數原型: unsigned int ReadByte_smbus(unsigned char addr),讀取指定地址BQ
    52: 器件里數據。器件的ROM1碼已經設定 
    53: 返回讀取的數據表示操作成功,否則操作有誤。 
    54: =================================================================*/ 
    55: unsigned int ReadByte_smbus(unsigned char addr) {
    56:         unsigned int data=0;
    57:         unsigned char data1,data2;
    58:         i2c_WriteTo(ROM1);              //i2c_Open((address), I2C_read); i2c_read=0;
    59:         if (i2c_PutByte(addr)==I2C_ERROR)       //send adress and sendack
    60:             flashled();
    61:         i2c_ReadFrom(ROM1);             //i2c_Open((address), I2C_WRITE) i2c_write=1;
    62:         data1=i2c_GetByte(I2C_MORE);    //i2c_more==>true sendack: more byte to send
    63:         data2=i2c_GetByte(I2C_LAST);    //i2c_last==>false  nosendack:no more byte to send
    64:         data|=data1;
    65:         data<<=8;
    66:         data|=data2;
    67:         return(data);
    68: }
    69: 
    70: /*================================================================ 
    71: 寫BQ寄存器里面數據函數-
    72: 函數原型
    73: =================================================================*/ 
    74: void write_word_smbus(unsigned char addr,unsigned char datal,unsigned char datah) {
    75:         unsigned int data=0;
    76:         unsigned char data1,data2;
    77:         i2c_WriteTo(ROM1);              //i2c_Open((address), I2C_WRITE) i2c_write=1;
    78:         if (i2c_PutByte(addr)==I2C_ERROR)       //send adress and sendack
    79:             flashled();
    80:         if (i2c_PutByte(datal)==I2C_ERROR)      //send adress and sendack
    81:             flashled();
    82:         if (i2c_PutByte(datah)==I2C_ERROR)      //send adress and sendack
    83:             flashled();
    84:         i2c_Stop();        
    85: 
    86: }
    87: /*================================================================ 
    88: 寫i2c寄存器里面數據函數-
    89: 函數原型
    90: =================================================================*/ 
    91: void write_word_i2c(unsigned char addr,unsigned char datal,unsigned char datah) {
    92:         unsigned int data=0;
    93:         unsigned char data1,data2;
    94:         i2c_WriteTo(ROM);               //i2c_Open((address), I2C_WRITE) i2c_write=1;
    95:         if (i2c_PutByte(addr)==I2C_ERROR)       //send adress and sendack
    96:             flashled();
    97:         if (i2c_PutByte(datal)==I2C_ERROR)      //send adress and sendack
    98:             flashled();
    99:         if (i2c_PutByte(datah)==I2C_ERROR)      //send adress and sendack
   100:             flashled();
   101:         i2c_Stop();        
   102: 
   103: }
   104: ////////********************************//////////////
   105: int ReadWord(uchar addr){
   106: uchar data1,data2;
   107: int data;
   108: 
   109:  start_i2c(); 
   110:       send_byte(0x16);      //發送器件地址,即DEVICE ADDRESS。 
   111:         if (ack==0) i2c_error(); //如果24LC02無應答。則進入I2C ERROR錯誤指示。 
   112:       send_byte(addr);         //發送字地址,即WORD ADDRESS。D口顯示數組。 
   113:         if (ack==0) i2c_error(); 
   114:       start_i2c();          //重新啟動總線。 
   115:       send_byte(0x17);      //發送讀命令和器件地址DEVICE ADDRESS。 
   116:         if (ack==0) i2c_error(); 
   117:       data2=receive_byte();
   118:       i2c_SendAcknowledge(1);
   119:       data1=receive_byte();
   120:       stop_i2c(); 
   121:       //data<<=8;
   122:       //data|=data1;
   123:       return(data1);
   124:       }
   125: 
   126: //////////////////////////////////////////////
   127: static  int  remain,remain1;
   128: 
   129: void main(void) {
   130: unsigned char count,val;
   131: //const unsigned char *add;
   132: //add=0x20;
   133: //TRISB=0;        /* use a led on RB0 - set as output */
   134: //PORTB=0;
   135: //RB0=0;
   136: PORTA=0;
   137: ADCON1=0X06;
   138: TRISA=0x0;        /* use a led on RB0 - set as output */
   139: RA2=0;
   140: remain=0x0;
   141: 
   142: /* initialize i2c */
   143: /*
   144: #ifdef I2C_MODULE
   145:     //SSPMode(MASTER_MODE);
   146:     //SSPEN = 1;
   147:     CKP = 1;
   148: #else
   149:     SCL_DIR = I2C_OUTPUT;
   150:     SDA_DIR = I2C_OUTPUT;
   151:     SDA = 0;
   152:     SCL = 0;
   153: #endif
   154: */
   155:     SCL_DIR = I2C_OUTPUT;
   156:     SDA_DIR = I2C_OUTPUT;
   157:     SDA = 0;
   158:     SCL = 0;
   159: 
   160: while(1) {
   161: 
   162:     RA2=0; 
   163:     remain=0;
   164:     remain1=0;
   165:     count=0x1;
   166: 
   167:     DelayMs(200);       
   168: 
   169:     remain1=ReadByte_smbus(0x02);    //測試OK,能正確讀取BQ器件的數據
   170: 
   171:       DelayMs(20);
   172: 
   173: //     I_send_word(0x16,0x4f,0x5a,0xff);
   174: //     I_send_word(0x16,0x4f,0x80,0x00);
   175: //     I_send_word(0x16,0x4f,0x00,0x00);
   176: //  I_send_word(0x16,0x00,0x06,0x06);
   177: //  I_send_str(0x16,0x0,code1,2); 
   178: 
   179:         write_word_smbus(0x0,0x06,0x06);
   180:         DelayMs(10);
   181:         DelayMs(200);
   182:         DelayMs(200);   
   183:         DelayMs(200);
   184:         DelayMs(200); 
   185:         DelayMs(200);
   186:         DelayMs(200);           
   187:         write_word_i2c(0x02,0x6d,0x29); 
   188:         write_word_i2c(0x03,0x75,0xaf); 
   189:         DelayMs(200);
   190:         DelayMs(200);   
   191:         DelayMs(200);
   192:         DelayMs(200); 
   193:         DelayMs(200);
   194:         DelayMs(200);  
   195:         DelayMs(20);    
   196:         remain1=ReadByte_smbus(0x02);    //測試OK,能正確讀取BQ器件的數據
   197:         
   198:       remain1=ReadByte_EE(0x4);    //測試OK,能正確讀取BQ器件的數據
   199:       remain1=ReadByte_EE(0x5);
   200:       remain1=ReadByte_EE(0x6);
   201:       remain1=ReadByte_EE(0x7);
   202:       remain1=ReadByte_EE(0x8);
   203: 
   204:       I_send_str(0xa0,0x0,code,5);    //測試OK,能正確發送數據給BQ器件
   205:       DelayMs(20);
   206:       I_send_word(0x16,0x4f,0x5a,0xff);
   207:       I_send_word(0x16,0x4f,0x80,0x00);
   208:       I_send_word(0x16,0x4f,0x00,0x00);
   209:       DelayMs(20);
   210:     remain1=ReadByte_smbus(0x15);    //OK
   211:     remain1=ReadByte_smbus(0x15);    //OK
   212:     DelayMs(200);
   213: /*===================以下直接寫EEPROM
   214:     RA2=1;      
   215:     I_send_str(0xa0,0x00,code,5);    //OK
   216:     remain=0;
   217:     remain1=0;
   218:     count=0x1;
   219:     DelayMs(200);
   220:     remain1=ReadByte_EE(0x4);    //OK
   221:     DelayMs(200);
   222: ==================================*/   
   223:     
   224:     
   225: }
   226: }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国一区二区三区| 亚洲电影视频在线| 亚洲成a人v欧美综合天堂下载| 精品久久久久久亚洲综合网 | 在线观看免费亚洲| 欧美韩日一区二区三区| 亚洲国产精品久久一线不卡| 成人精品一区二区三区四区| 国产精品伦一区| 欧美一级一区二区| 日韩视频免费观看高清完整版在线观看 | 欧美日韩视频一区二区| 国产成人免费av在线| 国产专区综合网| 美女在线观看视频一区二区| 日韩电影在线免费观看| 免费成人结看片| 国产精品一区二区在线观看不卡| 麻豆精品蜜桃视频网站| 国产激情一区二区三区四区| 成人动漫一区二区在线| 一本久久精品一区二区| 欧美精品在线一区二区| 91精品国产综合久久久久久久久久 | 日本不卡视频在线观看| 黄色精品一二区| 99视频精品免费视频| 91美女福利视频| 6080日韩午夜伦伦午夜伦| 日韩欧美不卡在线观看视频| 欧美激情在线一区二区三区| 亚洲精品免费电影| 日av在线不卡| 99这里都是精品| 欧美群妇大交群的观看方式| 欧美va日韩va| 国产精品国产精品国产专区不蜜| 亚洲男人的天堂一区二区| 午夜精品一区二区三区电影天堂| 天天影视色香欲综合网老头| 狠狠久久亚洲欧美| 91极品视觉盛宴| 精品久久免费看| 亚洲视频综合在线| 狠狠网亚洲精品| 欧美日韩国产美女| 中文字幕av一区 二区| 日韩精品福利网| 波多野结衣在线一区| 91精品国产免费久久综合| 国产精品第五页| 精品一区二区三区欧美| 在线观看视频91| 中文字幕乱码久久午夜不卡| 日本中文字幕不卡| 色综合天天在线| 中文字幕第一区综合| 看国产成人h片视频| 91高清视频在线| 中文字幕高清一区| 国产伦精一区二区三区| 欧美一区二区三区在| 亚洲欧美日韩国产一区二区三区 | 国产精品99精品久久免费| 在线影院国内精品| 国产精品污网站| 国产精品一区二区91| 欧美一区二区三区免费视频| 亚洲永久免费av| 色呦呦一区二区三区| 国产精品麻豆网站| 国产成人免费视频精品含羞草妖精 | 国产精品视频观看| 国产精品18久久久久久久网站| 欧美一区二区三区成人| 午夜视频久久久久久| 日本道在线观看一区二区| 亚洲人成亚洲人成在线观看图片 | 欧美三级韩国三级日本三斤| 亚洲女同女同女同女同女同69| 成人av免费观看| 国产精品三级视频| 成人av在线资源| 中文字幕在线不卡| 91女人视频在线观看| 综合欧美亚洲日本| 在线观看日产精品| 亚洲五月六月丁香激情| 欧美乱妇一区二区三区不卡视频| 午夜一区二区三区在线观看| 91精品国产乱码| 国模套图日韩精品一区二区| 国产午夜三级一区二区三| 菠萝蜜视频在线观看一区| 亚洲另类春色国产| 91精品国产综合久久香蕉的特点| 免费成人在线观看视频| 久久久精品免费网站| av毛片久久久久**hd| 亚洲日本成人在线观看| 欧美三级电影网站| 国产一区二区视频在线| 综合欧美一区二区三区| 91精品国产综合久久精品麻豆| 激情综合网av| 亚洲老妇xxxxxx| 51午夜精品国产| 成人精品国产福利| 午夜日韩在线观看| 国产欧美一区二区精品秋霞影院| 91亚洲精品久久久蜜桃网站| 五月婷婷综合网| 国产精品人人做人人爽人人添| 欧美天堂一区二区三区| 精品一区二区三区的国产在线播放| 亚洲国产成人一区二区三区| 欧美日韩免费一区二区三区| 国产精品中文有码| 樱花影视一区二区| 久久久国际精品| 在线91免费看| 色哟哟一区二区在线观看| 免费国产亚洲视频| 亚洲精品一二三| 久久精子c满五个校花| 欧美视频一区二区三区| 国产不卡在线一区| 日本欧美加勒比视频| 亚洲日本va午夜在线电影| 欧美大片一区二区| 欧美综合在线视频| 国产成人精品影视| 老司机免费视频一区二区| 亚洲精品国产a久久久久久| 久久女同性恋中文字幕| 欧美另类一区二区三区| 色偷偷久久一区二区三区| 国产酒店精品激情| 开心九九激情九九欧美日韩精美视频电影 | 精品日韩成人av| 欧美性大战久久久久久久蜜臀| 粉嫩av亚洲一区二区图片| 日本亚洲三级在线| 亚洲国产成人91porn| 亚洲乱码国产乱码精品精98午夜| 久久九九久精品国产免费直播| 日韩一区二区三区av| 欧美乱妇20p| 91精品国产综合久久久久| 欧美日韩日本视频| 欧美男生操女生| 欧美唯美清纯偷拍| 欧美老女人在线| 欧美日韩和欧美的一区二区| 在线亚洲一区二区| 在线观看日韩精品| 欧美久久一二区| 欧美高清一级片在线| 欧美日本在线播放| 欧美日韩国产bt| 91精品国产综合久久久蜜臀粉嫩| 欧美老女人在线| 日韩欧美综合在线| 久久影院电视剧免费观看| www成人在线观看| 国产欧美一区二区精品忘忧草 | 欧美变态凌虐bdsm| 欧美精品一区二区三区视频| 欧美成人女星排行榜| 欧美一区二区二区| 久久久亚洲综合| 欧美国产欧美亚州国产日韩mv天天看完整| 国产亚洲精品超碰| 亚洲日本电影在线| 日韩电影在线一区| 国产成人免费在线观看不卡| 色综合天天综合网国产成人综合天| 色哟哟在线观看一区二区三区| 91超碰这里只有精品国产| 久久嫩草精品久久久精品一| 中文字幕一区在线| 五月激情六月综合| 国产一区欧美日韩| 色综合久久88色综合天天| 91精品国产一区二区三区 | 中文字幕在线一区| 亚洲成av人片一区二区梦乃 | 国产精品久久久久久久久果冻传媒| 亚洲欧美色图小说| 日本视频在线一区| 成人福利在线看| 欧美一区二区性放荡片| 日本一区二区三区四区| 亚洲成人免费av| 岛国av在线一区| 91麻豆精品国产91久久久 | 久久天堂av综合合色蜜桃网| 亚洲男人的天堂在线观看| 国内外精品视频| 欧洲亚洲精品在线|