Você está na página 1de 2

CODIGO DE PROGRAMA

.INCLUDE "M164PDEF.INC" CALL RETARDO


.DEF TEMPO=R16 CBI PORTA,0
.DEF AUX=R17 LDI TEMPO,0X38
.DEF CONT=R18 CALL INSTRUCCION
.DEF CONTA=R19 LDI TEMPO,0X38
.ORG 0X0 CALL INSTRUCCION
JMP INICIO LDI TEMPO,0B00000110
INICIO: CALL INSTRUCCION
;CONFIGURACION DE PUERTOS LDI TEMPO,0B00001110
CLR TEMPO CALL INSTRUCCION
OUT DDRB,TEMPO LDI TEMPO,0B00011100
OUT DDRD,TEMPO CALL INSTRUCCION
LDI TEMPO,0B00000011 CALL BORRARLCD
OUT DDRA,TEMPO CALL LINE1
SER TEMPO LDI ZL,LOW(TABLA1<<1)
OUT DDRC,TEMPO LDI ZH,HIGH(TABLA1<<1)
SER TEMPO CALL ESCRITURA
OUT PORTB,TEMPO CALL LINE2
OUT PORTD,TEMPO LDI ZL,LOW(TABLA2<<1)
LDI TEMPO,0B11111100 LDI ZH,HIGH(TABLA2<<1)
OUT PORTA,TEMPO CALL ESCRITURA
CLR TEMPO CALL RET_1SEG
OUT DDRC,TEMPO ;DEC CONTA
;ACTIVACION DEL PULL UP ;BRNE LCD
IN TEMPO,MCUCR JMP LCD
ANDI TEMPO,0B11101111 LINE1:
OUT MCUCR,TEMPO CBI PORTA,1
;HABILITACION DEL STACK POINT LDI TEMPO,0B10000000
LDI TEMPO,HIGH(RAMEND) CALL INSTRUCCION
OUT SPH,TEMPO RET
LDI TEMPO,LOW(RAMEND) LINE2:
OUT SPL,TEMPO CBI PORTA,1
LDI CONTA,16 LDI TEMPO,0B11000000
SEI CALL INSTRUCCION
;CONFIGURACION GENERAL DEL LCD RET
LCD: CBI PORTA,1 ESCRITURA:
CBI PORTA,0 SBI PORTA,1
LDI AUX,255 VISUALIZAR:
CALL RETARDO LPM TEMPO,Z+
LDI AUX,255 CPI TEMPO,'~'
CALL RETARDO BREQ TERMINAR
LDI TEMPO,0X38 CALL INSTRUCCION
OUT PORTC,TEMPO JMP VISUALIZAR
SBI PORTA,0 TERMINAR: RET
LDI AUX,129
CALL RETARDO INSTRUCCION:
CBI PORTA,0 OUT PORTC,TEMPO
LDI TEMPO,0X38 SBI PORTA,0
OUT PORTA,TEMPO LDI AUX,2
SBI PORTA,0 CALL RETARDO
LDI AUX,4 CBI PORTA,0
RET lazo_t:
BORRARLCD: in AUX,TIFR2
CBI PORTA,1 sbrs AUX,OCF2A
LDI TEMPO,0B00000001 rjmp lazo_t
OUT PORTC,TEMPO clr AUX
SBI PORTA,0 ;detiene contador
LDI AUX,52 sts TCCR2B,AUX
CALL RETARDO ret
CBI PORTA,0 RET_1SEG:
SBI PORTA,1 LDI CONT,123
RET LAZO_RET:
RETARDO: SER AUX
sts OCR2A,AUX CALL RETARDO
clr AUX DEC CONT
sts TCNT2,AUX ;carga el valor BREQ SAL
al TCNT2 JMP LAZO_RET
ldi AUX,(1<<CS22)|(1<<CS21) SAL: RET
;preescalado 256 TABLA1:
sts TCCR2B,AUX .DB " SERGIO AVILA~"
ldi AUX,(1<<OCF2A) TABLA2:
out TIFR2,AUX .DB " EPN ~"

LCD1
LCD1
LM016L
LM016L
VEE
VEE

VDD
VSS

VEE
VDD

RW
VSS

VEE
RS

D0
D1
D2
D3
D4
D5
D6
D7
RW

100%
RS

D0
D1
D2
D3
D4
D5
D6
D7
EE

100%

RV1
RV1
1k
11
22
33

44
55
66

77
88
99
10
11
12
13
1k 14
10
11
12
13
14

U1
U1
40
40 37
37
EE
D0
D1
D2
D3
D4
D5
D6
D7
VEE

RS

PB0/XCK0/T0/PCINT8 PA0/ADC0/PCINT0 EE
D0
D1
D2
D3
D4
D5
D6
D7
VEE

RS

41 PB0/XCK0/T0/PCINT8 PA0/ADC0/PCINT0 36
41 PB1/T1/CLKO/PCINT9 PA1/ADC1/PCINT1 36 RS
42 PB1/T1/CLKO/PCINT9 PA1/ADC1/PCINT1 35 RS
42 PB2/AIN0/INT2/PCINT10 PA2/ADC2/PCINT2 35
43 PB2/AIN0/INT2/PCINT10 PA2/ADC2/PCINT2 34
43 PB3/AIN1/OC0A/PCINT11 PA3/ADC3/PCINT3 34
44 PB3/AIN1/OC0A/PCINT11 PA3/ADC3/PCINT3 33
44 PB4/SS/OC0B/PCINT12 PA4/ADC4/PCINT4 33
11 PB4/SS/OC0B/PCINT12 PA4/ADC4/PCINT4 32
PB5/MOSI/PCINT13 PA5/ADC5/PCINT5 32
22 PB5/MOSI/PCINT13 PA5/ADC5/PCINT5 31
PB6/MISO/PCINT14 PA6/ADC6/PCINT6 31
33 PB6/MISO/PCINT14 PA6/ADC6/PCINT6 30
PB7/SCK/PCINT15 PA7/ADC7/PCINT7 30
PB7/SCK/PCINT15 PA7/ADC7/PCINT7
99 19
19
PD0/RXD0/PCINT24
PD0/RXD0/PCINT24 PC0/SCL/PCINT16
PC0/SCL/PCINT16 D0
D0
10
10 20
20
PD1/TXD0/PCINT25
PD1/TXD0/PCINT25 PC1/SDA/PCINT17
PC1/SDA/PCINT17 D1
D1
11
11 21
21
PD2/INT0/RXD1/PCINT26
PD2/INT0/RXD1/PCINT26 PC2/TCK/PCINT18
PC2/TCK/PCINT18 D2
D2
12
12 22
22
PD3/INT1/TXD1/PCINT27
PD3/INT1/TXD1/PCINT27 PC3/TMS/PCINT19
PC3/TMS/PCINT19 D3
D3
13
13 23
23
PD4/OC1B/XCK1/PCINT28
PD4/OC1B/XCK1/PCINT28 PC4/TDO/PCINT20
PC4/TDO/PCINT20 D4
D4
14
14 24
24
PD5/OC1A/PCINT29
PD5/OC1A/PCINT29 PC5/TDI/PCINT21
PC5/TDI/PCINT21 D5
D5
15
15 25
25
PD6/ICP/OC2B/PCINT30
PD6/ICP/OC2B/PCINT30 PC6/TOSC1/PCINT22
PC6/TOSC1/PCINT22 D6
D6
16
16 26
26
PD7/OC2A/PCINT31
PD7/OC2A/PCINT31 PC7/TOSC2/PCINT23
PC7/TOSC2/PCINT23 D7
D7
29
29 88
AREF
AREF XTAL1
XTAL1
27
27 77
AVCC
AVCC XTAL2
XTAL2
44
11 RESET
RESET
ATMEGA164P
ATMEGA164P

Você também pode gostar