








Preview text:
BÁO CÁO Nhóm: 04
Nhóm môn học: L16 Môn thí nghiệm: TN Vi xử lý BÀI 1 1. Trả lời các câu hỏi
a. Lấy giá trị từ 2 nibble của PORTA như thế nào
Trả lời: Lấy 2 nibble của PORTA bằng cách lần lượt che bit cao và bit thấp
của PORTA bằng cách AND PINA với 0X0F để lấy 4 bit thấp, sau đó thực
hiện lệnh SWAP PINA rồi tiếp tục AND với 0X0F để lấy 4 bit cao.
b. Enable điện trở pullup như thế nào?
Trả lời: Enable điện trở kéo lên bằng cách gán PORTA = 0XFF.
c. Khi Switch ở trạng thái ON/OFF, giá trị chân Port bằng bao nhiêu?
Trả lời: Khi SW ở trạng thái ON, giá trị chân PORTA là 0. Nếu là OFF thì giá trị chân PORTA bằng 1.
d. Khi chân port ở trạng thái 1, BAR LED sáng hay tắt?
Trả lời: Khi chân PORT ở trạng thái 1, tuỳ thuộc vào LED đang ở trạng thái
anot chung hay catot chung, catot chung thì mức 1 đèn sáng, anot chung thì mức 1 đèn tắt.
e. Mã nguồn với chú thích .ORG 0 START:
LDI R16,0x00; SET TAT CA CAC BIT R16 LA 0
LDI R17,0xFF; SET TAT CA CAC BIT R16 LA 11
OUT DDRA, R16; PORT A LA INPUT
OUT PORTA, R17; KICH HOAT DIEN TRO KEO LEN
OUT DDRB, R17; PORT B LA OUTPUT OUT PORTB, R16; TAT LED MAIN:
SBIS PINA,0; NEU SWITCH ON, NHAY QUA NHAN PRESSED RJMP RELEASE PRESSED: CBI PORTB,0; BAT LED JMP START_1; NHAY QUA START_1 RELEASE: SBI PORTB,0; TAT LED START_1: SBIS PINA,1 RJMP RELEASE_1 BÁO CÁO Nhóm: 04
Nhóm môn học: L16 Môn thí nghiệm: TN Vi xử lý PRESSED_1: CBI PORTB,1 JMP START_2 RELEASE_1: SBI PORTB,1 START_2: SBIS PINA,2; RJMP RELEASE_2 PRESSED_2: CBI PORTB,2 JMP START_3 RELEASE_2: SBI PORTB,2 START_3: SBIS PINA,3 RJMP RELEASE_3 PRESSED_3: CBI PORTB,3 JMP START_4 RELEASE_3: SBI PORTB,3 START_4: SBIS PINA,4 RJMP RELEASE_4 PRESSED_4: CBI PORTB,4 JMP START_5 RELEASE_4: SBI PORTB,4 START_5: SBIS PINA,5 RJMP RELEASE_5 PRESSED_5: CBI PORTB,5 JMP START_6 RELEASE_5: SBI PORTB,5 START_6: SBIS PINA,6 RJMP RELEASE_6 PRESSED_6: CBI PORTB,6 JMP START_7 RELEASE_6: SBI PORTB,6 BÁO CÁO Nhóm: 04
Nhóm môn học: L16 Môn thí nghiệm: TN Vi xử lý START_7: SBIS PINA,7 RJMP RELEASE_7 PRESSED_7: CBI PORTB,7 RJMP MAIN RELEASE_7: SBI PORTB,7 RJMP MAIN; NHAY VE LABEL MAIN Mô phỏng trên Proteus
Thực hành trên kit Atmega324P BÀI 2 BÁO CÁO Nhóm: 04
Nhóm môn học: L16 Môn thí nghiệm: TN Vi xử lý 1. Trả lời các câu hỏi Mã nguồn với chú thích .ORG 0 LDI R16,0X00 OUT DDRA,R16; PORTA NHAP LDI R16,0XFF
OUT PORTA,R16; DIEN TRO KEO LEN PORTA OUT DDRB,R16; PORTB XUAT LDI R16,0X00 OUT PORTB,R16; TAT LED LOOP :
IN R16,PINA; DOC GIA TRI PINA VAO R16 COM R16; LAY BU 1 R16 LDI R17,5 ADD R16,R17; CONG R16 VOI 5
OUT PORTB,R16; XUAT R16 RA PORTB RJMP LOOP Mô phỏng trên Proteus BÁO CÁO Nhóm: 04
Nhóm môn học: L16 Môn thí nghiệm: TN Vi xử lý
Thực hành trên kit Atmega324P BÀI 3 1. Trả lời các câu hỏi
a. Làm thế nào lấy giá trị từ 2 nibble của PORT A
Trả lời: Lấy 2 nibble của PORTA bằng cách lần lượt che bit cao và bit thấp của
PORTA bằng cách AND PINA với 0X0F để lấy 4 bit thấp, sau đó thực hiện lệnh
SWAP PINA rồi tiếp tục AND với 0X0F để lấy 4 bit cao.
b. Mã nguồn với chú thích .ORG 0 LDI R16,0X00 OUT DDRA,R16; PORTA NHAP LDI R16,0XFF
OUT PORTA,R16; DIEN TRO KEO LEN PORTA OUT DDRB,R16; PORTB XUAT LDI R16,0X00 OUT PORTB,R16;LED TAT LOOP :
IN R16,PINA; DOC GIA TRI PINA VAO R16 COM R16; LAY BU R16 MOV R18,R16; COPY R16 VAO R18
ANDI R18,0X0F; CHE BIT THAP, R18 = 4 BIT THAP
SWAP R16; HOAN DOI VI TRI NIBBLE R16
ANDI R16,0X0F; CHE BIT THAP, R16 = 4 BIT CAO
MUL R16,R18; NHAN R16 VA R18 LUU VAO R0 OUT PORTB,R0; XUAT R0 RA PORTB RJMP LOOP BÁO CÁO Nhóm: 04
Nhóm môn học: L16 Môn thí nghiệm: TN Vi xử lý Mô phỏng trên Proteus
Thực hành trên kit Atmega324P BÁO CÁO Nhóm: 04
Nhóm môn học: L16 Môn thí nghiệm: TN Vi xử lý BÀI 4 1. Trả lời các câu hỏi
a. Mã nguồn với chú thích .ORG 0 LDI R16,0X00 OUT DDRA,R16; PORTA NHAP LDI R16,0XFF
OUT PORTA,R16; DIEN TRO KEO LEN PORTA OUT DDRB,R16; PORTB XUAT LDI R16,0X00 OUT PORTB,R16;LED TAT LOOP: IN R16, PINA; MOV R17, R16;
ANDI R16, 0X0F; CHE BIT THAP, R16 = 4 BIT THAP
SWAP R17; HOAN DOI VI TRI NIBBLE R17
ANDI R17, 0X0F; CHE BIT THAP, R17 = 4 BIT CAO
SBRC R16, 3; KIEM TRA 4 BIT THAP CO AM KHONG
NEG R16; PHU DINH 4 BIT THAP NEU AM
SBRC R17, 3; KIEM TRA 4 BIT CAO CO AM KHONG
NEG R17; PHU DINH 4 BIT CAO NEU AM
MUL R16, R17; NHAN R16 VA R17 LUU VAO R0 MOV R18, R0;
SBRC R18, 7; KIEM TRA KET QUA CO AM KHONG
SUBI R18, 0XFF; PHU DINH KET QUA NEU AM OUT PORTB, R18; RJMP LOOP;
Thực hành trên kit Atmega324P BÀI 5 1. Trả lời các câu hỏi BÁO CÁO Nhóm: 04
Nhóm môn học: L16 Môn thí nghiệm: TN Vi xử lý
a. Khi Switch ở trạng thái nhấn/nhả, giá trị chân Port bằng bao nhiêu?
Trả lời: Khi SW nhấn PA0 = 0, PA1 = 1. Khi SW nhả, PA0 = 1, PA1 = 0.
b. Để LED sáng, chân port xuất ra mức logic gì?
Trả lời: Để LED sáng, chân port xuất mức logic 1.
c. Mã nguồn với chú thích .ORG 0
LDI R16,HIGH(RAMEND); DUA STACK LEN VUNG DIA CHI CAO OUT SPH,R16 LDI R16,LOW(RAMEND) OUT SPL,R16 CBI DDRA,0; SBI PORTA,0; SBI DDRA,1; CBI PORTA,1;
LOOP: SBIC PINA,0; BO QUA LENH KE NEU PA0 = 0
RJMP LOOP; SW KHONG NHAN PA0 = 1 VONG LAI RCALL DELAY_10MS; DELAY 10MS
SBIC PINA,0; DOC LAI TRANG THAI SW
RJMP LOOP; LAP VONG NEU CON MUC 1
SBI PORTA,1; NGO RA BANG 1, LED SANG
LOOP2: SBIS PINA,0; BO QUA LENH KE NEU PA0 = 1
RJMP LOOP2; SW KHONG NHA PA0 = 0 VONG LAI RCALL DELAY_10MS; DELAY 10MS
SBIS PINA,0; DOC LAI TRANG THAI SW RJMP LOOP2; CBI PORTA,1; RJMP LOOP DELAY_10MS: LDI R21,80 L1: LDI R20,250 L2: R20 DEC NOP BRNE L2 DEC R21 BRNE L1 RET BÁO CÁO Nhóm: 04
Nhóm môn học: L16 Môn thí nghiệm: TN Vi xử lý Mô phỏng trên Proteus
Thực hành trên kit Atmega324P (click đúp để xem)