1
Code lập trình Vi Điều Khiển 8051 cơ bản ASM
Những code lập trình asembly đơn giản này các bạn xem sẽ dễ hiểu có điều gì thắc mắc các
bạn cứ hỏi nhé. Simple is the best
I.PHẦN LED ĐƠN LỆNH MOV
1.Chương trình led sáng nhấp nháy port 1.
Mã:
ORG 00H
MAIN:
MOV P1,#00H;led tắt hết
CALL DELAY
MOV P1,#0FFH;led sáng hết
CALL DELAY
JMP MAIN
DELAY:;CT tạo trễ
MOV R0,#50
LAP:
NOP
NOP
DJNZ R0,LAP
RET
END
2.Chương trình Led sáng dần port 1
2
Mã:
ORG 00H
MAIN:
MOV P1,#00000000B;Trạng thái led tắt hết
CALL DELAY
MOV P1,#00000001B;Led p1.0 sáng
ORG 00H
MAIN:
MOV P1,#11111111B;Trạng thái led sáng hết
CALL DELAY
MOV P1,#11111110B;Led p1.0 tắt
CALL DELAY
MOV P1,#11111100B;led p1.0 tắt,p1.1 tắt
CALL DELAY
MOV P1,#11111000B
CALL DELAY
MOV P1,#11110000B
CALL DELAY
MOV P1,#11100000B
CALL DELAY
MOV P1,#11000000B
CALL DELAY
MOV P1,#10000000B
3
CALL DELAY
MOV P1,#00000000B
CALL DELAY
JMP MAIN
DELAY:
MOV R0,#200
LAP:
MOV R1,#200
LAP2:
NOP
NOP
NOP
CALL DELAY
RET
CON2:;TAT DAN
MOV P1,#11111111B
CALL DELAY
MOV P1,#01111111B
CALL DELAY
MOV P1,#00111111B
CALL DELAY
MOV P1,#00011111B
4
CALL DELAY
MOV P1,#00001111B
CALL DELAY
MOV P1,#00000111B
CALL DELAY
MOV P1,#00000011B
CALL DELAY
MOV P1,#00000001B
CALL DELAY
MOV P1,#00000000B
CALL DELAY
RET
DELAY:
MOV R0,#200
LAP:
MOV R1,#200
LAP2:
LAP1: ; nhan vong lap
SETB C ; Thiet lap co nho C len 1
RRC A ; quay phai thanh ghi A co co nho
MOV P2,A ; chuyen gia tri thanh ghi A vua quay xuat ra Port 2
CALL DELAY;goi chuong trinh tre de thay hieu ung led
CJNE A,#0FFH,LAP1;Kiem tra thanh ghi A da bang 11111111 chua, neu chua bang thin
hay den LAP1
RET
; Chuong trinh tao thoi gian tre
DELAY:
MOV R0,#200
LOOP:
MOV R1,#210
LOOP1:
NOP
DJNZ R1,LOOP1
DJNZ R0,LOOP
RET
END
III. LED ĐƠN LẪY BẢNG MÃ
6
Mã:
ORG 00H
MAIN:
CALL CTA; sang dan qua trai
CALL CTB; sang dan qua phai
JMP MAIN
;*****************************************
CTA:
MOV R0,#00H ;Bien dem so trang thai hien thi
MOV R2,#250
LOOP1:
NOP
DJNZ R2,LOOP1
DJNZ R3,LOOP
RET
END
IV. DÙNG IC 74HC595
Mã:
ORG 00H
MAIN:
CALL CTA;goi chuong trinh con
CALL CTB
CALL CTC
JMP MAIN
CTA:
8
;sang dan led
MOV R1,#8;quet 8 led
LAP:
SETB P2.0;thiet lap bit chan data len 1 cho led sang
CALL DELAY
SETB P2.1;tao xung mo cho bit vao chan SH
CALL DELAY
CLR P2.1;tao xung dong khong cho bit vao chan SH
CALL DELAY
SETB P2.2;tao xung mo ST cho bit xuat ra cac chan led
CALL DELAY
CLR P2.2;tao xung dong ST khong cho bit xuat ra cac chan led
CALL DELAY
MOV R1,#7
LAP2:
CLR P2.0
SETB P2.1
CLR P2.1
SETB P2.2
CLR P2.2
CALL DELAY
CALL DELAY
DJNZ R1,LAP2
DJNZ R4,NHAY
RET
9
CTC:;sang nhap nhay led
MOV R4,#3
NHAY1:
MOV R1,#8
LAP3:
SETB P2.0
SETB P2.1
CLR P2.1
DJNZ R1,LAP3
SETB P2.2
CLR P2.2
CALL DELAY
MOV R1,#8
LAP4:
o Mô phỏng giao tiếp giữa
Chia sẻ Code l?p tr
10
ADC0804 với
o Nan giải nguồn chuẩn cho
ADC
o Code cho led ma trận 2 màu
o AE cơ điện tử giúp mình code
cube 555
o Bác nào giúp mình về led 7
thanh đếm
o Code lịch vạn niên
dinh88hua, trungns, Phan Văn Ân và 7 others thích bài này.
#1
2.
3. Đăng 30/6/13#2
ChipKool
Moderator
Số bài viết: 870
Đã được thích: 956
Tài khoản
203,778 xu
LED 7 THANH
1. phương pháp thủ công và lấy mã:
11
Mã:
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P2,A
CALL DELAY
MOV A,B
MOVC A,@A+DPTR
MOV P3,A
CALL DELAY
DJNZ R7,QUAY
RET
MALED: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DELAY:
MOV R4,#150
CJNE R0,#100,LAP ; GIOI HAN CUA GIA TRI
JMP MAIN
14
HT: ; CHUONG TRINH HIEN THI LED 7 DOAN
MOV DPTR,#MALED ; GAN MA CHO THANH GHI CONTROL
MOV R7,#50 ; SO LAN QUET
QUET:
MOV A,R0
MOV B,#10
DIV AB ; CHIA LAY RA PHAN CHUC
MOVC A,@A+DPTR ; LAY MA LED HANG CHUC
MOV P2,A ; XUAT DU LIEU RA PORT
SETB P3.0 ; CHO PHEP HIEN THI
CALL DELAY
CLR P3.0
LAPB:
15
DJNZ R2,LAPB
DJNZ R1,LAPA
RET
ORG 500 ; MA LED 7 DOAN
MALED:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
3. Phương pháp dùng ic chốt 74hc373
16
Mã:
ORG 00H
MAIN:
MOV A,R1
MOV B,#10
DIV AB ; LAY GIA TRI HANG CHUC
MOVC A,@A+DPTR; LAY MA LED
MOV P2,A ;XUAT DU LIEU RA PORT VA HIEN THI TREN LED 7 DOAN
SETB P3.0
CLR P3.0
MOV A,B ; LAY GIA TRI HANG DON VI
MOVC A,@A+DPTR ; LAY MA LED HANG DON VI
17
MOV P2,A ; XUAT VA HIEN THI TREN LED 7 DOAN
SETB P3.1
CLR P3.1
CALL DELAY
RET
4. Đăng 30/6/13#3
ChipKool
Moderator
Số bài viết: 870
Đã được thích: 956
Tài khoản
203,778 xu
PHIM ĐƠN
18
1. Phím đơn + led Đơn : 4 phím 4 led
Mã:
ORG 00H
MAIN:
MOV P2,#00000000B
KEY1:
JNB P1.4,KEY1OK
CLR P2.0
CALL DELAY
19
JMP KEY2
KEY1OK:
CALL DELAY
JMP KEY4
KEY3OK:
SETB P2.2
CALL DELAY
KEY4:
JNB P1.7,KEY4OK
CLR P2.3
CALL DELAY
JMP KEY1
20
KEY4OK:
SETB P2.3
CALL DELAY
JMP KEY1
KEY0OK:
CALL CTHT
INC R0
KEY1:
JNB P1.6,KEY1OK
JMP KEY0
KEY1OK:
CALL CTHT
DEC R0
JMP KEY0
JMP MAIN
CTHT:
MOV R7,#5
QUET:
22
MOV A,R0
MOV B,#10
DIV AB
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P3,A
CALL DELAY
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
CALL DELAY
DJNZ R7,QUET
RET
NGHICH_R:
CLR P3.0
SETB P3.1
JMP MAIN
24
THUAN_H:
SETB P3.2
CLR P3.3
JMP MAIN
NGHICH_H:
CLR P3.2
SETB P3.3
JMP MAIN
STOP:
CLR P3.0
CLR P3.1
CLR P3.2
CLR P3.3
JMP MAIN
CALL DELAY
DELAY:
MOV R0,#200
LOOP:
MOV R1,#250
LOOP1:
CTHT:;CHUONG TRINH HIEN THI
MOV R7,#64;Moi chu la 1 ma tran 8x8, co 8 chu nhu vay se la 8x8 = 64
CHAYCHU:
MOV R5,#100;toc do chay chu
QUET: