|
SH67P54操作24C02程序(中颖单片机)
;***************************************************** ;Company : ;File Name : JJ.asm ;Author : ;Create Data : 2006-04-30 ;Last Modified : 2006-04-30 ;Description : ;Version : 1.0 ;***************************************************** IE EQU 00H IRQ EQU 01H TM0 EQU 02H BTM EQU 03H TL0 EQU 04H TH0 EQU 05H LCDON EQU 07H PA EQU 08H PB EQU 09H PC EQU 0AH PD EQU 0BH LVD EQU 0DH TBR EQU 0EH INX EQU 0FH DPL EQU 10H DPM EQU 11H DPH EQU 12H PULLEN EQU 13H OXS EQU 14H LPS1 EQU 15H PACR EQU 16H PBCR EQU 17H PCCR EQU 18H PDCR EQU 19H TEMP EQU 20H TEMP0 EQU 21H TEMP1 EQU 22H TEMP2 EQU 23H TEMP3 EQU 24H TEMP4 EQU 25H TEMP5 EQU 26H TEMP6 EQU 27H FLAG0 EQU 28H PH0 EQU 29H PM0 EQU 2AH PL0 EQU 2BH PH1 EQU 2CH PM1 EQU 2DH PL1 EQU 2EH FLAG EQU 2FH; FLAG1 EQU 30H FLAG2 EQU 31H ;XIAO SHUDIAN BIAOZHI FLAG3 EQU 32H ;SHI BIE S12 S13 SH EQU 33H ;MAI CHONG DE JI SHU EXAMPLE:20,40,80.160 SM EQU 34H SL EQU 35H SUML EQU 36H SUMM EQU 37H SUMH EQU 38H ;;;;;;;;;YI WEI BIAN LIANG;;;;;;;;;;;; LFT_H EQU 39H ;left high nibble register LFT_L EQU 3AH ;left low nibble register N EQU 3BH ;variable register(N=1~7) RUT_H EQU 3CH ;left result high nibble register RUT_L EQU 3DH ;left result low nibble register R7 EQU 3EH RH EQU 3FH RL EQU 40H T0 EQU 20H T1 EQU 21H T2 EQU 22H T3 EQU 23H Q EQU 41H ORG 0000H MAIN:;;;;;;;;;;4M QI ZHEN;;;;;;;;;; ldi PACR,0FH LDI PBCR,0FH LDI PB,0000B LDI T1,0FH LDI T2,0FH LDI T3,0FH LDI RL,00H LDI RH,00H LDI OXS,0001B CALL DELAY5MS LDI OXS,0011B CALL DELAY5MS LDI LPS1,0011B LDI LVD,0000B LDI LCDON,0100B ;;;;;;;;;;;;;;;;;;;;;;; CALL SSTOP CALL RD24 SBIM RL,0BH BC TT CALL DISPLAY JMP TT1 TT: LDI RL,00H CALL DISPLAY TT1: JMP $ ;;;;;;;;;;;;;;;;;;;;;;;;;;; RD24: LDI PA,1000B LDI PB,0000B CALL START24 LDI LFT_L,00H LDI LFT_H,0AH CALL SHIFT0 CALL ACK LDI LFT_L,00H LDI LFT_H,00H CALL SHIFT0 CALL ACK CALL START24 LDI LFT_L,01H LDI LFT_H,0AH CALL SHIFT0 CALL ACK LDI PA,1000B LDI R7,07H LDI PA,1000B LDI PACR,0111B RD000: LDI PB,0001B LDI Q,1000B AND PA,00H ADD PA,00H LDA RL,00H ADCM RL,00H LDA RH,00H ADCM RH,00H LDI PB,0000B SBIM R7,01H BC RD000 RTNI SHIFT0: LDI N,07H ;left 7 bit SHIFT8: LDA LFT_H,00H STA PA,00H LDI PB,0001B SBIM N,01H ;N-1 to judge left is ok ? BC LEFT LDI PB,0000B ;N>0,jump to LEFT JMP ENDLEFT ;N<0,left ok! jump to ENDLEFT LEFT: LDA LFT_L,00H ;left low nibble one bit ADDM LFT_L,00H LDA LFT_H,00H ;left high nibble one bit ADCM LFT_H,00H LDI PB,0000B JMP SHIFT8 ;jump to left again ENDLEFT: RTNI ;return to main program START24  DI PA,0000B LDI PA,1000B LDI PB,0001B LDI PA,0000B LDI PB,0000B RTNI SSTOP: LDI PA,0000B LDI PB,0001B LDI PA,1000B RTNI ACK: LDI PB,0001B LDI PB,0000B RTNI DELAY2: NOP NOP NOP NOP RTNI ;;;;;;YAN SHI;;;;;;;;;; DELAY5MS: LDI T2,0FH DELAY1: LDI T1,0fH DELAY0: LDI T0,0FH DELAY: SBIM T0,01H BC DELAY SBIM T1,01H BC DELAY0 SBIM T2,01H BC DELAY1 RTNI ;;;;;;;;;;;;;;;;;; DISPLAY: LDI DPH,06H LDI DPM,00H LDI DPL,08H LDI TBR,0EH LDA RL,00H CALL MARK STA INX,00H ADIM DPL,01H LDA TBR,00H STA INX,00H RTNI ORG 02DFH MARK: TJMP RTNW 07H,0DH ;0 RTNW 06H,00H ;1 RTNW 03H,0EH ;2 RTNW 07H,0AH ;3 RTNW 06H,03H ;4 RTNW 05H,0BH ;5 RTNW 05H,0FH ;6 RTNW 07H,00H ;7 RTNW 07H,0FH ;8 RTNW 07H,0BH ;9 END PA0----SDA PB0----SCL PB1----WP |