LẬP TRÌNH ĐIỀU KHIỂN LED 7 ĐOẠN SỬ DỤNG VI ĐIỀUKHIỂN HỌ 8051

LẬP TRÌNH ĐIỀU KHIỂN LED 7 ĐOẠN SỬ DỤNG VI ĐIỀUKHIỂN HỌ 8051

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (315.78 KB, 27 trang )

Bài 7.2. LẬP TRÌNH ĐIỀU KHIỂN LED 7 ĐOẠN SỬ DỤNG VI ĐIỀU
KHIỂN HỌ 8051
7.2.1. Cấu trúc phần cứng
a. Cấu trúc led 7 đoạn
Vì led 7 đoạn chứa bên trong các led đơn, do đó khi kết nối cần đảm bảo dòng
qua mỗi led đơn trong khoảng 10mA-20mA để bảo vệ led. Nếu kết nối với nguồn 5V
có thể hạn dòng bằng điện trở trước các chân nhận tín hiệu điều khiển.
* Bảng mã hiển thị led 7 đoạn:
Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn có Anode chung (các led đơn
sáng ở mức 0):
Số hiển thị trên
led 7 đoạn
Mã hiển thị led 7 đoạn
dạng nhị phân
Mã hiển thị led 7 đoạn
dạng thập lục phân
dp g f e d c b a
0 1 1 0 0 0 0 0 0 C0
1 1 1 1 1 1 0 0 1 F9
2 1 0 1 0 0 1 0 0 A4
3 1 0 1 1 0 0 0 0 B0
4 1 0 0 1 1 0 0 1 99
5 1 0 0 1 0 0 1 0 92
6 1 1 0 0 0 0 1 0 82
7 1 1 1 1 1 0 0 0 F8
8 1 0 0 0 0 0 0 0 80
9 1 0 0 1 0 0 0 0 90
A 1 0 0 0 1 0 0 0 88
B 1 0 0 0 0 0 1 1 83
C 1 1 0 0 0 1 1 0 C6
D 1 0 1 0 0 0 0 1 A1

Số hiển thị trên
led 7 đoạn
Mã hiển thị led 7 đoạn
dạng nhị phân
Mã hiển thị led 7 đoạn
dạng thập lục phân
E 1 0 0 0 0 1 1 0 86
F 1 0 0 0 1 1 1 0 8E
– 1 0 1 1 1 1 1 1 BF
b. Kết nối vi điều khiển với led 7 đoạn
Ngõ nhận tín hiệu điều khiển của led 7 đoạn có 8 đường, vì vậy có thể dùng 1
Port nào đó của Vi điều khiển để điều khiển led 7 đoạn. Như vậy led 7 đoạn nhận một
dữ liệu 8 bit từ Vi điều khiển để điều khiển hoạt động sáng tắt của từng led led đơn
trong nó, dữ liệu được xuất ra điều khiển led 7 đoạn thường được gọi là “mã hiển thị
led 7 đoạn”. Có hai kiểu mã hiển thị led 7 đoạn: mã dành cho led 7 đoạn có Anode
(cực +) chung và mã dành cho led 7 đoạn có Cathode (cực -) chung.
– Phần cứng được kết nối với 1 Port bất kì của vi điều khiển, để thuận tiện cho
việc xử lí về sau phần cứng nên được kết nối như sau: Px.0 nối với chân a, Px.1 nối
với chân b, lần lượt theo thứ tự cho đến Px.7 nối với chân dp.
– Dữ liệu xuất có dạng nhị phân như sau : dp g f e d c b a
Nếu kết nối mỗi một Port của Vi điều khiển với 1 led 7 đoạn thì tối đa kết nối
được 4 led 7 đoạn. Mặt khác nếu kết nối như trên sẽ hạn chế khả năng thực hiện các
công việc khác của Vi điều khiển. Cho nên cần phải kết nối, điều khiển nhiều led 7
đoạn với số lượng chân điều khiển từ Vi điều khiển càng ít càng tốt. Có hai giải pháp:
một là sử dụng các IC chuyên dụng cho việc hiện thị led 7 đoạn, hai là kết nối nhiều
led 7 đoạn vào cùng một đường xuất tín hiệu hiển thị.
7.2.2. Lập trình ứng dụng điều khiển led 7 đoạn
Bài toán 1: Lập trình nhận phím đơn từ cổng P1 điều khiển 1 led 7 đoạn tại cổng P0.
Yêu cầu:
– Nhấn phím 1 thì led 7 đoạn hiển thị số đếm tiến từ 0 đến 9

– Nhấm phím 2 thì led 7 đoạn hiển thị số đếm lùi từ 9 về 0
– Nhấn phím 3 thì led 7 đoạn hiển thị số 0
Bước 1: Xây dựng phần cứng.
Với yêu cầu của bài toán, phần cứng được thiết kế như sau:
Bước 2: Xây dựng lưu đồ thuật toán.
Bước 3: Xác định các lệnh sử dụng để xuất nhập cổng
Khai báo vào ra,
Khởi động hệ thống
Led hiển thị số đếm
từ 0 đến 9
Yes
No
Phim1 =0?
Led hiển thị đếm lùi
từ 9 về 0
Yes
No
Phím 2 = 0?
Led hiển thị số 0
Yes
No
Phím 3 = 0?
Kết thúc
Khởi động
Cấu trúc lệnh Ý nghĩa
Số chu
kỳ máy
JNB bit,rel Nhảy tới nhãn rel nếu bit = 0 2
pop direct Lấy nội dung của ô nhớ ngăn xếp trả cho ô nhớ có địa
chỉ direct, con trò ngăn xếp SP giảm đi 1 sau khi lấy

dữ liệu ra
2
inc a Tăng nội dung thanh ghi a lên 1 1
push direct Cất nội dung của ô nhớ có địa chỉ direct vào ô nhớ
ngăn xếp, con trỏ ngăn xếp SP tăng lên 1 trước khi lưu
nội dung
2
call rel Gọi chương trình con 2
clr bit Xóa bit: bit = 0 1
setb bit Thiết lập bit = 1 1
mov Dis,Souce Di chuyển dữ liệu từ nguồn “souce” tới đích “Dis” 2
cjne a,#data,rel Nội dung của A khác data 8 thì lệnh nhảy đến thực
hiện lện tại địa chỉ rel
2
djnz Rn,rel Nội dung của Rn giảm đi 1 và kết quả trong Rn giảm
khác 0 thì vì thực hiện chương trình rel
2
Ret Kết thúc chương trình con 2
Bước 4: Viết chương trình
a. Nguyên lý chung xây dựng chương trình
Các lệnh xuất dữ liệu:
MOV P0,#00H; Thiết lập cổng P0  P0= 5 v
MOV P0,#0FFH; Xóa cổng P0: P0 = 0  P0 = 0 V
Các lệnh nhảy không điều kiện:
JMP rel ; Nhảy tới nhãn rel trong phạm vi 128 byte
LJMP rel ; Nhảy tới nhãn rel trong phạm vi 256 byte
b. Xây dựng chương trình theo yêu cầu bài toán
– Khởi động hệ thống:
+ Do yêu cầu của bài toán là khi khởi động Led 7 đoạn tắt do đó cần phải gửi
dữ liệu ra Led là 0: do đó sử dụng lệnh:

Mov P0,#0C0H
+ Lưu bảng mã led 7 đoạn vào thanh ghi dptr
mov dptr,#bangma
+ Kiểm tra phím
kiemtra:
jnb SW1,CT1
jnb SW2,CT21
jnb SW3,CT3
– Chương trình đếm tiến từ 0 đến 9 thực hiện xuất dữ liệu ra led 7 đoạn
CT1:
push acc
movc a,@a+dptr
mov p0,a
call delay
pop acc
inc a
cjne a,#10,CT1
ljmp kiemtra
– Chương trình đếm lùi từ 9 về 0 thực hiện xuất dữ liệu ra led 7 đoạn
CT21:
mov a,#10
push acc
movc a,@a+dptr
mov p0,a
call delay
pop acc
dec a
cjne a,#0,CT21
ljmp kiemtra
– Chương trình led 7 đoạn hiển thị số 0

mov p0,#00h
call delay
ljmp kiemtra
– Chương trình delay
delay:
mov r5,#20
del1:
mov r6,#255
del2:
mov r7,#255
djnz r7,$
djnz r6,del2
djnz r5,del1
ret
* Như vậy, chương trình tổng thể như sau:
org 0000h
;======khai bao vao
SW1 bit p1.0
SW2 bit p1.1
SW3 bit p1.2
;======= khai bao ra
led equ p0
;======= khoi dong
mov a,#0
mov dptr,#bangma
kiemtra:
jnb SW1,CT1
jnb SW2,CT21
jnb SW3,CT3
movc a,@a+dptr

mov p0,a
ljmp kiemtra
;=====led dem tang tu 0 den 9
CT1:
push acc
movc a,@a+dptr
mov p0,a
call delay
pop acc
inc a
cjne a,#10,CT1
ljmp kiemtra
;======led giam tu 9 xuong 0
CT21:
mov a,#10
push acc
movc a,@a+dptr
mov p0,a
call delay
pop acc
dec a
cjne a,#0,CT21
ljmp kiemtra
;=======led hien thi so 0
CT3:
mov p0,#00h
call delay
ljmp kiemtra
;========= chuong trinh tre
delay:

mov r5,#20
del1:
mov r6,#255
del2:
mov r7,#255
djnz r7,$
djnz r6,del2
djnz r5,del1
ret
bangma:
db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h
end
– Dịch kiểm tra lỗi:
Các thao tác dịch:
B1: Ghi bài vừa làm: nhấn tổ hợp phín Ctrl + S
B2: Dịch: nhấn tổ hợp phím Ctrl +F2
B3: Đọc các thông báo lỗi nếu có và sửa lỗi
– Nạp chạy mô phỏng:
B1: Mở chương trình mô phỏng
B2: Nạp file.Hex
B3: Chạy mô phỏng kiểm tra nguyên lý hoạt động của mạch theo yêu cầu công
nghệ.
7.2.3 Phát triển các ứng dụng
Ví dụ: Kết nối với nhiều led 7 đoạn và ứng dụng hiện thị thời gian
Mạch điện mô tả một đồng hồ báo giờ, ở đây port1 (p1.0-p0.7) điều khiển các
cưc dương của led 7 đoạn, còn các chân p3.0-p3.3 sẽ điều khiển các cực âm chung của
led 7 đoạn (lưu ý: cả 4led trên đều là loại Catod chung).
Tóm tắt sự hoạt động của mạch
Trên các chân p3.0-p3.3 có hai đường nối vào đó; một đường nối đến transistor
và một đường nối đến phím nhấn (switch) với chân p3.4. điều đó có nghĩa là trong quá

trình hiển thị đồng thời vi điều khiển cũng kiểm tra xem có phím nào được nhấn hay
không. nếu có thì chân p3.4 sẽ xuống mức “thấp”. lúc đó vi điều khiển sẽ xử lý theo
chức năng của phím mà chúng ta đã nhấn.trong 4 phím đó có 2 phím điều khiển giờ và
điều chỉnh phút, một khóa dùng để tắt mở đèn mà nó được điều khiển bởi chân p3.7
thông qua các rơ le và điểm L và N nối vào nguồn điện xoay chiều 220v, bóng đèn
cũng là loại 220v.
Mẫu số 7 ( Khổ 19×26,5)
Ban hành kèm theo Quyết định số 62/2008/QĐ-BLĐTBXH
BỘ NÔNG NGHIỆP VÀ PHÁT TRIỂN NÔNG THÔN
TRƯỜNG CAO ĐẲNG NGHỀ CƠ ĐIỆN VÀ XÂY DỰNG BẮC NINH
SỔ GIÁO ÁN
TÍCH HỢP
Môn học/ Mô-đun : Vi điều khiển
Lớp : CĐ – ĐT1 Khoá : 40
Họ và tên giáo viên :
Năm học: 2011 -2012

Mẫu số 7.
Ban hành kèm theo Quyết định số 62/2008/QĐ-BLĐTBXH
GIÁO ÁN SỐ:
Thời gian thực hiện: 01h
Tên bài học trước: 7.1. lập trình điều khiển led đơn
Thực hiện từ ngày đến ngày
TÊN BÀI:
7.2 LẬP TRÌNH ĐIỀU KHIỂN LED 7 ĐOẠN SỬ DỤNG VI ĐIỀU KHIỂN HỌ 8051
MỤC TIÊU CỦA BÀI:
Sau khi học xong bài này người học có khả năng:
– Trình bày chính xác các lệnh sử dụng để xuất dữ liệu và cấu trúc phần cứng cho vi
điều khiển 8051 điều khiển led 7 đoạn.
– Thiết kế được phần cứng và lập trình ứng dụng nhập, xuất dữ liệu ra các cổng của

vi điều khiển 8051 để điều khiển led 7 đoạn.
– Rèn luyện tính cẩn thận, chính xác trong quá trình xây dựng phần cứng và lập trình
điều khiển.
ĐỒ DÙNG VÀ TRANG THIẾT BỊ DẠY HỌC:
– Máy tính đã cài các phần mềm pinacle, proteus
– KIT thực hành vi điều khiển đa năng
– Bài giảng, tài liệu phát tay
HÌNH THỨC TỔ CHỨC DẠY HỌC:
– Hướng dẫn ban đầu: Tập trung theo ca
– Hướng dẫn thường xuyên: phân nhóm
– Hướng dẫn kết thúc: theo ca
I. ỔN ĐỊNH LỚP HỌC: Thời gian: 01’

II. THỰC HIỆN BÀI HỌC.

TT NỘI DUNG
HOẠT ĐỘNG DẠY HỌC
THỜI
GIAN
HOẠT ĐỘNG CỦA
GIÁO VIÊN
HOẠT ĐỘNG CỦA
HỌC SINH
1 Dẫn nhập
Giới thiệu nguyên lý hoạt
động của mạch xuất nhập
cổng trên mạch mô phỏng
vi điều khiển.
– Trình chiếu sơ đồ

nguyên lý mạch điện
– Hãy nêu nguyên lý
hoạt động của mạch
điện ?
– Giải thích nguyên lý
– Quan sát, suy nghĩ.
– Trả lời câu hỏi.
– Ghi chép những điều
cần thiết.
03‘
hoạt động của mạch xuất
nhập cổng trên mạch mô
phỏng vi điều khiển.
2 Giới thiêu chủ đề
– Giới thiệu tên và mục
tiêu của bài học.
– Nội dung khái quát bài
học:
+ Các lệnh, cấu trúc phần
cứng xuất nhập cổng.
+ Xây dựng phần cứng,
lập trình phần mềm ứng
dụng xuất nhập cổng đơn.
– Giải thích ý nghĩa, tầm
quan trọng của xuất nhập
cổng trên vi điều khiển
8051.
– GV ghi tiêu đề của bài
học.
– Trình bày mục tiêu của

bài học và các nội dung
khái quát cần lĩnh hội.
– Lắng nghe và ghi
chép những điều cần
thiết.
– Xác định đúng chủ
đề và các kỹ năng cần
thiết cần hình thành
trong bài học.
04‘
3 Giải quyết vấn đề
7.2.1 Cấu trúc phần cứng
a. Cấu trúc led 7 đoạn
– Led 7 đoạn Anode
chung;
– Led 7 đoạn Cathode
chung;
* Bảng mã hiển thị led 7
đoạn.
b. Kết nối vi điều khiển
với led 7 đoạn
– Trình chiếu hình ảnh
led 7 đoạn.
– Hãy nêu sự khác nhau
giữa cấu trúc led 7 đoạn
Anode chung và
Cathode chung?
– Nêu chú ý khi sử dụng
led 7 đoạn.
– Trình chiếu Powerpoint

– Giải thích bảng mã
hiển thị led 7 đoạn.
– Trình chiếu hình ảnh
kết nối vi điều khiển với
led 7 đoạn;
– Giải thích các phương
pháp kết nối vi điều
khiển với led 7 đoạn.
– Quan sát hình ảnh
Suy nghĩ và trả lời
câu hỏi.
– Ghi chép những điều
cần thiết.
– Quan sát và ghi nhớ.
Quan sát hình ảnh.
Ghi chép những điều
cần thiết.
05’
7.2.2 Lập trình ứng
dụng điều khiển led 7
đoạn.
Bài toán 1: Lập trình
nhận phím đơn từ cổng
P1 điều khiển 1 led 7
đoạn tại cổng P2.
Bước 1: Xây dựng phần
cứng
Bước 2: Xây dựng lưu đồ
thuật toán.
Bước 3: Xác định các

lệnh sử dụng để xuất
nhập cổng.
Bước 4: Viết chương
trình thực hiện yêu cầu
bài toán.
a. Nguyên lí chung xây
dựng chương trình;
b. Xây dựng chương trình
thực hiện yêu cầu bài
toán.
– Khởi động hệ thống
– Trình chiếu yêu cầu
của bài toán.
– Chia nhóm.
– Trình chiếu, giải thích
sơ đồ phần cứng thực
hiện yêu cầu bài toán.
– Hướng dẫn xây dựng
phần cứng bằng KIT đa
năng.
– Quan sát và hướng dẫn
các nhóm.
– Trình chiếu, giảng giải
lưu đồ thuật toán thực
hiện nhiệm vụ bài toán.

– Hãy giải thích các lệnh
để xuất nhập cổng dữ
liệu?
Nhận xét câu trả lời

– Giải thích các lệnh xuất
dữ liệu, các lệnh nhảy
không điều kiện.
– Phân tích cấu trúc
chương trình
– Nêu mục đích của câu
lệnh với yêu cầu bài toán
– Trình diễn viết đoạn
chương trình khởi động
hệ thống.
– Quan sát và hướng dẫn.
– Xác định đúng
nhiệm vụ và yêu cầu
của bài.
– Xác định sơ đồ phần
cứng phù hợp nhiệm
vụ bài toán.
– Xây dựng phần
cứng, kết nối phím
đơn, led 7 đoạn với vi
điều khiển trên KIT
đa năng.
– Quan sát, ghi nhớ và
ghi chép những điều
cần thiết.
– Suy nghĩ và trả lời
câu hỏi.
– Lắng nghe và ghi
chép bài.
– Quan sát, suy nghĩ

và ghi chép.
– Thực hiện viết
03’
05’
05’
05’
20’
– Chương trình đếm tiến
từ 0 đến 9 thực hiện xuất
dữ liệu ra led 7 đoạn.
– Chương trình đếm lùi từ
9 đến 0 thực hiện xuất dữ
liệu ra led 7 đoạn.
– Chương trình led 7 đoạn
hiển thị số 0.
– Chương trình delay.
– Dịch kiểm tra và sửa
lỗi
– Nạp chạy mô phỏng.
7.2.3 Phát triển các ứng
dụng
Kết nối với nhiều led 7
đoạn và ứng dụng hiển thị
thời gian.
– Giải thích mục đích của
đoạn chương trình;
– Hãy nêu ý nghĩa của
các câu lệnh trong đoạn
chương trình?
– Quan sát và hướng dẫn.

– Giải thích mục đích của
đoạn chương trình;
– Hãy nêu ý nghĩa của
các câu lệnh trong đoạn
chương trình?
– Quan sát và hướng dẫn
– Giải thích mục đích của
đoạn chương trình.
– Hãy nêu mục đích của
chương trình delay?
– Quan sát và hướng dẫn.
– Phân tích các lỗi,
phương pháp sửa lỗi
– Phân tích các bước nạp
chạy mô phỏng
– Trình diễn sản phẩm
của bài toán.
– Phân tích nguyên lý
xây dựng mạch ứng
dụng
chương trình khởi
động hệ thống.
– Quan sát, suy nghĩ
và ghi chép.
– Trả lời câu hỏi
– Viết chương trình
đếm tiến 0 – 9.
– Trả lời câu hỏi
– Viết chương trình
đếm lùi 9 – 0.

– Viết chương trình
hiển thị sô 0.
– Suy nghĩ và trả lời
câu hỏi.
– Viết chương trình
delay.
– Thực hiện dịch kiểm
tra lỗi.
– Thực hiện nạp chạy
chương trình.
– Trình diễn sản phẩn
của bài toán.
– Xác định mục đích,
ý nghĩa của bài toán
ứng dụng.
04’
4 Kết thúc vấn đề
– Kết nối vi điều khiển
với led 7 đoạn.
– Nhấn mạnh, khái quát
hóa nội dung bài học
– Lắng nghe
03’
– Xác định lưu đồ thuật
toán thực hiện yêu cầu bài
toán.
– Viết chương trình điều
khiển led 7 đoạn.
+ Nạp chạy mô phỏng
– Nhận xét và đánh giá

sản phẩm của các nhóm.
– Phân tích các lỗi
thường gặp trong quá
trình lập trình ứng dụng
– Nêu những lưu ý về an
toàn khi thực hiện giải
quyết nhiệm vụ bài toán.
– Đại diện nhóm trình
diễn sản phẩm thực
hiện.
– Lắng nghe và ghi
chép những điều cần
thiết.
5 Hướng dẫn tự học Xây dựng phần cứng, viết phần mềm điều khiển 2
led 7 đoạn với yêu cầu: 3 nút nhấn nối với cổng
P0; khi nút nhấn 1 được bật thì 2 led hiển thị đếm
00 đến 99, bật nút nhấn 2 thì hiển thị số 55, bật
nút nhấn 3 thì tắt hết các led về 00.
02’
VI. RÚT KINH NGHIỆM TỔ CHỨC THỰC HIỆN:

TRƯỞNG KHOA
Ngày tháng 05 năm 2012
GIÁO VIÊN
PHIẾU HƯỚNG DẪN THỰC HIỆN QUY TRÌNH
Bài học
7.2 Lập trình điều khiển led 7 đoạn sử dụng họ vi điều khiển 8051
Kỹ năng

Sử dụng 3 nút bấm để điều khiển 1 led 7 đoạn hiển thị các trạng thái sau: đếm tiến 0 đến
9; đến lùi từ 9 về 0, và chỉ hiển thị số 0 (môdul: vi điều khiển).
TT Bước Tiêu chuẩn Lưu ý, An toàn
1 Bước 1: Xác định phần cứng với yêu cầu của bài toán: Lựa chọn đúng loại
linh kiện theo yêu
cầu của bài toán.
Đặt chính xác tên các
linh kiện
Máy tính cần phải
cài phần mềm
Proteus 7.1 trở
lên.
2
Bước 2: Xây dựng lưu đồ thuật toán:
– Sử dụng đúng hình
dạng các khối trong
lưu đồ.
– Vẽ dạng lưu đồ
đúng yêu cầu bài tập
Có thể tạo một
hình rồi copy ra
những hình khác.
Khai báo vào ra,
Khởi động hệ thống
Led hiển thị số
đếm từ 0 đến 9
Yes
No
Phim1 =0?
Led hiển thị

đếm từ 9 về 0
Yes
No
Phím2 = 0?
Led hiển thị số
0
Yes
No
Kết thúc
Khởi động
Phím 3 = 0?
3 Bước 3: Xác định các lệnh sử dụng để xuất nhập cổng
– JNB bit,rel: Nhảy tới nhãn rel nếu bit = 0
– inc a: Tăng nội dung thanh ghi a lên 1
– dec a: Giảm nội dung thanh ghi a đi 1
– pop direct: Lấy nội dung của ô nhớ ngăn xếp trả cho ô nhớ
có địa chỉ direct, con trò ngăn xếp SP giảm đi 1 sau khi lấy
dữ liệu ra
– push direct: Cất nội dung của ô nhớ có địa chỉ direct vào ô
nhớ ngăn xếp, con trỏ ngăn xếp SP tăng lên 1 trước khi lưu
nội dung
– call rel: gọi chương trình con
– clr bit: thực hiện xóa bit =0
– setb bit : thiết lập bit =1
– mov Dis,Souce : Di chuyển dữ liệu từ nguồn “souce” tới
đích “Dis”
– cjne a,#data,rel : Nội dung của a khác data 8 thì lệnh nhảy
đến thực hiện lện tại địa chỉ rel
– djnz Rn,rel: Nội dung của Rn giảm đi 1 và kết quả trong
Rn giảm khác 0 thì vì thực hiện chương trình rel

– Ret : thoát chương trình con về chương trình chính
Đánh chính xác các
lệnh, đoạn code.
Các câu lệnh
đúng trong ngôn
ngữ asm.
4 Bước 4: Viết chương trình
a, Nguyên lý chung xây dựng chương trình:
Các lệnh xuất dữ liệu:
MOV P0,#00H; Thiết lập cổng P0  P0= 5 v
MOV P0,#0FFH; Xóa cổng P0  P0 = 0 V
Các lệnh nhảy không điều kiện:
JMP rel ; Nhảy tới nhãn rel trong phạm vi 128 byte
LJMP rel ; Nhảy tới nhãn rel trong phạm vi 256 byte.
b,Xây dựng chương trình theo yêu cầu bài toán.
– Khởi động hệ thống:
+ Do yêu cầu của bài toán là khi khởi động Led 7 đoạn tắt
do đó cần phải gửi dữ liệu ra Led là 0: do đó sử dụng lệnh:
Mov a,#0
Mov P0,a
+ Lưu bảng mã led 7 đoạn vào thanh ghi dptr
mov dptr,#bangma
+ Kiểm tra phím
kiemtra:
jnb SW1,CT1
jnb SW2,CT21
jnb SW3,CT3
– Chương trình đếm tiến từ 0 đến 9 thực hiện xuất dữ liệu ra
led 7 đoạn
CT1:

push acc
movc a,@a+dptr
– Kiểm tra tính năng
của các nút bấm;
– Thực hiện viết các
chương trình con,
ghép thành chương
trình điều khiển hoàn
chỉnh.
Đảm bảo chương
trình hoàn thiện,
chạy đúng yêu cầu
mov p0,a
call delay
pop acc
inc a
cjne a,#10,CT1
ljmp kiemtra
– Chương trình đếm lùi từ 9 về 0 thực hiện xuất dữ liệu ra
led 7 đoạn
CT21:
mov a,#10
push acc
movc a,@a+dptr
mov p0,a
call delay
pop acc
dec a
cjne a,#0,CT21
ljmp kiemtra

– Chương trình led 7 đoạn hiển thị số 0
mov p0,#00h
call delay
ljmp kiemtra
– Chương trình delay
delay:
mov r5,#20
del1:
mov r6,#255
del2:
mov r7,#255
djnz r7,$
djnz r6,del2
djnz r5,del1
ret
PHIỀU BÀI TẬP
Bài 7.2. Xuất nhập cổng
Nhóm:…… Lớp:…… Thời gian hoàn thành: 4h Ngày thực hiện:……
Thành viên trong nhóm: …………………………………… Máy tính số: ………
Bài tập 1:
Xây dựng phần cứng, viết chương trình điều khiển 2 led 7 đoạn với yêu cầu: 3 nút
nhấn cho 3 chế độ: chế độ 1 hiển thị số 12, chế độ 2 hiển thị số từ 00 đến 99, chế độ 3 hiển
thị số 88 ; một nút nhấn tắt led. Các nút tác động ở mức logic 0, đầu ra tác động ở mức1.
Yêu cầu:
– Xây dựng phần cứng ứng dụng bao gồm các mạch giao tiếp
– Xây dựng lưu đồ giải thuật
– Viết chương trình ứng dụng
PHIỀU BÀI TẬP
Bài 7.2. Xuất nhập cổng
Nhóm:…… Lớp:…… Thời gian hoàn thành: 4h Ngày thực hiện:……

Thành viên trong nhóm:…………………………………… Máy tính số:………
Bài tập 2:
Xây dựng phần cứng, viết chương trình điều khiển Led 7 đoạn gắn tại P1 điều khiển
bởi phím gắn tại P2 với yêu cầu: Nhấn phím tại chân P2.0 các Led tăng lên 1 với thời gian
trễ 1s (timer 1).
Nhấn phím tại P2.1, Các Led giảm đi 1
Có thể nhấn phím thay đổi trạng thái tại tại bất kỳ thời điểm nào.
Yêu cầu:
– Xây dựng phần cứng ứng dụng bao gồm các mạch giao tiếp
– Xây dựng lưu đồ giải thuật
– Tính toán thời gian trễ, viết chương trình ứng dụng.
S W 1
R 1
1 0 K
+ 5 V
P o r t
S W 2
R 2
1 0 K
+ 5 V
P o r t
TÀI LIỆU PHÁT TAY
THIẾT KẾ ỨNG DỤNG XUẤT NHẬP CỔNG CHO VI ĐIỀU KHIỂN 8051
1. Kiến thức lý thuyết:
a, Các lệnh sử dụng để xuất nhập cổng:
Cấu trúc lệnh Ý nghĩa
Số chu
kỳ máy
JNB bit,rel Nhảy tới nhãn rel nếu bit = 0 2
pop direct Lấy nội dung của ô nhớ ngăn xếp trả cho ô nhớ có địa

chỉ direct, con trò ngăn xếp SP giảm đi 1 sau khi lấy
dữ liệu ra
2
inc a Tăng nội dung thanh ghi a lên 1 1
push direct Cất nội dung của ô nhớ có địa chỉ direct vào ô nhớ
ngăn xếp, con trỏ ngăn xếp SP tăng lên 1 trước khi lưu
nội dung
2
call rel Gọi chương trình con 2
clr bit Xóa bit: bit = 0 1
setb bit Thiết lập bit = 1 1
mov Dis,Souce Di chuyển dữ liệu từ nguồn “souce” tới đích “Dis” 2
cjne a,#data,rel Nội dung của A khác data 8 thì lệnh nhảy đến thực
hiện lện tại địa chỉ rel
2
djnz Rn,rel Nội dung của Rn giảm đi 1 và kết quả trong Rn giảm
khác 0 thì vì thực hiện chương trình rel
2
Ret Kết thúc chương trình con 2
b, Cấu trúc phần cứng:
+ Cấu trúc phần cứng nhập dữ liệu
+ Cấu trúc phần cứng xuất dữ liệu đầu ra:
Hình 01: Sơ đồ phần cứng giao tiếp nhập dữ liệu từ nút nhấn:
Hinh a: Nút nhấn tác động mức thấp
Hình b: Nút nhấn tác động nút cao
Hình 01: Sơ đồ phần cứng led 7 đoạn
Hinh a: led 7đoạn loại anot chung
Hình b: led 7đoạn loại catot chung
2. Kỹ năng
Thực hiện bài toán ứng dụng vi điều khiển 8051 như sau:

Bài toán : Lập trình nhận phím đơn từ cổng P1 điều khiển 1 led 7 đoạn tại cổng P0.
Yêu cầu:
– Nhấn phím 1 thì led 7 đoạn hiển thị số đếm tiến từ 0 đến 9
– Nhấm phím 2 thì led 7 đoạn hiển thị số đếm lùi từ 9 về 0
– Nhấn phím 3 thì led 7 đoạn hiển thị số 0
2.1. Thiết kế phần cứng:
Với yêu cầu của bài toán, phần cứng được thiết kế như sau:
2.2. Xây dựng lưu đồ thuật toán:
a, Cấu trúc chung của một chương trình xuất nhập dữ liệu
Trong đó:
+ các ô hình quả trám là các lệnh kiểm tra phím
+ Các ô xuất dữ liệu là các chương trình con
+ Các ô hình elip là khởi đầu và kết thúc chương trình
+ Các đường mũi tên là lệnh nhảy và rẽ nhánh: Chú ý các lệnh nhảy không điều kiện
(JMP, LJMP) và các lệnh rẽ nhánh có điều kiện.
Khai báo vào ra,
Khởi động hệ thống
Xuất dữ liệu theo
điều kiện 1
Yes
No
Phím nhấn 1 tác động ?
Xuất dữ liệu theo
điều kiện 2
Yes
No
Phím nhấn 2 tác động ?
Xuất dữ liệu theo
điều kiện n
Yes

No
Phím nhấn n tác động ?
Kết thúc
Khởi động
b, Lưu đồ giải thuật của bài toán
Khai báo vào ra,
Khởi động hệ thống
Khởi động
Yes
No
Yes
No
Yes
No
Kết thúc
Yes
3. Viết chương trình
a, Nguyên lý chung xây dựng chương trình nhận phím nhấn đơn:
– Khởi động hệ thống:
+ Do yêu cầu của bài toán là khi khởi động Led 7 đoạn tắt do đó cần phải gửi dữ
liệu ra Led là 0: do đó sử dụng lệnh:
Mov P0,#0C0H
+ Lưu bảng mã led 7 đoạn vào thanh ghi dptr
mov dptr,#bangma
+ Kiểm tra phím
kiemtra:
jnb SW1,CT1
jnb SW2,CT21
jnb SW3,CT3
– Các lệnh nhảy không điều kiện:

JMP rel ; Nhảy tới nhãn rel trong phạm vi 128 byte
LJMP rel ; Nhảy tới nhãn rel trong phạm vi 256 byte
– Chương trình đếm tiến từ 0 đến 9 thực hiện xuất dữ liệu ra led 7 đoạn
CT1:
push acc
movc a,@a+dptr
mov p0,a
call delay
pop acc
inc a
cjne a,#10,CT1
ljmp kiemtra
– Chương trình đếm lùi từ 9 về 0 thực hiện xuất dữ liệu ra led 7 đoạn
CT21:
mov a,#10
push acc
movc a,@a+dptr
mov p0,a
call delay
pop acc
dec a
cjne a,#0,CT21
ljmp kiemtra
– Chương trình led 7 đoạn hiển thị số 0
mov p0,#00h
call delay
ljmp kiemtra
Số hiển thị trênled 7 đoạnMã hiển thị led 7 đoạndạng nhị phânMã hiển thị led 7 đoạndạng thập lục phânE 1 0 0 0 0 1 1 0 86F 1 0 0 0 1 1 1 0 8E – 1 0 1 1 1 1 1 1 BFb. Kết nối vi điều khiển với led 7 đoạnNgõ nhận tín hiệu điều khiển của led 7 đoạn có 8 đường, thế cho nên hoàn toàn có thể dùng 1P ort nào đó của Vi điều khiển để điều khiển led 7 đoạn. Như vậy led 7 đoạn nhận mộtdữ liệu 8 bit từ Vi điều khiển để điều khiển hoạt động giải trí sáng tắt của từng led led đơntrong nó, tài liệu được xuất ra điều khiển led 7 đoạn thường được gọi là ” mã hiển thịled 7 đoạn “. Có hai kiểu mã hiển thị led 7 đoạn : mã dành cho led 7 đoạn có Anode ( cực + ) chung và mã dành cho led 7 đoạn có Cathode ( cực – ) chung. – Phần cứng được liên kết với 1 Port bất kỳ của vi điều khiển, để thuận tiện choviệc xử lí về sau phần cứng nên được liên kết như sau : Px. 0 nối với chân a, Px. 1 nốivới chân b, lần lượt theo thứ tự cho đến Px. 7 nối với chân dp. – Dữ liệu xuất có dạng nhị phân như sau : dp g f e d c b aNếu liên kết mỗi một Port của Vi điều khiển với 1 led 7 đoạn thì tối đa kết nốiđược 4 led 7 đoạn. Mặt khác nếu liên kết như trên sẽ hạn chế năng lực triển khai cáccông việc khác của Vi điều khiển. Cho nên cần phải liên kết, điều khiển nhiều led 7 đoạn với số lượng chân điều khiển từ Vi điều khiển càng ít càng tốt. Có hai giải pháp : một là sử dụng những IC chuyên được dùng cho việc hiện thị led 7 đoạn, hai là liên kết nhiềuled 7 đoạn vào cùng một đường xuất tín hiệu hiển thị. 7.2.2. Lập trình ứng dụng điều khiển led 7 đoạnBài toán 1 : Lập trình nhận phím đơn từ cổng P1 điều khiển 1 led 7 đoạn tại cổng P0. Yêu cầu : – Nhấn phím 1 thì led 7 đoạn hiển thị số đếm tiến từ 0 đến 9 – Nhấm phím 2 thì led 7 đoạn hiển thị số đếm lùi từ 9 về 0 – Nhấn phím 3 thì led 7 đoạn hiển thị số 0B ước 1 : Xây dựng phần cứng. Với nhu yếu của bài toán, phần cứng được phong cách thiết kế như sau : Bước 2 : Xây dựng lưu đồ thuật toán. Bước 3 : Xác định những lệnh sử dụng để xuất nhập cổngKhai báo vào ra, Khởi động hệ thốngLed hiển thị số đếmtừ 0 đến 9Y esNoPhim1 = 0 ? Led hiển thị đếm lùitừ 9 về 0Y esNoPhím 2 = 0 ? Led hiển thị số 0Y esNoPhím 3 = 0 ? Kết thúcKhởi độngCấu trúc lệnh Ý nghĩaSố chukỳ máyJNB bit, rel Nhảy tới nhãn rel nếu bit = 0 2 pop direct Lấy nội dung của ô nhớ ngăn xếp trả cho ô nhớ có địachỉ direct, con trò ngăn xếp SP giảm đi 1 sau khi lấydữ liệu rainc a Tăng nội dung thanh ghi a lên 1 1 push direct Cất nội dung của ô nhớ có địa chỉ direct vào ô nhớngăn xếp, con trỏ ngăn xếp SP tăng lên 1 trước khi lưunội dungcall rel Gọi chương trình con 2 clr bit Xóa bit : bit = 0 1 setb bit Thiết lập bit = 1 1 mov Dis, Souce Di chuyển tài liệu từ nguồn “ souce ” tới đích “ Dis ” 2 cjne a, # data, rel Nội dung của A khác data 8 thì lệnh nhảy đến thựchiện lện tại địa chỉ reldjnz Rn, rel Nội dung của Rn giảm đi 1 và tác dụng trong Rn giảmkhác 0 thì vì thực thi chương trình relRet Kết thúc chương trình con 2B ước 4 : Viết chương trìnha. Nguyên lý chung thiết kế xây dựng chương trìnhCác lệnh xuất tài liệu : MOV P0, # 00H ; Thiết lập cổng P0  P0 = 5 vMOV P0, # 0FFH ; Xóa cổng P0 : P0 = 0  P0 = 0 VCác lệnh nhảy không điều kiện kèm theo : JMP rel ; Nhảy tới nhãn rel trong khoanh vùng phạm vi 128 byteLJMP rel ; Nhảy tới nhãn rel trong khoanh vùng phạm vi 256 byteb. Xây dựng chương trình theo nhu yếu bài toán – Khởi động mạng lưới hệ thống : + Do nhu yếu của bài toán là khi khởi động Led 7 đoạn tắt do đó cần phải gửidữ liệu ra Led là 0 : do đó sử dụng lệnh : Mov P0, # 0C0 H + Lưu bảng mã led 7 đoạn vào thanh ghi dptrmov dptr, # bangma + Kiểm tra phímkiemtra : jnb SW1, CT1jnb SW2, CT21jnb SW3, CT3 – Chương trình đếm tiến từ 0 đến 9 thực thi xuất dữ liệu ra led 7 đoạnCT1 : push accmovc a, @ a + dptrmov p0, acall delaypop accinc acjne a, # 10, CT1ljmp kiemtra – Chương trình đếm lùi từ 9 về 0 triển khai xuất dữ liệu ra led 7 đoạnCT21 : mov a, # 10 push accmovc a, @ a + dptrmov p0, acall delaypop accdec acjne a, # 0, CT21ljmp kiemtra – Chương trình led 7 đoạn hiển thị số 0 mov p0, # 00 hcall delayljmp kiemtra – Chương trình delaydelay : mov r5, # 20 del1 : mov r6, # 255 del2 : mov r7, # 255 djnz r7, USD djnz r6, del2djnz r5, del1ret * Như vậy, chương trình toàn diện và tổng thể như sau : org 0000 h ; = = = = = = khai bao vaoSW1 bit p1. 0SW2 bit p1. 1SW3 bit p1. 2 ; = = = = = = = khai bao raled equ p0 ; = = = = = = = khoi dongmov a, # 0 mov dptr, # bangmakiemtra : jnb SW1, CT1jnb SW2, CT21jnb SW3, CT3movc a, @ a + dptrmov p0, aljmp kiemtra ; = = = = = led dem tang tu 0 den 9CT1 : push accmovc a, @ a + dptrmov p0, acall delaypop accinc acjne a, # 10, CT1ljmp kiemtra ; = = = = = = led giam tu 9 xuong 0CT21 : mov a, # 10 push accmovc a, @ a + dptrmov p0, acall delaypop accdec acjne a, # 0, CT21ljmp kiemtra ; = = = = = = = led hien thi so 0CT3 : mov p0, # 00 hcall delayljmp kiemtra ; = = = = = = = = = chuong trinh tredelay : mov r5, # 20 del1 : mov r6, # 255 del2 : mov r7, # 255 djnz r7, USD djnz r6, del2djnz r5, del1retbangma : db 0 c0h, 0 f9h, 0 a4h, 0 b0h, 99 h, 92 h, 82 h, 0 f8h, 80 h, 90 hend – Dịch kiểm tra lỗi : Các thao tác dịch : B1 : Ghi bài vừa làm : nhấn tổng hợp phín Ctrl + SB2 : Dịch : nhấn tổng hợp phím Ctrl + F2B3 : Đọc những thông tin lỗi nếu có và sửa lỗi – Nạp chạy mô phỏng : B1 : Mở chương trình mô phỏngB2 : Nạp file. HexB3 : Chạy mô phỏng kiểm tra nguyên tắc hoạt động giải trí của mạch theo nhu yếu côngnghệ. 7.2.3 Phát triển những ứng dụngVí dụ : Kết nối với nhiều led 7 đoạn và ứng dụng hiện thị thời gianMạch điện diễn đạt một đồng hồ đeo tay báo giờ, ở đây port1 ( p1. 0 – p0. 7 ) điều khiển cáccưc dương của led 7 đoạn, còn những chân p3. 0 – p3. 3 sẽ điều khiển những cực âm chung củaled 7 đoạn ( chú ý quan tâm : cả 4 led trên đều là loại Catod chung ). Tóm tắt sự hoạt động giải trí của mạchTrên những chân p3. 0 – p3. 3 có hai đường nối vào đó ; một đường nối đến transistorvà một đường nối đến phím nhấn ( switch ) với chân p3. 4. điều đó có nghĩa là trong quátrình hiển thị đồng thời vi điều khiển cũng kiểm tra xem có phím nào được nhấn haykhông. nếu có thì chân p3. 4 sẽ xuống mức ” thấp “. lúc đó vi điều khiển sẽ giải quyết và xử lý theochức năng của phím mà tất cả chúng ta đã nhấn. trong 4 phím đó có 2 phím điều khiển giờ vàđiều chỉnh phút, một khóa dùng để tắt mở đèn mà nó được điều khiển bởi chân p3. 7 trải qua những rơ le và điểm L và N nối vào nguồn điện xoay chiều 220 v, bóng đèncũng là loại 220 v. Mẫu số 7 ( Khổ 19×26, 5 ) Ban hành kèm theo Quyết định số 62/2008 / QĐ-BLĐTBXHBỘ NÔNG NGHIỆP VÀ PHÁT TRIỂN NÔNG THÔNTRƯỜNG CAO ĐẲNG NGHỀ CƠ ĐIỆN VÀ XÂY DỰNG BẮC NINHSỔ GIÁO ÁNTÍCH HỢPMôn học / Mô-đun : Vi điều khiểnLớp : CĐ – ĐT1 Khoá : 40H ọ và tên giáo viên : Năm học : 2011 – 2012M ẫu số 7. Ban hành kèm theo Quyết định số 62/2008 / QĐ-BLĐTBXHGIÁO ÁN SỐ : Thời gian thực thi : 01 hTên bài học kinh nghiệm trước : 7.1. lập trình điều khiển led đơnThực hiện từ ngày đến ngàyTÊN BÀI : 7.2 LẬP TRÌNH ĐIỀU KHIỂN LED 7 ĐOẠN SỬ DỤNG VI ĐIỀU KHIỂN HỌ 8051M ỤC TIÊU CỦA BÀI : Sau khi học xong bài này người học có năng lực : – Trình bày đúng mực những lệnh sử dụng để xuất dữ liệu và cấu trúc phần cứng cho viđiều khiển 8051 điều khiển led 7 đoạn. – Thiết kế được phần cứng và lập trình ứng dụng nhập, xuất dữ liệu ra những cổng củavi điều khiển 8051 để điều khiển led 7 đoạn. – Rèn luyện tính cẩn trọng, đúng mực trong quy trình thiết kế xây dựng phần cứng và lập trìnhđiều khiển. ĐỒ DÙNG VÀ TRANG THIẾT BỊ DẠY HỌC : – Máy tính đã cài những ứng dụng pinacle, proteus – KIT thực hành vi điều khiển đa năng – Bài giảng, tài liệu phát tayHÌNH THỨC TỔ CHỨC DẠY HỌC : – Hướng dẫn khởi đầu : Tập trung theo ca – Hướng dẫn liên tục : phân nhóm – Hướng dẫn kết thúc : theo caI. ỔN ĐỊNH LỚP HỌC : Thời gian : 01 ’ II. THỰC HIỆN BÀI HỌC.TT NỘI DUNGHOẠT ĐỘNG DẠY HỌCTHỜIGIANHOẠT ĐỘNG CỦAGIÁO VIÊNHOẠT ĐỘNG CỦAHỌC SINH1 Dẫn nhậpGiới thiệu nguyên lý hoạtđộng của mạch xuất nhậpcổng trên mạch mô phỏngvi điều khiển. – Trình chiếu sơ đồnguyên lý mạch điện – Hãy nêu nguyên lýhoạt động của mạchđiện ? – Giải thích nguyên tắc – Quan sát, tâm lý. – Trả lời thắc mắc. – Ghi chép những điềucần thiết. 03 ‘ hoạt động giải trí của mạch xuấtnhập cổng trên mạch môphỏng vi điều khiển. 2 Giới thiêu chủ đề – Giới thiệu tên và mụctiêu của bài học kinh nghiệm. – Nội dung khái quát bàihọc : + Các lệnh, cấu trúc phầncứng xuất nhập cổng. + Xây dựng phần cứng, lập trình ứng dụng ứngdụng xuất nhập cổng đơn. – Giải thích ý nghĩa, tầmquan trọng của xuất nhậpcổng trên vi điều khiển8051. – GV ghi tiêu đề của bàihọc. – Trình bày tiềm năng củabài học và những nội dungkhái quát cần lĩnh hội. – Lắng nghe và ghichép những điều cầnthiết. – Xác định đúng chủđề và những kiến thức và kỹ năng cầnthiết cần hình thànhtrong bài học kinh nghiệm. 04 ‘ 3 Giải quyết vấn đề7. 2.1 Cấu trúc phần cứnga. Cấu trúc led 7 đoạn – Led 7 đoạn Anodechung ; – Led 7 đoạn Cathodechung ; * Bảng mã hiển thị led 7 đoạn. b. Kết nối vi điều khiểnvới led 7 đoạn – Trình chiếu hình ảnhled 7 đoạn. – Hãy nêu sự khác nhaugiữa cấu trúc led 7 đoạnAnode chung vàCathode chung ? – Nêu quan tâm khi sử dụngled 7 đoạn. – Trình chiếu Powerpoint – Giải thích bảng mãhiển thị led 7 đoạn. – Trình chiếu hình ảnhkết nối vi điều khiển vớiled 7 đoạn ; – Giải thích những phươngpháp liên kết vi điềukhiển với led 7 đoạn. – Quan sát hình ảnhSuy nghĩ và trả lờicâu hỏi. – Ghi chép những điềucần thiết. – Quan sát và ghi nhớ. Quan sát hình ảnh. Ghi chép những điềucần thiết. 05 ’ 7.2.2 Lập trình ứngdụng điều khiển led 7 đoạn. Bài toán 1 : Lập trìnhnhận phím đơn từ cổngP1 điều khiển 1 led 7 đoạn tại cổng P2. Bước 1 : Xây dựng phầncứngBước 2 : Xây dựng lưu đồthuật toán. Bước 3 : Xác định cáclệnh sử dụng để xuấtnhập cổng. Bước 4 : Viết chươngtrình thực thi yêu cầubài toán. a. Nguyên lí chung xâydựng chương trình ; b. Xây dựng chương trìnhthực hiện nhu yếu bàitoán. – Khởi động mạng lưới hệ thống – Trình chiếu yêu cầucủa bài toán. – Chia nhóm. – Trình chiếu, giải thíchsơ đồ phần cứng thựchiện nhu yếu bài toán. – Hướng dẫn xây dựngphần cứng bằng KIT đanăng. – Quan sát và hướng dẫncác nhóm. – Trình chiếu, giảng giảilưu đồ thuật toán thựchiện trách nhiệm bài toán. – Hãy lý giải những lệnhđể xuất nhập cổng dữliệu ? Nhận xét câu vấn đáp – Giải thích những lệnh xuấtdữ liệu, những lệnh nhảykhông điều kiện kèm theo. – Phân tích cấu trúcchương trình – Nêu mục tiêu của câulệnh với nhu yếu bài toán – Trình diễn viết đoạnchương trình khởi độnghệ thống. – Quan sát và hướng dẫn. – Xác định đúngnhiệm vụ và yêu cầucủa bài. – Xác định sơ đồ phầncứng tương thích nhiệmvụ bài toán. – Xây dựng phầncứng, liên kết phímđơn, led 7 đoạn với viđiều khiển trên KITđa năng. – Quan sát, ghi nhớ vàghi chép những điềucần thiết. – Suy nghĩ và trả lờicâu hỏi. – Lắng nghe và ghichép bài. – Quan sát, suy nghĩvà ghi chép. – Thực hiện viết03 ’ 05 ’ 05 ’ 05 ’ 20 ’ – Chương trình đếm tiếntừ 0 đến 9 thực thi xuấtdữ liệu ra led 7 đoạn. – Chương trình đếm lùi từ9 đến 0 triển khai xuất dữliệu ra led 7 đoạn. – Chương trình led 7 đoạnhiển thị số 0. – Chương trình delay. – Dịch kiểm tra và sửalỗi – Nạp chạy mô phỏng. 7.2.3 Phát triển những ứngdụngKết nối với nhiều led 7 đoạn và ứng dụng hiển thịthời gian. – Giải thích mục tiêu củađoạn chương trình ; – Hãy nêu ý nghĩa củacác câu lệnh trong đoạnchương trình ? – Quan sát và hướng dẫn. – Giải thích mục tiêu củađoạn chương trình ; – Hãy nêu ý nghĩa củacác câu lệnh trong đoạnchương trình ? – Quan sát và hướng dẫn – Giải thích mục tiêu củađoạn chương trình. – Hãy nêu mục tiêu củachương trình delay ? – Quan sát và hướng dẫn. – Phân tích những lỗi, chiêu thức sửa lỗi – Phân tích những bước nạpchạy mô phỏng – Trình diễn sản phẩmcủa bài toán. – Phân tích nguyên lýxây dựng mạch ứngdụngchương trình khởiđộng mạng lưới hệ thống. – Quan sát, suy nghĩvà ghi chép. – Trả lời thắc mắc – Viết chương trìnhđếm tiến 0 – 9. – Trả lời thắc mắc – Viết chương trìnhđếm lùi 9 – 0. – Viết chương trìnhhiển thị sô 0. – Suy nghĩ và trả lờicâu hỏi. – Viết chương trìnhdelay. – Thực hiện dịch kiểmtra lỗi. – Thực hiện nạp chạychương trình. – Trình diễn sản phẩncủa bài toán. – Xác định mục tiêu, ý nghĩa của bài toánứng dụng. 04 ’ 4 Kết thúc yếu tố – Kết nối vi điều khiểnvới led 7 đoạn. – Nhấn mạnh, khái quáthóa nội dung bài học kinh nghiệm – Lắng nghe03 ’ – Xác định lưu đồ thuậttoán thực thi nhu yếu bàitoán. – Viết chương trình điềukhiển led 7 đoạn. + Nạp chạy mô phỏng – Nhận xét và đánh giásản phẩm của những nhóm. – Phân tích những lỗithường gặp trong quátrình lập trình ứng dụng – Nêu những quan tâm về antoàn khi thực thi giảiquyết trách nhiệm bài toán. – Đại diện nhóm trìnhdiễn loại sản phẩm thựchiện. – Lắng nghe và ghichép những điều cầnthiết. 5 Hướng dẫn tự học Xây dựng phần cứng, viết ứng dụng điều khiển 2 led 7 đoạn với nhu yếu : 3 nút nhấn nối với cổngP0 ; khi nút nhấn 1 được bật thì 2 led hiển thị đếm00 đến 99, bật nút nhấn 2 thì hiển thị số 55, bậtnút nhấn 3 thì tắt hết những led về 00.02 ’ VI. RÚT KINH NGHIỆM TỔ CHỨC THỰC HIỆN : TRƯỞNG KHOANgày tháng 05 năm 2012GI ÁO VIÊNPHIẾU HƯỚNG DẪN THỰC HIỆN QUY TRÌNHBài học7. 2 Lập trình điều khiển led 7 đoạn sử dụng họ vi điều khiển 8051K ỹ năngSử dụng 3 nút bấm để điều khiển 1 led 7 đoạn hiển thị những trạng thái sau : đếm tiến 0 đến9 ; đến lùi từ 9 về 0, và chỉ hiển thị số 0 ( môdul : vi điều khiển ). TT Bước Tiêu chuẩn Lưu ý, An toàn1 Bước 1 : Xác định phần cứng với nhu yếu của bài toán : Lựa chọn đúng loạilinh kiện theo yêucầu của bài toán. Đặt đúng mực tên cáclinh kiệnMáy tính cần phảicài phần mềmProteus 7.1 trởlên. Bước 2 : Xây dựng lưu đồ thuật toán : – Sử dụng đúng hìnhdạng những khối tronglưu đồ. – Vẽ dạng lưu đồđúng nhu yếu bài tậpCó thể tạo mộthình rồi copy ranhững hình khác. Khai báo vào ra, Khởi động hệ thốngLed hiển thị sốđếm từ 0 đến 9Y esNoPhim1 = 0 ? Led hiển thịđếm từ 9 về 0Y esNoPhím2 = 0 ? Led hiển thị sốYesNoKết thúcKhởi độngPhím 3 = 0 ? 3 Bước 3 : Xác định những lệnh sử dụng để xuất nhập cổng – JNB bit, rel : Nhảy tới nhãn rel nếu bit = 0 – inc a : Tăng nội dung thanh ghi a lên 1 – dec a : Giảm nội dung thanh ghi a đi 1 – pop direct : Lấy nội dung của ô nhớ ngăn xếp trả cho ô nhớcó địa chỉ direct, con trò ngăn xếp SP giảm đi 1 sau khi lấydữ liệu ra – push direct : Cất nội dung của ô nhớ có địa chỉ direct vào ônhớ ngăn xếp, con trỏ ngăn xếp SP tăng lên 1 trước khi lưunội dung – call rel : gọi chương trình con – clr bit : thực thi xóa bit = 0 – setb bit : thiết lập bit = 1 – mov Dis, Souce : Di chuyển tài liệu từ nguồn “ souce ” tớiđích “ Dis ” – cjne a, # data, rel : Nội dung của a khác data 8 thì lệnh nhảyđến triển khai lện tại địa chỉ rel – djnz Rn, rel : Nội dung của Rn giảm đi 1 và tác dụng trongRn giảm khác 0 thì vì thực thi chương trình rel – Ret : thoát chương trình con về chương trình chínhĐánh đúng mực cáclệnh, đoạn code. Các câu lệnhđúng trong ngônngữ asm. 4 Bước 4 : Viết chương trìnha, Nguyên lý chung kiến thiết xây dựng chương trình : Các lệnh xuất tài liệu : MOV P0, # 00H ; Thiết lập cổng P0  P0 = 5 vMOV P0, # 0FFH ; Xóa cổng P0  P0 = 0 VCác lệnh nhảy không điều kiện kèm theo : JMP rel ; Nhảy tới nhãn rel trong khoanh vùng phạm vi 128 byteLJMP rel ; Nhảy tới nhãn rel trong khoanh vùng phạm vi 256 byte. b, Xây dựng chương trình theo nhu yếu bài toán. – Khởi động mạng lưới hệ thống : + Do nhu yếu của bài toán là khi khởi động Led 7 đoạn tắtdo đó cần phải gửi tài liệu ra Led là 0 : do đó sử dụng lệnh : Mov a, # 0M ov P0, a + Lưu bảng mã led 7 đoạn vào thanh ghi dptrmov dptr, # bangma + Kiểm tra phímkiemtra : jnb SW1, CT1jnb SW2, CT21jnb SW3, CT3 – Chương trình đếm tiến từ 0 đến 9 triển khai xuất dữ liệu raled 7 đoạnCT1 : push accmovc a, @ a + dptr – Kiểm tra tính năngcủa những nút bấm ; – Thực hiện viết cácchương trình con, ghép thành chươngtrình điều khiển hoànchỉnh. Đảm bảo chươngtrình triển khai xong, chạy đúng yêu cầumov p0, acall delaypop accinc acjne a, # 10, CT1ljmp kiemtra – Chương trình đếm lùi từ 9 về 0 thực thi xuất dữ liệu raled 7 đoạnCT21 : mov a, # 10 push accmovc a, @ a + dptrmov p0, acall delaypop accdec acjne a, # 0, CT21ljmp kiemtra – Chương trình led 7 đoạn hiển thị số 0 mov p0, # 00 hcall delayljmp kiemtra – Chương trình delaydelay : mov r5, # 20 del1 : mov r6, # 255 del2 : mov r7, # 255 djnz r7, USD djnz r6, del2djnz r5, del1retPHIỀU BÀI TẬPBài 7.2. Xuất nhập cổngNhóm : … … Lớp : … … Thời gian hoàn thành xong : 4 h Ngày triển khai : … … Thành viên trong nhóm : … … … … … … … … … … … … … … Máy tính số : … … … Bài tập 1 : Xây dựng phần cứng, viết chương trình điều khiển 2 led 7 đoạn với nhu yếu : 3 nútnhấn cho 3 chính sách : chính sách 1 hiển thị số 12, chính sách 2 hiển thị số từ 00 đến 99, chính sách 3 hiểnthị số 88 ; một nút nhấn tắt led. Các nút ảnh hưởng tác động ở mức logic 0, đầu ra ảnh hưởng tác động ở mức1. Yêu cầu : – Xây dựng phần cứng ứng dụng gồm có những mạch tiếp xúc – Xây dựng lưu đồ giải thuật – Viết chương trình ứng dụngPHIỀU BÀI TẬPBài 7.2. Xuất nhập cổngNhóm : … … Lớp : … … Thời gian triển khai xong : 4 h Ngày triển khai : … … Thành viên trong nhóm : … … … … … … … … … … … … … … Máy tính số : … … … Bài tập 2 : Xây dựng phần cứng, viết chương trình điều khiển Led 7 đoạn gắn tại P1 điều khiểnbởi phím gắn tại P2 với nhu yếu : Nhấn phím tại chân P2. 0 những Led tăng lên 1 với thời giantrễ 1 s ( timer 1 ). Nhấn phím tại P2. 1, Các Led giảm đi 1C ó thể nhấn phím đổi khác trạng thái tại tại bất kể thời gian nào. Yêu cầu : – Xây dựng phần cứng ứng dụng gồm có những mạch tiếp xúc – Xây dựng lưu đồ giải thuật – Tính toán thời hạn trễ, viết chương trình ứng dụng. S W 1R 11 0 K + 5 VP o r tS W 2R 21 0 K + 5 VP o r tTÀI LIỆU PHÁT TAYTHIẾT KẾ ỨNG DỤNG XUẤT NHẬP CỔNG CHO VI ĐIỀU KHIỂN 80511. Kiến thức triết lý : a, Các lệnh sử dụng để xuất nhập cổng : Cấu trúc lệnh Ý nghĩaSố chukỳ máyJNB bit, rel Nhảy tới nhãn rel nếu bit = 0 2 pop direct Lấy nội dung của ô nhớ ngăn xếp trả cho ô nhớ có địachỉ direct, con trò ngăn xếp SP giảm đi 1 sau khi lấydữ liệu rainc a Tăng nội dung thanh ghi a lên 1 1 push direct Cất nội dung của ô nhớ có địa chỉ direct vào ô nhớngăn xếp, con trỏ ngăn xếp SP tăng lên 1 trước khi lưunội dungcall rel Gọi chương trình con 2 clr bit Xóa bit : bit = 0 1 setb bit Thiết lập bit = 1 1 mov Dis, Souce Di chuyển tài liệu từ nguồn “ souce ” tới đích “ Dis ” 2 cjne a, # data, rel Nội dung của A khác data 8 thì lệnh nhảy đến thựchiện lện tại địa chỉ reldjnz Rn, rel Nội dung của Rn giảm đi 1 và tác dụng trong Rn giảmkhác 0 thì vì triển khai chương trình relRet Kết thúc chương trình con 2 b, Cấu trúc phần cứng : + Cấu trúc phần cứng nhập tài liệu + Cấu trúc phần cứng xuất dữ liệu đầu ra : Hình 01 : Sơ đồ phần cứng tiếp xúc nhập tài liệu từ nút nhấn : Hinh a : Nút nhấn tác động ảnh hưởng mức thấpHình b : Nút nhấn ảnh hưởng tác động nút caoHình 01 : Sơ đồ phần cứng led 7 đoạnHinh a : led 7 đoạn loại anot chungHình b : led 7 đoạn loại catot chung2. Kỹ năngThực hiện bài toán ứng dụng vi điều khiển 8051 như sau : Bài toán : Lập trình nhận phím đơn từ cổng P1 điều khiển 1 led 7 đoạn tại cổng P0. Yêu cầu : – Nhấn phím 1 thì led 7 đoạn hiển thị số đếm tiến từ 0 đến 9 – Nhấm phím 2 thì led 7 đoạn hiển thị số đếm lùi từ 9 về 0 – Nhấn phím 3 thì led 7 đoạn hiển thị số 02.1. Thiết kế phần cứng : Với nhu yếu của bài toán, phần cứng được phong cách thiết kế như sau : 2.2. Xây dựng lưu đồ thuật toán : a, Cấu trúc chung của một chương trình xuất nhập dữ liệuTrong đó : + những ô hình quả trám là những lệnh kiểm tra phím + Các ô xuất dữ liệu là những chương trình con + Các ô hình elip là khởi đầu và kết thúc chương trình + Các đường mũi tên là lệnh nhảy và rẽ nhánh : Chú ý những lệnh nhảy không điều kiện kèm theo ( JMP, LJMP ) và những lệnh rẽ nhánh có điều kiện kèm theo. Khai báo vào ra, Khởi động hệ thốngXuất tài liệu theođiều kiện 1Y esNoPhím nhấn 1 ảnh hưởng tác động ? Xuất dữ liệu theođiều kiện 2Y esNoPhím nhấn 2 tác động ảnh hưởng ? Xuất dữ liệu theođiều kiện nYesNoPhím nhấn n ảnh hưởng tác động ? Kết thúcKhởi độngb, Lưu đồ giải thuật của bài toánKhai báo vào ra, Khởi động hệ thốngKhởi độngYesNoYesNoYesNoKết thúcYes3. Viết chương trìnha, Nguyên lý chung thiết kế xây dựng chương trình nhận phím nhấn đơn : – Khởi động mạng lưới hệ thống : + Do nhu yếu của bài toán là khi khởi động Led 7 đoạn tắt do đó cần phải gửi dữliệu ra Led là 0 : do đó sử dụng lệnh : Mov P0, # 0C0 H + Lưu bảng mã led 7 đoạn vào thanh ghi dptrmov dptr, # bangma + Kiểm tra phímkiemtra : jnb SW1, CT1jnb SW2, CT21jnb SW3, CT3 – Các lệnh nhảy không điều kiện kèm theo : JMP rel ; Nhảy tới nhãn rel trong khoanh vùng phạm vi 128 byteLJMP rel ; Nhảy tới nhãn rel trong khoanh vùng phạm vi 256 byte – Chương trình đếm tiến từ 0 đến 9 thực thi xuất dữ liệu ra led 7 đoạnCT1 : push accmovc a, @ a + dptrmov p0, acall delaypop accinc acjne a, # 10, CT1ljmp kiemtra – Chương trình đếm lùi từ 9 về 0 triển khai xuất dữ liệu ra led 7 đoạnCT21 : mov a, # 10 push accmovc a, @ a + dptrmov p0, acall delaypop accdec acjne a, # 0, CT21ljmp kiemtra – Chương trình led 7 đoạn hiển thị số 0 mov p0, # 00 hcall delayljmp kiemtra

Alternate Text Gọi ngay