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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? fantest.asm

?? 用匯編語(yǔ)言寫(xiě)的風(fēng)扇轉(zhuǎn)速測(cè)試程序,用于轉(zhuǎn)速測(cè)試,傳感器用KEYENCE
?? ASM
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
	 SETB ACC.0                       ; send read command and receive data
	 LCALL START
	 JC X3421
	 LCALL SHOUT                      ; Re-write device address
	 JC X3421
	 MOV R4, #2                       ; byte Q'TY per page
	 MOV R0, #2CH                     ; Save data which Read from I2c Rom to 44h--48h unit  
X3121:   LCALL SHIN                       ; Read 8 time from rom
         MOV @R0, A
	 CJNE R4, #1, X3221
	 LCALL NAK
	 JMP X3321
X3221:   CALL ACK
         INC R0
	 DJNZ R4, X3121
X3321:   LCALL STOP
         CLR C
	 JMP X3521
X3421:   LCALL STOP
X3521:   RET   
/*************** 24c02 SDA, SCL start time sequence *************************************/       
START:   SETB SDA
         SETB SCL
	 JNB SDA, X40
	 JNB SCL, X40
	 NOP
	 CLR SDA
	 NOP
	 NOP
	 NOP
	 NOP
	 NOP
	 CLR SCL
	 CLR C
	 JMP X41
X40:     SETB C
X41:	 RET
/*************** 24c02 SDA, SCL stop time sequence *************************************/   
STOP:    CLR SDA
         NOP
	 NOP
	 SETB SCL
	 NOP
	 NOP
	 NOP
	 NOP
	 NOP
	 SETB SDA
	 RET
/*************** SDA, SCL initial *************************************/ 
I2CINIT: SETB SDA
         SETB SCL
	 RET
/*************** write a byte to SDA bus *************************************/
SHOUT:                          ; Shift out a byte to the 24c02, most significant bit first  
        PUSH B                  ; init B=#10
        MOV B, #8               ; 8 bit counter
	SETB SDA
X42: 	NOP
	NOP
        NOP
        NOP  
        RLC A                  ; move MSB bit to CY=1
        MOV SDA, C             ; output bit
	NOP                    ; enforce SCL low and data setup
	NOP
	SETB SCL
        NOP
	NOP
	NOP
	NOP
	CLR SCL
	DJNZ B, X42            ; next bit
	SETB SDA               ; release SDA for ACK
	NOP
	NOP
	SETB SCL
	NOP
	NOP
	NOP
	NOP
	MOV C, SDA
	CLR SCL
	POP B
	RET   
/*************** read a byte from SDA bus *************************************/
SHIN:                          ; Shift in a byte from the 24c02, most significant bit first
        SETB SDA               ; make SDA an input
        PUSH B
	MOV B, #8              ; bit counter
X43:	NOP
	NOP                    ; enforce SCL low and data setup
	NOP
	SETB SCL               ; raise clock
	NOP
	NOP                    ; enforce SCL high
	MOV C, SDA             ; input bit
	RLC A                  ; move bit into byte
	CLR SCL                ; drop clock
	NOP
	DJNZ B, X43            ; next bit
	POP B
	RET
/*************** 24c02 ACK response signal *************************************/   
ACK:                           ; clock out an acknowledge bit  
        CLR SDA                ; ACK bit
        NOP                    ; enforce SDA low and data setup
	NOP
	SETB SCL               ; clock raise
	NOP
	NOP                    ; enforce SCL high
	NOP
	NOP
	CLR SCL                ; drop clcok
	RET
/*************** 24c02 No ACK response signal *************************************/   
NAK:                           ; Clock out a negative acknowledge bit
        SETB SDA               ; NAK bit
        NOP                    ; enforce SDA low and data setup
	NOP
	SETB SCL               ; raise clock
	NOP
	NOP
	NOP                    ; enforce SCL high
	NOP
	CLR SCL                ; drop clcok
	RET

/*************** interrupt T0 *************************************/   
TIM0:  PUSH ACC
       PUSH PSW
       CLR ET0                     ; T0 intrrupt
       SETB RS0                    ; RS1 & RS0 select REG work group 1
       CLR RS1
       CLR TF0                     ; clear TF0 intrrupt flag
       CLR TR0                     ; stop T0/TR0
       MOV A, 4EH                  ; reload TL0 count
       MOV TL0, A                    
       MOV TH0, #0FFH
       
       MOV A, 30H                ; Counter value 30H--31H
       ADD A, #01H
       ;DA A
       MOV 30H, A
       JNC OVER
       MOV A, 31H
       ADD A, #01H
       ;DA A
       MOV 31H, A
       JNC OVER
OVER:  SETB TR0
       SETB ET0
       POP PSW
       POP ACC
       RETI    
/*************** interrupt T2 *************************************/       
TIM2:  PUSH ACC
       PUSH PSW
       CLR ET2                       ; T2 intrrupt
       CLR RS0                       ; RS1 & RS0 select REG work group 2
       SETB RS1
       CLR T2CON.7                      ; clear TF2 flag
       CLR T2CON.2                      ; Stop T2/TR2
       MOV TL2, #0CH         ; T2 50 ms timer #(65536-46068) mod 256
       MOV TH2, #4CH         ; T2 50 ms timer #(65536-46068) / 256
       SETB T2CON.2
       MOV A, 55H
       MOV R7, A
       DJNZ R7, EXIT0 
       MOV 55H, #20                
       CLR TF0              ; clear TF0 flag
       CLR TR0
       CLR ET0
       MOV R0, 27H          ; init value #70h in 27h
       MOV A, TL0
       CLR C
       SUBB A, 4EH
       MOV @R0, A
       MOV A, 4EH
       MOV TL0, A 
       MOV TH0, #0FFH
       INC R0
       MOV 27H, R0       

       MOV A, 30H
       MOV 30H, #00H
       MOV 57H, A
       MOV A, 31H
       MOV 31H, #00H
       MOV 58H, A
       SETB TR0
       SETB ET0 
       MOV A, 26H
       MOV R6, A
       DJNZ R6, RESTAT
       MOV 26H, #10                  ; counter 10 times
       MOV 27H, #70H                 ; save 10 pcs TL0 value
       JMP EXIT2  
RESTAT:MOV A, R6
       MOV 26H, A
       JMP EXIT2 
EXIT0: MOV A, R7
       MOV 55H, A
EXIT2: SETB ET2
       POP PSW
       POP ACC
       RETI              
/*************** RS232 interrupt T1/ ES *************************************/ 
UART:  PUSH ACC
       PUSH PSW
       SETB RS0               ; RS1 & RS0 select REG work group 3
       SETB RS1
       JBC RI, UART1
       LJMP RETURN
UART1: MOV A, SBUF
       MOV R1, 2EH
       MOV @R1, A
       INC 2EH
       MOV A, 2EH
       CJNE A, #3AH, RETURN           ;  send 5 byte
       MOV 2EH, #35H
RETURN:CLR TI
       POP PSW
       POP ACC
       RETI
/*************** 16*2 LCD initial *************************************/ 
Initial:MOV A, #38H                   ; 8 bit, 2 line, 5*8 matrix
	LCALL Write_instruction
	MOV A, #0CH                   ; screen on, cursor off, blink off
	LCALL Write_instruction
	MOV A, #06H                   ; +1, display off
	LCALL Write_instruction
        RET
CLS:    MOV A, #01H                   ; clear screen
	LCALL Write_instruction
	RET
/*************** 16*2 LCD time sequence *************************************/ 
Write_instruction:
	LCALL	CheckBusy
	CLR	RS              ; 0: instruction, 1: data
	CLR	R_W             ; 0: write 1: read
        CLR	E               ; 0~~~1: drop edge enable
	SETB	E               ; 1
	MOV	DB0_DB7,A
	CLR	E
	RET
WriteLCDData:
	LCALL	CheckBusy
	SETB	RS              ; 0: instruction; 1: data
	CLR	R_W             ; 0: write 1: read
        CLR	E
	SETB	E
	MOV	DB0_DB7,A       ; write A to LCD
	CLR	E
	RET
CheckBusy:
	PUSH	ACC
CheckBusyLoop:
	CLR	RS                  ;	0:instruction; 1: data;
	SETB	R_W                 ;   0: write; 1: read;                
	CLR	E                   ;   0~~~1: drop edge enable
	SETB	E                   ;   1
	MOV	A,DB0_DB7           ;   read P2 port
	CLR	E
	JB	ACC.7, CheckBusyLoop  ; is 1, it's busy, return to continous, is 0 idle! return to Write_instruction
	POP	ACC
	LCALL	DELAY0
	RET
PR_STRING:
	PUSH	ACC
PR_LOOP:CLR	A
	MOVC	A,@A+DPTR
	JZ	END_PR
	LCALL	WriteLCDData
	INC	DPTR
	LJMP	PR_LOOP
END_PR:	POP	ACC
	RET
/***********************************************************/	
DELAY0:MOV R3, #05
D1:    MOV R4, #248                ;delay 0.5ms
       DJNZ R4, $
       DJNZ R3, D1
       RET 

DELAY1:MOV R5,#02
D3:    MOV R6,#248
       DJNZ R6,$
       DJNZ R5,D3
       RET

DELAY2:MOV R5, #10       ; delay 2 s
D5:    MOV R3, #200      ; delay 100ms
D4:    MOV R4, #248      ;delay 0.5ms
       DJNZ R4, $
       DJNZ R3, D4
       DJNZ R5, D5
       RET 
Delay10ms:
         MOV R6, #20
TENMS:   MOV R7,#248
         DJNZ R7,$
         DJNZ R6, TENMS
         RET	
LINE1: DB "FREQ:", 00H
LINE2: DB ".", 00H
LINE3: DB "Over Range!", 00H
LINE5: DB "L-Limit:", 00H
LINE6: DB "H-Limit:", 00H
LINE7: DB "Fan Q'TY:", 00H
LINE8: DB "rpm", 00H
LINE9: DB "pcs  ", 00H
LINE10: DB "OK                ", 00H
LINE11: DB "                ", 00H
LINE12: DB "Error! Re-enter!", 00H
LINE13: DB "Select Function!", 00H
LINE14: DB "Save Result.....", 00H
TABLE:  DB 00H, 01H, 02H, 03H
        DB 04H, 05H, 06H, 07H
        DB 08H, 09H, 0AH, 0BH
	DB 0CH, 0DH, 0EH, 0FH
TABLE1: DB 3CH, 0E4H, 0C8H, 0ACH
        DB 90H, 74H, 58H, 3CH
        DB 20H, 04H

        END




/*   BIN2BCD3:     CLR A 
     MOV 60h,A
     MOV 61h,A
     MOV 62h,A
     MOV R2,#10H                    
HB3: MOV A,40H                   
     RLC A
     MOV 40H,A
     MOV A,41H
     RLC A
     MOV 41H,A
     MOV A,62H 
     ADDC A,62H
     DA A 
     MOV 62H,A
     MOV A,61H
     ADDC A,61H
     DA A
     MOV 61H,A
     MOV A,60H
     ADDC A,60H
     MOV 60H,A 
     DJNZ R2,HB3 */

     
/*     商為單字節(jié)
       MOV    R0,     22H
       MOV    R1,     23H
       MOV    R4,     4FH
       MOV    R6,     #08H
CHU4:  MOV    A,     R0
       ADD    A,    R0
       MOV    R0,    A
       ADDC    A,    R1
       MOV    R1,    A
       SUBB    A,    R4
       JC    C,    CHU41
       MOV    R1,    A
       INC    R0
CHU41: DJNZ    R6,     CHU4

商為雙字節(jié)

        MOV    R0,     22H
        MOV    R1,     23H
        MOV    R2,     #00H
        MOV    R3,     4FH
        MOV    R4,     #00H
        MOV    R5,     #00H
        MOV    R6,     #10H
CHU5:   MOV    A,     R0
        ADD    A,    R0
        MOV    R0,    A
        MOV    A,    R1
        ADDC    A,    R1
        MOV    R1,    A
        MOV    A,    R2
        ADDC    A,    R2
        MOV    R2,    A
        MOV    A,    R4         ;商數(shù)左移
        ADD    A,    R4
        MOV    R4,    A
        MOV    A,    R5
        ADDC    A,    R5
        MOV    R5,    A
	MOV A, R2
        CJNE    A,     4FH,    CHU50
CHU50:  JC     CHU51
        MOV    A,    R2         ; 建立新的余數(shù)
        SUBB    A,    R3
        MOV    R2,    A
        MOV    A,    R4
        ADD    A,    #01H
        MOV    R4,    A
        MOV    A,    R5
        ADDC    A,     #00H
        MOV    R5,   A
CHU51:  DJNZ    R6,     CHU5
        MOV 43H, R2
	MOV 24H, R4
	MOV 25H, R5  
*/

/*
;商為單字節(jié);;Input:  被除數(shù)放在R0,R1 R0放被除數(shù)低字節(jié),除數(shù)放在R4,R7為字節(jié)長(zhǎng)度
;OutPut: 商數(shù)慶在R0中,余數(shù)放在R1中
CHU4:   MOV    A,     R0
        ADD    A,    R0
        MOV    R0,    A
        ADDC    A,    R1
        MOV    R1,    A
        SUBB    A,    R4
        JC    CHU41
        MOV    R1,    A
        INC    R0
CHU41:  DJNZ    R7,     CHU4

        MOV B, R1
        MOV A, R0
	SWAP A
	DA A
	MOV 43H, A
        MOV A, B
	MOV B,#10         
        MUL AB
        MOV    R0,     A
        MOV    R1,     B
	MOV A, 4FH
        MOV B, #10
        MUL AB
        MOV    R4,     A
       ;MOV 2FH, B          ;MSB NO USED
        MOV    R6,     #08H
CHU42:  MOV    A,     R0
        ADD    A,    R0
        MOV    R0,    A
        ADDC    A,    R1
        MOV    R1,    A
        SUBB    A,    R4
        JC    CHU43
        MOV    R1,    A
        INC    R0
CHU43:  DJNZ    R6,     CHU42        
        MOV A, R0
	DA A
        ORL A, 43H
	DA A
        MOV 43H, A
*/      

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美不卡一区二区三区四区| 三级亚洲高清视频| 久久人人97超碰com| 制服.丝袜.亚洲.中文.综合| 欧美亚洲尤物久久| 97久久超碰国产精品| 欧美剧在线免费观看网站| 91免费版在线看| 99久久综合狠狠综合久久| 国产98色在线|日韩| 国产精品一区二区黑丝| 国产在线精品一区二区三区不卡| 美女一区二区三区| 蜜臀av一区二区| 久久电影网电视剧免费观看| 美女视频黄久久| 精品一区二区在线免费观看| 另类小说视频一区二区| 毛片不卡一区二区| 狠狠色丁香久久婷婷综| 国内精品国产三级国产a久久| 激情av综合网| 国产成人免费av在线| 风间由美性色一区二区三区| 国产盗摄一区二区三区| av电影一区二区| 91丝袜国产在线播放| 欧美亚洲愉拍一区二区| 91精品午夜视频| 精品成人一区二区三区| 久久精品综合网| 国产精品女主播av| 一区二区三区在线免费视频| 亚洲大片免费看| 麻豆91精品91久久久的内涵| 国产精品1区二区.| 91在线观看成人| 欧美日韩国产成人在线91| 精品少妇一区二区三区在线视频| 国产亚洲女人久久久久毛片| 中文字幕一区二区三区蜜月 | 欧美日韩一级黄| 91亚洲男人天堂| 制服丝袜亚洲网站| 日韩精品一区二区三区视频在线观看 | 91国产免费看| 欧美日韩一卡二卡三卡| 欧美精品在线视频| 日韩美女视频在线| 国产丝袜欧美中文另类| 国内精品视频666| 日韩精品成人一区二区在线| 美女视频黄 久久| 岛国精品在线观看| 91色综合久久久久婷婷| 欧美日韩国产一二三| 欧美一级久久久久久久大片| 欧美变态凌虐bdsm| 国产日韩欧美综合在线| 亚洲手机成人高清视频| 亚洲高清一区二区三区| 久久电影网电视剧免费观看| 风流少妇一区二区| 日本精品视频一区二区三区| 国产尤物一区二区| 成人激情免费电影网址| 在线播放欧美女士性生活| 精品国精品自拍自在线| 国产精品久久一卡二卡| 午夜国产精品影院在线观看| 九九国产精品视频| 成人免费观看视频| 日韩欧美激情在线| 中文字幕一区二区三区在线观看 | 欧美午夜影院一区| 亚洲精品一区二区三区香蕉 | 欧美成人女星排行榜| 国产女主播一区| 日韩av一区二区三区| av电影天堂一区二区在线| 欧美一区二区三区免费在线看| 国产日产亚洲精品系列| 亚洲成人av一区二区三区| 国产精品一级在线| 91 com成人网| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 欧美一区二区在线免费播放| 中文一区二区完整视频在线观看| 婷婷丁香激情综合| 成人黄色在线网站| www一区二区| 午夜精品一区二区三区免费视频| 成人免费视频国产在线观看| 欧美美女黄视频| 亚洲欧美日韩国产综合| 国产乱人伦精品一区二区在线观看| 在线精品国精品国产尤物884a| 久久精品视频在线看| 日本视频一区二区| 在线视频国产一区| 国产精品美女久久久久久| 麻豆91在线观看| 欧美日韩三级一区| 一区视频在线播放| 国产成人av资源| 欧美精品一级二级三级| 久久久久久99精品| 国产一区二区美女诱惑| 欧美日韩色综合| 一区二区三区鲁丝不卡| 91香蕉视频mp4| 国产精品伦一区| 国产精品系列在线观看| 精品日韩在线一区| 日本不卡一区二区三区| 欧美日韩中文字幕一区二区| 亚洲日本va在线观看| 黄色小说综合网站| 色综合久久久久综合体| 中文字幕不卡一区| 粉嫩一区二区三区在线看| 国产亚洲精品7777| 国产最新精品免费| 亚洲精品一区二区三区精华液| 久久国产精品色| 欧美刺激午夜性久久久久久久| 男女性色大片免费观看一区二区| 欧美年轻男男videosbes| 亚洲国产精品久久久男人的天堂 | 欧美日韩高清一区二区三区| 亚洲成人av在线电影| 在线不卡中文字幕播放| 亚洲成人av一区| 56国语精品自产拍在线观看| 日韩不卡免费视频| 日韩一区二区三区观看| 美国av一区二区| 精品美女在线播放| 国产在线视频一区二区三区| 久久久久97国产精华液好用吗| 精东粉嫩av免费一区二区三区| 国产日韩精品一区二区三区| 成人午夜私人影院| 亚洲人成人一区二区在线观看| 一本久道中文字幕精品亚洲嫩| 亚洲一区二区在线免费观看视频| 欧美午夜电影在线播放| 亚洲.国产.中文慕字在线| 91精品国产免费久久综合| 奇米影视7777精品一区二区| 久久在线观看免费| 懂色av一区二区夜夜嗨| 亚洲美腿欧美偷拍| 欧美精品久久天天躁| 午夜久久久影院| 精品国产99国产精品| gogo大胆日本视频一区| 亚洲香肠在线观看| 精品国产人成亚洲区| 成人黄页毛片网站| 午夜视频一区在线观看| 2欧美一区二区三区在线观看视频| 久久99国产精品尤物| 国产日韩欧美一区二区三区综合| 91啦中文在线观看| 日本中文字幕一区| 亚洲天堂中文字幕| 91精品国产一区二区三区| 国产夫妻精品视频| 亚洲精品国久久99热| 欧美一区二区三区在线| 大胆欧美人体老妇| 五月天激情综合网| 日本不卡免费在线视频| 欧美国产丝袜视频| 日本黄色一区二区| 国产成人免费在线视频| 亚洲国产成人tv| 欧美激情一区二区三区不卡 | 久久影院视频免费| 在线观看亚洲a| 国产一区日韩二区欧美三区| 一区二区三区日韩精品视频| 久久综合久久鬼色| 欧美日韩亚洲综合一区二区三区| 国产精品一区二区视频| 亚洲制服丝袜在线| 亚洲欧洲韩国日本视频| 日韩午夜在线影院| 一本一道久久a久久精品| 久久国产综合精品| 亚洲一级在线观看| 国产精品婷婷午夜在线观看| 91麻豆精品国产91久久久更新时间 | 国产日韩精品视频一区| 欧美一级欧美三级| 欧美色窝79yyyycom| av激情成人网| 国产一区二区h| 丝瓜av网站精品一区二区|