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
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.
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
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
26 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 6045 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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
TỔNG QUAN VỀ 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.
●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
#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