Đề thi và bài giải cho bô môn thí nghiệm vi xử lý đại học Bách Khoa TPHCM (HCMUT) HK 202học thí nghiệm và thi online bằng phần mềm mô phỏng proteus với kit 8051 đã cho.đề gồm 4 câu hỏi có sẳn đáp án code keil uVision5
Trang 1KIỂM TRA TN VI XỬ LÝ 2021
HỌ VÀ TÊN : MSSV:
NHÓM : L01 TỔ:
ĐỀ THI:
CẤU 1: VIẾT CHƯƠNG TRÌNH TẠO XUNG 1 HZ TẠI CHÂN P1.0 DÙNG VÒNG LẶP
CÂU 2 :VIẾT CHƯƠNG TRÌNH XUẤT HÀNG CHỮ “ GOOGBYE COVID 19” LÊN HÀNG THỨ NHẤT CỦA LCD
VÀ XUỐNG HÀNG ĐẶT CON TRỎ Ở ĐẦU DÒNG THỨ 2.
CÂU 3 :VIẾT CHƯƠNG TRÌNH XUẤT CHUỖI KÝ TỰ “HELLO”RA CỔNG NỐI TIẾP TỐC ĐỘ TRUYỀN ( BAUD RATE) 19200 Ở CHẾ ĐỘ UART 8 BIT.KHI P1.0 ĐƯỢC ẤN.
CÂU 4 : Chương trình sau để xuất các giá trị 3456 ra 4 LED 7 đoạn
ORG 0000H
MOV DPTR,#LAP MOVC A,@A+DPTR MOV DPTR,#6000H MOVX @DPTR,A MOV A,R7
INC A ACALL DELAY_3MS CJNE A,#4,LAP SJMP LOOP TABLE: DB 73H,54H,085H,0E6H
MOV TH0,#HIGH(-30000) MOV TL0,#LOW(-30000) SETB TR0
JNB TF0,$
CLR TR0 CLR TF0 RET END
Chương trình chạy chưa đúng Hãy tìm ra chỗ sai và sửa lại Giải thích
(Yêu cầu: Khoanh lại hàng lệnh làm cho chương trình bị sai trong đoạn chương trình trên)
Trang 2CÁC BẠN LÀM BÀI XUỐNG BÊN DƯỚI , ĐƯỢC SỬ DỤNG BẢNG TÓM TẮT CỦA CHIP 8051 VÀ CT LCD A 51
CÂU 1:
ORG 2000H
MAIN:MOV R5,#4
DL2: MOV R6,#250
DL1: MOV R7,#250
DJNZ R7, $ DJNZ R6,DL1 DJNZ R5,DL2 CPL P1.0 SJMP MAIN END
CÂU 2 :
LCD_E BIT P3.3
LCD_RS BIT P3.5
LCDADDR EQU 6000H
ORG 2000H
MAIN:
MOV @R0, 30H
MOV DPTR, #LCDADDR
ACALL CLEAR
ACALL INIT_LCD
ACALL DISPLAYSTRING
MOV A,#0C0H
ACALL WRITECOM
Trang 3SJMP $
INIT_LCD:
MOV A, #38H
ACALL WRITECOM MOV A, #0EH
ACALL WRITECOM MOV A, #06H
ACALL WRITECOM RET
CLEAR:
MOV A, #01H
ACALL WRITECOM RET
WRITECOM:
CLR LCD_RS
MOV DPTR, #LCDADDR MOVX @DPTR, A
SETB LCD_E
CLR LCD_E
ACALL WAIT_LCD RET
Trang 4MOV DPTR, #LCDADDR
SETB LCD_RS
MOVX @DPTR, A
SETB LCD_E
CLR LCD_E
ACALL WAIT_LCD RET
DISPLAYSTRING:
MOV A, #0
LOOP:
MOV DPTR, #MESSAGE MOV R0, A
MOVC A, @A+DPTR
JZ EXIT
ACALL WRITETEXT MOV A, R0
INC A
DJNZ B, LOOP
EXIT:
RET
WAIT_LCD:
Trang 5MOV R6, #10
DL1:
MOV R7, #250
DJNZ R7, $
DJNZ R6, DL1 ;delay 5ms RET
MESSAGE:
DB "GOODBYE COVID 19",0
END
CÂU 3:
ORG 2000H
MOV DPTR,#TABLE MOV SCON,#01000010B MOV TMOD,#20H MOV TH1,#(-3) MOV TL1,TH1 MOV PCON,#80H
SETB TR1 LOOP:MOV R1,#0
LAP: CLR TI
MOV A,R1 MOVC A,@A+DPTR MOV SBUF,A
JNB TI, $
Trang 6INC R1 CJNE R1,#6,LAP L: JNB P1.0,NEXT
SJMP L
NEXT:MOV R5,#4
AY: MOV R7,#250
AX: MOV R6,#250
DJNZ R6,$
DJNZ R7,AX DJNZ R5,AY SJMP LOOP TABLE: DB 'HELLO',0
END
CÂU 4:
ORG 0000H
MOV DPTR,#TABLE ; #TABLE để truy xuất bảng, #LAP không có nghĩa MOVC A,@A+DPTR
MOV DPTR,#0000H MOVX @DPTR,A MOV A,R7
INC A ACALL DELAY_3MS
Trang 7CJNE A,#4,LAP SJMP LOOP TABLE: DB 73H,0B4H,0D5H,0E6H ; LẦN LƯỢT 4 BIT CAO LÀ VỊ TRÍ LED, 4 BIT THẤP HIỆN SỐ
DELAY_3MS: MOV TMOD,#01H
MOV TH0,#HIGH(-3000) ; 3.103 =3000 MOV TL0,#LOW(-3000)
SETB TR0 JNB TF0,$
CLR TF0 CLR TR0 RET END