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

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

?? lcfmet737.asm

?? FCL 元件數字測試儀
?? ASM
?? 第 1 頁 / 共 3 頁
字號:
        bsf RSLINE,4        ; set RS for data send
        call BIN2DEC
        call CHECKNANO

        call SHOWITALL

        movlw 'u'
        movf LARGE,F
        btfss STATUS,Z
        goto CAP2

        movlw 'n'
        movf NANO,F
        btfsc STATUS,Z
        movlw 'p'
CAP2:   call LCDOUT
        movlw 'F'
        call LCDOUT
        movlw ' '
        call LCDOUT
        movlw ' '
        call LCDOUT
        movlw ' '
        call LCDOUT
        movlw ' '
        goto MAIN

; **************

LARGEVALUE:
        clrf TIMEOUT
        incf LARGE,F
        movlw %00000000     ; stop timer 1
        movwf T1CON
        clrf TMR1L          ; reset timer 1
        clrf TMR1H
        bcf PIR1,0          ; clear timer rollover flag

        movf PORTB,W        ; get current status of RB6
        andlw %01000000
        movwf STORE         ; store it

        clrf SLOWIT
        bsf T1CON,0         ; start timer 1

WAITB1:
        movf PORTA,W
        andlw %00010000
        xorwf SWITCH,W
        btfss STATUS,Z
        return

WAITB2: movf PORTB,W        ; get current status of RB6
        andlw %01000000
        movwf STORE2        ; temp store it

        xorwf STORE,W       ; compare with prev val of RB6
        btfsc STATUS,Z      ; is it equal?
        goto WAITB1         ; yes
        movf STORE2,W       ; no, different, so store val
        movwf STORE

        call OSCILLATE      ; get timing between two changes of RB6 (1 full cycle)
        btfsc TIMEOUT,0
        return

        call COPY_TIME_REGA
        movlw 122
        call MULTIPLYSMALL  ; REGA * 122 -> REGA multiply freq x 122 to get time re 3.2768MHz xtal (1000000/819200 =1.22)

        movlw 100           ; divide by 100
        call DIVIDESMALL    ; REGA / 100 -> REGA

        call COPY_REGA_REGB ; copy answer into REGB
        call DIVIDEBILLION  ; 1,000,000,000 / REGB -> REGA 

        movf REGA0,W        ; copy answer back into TIMER
        movwf TMR1L
        movf REGA1,W
        movwf TMR1H
        movf REGA2,W
        movwf TIMEMSB
        movlw 4
        movwf POINT
        return

; ***********

CHECKNANO: clrf NANO
        movf DIGIT1,W
        iorwf DIGIT2,W
        iorwf DIGIT3,W
        iorwf DIGIT4,W
        iorwf DIGIT5,W
        iorwf DIGIT6,W
        andlw %00001111
        btfsc STATUS,Z
        return
        bsf NANO,0
        movlw 4
        movwf POINT
        return

; ***********

CHECKMILLI: clrf NANO
        movf DIGIT1,W
        iorwf DIGIT2,W
        iorwf DIGIT3,W
        iorwf DIGIT4,W
        iorwf DIGIT5,W
        andlw %00001111
        btfsc STATUS,Z
        return
        bsf NANO,0
        movlw 7
        movwf POINT
        return

; *************

CALIBCAP: movf REGA0,W
        movwf CAPREF0
        movf REGA1,W
        movwf CAPREF1
        movf REGA2,W
        movwf CAPREF2
        movf REGA3,W
        movwf CAPREF3
        call SHOWCALIB
        return

CALIBIND: movf REGA0,W
        movwf INDREF0
        movf REGA1,W
        movwf INDREF1
        movf REGA2,W
        movwf INDREF2
        movf REGA3,W
        movwf INDREF3
        call SHOWCALIB
        return

; **************

SHOWCALIB: call LCD1
        bsf RSLINE,4

        clrf LOOP
CALIB2: movf LOOP,W
        call CALIB
        call LCDOUT
        incf LOOP,F
        btfss LOOP,4
        goto CALIB2
        call PAUSIT
        return

; **************

SUBTRACTCAPREF: ; subtract ref from current val
                ; REGA - REGB -> REGA ;Return carry set if overflow
        movf CAPREF3,W
        movwf REGB3
        movf CAPREF2,W
        movwf REGB2
        movf CAPREF1,W
        movwf REGB1
        movf CAPREF0,W
        movwf REGB0
        call SUBTRACT
        movf STATUS,W
        andlw 1
        movwf OVERFLOW
        return

SUBTRACTINDREF: ; subtract ref from current val
                ; REGA - REGB -> REGA ;Return carry set if overflow
        movf INDREF3,W
        movwf REGB3
        movf INDREF2,W
        movwf REGB2
        movf INDREF1,W
        movwf REGB1
        movf INDREF0,W
        movwf REGB0
        call SUBTRACT
        movf STATUS,W
        andlw 1
        movwf OVERFLOW
        return

; **************

INDTIMER: movlw %00000110   ; T1 ext osc sync off (bit 2) timer1 off
        movwf T1CON         ; uses T1 ext clock input via RB6 and measures
                            ; number of clock pulses during 25 cycles of TMR0
        BANK1
        movlw %10000110     ; timer 1:128, pullups off
        movwf OPTION_REG
        BANK0

        clrf TMR1L          ; reset timer 1
        clrf TMR1H
        clrf TIMEMSB
        bcf PIR1,0          ; clr timer rollover flag

        movlw %00000111     ; T1 ext osc sync off (bit 2) timer1 on
        movwf T1CON

        movlw 25            
        movwf SLOWIT
        clrf TMR0
        bcf INTCON,2
TIMEIT: btfss PIR1,0        ; has timer 1 overflowed?
        goto TIMIT2
        bcf PIR1,0
        incf TIMEMSB,F
TIMIT2: btfss INTCON,2      ; has timer 0 overflowed?
        goto TIMEIT
        bcf INTCON,2
        decfsz SLOWIT,F
        goto TIMEIT

        movlw %00000000
        movwf T1CON
        return

; ****************

OSCILLATE:   clrf ZERO
        clrf T1CON
        clrf TMR1H
        clrf TMR1L
        bcf PIR1,0
        bsf T1CON,0         ; start timer 1

        clrf TIMEMSB
        bsf T1CON,0         ; start timer 1
OSCA1:
        movf PORTA,W
        andlw %00010000
        xorwf SWITCH,W
        btfss STATUS,Z
        return

        btfsc PIR1,0        ; has timer 1 overflowed?
        call INCMSB         ; yes

OSCA1A: movf PORTB,W        ; is RB6 same as before?
        andlw %01000000
        movwf STORE2
        xorwf STORE,W
        btfsc STATUS,Z
        goto OSCA1          ; yes
        movf STORE2,W       ; no, so continue for next cycle
        movwf STORE

OSCA2:
        movf PORTA,W
        andlw %00010000
        xorwf SWITCH,W
        btfss STATUS,Z
        return

        btfsc PIR1,0        ; has timer 1 overflowed?
        call INCMSB         ; yes

OSCA2A: movf PORTB,W        ; is RB6 same as before?
        andlw %01000000
        movwf STORE2
        xorwf STORE,W
        btfsc STATUS,Z
        goto OSCA2          ; yes
        movlw %00000000     ; no, stop timer 1
        movwf T1CON
        return

INCMSB: incf TIMEMSB,F
        decf SLOWIT,F
        bcf PIR1,0
        clrf TMR1H
        clrf TMR1L
        movf SLOWIT,F
        btfsc STATUS,Z
        bsf ZERO,0
        return

;******** LCD ROUTINES **********

LCD1:   movlw %10000000
        goto LCDLIN
LCD5:   movlw %10000101
        goto LCDLIN
LCD6:   movlw %10000110
        goto LCDLIN
LCD8:   movlw %10001000
        goto LCDLIN
LCD9:   movlw %10001001
        goto LCDLIN
LCD13:  movlw %10001101
        goto LCDLIN
LCD15:  movlw %10001111
        goto LCDLIN

LCD21:  movlw %11000000
        goto LCDLIN
LCD25:  movlw %11000101
        goto LCDLIN
LCD26:  movlw %11000110
        goto LCDLIN
LCD28:  movlw %11001000

LCDLIN: BCF RSLINE,4

LCDOUT: movwf STORE
        movlw 50
        movwf LOOPA
DELAYIT: decfsz LOOPA,F
        goto DELAYIT
        call SENDIT

SENDIT: swapf STORE,F
        movf STORE,W
        andlw 15
        iorwf RSLINE,W
        movwf PORTB
        BSF PORTB,5
        nop 
        nop
        BCF PORTB,5
        RETURN

; *************

PAUSIT: movlw 25
        movwf SLOWIT
        bcf INTCON,2
PAUSE:  btfss INTCON,2
        goto PAUSE
        bcf INTCON,2
        decfsz SLOWIT,F
        goto PAUSE
        return

PAUSIT2: clrf TMR0
        movlw 10
        movwf SLOWIT
        bcf INTCON,2
PAUSE2: btfss INTCON,2
        goto PAUSE2
        bcf INTCON,2
        decfsz SLOWIT,F
        goto PAUSE2
        return

;..............

LCDSET: clrf LOOP       ;clr LCD set-up loop
        clrf RSLINE     ;clear RS line for instruction send
LCDST2: movf LOOP,W     ;get table address
        call TABLCD     ;get set-up instruction
        call LCDOUT     ;perform it
        incf LOOP,F     ;inc loop
        btfss LOOP,3    ;has last LCD set-up instruction now been done?
        goto LCDST2     ;no
        return


CLRLINE1: call LCD1     ;set address for line 1 cell 1
        bsf RSLINE,4    ;set RS for data send
        clrf LOOP       ;
CLRL1:  movlw ' '       ;clear cell
        call LCDOUT     ;
        incf LOOP,F     ;inc loop
        btfss LOOP,4    ;has last LCD letter been sent?
        goto CLRL1      ;no
        return

CLRLINE2: call LCD21
        bsf RSLINE,4
        movlw 16
        movwf LOOP
CL2:    movlw ' '
        call LCDOUT
        decfsz LOOP,F
        goto CL2
        return

; ***********

SHOWITALL: movlw DIGIT1
        movwf FSR
        movlw 10
        movwf LOOP
SHOW2:  movf INDF,W
        call LCDOUT
        movf LOOP,W
        xorwf POINT,W
        btfss STATUS,Z
        goto SHOW3
        movlw '.'
        call LCDOUT
SHOW3:  incf FSR,F
        decfsz LOOP,F
        goto SHOW2
        return

; ***********

COPY_TIME_REGA:
        movf TIMEMSB,W
        movwf REGA2
        movf TMR1H,W
        movwf REGA1
        movf TMR1L,W
        movwf REGA0
        clrf REGA3
        return

; *********

MULTIPLYSMALL:
        movwf REGB0
        clrf REGB1
        clrf REGB2
        clrf REGB3
        call MULTIPLY
        movf STATUS,W
        andlw 1
        movwf OVERFLOW
        return

; *************

DIVIDESMALL:
        movwf REGB0
        clrf REGB1
        clrf REGB2
        clrf REGB3
        call DIVIDE
        movf STATUS,W
        andlw 1
        movwf OVERFLOW
        return

; ***********

DIVIDEBILLION:
        movlw $3B      ; divide 1,000,000,000 ($3B9ACA00) by the answer
        movwf REGA3
        movlw $9A
        movwf REGA2
        movlw $CA
        movwf REGA1
        movlw $00
        movwf REGA0
        call DIVIDE
        movf STATUS,W
        andlw 1
        movwf OVERFLOW
        return

; ***********

COPY_REGA_REGB:
        movf REGA0,W    
        movwf REGB0
        movf REGA1,W
        movwf REGB1
        movf REGA2,W
        movwf REGB2
        movf REGA3,W
        movwf REGB3
        return

; *********** PETER HEMSLEY'S 32-BIT MATHS ROUTINES *******

;*** SIGNED MULTIPLY ***
;REGA * REGB -> REGA
;Return carry set if overflow

multiply
	clrf	MTEMP		;Reset sign flag
	call	chksgna		;Make REGA positive
	skpc
	call	chksgnb		;Make REGB positive
	skpnc
	return			;Overflow

	call	movac		;Move REGA to REGC
	call	clra		;Clear product

	movlw	D'31'		;Loop counter
	movwf	MCOUNT

muloop	call	slac		;Shift left product and multiplicand
	
	rlf	REGC3,w		;Test MSB of multiplicand
	skpnc			;If multiplicand bit is a 1 then
	call	addba		;add multiplier to product

	skpc			;Check for overflow
	rlf	REGA3,w
	skpnc
	return

	decfsz	MCOUNT,f	;Next
	goto	muloop

	btfsc	MTEMP,0		;Check result sign
	call	negatea		;Negative



	return


; *************

;*** SIGNED DIVIDE ***
;REGA / REGB -> REGA
;Remainder in REGC
;Return carry set if overflow or division by zero

divide	clrf	MTEMP		;Reset sign flag
	movf	REGB0,w		;Trap division by zero
	iorwf	REGB1,w
	iorwf	REGB2,w
	iorwf	REGB3,w
	sublw	0
	skpc
	call	chksgna		;Make dividend (REGA) positive
	skpc
	call	chksgnb		;Make divisor (REGB) positive
	skpnc
	return			;Overflow

	clrf	REGC0		;Clear remainder
	clrf	REGC1
	clrf	REGC2
	clrf	REGC3

	movlw	D'32'		;Loop counter
	movwf	MCOUNT

dvloop	call	slac		;Shift dividend (REGA) msb into remainder (REGC)

	movf	REGB3,w		;Test if remainder (REGC) >= divisor (REGB)
	subwf	REGC3,w
	skpz
	goto	dtstgt
	movf	REGB2,w
	subwf	REGC2,w
	skpz
	goto	dtstgt
	movf	REGB1,w
	subwf	REGC1,w
	skpz
	goto	dtstgt
	movf	REGB0,w
	subwf	REGC0,w
dtstgt	skpc			;Carry set if remainder >= divisor
	goto	dremlt

	movf	REGB0,w		;Subtract divisor (REGB) from remainder (REGC)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品你懂的| 日韩精品一二三| 成人激情图片网| 久久久综合激的五月天| 久久www免费人成看片高清| 欧美福利一区二区| 天堂久久久久va久久久久| 欧美老肥妇做.爰bbww视频| 亚洲成年人网站在线观看| 精品视频1区2区| 亚洲妇熟xx妇色黄| 欧美喷潮久久久xxxxx| 日韩国产一二三区| 欧美电视剧免费全集观看| 精品一区二区三区久久| 精品99999| 国产suv一区二区三区88区| 亚洲国产成人私人影院tom| 成人午夜av在线| 亚洲欧美日韩中文播放| 色综合天天综合色综合av| 亚洲一区二区三区在线播放| 欧美日韩国产大片| 久久99精品一区二区三区| 久久午夜国产精品| av电影在线观看不卡| 亚洲乱码中文字幕综合| 欧美日本不卡视频| 美女mm1313爽爽久久久蜜臀| 久久精品视频在线免费观看| www.欧美日韩| 亚洲综合久久久久| 日韩一区二区精品| 国产一区二区三区在线观看精品| 国产精品家庭影院| 欧美亚洲另类激情小说| 男人的天堂亚洲一区| 国产视频视频一区| 91美女片黄在线| 首页国产欧美日韩丝袜| 久久综合九色综合欧美就去吻| 成人一区在线看| 亚洲一区二区三区四区在线观看 | 播五月开心婷婷综合| 亚洲欧美成aⅴ人在线观看| 69久久99精品久久久久婷婷| 国产一区二区0| 一区二区三区在线不卡| 日韩午夜电影在线观看| 成人黄页毛片网站| 五月激情丁香一区二区三区| 久久精品一区四区| 日本大香伊一区二区三区| 轻轻草成人在线| 成人欧美一区二区三区1314| 欧美高清你懂得| 不卡一二三区首页| 日本中文一区二区三区| 国产精品网友自拍| 制服视频三区第一页精品| 高清国产一区二区| 三级在线观看一区二区 | 日韩欧美国产精品| av一区二区三区| 蜜桃视频一区二区| 亚洲美女在线一区| 2021中文字幕一区亚洲| 在线观看日韩高清av| 国产老妇另类xxxxx| 亚洲国产日韩a在线播放性色| 久久久久国产精品免费免费搜索| 欧美色男人天堂| 成人黄动漫网站免费app| 青娱乐精品视频在线| 亚洲精品五月天| 久久伊99综合婷婷久久伊| 欧美日韩在线免费视频| 成人听书哪个软件好| 欧美aaaaa成人免费观看视频| 亚洲女厕所小便bbb| 久久―日本道色综合久久| 欧美日韩精品欧美日韩精品一综合| 粉嫩绯色av一区二区在线观看| 日本亚洲视频在线| 亚洲在线视频一区| 国产精品网曝门| www国产成人| 欧美一卡二卡三卡| 在线观看亚洲精品视频| av午夜精品一区二区三区| 国产制服丝袜一区| 男人的天堂亚洲一区| 亚洲一区二区四区蜜桃| 亚洲天堂成人网| 欧美国产一区视频在线观看| 欧美成人艳星乳罩| 欧美男男青年gay1069videost| 91在线小视频| 成年人网站91| 国产经典欧美精品| 精品一区二区av| 日本不卡一区二区| 亚洲成人自拍一区| 亚洲精品国产品国语在线app| 国产精品国产三级国产| 国产女人18毛片水真多成人如厕 | 五月婷婷综合激情| 一级特黄大欧美久久久| 国产精品不卡一区二区三区| 国产人妖乱国产精品人妖| 337p粉嫩大胆色噜噜噜噜亚洲| 欧美二区三区91| 欧美日韩精品系列| 欧美日韩中文字幕精品| 91福利资源站| 色婷婷久久久久swag精品| 91热门视频在线观看| 99久久综合99久久综合网站| 国产精品亚洲第一区在线暖暖韩国| 精彩视频一区二区| 国产一区二区在线电影| 精品一区二区三区免费观看| 韩日欧美一区二区三区| 国内成人精品2018免费看| 精品一区二区三区视频在线观看| 美女网站色91| 激情综合网天天干| 国产麻豆精品95视频| 国产乱子伦视频一区二区三区| 国产一区激情在线| 国产成人小视频| 成人黄页毛片网站| 91麻豆蜜桃一区二区三区| 97国产精品videossex| 91亚洲精品久久久蜜桃| 色噜噜狠狠色综合欧洲selulu| 91豆麻精品91久久久久久| 欧美体内she精高潮| 欧美日韩一区久久| 欧美一区二区三区的| 日韩欧美黄色影院| 久久蜜臀中文字幕| 国产精品久久久久9999吃药| 亚洲日本电影在线| 亚洲午夜精品网| 日韩国产在线一| 国内精品自线一区二区三区视频| 国产精品一级黄| 99精品一区二区三区| 91精彩视频在线| 在线播放欧美女士性生活| 欧美一区二区久久| 久久久五月婷婷| 成人欧美一区二区三区| 亚洲动漫第一页| 美女视频第一区二区三区免费观看网站 | 国产精品嫩草影院av蜜臀| 亚洲欧美一区二区三区国产精品| 亚洲自拍偷拍av| 久久99精品国产| 成人av网站在线观看| 在线免费观看日韩欧美| 日韩一二三四区| 国产精品麻豆久久久| 亚洲一级二级三级在线免费观看| 蜜桃视频在线一区| 成人激情午夜影院| 欧美日韩精品欧美日韩精品一| 欧美va亚洲va香蕉在线| 国产精品美女视频| 亚洲动漫第一页| 国产福利视频一区二区三区| 日本乱码高清不卡字幕| 日韩免费观看高清完整版| 中文字幕一区二区三区四区 | 亚洲欧美另类小说| 秋霞午夜av一区二区三区| 丰满放荡岳乱妇91ww| 欧美日韩精品一二三区| 久久精品视频一区二区| 亚洲综合男人的天堂| 在线这里只有精品| 中文字幕在线观看不卡视频| 一区二区三区在线播| 久色婷婷小香蕉久久| 成人av在线资源| 欧美精品丝袜久久久中文字幕| 国产色91在线| 天天av天天翘天天综合网| 国产99久久久国产精品潘金网站| 色88888久久久久久影院野外| 久久免费视频色| 亚洲国产你懂的| 盗摄精品av一区二区三区| 欧美精品久久99久久在免费线| 国产精品久久久久婷婷 | 国产精品国模大尺度视频| 丝袜美腿一区二区三区| 成av人片一区二区| 精品免费99久久|