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

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

?? hi2c_asm.inc

?? 飛利浦高性能單片機(jī)IIC總線通用通信協(xié)議
?? INC
字號(hào):
;			P89LPC932硬件I2C軟件包(主)
;
; 1  使用I2C總線軟件包時(shí)P1.2,P1.3切勿寫為0,并要設(shè)置為開漏輸出。
; 2  總線定義為P1.2=SCL,P1.3=SDA,需外接上拉電阻2-10k。
; 3  相應(yīng)寄存器:
;    地址寄存器  I2ADR   用于存放自身從地址(從方式時(shí)才有用)
;    數(shù)據(jù)寄存器  I2DAT   接收/發(fā)送數(shù)據(jù)用
;    控制寄存器  I2CON   用于硬件I2C的設(shè)置、使能、啟動(dòng)、結(jié)束,
;                        應(yīng)答控制,中斷標(biāo)志等。
;    狀態(tài)寄存器  I2STAT  指示I2C總線的操作狀態(tài)碼,高5位有效,
;                        若I2C中斷志置位,可查詢此寄存器判斷
;                        總線情況。
;    SCL占空比寄存器  I2SCLH、I2SCLL  設(shè)置SCL的頻率發(fā)生。
;                        
;    此軟件包是以查詢方式完成各種總線操作的,在使用前應(yīng)對(duì)總線進(jìn)行檢查,并
;使用看門狗,以防等待總線而造成死機(jī)。
;                                  更新時(shí)間:2002.11.05
;


;申請(qǐng)總線
;功能:進(jìn)行I2C總線的初始化--包括時(shí)鐘選擇,I2C使能,發(fā)送起始信號(hào)等等。
;      I2EN為1,設(shè)置為主機(jī);CRSEL位為0,使用內(nèi)部SCL發(fā)生器。
GETBUS:
       MOV   	I2SCLH,#15	;設(shè)置SCL高電平的PCLK周期數(shù)
       MOV		I2SCLL,#15	;設(shè)置SCL低電平的PCLK周期數(shù),6MHz時(shí)為100Kbit/S
       MOV   	I2CON,#64H   	;使用內(nèi)部SCL發(fā)生器,I2EN和AA置位,起動(dòng)總線
       JNB   	SI,$         	;等待起始信號(hào)的發(fā)送
       RET


;發(fā)送數(shù)據(jù)函數(shù)
;功能:用于向總線發(fā)送數(shù)據(jù)
;入口參數(shù):ACC   待發(fā)送的數(shù)據(jù)
SENDBYTE:
       	MOV  	I2DAT,A     	;發(fā)送數(shù)據(jù)
       	MOV  	I2CON,#44H  	;清除SI位等等
      	JNB  	SI,$        	;等待數(shù)據(jù)的發(fā)送
       	RET


;===================================================================================
;		      用戶接口子程序

;進(jìn)行無子地址寫單字節(jié)
;入口參數(shù):ACC,SLA
;出口參數(shù):ACK為1時(shí)表明操作正確 
;R7
IWRBYTE:
     	CLR   	ACK
      	ACALL 	GETBUS       	;啟動(dòng)總線
;      	PUSH  	ACC           	;先保護(hù)待發(fā)送的數(shù)據(jù)
	MOV	R7,A
       	MOV   	A,SLA         	;器件尋址        
       	ACALL 	SENDBYTE
        MOV   	A,I2STAT
        CJNE  	A,#18H,IWRBEND	;發(fā)送器件地址,若無應(yīng)答則退出操作(18H是總線狀態(tài)碼)
;       POP   	ACC 
	MOV	A,R7       
        ACALL 	SENDBYTE      	;發(fā)送數(shù)據(jù)
        MOV   	A,I2STAT
        CJNE  	A,#28H,IWRBEND
        SETB  	ACK           	;設(shè)置出口標(biāo)志位
IWRBEND:MOV   	I2CON,#54H   	;結(jié)束總線               
        RET        



;進(jìn)行隨機(jī)地址多字節(jié)寫
;入口參數(shù):器件從地址SLA 子地址SUBA  發(fā)送數(shù)據(jù)區(qū)MTD  寫入字節(jié)數(shù)NUMBYTE
;出口參數(shù):ACK    為1時(shí)操作正確。
;占用R0,R1,ACC
IWRNBYTE: 
       	CLR   	ACK
       	MOV   	R0,#MTD
       	MOV   	R1,NUMBYTE
       	ACALL 	GETBUS         	;啟動(dòng)總線
       	MOV   	A,SLA
       	ACALL 	SENDBYTE 
       	MOV   	A,I2STAT
       	CJNE  	A,#18H,IWRNEND
       	MOV   	A,SUBA
       	ACALL 	SENDBYTE
       	MOV   	A,I2STAT
        CJNE  	A,#28H,IWRNEND	;無應(yīng)答則退出
         
IWRN_L1:MOV   	A,@R0
       	ACALL 	SENDBYTE       	;發(fā)送數(shù)據(jù)
        MOV   	A,I2STAT
        CJNE  	A,#28H,IWRNEND  ;無應(yīng)答則退出
        INC   	R0
        DJNZ  	R1,IWRN_L1          
        SETB  	ACK             ;置標(biāo)志位
IWRNEND:MOV	I2CON,#54H
        RET                  


;進(jìn)行無子地址多字節(jié)寫
;入口參數(shù):器件從地址SLA  發(fā)送數(shù)據(jù)區(qū)MTD  讀入字節(jié)數(shù)NUMBYTE
;出口參數(shù):ACK    為1時(shí)操作正確。
;占用R0,R1,ACC
IWRNBYTEEXT: 
         CLR   	ACK
         MOV   	R0,#MTD
         MOV   	R1,NUMBYTE
         ACALL 	GETBUS        	;啟動(dòng)總線
         MOV   	A,SLA
         ACALL 	SENDBYTE 
         MOV   	A,I2STAT
         CJNE  	A,#18H,IWRNEEND
         
IWRNE_L1:MOV   	A,@R0
         ACALL 	SENDBYTE        ;發(fā)送數(shù)據(jù)
         MOV   	A,I2STAT
         CJNE  	A,#28H,IWRNEEND	;無應(yīng)答則退出
         INC   	R0
         DJNZ  	R1,IWRNE_L1          
         SETB  	ACK             ;置標(biāo)志位
IWRNEEND:MOV   	I2CON,#54H
         RET                  



;進(jìn)行立即地址單字節(jié)讀
;出口參數(shù):讀出值在ACC
;出口參數(shù):ACK    為1時(shí)操作正確。
;注:SLA要為寫的地址,因?yàn)榇俗映绦驎?huì)自動(dòng)加1
IRDBYTE:
        CLR   	ACK
        ACALL 	GETBUS
        MOV   	A,SLA
        INC   	A               ;讀操作的器件尋址
        ACALL 	SENDBYTE
        MOV   	A,I2STAT
        CJNE  	A,#40H,IRDBEND
        MOV   	I2CON,#40H     	;接收一字節(jié)數(shù)據(jù)即發(fā)送非應(yīng)答位
        JNB   	SI,$            ;等待接收數(shù)據(jù)
        MOV   	A,I2STAT
        CJNE  	A,#58H,IRDBEND
        MOV   	A,I2DAT         ;讀取數(shù)據(jù)
        SETB  	ACK
IRDBEND:MOV   	I2CON,#54H
        RET




;進(jìn)行隨機(jī)地址多字節(jié)讀
;入口參數(shù):器件從地址SLA 子地址SUBA  接收數(shù)據(jù)區(qū)MRD  讀入字節(jié)數(shù)NUMBYTE
;出口參數(shù):ACK    為1時(shí)操作正確。
;占用R0,R1,ACC
IRDNBYTE:    
         CLR   	ACK
         MOV   	R0,#MRD
         MOV   	R1,NUMBYTE
         ACALL 	GETBUS
         MOV   	A,SLA
         ACALL 	SENDBYTE       	;器件尋址
         MOV   	A,I2STAT
         CJNE  	A,#18H,IRDNEND 	;無器件應(yīng)答即退出
         MOV   	A,SUBA         	;寫入器件子地址
         ACALL 	SENDBYTE
         MOV   	A,I2STAT
         CJNE  	A,#28H,IRDNEND 	;總線出錯(cuò)即退出
         MOV   	I2CON,#64H    	;重新啟動(dòng)總線
         JNB   	SI,$
         MOV   	A,SLA
         INC   	A              	;讀操作的器件尋址
         ACALL 	SENDBYTE
         MOV   	A,I2STAT
         CJNE  	A,#40H,IRDNEND
         
IRDN_L1: DJNZ   R1,IRDN_L2
         MOV    I2CON,#40H   	;取最后一個(gè)數(shù)據(jù)后發(fā)送非應(yīng)答位
         JNB    SI,$        
         MOV    A,I2STAT       	
         CJNE   A,#58H,IRDNEND
         MOV    A,I2DAT		;將數(shù)據(jù)取出
         MOV    @R0,A         	;數(shù)據(jù)存入MRD區(qū)中(R0指針指向MRD區(qū))
         SETB   ACK
IRDNEND: MOV    I2CON,#54H
         RET           
IRDN_L2: MOV    I2CON,#44H   	;接收數(shù)據(jù)并發(fā)送應(yīng)答位
         JNB    SI,$
         MOV    A,I2STAT
         CJNE   A,#50H,IRDNEND	;總線出錯(cuò)即退出
         MOV    A,I2DAT       	;取數(shù)據(jù)
         MOV    @R0,A         	;數(shù)據(jù)存入MRD區(qū)
         INC    R0
         SJMP   IRDN_L1


;進(jìn)行無子地址多字節(jié)讀
;入口參數(shù):器件從地址SLA  接收數(shù)據(jù)區(qū)MRD  讀入字節(jié)數(shù)NUMBYTE
;出口參數(shù):ACK    為1時(shí)操作正確。
;占用R0,R1,ACC
IRDNBYTEEXT:    
         CLR   	ACK
         MOV   	R0,#MRD
         MOV   	R1,NUMBYTE

         ACALL 	GETBUS
         MOV   	A,SLA
         INC   	A
         ACALL 	SENDBYTE       	;器件尋址
         MOV   	A,I2STAT
         CJNE  	A,#40H,IRDNEEND
         
IRDNE_L1:DJNZ   R1,IRDNE_L2
         MOV    I2CON,#40H   	;取最后一個(gè)數(shù)據(jù)后發(fā)送非應(yīng)答位
         JNB    SI,$        
         MOV    A,I2STAT       	
         CJNE   A,#58H,IRDNEEND
         MOV    A,I2DAT
         MOV    @R0,A         	;數(shù)據(jù)存入MRD區(qū)中(R0指針指向MRD區(qū))
         SETB   ACK
IRDNEEND:MOV   	I2CON,#54H
         RET           
IRDNE_L2:MOV    I2CON,#44H   	;接收數(shù)據(jù)并發(fā)送應(yīng)答位
         JNB    SI,$
         MOV    A,I2STAT
         CJNE   A,#50H,IRDNEEND	;總線出錯(cuò)即退出
         MOV    A,I2DAT       	;取數(shù)據(jù)
         MOV    @R0,A         	;數(shù)據(jù)存入MRD區(qū)
         INC    R0
         SJMP   IRDNE_L1
         
;使用前須在你的程序里要做以下定義:
;定義變量:  SLA 器件從地址  SUBA器件子地址  NUMBYTE讀/寫的字節(jié)數(shù) ,位變量ACK 
;定義常量:  MTD 發(fā)送數(shù)據(jù)緩沖區(qū)首址    MRD 接收數(shù)據(jù)緩沖區(qū)首址
;
;定義LPC932的I2C相關(guān)寄存器的定義
;I2ADR	DATA	0DBH
;I2DAT	DATA	0DAH		
;I2CON	DATA	0D8H
;I2STAT	DATA	0D9H
;I2SCLH	DATA	0DDH
;I2SCLL	DATA	0DCH
;STA	BIT	I2CON.5
;SI	BIT	I2CON.3
;
;軟件包接口
;(1)IRDBYTE  立即地址讀單字節(jié)子程序
;       入口:器件從地址SLA
;       出口:讀出數(shù)據(jù)ACC,應(yīng)答位ACK。
;       占用資源:ACC,CY
;       
;(2)IRDNBYTE 隨機(jī)地址讀多字節(jié)子程序
;       入口:器件從地址SLA,器件子地址SUBA,讀出字節(jié)數(shù)NUMBYTE
;       出口:讀出數(shù)據(jù)依次放在MRD區(qū),應(yīng)答位ACK。
;       占用資源:R0,R1,ACC,CY
;
;(3)IWRBYTE  立即地址寫單字節(jié)子程序
;       入口: 器件從地址SLA,寫入的數(shù)據(jù)ACC
;       出口: 應(yīng)答位ACK。
;       占用資源:ACC,CY,一字節(jié)堆棧
;
;(4)IWRNBYTE 立即地址寫多字節(jié)子程序
;       入口: 器件從地址SLA,寫入的數(shù)據(jù)依次放在MTD區(qū)
;       出口: 應(yīng)答位ACK。
;       占用資源:R0,R1,ACC,CY
;(ACK為調(diào)試/測試位,ACK為0時(shí)表示無器件應(yīng)答或總線出錯(cuò))
;
;(5)IWRNBYTEEXT 進(jìn)行無子地址多字節(jié)寫
;       入口:器件從地址SLA  發(fā)送數(shù)據(jù)區(qū)MTD  讀入字節(jié)數(shù)NUMBYTE
;       出口:ACK    為1時(shí)操作正確。
;       占用資源:R0,R1,ACC
;
;(6)IRDNBYTEEXT 進(jìn)行無子地址多字節(jié)讀
;	入口:器件從地址SLA  接收數(shù)據(jù)區(qū)MRD  讀入字節(jié)數(shù)NUMBYTE
;	出口:ACK    為1時(shí)操作正確。
;	占用資源:R0,R1,ACC

         

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩中文另类| 亚洲一区自拍偷拍| 经典一区二区三区| 日韩欧美一区二区视频| 麻豆成人在线观看| 久久新电视剧免费观看| 国产精品影视在线观看| 国产午夜精品福利| 成人精品电影在线观看| 亚洲日本成人在线观看| 欧美日韩黄色影视| 日韩国产高清影视| 久久久午夜精品| 99视频一区二区| 亚洲女厕所小便bbb| 在线91免费看| 美女视频一区二区三区| 国产精品欧美精品| 欧美性大战久久久| 九色综合狠狠综合久久| 国产精品免费丝袜| 欧美日韩和欧美的一区二区| 麻豆91精品91久久久的内涵| 久久久国产综合精品女国产盗摄| eeuss鲁一区二区三区| 亚洲va中文字幕| 久久蜜桃av一区精品变态类天堂| 91玉足脚交白嫩脚丫在线播放| 亚洲成a人v欧美综合天堂| 久久久天堂av| 在线国产电影不卡| 国产一区二区看久久| 亚洲女同一区二区| 精品国产乱码久久久久久蜜臀| 91在线观看视频| 麻豆精品一区二区| 亚洲在线成人精品| 久久久久一区二区三区四区| 欧美影视一区二区三区| 国产老女人精品毛片久久| 亚洲一区二区美女| 国产欧美一区二区精品性 | 91蝌蚪porny| 久久国产视频网| 成人欧美一区二区三区1314| 欧美一二三四在线| 91国产视频在线观看| 国产成人免费高清| 裸体歌舞表演一区二区| 亚洲小说春色综合另类电影| 欧美—级在线免费片| 日韩欧美国产三级| 欧美色涩在线第一页| 97久久精品人人澡人人爽| 国产资源在线一区| 日本不卡一区二区| 一区二区三区四区在线| 国产精品久久久久久妇女6080| 精品捆绑美女sm三区| 欧美日韩成人高清| 欧美午夜精品久久久久久孕妇| 成人激情文学综合网| 国产激情一区二区三区| 激情伊人五月天久久综合| 天天操天天色综合| 亚洲第一综合色| 一区二区欧美在线观看| 亚洲激情欧美激情| 亚洲女子a中天字幕| 中文字幕一区二区不卡| 国产精品久久久久7777按摩 | 久久国内精品视频| 日本色综合中文字幕| 午夜a成v人精品| 亚洲高清免费视频| 亚洲一区二区影院| 亚洲一区二区欧美日韩| 亚洲国产一区二区三区| 亚洲午夜国产一区99re久久| 一区二区三区在线高清| 玉足女爽爽91| 夜夜精品视频一区二区| 亚洲成人免费看| 视频在线观看一区二区三区| 午夜av电影一区| 蜜桃av一区二区在线观看| 蜜桃91丨九色丨蝌蚪91桃色| 久久国产精品99久久久久久老狼 | 中文字幕一区二区三区乱码在线| 国产偷v国产偷v亚洲高清| 久久久高清一区二区三区| 久久久久久毛片| 中文字幕+乱码+中文字幕一区| 日本一区二区免费在线| 亚洲视频在线观看三级| 亚洲嫩草精品久久| 午夜精品一区二区三区免费视频 | 欧美国产日韩亚洲一区| 国产亲近乱来精品视频| 国产精品入口麻豆九色| 亚洲一区电影777| 青青草国产精品97视觉盛宴| 国产在线日韩欧美| 99国产麻豆精品| 欧美裸体一区二区三区| 精品av综合导航| 中文字幕一区在线观看视频| 亚洲一区二区三区四区中文字幕| 日日夜夜精品视频免费| 91成人看片片| 欧美一级精品大片| 国产精品美女久久久久久久久久久| 亚洲欧洲制服丝袜| 日本aⅴ亚洲精品中文乱码| 国产精品一区二区男女羞羞无遮挡| av福利精品导航| 欧美绝品在线观看成人午夜影视| 26uuu亚洲综合色| 综合激情成人伊人| 蜜臀精品久久久久久蜜臀 | 欧美mv和日韩mv的网站| 国产精品久久久久婷婷| 午夜激情综合网| 国产精品18久久久久久久久久久久| 色呦呦网站一区| 精品福利在线导航| 樱花影视一区二区| 国产精品一区二区不卡| 欧美怡红院视频| 国产精品伦一区| 久久超级碰视频| 色婷婷综合激情| 日本一区二区三区在线不卡 | 奇米精品一区二区三区在线观看 | 久久精品国产99国产精品| 97久久超碰精品国产| 日韩久久精品一区| 一区二区三区四区不卡视频| 国产一区二区三区免费在线观看| 欧美视频一区在线| 国产精品久久国产精麻豆99网站| 日韩国产欧美一区二区三区| 色综合天天视频在线观看| 久久一区二区视频| 日韩精品成人一区二区三区| bt7086福利一区国产| ww亚洲ww在线观看国产| 日韩精品乱码免费| 欧美在线免费视屏| 国产精品久久久久久一区二区三区| 久久精品国产澳门| 欧美高清性hdvideosex| 亚洲自拍偷拍av| 色悠久久久久综合欧美99| 国产精品色哟哟网站| 国产中文字幕精品| 日韩欧美黄色影院| 天堂一区二区在线| 欧美色爱综合网| 亚洲综合色噜噜狠狠| 一本一本久久a久久精品综合麻豆| 国产亚洲欧美色| 紧缚奴在线一区二区三区| 91精品婷婷国产综合久久| 亚洲午夜精品17c| 欧美日韩亚洲综合在线 | 一区二区三区欧美在线观看| 波多野结衣亚洲| 国产精品蜜臀av| av成人老司机| 1024亚洲合集| 日本福利一区二区| 亚洲精品videosex极品| 欧美视频在线观看一区二区| 亚洲国产一区二区在线播放| 在线一区二区三区四区五区| 一区二区三区欧美日| 欧美亚洲高清一区| 亚洲成人动漫在线观看| 欧美电影一区二区| 青青国产91久久久久久 | 91久久精品国产91性色tv| 樱花草国产18久久久久| 在线观看成人免费视频| 亚洲成av人片www| 日韩一区二区视频| 国产乱码精品一品二品| 中文一区一区三区高中清不卡| 99久久免费精品| 国产一区视频网站| 成人av在线电影| 亚洲国产日韩综合久久精品| 一区二区三区自拍| 婷婷开心久久网| 日韩高清在线观看| 亚洲高清不卡在线观看| 国产精品88av| 亚洲视频一二三| 欧美日韩免费观看一区三区| 麻豆精品久久久|