Asm:
Kód: Vybrat vše
LIST P=12F675
INCLUDE<P12F675.INC>
__CONFIG _WDT_OFF & _MCLRE_OFF & _INTRC_OSC_NOCLKOUT & _CP_OFF & _PWRTE_ON
FLAG EQU 0x20
TDATA EQU 0x21
TMP0 EQU 0x22
TMP1 EQU 0x23
TMP2 EQU 0x24
PERIODA EQU 0x25
ROTACE EQU 0x26
TEMPBYTE EQU 0x27
#DEFINE TX GPIO,0
#DEFINE TLAC1 GPIO,1
ORG 00h
GOTO INIT
;**********************************************************************
;PODPROGRAMY
;**********************************************************************
SEND
MOVF TDATA,W
MOVWF TEMPBYTE
MOVLW 0x08
MOVWF ROTACE
BSF TX ;START BIT
BIT CALL WAITBIT ;8 DATOVYCH BITU
BTFSS TEMPBYTE,0
GOTO $+2
GOTO $+3
BCF TX
GOTO $+2
BSF TX
RRF TEMPBYTE,1
DECFSZ ROTACE,1
GOTO BIT
CALL WAITBIT
BCF TX ;END BIT
RETURN
WAITHALFBIT
MOVLW 0x11 ;17 DEC
MOVWF TMP0
DECFSZ TMP0,F
GOTO $-1
RETURN
WAITBIT
MOVLW 0x21 ;33 DEC
MOVWF TMP0
DECFSZ TMP0,F
GOTO $-1
RETURN
;**********************************************************************
;INICIALIZACE
;**********************************************************************
INIT
BSF STATUS,RP0 ;///////kalibrace vnitrniho oscilatoru
CALL 3FFh
MOVWF OSCCAL
BCF STATUS,RP0
MOVLW B'00000111' ;//////COMPARATOR vypnut///////////////////
MOVWF CMCON
BSF STATUS,RP0 ;///////NASATAVENI PORTU////////////////////////
MOVLW b'00111110'
MOVWF TRISIO
MOVLW 0x00
MOVWF ANSEL
BCF STATUS,RP0
BCF TX
GOTO MAIN
;**********************************************************************
;HLAVNI PROGRAM
;**********************************************************************
MAIN
MOVLW 0xA3
MOVWF TDATA
CALL SEND
GOTO MAIN
END
HEX:
Kód: Vybrat vše
:020000040000FA
:100000001D282108A7000830A60005141820271C69
:100010000A280C2805100D280514A70CA60B062885
:100020001820051008001130A200A20B15280800A6
:100030002130A200A20B1A2808008316FF2390008B
:1000400083120730990083163E30850000309F00F0
:0E005000831205102B28A330A10001202B28BD
:02400E00C43FAD
:00000001FF