📄 程序完成.txt
字号:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;更新于 10:45 2006-7-21 星期四;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#INCLUDE P16F873A.INC
PCL EQU 02H
STATUS EQU 03H
PORTA EQU 05H
PORTB EQU 06H
PORTC EQU 07H
TRISA EQU 85H
TRISB EQU 86H
TRISC EQU 87H
DQ EQU 4
TDATA EQU 20H
COUNT EQU 21H
COUNT1 EQU 22H
DAIN1 EQU 23H
DAIN2 EQU 24H
FLAG EQU 25H
DATEMP EQU 26H
WENDUH EQU 27H
WENDUL EQU 28H
WENDUF EQU 29H
;**********************************************
HOUL EQU 31H ;减数低8位
HOUH EQU 32H ;减数高8位
QIAHL EQU 33H ;被减数低8位
QIAHH EQU 34H ;被减数高8位
;**********************************************
ACCALO EQU 35H
ACCAHI EQU 36H
ACCBLO EQU 37H
ACCBHI EQU 38H
ACCCLO EQU 39H
ACCCHI EQU 40H
ACCDLO EQU 41H
ACCDHI EQU 42H
TEMP EQU 43H
TMP0 EQU 44H
CARRY EQU 0
;**********************************************
;**********************************************
ORG 0000H
NOP
NOP
NOP
;***************************************
;; initializtion 初始化
;**************************************
PRESET:
BCF STATUS,RP0
BCF STATUS,RP1
CLRF PORTA
CLRF PORTB
CLRF PORTC
BSF STATUS,RP0
MOVLW 0FFH
MOVWF TRISA
MOVLW 13H
MOVWF TRISB
CLRF TRISC
BCF STATUS,RP0
;*****************************************
;
;*****************************************
START:
BCF PORTB,5
CALL DELAY
CALL DELAY
BSF PORTB,5
CALL DA_RESET
BTFSS FLAG,0
GOTO START
MOVLW H'0CC'
CALL WRDATA
MOVLW H'44'
CALL WRDATA
CALL DELAY
CALL DELAY
CALL DA_RESET
MOVLW H'0CC'
CALL WRDATA
MOVLW H'0BE'
CALL WRDATA
CALL REDATA
NOP
NOP
NOP
MOVF DATEMP,0
MOVWF WENDUL
CALL REDATA
NOP
NOP
NOP
MOVF DATEMP,0
MOVWF WENDUH
MOVWF WENDUF
RLF WENDUF,1
BTFSS STATUS,C
GOTO UP0
BCF STATUS,RP0
BSF PORTB,2
GOTO START
;:::::::::::::::::::::::::::::::::::::::::::::::::
UP0:
BCF STATUS,RP0
BCF PORTB,2
MOVF WENDUL,0
MOVWF QIAHL ;被减数
MOVF WENDUH,0
MOVWF QIAHH
MOVLW B'11000000' ;减数
MOVWF HOUL
MOVLW B'00000011'
MOVWF HOUH
CALL D_SUB
CALL D_ADD
BTFSS STATUS,C
GOTO DOWN60
GOTO UP60
DOWN60:
GOTO T51
;*****************************************************
UP60:
;入口:被除数在ACCBHI(高),ACCBLO(低)
; 除数在ACCAHI(高),ACCALO(低)
;出口:商存于ACCBHI(高),ACCBLO(低)
; 余数存于ACCCHI(高),ACCCLO(低)
;*******************************************************
MOVF QIAHH,0
MOVWF ACCBHI
MOVF QIAHL,0
MOVWF ACCBLO
MOVLW B'0'
MOVWF ACCAHI
MOVLW B'00010000'
MOVWF ACCALO
CALL D_DIV
BSF STATUS,RP0
BCF TRISB,5
BCF STATUS,RP0
BCF PORTB,5
MOVF ACCBLO,0
ADDWF PCL,1
GOTO T1
GOTO T2
GOTO T3
GOTO T4
GOTO T5
GOTO T6
GOTO T7
GOTO T8
GOTO T9
GOTO T10
GOTO T11
GOTO T12
GOTO T13
GOTO T14
GOTO T15
GOTO T16
GOTO T17
GOTO T18
GOTO T19
GOTO T20
GOTO T21
GOTO T22
GOTO T23
GOTO T24
GOTO T25
GOTO T26
GOTO T27
GOTO T28
GOTO T29
GOTO T30
GOTO T31
GOTO T32
GOTO T33
GOTO T34
GOTO T35
GOTO T36
GOTO T37
GOTO T38
GOTO T39
GOTO T40
GOTO T41
GOTO T42
GOTO T43
GOTO T44
GOTO T45
GOTO T46
GOTO T47
GOTO T48
GOTO T49
GOTO T50 ;109 0C
GOTO T50 ;110 0C
GOTO T50 ;111 0C
GOTO T50 ;112 0C
GOTO T50 ;113 0C
GOTO T50 ;114 0C
GOTO T50 ;115 0C
GOTO T50 ;116 0C
GOTO T50 ;117 0C
GOTO T50 ;118 0C
GOTO T50 ;119 0C
GOTO T50 ;120 0C
GOTO T50 ;121 0C
GOTO T50 ;122 0C
GOTO T50 ;123 0C
GOTO T50 ;124 0C
GOTO T50 ;125 0C
GOTO TERROR ; OUT
TERROR:
CALL DELAY
CALL DELAY
GOTO START
;*********************************
T1:
;*********************************
MOVLW B'11111010' ;4.9V 4.897V 60 0C
MOVWF DAIN1
MOVLW B'11000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*************************************
T2:
;*************************************
MOVLW B'11110101'
MOVWF DAIN1
MOVLW B'11000000' ;4.8V 4.7998V 61 0C
MOVWF DAIN2
CALL DAC
GOTO START
;*********************************
T3:
;*********************************
MOVLW B'11110000' ; 4.7V 4.697V 62 0C
MOVWF DAIN1
MOVLW B'10000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*************************************
T4: ;4.6V 4.5996V 63 0C
;*************************************
MOVLW B'11101011'
MOVWF DAIN1
MOVLW B'10000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*********************************
T5: ;4.5V 4.502V 64 0C
;*********************************
MOVLW B'11100110'
MOVWF DAIN1
MOVLW B'10000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*************************************
T6:
;*************************************
MOVLW B'11100001' ;4.4V 4.3994V 65 0C
MOVWF DAIN1
MOVLW B'01000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*********************************
T7:
;*********************************
MOVLW B'11011100' ; 4.3V 4.3018V 66 0C
MOVWF DAIN1
MOVLW B'01000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*************************************
T8:
;*************************************
MOVLW B'11010111' ;4.2V 4.1992V 67 0C
MOVWF DAIN1
MOVLW B'00000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*********************************
T9:
;*********************************
MOVLW B'11010010' ;4.1V 4.1016V 68 0C
MOVWF DAIN1
MOVLW B'00000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*************************************
T10:
;*************************************
MOVLW B'11001100' ;4.0V 3.9990V 69 0C
MOVWF DAIN1
MOVLW B'11000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*********************************
T11:
;*********************************
MOVLW B'11000111' ;3.9V 3.9014V 70 0C
MOVWF DAIN1
MOVLW B'11000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*************************************
T12:
;*************************************
MOVLW B'11000010' ;3.8V 3.7988V 71 0C
MOVWF DAIN1
MOVLW B'10000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*********************************
T13:
;*********************************
MOVLW B'10111101' ;3.7V 3.7012V 72 0C
MOVWF DAIN1
MOVLW B'10000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*************************************
T14:
;*************************************
MOVLW B'10111000' ;3.6V 3.599V 73 0C
MOVWF DAIN1
MOVLW B'01000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*********************************
T15:
;*********************************
MOVLW B'10110011' ;3.5V 3.5010V 74 0C
MOVWF DAIN1
MOVLW B'01000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*************************************
T16:
;*************************************
MOVLW B'10101110' ;3.4V 3.3984V 75 0C
MOVWF DAIN1
MOVLW B'00000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*********************************
T17:
;*********************************
MOVLW B'10101001' ;3.3V 3.3009V 76 0C
MOVWF DAIN1
MOVLW B'00000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*************************************
T18:
;*************************************
MOVLW B'10100011' ;3.2V 3.1982V 77 0C
MOVWF DAIN1
MOVLW B'11000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*********************************
T19:
;*********************************
MOVLW B'10011110' ;3.1V 3.1006V 78 0C
MOVWF DAIN1
MOVLW B'11000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*************************************
T20:
;*************************************
MOVLW B'10011001'
MOVWF DAIN1 ;3.0V 2.998V 79 0C
MOVLW B'10000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*********************************
T21:
;*********************************
MOVLW B'10010100' ;2.9V 2.9004V 80 0C
MOVWF DAIN1
MOVLW B'10000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*************************************
T22:
;*************************************
MOVLW B'10001111' ;2.8V 2.7979V 81 0C
MOVWF DAIN1
MOVLW B'01000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*********************************
T23:
;*********************************
MOVLW B'10001010' ;2.7V 2.7002V 82 0C
MOVWF DAIN1
MOVLW B'01000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*************************************
T24:
;*************************************
MOVLW B'10000101' ;2.6V 2.5977V 83 0C
MOVWF DAIN1
MOVLW B'00000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*********************************
T25:
;*********************************
MOVLW B'10000000' ;2.5V 2.5V 84 0C
MOVWF DAIN1
MOVLW B'00000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*************************************
T26
;*************************************
MOVLW B'01111011' ;2.4V 2.4023V 85 0C
MOVWF DAIN1
MOVLW B'00000000'
MOVWF DAIN2
CALL DAC
GOTO START
;*********************************
T27:
;*********************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -