Académique Documents
Professionnel Documents
Culture Documents
U1
13
14
1
2
3
4
5
6
7
8
9
10
OSC1/CLKIN
OSC2/CLKOUT
MCLR/Vpp/THV
RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
RA0/AN0
RA1/AN1
RA2/AN2/VREFRA3/AN3/VREF+
RA4/T0CKI
RA5/AN4/SS
RC0/T1OSO/T1CKI
RC1/T1OSI/CCP2
RE0/AN5/RD
RC2/CCP1
RE1/AN6/WR
RC3/SCK/SCL
RE2/AN7/CS
RC4/SDI/SDA
RC5/SDO
RC6/TX/CK
RC7/RX/DT
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7
33
34
35
36
37
38
39
40
15
16
17
18
23
24
25
26
19
20
21
22
27
28
29
30
PIC16F877
02
03
05
06
07
08
09
0ah
0bh
0ch
18h
19h
1ah
1eh
1fh
85h
86h
87h
88h
89h
98h
99h
9eh
9fh
RXD
TXD
RTS
CTS
rp0
rp1
irp
z
c
txif
go
equ
equ
equ
equ
equ
equ
equ
5
6
7
2
0
4
2
34h
35h
36h
EQU
EQU
EQU
EQU
EQU
H'0FCF'
EQU H'1FDF'
EQU H'2FEF'
H'3FFF'
H'37FF'
EQU H'3FFF'
EQU H'3FFF'
EQU H'3DFF'
EQU H'3EFF'
EQU H'3FFF'
H'3FFF'
EQU H'3F7F'
EQU H'3FFF'
EQU H'3FBF'
EQU H'3FFF'
EQU H'3FF7'
EQU H'3FFF'
EQU H'3FFB'
H'3FFC'
EQU H'3FFD'
EQU H'3FFE'
EQU H'3FFF'
org
goto
00
inicio
;vector de reset
;va a iniciar programa principal
;subrutina de retardo en milisegundos
;el registro loops contiene el numero
retarms
top2
top
movwf loops
movlw d'110'
movwf loops2
nop
nop
nop
nop
nop
nop
decfsz loops2,1
goto top
decfsz loops
goto top2
return
;pregunta si termin ya 1 ms
;pregunta si termina el retardo
bcf
bsf
movlw
movwf
movlw
movwf
movlw
movwf
movlw
movwf
movlw
movwf
movlw
movwf
status,6
status,5
b'11111'
trisa
b'11111111'
trisb
b'10111111'
trisc
b'11111111'
trisd
b'11111111'
trise
b'11110111'
adcon1
movlw
movwf
movlw
movwf
b'00100110'
txsta
d'103'
spbrg
bcf
status,5
;programacion de puertos
;segun el circuito
bsf
pir1,txif
movlw b'10000000'
;habilita puerto serial
movwf rcsta
ciclo
clrf
contador
;inicia contador en 0
movlw
call
movlw
call
d'255'
retarms
d'255'
retarms
movlw 30h
addwf contador,0
espera btfss
pir1,txif
;espera a que este listo para transmitir
goto
espera
movwf txreg
;pasa dato al registro txreg para su envio
incf
movlw
xorwf
btfss
goto
contador,1
d'10'
contador,0
status,z
ciclo
;incrementa conteo
goto
inicio
end