lab1
lab1
Bài 2
Bai 2a
•cseg .org 0x00
START: LDI R16, 0x00
OUT DDRA, R16 / /PORTA - INPUT - - DIP SW LDI R16, OxFF
OUT PORTA, R16 / /DIEN TRO KEO LEN OUT DDRB, R16 / /PORTB -OUTPUT - - BAR LED
OUT PORTB, R16
MAIN: IN R17, PINA / / R17 < - - PINA(DIPSW)
LDI R16, OxOF //R16 < - - 00001111
AND R16, R17 / /R16 < - - NIBBLE THAP LDI R18, OxF0 / / R16 < - - 11110000
AND R18, R17 / / R18 < - - NIBBLE CAO (BYTE CAO) SWAP R18 / /CHUYEN VE BYTE
THAP
MUL R18, R16 / / R1:RO < - - NIBBLE CAO × NIBBLE THAP (KO DAU) OUT PORTB, RO
//PB (BARLED) < - - R0 (BYTE THAP) RIMP MAIN
;Bai 26 .cseg
. org 0x00
START: LDI R16, 0x00
OUT DDRA, R16 / /PORTA - INPUT - - DIP SW LDI R16, OxFF
OUT PORTA, R16 //DIEN TRO KEO LEN OUT DDRB, R16 / /PORTB -OUTPUT - - BAR LED
OUT PORT, R16
MAIN: IN R17, PINA / / R17 < - - PINA(DIPSW)
LDI R16, 0x0F //R16 < -- 00001111
AND R16, R17 / /R16 < - - NIBBLE THAP SBRC R16, 3 //MO RONG BIT NEU LA SO AM ORI
R16, OxFO
LDI R18, OxF0 / /R16 < - - 11110000
AND R18, R17 / /R18 < - - NIBBLE CAO(BYTE CAO) SWAP R18 / /CHUYEN VE BYTE THAP
SBRC R18, 3 / /MO RONG BIT NEU LA SO AM ORI R18, OxFO
MULS R18, R16 // RI:RO <- - NIBBLE CAO X NIBBLE THAP (CO DAU) OUT PORTB, RO //
PB (BARLED) < - - RO (BYTE THAP) RIMP MAIN
Bài 3
Bài 4
DELAY500MS:
PUSH R18
PUSH R19
;AMC
LDI R18, 2
LP5:
LDI R19, 250;1MC
LP6:
RCALL DELAYIMS; 7999MC DEC R19
BRNE LP6
DEC R18
BRNE LP5
;1MC
:211MC HAC
;1MC 2/1MC
POP R19
POP R18
RET
;AMC
OUT_LCD4:
OUT LCDPORT.R17
SBI LCDPORT, EN CBI LCDPORT, EN RET
OUT_LCD:
LDI R16,1 ;chò 100us
RCALL DELAY US
IN R16, LCDPORT ;doc PORT LCD ANDI R16, (1<<RS) ;loc bit R$ PUSH R16 ;cât R16
PUSH R17 ;cât R17
ANDI R17,$FO ;lay 4 bit cao OR R17, R16 ;ghép bit RS RCALL OUT LCD4 ;ghi ra LCD LDI
R16,1 ;chò 100us
RCALL DELAY US
POP R17 ;phuc hôi R17, r16
POP R16
SWAP R17 ;dao byte thäp lênh lên
ANDI R17,$FO ;l?y 4 bit th?p chuy?n thänh cao OR R17,R16 ;ghép bit RS RCALL
OUT_LCD4 ;ghi ra LCD RET
Bài 5
RCALL DELAY_ US ;ctc delay 100usxR16
LDI R16,250 ;delay 25ms
RCALL DELAY US
LDI R16, OXFF ;SET OUTPUT CHO PORTLCD OUT LCDDDR, R16
CBI LCDPORT, RS ;RS=0 ghi I?nh
LDI R17,$30 ;mã lênh=$30 lân 1
RCALL OUT LCD4
LDI R16,42 ;delay 4.2ms
RCALL DELAY US CBI LCDPORT, R$
LDI R17,$30 ;ma lênh=$30 lân 2
CALL OUT LCD4
LDI R16,2 ;delay 200us
RCALL DELAY US CBI LCDPORT, RS
LDI R17, $20 ;mã lênh=$20
RCALL OUT LCD4
RET
INIT LCD4:
CBI LCDPORT, RS ;RS=0 ghi 1?nh
LDI R17, $28 ;Function set - giao tiep 4 bit, 1 döng, font 5×8
RCALL OUT LCD
CBI LCDPORT, RS ;RS=0 ghi I?nh
LDI R17,$01 ;Clear display
RCALL OUT LCD
LDI R16,20 ;ch? 2ms sau 1?nh Clear display
CALL DELAY US
CBI LCDPORT, RS ;RS=0 ghi I?nh
LDI R17,$OC ;hiên man hinh, tat con tro
RCALL OUT LCD
CBI LCDPORT, RS ;RS=0 ghi 1?nh
LDI R17, $06 ;con tró dich phái sau moi lân doc/ghi
CALL OUT LCD
RET
Xuât so BCD 2 nibble trong