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

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

?? main.lis

?? atmega16 iic(twi)主從機通信 測試通過
?? LIS
?? 第 1 頁 / 共 2 頁
字號:
                        .module main.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\atmega16子函數\TWI_slaver0\main.c
 0000                   .dbfunc e Start _Start fV
                        .even
 0000           _Start::
 0000                   .dbline -1
 0000                   .dbline 22
 0000           ; /* 
 0000           ;    TWI 從機的查詢和中斷接收  
 0000           ;    ICCAVR6.31A  
 0000           ; */
 0000           ; #include"iom16v.h"
 0000           ; #include"UART.h"
 0000           ; #include"delay.h"
 0000           ; #define  uchar  unsigned char
 0000           ; #define  STATUS  (TWSR&0xf8)
 0000           ; #define  SLA_W    0x32
 0000           ; #define  SLA_R    0x33
 0000           ; #define  TWI_ADDRESS        0x32
 0000           ; #define  START              0x08
 0000           ; #define  RE_START           0x10
 0000           ; #define  MT_SLA_WRITE_ACK   0x18
 0000           ; #define  MT_SLA_READ_ACK    0x40 
 0000           ; #define  MT_DATA_ACK        0x28
 0000           ; #define  MT_READ_ACK        0x58  
 0000           ; #define TW_SR_DATA_ACK                0x80   
 0000           ; 
 0000           ; void Start(void)
 0000           ; {
 0000                   .dbline 23
 0000           ;  TWCR=(1<<TWINT)|(1<<TWSTA)|(1<<TWEN);
 0000 84EA              ldi R24,164
 0002 86BF              out 0x36,R24
 0004           L2:
 0004                   .dbline 24
 0004           L3:
 0004                   .dbline 24
 0004           ;  while(!(TWCR&(1<<TWINT)));
 0004 26B6              in R2,0x36
 0006 27FE              sbrs R2,7
 0008 FDCF              rjmp L2
 000A                   .dbline -2
 000A                   .dbline 25
 000A           ; }
 000A           L1:
 000A                   .dbline 0 ; func end
 000A 0895              ret
 000C                   .dbend
 000C                   .dbfunc e Stop _Stop fV
                        .even
 000C           _Stop::
 000C                   .dbline -1
 000C                   .dbline 27
 000C           ; void Stop(void)
 000C           ; {
 000C                   .dbline 28
 000C           ;  TWCR=(1<<TWINT)|(1<<TWSTO)|(1<<TWEN);
 000C 84E9              ldi R24,148
 000E 86BF              out 0x36,R24
 0010                   .dbline -2
 0010                   .dbline 29
 0010           ; }
 0010           L5:
 0010                   .dbline 0 ; func end
 0010 0895              ret
 0012                   .dbend
 0012                   .dbfunc e Load _Load fV
 0012           ;              i -> R16
                        .even
 0012           _Load::
 0012                   .dbline -1
 0012                   .dbline 31
 0012           ; void Load(uchar i)
 0012           ; {
 0012                   .dbline 32
 0012           ;  TWDR=i;
 0012 03B9              out 0x3,R16
 0014                   .dbline 33
 0014           ;  TWCR=(1<<TWINT)|(1<<TWEN);
 0014 84E8              ldi R24,132
 0016 86BF              out 0x36,R24
 0018           L7:
 0018                   .dbline 34
 0018           L8:
 0018                   .dbline 34
 0018           ;  while(!(TWCR&(1<<TWINT))); 
 0018 26B6              in R2,0x36
 001A 27FE              sbrs R2,7
 001C FDCF              rjmp L7
 001E                   .dbline -2
 001E                   .dbline 36
 001E           ; 
 001E           ; }
 001E           L6:
 001E                   .dbline 0 ; func end
 001E 0895              ret
 0020                   .dbsym r i 16 c
 0020                   .dbend
 0020                   .dbfunc e Get _Get fV
 0020           ;              d -> R16,R17
                        .even
 0020           _Get::
 0020                   .dbline -1
 0020                   .dbline 39
 0020           ; 
 0020           ; void Get(unsigned char *d)
 0020           ; {
 0020                   .dbline 40
 0020           ;  TWCR=(1<<TWINT)|(1<<TWEN);
 0020 84E8              ldi R24,132
 0022 86BF              out 0x36,R24
 0024           L11:
 0024                   .dbline 41
 0024           L12:
 0024                   .dbline 41
 0024           ;  while(!(TWCR&(1<<TWINT)));
 0024 26B6              in R2,0x36
 0026 27FE              sbrs R2,7
 0028 FDCF              rjmp L11
 002A                   .dbline 42
 002A           ;  *d= TWDR;
 002A 23B0              in R2,0x3
 002C F801              movw R30,R16
 002E 2082              std z+0,R2
 0030                   .dbline -2
 0030                   .dbline 43
 0030           ; }/**/
 0030           L10:
 0030                   .dbline 0 ; func end
 0030 0895              ret
 0032                   .dbsym r d 16 pc
 0032                   .dbend
 0032                   .dbfunc e ERROR _ERROR fV
 0032           ;          state -> R20
                        .even
 0032           _ERROR::
 0032 0E940000          xcall push_gset1
 0036 402F              mov R20,R16
 0038                   .dbline -1
 0038                   .dbline 45
 0038           ; void ERROR(uchar state)
 0038           ; {Stop();
 0038                   .dbline 45
 0038 E9DF              xcall _Stop
 003A                   .dbline -2
 003A                   .dbline 46
 003A           ; }
 003A           L14:
 003A 0E940000          xcall pop_gset1
 003E                   .dbline 0 ; func end
 003E 0895              ret
 0040                   .dbsym r state 20 c
 0040                   .dbend
 0040                   .dbfunc e WriteByte _WriteByte fc
 0040           ;           data -> R20
                        .even
 0040           _WriteByte::
 0040 0E940000          xcall push_gset1
 0044 402F              mov R20,R16
 0046                   .dbline -1
 0046                   .dbline 51
 0046           ; 
 0046           ; /*寫一個字節data,成功則返回1,否則
 0046           ;   返回0*/
 0046           ; uchar WriteByte(uchar data)
 0046           ; {
 0046                   .dbline 53
 0046           ;    //啟動I2C
 0046           ;    Start();
 0046 DCDF              xcall _Start
 0048                   .dbline 54
 0048           ;    if(STATUS!=START) {ERROR(STATUS);return 0;}
 0048 81B1              in R24,0x1
 004A 887F              andi R24,248
 004C 8830              cpi R24,8
 004E 29F0              breq L16
 0050                   .dbline 54
 0050                   .dbline 54
 0050 01B1              in R16,0x1
 0052 087F              andi R16,248
 0054 EEDF              xcall _ERROR
 0056                   .dbline 54
 0056 0027              clr R16
 0058 18C0              xjmp L15
 005A           L16:
 005A                   .dbline 57
 005A           ;    
 005A           ;    //發送從機地址(寫),等待回應, 錯誤檢測
 005A           ;    Load(SLA_W);
 005A 02E3              ldi R16,50
 005C DADF              xcall _Load
 005E                   .dbline 58
 005E           ;    if(STATUS!=MT_SLA_WRITE_ACK) {ERROR(STATUS);return 0;}
 005E 81B1              in R24,0x1
 0060 887F              andi R24,248
 0062 8831              cpi R24,24
 0064 29F0              breq L18
 0066                   .dbline 58
 0066                   .dbline 58
 0066 01B1              in R16,0x1
 0068 087F              andi R16,248
 006A E3DF              xcall _ERROR
 006C                   .dbline 58
 006C 0027              clr R16
 006E 0DC0              xjmp L15
 0070           L18:
 0070                   .dbline 65
 0070           ;    /*
 0070           ;    //發送EEPROM地址,等待回應,錯誤檢測
 0070           ;    Load(addr);
 0070           ;    if(STATUS!=MT_DATA_ACK) {ERROR(STATUS);return 0;}
 0070           ;    */
 0070           ;    //發送數據,等待回應,錯誤檢測
 0070           ;    Load(data);
 0070 042F              mov R16,R20
 0072 CFDF              xcall _Load
 0074                   .dbline 66
 0074           ;     if(STATUS!=MT_DATA_ACK) {ERROR(STATUS);return 0;}
 0074 81B1              in R24,0x1
 0076 887F              andi R24,248
 0078 8832              cpi R24,40
 007A 29F0              breq L20
 007C                   .dbline 66
 007C                   .dbline 66
 007C 01B1              in R16,0x1
 007E 087F              andi R16,248
 0080 D8DF              xcall _ERROR
 0082                   .dbline 66
 0082 0027              clr R16
 0084 02C0              xjmp L15
 0086           L20:
 0086                   .dbline 68
 0086           ;    
 0086           ;    Stop();
 0086 C2DF              xcall _Stop
 0088                   .dbline 69
 0088           ;    return 1;//發送成功,返回1;
 0088 01E0              ldi R16,1
 008A                   .dbline -2
 008A           L15:
 008A 0E940000          xcall pop_gset1
 008E                   .dbline 0 ; func end
 008E 0895              ret
 0090                   .dbsym r data 20 c
 0090                   .dbend
 0090                   .dbfunc e ReadByte _ReadByte fc
 0090           ;         p_data -> R20,R21
 0090           ;           addr -> R22
                        .even
 0090           _ReadByte::
 0090 0E940000          xcall push_gset2
 0094 A901              movw R20,R18
 0096 602F              mov R22,R16
 0098                   .dbline -1
 0098                   .dbline 77
 0098           ;    
 0098           ;    
 0098           ;   
 0098           ; }
 0098           ; 
 0098           ; unsigned char ReadByte(unsigned char addr,
 0098           ;                        unsigned char *p_data)
 0098           ; {
 0098                   .dbline 79
 0098           ;  //啟動I2C
 0098           ;    Start();
 0098 B3DF              xcall _Start
 009A                   .dbline 80
 009A           ;    if(STATUS!=START) {ERROR(STATUS);return 0;}
 009A 81B1              in R24,0x1
 009C 887F              andi R24,248
 009E 8830              cpi R24,8
 00A0 29F0              breq L23
 00A2                   .dbline 80
 00A2                   .dbline 80
 00A2 01B1              in R16,0x1
 00A4 087F              andi R16,248
 00A6 C5DF              xcall _ERROR
 00A8                   .dbline 80
 00A8 0027              clr R16
 00AA 38C0              xjmp L22
 00AC           L23:
 00AC                   .dbline 83
 00AC           ;    
 00AC           ;  //發送從機地址(寫),等待回應, 錯誤檢測

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久毛片| 久久亚洲捆绑美女| 亚洲6080在线| 欧美色窝79yyyycom| 亚瑟在线精品视频| 制服丝袜激情欧洲亚洲| 极品少妇一区二区| 国产精品免费丝袜| 在线视频一区二区三| 美国十次了思思久久精品导航| 日韩精品一区二| 岛国精品一区二区| 亚洲精品成人少妇| 91麻豆精品国产91久久久更新时间| 日韩1区2区3区| 国产视频一区在线播放| av在线不卡免费看| 日本午夜精品视频在线观看| 亚洲精品在线电影| 91一区在线观看| 青青草原综合久久大伊人精品| 久久网站热最新地址| 色综合天天视频在线观看| 日韩专区中文字幕一区二区| 久久综合九色综合97婷婷女人 | 亚洲桃色在线一区| 欧美体内she精高潮| 精品中文字幕一区二区 | 亚洲免费大片在线观看| 欧美日韩一二三区| 国产a区久久久| 丝袜a∨在线一区二区三区不卡| 久久精品网站免费观看| 色噜噜狠狠成人中文综合| 黄色成人免费在线| 一级精品视频在线观看宜春院| 欧美va日韩va| 欧美在线免费视屏| 国产麻豆9l精品三级站| 亚洲无人区一区| 国产精品丝袜久久久久久app| 欧美一级视频精品观看| 91麻豆福利精品推荐| 国产一区二区影院| 日韩中文字幕亚洲一区二区va在线| 中文字幕免费不卡| 日韩一级完整毛片| 欧美日韩在线观看一区二区| 99久精品国产| 国产精选一区二区三区| 日韩电影免费一区| 亚洲人吸女人奶水| 国产日产欧产精品推荐色| 日韩视频在线观看一区二区| 欧美视频一区二区三区| 一本色道久久综合精品竹菊| 大美女一区二区三区| 国产尤物一区二区| 男人的j进女人的j一区| 午夜久久久久久久久| 一区二区在线观看免费| 国产精品高潮久久久久无| 国产日韩三级在线| 精品国产123| 日韩精品一区二区三区中文精品| 在线播放/欧美激情| 欧美在线观看一区二区| 在线观看区一区二| 在线视频你懂得一区| 色综合咪咪久久| 91国偷自产一区二区三区观看| 99精品一区二区三区| 91在线精品一区二区| 成人av在线观| 99免费精品在线| 91丨九色丨尤物| 色综合久久综合| 欧美在线free| 制服丝袜亚洲播放| 欧美第一区第二区| 久久婷婷成人综合色| 亚洲精品一区二区三区99| 久久影院电视剧免费观看| 26uuu成人网一区二区三区| 久久网站热最新地址| 欧美激情中文不卡| 国产精品久久精品日日| 一区二区三区高清在线| 亚洲成年人影院| 毛片一区二区三区| 激情五月激情综合网| 久久se精品一区精品二区| 国产麻豆精品一区二区| 成人avav影音| 在线观看亚洲精品| 日韩欧美的一区| 国产精品拍天天在线| 一区二区三区资源| 免费看黄色91| 波多野结衣亚洲| 欧美亚洲动漫制服丝袜| 欧美大片在线观看| 国产精品久久久久国产精品日日| 一区二区激情小说| 蜜臀va亚洲va欧美va天堂 | 国产精品每日更新在线播放网址| 亚洲欧洲综合另类| 蜜桃视频在线观看一区| 高清免费成人av| 欧美三级在线看| 久久丝袜美腿综合| 亚洲欧美成aⅴ人在线观看| 日本不卡在线视频| 懂色av一区二区三区蜜臀 | 日韩小视频在线观看专区| 日本一区二区电影| 天堂成人国产精品一区| 狠狠色丁香婷婷综合| 色综合久久久久久久久| 日韩欧美国产精品一区| 亚洲天堂网中文字| 经典三级在线一区| 91国偷自产一区二区使用方法| 精品国产sm最大网站免费看| 夜夜操天天操亚洲| 精品综合免费视频观看| 欧美亚一区二区| 日本一区二区三区视频视频| 婷婷激情综合网| 99麻豆久久久国产精品免费| 日韩女优制服丝袜电影| 亚洲一区免费视频| 豆国产96在线|亚洲| 欧美一级高清片在线观看| 亚洲三级免费电影| 国产精品一级片在线观看| 91精品免费在线观看| 亚洲精品中文字幕在线观看| 国产激情视频一区二区在线观看| 欧美精品久久99久久在免费线| 亚洲欧美激情一区二区| 国产激情偷乱视频一区二区三区| 7777精品伊人久久久大香线蕉最新版| 国产精品第13页| 国产成人av电影免费在线观看| 欧美一级久久久久久久大片| 亚洲午夜在线电影| 91麻豆swag| 亚洲日本乱码在线观看| 波多野结衣欧美| 国产欧美久久久精品影院| 国产在线一区观看| 精品黑人一区二区三区久久 | 久久午夜羞羞影院免费观看| 蜜乳av一区二区| 欧美一区二区精品久久911| 亚洲影院在线观看| 一本一本久久a久久精品综合麻豆| 亚洲国产精品激情在线观看| 国产高清不卡一区二区| 久久色中文字幕| 国产精品一级片| 久久久久久久综合日本| 国产精品亚洲视频| 国产欧美精品国产国产专区| 国产麻豆一精品一av一免费| 精品久久久久久综合日本欧美| 男人的天堂亚洲一区| 日韩视频一区二区在线观看| 久久精品99久久久| 精品国产不卡一区二区三区| 韩国av一区二区三区四区| 日韩美一区二区三区| 激情综合亚洲精品| 国产视频911| 粉嫩13p一区二区三区| 国产精品福利一区| 一本久久综合亚洲鲁鲁五月天| 亚洲最色的网站| 欧美一区二区免费视频| 国产精品一区二区男女羞羞无遮挡| 国产亚洲欧美激情| 91欧美一区二区| 亚洲第一二三四区| 日韩欧美视频一区| 成人免费视频一区| 一区二区在线观看不卡| 欧美日本一区二区| 久久福利资源站| 欧美国产日韩在线观看| 欧美做爰猛烈大尺度电影无法无天| 亚洲va欧美va人人爽午夜| 欧美本精品男人aⅴ天堂| 不卡影院免费观看| 天天射综合影视| 欧美国产精品久久| 欧美日韩综合一区| 国产在线不卡一区| 亚洲综合无码一区二区| 精品国产露脸精彩对白|