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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? main.lst

?? avr 單片機twi源程序 功能:實現(xiàn)TWI主從機通訊.
?? LST
?? 第 1 頁 / 共 2 頁
字號:
__text_start:
__start:
    002A E5CF      LDI	R28,0x5F
    002B E0D4      LDI	R29,4
    002C BFCD      OUT	0x3D,R28
    002D BFDE      OUT	0x3E,R29
    002E 51C0      SUBI	R28,0x10
    002F 40D0      SBCI	R29,0
    0030 EA0A      LDI	R16,0xAA
    0031 8308      STD	Y+0,R16
    0032 2400      CLR	R0
    0033 E6E0      LDI	R30,0x60
    0034 E0F0      LDI	R31,0
    0035 E010      LDI	R17,0
    0036 36E0      CPI	R30,0x60
    0037 07F1      CPC	R31,R17
    0038 F011      BEQ	0x003B
    0039 9201      ST	R0,Z+
    003A CFFB      RJMP	0x0036
    003B 8300      STD	Z+0,R16
    003C E5E4      LDI	R30,0x54
    003D E0F0      LDI	R31,0
    003E E6A0      LDI	R26,0x60
    003F E0B0      LDI	R27,0
    0040 E010      LDI	R17,0
    0041 35E4      CPI	R30,0x54
    0042 07F1      CPC	R31,R17
    0043 F021      BEQ	0x0048
    0044 95C8      LPM
    0045 9631      ADIW	R30,1
    0046 920D      ST	R0,X+
    0047 CFF9      RJMP	0x0041
    0048 940E00B0  CALL	_main
_exit:
    004A CFFF      RJMP	_exit
FILE: F:\2007電子設(shè)計\古欣\twitest\twi_test\twi.c
(0001) 
(0002) #include "config.h"
(0003) 
(0004) //TWI master initialize
(0005) // bit rate:100
(0006) void twi_master_init(void)
(0007) {
(0008)  TWCR= 0x00; //disable twi
_twi_master_init:
    004B 2422      CLR	R2
    004C BE26      OUT	0x36,R2
(0009)  TWBR= 0x64; //set bit rate
    004D E684      LDI	R24,0x64
    004E B980      OUT	0x00,R24
(0010)  TWSR= 0x00; //set prescale
    004F B821      OUT	0x01,R2
(0011)  TWAR= 0x00; //set slave address
    0050 B822      OUT	0x02,R2
(0012)  TWCR= 0x04; //enable twi
    0051 E084      LDI	R24,4
    0052 BF86      OUT	0x36,R24
    0053 9508      RET
(0013) }
(0014) 
(0015) //TWI slave initialize
(0016) // bit rate:100
(0017) void twi_slave_init(uint8 add)
(0018) {
(0019)  TWCR= 0x00; //disable twi
_twi_slave_init:
  add                  --> R16
    0054 2422      CLR	R2
    0055 BE26      OUT	0x36,R2
(0020)  TWBR= 0x64; //set bit rate
    0056 E684      LDI	R24,0x64
    0057 B980      OUT	0x00,R24
(0021)  TWSR= 0x00; //set prescale
    0058 B821      OUT	0x01,R2
(0022)  TWAR= (add<<1); //set slave address 從機地址為 0x01
    0059 2E20      MOV	R2,R16
    005A 0C22      LSL	R2
    005B B822      OUT	0x02,R2
(0023)  TWCR= (1<<TWEN)|(1<<TWEA)|(1<<TWIE); //enable twi
    005C E485      LDI	R24,0x45
    005D BF86      OUT	0x36,R24
    005E 9508      RET
(0024)  //TWEN必須置位以使能TWI接口。TWEA也要置位以使主機尋址到自己(從機地址或廣播) 時返回確認(rèn)信息ACK
(0025) }
(0026) 
(0027) //總線上起動開始條件
(0028) void i2c_start(void)
(0029) {
(0030) 	TWCR= (1<<TWINT)|(1<<TWSTA)|(1<<TWEN);
_i2c_start:
    005F EA84      LDI	R24,0xA4
    0060 BF86      OUT	0x36,R24
(0031)    	while (!(TWCR & (1<<TWINT))); //等待START 信號成功發(fā)送
    0061 B626      IN	R2,0x36
    0062 FE27      SBRS	R2,7
    0063 CFFD      RJMP	0x0061
    0064 9508      RET
(0032) }
(0033) 
(0034) //把一個字節(jié)數(shù)據(jù)輸入器件, 返回TWI狀態(tài)
(0035) //發(fā)送地址,r_w:1為讀,0為寫
(0036) uint8 i2c_write_addr(uint8 addr,uint8 r_w)
(0037) {
(0038)  	if(r_w)
_i2c_write_addr:
  r_w                  --> R18
  addr                 --> R16
    0065 2322      TST	R18
    0066 F021      BEQ	0x006B
(0039) 	{
(0040) 	 TWDR = addr|r_w;     //RW 為1:讀操作
    0067 2E20      MOV	R2,R16
    0068 2A22      OR	R2,R18
    0069 B823      OUT	0x03,R2
(0041) 	}
    006A C003      RJMP	0x006E
(0042) 	else
(0043) 	{
(0044) 	TWDR = addr & 0xFE;   // RW 為0: 寫操作
    006B 2F80      MOV	R24,R16
    006C 7F8E      ANDI	R24,0xFE
    006D B983      OUT	0x03,R24
(0045) 	} 
(0046) 
(0047)    	TWCR = (1<<TWINT)|(1<<TWEN); 
    006E E884      LDI	R24,0x84
    006F BF86      OUT	0x36,R24
(0048)    	while (!(TWCR & (1<<TWINT)));
    0070 B626      IN	R2,0x36
    0071 FE27      SBRS	R2,7
    0072 CFFD      RJMP	0x0070
(0049)    	_NOP();
    0073 0000      NOP
(0050)    	return(TWSR&0b11111000); //TWSR高五位為I2C工作狀態(tài)。
    0074 B101      IN	R16,0x01
    0075 7F08      ANDI	R16,0xF8
    0076 9508      RET
(0051) }
(0052) 
(0053) //把一個字節(jié)數(shù)據(jù)輸入器件, 返回TWI狀態(tài)
(0054) //發(fā)送數(shù)據(jù)
(0055) uint8 i2c_write_data(uint8 data)
(0056) {
(0057) 	TWDR = data;
_i2c_write_data:
  data                 --> R16
    0077 B903      OUT	0x03,R16
(0058)    	TWCR = (1<<TWINT)|(1<<TWEN); 
    0078 E884      LDI	R24,0x84
    0079 BF86      OUT	0x36,R24
(0059)    	while (!(TWCR & (1<<TWINT)));
    007A B626      IN	R2,0x36
    007B FE27      SBRS	R2,7
    007C CFFD      RJMP	0x007A
(0060)    	_NOP();
    007D 0000      NOP
(0061)    	return(TWSR&0b11111000); //TWSR高五位為I2C工作狀態(tài)。
    007E B101      IN	R16,0x01
    007F 7F08      ANDI	R16,0xF8
    0080 9508      RET
(0062) }
(0063) 
(0064) 
(0065) //從器件讀出一個字節(jié)
(0066) uint8 i2c_read(void)
(0067) {
(0068)    	TWCR = (1<<TWINT)|(1<<TWEN); 
_i2c_read:
    0081 E884      LDI	R24,0x84
    0082 BF86      OUT	0x36,R24
(0069) 	Twi_NoAcK();
    0083 B786      IN	R24,0x36
    0084 708F      ANDI	R24,0xF
    0085 6880      ORI	R24,0x80
    0086 BF86      OUT	0x36,R24
(0070) 	while (!(TWCR & (1<<TWINT)));
    0087 B626      IN	R2,0x36
    0088 FE27      SBRS	R2,7
    0089 CFFD      RJMP	0x0087
(0071)    	return(TWDR);
    008A B103      IN	R16,0x03
    008B 9508      RET
(0072) }
(0073) 
(0074) //總線上起動停止條件 
(0075) void i2c_stop(void) 
(0076) { 
(0077)    TWCR = (1<<TWINT)|(1<<TWSTO)|(1<<TWEN); 
_i2c_stop:
    008C E984      LDI	R24,0x94
    008D BF86      OUT	0x36,R24
    008E 9508      RET
_i2c_maste_transt:
  data                 --> R20
  addr                 --> R22
    008F 940E0153  CALL	push_gset2
    0091 2F42      MOV	R20,R18
    0092 2F60      MOV	R22,R16
(0078) }
(0079) 
(0080) //操作步驟: 啟動,發(fā)送地址,發(fā)送數(shù)據(jù),關(guān)閉總線
(0081) void i2c_maste_transt(uint8 addr, uint8 data)
(0082) {
(0083)  i2c_start();
    0093 DFCB      RCALL	_i2c_start
(0084)  
(0085)  if(i2c_write_addr(addr, 0)==TW_MT_SLA_ACK) //發(fā)送地址成功并收到ACK
    0094 2722      CLR	R18
    0095 2F06      MOV	R16,R22
    0096 DFCE      RCALL	_i2c_write_addr
    0097 3108      CPI	R16,0x18
    0098 F411      BNE	0x009B
(0086)  {
(0087)   i2c_write_data(data);
    0099 2F04      MOV	R16,R20
    009A DFDC      RCALL	_i2c_write_data
(0088)  }
(0089)  i2c_stop();
    009B DFF0      RCALL	_i2c_stop
    009C 940E014A  CALL	pop_gset2
    009E 9508      RET
_i2c_maste_read:
  tmp                  --> R20
  addr                 --> R22
    009F 940E0153  CALL	push_gset2
    00A1 2F60      MOV	R22,R16
(0090) }
(0091) //操作步驟,啟動,發(fā)送地址,讀數(shù)據(jù),關(guān)閉總線
(0092) uint8 i2c_maste_read(uint8 addr)
(0093) {
(0094)   uint8 tmp=0; 
    00A2 2744      CLR	R20
(0095)   i2c_start();
    00A3 DFBB      RCALL	_i2c_start
(0096)   if(i2c_write_addr(addr, 1)==TW_MR_SLA_ACK) //發(fā)送地址成功并收到ACK
    00A4 E021      LDI	R18,1
    00A5 2F06      MOV	R16,R22
    00A6 DFBE      RCALL	_i2c_write_addr
    00A7 3400      CPI	R16,0x40
    00A8 F411      BNE	0x00AB
(0097)   {
(0098)    tmp=i2c_read();
    00A9 DFD7      RCALL	_i2c_read
    00AA 2F40      MOV	R20,R16
(0099)   }
(0100)   i2c_stop();
    00AB DFE0      RCALL	_i2c_stop
(0101)   return tmp;
    00AC 2F04      MOV	R16,R20
    00AD 940E014A  CALL	pop_gset2
    00AF 9508      RET
FILE: F:\2007電子設(shè)計\古欣\twitest\twi_test\main_master.c
(0001) //ICC-AVR application builder : 2007-7-19 9:50:03
(0002) // Target : M16
(0003) // Crystal: 7.3728Mhz
(0004)  //主機從1到255發(fā)一個數(shù),收一個數(shù)。從機接收到任何數(shù)都返回。
(0005)  //當(dāng)主機收到的數(shù)為0x10時,從零開始發(fā)送。
(0006) #include "config.h"
(0007) 
(0008) void main(void)
(0009) {
(0010)  uint8 i=0,tmp=0;
_main:
  tmp                  --> R20
  i                    --> R22
    00B0 2766      CLR	R22
    00B1 2744      CLR	R20
(0011)  //re-enable interrupts
(0012)  DDRC=0X00;
    00B2 2422      CLR	R2
    00B3 BA24      OUT	0x14,R2
(0013)  PORTC=0x03; //使能內(nèi)部上拉電阻
    00B4 E083      LDI	R24,3
    00B5 BB85      OUT	0x15,R24
(0014)  twi_master_init();
    00B6 940E004B  CALL	_twi_master_init
    00B8 C00E      RJMP	0x00C7
(0015) 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美影院精品一区| 91成人免费电影| 亚洲综合激情小说| 国产喂奶挤奶一区二区三区| 欧美系列一区二区| 成人黄色在线视频| 激情小说亚洲一区| 天天色天天爱天天射综合| 国产精品入口麻豆原神| 日韩欧美美女一区二区三区| 在线亚洲一区观看| eeuss鲁一区二区三区| 国产一区二区三区四区五区入口 | 欧美老女人第四色| 91片在线免费观看| 国产精品亚洲成人| 久久99精品国产.久久久久| 日韩精品一级二级| 亚洲午夜视频在线观看| 中文字幕在线不卡| 中文字幕av不卡| 国产亚洲精品久| 亚洲精品在线三区| 日韩一级大片在线观看| 欧美一区二区免费| 5566中文字幕一区二区电影| 在线观看91精品国产入口| 色婷婷亚洲婷婷| 91免费观看视频| av在线播放不卡| caoporn国产一区二区| 成人99免费视频| 成人av在线网站| 不卡的av在线播放| 91麻豆精品秘密| 91麻豆精东视频| 欧美亚洲综合一区| 精品视频免费在线| 3d动漫精品啪啪一区二区竹菊| 欧美羞羞免费网站| 欧美精品三级日韩久久| 欧美一区二区黄色| 欧美成人乱码一区二区三区| 精品国产91洋老外米糕| 久久亚洲精品小早川怜子| 久久久久久一二三区| 国产欧美日韩另类视频免费观看| 久久久久久免费| 国产欧美精品一区aⅴ影院 | 色999日韩国产欧美一区二区| www.欧美.com| 色琪琪一区二区三区亚洲区| 在线观看亚洲精品| 欧美人xxxx| 日韩精品一区二区三区蜜臀 | 色吧成人激情小说| 欧美久久久久久蜜桃| 欧美一区二区福利在线| 久久亚洲免费视频| 亚洲日本va在线观看| 亚洲一级在线观看| 精品一区二区精品| 北条麻妃一区二区三区| 欧美日韩一区二区欧美激情| 日韩免费看网站| 亚洲国产成人午夜在线一区| 亚洲欧美激情小说另类| 美女视频免费一区| 99精品偷自拍| 欧美一区午夜精品| 国产精品久久毛片av大全日韩| 一区二区国产盗摄色噜噜| 另类调教123区 | 欧美成人精品1314www| 国产精品视频第一区| 亚洲大尺度视频在线观看| 国内一区二区视频| 色成人在线视频| 精品成人a区在线观看| 亚洲激情五月婷婷| 国模无码大尺度一区二区三区| 91网站在线观看视频| 日韩欧美一区中文| 亚洲免费观看高清完整版在线观看熊| 天天免费综合色| 成人av综合在线| 精品免费国产一区二区三区四区| 综合色中文字幕| 精品一区二区综合| 欧美网站大全在线观看| 国产色产综合色产在线视频| 石原莉奈在线亚洲二区| 99热这里都是精品| 久久综合九色综合欧美98| 一区二区三区国产精华| 国产成人精品免费视频网站| 欧美日韩久久不卡| 自拍偷拍国产亚洲| 国产成人综合视频| 欧美一区二区三区在线电影| 亚洲精品成人悠悠色影视| 国产精品一区专区| 日韩美女视频在线| 日韩一区精品视频| 日本精品视频一区二区| 国产精品福利一区二区| 国产呦精品一区二区三区网站| 欧美日韩国产综合一区二区 | 日韩一区二区三区视频| 亚洲国产精品久久不卡毛片| 成人av电影在线| 欧美极品美女视频| 精品系列免费在线观看| 欧美一区午夜精品| 日韩在线播放一区二区| 在线视频亚洲一区| 亚洲狠狠丁香婷婷综合久久久| 国产a级毛片一区| 国产婷婷色一区二区三区四区| 另类小说视频一区二区| 91精品国产高清一区二区三区| 一区二区不卡在线播放| 色哦色哦哦色天天综合| 亚洲丝袜另类动漫二区| 成人中文字幕在线| 国产女同性恋一区二区| 成人性生交大片免费看在线播放| 国产日韩欧美精品一区| 国产成人亚洲综合a∨婷婷| 久久久久久久久久久久久久久99| 极品销魂美女一区二区三区| 日韩欧美自拍偷拍| 国产一区二区在线影院| 久久久精品国产99久久精品芒果| 国产高清在线观看免费不卡| 国产欧美日韩三级| 成人久久18免费网站麻豆| 国产偷国产偷精品高清尤物| 岛国精品在线观看| 日韩伦理电影网| 欧美日韩在线播放一区| 午夜精品久久久| 欧美不卡在线视频| 国产成人av电影| 中文字幕欧美一| 欧美在线视频全部完| 日韩综合小视频| 日韩欧美久久久| 国产mv日韩mv欧美| 亚洲精品ww久久久久久p站| 欧美日韩精品免费观看视频| 日本91福利区| 久久精品亚洲麻豆av一区二区| 成人涩涩免费视频| 亚洲精品免费一二三区| 欧美日韩综合不卡| 九色|91porny| 国产精品欧美综合在线| 欧美私人免费视频| 精品一区二区精品| 亚洲欧美日韩国产成人精品影院| 欧美日韩一区视频| 激情综合网av| 亚洲免费毛片网站| 91精品国产一区二区| 国产成人精品午夜视频免费| 亚洲最大成人网4388xx| 欧美一区二区免费视频| 岛国av在线一区| 日韩影院免费视频| 欧美激情资源网| 91精品久久久久久久久99蜜臂| 国产精品1024| 香蕉久久夜色精品国产使用方法| 精品国产亚洲在线| 色婷婷综合久久| 国产一区二区三区国产| 亚洲影视在线播放| 国产亚洲人成网站| 欧美男同性恋视频网站| 风间由美中文字幕在线看视频国产欧美| 亚洲色欲色欲www在线观看| 91精品国产综合久久婷婷香蕉| 国产精品资源在线| 丝瓜av网站精品一区二区| 国产精品亲子乱子伦xxxx裸| 91精品婷婷国产综合久久| 99re热视频精品| 国模套图日韩精品一区二区| 亚洲一区在线观看网站| 欧美韩国日本一区| 6080国产精品一区二区| 91浏览器打开| 国产电影精品久久禁18| 天堂成人国产精品一区| 亚洲欧美一区二区三区国产精品 | 韩国成人在线视频| 丝袜诱惑亚洲看片| 一区二区三区91| 中文字幕成人av|