BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCMKHOA ĐIỆN BÁO CÁO THỰC HÀNH VI XỬ LÝ GIÁO VIÊN HƯỚNG DẪN:NGUYỄN TRUNG DŨNG SINH VIÊN :NGUYỄN VĂN ĐÀN I.. BÀI TẬP YÊU CẦU Viết chương
Trang 1BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM
KHOA ĐIỆN
BÁO CÁO THỰC HÀNH VI XỬ LÝ
GIÁO VIÊN HƯỚNG DẪN:NGUYỄN TRUNG DŨNG
SINH VIÊN :NGUYỄN VĂN ĐÀN
I LED ĐƠN
1 BÀI TẬP YÊU CẦU
Viết chương trình điều khiển 16 led đơn: chớp tắt 5 lần 2 led dịch từ trái sang phải 3 leddịch từ phải sang trái sau đó lặp lại
Trang 2MOV R0,#5
CT:
LCALL CHOPTATDJNZ R0,CTLCALL DICHLEDJMP MAIN
CHOPTAT:
MOV P1,#00HMOV P0,#00HLCALL DELAYMOV P1,#0FFHMOV P0,#0FFHLCALL DELAYRET
LA3:
CLR C
Trang 3RRC A
MOV P0,ALCALL DELAY
JB P0.6,LA3
LA4: RR AMOV P0,ALCALL DELAY
JB P0.0,LA4MOV P0,#0FEHCALL DELAYMOV P0,#0FFHLCALL DELAYMOV A,#0FFH
LA5:
CLR C
RLC A
MOV P0,ACALL DELAY
JB P0.2,LA5
LA6:
RL A
MOV P0,ACALL DELAY
JB P0.7,LA6MOV P0,#3FHMOV P1,#0FEHCALL DELAYMOV P0,#7FHMOV P1,#0FCHCALL DELAYMOV P0,#0FFHMOV P1,#0F8HMOV A,#0F8H
LA7:
Trang 4DJNZ R5,SC3 RET
Trang 5P1=0x00;
P0=0x00;
delay_ms(500);P0=0xff;
P1=0xff;
delay_ms(500);}
P0=0xff;
P1=0xeFf;
for(b=0;b<2;b++){
P1=P1>>1;delay_ms(500);}
for(b=0;b<6;b++){
P1=(P1>>1)|0x80;delay_ms(500);}
P1=0xfe;
P0=0x7f;
delay_ms(500);P1=0xff;
P0=0x3f;
delay_ms(500);for(c=0;c<8;c++){
P0=(P0>>1)|0x80;delay_ms(500);}
for(c=0;c<3;c++){
P0=P0<<1;
Trang 6II 7 SEG (LED 7 ĐOẠN)
1 BÀI TẬP YÊU CẦU
Viết chương trình điều khiển led 7 đoạn đếm từ 20 về 0
2 PHẦN CỨNG
Trang 73 CHƯƠNG TRÌNH VIẾT BẰNG ASM
Trang 101 BÀI TẬP YÊU CẦU
Viết chương trình hiên thị tên trường,họ tên sinh viên,mã số sinh viên,lớp,môn học giáo viên hướng dẫn nhóm thực hành trên 2 dòng của LCD
2 PHẦN CỨNG
Trang 113 CHƯƠNG TRÌNH VIẾT BẰNG ASM
Trang 12CALL GUILENH
MOV A,#80H
CALL GUILENH
MOV DPTR,#DONG3CALL HIENTHICALL DELAY
MOV A,#0C0HCALL GUILENH
MOV DPTR,#DONG4CALL HIENTHI
CALL DELAY
MOV A,#0C0HCALL GUILENH
MOV DPTR,#DONG6CALL HIENTHI
Trang 18MOV P0,#0FFHMOV B,#100
DIV AB
MOV P2,#0FDHMOVC A,@A+DPTRMOV P0,A
LCALL QUET
MOV P0,#0FFHMOV A,B
MOV B,#10
DIV AB
MOV P2,#0FBHMOVC A,@A+DPTRMOV P0,A
LCALL QUET
MOV A,B
MOV P0,#0FFHMOV P2,#0F7HMOVC A,@A+DPTRMOV P0,A
LCALL QUET
MOV P0,#0FFHMOV P2,#0FEHMOV P0,#0C0HLCALL QUET
MOV A,R0
SJMP LAP2
QUETPHIM:
MOV P1,#0FEHJNB P1.4,XOA
JNB P1.5,KEY1
JNB P1.6,KEY2
JNB P1.7,KEY3
MOV P1,#0FDH
Trang 19JNB P1.5,KEY9
JNB P1.6,CONG
JNB P1.7,TRU
MOV P1,#0F7HJNB P1.4,BANG
JNB P1.5,ANS
RET
XOA:
JNB P1.4,$MOV A,#0JMP LAP2RET
KEY1:
JNB P1.5,$MOV A,#1JMP HIENTHIRET
KEY2:
JNB P1.6,$MOV A,#2 JMP HIENTHIRET
KEY3:
JNB P1.7,$MOV A,#3JMP HIENTHIRET
KEY4:
Trang 20JNB P1.4,$MOV A,#4JMP HIENTHIRET
KEY5:
JNB P1.5,$MOV A,#5JMP HIENTHIRET
KEY6:
JNB P1.6,$MOV A,#6JMP HIENTHIRET
KEY7:
JNB P1.7,$MOV A,#7JMP HIENTHIRET
KEY8:
JNB P1.4,$MOV A,#8JMP HIENTHIRET
KEY9:
JNB P1.5,$MOV A,#9JMP HIENTHIRET
CONG:
JNB P1.6,$MOV R5,AMOV R1,#1JMP LAP2
Trang 23KEY=0;
}
if(COL2==0) {
while(COL2==0){
}
KEY=1;
}
if(COL3==0) {
while(COL3==0){
}
KEY=2;
}
if(COL4==0) {
while(COL4==0){
}
KEY=3;
}
HANG1=1;HANG2=0;if(COL1==0) {
while(COL1==0){
}
KEY=4;
}
if(COL2==0)
Trang 24while(COL2==0){
}
KEY=5;
}
if(COL3==0) {
while(COL3==0){
}
KEY=6;
}
if(COL4==0) {
while(COL4==0){
}
KEY=7;
}
HANG2=1;HANG3=0;if(COL1==0) {
while(COL1==0){
}
KEY=8;
}
if(COL2==0) {
while(COL2==0){
}
Trang 25}
if(COL3==0) {
while(COL3==0){
while(COL4==0){
while(COL1==0){
}
if(A==1)
{
KEY=KEY+I;ANS=KEY;A=0;
}
if(A==2)
{
KEY=I-KEY;
Trang 27V ĐIỀU KHIỂN ĐỘNG CƠ BƯỚC (STEP MOTOR)
1 BÀI TẬP YÊU CẦU
Điều khiển động cơ bước theo yêu cầu:nhấn sw1 bật chế độ hiển thị và chạy động cơ.sw2 động cơquay thuận chậm.nhấn sw3 động cơ quay nghịch nhanh.nhấn sw4 động cơ dừng
Trang 29MOV R6,#0MOV P3,#00HMOV 04H,#30MOV R3,#20 CALL DELAY
XX02:
MOV 03H,#2
XX2:
MOV 02H,#230TD2:CLR CCALL HIENTHIMOV A,#10HX12:RRC AMOV P3,A
CALL DELAYJNC X12
CALL HIENTHIDJNZ 02H,TD2DJNZ 03H,XX2INC R6
DJNZ 04H,XX02 JMP TD2
STOP:
MOV P3,#00HMOV R0,#0MOV R7,#1JMP LAP1
DELAY:
JNB P1.4,ONJNB P1.5,THUANJNB P1.6,NGHICHJNB P1.7,STOP DJNZ R3,DELAY