Chuẩn bị thí nghiệm vi điều khiển Đại Học Bách Khoa Hà Nội - Pdf 13

Chuẩn bị thí nghiệm vi điều khiển

Bài 1: Điều khiển động cơ bước
Code assembly:
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN:
MOV R1,#4
MOV A,#0FEH
SETB C
QUAY:MOV P1,A
LCALL DELAY
RL A
DJNZ R1,QUAY
SJMP MAIN
DELAY:
MOV R5,#20
L1: MOV R6,#20
L2: MOV R7,#248
DJNZ R7,$
DJNZ R6,L2
DJNZ R5,L1
RET
END
Bài 2: Hiển thị LCD 16x2
Code bằng C:
#include<regx51.h>
sbit rs=P3^3;
sbit rw=P3^4;
sbit en=P3^5;

{
rs=0;
rw=0;
lcd_port=data;
lcd_enable();
}
void lcd_clear()
{
lcd_sendcommand(0x01);
delay_us(10);
}
// chuong trinh con khoi tao lcd
void init()
{
lcd_sendcommand(0x030); //chon che do 8 bit du lieu
delay_ms(5);
lcd_sendcommand(0x38); // chon hien thi 2 dong va ma tran 5x7
delay_ms(5);
lcd_sendcommand(0x0C); // bat hien thi, tat con tro
delay_ms(5);
lcd_sendcommand(0x06);
delay_ms(5);
lcd_sendcommand(0x01); // clear man hinh lcd
delay_ms(5);
}
// chuong trinh con tro ve dau dong
void lcd_home()
{
lcd_sendcommand(0x80);
}

while(1);//ko lam gi ca
{

}
}
Bài 3: Quét bàn phím hiển thị led 7 thanh
;chuong trinh quyet ban phim va hien thi LED
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV A,#10000010b ; đây là từ điều khiển xuất ra từ vđk port
A,port C là đầu ra còn port B là đầu vào
MOV DPTR,#8003H ; chọn thanh ghi điều khiển
MOVX @DPTR,A ; xuất từ điều khiển
MOV A,#11110000b
MOV DPTR,#8001H ; chỏ tới địa chỉ của port B
MOVX @DPTR,A ; cài đặt cho các bit cao của port B ở mức
cao
; Đây là chương trình con kiểm tra phím đã được nhả hay chưa( đấy là sau khi bấm
phím) để đảm bảo chắc chắn rằng phím ấn trước đo đã dc nhả ra
KEY1: MOV A,#11110000B
MOV DPTR,#8000H
MOVX @DPTR,A
MOV DPTR,#8001H
MOVX A,@DPTR
ANL A,#11110000B
CJNE A,#11110000B,KEY1
; Đây là chương trình con kiểm tra xem có phím nào được ấn hay không và chờ
một phím được ấn

MOV A,#11111101B ; tiếp đất cột 2
MOV DPTR,#8000H ; chọn port A
MOVX @DPTR,A; ; xuất dữ liệu ra port A
MOV DPTR,#8001H; ; chọn port B
MOVX A,@DPTR
ANL A,#11110000B
CJNE A,#11110000B,FIND_HANG2
LCALL DELAY
MOV A,#11111011B ; tiep dat cot 3
MOV DPTR,#8000H; ; chọn port A
MOVX @DPTR,A ; XUAT DU LIEU RA PORT A
MOV DPTR,#8001H; ; CHON PORT B
MOVX A,@DPTR ; đọc tất cả các hàng
ANL A,#11110000B
CJNE A,#11110000B,FIND_HANG3
LJMP KEY2
; tập chương trình con tìm phím dã dc ấn
FIND_HANG1:
MOV DPTR,#8001H ; CHON PORT B
MOVX A,@DPTR ; LAY TIN HIEU TU PORT B
ANL A,#11110000B
SO_1: CJNE A,#10110000B,SO_4 ; kiểm tra xem phím số 4 có dc ấn
không?,nếu không thì nhảy đến SO_4 tìm tiếp
LJMP HT_1 ; nếu phím dc ấn thì nhảy dến chương trình
con hiển thị số 1 lên led
SO_4:
CJNE A,#11010000B,SO_7
LJMP HT_4
SO_7:
CJNE A,#11100000B,FIND_HANG2

HT_9:
MOV DPTR,#8002H; CHO TOI DIA CHI CUA PC
MOV A,#00001001B;
MOVX @DPTR,A;
LJMP KEY1
HT_7:
MOV DPTR,#8002H; CHO TOI DIA CHI CUA PC
MOV A,#00000111B;
MOVX @DPTR,A;
LJMP KEY1
HT_4:
MOV DPTR,#8002H; CHO TOI DIA CHI CUA PC
MOV A,#00000100B;
MOVX @DPTR,A;
LJMP KEY1
HT_1:
MOV DPTR,#8002H; CHO TOI DIA CHI CUA PC
MOV A,#00000001B;
MOVX @DPTR,A;
LJMP KEY1
HT_3:
MOV DPTR,#8002H; CHO TOI DIA CHI CUA PC
MOV A,#11110011B;
MOVX @DPTR,A;
LJMP KEY1
HT_6:
MOV DPTR,#8002H; CHO TOI DIA CHI CUA PC
MOV A,#11110110B;
MOVX @DPTR,A;
LJMP KEY1

END

Bài 14: Giao tiếp relay với Led đơn
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN:
;CAI DAT IC 82C55
MOV A,#82H ; CHON PA,PC LA DAU RA CON PB LA
DAU VAO
MOV DPTR,#8003H
MOVX @DPTR,A
MOV DPTR,#8001H ; CHON PORT B
MOV A,#0FFH
MOVX @DPTR,A
;CHUONG TRINH CON KIEM TRA XEM PHIM CO DC AN KHONG
BACK:
MOV DPTR,#8001H

SJMP RL_4
; CHUONG TRINH DIEU KHIEN RELAY
RL_1: MOV DPTR,#8000H ; CHO TOI DIA CHI CUA PORT A
MOV A,#00000001B
MOVX @DPTR,A
LJMP BACK
RL_2:
MOV DPTR,#8000H
MOV A,#00000010B
MOVX @DPTR,A
LJMP BACK
RL_3:
MOV DPTR,#8000H
MOV A,#00000100B
MOVX @DPTR,A
LJMP BACK
RL_4:
MOV DPTR,#8000H
MOV A,#00001000B
MOVX @DPTR,A
LJMP BACK
RET
;HAM TRE
DELAY: mov r0,#1
loop1:mov r1,#10
loop2:mov r2,#255
loop3:djnz r2,loop3
djnz r1,loop2
djnz r0,loop1
ret

but1:
mov dptr,#portb
movx a,@dptr
anl a,#00001111b
cjne a,#00001101B,but2
sjmp rl_1
but2:
mov dptr,#portb
movx a,@dptr
anl a,#00001111b
cjne a,#00001011B,but3
sjmp rl_2
but3:
mov dptr,#portb
movx a,@dptr
anl a,#00001111b
cjne a,#00000111B,but1
sjmp rl_3
rl_0:
mov a,#00000001b
mov dptr,#porta
movx @dptr,a
ljmp back
rl_1:
mov a,#00000010b
mov dptr,#porta
movx @dptr,a
ljmp back
rl_2:
mov a,#00000100b


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status