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

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

?? lcd1602.lst

?? 一些LCD庫 分享給大家了 哈哈~
?? LST
?? 第 1 頁 / 共 5 頁
字號:
(0134) }
(0135) /*--------------------------------------------------------------------
(0136) 函數名稱:I2C ReStart
(0137) 函數功能:
(0138) 注意事項:
(0139) 提示說明:
(0140) 輸    入:
(0141) 返    回:
(0142) --------------------------------------------------------------------*/
(0143) bool I2C_Restart()					
(0144) {
(0145) 	I2CStart();						
_I2C_Restart:
    0115 EA84      LDI	R24,0xA4
    0116 BF86      OUT	0x36,R24
(0146) 	I2CWaitAck();
    0117 B626      IN	R2,0x36
    0118 FE27      SBRS	R2,7
    0119 CFFD      RJMP	0x0117
(0147) 	if( I2CChkAck()!=I2C_RESTART ) 
    011A B181      IN	R24,0x01
    011B 7F88      ANDI	R24,0xF8
    011C 3180      CPI	R24,0x10
    011D F011      BEQ	0x0120
(0148) 		return I2C_ERR;
    011E 2700      CLR	R16
    011F C001      RJMP	0x0121
(0149) 	return I2C_CRR;
    0120 E001      LDI	R16,1
    0121 9508      RET
(0150) }
(0151) /*--------------------------------------------------------------------
(0152) 函數名稱:發送 7位 器件寫地址: XXXX XXX0
(0153) 函數功能:
(0154) 注意事項:
(0155) 提示說明:
(0156) 輸    入:
(0157) 返    回:
(0158) --------------------------------------------------------------------*/
(0159) bool I2C_SendWrDAdr(uint8 wrDAdr)	
(0160) {
(0161) 	I2CSendByte(wrDAdr);			//設置 器件寫地址
_I2C_SendWrDAdr:
  wrDAdr               --> R16
    0122 B903      OUT	0x03,R16
    0123 E884      LDI	R24,0x84
    0124 BF86      OUT	0x36,R24
(0162) 	I2CWaitAck();
    0125 B626      IN	R2,0x36
    0126 FE27      SBRS	R2,7
    0127 CFFD      RJMP	0x0125
(0163) 	if( I2CChkAck()!=I2C_MT_SLA_ACK )  
    0128 B181      IN	R24,0x01
    0129 7F88      ANDI	R24,0xF8
    012A 3188      CPI	R24,0x18
    012B F011      BEQ	0x012E
(0164) 		return I2C_ERR;
    012C 2700      CLR	R16
    012D C001      RJMP	0x012F
(0165) 	return I2C_CRR;		
    012E E001      LDI	R16,1
    012F 9508      RET
_I2C_SendWrDAdr_:
  wrDAdr               --> R20
    0130 940E0775  CALL	push_gset1
    0132 01A8      MOVW	R20,R16
(0166) }
(0167) /*--------------------------------------------------------------------
(0168) 函數名稱:發送 10位 器件寫地址: 1111 0XX0, XXXX XXXX
(0169) 函數功能:
(0170) 注意事項:
(0171) 提示說明:兼容 發送 7位 器件寫地址: XXXX XXX0
(0172) 輸    入:
(0173) 返    回:
(0174) --------------------------------------------------------------------*/
(0175) bool I2C_SendWrDAdr_(uint16 wrDAdr)	
(0176) {
(0177) 	if( wrDAdr&0xF000 == 0xF000 )	//判斷是否為 10位 器件地址
    0133 FF40      SBRS	R20,0
    0134 C00B      RJMP	0x0140
(0178) 		if( I2C_SendWrDAdr( (uint8)wrDAdr>>8 )==I2C_ERR )	//設置 (高位)器件寫地址
    0135 2F04      MOV	R16,R20
    0136 2711      CLR	R17
    0137 2F01      MOV	R16,R17
    0138 2711      CLR	R17
    0139 FD07      SBRC	R16,7
    013A 9510      COM	R17
    013B DFE6      RCALL	_I2C_SendWrDAdr
    013C 2300      TST	R16
    013D F411      BNE	0x0140
(0179) 			return I2C_ERR;
    013E 2700      CLR	R16
    013F C007      RJMP	0x0147
(0180) 	if( I2C_SendWrDAdr( (uint8)wrDAdr )==I2C_ERR )	//設置 (低位)器件寫地址
    0140 2F04      MOV	R16,R20
    0141 DFE0      RCALL	_I2C_SendWrDAdr
    0142 2300      TST	R16
    0143 F411      BNE	0x0146
(0181) 		return I2C_ERR;
    0144 2700      CLR	R16
    0145 C001      RJMP	0x0147
(0182) 	return I2C_CRR;
    0146 E001      LDI	R16,1
    0147 940E0778  CALL	pop_gset1
    0149 9508      RET
(0183) }
(0184) /*--------------------------------------------------------------------
(0185) 函數名稱:發送 7位 器件讀地址: XXXX XXX1
(0186) 函數功能:
(0187) 注意事項:
(0188) 提示說明:
(0189) 輸    入:
(0190) 返    回:
(0191) --------------------------------------------------------------------*/
(0192) bool I2C_SendRdDAdr(uint8 rdDAdr)	
(0193) {
(0194) 	I2CSendByte(rdDAdr);			//設置 器件讀地址
_I2C_SendRdDAdr:
  rdDAdr               --> R16
    014A B903      OUT	0x03,R16
    014B E884      LDI	R24,0x84
    014C BF86      OUT	0x36,R24
(0195) 	I2CWaitAck();
    014D B626      IN	R2,0x36
    014E FE27      SBRS	R2,7
    014F CFFD      RJMP	0x014D
(0196) 	if( I2CChkAck()!=I2C_MR_SLA_ACK )  
    0150 B181      IN	R24,0x01
    0151 7F88      ANDI	R24,0xF8
    0152 3480      CPI	R24,0x40
    0153 F011      BEQ	0x0156
(0197) 		return I2C_ERR;
    0154 2700      CLR	R16
    0155 C001      RJMP	0x0157
(0198) 	return I2C_CRR;	
    0156 E001      LDI	R16,1
    0157 9508      RET
_I2C_SendRdDAdr_:
  rdDAdr               --> R20
    0158 940E0775  CALL	push_gset1
    015A 2F40      MOV	R20,R16
(0199) }
(0200) /*--------------------------------------------------------------------
(0201) 函數名稱:發送 10位 器件讀地址: 1111 0XX0, XXXX XXXX
(0202) 函數功能:
(0203) 注意事項:
(0204) 提示說明:
(0205) 輸    入:
(0206) 返    回:
(0207) --------------------------------------------------------------------*/
(0208) bool I2C_SendRdDAdr_(uint8 rdDAdr)	
(0209) {
(0210) 	if( rdDAdr&0xF000 == 0xF000 )	//判斷是否為 10位 器件地址
    015B FF40      SBRS	R20,0
    015C C00B      RJMP	0x0168
(0211) 		if( I2C_SendWrDAdr( (uint8)rdDAdr>>8 )==I2C_ERR )	//設置 (高位)器件讀地址
    015D 2F04      MOV	R16,R20
    015E 2711      CLR	R17
    015F 2F01      MOV	R16,R17
    0160 2711      CLR	R17
    0161 FD07      SBRC	R16,7
    0162 9510      COM	R17
    0163 DFBE      RCALL	_I2C_SendWrDAdr
    0164 2300      TST	R16
    0165 F411      BNE	0x0168
(0212) 			return I2C_ERR;
    0166 2700      CLR	R16
    0167 C007      RJMP	0x016F
(0213) 	if( I2C_SendWrDAdr( (uint8)rdDAdr )==I2C_ERR )	//設置 (低位)器件讀地址
    0168 2F04      MOV	R16,R20
    0169 DFB8      RCALL	_I2C_SendWrDAdr
    016A 2300      TST	R16
    016B F411      BNE	0x016E
(0214) 		return I2C_ERR;
    016C 2700      CLR	R16
    016D C001      RJMP	0x016F
(0215) 	return I2C_CRR;
    016E E001      LDI	R16,1
    016F 940E0778  CALL	pop_gset1
    0171 9508      RET
(0216) }
(0217) /*--------------------------------------------------------------------
(0218) 函數名稱:I2C發送數據
(0219) 函數功能:
(0220) 注意事項:
(0221) 提示說明:
(0222) 輸    入:
(0223) 返    回:
(0224) --------------------------------------------------------------------*/
(0225) bool I2C_SendDat(uint8 configDat)	
(0226) {
(0227) 	I2CSendByte(configDat);			
_I2C_SendDat:
  configDat            --> R16
    0172 B903      OUT	0x03,R16
    0173 E884      LDI	R24,0x84
    0174 BF86      OUT	0x36,R24
(0228) 	I2CWaitAck();
    0175 B626      IN	R2,0x36
    0176 FE27      SBRS	R2,7
    0177 CFFD      RJMP	0x0175
(0229) 	if( I2CChkAck()!=I2C_MT_DATA_ACK ) 
    0178 B181      IN	R24,0x01
    0179 7F88      ANDI	R24,0xF8
    017A 3288      CPI	R24,0x28
    017B F011      BEQ	0x017E
(0230) 		return I2C_ERR;
    017C 2700      CLR	R16
    017D C001      RJMP	0x017F
(0231) 	return I2C_CRR;	
    017E E001      LDI	R16,1
    017F 9508      RET
(0232) }
(0233) /*--------------------------------------------------------------------
(0234) 函數名稱:I2C接收數據且不產生應答
(0235) 函數功能:
(0236) 注意事項:
(0237) 提示說明:
(0238) 輸    入:
(0239) 返    回:
(0240) --------------------------------------------------------------------*/
(0241) bool I2C_RcvNAckDat(uint8 *pRdDat)	
(0242) {
(0243) 	I2CRcvNckByte();
_I2C_RcvNAckDat:
  pRdDat               --> R16
    0180 E884      LDI	R24,0x84
    0181 BF86      OUT	0x36,R24
(0244) 	I2CWaitAck();
    0182 B626      IN	R2,0x36
    0183 FE27      SBRS	R2,7
    0184 CFFD      RJMP	0x0182
(0245) 	if( I2CChkAck()!=I2C_MR_DATA_NACK )
    0185 B181      IN	R24,0x01
    0186 7F88      ANDI	R24,0xF8
    0187 3588      CPI	R24,0x58
    0188 F011      BEQ	0x018B
(0246) 		return I2C_ERR;
    0189 2700      CLR	R16
    018A C004      RJMP	0x018F
(0247) 	*pRdDat=TWDR;
    018B B023      IN	R2,0x03
    018C 01F8      MOVW	R30,R16
    018D 8220      STD	Z+0,R2
(0248) 	return I2C_CRR;
    018E E001      LDI	R16,1
    018F 9508      RET
(0249) }
(0250) /*--------------------------------------------------------------------
(0251) 函數名稱:I2C接收數據且產生應答
(0252) 函數功能:
(0253) 注意事項:
(0254) 提示說明:
(0255) 輸    入:
(0256) 返    回:
(0257) --------------------------------------------------------------------*/
(0258) bool I2C_RcvAckDat(uint8 *pRdDat)	
(0259) {
(0260) 	I2CRcvAckByte();					
_I2C_RcvAckDat:
  pRdDat               --> R16
    0190 EC84      LDI	R24,0xC4
    0191 BF86      OUT	0x36,R24
(0261) 	I2CWaitAck();
    0192 B626      IN	R2,0x36
    0193 FE27      SBRS	R2,7
    0194 CFFD      RJMP	0x0192
(0262) 	if( I2CChkAck()!=I2C_MR_DATA_ACK )
    0195 B181      IN	R24,0x01
    0196 7F88      ANDI	R24,0xF8
    0197 3580      CPI	R24,0x50
    0198 F011      BEQ	0x019B
(0263) 		return I2C_ERR;
    0199 2700      CLR	R16
    019A C004      RJMP	0x019F
(0264) 	*pRdDat=TWDR;
    019B B023      IN	R2,0x03
    019C 01F8      MOVW	R30,R16
    019D 8220      STD	Z+0,R2
(0265) 	return I2C_CRR;
    019E E001      LDI	R16,1
    019F 9508      RET
_I2C_Write:
  dat                  --> Y+4
  wordAdr              --> R20
  wrDAdr               --> R22
    01A0 940E0773  CALL	push_gset2
    01A2 2F42      MOV	R20,R18
    01A3 01B8      MOVW	R22,R16
(0266) }
(0267) /*--------------------------------------------------------------------
(0268) 函數名稱:I2C寫器件,寫一個數據
(0269) 函數功能:
(0270) 注意事項:
(0271) 提示說明:
(0272) 輸    入:wrDAdr: write device-address 寫器件地址
(0273) 		 wordAdr: word address 字地址
(0274) 		 dat: data 數據
(0275) 返    回:
(0276) --------------------------------------------------------------------*/
(0277) bool I2C_Write(uint16 wrDAdr,uint8 wordAdr,uint8 dat)
(0278) {
(0279) 	if( I2C_Start()==I2C_ERR )
    01A4 DF63      RCALL	_I2C_Start
    01A5 2300      TST	R16
    01A6 F411      BNE	0x01A9
(0280) 		return I2C_ERR;
    01A7 2700      CLR	R16
    01A8 C015      RJMP	0x01BE
(0281) 
(0282) 	if( I2C_SendWrDAdr_(wrDAdr)==I2C_ERR )
    01A9 018B      MOVW	R16,R22
    01AA DF85      RCALL	_I2C_SendWrDAdr_
    01AB 2300      TST	R16
    01AC F411      BNE	0x01AF
(0283) 		return I2C_ERR;
    01AD 2700      CLR	R16
    01AE C00F      RJMP	0x01BE
(0284) 
(0285) 	if( I2C_SendDat(wordAdr)==I2C_ERR )
    01AF 2F04      MOV	R16,R20
    01B0 DFC1      RCALL	_I2C_SendDat
    01B1 2300      TST	R16
    01B2 F411      BNE	0x01B5
(0286) 		return I2C_ERR;
    01B3 2700      CLR	R16
    01B4 C009      RJMP	0x01BE
(0287) 
(0288) 	if( I2C_SendDat(dat)==I2C_ERR )
    01B5 810C      LDD	R16,Y+4
    01B6 DFBB      RCALL	_I2C_SendDat
    01B7 2300      TST	R16
    01B8 F411      BNE	0x01BB
(0289) 		return I2C_ERR;
    01B9 2700      CLR	R16
    01BA C003      RJMP	0x01BE
(0290) 
(0291) 	I2C_Stop();
    01BB E984      LDI	R24,0x94
    01BC BF86      OUT	0x36,R24
(0292) 
(0293) 	return I2C_CRR;
    01BD E001      LDI	R16,1
    01BE 940E0764  CALL	pop_gset2
    01C0 9508      RET
_I2C_Read:
  pRdDat               --> Y+6
  rdDAdr               --> Y+4
  wordAdr              --> R20
  wrDAdr               --> R22
    01C1 940E0773  CALL	push_gset2
    01C3 2F42      MOV	R20,R18
    01C4 01B8      MOVW	R22,R16
(0294) }
(0295) /*--------------------------------------------------------------------
(0296) 函數名稱:I2C寫器件,寫N個數據
(0297) 函數功能:
(0298) 注意事項:
(0299) 提示說明:
(0300) 輸    入:wrDAdr: write device-address 寫器件地址
(0301) 		 wordAdr: word address 字地址
(0302) 		 *pWrDat: p->write data 寫入數據指針
(0303) 		 num: number 寫入數據個數
(0304) 返    回:
(0305) --------------------------------------------------------------------*/
(0306) //bool I2C_Write_(uint16 wrDAdr,uint8 wordAdr,
(0307) //				  uint8 *pWrDat,uint8 num)
(0308) //{
(0309) //
(0310) //} 
(0311) /*--------------------------------------------------------------------
(0312) 函數名稱:I2C讀器件,讀一個數據
(0313) 函數功能:
(0314) 注意事項:
(0315) 提示說明:
(0316) 輸    入:wrDAdr: write device-address 寫器件地址
(0317) 		 wordAdr: word address 字地址
(0318) 		 rdDAdr: read device-address 讀器件地址
(0319) 		 *pRdDat: p->read data 讀取數據指針
(0320) 返    回:
(0321) --------------------------------------------------------------------*/
(0322) bool I2C_Read(uint16 wrDAdr,uint8 wordAdr,
(0323) 			  uint8 rdDAdr,uint8 *pRdDat)
(0324) {
(0325) 	if( I2C_Start()==I2C_ERR )
    01C5 DF42      RCALL	_I2C_Start
    01C6 2300      TST	R16
    01C7 F411      BNE	0x01CA
(0326) 		return I2C_ERR;
    01C8 2700      CLR	R16
    01C9 C021      RJMP	0x01EB
(0327) 
(0328) 	if( I2C_SendWrDAdr_(wrDAdr)==I2C_ERR )
    01CA 018B      MOVW	R16,R22
    01CB DF64      RCALL	_I2C_SendWrDAdr_
    01CC 2300      TST	R16
    01CD F411      BNE	0x01D0
(0329) 		return I2C_ERR;
    01CE 2700      CLR	R16
    01CF C01B      RJMP	0x01EB
(0330) 
(0331) 	if( I2C_SendDat(wordAdr)==I2C_ERR )

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜欧美2019年伦理| 亚洲夂夂婷婷色拍ww47| av电影在线观看一区| 成人免费一区二区三区视频| av激情综合网| 久久国产精品一区二区| 国产网红主播福利一区二区| 99这里都是精品| 午夜不卡在线视频| 久久精品这里都是精品| 一本色道久久综合狠狠躁的推荐 | 精品99999| 成人黄页毛片网站| 激情丁香综合五月| 亚洲一区二区三区在线播放| 亚洲综合免费观看高清完整版 | 国产成人aaaa| 成人高清视频在线观看| 色呦呦国产精品| 欧美高清www午色夜在线视频| 久久久不卡网国产精品二区| 久久久久9999亚洲精品| 国产三级一区二区| 亚洲欧洲精品一区二区三区 | 91精品国产麻豆国产自产在线 | 欧美午夜在线一二页| 精品日本一线二线三线不卡| 国产喂奶挤奶一区二区三区| 亚洲一二三四在线观看| 日韩经典中文字幕一区| 国产麻豆视频精品| 免费人成黄页网站在线一区二区| 日韩高清中文字幕一区| 蜜臂av日日欢夜夜爽一区| 国产精品资源网站| av在线不卡网| 欧美日韩国产综合一区二区三区| 91精品啪在线观看国产60岁| 国产日韩欧美精品在线| 亚洲免费三区一区二区| 午夜国产精品一区| 国产精品1区2区3区| 色综合色综合色综合色综合色综合 | 一区二区三区在线播| 蜜桃精品视频在线| 国产精品原创巨作av| 成人一区二区三区| 日韩欧美亚洲一区二区| 亚洲一区二区三区中文字幕| 国产高清久久久久| 久久久美女艺术照精彩视频福利播放| 亚洲国产色一区| 欧美日韩视频一区二区| 久久99精品久久久久久| 成人黄色av电影| 欧美成人精品高清在线播放 | 在线观看视频91| 精品日韩一区二区三区 | 中文字幕一区二区三区av| 亚洲美女电影在线| 国产乱码精品1区2区3区| 欧美亚洲禁片免费| 亚洲欧美国产三级| 国产成人免费视频| 精品电影一区二区三区| 日韩电影免费在线观看网站| 欧美色综合天天久久综合精品| 久久伊人蜜桃av一区二区| 日本伊人色综合网| 欧美精品欧美精品系列| 亚洲第一福利一区| 欧美疯狂做受xxxx富婆| 日韩专区一卡二卡| 欧美一区二视频| 麻豆国产欧美一区二区三区| 精品污污网站免费看| 午夜精品123| 欧美videofree性高清杂交| 日韩不卡一区二区| 欧美一级黄色片| 国产成人a级片| 中文字幕一区二区三区在线播放| 大尺度一区二区| 日韩中文字幕区一区有砖一区| 成人黄色在线视频| 亚洲夂夂婷婷色拍ww47| 欧美一区二区视频在线观看2022| 亚洲午夜私人影院| 亚洲精品一区二区三区99| 国产精品一线二线三线| 亚洲色欲色欲www| 欧美一区二区人人喊爽| 国产999精品久久久久久| 一区二区三区四区国产精品| 日韩一区二区在线观看| 91美女视频网站| 日韩二区三区在线观看| 国产视频一区在线播放| 欧美人牲a欧美精品| 不卡在线视频中文字幕| 国产一区二区三区四| 日韩国产高清影视| 一级女性全黄久久生活片免费| 26uuu国产日韩综合| 欧美一区二区在线不卡| 欧美性xxxxxxxx| 91视频免费播放| 97久久超碰精品国产| 国产九九视频一区二区三区| 热久久久久久久| 全国精品久久少妇| 麻豆久久久久久| 琪琪一区二区三区| 国产成人啪免费观看软件| 亚洲欧洲日韩av| 久久青草国产手机看片福利盒子| 欧美精品高清视频| 777a∨成人精品桃花网| 欧美久久久久久蜜桃| 制服丝袜日韩国产| 日韩欧美在线影院| 国产亚洲自拍一区| 国产精品久久午夜| 18成人在线观看| 日韩电影免费在线观看网站| av在线播放不卡| 91精彩视频在线| 欧美午夜免费电影| 日韩片之四级片| 日本一二三四高清不卡| 亚洲免费大片在线观看| 青青草国产精品亚洲专区无| 国产伦精品一区二区三区免费迷| 国产91精品免费| 在线观看欧美黄色| 亚洲精品一区二区在线观看| 亚洲四区在线观看| 另类的小说在线视频另类成人小视频在线| 精品一区二区三区在线视频| k8久久久一区二区三区| 欧美少妇bbb| 亚洲品质自拍视频网站| 久久99精品国产.久久久久久| 99久久精品免费看国产| 久久影视一区二区| 久久99国产精品麻豆| 日本精品一级二级| 中文幕一区二区三区久久蜜桃| 日韩精品五月天| 欧美色图一区二区三区| 亚洲青青青在线视频| 国产成人超碰人人澡人人澡| 日韩区在线观看| 裸体健美xxxx欧美裸体表演| 欧美三级电影在线看| 欧美国产日韩a欧美在线观看 | 午夜精品影院在线观看| 色综合天天综合色综合av| 中文字幕第一区综合| 成人免费视频国产在线观看| 国产精品免费av| 99在线精品观看| 亚洲精品写真福利| 欧美日韩在线观看一区二区| 亚洲第一搞黄网站| 日韩精品一区二区三区在线| 韩国v欧美v亚洲v日本v| 久久久午夜电影| 欧美日韩欧美一区二区| 精彩视频一区二区三区| 国产午夜精品在线观看| 日本精品裸体写真集在线观看| 亚洲精品成a人| 日韩欧美中文字幕一区| 国产成人激情av| 午夜私人影院久久久久| 精品福利一区二区三区| 91在线视频播放| 国产98色在线|日韩| 水野朝阳av一区二区三区| 国产亚洲午夜高清国产拍精品 | 欧美日韩中文一区| 日韩电影在线一区二区| 精品日韩在线观看| 欧美在线观看视频在线| 精品一区二区三区视频| 亚洲国产日韩在线一区模特| 国产亚洲一区字幕| 欧美一区二区视频在线观看| 91色.com| 日本精品一区二区三区高清| 色婷婷精品大视频在线蜜桃视频| 亚洲mv在线观看| 亚洲国产成人午夜在线一区| aaa欧美日韩| 国产精品乱码一区二三区小蝌蚪| 91在线小视频| 亚洲一本大道在线| 精品国产一区二区三区不卡 | 91精品久久久久久久91蜜桃 |