1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

27 10,7K 17

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 375,5 KB

Nội dung

Cấu trúc lệnh Ý nghĩa kỳ máy Số chuJNB bit,rel Nhảy tới nhãn rel nếu bit = 0 2pop 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 sa

Trang 1

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òngqua 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 đơnsáng ở mức 0):

Trang 2

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 1Port 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 đơntrong 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áccô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ề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ạ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:

Trang 3

Bước 2: Xây dựng lưu đồ thuật toán.

Trang 4

Cấu trúc lệnh Ý nghĩa kỳ máy Số chu

JNB bit,rel Nhảy tới nhãn rel nếu bit = 0 2pop 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

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

2

mov Dis,Souce Di chuyển dữ liệu từ nguồn “souce” tới đích “Dis” 2cjne 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

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 vMOV P0,#0FFH; Xóa cổng P0: P0 = 0  P0 = 0 VCá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 byteLJMP 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

kiemtra:

jnb SW1,CT1jnb SW2,CT21jnb 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

Trang 5

push accmovc a,@a+dptrmov p0,a

call delaypop accinc acjne a,#10,CT1ljmp 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,#10push accmovc a,@a+dptrmov p0,a

call delaypop accdec acjne a,#0,CT21ljmp kiemtra

- Chương trình led 7 đoạn hiển thị số 0

mov p0,#00hcall delayljmp kiemtra

- Chương trình delay

delay:

mov r5,#20del1:

mov r6,#255del2:

mov r7,#255djnz r7,$

djnz r6,del2djnz r5,del1ret

* Như vậy, chương trình tổng thể như sau:

org 0000h

;======khai bao vao

SW1 bit p1.0SW2 bit p1.1SW3 bit p1.2 ;======= khai bao ra

led equ p0 ;======= khoi dong

mov a,#0mov dptr,#bangma kiemtra:

jnb SW1,CT1

Trang 6

jnb SW2,CT21jnb SW3,CT3movc a,@a+dptrmov p0,a

ljmp kiemtra

;=====led dem tang tu 0 den 9

CT1:

push accmovc a,@a+dptrmov p0,a

call delaypop accinc acjne a,#10,CT1ljmp kiemtra ;======led giam tu 9 xuong 0

CT21:

mov a,#10push accmovc a,@a+dptrmov p0,a

call delaypop accdec acjne a,#0,CT21ljmp kiemtra ;=======led hien thi so 0

CT3:

mov p0,#00hcall delayljmp kiemtra ;========= chuong trinh tre

delay:

mov r5,#20del1:

mov r6,#255del2:

mov r7,#255djnz r7,$

djnz r6,del2djnz r5,del1ret

bangma:

db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90hend

- Dịch kiểm tra lỗi:

Các thao tác dịch:

Trang 7

B1: Ghi bài vừa làm: nhấn tổ hợp phín Ctrl + S

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áccư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ủaled 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 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ẽ xử lý theochứ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

Trang 8

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ổ 19x26,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

Trang 10

Mẫ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 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

- 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ềucần thiết

03‘

Trang 11

hoạt động 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ục

tiêu của bài học

- Nội dung khái quát bài

- GV ghi tiêu đề của bàihọc

- Trình bày mục tiêu củabài học và các 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à các kỹ năng cầnthiết cần hình thànhtrong 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

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ềucầ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

Trang 12

dụng điều khiển led 7

Bước 4: Viết chương

trình thực hiện yêu cầu

- 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ảilư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

- Giải thích mục đích của

- 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 chương trình khởi

Trang 13

liệu ra led 7 đoạn.

- Chương trình led 7 đoạn

- 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

- 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ểmtra 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

- Kết nối vi điều khiển

với led 7 đoạn

- Xác định lưu đồ thuật

- Nhấn mạnh, khái quát hóa nội dung bài học

- Nhận xét và đánh giá

- Lắng nghe

- Đại diện nhóm trình

03’

Trang 14

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

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

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

Trang 15

PHIẾU HƯỚNG DẪN THỰC HIỆN QUY TRÌNH

9; đến lùi từ 9 về 0, và chỉ hiển thị số 0 (môdul: vi điều khiể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êucầu của bài toán

Đặt chính xác tên cáclinh kiện

- Vẽ dạng lưu đồđúng yêu cầu bài tập

Có thể tạo mộthình rồi copy ranhững hình khác

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?

Trang 16

- 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

lệnh, đoạn code. đú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

- 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:

- 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 accmovc a,@a+dptrmov p0,a

call delay

- Kiểm tra tính năngcủa các 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 hoàn thiện,chạy đúng yêu cầu

Trang 17

pop accinc acjne a,#10,CT1ljmp 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,#10push accmovc a,@a+dptrmov p0,a

call delaypop accdec acjne a,#0,CT21ljmp kiemtra

- Chương trình led 7 đoạn hiển thị số 0

mov p0,#00hcall delayljmp kiemtra

- Chương trình delay

delay:

mov r5,#20del1:

mov r6,#255del2:

mov r7,#255djnz r7,$

djnz r6,del2djnz r5,del1ret

Trang 18

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útnhấn cho 3 chế độ: chế độ 1 hiển thị số 12, chế độ 2 hiển thị số từ 00 đến 99, chế độ 3 hiểnthị 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

Trang 19

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ểnbở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 giantrễ 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

Trang 20

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

2

mov Dis,Souce Di chuyển dữ liệu từ nguồn “souce” tới đích “Dis” 2cjne 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

Trang 21

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:

Trang 22

Với yêu cầu của bài toán, phần cứng được thiết kế như sau:

Ngày đăng: 01/03/2015, 08:45

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w