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

Ứng dụng IC8051 để hiển thị bộ đếm GIỜ - PHÚT – GIÂY – THỨ – NGÀY – THÁNG - NĂM trên LCD 16 -2.

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 (690.72 KB, 47 trang )

ĐỒ ÁN 2 ĐƠNG HỒ SỐ TRÊN LCD 16X2
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
-- -----------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
-------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
NGÀY……THÁNG……NĂM 2009

CHỮ KÝ CỦA GVHD:


NHẬN XÉT CỦA HỘI ĐỒNG CHẤM ĐIỂM
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
DHCN TPHCM - 1 - SVTH : NGUYEN NGOC SANG
ĐỒ ÁN 2 ĐƠNG HỒ SỐ TRÊN LCD 16X2


--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
NGÀY …… THÁNG ……NĂM 2009

CHỮ KÝ CỦA GVPB:
1. Lời mở đầu
DHCN TPHCM - 2 - SVTH : NGUYEN NGOC SANG
A – MỞ ĐẦU
ĐỒ ÁN 2 ĐƠNG HỒ SỐ TRÊN LCD 16X2
Ngày nay nhân loại đang trải qua những sự phát triển vượt về mọi mặt.
Trong đó điện tử tự - động hố đóng một vai trò không nhỏ. Điện tử góp phần
vào quá trình tự động hố mọi thứ giúp con người hiện đại hố cuộc sống.
Vận dụng những kiến thức đã được học trong quá trình học tập ở trường
em thực hiện đồ án II này. Đồ án này được áp dụng chủ yếu dựa vào vi điều
khiển. Mà thực tế là IC họ 8051 IC89C51, nhằm mục đích dúp em hiểu một
cách tường tận hơn về những gì về vi điều khiển, cách đọc, viết va nhận biết về

các chân IC mà em đã được học từ thầy cô trong trường, tìm hiểu và nghiên cứu
qua sách cũng như cách thức vận dụng nó trong thực tế .
Trong thực tế, các ứng dụng của vi điều khiển rất đa dạng và phong phú.
Từ những ứng dụng đơn giản chỉ có vài thiết bị ngoại vi cho đến những hệ
thống điều khiển phức tạp .Tuy nhiên do pham vi trình độ của em còn hạn chế,
nên việc nghiên cứu và tìm hiểu về vi điều khiển còn nhiều điều chưa biết.
Trong bài viết của em, em xin giới thiêu ứng dụng IC8051 để hiển thị bộ đếm
GIỜ - PHÚT – GIÂY – THỨ – NGÀY – THÁNG - NĂM trên LCD 16 -2.
Tuy nhiên trong quá trình viêt do trình độ hiểu biết của em còn hạn chế,
nên còn xẩy ra nhiều sai sót mong thầy và các bạn góp ý bổ sung để em được
hiểu biết hơn trong quá trình học tâp tiếp theo.
Em xin chân thành cảm ơn!
2. Lời cảm tạ
Em thực hiện đồ án này cám ơn thầy Trương Năng Tồn đã tận tình
hướng dẫn và tạo điều kiện thuận lợi cho em hồn thành tốt đề tài này .
Em thực hiện đồ án này xin chân thành cám ơn quý thầy cô trong khoa
điện tử cùng các bạn sinh viên trong khoa đã đóng góp ý kiến và kinh nghiệm
trong quá trình thực hiện đề tài này.
DHCN TPHCM - 3 - SVTH : NGUYEN NGOC SANG
ĐỒ ÁN 2 ĐƠNG HỒ SỐ TRÊN LCD 16X2
Chương

DHCN TPHCM - 4 - SVTH : NGUYEN NGOC SANG
B - NỘI DUNG
ĐỒ ÁN 2 ĐƠNG HỒ SỐ TRÊN LCD 16X2
1.1 GIỚI THIỆU CẤU TRÚC PHẦN CỨNG HỌ MCS-51
(8951):
1.1.1 Giới thiệu họ MCS-51:
MCS-51 là họ IC vi điều khiển do hãng Intel sản xuất. Các IC tiêu biểu cho
họ là 8051 và 8031. Các sản phẩm MCS-51 thích hợp cho những ứng dụng điều

khiển. Việc xử lý trên Byte và các tốn số học ở cấu trúc dữ liệu nhỏ được thực
hiện bằng nhiều chế độ truy xuất dữ liệu nhanh trên RAM nội. Tập lệnh cung cấp
một bảng tiện dụng của những lệnh số học 8 Bit gồm cả lệnh nhân và lệnh chia.
Nó cung cấp những hổ trợ mở rộng trên Chip dùng cho những biến một Bit như là
kiểu dữ liệu riêng biệt cho phép quản lý và kiểm tra Bit trực tiếp trong điều khiển
và những hệ thống logic đòi hỏi xử lý luận lý.
AT89C51 là một vi điều khiển 8 Bit, chế tạo theo công nghệ CMOS chất
lượng cao, công suất thấp với 4 KB PEROM (Flash Programmable and erasable
read only memory). Thiết bị này được chế tạo bằng cách sử dụng bộ nhớ không
bốc hơi mật độ cao của ATMEL và tương thích với chuẩn công nghiệp MCS-51 về
tập lệnh và các chân ra. PEROM ON-CHIP cho phép bộ nhớ lập trình được lập
trình trong hệ thống hoặc bởi một lập trình viên bình thường. Bằng cách kết hợp
một CPU 8 Bit với một PEROM trên một Chip đơn, ATMEL AT89C51 là một vi
điều khiển mạnh (có công suất lớn) mà nó cung ấp một sự linh động cao và giải
pháp về giá cả đối với nhiều ứng dụng vi điều khiển.
AT89C51 cung cấp những đặc tính chuẩn như sau: 4 KB bộ nhớ chỉ đọc có
thể xóa và lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, 2
TIMER/COUNTER 16 Bit, 5 vectơ ngắt có cấu trúc 2 mức ngắt, một Port nối tiếp
bán song công, 1 mạch dao động tạo xung Clock và bộ dao động ON-CHIP. Thêm
vào đó, AT89C51 được thiết kế với logic tĩnh cho hoạt động đến mức không tần
số và hỗ trợ hai phần mềm có thể lựa chọn những chế độ tiết kiệm công suất, chế
độ chờ (IDLE MODE) sẽ dừng CPU trong khi vẫn cho phép RAM, timer/counter,
port nối tiếp và hệ thống ngắt tiếp tục hoạt động. Chế độ giảm công suất sẽ lưu nội
dung RAM nhưng sẽ treo bộ dao động làm mất khả năng hoạt động của tất cả
những chức năng khác cho đến khi Reset hệ thống.
DHCN TPHCM - 5 - SVTH : NGUYEN NGOC SANG
ĐỒ ÁN 2 ĐƠNG HỒ SỐ TRÊN LCD 16X2
Các đặc điểm của 8951 được tóm tắt như sau:
− 4 KB bộ nhớ có thể lập trình lại nhanh, có khả năng tới 1000
chu kỳ ghi xố

− Tần số hoạt động từ: 0Hz đến 24 MHz
− 3 mức khóa bộ nhớ lập trình
− 2 bộ Timer/counter 16 Bit
− 128 Byte RAM nội.
− 4 Port xuất /nhập I/O 8 bit.
− Giao tiếp nối tiếp.
− 64 KB vùng nhớ mã ngồi
− 64 KB vùng nhớ dữ liệu ngoại.
− Xử lý Boolean (hoạt động trên bit đơn).
− 210 vị trí nhớ có thể định vị bit.
− 4 µs cho hoạt động nhân hoặc chia.
1.1.2 Sơ đồ khối của AT89C51
a. Sơ đồ nguyên lý
DHCN TPHCM - 6 - SVTH : NGUYEN NGOC SANG
OTHER
REGISTER
128 byte
RAM
128 byte
RAM
8032\8052
ROM
0K:
8031\8032
4K:8951
8K:8052
INTERRUP
CONTROL
INT1\
INT0\

SERIAL PORT
TEMER0
TEMER1
TEMER2
8032\8052
CPU
OSCILATOR
BUS
CONTROL
I/O PORT
SERIAL
PORT
EA\
RST
ALE\
PSEN\
P
0
P
1
P
2
P
3
Address\Data
TXD RXD
TEMER2
8032\8052
TEMER1
TEMER1

ĐỒ ÁN 2 ĐƠNG HỒ SỐ TRÊN LCD 16X2
Hình 1.1: Sơ đồ khối của AT89C51
− Interrup Control: Khối điều khiển ngắt ngồi
− Other Register: Các thanh ghi
− Ram: Bộ nhớ truy xuất ngẩu nhiên (128 Byte)
− Eprom: Bộ nhớ chỉ đọc, xóa, lập trình được
− Timer 1: Bộ định thời
− Timer 0: Bộ định thời
− Serial Port: Cổng vào ra nối tiếp
− I/O Port: Các cổng vào ra
− CPU: Vi xử lý
− Oscilator: Mạch dao động nội
− Bus Control: Các đường điều khiển Bus
b. Sơ đồ chi tiết
DHCN TPHCM - 7 - SVTH : NGUYEN NGOC SANG
ĐỒ ÁN 2 ĐƠNG HỒ SỐ TRÊN LCD 16X2
Hình 1.2: Sơ đồ chi tiết của AT89C51
1.2 KHẢO SÁT SƠ ĐỒ CHÂN 8951, CHỨC NĂNG TỪNG
CHÂN:
1.2.1. Sơ đồ chân 8951 :
DHCN TPHCM - 8 - SVTH : NGUYEN NGOC SANG
ĐỒ ÁN 2 ĐƠNG HỒ SỐ TRÊN LCD 16X2
Hình 1.3: Sơ đồ chân của AT89C51
1.2.2. Chức năng các chân của 8951
AT89C51 có tất cả 40 chân có chức năng như các đường xuất nhập. Trong
đó có 24 chân có tác dụng kép (có nghĩa 1 chân có 2 chức năng), mỗi đường có thể
hoạt động như đường xuất nhập hoặc như đường điều khiển hoặc là thành phần
của các bus dữ liệu và bus địa chỉ.
a. Các Port :
 Port 0:

Port 0 là port có 2 chức năng ở các chân 32 – 39 của 8951. Trong các thiết
kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các đường IO. Đối
với các thiết kế cỡ lớn có bộ nhớ mở rộng, nó được kết hợp giữa bus địa chỉ và bus
dữ liệu.
 Port 1:
Port 1 là port IO trên các chân 1-8. Các chân được ký hiệu P1.0, P1.1,
P1.2, … có thề dùng cho giao tiếp với các thiết bị ngồi nếu cần. Port 1 không có
chức năng khác, vì vậy chúng chỉ được dùng cho giao tiếp với các thiết bị bên
ngồi.
 Port 2:
DHCN TPHCM - 9 - SVTH : NGUYEN NGOC SANG
ĐỒ ÁN 2 ĐƠNG HỒ SỐ TRÊN LCD 16X2
Port 2 là 1 port có tác dụng kép trên các chân 21- 28 được dùng như các
đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng bộ nhớ
mở rộng.
 Port 3:
Port 3 là port có tác dụng kép trên các chân 10-17. Các chân của port này
có nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặc tính đặc biệt
của 8951 như ở bảng sau:
Bit Tên Chức năng chuyển đổi
P3.0 RXT Ngõ vào dữ liệu nối tiếp.
P3.1 TXD Ngõ xuất dữ liệu nối tiếp.
P3.2 INT0\ Ngõ vào ngắt cứng thứ 0
P3.3 INT1\ Ngõ vào ngắt cứng thứ 1
P3.4 T0 Ngõ vào của TIMER/COUNTER thứ 0
P3.5 T1 Ngõ vào của TIMER/COUNTER thứ 0
P3.6 WR\ Tín hiệu ghi dữ liệu lên bộ nhớ ngồi
P3.7 RD\ Tín hiệu đọc dữ liệu bộ nhớ ngồi
Bảng 1.1: Chức năng các chân của Port 3
b. Các ngõ tín hiệu điều khiển:

 Ngõ tín hiệu PSEN (Program store enable):
PSEN là tín hiệu ngõ ra ở chân 29 có tác dụng cho phép đọc bộ nhớ
chương trình mở rộng thường được nói đến chân 0E\ (output enable) của Eprom
cho phép đọc các byte mã lệnh.
PSEN ở mức thấp trong thời gian Microcontroller 8951 lấy lệnh. Các mã
lệnh của chương trình được đọc từ Eprom qua bus dữ liệu và được chốt vào thanh
ghi lệnh bên trong 8951 để giải mã lệnh. Khi 8951 thi hành chương trình trong
ROM nội PSEN sẽ ở mức logic 1.
 Ngõ tín hiệu điều khiển ALE (Address Latch Enable):
Khi 8951 truy xuất bộ nhớ bên ngồi, port 0 có chức năng là bus địa chỉ
và bus dữ liệu do đó phải tách các đường dữ liệu và địa chỉ. Tín hiệu ra ALE ở
DHCN TPHCM - 10 - SVTH : NGUYEN NGOC SANG
ĐỒ ÁN 2 ĐƠNG HỒ SỐ TRÊN LCD 16X2
chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ
liệu khi kết nối chúng với IC chốt.
Tín hiệu ra ở chân ALE là một xung trong khoảng thời gian port 0 đóng
vai trò là địa chỉ thấp nên chốt địa chỉ hồn tồn tự động.
Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip
và có thể được dùng làm tín hiệu clock cho các phần khác của hệ thống. Chân ALE
được dùng làm ngõ vào xung lập trình cho Eprom trong 8951.
 Ngõ tín hiệu EA\(External Access) :
Tín hiệu vào EA\ ở chân 31 thường được mắt lên mức 1 hoặc mức 0.
Nếu ở mức 1, 8951 thi hành chương trình từ ROM nội trong khoảng địa chỉ thấp 8
Kbyte. Nếu ở mức 0, 8951 sẽ thi hành chương trình từ bộ nhớ mở rộng. Chân EA\
được lấy làm chân cấp nguồn 21V khi lập trình cho Eprom trong 8951.
 Ngõ tín hiệu RST (Reset):
Ngõ vào RST ở chân 9 là ngõ vào Reset của 8951. Khi ngõ vào tín hiệu
này đưa lên cao ít nhất là 2 chu kỳ máy, các thanh ghi bên trong được nạp những
giá trị thích hợp để khởi động hệ thống. Khi cấp điện mạch tự động Reset.
 Các ngõ vào bộ giao động X1,X2:

Bộ dao động được được tích hợp bên trong 8951, khi sử dụng 8951
người thiết kế chỉ cần kết nối thêm thạch anh và các tụ như hình vẽ trong sơ đồ.
Tần số thạch anh thường sử dụng cho 8951 là 12Mhz.
 Chân 40 (Vcc) được nối lên nguồn 5V.
DHCN TPHCM - 11 - SVTH : NGUYEN NGOC SANG
ĐỒ ÁN 2 ĐƠNG HỒ SỐ TRÊN LCD 16X2
Chương

2.1 GIỚI THIỆU IC REAL TIME CLOCK DS12C887
DS12C887 thuộc họ Real-Time Clock là sản phẩm của hãng
MAXXIM với những tính năng sau:
• Được sử dụng chạy đồng hồ, lịch trong các dòng máy tính IBM AT.
• Sơ đồ chân tương thích với các loại IC MC146818 và DS1287.
• Tự vận hành với pin nội có tuổi thọ lên đến 10 năm.
• Đếm giờ, phút, giây, ngày, tháng, năm, thứ với thời gian đến năm 2100.
• Dữ liệu ngày giờ được truy xuất dưới dạng binary hoặc BCD.
• Có thể lựa chọn hiển thị giờ Mode 24 hoặc Mode 12 với AM và PM.
• Tương thích Bus giao tiếp với họ Motorola và họ Intel.
• Cung cấp 128 Byte RAM được định địa chỉ, trong đó có 14 Bytesử
dụng cho việc lưu trữ giờ và các thanh ghi điều khiển, 114 Byte
RAM đa mục đích dành cho các ứng dụng của người sử dụng.
• Xuất tín hiệu lập trình xung vuông.
• Tín hiệu điều khiển ngắt
IRQ
.
• Thời gian có thể bị sai số
1
±
phút /1 tháng trong điều kiện nhiệt độ 25
C

°
• Có mạch dao động nội và có thanh ghi thế kỷ
2.2 SƠ ĐỒ CHÂN IC DS12C887
DHCN TPHCM - 12 - SVTH : NGUYEN NGOC SANG
ĐỒ ÁN 2 ĐƠNG HỒ SỐ TRÊN LCD 16X2
Hình 2.1: Sơ đồ chân IC DS12C887
 Chức năng các chân IC DS12C887 :
 Mô tả :
AD0 – AD7 : Các đường địa chỉ / dữ liệu
NC : Không kết nối
DHCN TPHCM - 13 - SVTH : NGUYEN NGOC SANG
ĐỒ ÁN 2 ĐƠNG HỒ SỐ TRÊN LCD 16X2
MOT : Chọn loại Bus(Khi tương thích Bus giao tiếp với họ
Motorola thì chân MOT nối lên nguồn Vcc và họ Intel thì
chân MOT nối đất hoặc không kết nối)
CS
: Cho phép hoạt động(chọn chip)
AS : Chốt địa chỉ
R /
W
: Ngõ vào đọc viết
DS : Chốt dữ liệu
RESET
: Reset ngõ vào
IRQ
: Điều khiển ngắt ngồi
SQW : Ngõ ra xung vuông
Vcc : Nguồn +5V
GND : Đất
 Mạch giao tiếp với vi xử lý :

2.3 SƠ ĐỒ KHỐI IC DS12C887
DHCN TPHCM - 14 - SVTH : NGUYEN NGOC SANG
Hình 2.2: Sơ đồ giao tiếp vi xử lý
ĐỒ ÁN 2 ĐƠNG HỒ SỐ TRÊN LCD 16X2
Hình 2.3: Sơ đồ khối IC DS12C887
 Chức năng các khối :
Khối nguồn(Power): Gồm có nguồn cung cấp chính và nguồn pin dự
phòng được cung cấp bởi pin Lithium có tuổi thọ rất lâu (Khi nguồn Vcc < 3V thì
nguồn được chuyển qua nguồn pin đặt bên trong IC )
Khối dao động(OSC): Mạch dao động sử dụng thạch anh 32.768 kKz có
độ chính xác cao, sau đó được đưa đến các bộ chia để có được tần số cần dùng.
Các bộ chia tần số(Divide by 8, Divide by 64): Tần số 32.768 kKz qua bộ
chia 8, sau đó chia 2 lần 64 để có được tần số 1 Hz cung cấp cho đồng hồ.
Khối phát xung vuông(Square wave out): Chân SQW xuất các xung vuông
có tần số điều khiển bởi chương trình ở thanh ghi A. Tín hiệu xung vuông có thể
tắt mở bởi bit SQWE ở thanh ghi B. Tín hiệu xung vuông sẽ không hoạt động khi
nguồn cung cấp < 4.25V.
Các thanh ghi(Registers A, B, C, D): Các chế độ hoạt động có thể thay đổi
bởi chương trình ở các thanh ghi.
DHCN TPHCM - 15 - SVTH : NGUYEN NGOC SANG
ĐỒ ÁN 2 ĐƠNG HỒ SỐ TRÊN LCD 16X2
Khối lịch giờ: Các thông tin về giơ,ø lịch được đọc từ bộ nhớ và ghi vào
RAM dưới dạng mã Binary hoặc BCD (Binary coded decimal).
Khối giao tiếp(Bus Interface): Gồm các chân AD0 – AD7,DS, R/
W
, AS,
MOT để đặt chế độ thích hợp cho IC có thể giao tiếp vi xử lý của họ Motorola và
họ Intel.
Chương
3.1 SƠ ĐỒ KHỐI

DHCN TPHCM - 16 - SVTH : NGUYEN NGOC SANG
IC AT89C51
(VI ĐIỀU KHIỂN)
HIỂN THỊ
(DISPLAY)
IC DS12C887
(REAL TIME CLOCK)
ĐỒ ÁN 2 ĐƠNG HỒ SỐ TRÊN LCD 16X2
Hình 3.1: Sơ đồ khối
3.2 CHỨC NĂNG CÁC KHỐI
− Khối nguồn: Cung cấp nguồn ổn định cho các khối (+5VDC)
− Khối đồng hồ: Dùng IC Real Time Clock để có giờ ổn định, không
bị sai giờ khi mất điện, có 113 byte RAM đa dụng để mở rộng RAM
ngồi khi viết chương trình
− Khối điều khiển: Dùng vi xử lý 89C51 đọc dữ liệu thời gian từ IC
đồng hồ, xử lý các nút nhấn khi nhập dữ liệu, xuất dữ liệu hiển thị
− Khối hiển thị: Dùng Led 7 đoạn hiển thị giá mua vào, giá bán ra và
ngày, tháng, năm
− Khối nút nhấn: Dùng 4 nút nhấn (SELECT, OK, UP, DOWN) để
hiệu chỉnh các giá trị hiển thị
DHCN TPHCM - 17 - SVTH : NGUYEN NGOC SANG
NÚT NHẤN
KHỐI NGUỒN
(NGUỒN +5VDC)
ĐỒ ÁN 2 ĐƠNG HỒ SỐ TRÊN LCD 16X2
Chương

4.1 SƠ ĐỒ NÚT NHẤN

4 K 7

P 3 . 5P 3 . 4
4 K 7
+ 5 V
P 3 . 3P 3 . 2
4 K 7
D O W N
+ 5 V
O K
+ 5 V
U P
4 K 7
S E L E C T
+ 5 V
Hình 4.1: Sơ đồ các phím nhấn
Tất cả các nút nhấn sử dụng là loại nút nhấn hở. Một chân nối với đất,
chân còn lại nối lên nguồn +5
V
thông qua điện trở
Ω=
KR 7.4
. Ở trạng thái bình
thường ngõ ra nút nhấn là +5V tương ứng với mức logic 1. Khi nhấn nút điện áp
ngõ ra sẽ nối xuống đất tương ứng với mức logic 0. Vì vậy ta phải dùng điện trở
Ω=
KR 7.4
để hạn dòng và tạo mức điện thế logic ở ngõ vào của IC vi điều khiển
DHCN TPHCM - 18 - SVTH : NGUYEN NGOC SANG

×