Tải bản đầy đủ (.pdf) (56 trang)

ĐỀ TÀI: LẮP MẠCH HIỂN THỊ THỜI GIAN, NGÀY THÁNG NĂM, GIỜ PHÚT GIÂY BẰNG LCD, SỬ DỤNG VI ĐIỀU KHIỂN HỌ 8051 VÀ IC THỜI GIAN THỰC DS1307.

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 (1.48 MB, 56 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA VIỄN THÔNG I
----------

BÀI TẬP LỚN
THỰC HÀNH CƠ SỞ
ĐỀ TÀI: LẮP MẠCH HIỂN THỊ THỜI GIAN, NGÀY THÁNG NĂM,
GIỜ PHÚT GIÂY BẰNG LCD, SỬ DỤNG VI ĐIỀU KHIỂN HỌ 8051
VÀ IC THỜI GIAN THỰC DS1307.

Th.S NGUYỄN ĐỨC VIỆT

GIẢNG VIÊN HƯỚNG DẪN:

Th.S NGUYỄN ĐỨC MINH
Th.S LA THU HỒNG
NHÓM SINH VIÊN THỰC HIỆN:

MẠC ĐỨC MẠNH
NGUYỄN ĐÌNH HUỲNH
ĐỖ VĂN HIẾU
NGUYỄN THỊ HUYỀN TRANG

LỚP:

D09VT3

HÀ NỘI, 2012


Bài tập lớn môn Thực hành cơ sở


MỤC LỤC

MỤC LỤC ...................................................................................................................... 1
DANH MỤC HÌNH ẢNH ............................................................................................... 3
LỜI NÓI ĐẦU ................................................................................................................ 5
CHƢƠNG 1. PHÂN TÍCH YÊU CẦU ............................................................................ 6
1.1. Khảo sát và phân tích bài toán ............................................................................... 6
1.1.1. Cách hiển thị thời gian .................................................................................... 6
1.1.2. Mục đích ......................................................................................................... 7
1.1.3. Các công nghệ ứng dụng trong thiết kế thời gian thực .................................... 8
1.1.4. Giải pháp thiết kế ............................................................................................ 9
1.1.5. Các tham số cho hệ thống ............................................................................... 9
CHƢƠNG 2: THIẾT KẾ HỆ THỐNG ...........................................................................10
2.1. Sơ đồ tổng quát ....................................................................................................10
2.2. Sơ đồ Call graph...................................................................................................11
2.3. Sơ đồ đặc tả..........................................................................................................11
2.5. Các module trong hệ thống ...................................................................................14
2.5.1. Khối nguồn ....................................................................................................14
2.5.2. Khối điều khiển trung tâm ..............................................................................14
2.5.3. Khối tạo thời gian thực ..................................................................................15
2.5.4. Khối hiển thị ..................................................................................................15
2.5.5. Khối giao tiếp phím bấm ................................................................................16
2.6. Giới thiệu một số linh kiện ...................................................................................16
2.6.1. Vi điều khiển AT89C51 ..................................................................................16

1


Bài tập lớn môn Thực hành cơ sở
2.6.2. IC thời gian thực DS1307...............................................................................24

2.6.4. IC ổn áp 7805 ................................................................................................36
2.6.5. Tụ điện ...........................................................................................................37
2.6.6. Điện trở .........................................................................................................37
2.6.7. Nút bấm button...............................................................................................37
2.6.8. Biến trở ..........................................................................................................38
2.6.9. Thạch anh ......................................................................................................38
2.6.10. Pin CMOS 3V...............................................................................................38
CHƢƠNG 3. XÂY DỰNG HỆ THỐNG ........................................................................39
3.1. Thiết kế phần cứng ...............................................................................................39
3.2. Lập trình vi điều khiển .........................................................................................40
Chương trình ...........................................................................................................40
3.3. Kết quả mô phỏng ...............................................................................................53
KẾT LUẬN ....................................................................................................................54
DANH MỤC TÀI LIỆU THAM KHẢO ........................................................................55

2


Bài tập lớn môn Thực hành cơ sở
DANH MỤC HÌNH ẢNH
Hình 1.1

Đồng hồ điện tử

7

Hình 1.2

Đồng hồ điện tử trên một lò vi sóng


8

Hình 2.1

Sơ đồ khối hệ thống

10

Hình 2.2

Sơ đồ Call graph của mạch

11

Hình 2.3

Sơ đồ đặc tả của mạch

11

Hình 2.4

Sơ đồ thuật toán khối điều khiển

12

Hình 2.5

Sơ đồ thuật toán cài đặt và hiển thị LCD


13

Hình 2.6

Sơ đồ khối nguồn

14

Hình 2.7

Khối điều khiển trung tâm

14

Hình 2.8

Khối tạo thời gian thực.

15

Hình 2.9

Khối hiển thị

16

Hình 2.10

Các nút điều khiển mạch.


16

Hình 2.11

Hình ảnh AT89C51

17

Hình 2.12

Sơ đồ khối của AT89C51

18

Hình 2.13

Sơ đồ các chân AT89C51

19

Hình 2.14

Mạch reset tác động bằng tay và tự động reset khi khởi động máy

20

Hình 2.15

Mạch tạo xung clock


22

Hình 2.16

IC thời gian thực DS1307

25

3


Bài tập lớn môn Thực hành cơ sở
Hình 2.17

Khối mạch thời gian thực

26

Hình 2.18

Sơ đồ khối DS1307

27

Hình 2.19

Sơ đồ địa chỉ RAM

28


Hình 2.20

Sơ đồ địc chỉ RTC

28

Hình 2.21

Hình ảnh LCD 16x2

32

Hình 2.22

IC ổn áp 5V – 7805

36

Hình 2.23

Hình dạng của điện trở trong thiết bị điện tử.

37

Hình 2.24

Nút bấm

37


Hình 2.25

Biến trở

38

Hình 2.26

Pin CMOS

38

Hình 3.1

Sơ đồ nguyên lý mạch vẽ trên proteus

39

Hình 3.1

Sơ đồ mạch in một lớp

39

4


Bài tập lớn môn Thực hành cơ sở
LỜI NÓI ĐẦU
Sự ra đời của các bộ vi xử lí nói chung, các bộ vi điều khiển nói riêng đã tạo ra một

bƣớc ngoặt lớn trong việc thiết kế các hệ thống xử lí thông tin, đo lƣờng điều khiển và
truyền thông. Kết quả là đã tạo ra đƣợc những sản phẩm nhƣ máy ảnh số, máy chơi nhạc
MP3, đầu đĩa DVD, các bộ biến tần,PLC…ngày càng rẻ hơn, nhỏ gọn hơn, thông minh
hơn và tiện dụng hơn.
Hơn nữa, kỹ thuật vi điều khiển hiện nay rất phát triển, nó đƣợc ứng dụng vào rất
nhiều lĩnh vực sản xuất công nghiệp, tự động hóa, trong đời sống và còn nhiều lĩnh vực
khác nữa. So với kỹ thuật số thì kỹ thuật vi điểu khiển nhỏ gọn hơn rất nhiều do nó đƣợc
tích hợp lại và có khả năng lập trình đƣợc để điều khiển. Nên rất tiện dụng và cơ động.
Với tính ƣu việt của vi điều khiển thì trong phạm vi đồ án nhỏ này, chúng em đã chọn
đề tài " Mạch hiển thị thời gian, ngày, tháng, năm, giờ phút giây bằng LCD, sử dụng vi
điều khiển họ 8051 và IC thời gian thực DS1307. Có chỉnh thời gian, ngày tháng".
Mục đích của đề tài hƣớng đến: tạo ra bƣớc đầu cho sinh viên thử nghiệm những ứng
dụng của vi điều khiển trong thực tiễn để rồi từ đó tìm tòi, phát triển nhiều ứng dụng
khác trong đời sống hằng ngày cần đến.
Việc thực hiện xong đồ án môn học bằng các kiến thức đã học, một số sách tham khảo
và một số nguồn tài liệu khác nên không tránh khỏi những thiếu sót. Vì vậy nhóm rất
mong đƣợc sự góp ý của thầy cô và các bạn.

Hà Nội, ngày 22 tháng 12 năm 2012

Nhóm sinh viên

5


Bài tập lớn môn Thực hành cơ sở
CHƢƠNG 1. PHÂN TÍCH YÊU CẦU
1.1. Khảo sát và phân tích bài toán
Đồng hồ là một công cụ để đo đạc những mốc thời gian nhỏ hơn một ngày; đối lập
với lịch, là một công cụ để đo thời gian dài hơn một ngày. Những loại đồng hồ dùng

trong kĩ thuật thƣờng có độ chính xác rất cao và cấu tạo rất phức tạp. Trong khi đó, ngƣời
ta có thể tạo ra những loại đồng hồ nhỏ để dễ dàng mang theo bên mình (gọi là đồng hồ
đeo tay). Những loại đồng hồ hiện đại thƣờng thể hiện ba thông tin: giờ, phút, giây.
1.1.1. Cách hiển thị thời gian
 Đồng hồ cơ:
Đồng hồ cơ thể hiện thời gian sử dụng các góc. Mặt đồng hồ có những con số từ 1 đến
12 và sử dụng kim để chỉ giờ và cả phút. Từ một số đến một con số kế cận là 5 phút (đối
với kim phút), 1 giờ (đối với kim giờ) hay 5 giây (đối với kim giây).
Một loại đồng hồ cơ khác đƣợc sử dụng là đồng hồ mặt trời. Nó hoạt động nhờ theo
dọi thƣờng xuyên ánh sáng Mặt Trời, và ngƣời ta theo dõi bằng cách nhìn bóng của
chúng.
 Đồng hồ điện tử:
Đồng hồ điện tử sử dụng hệ thống số để thể hiện thời gian. Thông thƣờng có 2 cách
thể hiện:
-

24 giờ để đếm giờ từ 00-23h

-

12 giờ với kí hiệu AM / PM (chủ yếu ở Mĩ).

Những đồng hồ điện tử sử dụng màn hình LCD hay LED, ống catode để thể hiện hình
ảnh những con số. Khi những đồng hồ điện tử thay pin, chúng thƣờng "quên" dữ liệu về
thời gian trƣớc đó.
 Đồng hồ âm thanh:
Để tiện lợi hơn, có một số đồng hồ sử dụng âm thanh để bào hiệu giờ. Âm thanh có
thể đƣợc sử dụng nhƣ ngôn ngữ tự nhiên ("Bây giờ là mƣời sáu giờ ba mƣơi phút) hay
một mã (số tiếng chuông báo hiệu số giờ).


6


Bài tập lớn môn Thực hành cơ sở
 Đồng hồ chữ:
Loại đồng hồ này hiện thời gian ở dạng chữ. Nếu nhƣ ở đồng hồ điện tử chúng ta đọc
đƣợc những con số 12:35 thì ở đồng hồ chữ, chúng ta có thể đọc đƣợc "Mƣời hai giờ ba
mƣơi lăm phút". Một số loại đồng hồ khác sử dụng cơ chế gần đúng khiến ngƣời sử dụng
cảm thấy dễ chịu hơn khi sử dụng đồng hồ (ví dụ "Khoảng mƣời hai giờ rƣỡi").
1.1.2. Mục đích
Đồng hồ treo tƣờng đƣợc dùng trong nhà và văn phòng, đồng hồ đeo tay đƣợc mang
trên tay, và những loại đồng hồ lớn đƣợc đặt ở những nơi công cộng (nhà thờ hay bến
xe). Hầu hết những máy tính và điện thoại di động đều có góc dƣới màn hình hiển thị giờ.
Tuy nhiên, đồng hồ không phải lúc nào cũng đƣợc sử dụng để hiển thị thời gian. Nó
còn có thể sử dụng để điều khiển một vật theo thời gian. Ví dụ nhƣ đồng hồ chuông có
thể đƣợc dùng làm chuông báo tiết học. Nó có thể đƣợc gọi chính xác hơn là một hệ
thống đếm giờ.
Máy tính sử dụng những tín hiệu đồng hồ để đồng bộ quá trình xử lý (mặc dầu có một
số nghiên cứu về bộ xử lí không đồng bộ). Máy tính lƣu trữ thời gian để báo hiệu hay chỉ
là để hiển thị thời gian. Bên trong máy tính có một đồng hồ đƣợc nuôi bằng pin. Máy tính
vẫn có thể hoạt động ngay cả khi đồng hồ trong máy bị chết nhƣng khi khởi động máy
lại, đồng hồ của máy tính sẽ đƣợc khởi động lại.
Thời gian là một khái niệm cơ bản trong môn vật lý. Do đó, chế tạo dụng cụ đo thời
gian chính xác có ý nghĩa quan trọng trong các thí nghiệm.

Hình 1.1 Đồng hồ điện tử

7



Bài tập lớn môn Thực hành cơ sở

Hình 1.2 Đồng hồ điện tử trên một lò vi sóng
1.1.3. Các công nghệ ứng dụng trong thiết kế thời gian thực
IC thời gian thực, vi điều khiển, cách thức hiển thị thời gian thực.
 IC thời gian thực:
Hiện nay trên thị trƣờng có 2 loại IC thời gian thực phồ biến là DS1307 và DS12887.
Các IC này đều có chức năng chạy thời gian thực và lƣu giờ khi mất điện, với DS1307
cần có thêm nguồn nuôi là một pin cmos 3V, với DS12887 có sẵn pin tích hợp ở bên
trong. Các IC này thực hiện giao tiếp với vi điều khiển để hiện thị thời gian và cài đặt
giờ…
Trên cơ sở đó thì chúng ta có thể sử dụng cả 2 loại IC này, đề tài của nhóm em đƣợc
giao là dùng DS1307.
 Vi điều khiển:
Có rất nhiều loại vi điều khiển khác nhau có thể sử dụng trong mạch đồng hồ này nhƣ
vi điều khiển pic, avr, 8051… Các loại vi điều khiển pic hay avr có nhiều ƣu điểm hơn so
với 8051 nhƣ hỗ trợ kết nối ngoại vi tốt hơn, tốc độ xử lý nhanh hơn, lập trình đơn giản
hơn. Nhƣng giá thành thì lại cao hơn nhiều so với 8051 mà trong mạch này chúng em sử
dụng AT89C51.
 Hiển thị:
Chúng ta có 2 cách hiển thị đó là: sử dụng LED 7 đoạn và sử dụng LCD.
LED 7 đoạn:
-

Ƣu điểm: hiển thị rõ ràng và thu hút đƣợc sự chú ý vì có thể nhìn ở xa.

-

Nhƣợc điểm: mạch điện phức tạp cần thêm các IC chốt.


LCD 16x2:

8


Bài tập lớn môn Thực hành cơ sở
-

Ƣu điểm: hiển thị dễ dàng, có thể linh động hơn trong việc hiển thị thời gian, kết
nối đơn giản mạch điện không phức tạp…

-

Nhƣợc điểm: không thu hút đƣợc sự chú ý bằng LED 7 đoạn, giá thành cao…

1.1.4. Giải pháp thiết kế
Đồng hồ thời gian thực với trung tâm điều khiển là AT89C51 và các linh kiện khác:
LCD hiển thị, IC ổn áp7805, IC thời gian thực DS1307.
AT89C51 có các ƣu điểm: tính năng và tốc độ đáp ứng đƣợc yêu cầu kĩ thuật trong
ứng dụng không đòi hỏi cao; giá thành thấp hơn họ vi điều khiển khác; có hỗ trợ lập trình
điều khiển bằng cả hợp ngữ và C... IC DS1307 là IC chuyên dụng, cho khả năng chính
xác về thời gian. LCD hiển thị một cách rõ ràng, linh động. IC ổn áp 7805 đƣợc sử dụng
rộng rãi trong các bộ nguồn.
1.1.5. Các tham số cho hệ thống
 Sử dụng nguồn điện 5V.
 Làm việc liên tục.
 Kích thƣớc phù hợp với ngƣời sử dụng.
 Hệ thống nhỏ gọn.
 Hệ thống lƣu đƣợc thời gian khi mất nguồn cấp (có nguồn dự trữ).
 Nguồn nuôi (pin CMOS) cho IC thời gian thực đảm bảo.

 Làm việc trong điều kiện môi trƣờng bình thƣờng.

9


Bài tập lớn môn Thực hành cơ sở
CHƢƠNG 2: THIẾT KẾ HỆ THỐNG
2.1. Sơ đồ tổng quát
Sơ đồ tổng quát các khối của mạch:
Khối nguồn

Khối
thời
gian
thực

Khối hiển thị
Khối Xử lý
Khối giao tiếp
phím bấm

Hình 2.1 Sơ đồ khối hệ thống
 Khối Nguồn: cung cấp nguồn cho hệ thống.
 Khối Thời gian thực: lƣu trữ thời gian thực, thời gian cài đặt.
 Khối Xử lý: Dùng vi điều khiển AT89C51 để lấy dữ liệu từ khối thời gian thực, lƣu
trữ và đƣa ra khối hiển thị và nhận tín hiệu từ khối giao tiếp.
 Khối Hiển thị: lấy tín hiệu ra từ vi điều khiển, thực hiện giao tiếp với vi điều khiển
để hiển thị giờ và ngày.
 Khối giao tiếp: là khối bàn phím, thực hiện cài đặt giờ để vi điều khiển lƣu dữ liệu
vào trong khối thời gian thực.


10


Bài tập lớn môn Thực hành cơ sở
2.2. Sơ đồ Call graph
Chƣơng trình điều
khiển chính

Module xử lý
chƣơng trình

Module xử lý
thời gian thực

Bàn phím

IC thời gian thực

Hiển thị

Hình 2.2 Sơ đồ Call graph của mạch

2.3. Sơ đồ đặc tả

Cài
đặt

Có ngắt &
ấn phím


Kiểm tra
ngắt ngoài

Đọc

Thời gian
trong RTC

Xử lý

Ghi

Hiển thị

Hình 2.3 Sơ đồ đặc tả của mạch

11


Bài tập lớn môn Thực hành cơ sở
2.4. Sơ đồ thuật toán
Bắt đầu

Khởi tạo LCD

Kiểm tra dữ liệu thời gian
trong rtc

S




Đặt thời gian
mặc định
Đ
Xử lý dữ liệu từ RTC

S

Hiển thị giờ bình
thƣờng LCD

Có ngắt ngoài 0

Đ
Cài đặt + hiển thị thời gian cài
đặt trên LCD

(2)
Cập nhật thời gian vào
RTC

Hình 2.4 Sơ đồ thuật toán khối điều khiển

12


Bài tập lớn môn Thực hành cơ sở
Khối cài đặt +hiển thị thời gian cài đặt trên LCD:


(1)
con trỏ LCD tại
vị trí giờ

Thay đổi giờ

Đ

:

Kiểm tra tăng

Thay
phút

Đ
tăng =0

giờ+1

Đ

con trỏ LCD tại
vị trí phút

menu
=0
S


menu
S=0
Kiểm tra tăng

đổi
Đ

tăng =0

phút+1
S

S

Kiểm tra giảm

Kiểm tra giảm

Đ
giờ-1

Đ

S
giảm =0

Đ
con trỏ LCD tại
vị trí giấy


giảm =0

Đ

con trỏ LCD tại
vị trí ngày

menu
=0
S
Kiểm tra tăng

Thay đổi giây

S

phút-1

menu
=0
S
Kiểm tra tăng

Thay đổi ngày

Đ

Đ

tăng =0


ngày+1

tăng =0

giây+1

S

S
Đ

Kiểm tra giảm

Đ

S

S
giảm =0

ngày-1

giảm =0

giây-1

Kiểm tra giảm

Đ

con trỏ LCD tại
vị trí tháng

Đ
con trỏ LCD tại
vị trí năm

menu
=0
S
Kiểm tra tăng

Thay đổi tháng

Kiểm tra tăng

Thay đổi năm
Đ

Đ
tăng =0

tháng+1

menu
=0
S

tăng =0


năm+1

S

S
Đ
tháng-1

Kiểm tra giảm

Kiểm tra giảm

Đ

S

S
giảm =0

năm-1

giảm =0

Đ
con trỏ LCD tại
vị trí thứ

menu
=0
S


Thay đổi thứ

Kiểm tra tăng
Đ

(2)
tăng =0

thứ+1

S
Đ
thứ-1

Kiểm tra giảm
S
giảm =0

Hình 2.5 Sơ đồ thuật toán cài đặt và hiển thị LCD

13


Bài tập lớn môn Thực hành cơ sở
2.5. Các module trong hệ thống
2.5.1. Khối nguồn
Đây là module dùng để tạo ra nguồn điện áp chuẩn +5V. Sử dụng IC7805.
Đầu vào là điện áp xoay chiều sau khi đƣợc biến đổi qua máy biến áp, đƣa vào bộ
Diode cầu để cho ra dòng điện một chiều (lúc này điện áp nằm trong khoảng từ 7->10V).

Sau khi đi qua IC ổn áp 7805 sẽ tạo ra nguồn điện áp chuẩn +5V cung cấp cho mạch.

Hình 2.6 Sơ đồ khối nguồn
2.5.2. Khối điều khiển trung tâm
Khối điều khiển trung tâm sử dụng vi điều khiển AT89C51, qua chƣơng trình đã lập
trình đƣợc nạp cho chip, vi điều khiển sẽ điều khiển việc đọc, ghi thời gian thực, hiển thị
thời gian lên khối hiển thị là LCD.

Hình 2.7 Khối điều khiển trung tâm

14


Bài tập lớn môn Thực hành cơ sở
Bộ dao động thạch anh có tác dụng tạo xung nhịp với tần số 12MHz cho VĐK hoạt
động. Hai đầu này đƣợc nối vào 2chân XTAL1 và XTAL2 của VĐK.
Bộ RESET có tác dụng đƣa vi điều khiển về trạng thái ban đầu. Khi nút Reset đƣợc
ấn điện áp +5V từ nguồn đƣợc nối vào chân Reset của vi điều khiển đƣợc chạy thẳng
xuống đất lúc này điện áp tại chân vi điều khiển thay đổi đột ngột về 0, VĐK nhận biết
đƣợc sự thay đổi này và khởi động lại trạng thái ban đầu cho hệ thống.
2.5.3. Khối tạo thời gian thực
DS1307 là một IC thời gian thực với nguồn cung cấp nhỏ, dùng để cập nhật thời gian
và ngày tháng với 56 bytes SRAM. Địa chỉ và dữ liệu đƣợc truyền nối tiếp qua 2 đƣờng
bus 2 chiều. Nó cung cấp thông tin về giờ, phút, giây, thứ, ngày, tháng, năm. Ngày cuối
tháng sẽ tự động đƣợc điều chỉnh với các tháng nhỏ hơn 31 ngày, bao gồm cả việc tự
động nhảy năm. Đồng hồ có thể hoạt động ở dạng 24h hoặc 12h với chỉ thị AM/PM.
Để không phải điều chình lại thời gian vào những lúc bị mất nguồn, có thể nối thêm
1pin 3V vào chân số 3 của IC DS1307 (sao cho chân (+) của pin nối vào IC và chân (–)
của pin nối xuống đất). Hai chân 1 và 2 của DS1307 đƣợc nối vào bộ dao động thạch anh
có tần số 32, 768KHz để tạo dao động cho IC hoạt động.


Hình 2.8 Khối tạo thời gian thực.
2.5.4. Khối hiển thị
Sử dụng LCD 16x2, hiển thị thời gian linh hoạt, hiển thị đƣợc nhiều ký tự, giúp cho
việc quan sát thời gian khi đồng hồ chạy bình thƣờng cũng nhƣ lúc cài đặt trực quan và
linh hoạt hơn.

15


Bài tập lớn môn Thực hành cơ sở

Hình 2.9 Khối hiển thị
2.5.5. Khối giao tiếp phím bấm
Gồm 3 nút ấn, hoạt động tƣơng tự nút Reset. Khi ấn nút thì các chân vi điều khiển
đƣợc nối với phím bấm đƣa điện áp xuống đất lúc này điện áp tại các chân vi điều khiển
bằng 0 làm cho vi điều khiển nhận biết đƣợc sự thay đổi này và thực hiện lệnh cần điều
khiển. Nút thứ ba có tác dụng thiết đặt chế độ cho vi điều khiển làm việc.

Hình 2.10 Các nút điều khiển mạch.
2.6. Giới thiệu một số linh kiện
2.6.1. Vi điều khiển AT89C51
Đặc điểm và chức năng hoạt động của các IC họ MSC-51 hoàn toàn tƣơng tự nhƣ
nhau. Ở đây giới thiệu IC AT89C51 là một họ IC vi điều khiển do hãng Intel của Mỹ sản
xuất. Chúng có các đặc điểm chung nhƣ sau:

16


Bài tập lớn môn Thực hành cơ sở

-

4KBytes Flash rom.

-

128 Bytes Ram.

-

4 port 8 bit.

-

2 bộ định thời 16 bit.

-

Có port nối tiếp.

-

Có thể mở rộng bộ nhớ chƣơng trình ngoài 64 K Byte.

-

Bộ xử lý bit.

AT89C51 là một bộ vi xử lý 8 bit, loại CMOS, có tốc độ cao và công suất thấp với bộ
nhớ Flash có thể lập trình đƣợc. Nó đƣợc sản xuất với công nghệ bộ nhớ không bay hơi

mật độ cao của hãng Atmel, và tƣơng thích với họ MCS-51TM về chân ra và tập lệnh.
AT89C51 có các đặc trƣng cơ bản nhƣ sau: 4 Kbytes Flash, 128 byte RAM, 32 đƣờng
xuất nhập, hai bộ định thời/đếm 16-bit, một cấu trúc ngắt hai mức ƣu tiên và 5 nguyên
nhân ngắt, một port nối tiếp song công, mạch dao động và tạo xung clock trên chip.
AT89C51 đƣợc thiết kế với logic tĩnh cho hoạt động có tần số giảm xuống 0 và hỗ trợ
hai chế độ tiết kiệm năng lƣợng đƣợc lựa chọn bằng phần mềm. Chế độ nghỉ dừng CPU
trong khi vẫn cho phép RAM, các bộ định thời/đếm, port nối tiếp và hệ thống ngắt tiếp
tục hoạt động. Chế độ nguồn giảm duy trì nội dung của RAM nhƣng không cho mạch dao
động cung cấp xung clock nhằm vô hiệu hoá các hoạt động khác của chip cho đến khi có
reset cứng tiếp theo.

Hình 2.11. Hình ảnh AT89C51

17


Bài tập lớn môn Thực hành cơ sở

Hình 2.12. Sơ đồ khối của AT89C51
2.6.1.1. Mô tả các chân
AT89C51 có tất cả 40 chân với các chức năng nhƣ sau:
-

Vcc (40): Chân cung cấp điện (5V).

-

GND (20): Chân nối đất (0V).

-


Port 0 (32-39):

Port 0 là port xuất nhập 8-bit hai chiều. Nó còn đƣợc cấu hình làm bus địa chỉ (byte
thấp) và bus dữ liệu đa hợp trong khi truy xuất bộ nhớ dữ liệu ngoài và bộ nhớ chƣơng
trình ngoài. Nó cũng nhận các byte mã trong khi lập trình cho Flash và xuất các byte mã

18


Bài tập lớn môn Thực hành cơ sở
trong khi kiểm tra chƣơng trình (Các điện trở kéo lên bên ngoài đƣợc cần đến trong khi
kiểm tra chƣơng trình).

Hình 2.13. Sơ đồ các chân AT89C51
-

Port 1 (1-8):

Port 1 là port xuất nhập 8-bit hai chiều. Port 1 cũng nhận byte địa chỉ thấp trong thời
gian lập trình cho Flash.
-

Port 2 (21-28):

Port 2 là port xuất nhập 8-bit hai chiều. Port 2 tạo ra các byte cao của bus địa chỉ
trong thời gian tìm nạp lệnh từ bộ nhớ chƣơng trình ngoài và trong thời gian truy xuất bộ
nhớ dữ liệu ngoài sử dụng các địa chỉ 16-bit. Trong thời gian truy xuất bộ nhớ dữ liệu
ngoài sử dụng các địa chỉ 8-bit, Port 2 phát các nội dung của thanh ghi chức năng đặc
biệt P2. Port 2 cũng nhận các bit địa chỉ cao và vài tín hiệu điều khiển trong thời gian lập

trình cho Flash và kiểm tra chƣơng trình.
-

Port 3 (10-17):

Port 3 là Port xuất nhập 8-bit hai chiều. Port 3 cũng còn làm các chức năng khác của
AT89C51. Các chức năng này đƣợc liệt kê nhƣ sau:

19


Bài tập lớn môn Thực hành cơ sở
Chân

Tên

Chức năng

3. 0

RxD

Ngõ vào Port nối tiếp

3.1

TxD

Ngõ ra Port nối tiếp


3.2

INT0

Ngõ vào ngắt ngoài 0

3.3

INT1

Ngõ vào ngắt ngoài 1

3.4

T0

Ngõ vào bên ngoài của bộ định thời 1

3.5

T1

Ngõ vào bên ngoài của bộ định thời 0

3.6

WR

Điều khiển ghi bộ nhớ dữ liệu ngoài


3.7

RD

Điều khiển đọc bộ nhớ dữ liệu ngoài

Port 3 cũng nhận một vài tín hiệu điều khiển cho việc lập trình Flash và kiểm tra
chƣơng trình.
-

RST (9):

Ngõ vào reset. Mức cao trên chân này trong 2 chu kỳ máy trong khi bộ dao động đang
hoat động sẽ reset AT89C51.

RST

Hình 2.14. Mạch reset tác động bằng tay và tự động reset khi khởi động máy

20


Bài tập lớn môn Thực hành cơ sở
-

ALE/ PROG (30):

ALE là một xung ngõ ra để chốt byte thấp của địa chỉ trong khi truy xuất bộ nhớ
ngoài. Chân này cũng làm ngõ vào xung lập trình ( PROG ) trong thời gian lập trình cho
Flash. Khi hoạt động bình thƣờng, xung ngõ ra ALE luôn có tần số không đổi là 1/6 tần

số của mạch dao động, có thể đƣợc dùng cho các mụch đích định thời từ bên ngoài và tạo
xung clock. Tuy nhiên, lƣu ý là một xung ALE sẽ bị bỏ qua trong mỗi một chu kỳ truy
xuất bộ nhớ dữ liệu ngoài. Khi cần, hoạt động ALE có thể đƣợc vô hiệu hoá bằng cách
set bit 0 của thanh ghi chức năng đặc biệt có địa chỉ 8Eh. Khi bit này đƣợc set, ALE chỉ
tích cực trong thời gan thực hiện lệnh MOVX hoặc MOVC. Ngƣợc lại, chân này sẽ đƣợc
kéo lên cao. Việc set bit không cho phép hoạt động chốt byte thấp của địa chỉ sẽ không có
tác dụng nếu bộ vi điều khiển đang ở chế độ thực thi chƣơng trình ngoài.
-

PSEN (29):

PSEN (Program Store Enable) là xung điều khiển truy xuất bộ nhớ chƣơng trình
ngoài. Khi AT89C52 đang thực thi chƣơng trình từ bộ nhớ chƣơng trình ngoài, PSEN
đƣợc kích hoạt hai lần mỗi chu kỳ máy, nhƣng hai hoạt động PSEN sẽ bị bỏ qua mỗi
khi truy cập bộ nhớ dữ liệu ngoài.
-

EA /Vpp (31):

EA (External Access Enable) là chân cho phép truy xuất bộ nhớ chƣơng trình ngoài
(bắt đầu từ địa chỉ từ 0000H đến FFFFH). EA = 0 cho phép truy xuất bộ nhớ chƣơng
trình ngoài, ngƣợc lại EA =1 sẽ thực thi chƣơng trình bên trong chip. Tuy nhiên, lƣu ý
rằng nếu bit khoá 1 (lock-bit 1) đƣợc lập trình, EA sẽ đƣợc chốt bên trong khi reset.
Chân này cũng nhận điện áp cho phép lập trình Vpp=12V khi lập trình Flash (khi đó điện
áp lập trình 12V đƣợc chọn).
-

XTAL1 và XTAL2:

XTAL1 và XTAL2 là hai ngõ vào và ra của một bộ khuếch đại đảo của mạch dao

động, đƣợc cấu hình để dùng nhƣ một bộ dao động trên chip.

21


Bài tập lớn môn Thực hành cơ sở

Hình 2.15. Mạch tạo xung clock
-

Không có yêu cầu nào về chu kỳ nhiệm vụ của tín hiệu xung clock bên ngoài do
tín hiệu này phải qua một flip-flop chia hai trƣớc khi đến mạch tạo xung clock bên
trong, tuy nhiên các chi tiết kỹ thuật về thời gian mức thấp và mức cao, điện áp
cực tiểu và cực đại cần phải đƣợc xem xét.

2.6.1.2. Các chế độ đặc biệt
 Chế độ nghỉ
Trong chế độ nghỉ, CPU tự đi vào trạng thái ngủ trong khi tất cả các ngoại vi bên
trong chip vẫn tích cực. Chế độ này đƣợc điều khiển bởi phần mềm. Nội dung của RAM
trên chip và của tất cả các thanh ghi chức năng đặc biệt vẫn không đổi trong khi thời gian
tồn tại chế độ này. Chế độ nghỉ có thể đƣợc kết thúc bởi một ngắt bất kỳ nào đƣợc phép
hoặc bằng cách reset cứng.
Ta cần lƣu ý rằng khi chế độ nghỉ đƣợc kết thúc bởi một reset cứng, chip vi điều
khiển sẽ tiếp tục bình thƣờng việc thực thi chƣơng trình từ nơi chƣơng trình bị tạm dừng,
trong vòng 2 chu kỳ máy trƣớc khi giải thuật reset mềm nắm quyền điều khiển.
Ở chế độ nghỉ, phần cứng trên chip cẫm truy xuất RAM nội nhƣng cho phép truy xuất
các chân của các port. Để tránh khả năng có một thao tác ghi không mong muốn đến một
chân port khi chế độ nghỉ kết thúc bằng reset, lệnh tiếp theo yêu cầu chế độ nghỉ không
nên là lệnh ghi đến chân port hoặc đến bộ nhớ ngoài.


22


Bài tập lớn môn Thực hành cơ sở
 Chế độ nguồn giảm
Trong chế độ này, mạch dao động ngừng hoạt động và lệnh yêu cầu chế độ nguồn
giảm là lệnh sau cùng đƣợc thực thi. RAM trên chip và các thanh ghi chức năng đặc biệt
vẫn duy trì các giá trị của chúng cho đến khi chế độ nguồn giảm kết thúc. Chỉ có một
cách ra khỏi chế độ nguồn giảm, đó là reset cứng.
Việc reset sẽ xác định lại các thanh ghi chức năng đặc biệt nhƣng không làm thay đổi
RAM trên chip. Việc reset không nên xảy ra (chân reset ở mức tích cực) trƣớc khi Vcc
đƣợc khôi phục lại mức điện áp bình thƣờng và phải kéo dài trạng thái tích cực của chân
reset đủ lâu để cho phép mạch dao động hoạt động trở lại và đạt trạng thái ổn định.
Trạng thái của các chân trong thời gian tồn tại chế độ nghỉ va chế độ nguồn giảm
đƣợc cho trong bảng sau:

Chế
độ

Nghỉ

Bộ nhớ
chƣơng

ALE

PSEN

PORT 0


1

1

Dữ liệu

trình
Bên trong

PORT

PORT

1

2

Dữ liệu

Dữ

PORT 3

Dữ liệu

liệu
Nghỉ

Bên ngoài


1

1

Thả nổi

Dữ liệu

Dữ

Dữ liệu

liệu
Nguồn

Bên trong

0

0

Dữ liệu

Dữ liệu

giảm

Dữ

Dữ liệu


liệu
Bên ngoài

0

0

Thả nổi

Dữ liệu

Dữ

Dữ liệu

liệu
2.6.1.3. Các bit khoá bộ nhớ chương trình
Trên chip có ba bit khoá, các bit này có thể không cho phép lập trình hoặc cho phép
lập trình, các bit này cho ta thêm một số đặc trƣng nữa của AT89C51 nhƣ sau. Khi bit
khoá 1 LB1 đƣợc lập trình, mức logic ở chân EA đƣợc lấy mẫu và đƣợc chốt trong khi
reset. Nếu việc cấp nguồn cho chip không có công dụng reset, mạch chốt đƣợc khởi

23


Bài tập lớn môn Thực hành cơ sở
động bằng một giá trị ngẫu nhiên và giá trị này đƣợc duy trì cho đến khi có tác động reset.
Điều cần thiết là giá trị đƣợc chốt của EA phải phù hợp với mức logic hiện hành ở chân
này.

Các bit khóa chƣơng trình
Chế

Loại bảo vệ

LB1

LB2

LB3

1

U

U

U

Không có đặc trƣng khóa chƣơng trình

2

P

U

U

Các lệnh MOVC đƣợc thực thi từ bộ nhớ


độ

chƣơng trình ngoài không đƣợc phép tìm nạp
lệnh từ bộ nhớ nội, EA đƣợc lấy mẫu và đƣợc
chốt khi reset, hơn nữa việc lập trình trên Flash
bị cấm
3

P

P

U

Nhƣ chế độ 2, cấm thêm việc kiểm tra chƣơng
trình

4

P

P

P

Nhƣ chế độ 3, cấm thêm việc thực thi chƣơng
trình ngoài

2.6.2. IC thời gian thực DS1307

 Giới thiệu chung về DS1307:
IC thời gian thực là họ vi điều khiển của hãng Dalat. DS1307 có một số đặc trƣng cơ
bản sau:
DS1307 là IC thời gian thực với nguồn cung cấp nhỏ dùng để cập nhật thời gian và
ngày tháng.
SRAM: 56 bytes.

24


×