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

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

?? twi.s

?? avr 單片機twi源程序 功能:實現TWI主從機通訊.
?? S
字號:
	.module twi.c
	.area text(rom, con, rel)
	.dbfile F:\2007電子設計\古欣\twitest\twi_test\twi.c
	.dbfunc e twi_master_init _twi_master_init fV
	.even
_twi_master_init::
	.dbline -1
	.dbline 7
; 
; #include "config.h"
; 
; //TWI master initialize
; // bit rate:100
; void twi_master_init(void)
; {
	.dbline 8
;  TWCR= 0x00; //disable twi
	clr R2
	out 0x36,R2
	.dbline 9
;  TWBR= 0x64; //set bit rate
	ldi R24,100
	out 0x0,R24
	.dbline 10
;  TWSR= 0x00; //set prescale
	out 0x1,R2
	.dbline 11
;  TWAR= 0x00; //set slave address
	out 0x2,R2
	.dbline 12
;  TWCR= 0x04; //enable twi
	ldi R24,4
	out 0x36,R24
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e twi_slave_init _twi_slave_init fV
;            add -> R16
	.even
_twi_slave_init::
	.dbline -1
	.dbline 18
; }
; 
; //TWI slave initialize
; // bit rate:100
; void twi_slave_init(uint8 add)
; {
	.dbline 19
;  TWCR= 0x00; //disable twi
	clr R2
	out 0x36,R2
	.dbline 20
;  TWBR= 0x64; //set bit rate
	ldi R24,100
	out 0x0,R24
	.dbline 21
;  TWSR= 0x00; //set prescale
	out 0x1,R2
	.dbline 22
;  TWAR= (add<<1); //set slave address 從機地址為 0x01
	mov R2,R16
	lsl R2
	out 0x2,R2
	.dbline 23
;  TWCR= (1<<TWEN)|(1<<TWEA)|(1<<TWIE); //enable twi
	ldi R24,69
	out 0x36,R24
	.dbline -2
L2:
	.dbline 0 ; func end
	ret
	.dbsym r add 16 c
	.dbend
	.dbfunc e i2c_start _i2c_start fV
	.even
_i2c_start::
	.dbline -1
	.dbline 29
;  //TWEN必須置位以使能TWI接口。TWEA也要置位以使主機尋址到自己(從機地址或廣播) 時返回確認信息ACK
; }
; 
; //總線上起動開始條件
; void i2c_start(void)
; {
	.dbline 30
; 	TWCR= (1<<TWINT)|(1<<TWSTA)|(1<<TWEN);
	ldi R24,164
	out 0x36,R24
L4:
	.dbline 31
L5:
	.dbline 31
;    	while (!(TWCR & (1<<TWINT))); //等待START 信號成功發送
	in R2,0x36
	sbrs R2,7
	rjmp L4
	.dbline -2
L3:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e i2c_write_addr _i2c_write_addr fc
;            r_w -> R18
;           addr -> R16
	.even
_i2c_write_addr::
	.dbline -1
	.dbline 37
; }
; 
; //把一個字節數據輸入器件, 返回TWI狀態
; //發送地址,r_w:1為讀,0為寫
; uint8 i2c_write_addr(uint8 addr,uint8 r_w)
; {
	.dbline 38
;  	if(r_w)
	tst R18
	breq L8
	.dbline 39
; 	{
	.dbline 40
; 	 TWDR = addr|r_w;     //RW 為1:讀操作
	mov R2,R16
	or R2,R18
	out 0x3,R2
	.dbline 41
; 	}
	xjmp L9
L8:
	.dbline 43
; 	else
; 	{
	.dbline 44
; 	TWDR = addr & 0xFE;   // RW 為0: 寫操作
	mov R24,R16
	andi R24,254
	out 0x3,R24
	.dbline 45
; 	} 
L9:
	.dbline 47
; 
;    	TWCR = (1<<TWINT)|(1<<TWEN); 
	ldi R24,132
	out 0x36,R24
L10:
	.dbline 48
L11:
	.dbline 48
;    	while (!(TWCR & (1<<TWINT)));
	in R2,0x36
	sbrs R2,7
	rjmp L10
	.dbline 49
;    	_NOP();
	nop
	.dbline 50
;    	return(TWSR&0b11111000); //TWSR高五位為I2C工作狀態。
	in R16,0x1
	andi R16,248
	.dbline -2
L7:
	.dbline 0 ; func end
	ret
	.dbsym r r_w 18 c
	.dbsym r addr 16 c
	.dbend
	.dbfunc e i2c_write_data _i2c_write_data fc
;           data -> R16
	.even
_i2c_write_data::
	.dbline -1
	.dbline 56
; }
; 
; //把一個字節數據輸入器件, 返回TWI狀態
; //發送數據
; uint8 i2c_write_data(uint8 data)
; {
	.dbline 57
; 	TWDR = data;
	out 0x3,R16
	.dbline 58
;    	TWCR = (1<<TWINT)|(1<<TWEN); 
	ldi R24,132
	out 0x36,R24
L14:
	.dbline 59
L15:
	.dbline 59
;    	while (!(TWCR & (1<<TWINT)));
	in R2,0x36
	sbrs R2,7
	rjmp L14
	.dbline 60
;    	_NOP();
	nop
	.dbline 61
;    	return(TWSR&0b11111000); //TWSR高五位為I2C工作狀態。
	in R16,0x1
	andi R16,248
	.dbline -2
L13:
	.dbline 0 ; func end
	ret
	.dbsym r data 16 c
	.dbend
	.dbfunc e i2c_read _i2c_read fc
	.even
_i2c_read::
	.dbline -1
	.dbline 67
; }
; 
; 
; //從器件讀出一個字節
; uint8 i2c_read(void)
; {
	.dbline 68
;    	TWCR = (1<<TWINT)|(1<<TWEN); 
	ldi R24,132
	out 0x36,R24
	.dbline 69
; 	Twi_NoAcK();
	.dbline 69
	in R24,0x36
	andi R24,15
	ori R24,128
	out 0x36,R24
	.dbline 69
	.dbline 69
L18:
	.dbline 70
L19:
	.dbline 70
; 	while (!(TWCR & (1<<TWINT)));
	in R2,0x36
	sbrs R2,7
	rjmp L18
	.dbline 71
;    	return(TWDR);
	in R16,0x3
	.dbline -2
L17:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e i2c_stop _i2c_stop fV
	.even
_i2c_stop::
	.dbline -1
	.dbline 76
; }
; 
; //總線上起動停止條件 
; void i2c_stop(void) 
; { 
	.dbline 77
;    TWCR = (1<<TWINT)|(1<<TWSTO)|(1<<TWEN); 
	ldi R24,148
	out 0x36,R24
	.dbline -2
L21:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e i2c_maste_transt _i2c_maste_transt fV
;           data -> R20
;           addr -> R22
	.even
_i2c_maste_transt::
	xcall push_gset2
	mov R20,R18
	mov R22,R16
	.dbline -1
	.dbline 82
; }
; 
; //操作步驟: 啟動,發送地址,發送數據,關閉總線
; void i2c_maste_transt(uint8 addr, uint8 data)
; {
	.dbline 83
;  i2c_start();
	xcall _i2c_start
	.dbline 85
;  
;  if(i2c_write_addr(addr, 0)==TW_MT_SLA_ACK) //發送地址成功并收到ACK
	clr R18
	mov R16,R22
	xcall _i2c_write_addr
	cpi R16,24
	brne L23
	.dbline 86
;  {
	.dbline 87
;   i2c_write_data(data);
	mov R16,R20
	xcall _i2c_write_data
	.dbline 88
;  }
L23:
	.dbline 89
;  i2c_stop();
	xcall _i2c_stop
	.dbline -2
L22:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r data 20 c
	.dbsym r addr 22 c
	.dbend
	.dbfunc e i2c_maste_read _i2c_maste_read fc
;            tmp -> R20
;           addr -> R22
	.even
_i2c_maste_read::
	xcall push_gset2
	mov R22,R16
	.dbline -1
	.dbline 93
; }
; //操作步驟,啟動,發送地址,讀數據,關閉總線
; uint8 i2c_maste_read(uint8 addr)
; {
	.dbline 94
;   uint8 tmp=0; 
	clr R20
	.dbline 95
;   i2c_start();
	xcall _i2c_start
	.dbline 96
;   if(i2c_write_addr(addr, 1)==TW_MR_SLA_ACK) //發送地址成功并收到ACK
	ldi R18,1
	mov R16,R22
	xcall _i2c_write_addr
	cpi R16,64
	brne L26
	.dbline 97
;   {
	.dbline 98
;    tmp=i2c_read();
	xcall _i2c_read
	mov R20,R16
	.dbline 99
;   }
L26:
	.dbline 100
;   i2c_stop();
	xcall _i2c_stop
	.dbline 101
;   return tmp;
	mov R16,R20
	.dbline -2
L25:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r tmp 20 c
	.dbsym r addr 22 c
	.dbend

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
黄色日韩网站视频| 日韩欧美成人一区二区| 欧美人伦禁忌dvd放荡欲情| 久久亚区不卡日本| 亚洲国产精品久久久久婷婷884| 国产精品白丝jk白祙喷水网站| 欧美日韩日日骚| 亚洲免费看黄网站| 国产精品99久久久久久久女警| 欧美性大战久久久久久久| 日本一区二区三区视频视频| 午夜精品一区二区三区电影天堂| 波多野结衣中文一区| 欧美xxxxx牲另类人与| 亚洲第一激情av| 91在线看国产| 国产精品午夜电影| 高清免费成人av| 精品国产sm最大网站| 日韩中文字幕亚洲一区二区va在线| 成人性生交大片免费看在线播放| 欧美xxxxx牲另类人与| 日韩中文字幕一区二区三区| 欧美日韩在线三区| 一二三区精品视频| 色诱视频网站一区| 一区二区三区四区中文字幕| 一本到不卡精品视频在线观看| 中文av一区特黄| 国产成人免费av在线| 亚洲精品一区二区三区四区高清| 精品在线播放免费| 久久久久久久综合| 国产精品亚洲专一区二区三区 | 久久天天做天天爱综合色| 青青草伊人久久| 日韩一区二区在线播放| 日本aⅴ精品一区二区三区| 欧美夫妻性生活| 免费在线视频一区| 亚洲精品一区二区三区四区高清 | 日韩成人一级大片| 91精品在线免费| 美女精品一区二区| 久久亚洲影视婷婷| 成人午夜av在线| 亚洲欧美自拍偷拍色图| 在线观看欧美日本| 奇米888四色在线精品| 久久综合久久鬼色中文字| 国产成人av电影在线| 国产精品色噜噜| 在线免费亚洲电影| 麻豆精品一区二区av白丝在线| 亚洲精品一区二区三区影院| 成人黄动漫网站免费app| 亚洲一区二区三区精品在线| 日韩欧美黄色影院| 成人av网在线| 亚洲成精国产精品女| www精品美女久久久tv| 91在线视频免费91| 裸体歌舞表演一区二区| 国产精品欧美经典| 欧美日韩国产一级片| 国产一区999| 亚洲综合区在线| 精品不卡在线视频| 色综合久久66| 国产美女视频一区| 亚洲国产另类精品专区| 久久综合999| 色婷婷久久久久swag精品| 麻豆91精品91久久久的内涵| 中文字幕在线免费不卡| 欧美日韩国产免费| 成人av免费网站| 久久精品二区亚洲w码| 一区二区三区四区av| 久久尤物电影视频在线观看| 欧亚一区二区三区| 国产成人午夜电影网| 日韩精品国产精品| 亚洲女人小视频在线观看| www一区二区| 在线电影院国产精品| 色综合天天综合色综合av | 国产亚洲精久久久久久| 欧美精品一卡二卡| 一本色道久久综合狠狠躁的推荐 | 91福利精品第一导航| 国产成人啪免费观看软件 | 成人一二三区视频| 久久精品99国产精品日本| 亚洲成人动漫av| 亚洲欧美日韩精品久久久久| 国产日韩综合av| 欧美精品一区二区三区一线天视频| 精品视频一区三区九区| 色婷婷av一区二区三区之一色屋| 国产成人三级在线观看| 精品影院一区二区久久久| 日韩二区在线观看| 五月天精品一区二区三区| 亚洲一区自拍偷拍| 亚洲一区二区三区美女| 亚洲欧美偷拍另类a∨色屁股| 国产精品麻豆99久久久久久| 久久久久久亚洲综合影院红桃| 欧美一级艳片视频免费观看| 欧美日韩国产123区| 91高清视频在线| 欧美专区日韩专区| 欧美日韩亚州综合| 欧美精品粉嫩高潮一区二区| 欧美日韩视频一区二区| 欧美日韩二区三区| 欧美日韩aaaaaa| 欧美一区二区三区性视频| 欧美日韩国产精选| 日韩一区二区三区视频| 欧美一级xxx| 欧美成人性福生活免费看| 精品捆绑美女sm三区| 久久人人97超碰com| 国产欧美一区二区在线观看| 国产精品久久久久久久久快鸭| 国产精品乱码人人做人人爱 | 99精品一区二区三区| 99re热视频精品| 欧美日韩电影在线播放| 精品少妇一区二区三区视频免付费| 精品福利在线导航| 国产欧美视频在线观看| 亚洲三级免费观看| 香蕉久久一区二区不卡无毒影院 | 国产91精品露脸国语对白| 成人免费视频一区| 欧美视频一区二区在线观看| 欧美日韩成人综合| 欧美成人一区二区三区片免费| 国产亚洲成aⅴ人片在线观看| 国产精品乱码人人做人人爱| 亚洲国产中文字幕在线视频综合| 美女脱光内衣内裤视频久久影院| 国产激情精品久久久第一区二区 | www.欧美色图| 欧美日韩一本到| 国产日韩欧美高清在线| 亚洲综合色噜噜狠狠| 精品一区二区三区av| 色婷婷综合视频在线观看| 日韩欧美亚洲一区二区| 国产精品欧美经典| 日韩**一区毛片| gogogo免费视频观看亚洲一| 6080午夜不卡| 亚洲欧美日韩一区二区三区在线观看| 五月婷婷色综合| 成人精品免费网站| 日韩一区二区免费视频| 亚洲日本电影在线| 黄色小说综合网站| 欧美影院一区二区三区| 久久女同精品一区二区| 三级在线观看一区二区| 91亚洲国产成人精品一区二区三| 日本一区二区三区四区在线视频| 亚洲超碰精品一区二区| 成人综合婷婷国产精品久久蜜臀| 欧美日韩精品免费| 亚洲视频中文字幕| 国产黄色精品网站| 51精品国自产在线| 亚洲一区二区三区爽爽爽爽爽 | 日韩vs国产vs欧美| 91看片淫黄大片一级| 国产视频亚洲色图| 毛片基地黄久久久久久天堂| 欧美日韩免费不卡视频一区二区三区| 国产视频一区二区三区在线观看| 青青草国产精品亚洲专区无| 欧美日韩中文字幕一区| 亚洲精品乱码久久久久| av在线这里只有精品| 久久久久九九视频| 国产一区二区免费看| 欧美mv和日韩mv国产网站| 日韩国产精品久久久| 欧美亚州韩日在线看免费版国语版| 国产精品黄色在线观看| 国产黑丝在线一区二区三区| 26uuu欧美日本| 国产一区美女在线| 精品国产乱码久久久久久久| 免费黄网站欧美| 日韩欧美一级二级三级久久久| 日产精品久久久久久久性色| 91精品国产综合久久久久久久| 肉肉av福利一精品导航|