Tải bản đầy đủ (.doc) (5 trang)

Lập trình hợp ngữ và điều khiển thiết bị - BÀI THỰC HÀNH SỐ 3

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 (168.39 KB, 5 trang )

Lập trình hợp ngữ và điều khiển thiết bị

BÀI THỰC HÀNH
SỐ 3
Phần 1. Làm theo hướng dẫn
Bài 1. Lập trình xuất dữ liệu điều khiển led đơn

Bước 1: Sử dụng phần mềm Proteus ISIS vẽ mạch điện dưới đây

Bước 2: Sử dụng phần mềm Keil C viết chương trình điều khiển 8 led lần lượt sáng
nhấp nháy, so le nhau
#include <at89x51.h>
void delay(int interval){
int i,j;
for(i=0;i<255;i++){
for(j=0;j}
}
void main(){
while(1){
P0=0x55;
delay(100);
P0=0xAA;
delay(100);
}
}
Bài thực hành


Lập trình hợp ngữ và điều khiển thiết bị
Bước 3: Quan sát kết quả, nhận xét và đặt câu hỏi với giáo viên để nhận giải đáp.


Bài 2. Lập trình đọc dữ liệu từ chân vào

Bước 1: Chỉnh sửa thiết kế trong bài 1, thêm một nút bấm B2 vào mạch

Bước 2: Sử dụng phần mềm Keil C viết chương trình điều khiển 8 led lần lượt sáng
nhấp nháy, so le nhau khi người dùng không bấm nút B2. Khi người dùng bấm và
giữ nút B2 thì các led giữ nguyên trạng thái
#include <at89x51.h>
void delay(int interval){
int i,j;
for(i=0;i<255;i++){
for(j=0;j}
}
void main(){
while(1){
//Kiem tra trang thai chan P1_0 (dau voi cong tac)
if(P1_0 == 1){
P0=0x55;
delay(100);
P0=0xAA;
delay(100);
}
}
}

Bài thực hành


Lập trình hợp ngữ và điều khiển thiết bị

Bước 3: Quan sát kết quả, nhận xét và đặt câu hỏi với giáo viên để nhận giải đáp.
Bài 3. Lập trình điều khiển led 7 thanh

Bước 1: Sử dụng phần mềm Proteus ISIS vẽ mạch điện dưới đây. Chú ý trong thiết
kế này chúng ta sử dụng led 7 thanh kiểu Anode chung.

Bước 2: Sử dụng phần mềm Keil C viết chương trình điều khiển cho led 7 thanh
lần lượt hiển thị các số 0, 1, 2 và quay lại.
#include <at89x51.h>
void delay(int interval){
int i,j;
for(i=0;i<255;i++){
for(j=0;j}
}
void main(){
while(1){
P0=0x40; //Hien thi so 0
Bài thực hành


Lập trình hợp ngữ và điều khiển thiết bị
delay(100);
P0=0x79; //Hien thi so 1
delay(100);
P0=0x24; //Hien thi so 2
delay(100);
}
}
Bước 3: Quan sát kết quả, nhận xét và đặt câu hỏi với giáo viên để nhận giải đáp.


Phần 2. Tự thực hành
Bài 4. Sử dụng thiết kế mạch như bài 1, tiến hành lập trình thực hiện các
yêu cầu sau

1) Cho tất cả các led nhấp nháy (Mô tả: cả 8 led cùng sáng sau đó cùng tắt và
tiếp tục)
2) Thực hiện hiệu ứng “sáng đuổi” (Mô tả: các led sáng lần lượt từ led 1 tới led
8)
3) Điều khiển cho các led sáng từ hai đầu (từ led 1 tới led 4, từ led 8 về led 5)
sau đó quay đầu (từ led 4 về led 1 và led 5 về led 8), quá trình lặp đi lặp lại
liên tục hai thao tác đó.
Bài 5. Sử dụng thiết kế mạch như bài 2, tiến hành lập trình thực hiện công
việc

 Khi người dùng bấm nút B2 lần đầu tiên, thực hiện hiệu ứng như bài
4.1
 Khi người dùng bấm nút B2 lần thứ hai, thực hiện hiệu ứng như bài
4.2
 Khi người dùng bấm nút B2 lần thứ ba, thực hiện hiệu ứng như bài 4.3
 Khi người dùng bấm nút B2 lần thứ 4, quay lại thực hiện hiệu ứng
như bài 4.1
…quá trình cứ thế tiếp diễn
Bài 6. Viết chương trình con điều khiển hiển thị led 7 thanh

Chỉnh sửa chương trình trong Bài 3, xây dựng chương trình con hiển thị led 7
thanh có khai báo như sau
void Display_7seg(unsigned char value)
Hàm này có chức năng nhận đầu vào là các số 0,1,…9 và điều khiển led 7 thanh để
hiển thị các số đó.

Bài thực hành


Lập trình hợp ngữ và điều khiển thiết bị
Bài 7. Lập trình điều khiển module led 7 thanh sử dụng IC giải mã BCD->led
7 thanh 74LS47 và 7446

IC 74LS47 và IC 7446 là các IC giải mã từ mã BCD ra mã 7 thanh. Việc sử dụng
IC này cho phép tiết kiệm chân của vi điều khiển. Bạn hãy tiến hành đọc tài liệu
hướng dẫn (datasheet) của IC 74LS47 và IC 7446 (gửi kèm bài thực hành này) và
tiến hành thiết kế mạch ghép nối vi điều khiển với IC này để điều khiển led 7
thanh.
Chú ý: nên viết chương trình ghép nối module giải mã dưới dạng chương trình
con để tiện sử dụng lại
Bài 8. Lập trình điều khiển module gồm 4 led 7 thanh

Trong nhiều trường hợp, ta cần hiển thị nhiều thông tin. Thay vì phải sử dụng
nhiều led 7 thanh đơn lẻ, chúng ta có thể sử dụng các module led 7 thanh cho phép
điều khiển hiển thị 2,4…led 7 thanh khác nhau.

Bạn hãy tìm hiểu cách sử dụng, lập trình module gồm 4 led 7 thanh như trên hình
(Sử dụng từ khóa tìm kiếm linh kiện là “7seg” trong phần mềm Proteus ISIS, tìm
đến linh kiện có mã là 7SEG-MPX4-CA, ở đây có nghĩa là module 4 led 7 thanh
mắc kiểu Anode chung).

Bài thực hành




×