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

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

?? fantest.asm

?? 用匯編語言寫的風扇轉速測試程序,用于轉速測試,傳感器用KEYENCE
?? ASM
?? 第 1 頁 / 共 4 頁
字號:
T2CON      EQU 0C8H                  ; SFR reg addr for T2 control word, TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2 
T2MOD      EQU 0C9H                  ; SFR reg addr for T2 setup word, GATE C/T M1 M2   
TL2        EQU 0CCH                  ; SFR reg addr
TH2        EQU 0CDH                  ; SFR reg addr
ET2        BIT 0A8H.5                ; ET2 for T2 intrrupt bit ET2=1 set intrrupt  
DADDR      EQU  0A0H                 ;fixed addr for 24cxx '10100000' write '0'
PADDR      EQU  0                    ;programable addr from 0~7 for 24c02
FILL       EQU  53H                  ; save data address for 24c02
RS	   BIT	P1.2                 ; LCD RS=0 for send instruction, RS=1 for send data
R_W	   BIT	P3.6                 ; LCD RW=1 for read, RW=0 for write
E          BIT	P3.7                 ; LCD ENABLE   
DP         BIT  P3.3                 ; LCD BACKLIGHT              
INP        BIT  P3.2                 ; KEY IN port      
BTN        BIT  P1.0                 ; START BUTTON port
SCL        BIT  P1.1                 ; 24c02 scl pin 
SDA        BIT  P1.3                 ; 24c02 sda pin
DB0_DB7    DATA	0A0H                 ; P1=90H, P2=A0H

           ORG  0B0H                  ; stack origin  (high 128 byte for at89c52)
stack:     DS   40H                  ; stack depth
  
       ORG 0000H
       LJMP START0
       ORG 000BH                     ; T0 intrrupt
       LJMP TIM0
       ORG 0023H                     ; for RS232 intrrrupt
       LJMP UART
       ORG 002BH                     ; T2 interrupt 
       LJMP TIM2
       
START0:MOV SP, #(stack-1)            ; stack pointer 
       CLR P0.0                      ; LED1 off
       CLR P0.1                      ; LED2 off
       CLR P0.2                      ; LED3 off 
/**********************************************************************/    
CLEAR: MOV R4, #7FH
       MOV R0, #00H                  ; clear Reg buf become #00H from 00H to 7FH. 
CLS1:  MOV @R0, #00H 
       INC R0
       DJNZ R4, CLS1 
/************************************************************/
       CLR DP                        ; Backlight display on
       LCALL Initial                 ; LCD INIT
       LCALL CLS                     ; LCD CLEAR                               
       MOV	A,#80H	             ; set the address
       LCALL	Write_instruction    ; INSTRUCTION
       MOV	DPTR,#LINE1          ; Display "FREQ:"
       LCALL	PR_STRING
       MOV	A,#8AH	             ; set the address
       LCALL	Write_instruction
       MOV	DPTR,#LINE2          ; Display "."
       LCALL	PR_STRING
/*************** Display last display freq value ********************/
       LCALL I2CINIT
       LCALL VERIFY_PAGE_SAVE
       MOV	A,#85H	             ; set the address
       LCALL	Write_instruction
       MOV R1, #68H                  
       MOV R2, #05
PLAB:  MOV A, @R1
       ORL A, #30H
       LCALL WriteLCDData
       DEC R1
       DJNZ R2, PLAB
/*************** Display last display freq value (dot) **************/
       LCALL I2CINIT
       LCALL VERIFY_PAGE_SAVE1
       MOV A, #8BH                 ; display freq
       LCALL Write_instruction
       MOV A, 2DH
       ORL A, #30H
       LCALL WriteLCDData
       MOV A, 2CH
       ORL A, #30H
       LCALL WriteLCDData
/*************** Display rpm *****************************************/
       MOV	A,#8DH	             ; set the address
       LCALL	Write_instruction
       MOV	DPTR,#LINE8          ; Display "rpm"
       LCALL	PR_STRING
       MOV	A,#85H	             ; set the address, CUROR POINTER TO #85H
       LCALL	Write_instruction
/*************** Display H limit value *******************************/
        LCALL I2CINIT
	LCALL VERIFY_PAGE_HI
	MOV A, #0C0H                  ;    DISPLAY "H Limit"
        LCALL Write_instruction
	MOV DPTR, #LINE6
	LCALL	PR_STRING
	MOV A, #0C8H                  ; DISPLAY 48H--44H
        LCALL Write_instruction
	MOV R0, #48H
	MOV R2, #5
SCREEN:	MOV A, @R0
	ORL A, #30H
	LCALL	WriteLCDData 
	DEC R0
	DJNZ R2, SCREEN 
	MOV A, #0CDH                  ; DISPLAY "rpm"  
        LCALL Write_instruction
	MOV DPTR, #LINE8
	LCALL	PR_STRING
	LCALL DELAY2
	MOV A, #0C0H
        LCALL Write_instruction
	MOV DPTR, #LINE11
	LCALL	PR_STRING
/*************** Display L limit value *******************************/
	LCALL VERIFY_PAGE_LO
        MOV A, #0C0H                             ; DISPLAY "L Limit"
        LCALL Write_instruction
	MOV DPTR, #LINE5
	LCALL	PR_STRING
	MOV A, #0C8H                             ; DISPLAY 4DH--49H
        LCALL Write_instruction
        MOV R0, #4DH
	MOV R2, #5
SCREN1:	MOV A, @R0
	ORL A, #30H
	LCALL	WriteLCDData 
	DEC R0
	DJNZ R2, SCREN1	
	MOV A, #0CDH                             ; DISPLAY "rpm"  
        LCALL Write_instruction
	MOV DPTR, #LINE8
	LCALL	PR_STRING
	LCALL DELAY2
	MOV A, #0C0H
        LCALL Write_instruction
	MOV DPTR, #LINE11
	LCALL	PR_STRING
/*************** Display Fan Q'ty value ******************************/
	LCALL I2CINIT
        LCALL VERIFY_BYTE_FILL
        MOV A, #0C0H                         ; DISPLAY "FAN Q'TY"                       
        LCALL Write_instruction                        
	MOV DPTR, #LINE7
	LCALL	PR_STRING
	MOV A, #0C9H                               ; DISPLAY 4FH unit value                  
        LCALL Write_instruction	
	MOV A, 4FH                                
	ORL A, #30H                            
	LCALL WriteLCDData
	MOV A, #0CAH                            ; DISPLAY "PCS"                        
        LCALL Write_instruction
	MOV DPTR, #LINE9
	LCALL	PR_STRING
	LCALL DELAY2
	MOV A, #0C0H
        LCALL Write_instruction
	MOV DPTR, #LINE11
	LCALL	PR_STRING
/*************** initial *************************************************************************/
SETUP: LCALL I2CINIT
       LCALL VERIFY_BYTE_FILL
       MOV A, 4FH
       MOV DPTR, #TABLE1
       MOVC A, @A+DPTR
       MOV 4EH, A                    ; TL0 SBUF
       MOV 32H, #0FFH                ; Key Buff 
       MOV 2EH, #35H                 ; UART BUFF
       SETB 20H.0                    ; Enter & Quit Key and Fun & Num control bit
       CLR 20H.1                     ; Fun Key & Num Key control bit
       MOV SCON, #50H                ; set rs232 mode 1, 10 bit transfer, receive REN interrupt enable
       MOV TMOD, #25H                ; set T0 for extenral counting, T1 mode2 for rs232 baud generator, 8 bit auto-reload
       MOV TL1, #0FDH                ; rs232 baud rate 9600
       MOV TH1, #0FDH 
       MOV T2CON, #01H               ; T2 for 16 bit timer for interrupt display
       MOV T2MOD, #00H               ; T2 for upper timer
       MOV TL2, #(65536-46080) MOD 256    ; T2 50 ms timer #(65536-46080) mod 256, (50ms=1.0850694*46080) 
       MOV TH2, #(65536-46080)/256        ; T2 50 ms timer #(65536-46080) / 256  
       MOV A, 4EH
       MOV TL0, A                    ; input 7 time/count       
       MOV TH0, #0FFH 
       ANL PCON, #7FH                ; baud rate not double
      ; MOV IP, #20H                 ; T2 port interrupt prior
       MOV IP, #10H                  ; RS232 port interrupt prior
       MOV 55H, #20                 ; TIMER=50*20=1000ms
       MOV 26H, #10                  ; counter 10 times
       MOV 27H, #70H                 ; save 10 pcs TL0 value
       SETB EA                       ; EA
       SETB ES                       ; ES rs232 interrupt enable
       SETB TR1                      ; START T1, serial baud generator start
       SETB ET0                      ; T0 interrupt enable
       SETB ET2                      ; T2 interrupt enable
       SETB T2CON.2                  ; START T2, 1 s timer  start, TR2
       SETB TR0                      ; START T0, counting  start 
/*************** main programing start ***********************************************************/         
MAIN:   MOV A, 35H                 ; SERIAL RECEIVE
        CJNE A, #0A5H, MAIN0
	MOV A, 36H
	CJNE A, #5AH, MAIN0
        MOV A, 37H                 ; SERIAL RECEIVE
        CJNE A, #55H, MAIN0
	MOV A, 38H
	CJNE A, #5AH, MAIN0
	MOV A, 39H
	CJNE A, #0A5H, MAIN0
	JMP MAIN1
MAIN0:  JB BTN, MAIN                ; WHETHER START?
        LCALL DELAY0                 
        JNB BTN, $                  ; eliminate brounce 
MAIN1:  LCALL HANDE
        LCALL RANGE
        LCALL DISP
	LCALL GETKEY	
        LCALL PRESS
	LCALL HILIMIT
        LCALL LOLIMIT
	LCALL GREENLED
	LCALL SEND                 ; SEND count value
        LJMP MAIN1
/*************** Data acquisition math (57h58h*28cycle)*******************************************/
HANDE: MOV A, 57H               ; 57h58h*28+56h/4Fh=42h41h40h.43h         
       MOV B, #28               ; if vane=9, then 1 times T0 interrupt, stand for 252/9=28 cycle                   	
       MUL AB                   ; 28*57h=cycle                            	
       MOV 40H, A                         	
       MOV 41H, B
       MOV A, 58H
       MOV B, #28                        	
       MUL AB                             	
       ADD A, 41H                         	
       MOV 41H, A                        	
       MOV A, B
       ADDC A, #0
       MOV 42H, A 
/***************  (40h41h42h*60cycle/minute)******************************************************/       
MUL60: MOV A,40H
       MOV B, #60
       MUL AB
       MOV 6CH, A
       MOV 6DH, B
       MOV A, 41H
       MOV B, #60
       MUL AB
       ADD A, 6DH
       MOV 6DH, A
       MOV A, B
       ADDC A, #0
       MOV 6EH, A
       MOV A, 42H
       MOV B, #60
       MUL AB
       ADD A, 6EH
       MOV 6EH, A
       MOV A, B
       ADDC A, #0
       MOV 6FH, A             ;LOST 6FH
       MOV A, 6CH
       MOV 40H, A
       MOV A, 6DH
       MOV 41H, A
       MOV A, 6EH
       MOV 42H, A
       MOV A, 6FH
       MOV 44H, A            ; LOST 44H
/*************** Data process from TL0 (70h-79h=0?)*******************************************/
/*     MOV R0, #70H
       MOV R3, #10
SUMAD0:MOV A, @R0
       CJNE A, #00H, SUMADD
       INC R0
       DJNZ R3, SUMAD0
       MOV 43H, #00H
       LJMP SUMADD1 */
/*************** Data process from TL0 (70h+71h+72h...79h=21h22h)*****************************/
SUMADD:MOV 21H, #00H
       MOV 22H, #00H
       CLR C
       MOV R0, #70H             ;TL0=70H
       MOV R4, #10
ADD0:  MOV A, @R0
       ADD A, 21H
       MOV 21H, A
       JNC ADD1
       MOV A, 22H
       ADD A, #01H
       MOV 22H, A
ADD1:  INC R0
       DJNZ R4, ADD0 
/*************** Data process from TL0 (21h22h*60=28h29h2ah)*********************************/  
       MOV A, 21H               ; 57h58h*28+56h/4Fh=42h41h40h.43h         
       MOV B, #60               ; if vane=9, then 1 times T0 interrupt, stand for 252/9=28 cycle                   	
       MUL AB                   ; 28*57h=cycle                            	
       MOV 28H, A                         	
       MOV 29H, B
       MOV A, 22H
       MOV B, #60                        	
       MUL AB                             	
       ADD A, 29H                         	
       MOV 29H, A                        	
       MOV A, B
       ADDC A, #0
       MOV 2AH, A
/*************** Data process from TL0 {28h29h2ah/(4fh*10)=23h24h25h}商為三字節 **************/ 
       MOV     R0,    28H
       MOV     R1,    29H
       MOV     R2,    2AH
       MOV     A,     4FH
       MOV     B,     #10
       MUL     AB
       MOV     R4,    A
       ;MOV     2FH,   B           ; LOST NO USED
       MOV     R3,     #00H        ; R3存放被除數擴充位,也是余數存放數
       MOV     23H,    #00H        ; LSB 商
       MOV     24H,    #00H
       MOV     25H,    #00H        ; MSB 商            
       MOV     R7,    #18H
CHU6:  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,    R3
       ADDC     A,    R3
       MOV     R3,    A
       MOV     A,    23H;    商數左移
       RLC    A
       MOV     23H,    A
       MOV     A,    24H
       RLC    A
       MOV     24H,    A
       MOV     A,    25H
       RLC    A
       MOV     25H,    A
       MOV     A,    R3
       SUBB     A,    R4
       JC    CHU61
       MOV     R3,    A
       INC     23H
       AJMP     CHU62
CHU61: ADD     A,    R4
CHU62: DJNZ     R7,    CHU6
       MOV 43H, R3          ; 存入余數
/*************** Data process from TL0 43h*10/10+  小數處理***********************?*************/     
       MOV A, 43H
       MOV B, 4FH
       DIV AB
       SWAP A
       ANL A, #0F0H
       MOV 43H, A
       MOV A, B
       MOV B, #10
       MUL AB
       MOV B, 4FH
       DIV AB
       ANL A, #0FH       
       ORL A, 43H
       MOV 43H, A
/*************** Data process 23h+40h,24h+41h,25h+42h ***************/
SUMADD1:MOV A, 23H
	ADD A, 40H
        MOV 40H, A
        MOV A, 24H
        ADDC A, 41H
        MOV 41H, A
        MOV A, 25H
        ADDC A, 42H
        MOV 42H, A
	MOV A, 44H
	ADDC A, #0
	MOV 44H, A    ;44H LOST, NO USED

/*************** Data process from 2 BIN trans to 3 BCD *************/     
BIN3BCD4: MOV R0, #60H 
          MOV R6, #4
 	  CLR A
BCD0:     MOV @R0, A
	  INC R0
	  DJNZ R6, BCD0
          MOV R6, #24
BCD1:     MOV R1, #40H
          MOV R5, #3
	  CLR C
BCD2:     MOV A, @R1
          RLC A
          MOV @R1, A
          INC R1
          DJNZ R5, BCD2
          MOV R4, #4
          MOV R0, #60H
BCD3:     MOV A, @R0
          ADDC A, @R0
          DA A
          MOV @R0, A
          INC R0
          DJNZ R4, BCD3
          DJNZ R6, BCD1
	  MOV R0, #00H
	  MOV R1, #00H

          MOV R1, #64H                   ;64h--68h display value      
          MOV A, 60H
          MOV B, #10H
          DIV AB
          MOV @R1, B                     ;64H           
          INC R1
          MOV @R1, A                     ;65H
          INC R1
          MOV A, 61H
          MOV B, #10H
          DIV AB
          MOV @R1, B                     ;66H
          INC R1
          MOV @R1, A                     ;67H
          INC R1
          MOV A, 62H
          MOV B, #10H
          DIV AB
          MOV @R1, B                      ; 68H
          INC R1
          MOV @R1, A                      ; 69H
          INC R1
          MOV A, 63H
          MOV B, #10H
          DIV AB
          MOV @R1, B                      ; 6AH
          INC R1
          MOV @R1, A                      ; 6BH 
          MOV A, 43H
          MOV B, #10H
          DIV AB
          MOV 2CH, B                      ; 2CH     
          MOV 2DH, A                      ; 2DH 
          RET
/*************** check if over ranage *************************************/  
RANGE: MOV R1, #6BH
       MOV R3, #3       
RANG1: MOV A, @R1
       CJNE A, #00H, UPPER
       DEC R1
       DJNZ R3, RANG1
       JMP RANG2 
UPPER: MOV A,#0C0H	             ; set the address
       LCALL Write_instruction       ; INSTRUCTION
       MOV DPTR,#LINE3               ; Display "Over Test Range!"
       LCALL PR_STRING 
       MOV R0, #67H                  ; display "9999.99"
       MOV R4, #04
       MOV A, #09H
       MOV 2CH, A
       MOV 2DH, A
RANG3: MOV @R0, A
       DEC R0
       DJNZ R4, RANG3
RANG2: RET
/*************** display read value*****************************************/ 
DISP:	MOV A, #8BH                 ; display freq
        LCALL Write_instruction
	MOV A, 2DH
        ORL A, #30H
        LCALL WriteLCDData
	MOV A, 2CH
        ORL A, #30H
        LCALL WriteLCDData
	MOV A, #85H                 ; display freq
        LCALL Write_instruction

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av福利精品导航| www亚洲一区| 国产精品久久久久永久免费观看| 欧美成人一区二区| 国产精品久久久久国产精品日日| 午夜久久久影院| thepron国产精品| 欧美精品一区二区三区一线天视频| 亚洲欧洲综合另类在线| 韩国精品久久久| 9191精品国产综合久久久久久| 亚洲天堂成人在线观看| 国产成人三级在线观看| 亚洲精品在线观看网站| 日本午夜精品一区二区三区电影| 色成人在线视频| 亚洲婷婷综合色高清在线| 国产一区二区伦理片| 亚洲精品一区二区三区影院 | 精品视频一区二区不卡| 国产精品久久久久aaaa| 国产不卡视频在线观看| 久久久久久久久蜜桃| 亚洲自拍偷拍网站| 91看片淫黄大片一级| 国产精品女同一区二区三区| 国产精品自拍av| 久久久高清一区二区三区| 韩国av一区二区三区四区| 精品国精品国产尤物美女| 蜜桃在线一区二区三区| 日韩一区二区三区四区| 毛片av一区二区| 日韩欧美成人一区| 国产原创一区二区三区| 国产三级一区二区三区| 成人妖精视频yjsp地址| 亚洲精品免费在线| 一区二区三区日韩| 国产精品嫩草影院com| 欧美性一二三区| 亚洲一区在线播放| 首页国产欧美日韩丝袜| 麻豆精品一区二区综合av| 99精品欧美一区二区三区综合在线| 成人av网址在线| 亚洲久本草在线中文字幕| 91美女精品福利| 亚洲精品国产a久久久久久 | 国产精品久久久久久久久久免费看| 国产精品一级在线| 亚洲天天做日日做天天谢日日欢| 一本一道久久a久久精品 | 精品午夜久久福利影院| 国产午夜精品久久久久久免费视 | 国产色综合一区| 99久久免费国产| 亚洲va在线va天堂| 成人一区二区三区在线观看| 免费在线观看视频一区| 日韩主播视频在线| 国产一区二区三区免费看| 国产欧美日韩视频一区二区| 91丨九色丨国产丨porny| 亚洲午夜免费视频| 精品国产一区二区在线观看| 99久久久久久99| 亚洲v精品v日韩v欧美v专区 | 亚洲免费观看在线视频| 制服视频三区第一页精品| 国产成人亚洲综合a∨婷婷| 亚洲欧美二区三区| 精品久久一区二区| 欧美在线不卡视频| 国产精品911| 日韩黄色小视频| 国产精品国模大尺度视频| 91精品久久久久久久91蜜桃| 成人午夜短视频| 免费欧美在线视频| 亚洲麻豆国产自偷在线| 久久久久久久网| 91精品国产综合久久婷婷香蕉| 福利一区二区在线| 久久精品国产成人一区二区三区| 亚洲色图都市小说| 久久精品亚洲精品国产欧美| 欧美日韩精品福利| 91视频.com| 成人免费高清在线观看| 免费观看91视频大全| 亚洲一区中文在线| 国产精品盗摄一区二区三区| 久久人人97超碰com| 欧美日韩成人在线一区| 91搞黄在线观看| 91亚洲精华国产精华精华液| 国产经典欧美精品| 韩国毛片一区二区三区| 免费的国产精品| 日本vs亚洲vs韩国一区三区二区| 亚洲精品国产a| 亚洲美女电影在线| 1区2区3区精品视频| 中文乱码免费一区二区| 欧美精品一区二区在线播放| 日韩精品综合一本久道在线视频| 欧美日韩在线电影| 欧美日韩精品久久久| 欧美日韩中文国产| 欧美日韩一区中文字幕| 欧美日韩精品三区| 欧美日韩国产大片| 欧美日韩高清在线| 91精品久久久久久久91蜜桃| 777色狠狠一区二区三区| 欧美酷刑日本凌虐凌虐| 欧美日韩国产bt| 日韩一区二区麻豆国产| 日韩一级黄色大片| 久久免费国产精品| 国产视频一区不卡| 亚洲欧美一区二区在线观看| 亚洲色图视频网| 亚洲地区一二三色| 蜜臀av一区二区在线免费观看| 麻豆国产精品视频| 国产大片一区二区| 91在线观看成人| 欧美日韩日本视频| 日韩精品一区二区三区视频播放| 精品美女在线播放| 日本一区二区三区在线观看| 一区二区三区日韩欧美| 亚洲无线码一区二区三区| 天堂久久一区二区三区| 韩国三级电影一区二区| 粉嫩欧美一区二区三区高清影视| 91在线视频网址| 欧美片在线播放| 精品国产a毛片| 亚洲精品成人在线| 六月丁香婷婷色狠狠久久| 国产精品456| 在线视频中文字幕一区二区| 欧美一区二区三区免费在线看| 久久免费美女视频| 亚洲综合偷拍欧美一区色| 蓝色福利精品导航| 99免费精品视频| 欧美一区二区精品| 综合自拍亚洲综合图不卡区| 日日夜夜精品免费视频| 成人性生交大合| 91麻豆精品国产91久久久| 国产精品你懂的在线| 日韩av一级片| 色屁屁一区二区| 精品国产凹凸成av人导航| 亚洲女人****多毛耸耸8| 美女爽到高潮91| 色婷婷综合五月| 国产喂奶挤奶一区二区三区| 亚洲国产精品一区二区久久恐怖片 | 一区二区三区欧美日| 久久精品国产亚洲aⅴ| 在线视频欧美区| 国产精品免费看片| 精品一区二区三区在线视频| 欧美性生活久久| 亚洲欧美激情一区二区| 国产一区二区三区国产| 8v天堂国产在线一区二区| 亚洲欧美电影院| hitomi一区二区三区精品| 精品99久久久久久| 免费看欧美女人艹b| 欧美视频精品在线| 亚洲欧洲综合另类在线| 成人一二三区视频| 久久久美女艺术照精彩视频福利播放| 五月天一区二区三区| 91国偷自产一区二区三区观看| 亚洲国产精品99久久久久久久久 | 亚洲午夜激情网页| 91在线无精精品入口| 中文文精品字幕一区二区| 九九九久久久精品| 日韩欧美亚洲国产另类| 青青草97国产精品免费观看| 欧美性做爰猛烈叫床潮| 亚洲一区二区三区中文字幕在线 | 精品视频免费看| 亚洲一二三四在线| 欧美在线观看视频一区二区 | 亚洲成人资源在线| 91福利国产精品| 亚洲一级二级三级在线免费观看| 在线观看欧美黄色| 一区二区免费在线播放|