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

LẬP TRÌNH HIỂN THỊ LED 7 THANH CHẠY TỪ 00 ĐẾN 99 ĐIỀU KHIỂN BẰNG HỌ VI ĐIỀU KHIỂN 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 (2.3 MB, 26 trang )

KHOA CÔNG NGHỆ THÔNG TIN
ĐẠI HỌC THÁI NGUYÊN
Môn: KĨ THUẬT LẬP TRÌNH NHÚNG
Giảng viên: Phạm Quốc Thịnh
Bộ môn: Điện Tử Viễn Thông
Các thành viên trong nhóm:
Nguyễn Mạnh Cường
Trần Văn Sơn
Đào Văn Sơn
Đào Thị Hiệu
Nguyễn Văn Vinh
Nguyễn Văn Tâm
Nguyễn Quang Sáng
Lớp: ĐTVT-K7A
Tháng 05 năm 2010
LẬP TRÌNH HIỂN THỊ LED 7 THANH
CHẠY TỪ 00 ĐẾN 99
ĐIỀU KHIỂN BẰNG HỌ VI ĐIỀU KHIỂN
8051
● 8051 là một trong các IC tiêu biểu của họ IC vi
điều khiển MCS-51 do hãng Intel sản suất và được
ứng dụng rộng rãi trong cuộc sống.
Vi dụ: điều khiển hiển thị , điều khiển ánh sáng,
điều khiển máy,…các thiết bị vào ra được kết nối
với các cổng I/0 của vi điều khiển.
TỔNG QUAN VỀ VI ĐIỀU KHIỂN 8051
●VỀ PHẦN CỨNG CỦA 8051:
- 4KB ROM bên trong.
- 128 byte RAM nội.
- 4 port xuất nhập (I/0 port) 8-bit.
- 2 bộ định thời 16-bit.


- Mạch giao tiếp nối tiếp.
- Không gian nhớ chương trình(mã) ngoài 64 K.
- Không gian nhớ dữ liệu ngoài 64 K.
- Bộ xử lý bít (thao tác trên các bit riêng rẽ).
- 210 vị trí nhớ được định địa chỉ, mỗi vị trí 1 bit.
- Nhân/chia trong 4µs.
Sơ đồ khối chức năng của 8051
Các thành phần :
Interrupt control: điều khiển ngắt
Other registers: các thanh ghi khác
128 bytes RAM : RAM 128 byte
Timer 2, 1, 0: bộ định thời 2, 1, 0
CPU: đơn vị điều khiển trung tâm
Oscillator: mạch dao động
Bus control: điều khiển bus
I/O ports : các ports xuât/nhập
Serial port : port nối tiếp
Address/data: địa chỉ/dữ liệu
♦ 8051 có các chân và 4 cổng:
1: PORT 0
- Port 0 gồm các chân từ 32 đến 39 trên 8051 nó có 2
côngdụng:
+ làm nhiệm vụ xuất /nhập
+ bus dữ liệu và bus địa chỉ đa hợp
2: PORT 1
- Port có 1 công dụng là xuất/nhập
(từ các chân 1 đến 8 trên 8051) .Các chân của port
1được ký hiệu là P1.0, P1.1,…, P1.7 và được dùng để
giao tiếp với các thiết bị bên ngoài khi có yêu cầu.
3: PORT 2

- Các chân từ 21 đến 28 trên 8051 và có 2 công
dụng
+làm nhiệm vụ xuất /nhập
+là byte địa chỉ cao của bus địa chỉ 16 bit
4: PORT 3
-Gồm các chân từ 10 đến 17 trên 8051, nó có 2 công
dụng :
+ Khi hoạt động suất /nhập
+Các chân của port 3 có nhiều chức năng riêng
(mỗi chân có chức năng riêng liên quan đến các
đặctrưng cụ thể của 8051)
♦Các thanh ghi chức năng đặc biệt:
- Có 21 thanh ghi chức năng đặc biệt SFR ở đỉnh
của RAM nội từ địa chỉ các thanh ghi chức năng
đặc biệt được định rõ,phần còn lại là không định
- Từ trạng thái chương trình (PSW: Program Status
Word) ở địa chỉ DOH được tóm tắt như sau:
Xin nói qua về vi điều khiển 89S52

1-Vi điều khiển AT89S52
- Số lượng: 1 con
Chức năng hoạt động như 8051 nhưng 89s52
có những chức năng được nâng cấp thêm như có 3 bộ
timer& counter 16bit , có thêm chức năng watchdog
2- Transistor A1015
- Số lượng: 14 con

- Là loại linh kiện bán dẫn gồm 3 lớp bán dẫn tiếp
giáp nhau tạo thành 2 mối nối p-n được sử dụng như
một thiết bị khuếch đại hoặc một khóa điện tử
3- Dao Động Thạch Anh:
- Số lượng: 1 con
- Chức năng là một phần tử áp điện
4-Tụ gốm 33Pf
- Số lượng: 3 con
5-Tụ gốm 104 Pf
- Số lượng: 3 con
6-Tụ hóa 1 µF
- Số lượng: 1 con
- Chức năng của tụ:lọc nguồn ,nối tầng tín hiệu và
khử nhiễu
7- Đèn Led
- Led 7 thanh
- Số lượng: 2 con
- Led đơn ghép thành 7 thanh
- Số lượng: 320 con
8- Điện trở than 220 ohm
(hình ảnh chỉ mang tính chất minh họa kacs về thong số
trong mạch cần dung)
- Số lượng 160 con
- Chức năng:điều chỉnh điện áp ,hạn chế dòng
điện,chia áp điều chỉnh hệ số khuếch đại và ổn định
nhiệt
9- Ngoài ra còn các linh kiện khác như:
- Dây cáp 8: 2 dây
- Dây cáp 2: 2 dây
- Đầu cáp 2: 4 cái

- Đầu cáp 4: 8 cái
- Nút bấm reset: 1 cái
●SƠ ĐỒ KHỐI
Sơ đồ khối cho mạch dùng trong đề tài
- Đề tài dùng ngôn ngữ C nhúng vào vi điều khiển
AT 89S52 điều khiển led 7 thanh chạy từ 00 đến 99
- Khi chạy đến 99 thì tự động đếm lùi từ 99 về 00
- Khi nhấn nút reset thì sẽ quay về 00 tại bất kì thời
điểm nào(trong khoảng 00 đến 99)
♦ Code chương trình
#include "lib.h"

//===================================
==========
// khai bao bien va hang so
const unsigned char LED7[]={NUMBER_0,
NUMBER_1,
NUMBER_2,
NUMBER_3,
NUMBER_4,
NUMBER_5,
NUMBER_6,
NUMBER_7,
NUMBER_8,
NUMBER_9};
#define N 500
char hangchuc,hangdonvi,number,sign;
//===========================
// khai bao cac ham
void Delay(unsigned int);

//==========================
// dinh nghia cac ham
void main()
{
DON_VI=0; // Lam cong ra
CHUC=0; // Lam cong ra
number=0;
sign=1;
while(1){
if(number>99){
//number=0;
//sign=1;
number=99;
sign=-1;
}
if(number<0){
//number=99;
//sign=-1;
number=0;
sign=1;
}
hangchuc=number/10;
hangdonvi=number%10;
CHUC=LED7[hangchuc];
DON_VI=LED7[hangdonvi];
Delay(N);
number=number+sign;
}
}
//=======================

void Delay(unsigned int n)
{
unsigned int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<100;j++);
}
}
♦ File “Lib.h”
#include <AT89X52.H>
#define DON_VI P2
#define CHUC P3
#define NUMBER_0 0xC0
#define NUMBER_1 0xF9
#define NUMBER_2 0xA4
#define NUMBER_3 0xB0
#define NUMBER_4 0x99
#define NUMBER_5 0x92
#define NUMBER_6 0x82
#define NUMBER_7 0xF8
#define NUMBER_8 0x80
#define NUMBER_9 0x90
=>Với sự kết hợp giữa phần code là linh hồn và bo
mạch chip đặc biệt là con vi điều khiển AT 89S52 là
thể xác đã tạo nên những con số nhấp nháy thật đẹp
mắt như các bạn đã thấy.
VÀ ĐÂY LÀ SẢN PHẨM CỦA CHÚNG TÔI

×