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

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

?? lcd1602pbpd.lis

?? 一些LCD庫 分享給大家了 哈哈~
?? LIS
?? 第 1 頁 / 共 5 頁
字號:
 00B4           ; #define I2C_STATUS_MASK	(_BV(TWS7)|_BV(TWS6)|_BV(TWS5)|_BV(TWS4)|_BV(TWS3))
 00B4           ; #define I2C_STATUS		(TWSR & I2C_STATUS_MASK)
 00B4           ; 
 00B4           ; /*
 00B4           ;  * R/~W bit in SLA+R/W address field.
 00B4           ;  */
 00B4           ; #define I2C_READ		1
 00B4           ; #define I2C_WRITE		0
 00B4           ; 
 00B4           ; #define I2CStart()    	(TWCR=(1<<TWINT)|(1<<TWSTA)|(1<<TWEN))
 00B4           ; #define I2CStop()     	(TWCR=(1<<TWINT)|(1<<TWSTO)|(1<<TWEN))
 00B4           ; #define I2CWaitAck()	{while(!(TWCR&(1<<TWINT)));}
 00B4           ; #define I2CChkAck() 	(TWSR&0xf8)					//check ack
 00B4           ; #define I2CSendAck()	(TWCR|=(1<<TWEA))
 00B4           ; #define I2CSendNoAck()	(TWCR&=~(1<<TWEA))
 00B4           ; #define I2CSendByte(x)	{TWDR=(x);TWCR=(1<<TWINT)|(1<<TWEN);} 
 00B4           ; #define I2CRcvNckByte()	(TWCR=(1<<TWINT)|(1<<TWEN))
 00B4           ; #define I2CRcvAckByte()	(TWCR=(1<<TWINT)|(1<<TWEN)|(1<<TWEA))
 00B4           ; 
 00B4           ; /* For Program */
 00B4           ; #define I2C_Stop()		I2CStop()
 00B4           ; #define I2C_SendAck()	I2CSendAck()
 00B4           ; #define I2C_SendNoAck() I2CSendNoAck()
 00B4           ; #define I2C_WaitAck()	I2CWaitAck()
 00B4           ; 
 00B4           ; /* I2C Config */
 00B4           ; #define I2C_ERR			0
 00B4           ; #define I2C_CRR			1
 00B4           ; 
 00B4           ; /*--------------------------------------------------------------------
 00B4           ; 函數名稱:I2C Start
 00B4           ; 函數功能:
 00B4           ; 注意事項:
 00B4           ; 提示說明:
 00B4           ; 輸    入:
 00B4           ; 返    回:
 00B4           ; --------------------------------------------------------------------*/
 00B4           ; bool I2C_Start()					
 00B4           ; {
 00B4           ; 	I2CStart();						
 00B4 84EA              ldi R24,164
 00B6 86BF              out 0x36,R24
 00B8           ;       I2CWaitAck();
 00B8           L7:
 00B8           L8:
 00B8 26B6              in R2,0x36
 00BA 27FE              sbrs R2,7
 00BC FDCF              rjmp L7
 00BE           X2:
 00BE           ; 	if( I2CChkAck()!=I2C_START ) 
 00BE 81B1              in R24,0x1
 00C0 887F              andi R24,248
 00C2 8830              cpi R24,8
 00C4 11F0              breq L10
 00C6           X3:
 00C6           ; 		return I2C_ERR;
 00C6 0027              clr R16
 00C8 01C0              xjmp L6
 00CA           L10:
 00CA           ; 	return I2C_CRR;
 00CA 01E0              ldi R16,1
 00CC           L6:
 00CC                   .dbline 0 ; func end
 00CC 0895              ret
                        .even
 00CE           _I2C_Restart::
 00CE           ; }
 00CE           ; /*--------------------------------------------------------------------
 00CE           ; 函數名稱:I2C ReStart
 00CE           ; 函數功能:
 00CE           ; 注意事項:
 00CE           ; 提示說明:
 00CE           ; 輸    入:
 00CE           ; 返    回:
 00CE           ; --------------------------------------------------------------------*/
 00CE           ; bool I2C_Restart()					
 00CE           ; {
 00CE           ; 	I2CStart();						
 00CE 84EA              ldi R24,164
 00D0 86BF              out 0x36,R24
 00D2           ;       I2CWaitAck();
 00D2           L13:
 00D2           L14:
 00D2 26B6              in R2,0x36
 00D4 27FE              sbrs R2,7
 00D6 FDCF              rjmp L13
 00D8           X4:
 00D8           ; 	if( I2CChkAck()!=I2C_RESTART ) 
 00D8 81B1              in R24,0x1
 00DA 887F              andi R24,248
 00DC 8031              cpi R24,16
 00DE 11F0              breq L16
 00E0           X5:
 00E0           ; 		return I2C_ERR;
 00E0 0027              clr R16
 00E2 01C0              xjmp L12
 00E4           L16:
 00E4           ; 	return I2C_CRR;
 00E4 01E0              ldi R16,1
 00E6           L12:
 00E6                   .dbline 0 ; func end
 00E6 0895              ret
 00E8           ;         wrDAdr -> R16
                        .even
 00E8           _I2C_SendWrDAdr::
 00E8           ; }
 00E8           ; /*--------------------------------------------------------------------
 00E8           ; 函數名稱:發送 7位 器件寫地址: XXXX XXX0
 00E8           ; 函數功能:
 00E8           ; 注意事項:
 00E8           ; 提示說明:
 00E8           ; 輸    入:
 00E8           ; 返    回:
 00E8           ; --------------------------------------------------------------------*/
 00E8           ; bool I2C_SendWrDAdr(uint8 wrDAdr)	
 00E8           ; {
 00E8           ; 	I2CSendByte(wrDAdr);			//設置 器件寫地址
 00E8 03B9              out 0x3,R16
 00EA 84E8              ldi R24,132
 00EC 86BF              out 0x36,R24
 00EE           ;       I2CWaitAck();
 00EE           L19:
 00EE           L20:
 00EE 26B6              in R2,0x36
 00F0 27FE              sbrs R2,7
 00F2 FDCF              rjmp L19
 00F4           X6:
 00F4           ; 	if( I2CChkAck()!=I2C_MT_SLA_ACK )  
 00F4 81B1              in R24,0x1
 00F6 887F              andi R24,248
 00F8 8831              cpi R24,24
 00FA 11F0              breq L22
 00FC           X7:
 00FC           ; 		return I2C_ERR;
 00FC 0027              clr R16
 00FE 01C0              xjmp L18
 0100           L22:
 0100           ; 	return I2C_CRR;		
 0100 01E0              ldi R16,1
 0102           L18:
 0102                   .dbline 0 ; func end
 0102 0895              ret
 0104           ;         wrDAdr -> R10,R11
                        .even
 0104           _I2C_SendWrDAdr_::
 0104 AA92              st -y,R10
 0106 BA92              st -y,R11
 0108 5801              movw R10,R16
 010A           ; }
 010A           ; /*--------------------------------------------------------------------
 010A           ; 函數名稱:發送 10位 器件寫地址: 1111 0XX0, XXXX XXXX
 010A           ; 函數功能:
 010A           ; 注意事項:
 010A           ; 提示說明:兼容 發送 7位 器件寫地址: XXXX XXX0
 010A           ; 輸    入:
 010A           ; 返    回:
 010A           ; --------------------------------------------------------------------*/
 010A           ; bool I2C_SendWrDAdr_(uint16 wrDAdr)   
 010A           ; {
 010A           ;       if( wrDAdr&0xF000 == 0xF000 )   //判斷是否為 10位 器件地址
 010A A0FE              sbrs R10,0
 010C 0EC0              rjmp L25
 010E           X8:
 010E           ; 		if( I2C_SendWrDAdr( (uint8)wrDAdr>>8 )==I2C_ERR )	//設置 (高位)器件寫地址
 010E 0A2D              mov R16,R10
 0110 0695              lsr R16
 0112 0695              lsr R16
 0114 0695              lsr R16
 0116 0695              lsr R16
 0118 0695              lsr R16
 011A 0695              lsr R16
 011C 0695              lsr R16
 011E 0695              lsr R16
 0120 E3DF              xcall _I2C_SendWrDAdr
 0122 0023              tst R16
 0124 11F4              brne L27
 0126           X9:
 0126           ; 			return I2C_ERR;
 0126 0027              clr R16
 0128 07C0              xjmp L24
 012A           L27:
 012A           L25:
 012A           ; 	if( I2C_SendWrDAdr( (uint8)wrDAdr )==I2C_ERR )	//設置 (低位)器件寫地址
 012A 0A2D              mov R16,R10
 012C DDDF              xcall _I2C_SendWrDAdr
 012E 0023              tst R16
 0130 11F4              brne L29
 0132           X10:
 0132           ; 		return I2C_ERR;
 0132 0027              clr R16
 0134 01C0              xjmp L24
 0136           L29:
 0136           ; 	return I2C_CRR;
 0136 01E0              ldi R16,1
 0138           L24:
 0138                   .dbline 0 ; func end
 0138 B990              ld R11,y+
 013A A990              ld R10,y+
 013C 0895              ret
 013E           ;         rdDAdr -> R16
                        .even
 013E           _I2C_SendRdDAdr::
 013E           ; }
 013E           ; /*--------------------------------------------------------------------
 013E           ; 函數名稱:發送 7位 器件讀地址: XXXX XXX1
 013E           ; 函數功能:
 013E           ; 注意事項:
 013E           ; 提示說明:
 013E           ; 輸    入:
 013E           ; 返    回:
 013E           ; --------------------------------------------------------------------*/
 013E           ; bool I2C_SendRdDAdr(uint8 rdDAdr)	
 013E           ; {
 013E           ; 	I2CSendByte(rdDAdr);			//設置 器件讀地址
 013E 03B9              out 0x3,R16
 0140 84E8              ldi R24,132
 0142 86BF              out 0x36,R24
 0144           ;       I2CWaitAck();
 0144           L32:
 0144           L33:
 0144 26B6              in R2,0x36
 0146 27FE              sbrs R2,7
 0148 FDCF              rjmp L32
 014A           X11:
 014A           ; 	if( I2CChkAck()!=I2C_MR_SLA_ACK )  
 014A 81B1              in R24,0x1
 014C 887F              andi R24,248
 014E 8034              cpi R24,64
 0150 11F0              breq L35
 0152           X12:
 0152           ; 		return I2C_ERR;
 0152 0027              clr R16
 0154 01C0              xjmp L31
 0156           L35:
 0156           ; 	return I2C_CRR;	
 0156 01E0              ldi R16,1
 0158           L31:
 0158                   .dbline 0 ; func end
 0158 0895              ret
 015A           ;         rdDAdr -> R10
                        .even
 015A           _I2C_SendRdDAdr_::
 015A AA92              st -y,R10
 015C A02E              mov R10,R16
 015E           ; }
 015E           ; /*--------------------------------------------------------------------
 015E           ; 函數名稱:發送 10位 器件讀地址: 1111 0XX0, XXXX XXXX
 015E           ; 函數功能:
 015E           ; 注意事項:
 015E           ; 提示說明:
 015E           ; 輸    入:
 015E           ; 返    回:
 015E           ; --------------------------------------------------------------------*/
 015E           ; bool I2C_SendRdDAdr_(uint8 rdDAdr)    
 015E           ; {
 015E           ;       if( rdDAdr&0xF000 == 0xF000 )   //判斷是否為 10位 器件地址
 015E A0FE              sbrs R10,0
 0160 0EC0              rjmp L38
 0162           X13:
 0162           ; 		if( I2C_SendWrDAdr( (uint8)rdDAdr>>8 )==I2C_ERR )	//設置 (高位)器件讀地址
 0162 0A2D              mov R16,R10
 0164 0695              lsr R16
 0166 0695              lsr R16
 0168 0695              lsr R16
 016A 0695              lsr R16
 016C 0695              lsr R16
 016E 0695              lsr R16
 0170 0695              lsr R16
 0172 0695              lsr R16
 0174 B9DF              xcall _I2C_SendWrDAdr
 0176 0023              tst R16
 0178 11F4              brne L40
 017A           X14:
 017A           ; 			return I2C_ERR;
 017A 0027              clr R16
 017C 07C0              xjmp L37
 017E           L40:
 017E           L38:
 017E           ; 	if( I2C_SendWrDAdr( (uint8)rdDAdr )==I2C_ERR )	//設置 (低位)器件讀地址
 017E 0A2D              mov R16,R10
 0180 B3DF              xcall _I2C_SendWrDAdr
 0182 0023              tst R16
 0184 11F4              brne L42
 0186           X15:
 0186           ; 		return I2C_ERR;
 0186 0027              clr R16
 0188 01C0              xjmp L37
 018A           L42:
 018A           ; 	return I2C_CRR;
 018A 01E0              ldi R16,1
 018C           L37:
 018C                   .dbline 0 ; func end
 018C A990              ld R10,y+
 018E 0895              ret
 0190           ;      configDat -> R16
                        .even
 0190           _I2C_SendDat::
 0190           ; }
 0190           ; /*--------------------------------------------------------------------
 0190           ; 函數名稱:I2C發送數據
 0190           ; 函數功能:
 0190           ; 注意事項:
 0190           ; 提示說明:
 0190           ; 輸    入:
 0190           ; 返    回:
 0190           ; --------------------------------------------------------------------*/
 0190           ; bool I2C_SendDat(uint8 configDat)	
 0190           ; {
 0190           ; 	I2CSendByte(configDat);			
 0190 03B9              out 0x3,R16
 0192 84E8              ldi R24,132
 0194 86BF              out 0x36,R24
 0196           ;       I2CWaitAck();
 0196           L45:
 0196           L46:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久先锋影音av| 偷窥国产亚洲免费视频| 在线不卡一区二区| 国产成人综合在线观看| 亚洲观看高清完整版在线观看| 久久这里只有精品视频网| 色老汉一区二区三区| 国产成人免费网站| 日韩黄色片在线观看| 亚洲情趣在线观看| 亚洲国产精品二十页| 精品国产免费久久| 91精品国产综合久久香蕉的特点| 99久久免费国产| 国产精品综合在线视频| 日韩成人dvd| 亚洲国产一区二区三区青草影视| 国产精品日韩成人| 久久亚区不卡日本| 精品美女一区二区| 欧美一级艳片视频免费观看| 在线精品国精品国产尤物884a| 国产一区二区三区香蕉| 三级欧美在线一区| 午夜久久久久久| 亚洲午夜成aⅴ人片| 一区二区三区在线影院| 亚洲私人影院在线观看| 国产精品国产三级国产aⅴ入口| 制服丝袜日韩国产| 欧美日韩久久一区二区| 欧美在线播放高清精品| 日本福利一区二区| 91丨porny丨国产入口| www.在线欧美| fc2成人免费人成在线观看播放 | 国产精品久久综合| 久久久久亚洲综合| 国产亚洲成aⅴ人片在线观看| 欧美成人国产一区二区| 欧美成人r级一区二区三区| 日韩一区二区在线观看视频播放| 555www色欧美视频| 欧美一区二区视频网站| 日韩一区二区三| 日韩一级大片在线| 2023国产一二三区日本精品2022| 精品处破学生在线二十三| 欧美精品一区二区三区高清aⅴ | 午夜av一区二区三区| 玉米视频成人免费看| 亚洲综合另类小说| 五月婷婷激情综合网| 日韩电影在线免费观看| 九色综合狠狠综合久久| 国产九色精品成人porny| 国产精品12区| av高清久久久| 欧美视频一区二区三区| 欧美精品在线一区二区三区| 5月丁香婷婷综合| 久久影院视频免费| 日韩伦理av电影| 无吗不卡中文字幕| 韩国理伦片一区二区三区在线播放| 国产精品一区二区三区乱码 | 国产精品综合av一区二区国产馆| 国产成人综合精品三级| 91无套直看片红桃| 欧美电影在哪看比较好| 久久人人97超碰com| 中文字幕一区二区三中文字幕| 又紧又大又爽精品一区二区| 日韩av电影天堂| 国产成人av一区二区三区在线| 一本大道久久a久久综合| 欧美肥妇毛茸茸| 国产日韩综合av| 午夜精品久久久| 成人国产精品免费网站| 欧美体内she精视频| 久久精品一区二区三区不卡| 一区二区三区中文字幕电影| 精品一区二区三区香蕉蜜桃 | 国产精品久久久久天堂| 亚洲国产中文字幕在线视频综合| 美国欧美日韩国产在线播放 | 日韩网站在线看片你懂的| 亚洲国产精品激情在线观看 | 97se狠狠狠综合亚洲狠狠| 欧美理论片在线| 国产精品毛片大码女人| 日日夜夜免费精品视频| av高清久久久| 久久嫩草精品久久久精品| 亚洲一二三四在线| 欧美精品高清视频| 亚洲欧美日本韩国| 日韩一区二区麻豆国产| 欧美一区二区在线不卡| 亚洲欧洲三级电影| 美女www一区二区| 欧美网站一区二区| 国产精品久久久久久久久免费樱桃| 热久久久久久久| 欧美日韩卡一卡二| 亚洲人成网站精品片在线观看| 国产乱妇无码大片在线观看| 欧美一区二区三区免费视频| 亚洲女女做受ⅹxx高潮| 国产成人在线电影| 国产传媒日韩欧美成人| 日韩免费观看2025年上映的电影| 一个色综合网站| 99视频精品全部免费在线| 久久久久久久综合日本| 久久精品国产亚洲高清剧情介绍 | 国产精品香蕉一区二区三区| 欧美日韩国产成人在线91| 亚洲欧美在线aaa| 国产成人午夜片在线观看高清观看| 91麻豆精品国产91| 亚洲图片有声小说| 欧美丝袜丝交足nylons| 亚洲少妇最新在线视频| 不卡av在线网| 国产精品久99| av不卡在线播放| 国产精品久久久久久久久晋中| 大桥未久av一区二区三区中文| 久久一区二区三区四区| 日本午夜精品视频在线观看 | 国产成人免费在线| 国产日韩精品一区二区三区| 韩国三级电影一区二区| 久久综合九色综合97_久久久| 麻豆视频一区二区| 久久亚洲欧美国产精品乐播| 欧美一区二区三区啪啪| 成人开心网精品视频| 欧美日韩一区二区三区四区 | av一区二区三区四区| 日韩精品乱码免费| 午夜av电影一区| 在线观看亚洲专区| 国产亚洲精品bt天堂精选| 国产盗摄视频一区二区三区| 欧美激情资源网| 91视频com| 亚洲国产欧美在线| 欧美一区中文字幕| 国内成+人亚洲+欧美+综合在线 | 日韩一区二区三区免费看| 青青草伊人久久| 国产亚洲欧美激情| 99久久久精品免费观看国产蜜| 亚洲欧美精品午睡沙发| 欧美色电影在线| 久久er99热精品一区二区| 久久久一区二区三区| www.欧美.com| 亚洲成a人在线观看| 欧美精品一区二区三区视频| 成人动漫一区二区在线| 亚洲制服欧美中文字幕中文字幕| 欧美一区二区三区在线观看| 国产一区二区不卡在线 | 亚洲大片免费看| 26uuu成人网一区二区三区| 大桥未久av一区二区三区中文| 亚洲精品中文在线影院| 欧美一级欧美三级在线观看| 国产酒店精品激情| 亚洲制服丝袜av| 久久精品免费在线观看| 欧美综合一区二区三区| 国产精品资源站在线| 亚洲综合激情小说| 91免费在线视频观看| 国产一区二区三区免费| 国产精品成人一区二区艾草 | 亚洲日本va午夜在线电影| 欧美日韩国产三级| 成人一区二区三区在线观看| 国产一区欧美二区| 91丨九色porny丨蝌蚪| 91麻豆精品91久久久久同性| 亚洲不卡在线观看| 欧美成人精品高清在线播放| 91亚洲永久精品| 精久久久久久久久久久| 亚洲电影一级片| 国产精品色哟哟| 欧美成人a视频| 欧美日韩在线播放一区| 成人的网站免费观看| 久久99热这里只有精品| 一区二区三区在线看| 国产人久久人人人人爽| 日韩精品一区二区三区视频在线观看 |