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

đồng hồ số dùng realtime hiển thị lcd

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.69 MB, 40 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HCM
KHOA ĐIỆN - ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ - VIỄN THÔNG

ĐỒ ÁN MÔN HỌC 1

NGÀNH:KỸ THUẬT MÁY TÍNH
Đề tài:
ĐỒNG HỒ SỐ
DÙNG REALTIME
HIỂN THỊ LCD
TP. HỒ CHÍ MINH-6/2011
GVHD: Lê Minh
SVTH : Lê Ngọc Tuấn – Nguyễn Phúc Viên
MSSV : 08119070 08119073
Đồng hồ số
Đại Học Sư Phạm Kỹ Thuật
Khoa Điện – Điện Tử
Bộ Môn Điện Tử Viễn Thông
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆTNAM
Độc Lập – Tự Do – Hạnh Phúc
Ngày……tháng … năm 201
PHIẾU CHẤM ĐỒ ÁN MÔN HỌC…
(Dành cho người hướng dẫn)
1. Họ tên sinh viên : ……………………………………………………………………………
MSSV:
…………………………….……………………………………… ……MSSV:……
2. Tên đề tài :
………………………………………………………………………………………………
………………………………………………………………………………………………


3. Người hướng dẫn :
………………………………………………………………………………………………
…………………………………………
4. Những ưu điểm của Đồ án :
…………………………………………………………………………………………………

……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
Những thiếu sót của Đồ án:
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
5. Đề nghị : Được bảo vệ:  Bổ sung để được bảo vệ:  Không được bảo vệ: 
6. Các câu hỏi sinh viên phải trả lời trước Tổ chấm ĐAMH:
a)……………………………………………………………………………………………
………………………………………………………………………………………………
b)……………………………………………………………………………………………
……………………………………………………………………………………………………
c)
……………………………………………………………………………………………………
……………………………………………………….…………………
Đánh giá Điểm (Số và chữ):………………………………
Chương 1 : Lí thuyết thiết kế Trang 2
Đồng hồ số
CHỮ KÝ và HỌ TÊN
Phần A

GIỚI THIỆU
Chương 1 : Lí thuyết thiết kế Trang 3
Đồng hồ số
LỜI NÓI ĐẦU
Lời đầu tiên nhóm thực hiện đề tài xin cảm ơn thầy cô giáo chuyên ngành điện
tử, cảm ơn thầy Lê Minh đã hướng dẫn tận tình nhóm thực hiện đề tài trong quá trình
thực hiện đồ án này.
Thực tế ngày nay, tất cả các thiết bị điện tử điều được tích hợp, được đơn giản
hoá đi nhờ vào chip vi điều khiển. Đồng hồ là một thiết bị tối cần thiết trong một xã hội
công nghiệp. Ứng dụng vi điều khiển để làm một đồng hồ thời gian thực là một đề tài rất
hấp dẫn đối với nhóm thực hiện đề tài. Đồng hồ thời gian thực là một thiết bị ,vận dụng
rất phổ biến,được sử dụng rộng rãi với nhiều chức năng hiện đại nhỏ gọn. .Tuy nhiên để
làm được một đồng hồ như thế đòi hỏi người thiết kế phải có một kiến thức khá tổng
quát và áp dụng được nhiều kiến thức chuyên môn đã học.
Do kiến thức còn hạn hẹp và trình độ về chuyên môn còn hạn chế nên sẽ khó
tránh khỏi những thiếu sót,khuyết điểm.Rất mong được sự đóng góp ý kiến và chỉ bảo
nhiệt tình từ phía các thầy cô để đề tài được hoàn thiện hơn.
Tp.HCM, Tháng 6 năm 2011
Chương 1 : Lí thuyết thiết kế Trang 4
Đồng hồ số
MỤC LỤC
Phần A GIỚI THIỆU Trang
Lời nói đầu 5
Mục lục 6
Liệt kê bảng 7
Liệt kê hình 7
Phần B Nội dung
Chương 1: Lý thuyết thiết kế 9
1.1. Giới thiệu khái quát về 89C51 9
1.2. Giới thiệu về IC thời gian thực DS12C887 13

1.3. Gới thiệu LCD HD44780 20
Chương 2: Thiết kế và thi công 36
2.1. Sơ đồ nguyên lý 36
2.2. Sơ đồ mạch in 38
2.3. Kết quả 39
Phần C Phụ lục và tài liệu tham khảo
1. Phụ lục 41
2. Tài liệu tham khảo 41
3. Lời kết 41
Chương 1 : Lí thuyết thiết kế Trang 5
Đồng hồ số
Liệt kê bảng
Bảng 1.1: Chức năng Port 3
Bảng 1.2: Ô nhớ Realtime
Bảng 1.3: Thanh ghi A
Bảng 1.4: Thanh ghi B
Bảng 1.5: Thanh ghi C
Bảng 1.6: Thanh ghi D
Bảng 1.7: Chức năng của các chân LCD
Bảng 1.8: RS-R/W
Bảng 1.9: Tập lệnh LCD
Bảng 1.10: Hoạt động lệnh Cursor or display shift
Bảng 1.11: Tập lệnh LCD
Bảng 1.12: Maximun Rating
Bảng 1.13: Miền làm việc bình thường
Bảng 1.14: Thời gian tác động Write
Bảng 1.15: Thời gian tác động Read
Liệt kê hình
Hình 1.1: Sơ đồ khối và chức năng của chip 8051
Hình 1.2: AT8051

Hình 1.3: Sơ đồ chân DS12C887
Hình 1.4: Cấu tạo chung
Hình 1.5: Sơ đồ khối DS12C887
Hình 1.6: Hình dạng LCD
Hình 1.7: Sơ đồ chân LCD
Hình 1.8: Các khối cơ bản
Hình 1.9: Giản đồ xung cập nhật AC
Hình 1.10: Mối liên hệ giữa địa chỉ của DDRAM và vị trí hiển thị của LCD
Hình 1.11: Mối liên hệ giữa địa chỉ của ROM và dữ liệu tạo mẫu kí tự
Hình 1.12: Vùng ROM kí tự
Hình 1.13: Mối liên hệ giữa địa chỉ của CGRAM, dữ liệu của CGRAM,mã kí tự
Hình 1.14: Hoạt động dịch trái và dịch phải nội dung hiển thị
Hình 1.15: Kiểu con trỏ, kiểu kí tự và nhấp nháy kí tự
Hình 1.16: Viết LCD
Hình 1.17: Đọc LCD
Hình 2.1: Khối điều khiển
Hình 2.2: Khối hiển thị
Hình 2.3: Khối nguồn
Hình 2.4: Layout mạch điều khiển
Hình 2.5: Layout mạch hiển thị
Chương 1 : Lí thuyết thiết kế Trang 6
Đồng hồ số
Phần B
NỘI DUNG
Chương 1 : Lí thuyết thiết kế Trang 7
Đồng hồ số
Chương 1: LÝ THUYẾT THIẾT KẾ
1. Giới thiệu khái quát về 89C51
1.1 Cấu trúc bên trong của IC 89C51.
Hình 1.1:Sơ đồ khối và chức năng của chip 8051

+ Thành phần chính của vi điều khiển 8051 la bộ xử lý trung tâm hay còn gọi là CPU.
CPU bao gồm:
- Thamh ghi tích luỹ A
- Thanh ghi tích luỹ B, dùng cho phép nhân và chia
- Đơn vị logic học ALU
- Từ trạng thái chương trình PSW
- 4 bank thanh ghi
- Con trỏ ngăn xếp
- Ngoài ra còn có bộ nhớ chương trình, bộ giải mã lệnh, bộ điều khiển thời gian
và logic
+ Đơn vị xử lý trung tâm nhận trực tiếp xung từ bộ dao động
+ Chương trình đang chạy có thể cho dừng lại nhờ một khối điều khiển ở bên trong.
Các nguồn ngắt có thể là các biến cố ở bên ngoài, sự tràn bộ đếm định thời hoặc
cũng có thể là giao diện nối tiếp.
Chương 1 : Lí thuyết thiết kế Trang 8
Đồng hồ số
+ 2 bộ định thời 16 bit hoạt động như một bộ đếm.
+ Các cổng port 0, port 1, port 2, port 3 được sử dụng vào mục đích điều khiển, ở
cổng port 3 có thêm các đường dẫn điều khiển dùng để trao đổi với một bộ nhớ bên
ngoài, hoặc để đầu nối giao diện nối tiếp cũng như các đường dẫn ngắt bên ngoài.
+ Giao diện nối tiếp có chứa một bộ truyền và một bộ nhận không đồng bộ làm việc
độc lập với nhau. Tốc độ truyền qua cổng nối tiếp có thể đặt trong dải rộng và được
ấn định bằng một bộ định thời.
+ Trong vi diều khiển 8051 còn có hai thành phần quan trọng khác là bộ nhớ và các
thanh ghi
+Bộ nhớ còn có Ram và Rom dùng để lưu dữ liệu và mã lệnh.
+ Các thanh ghi sử dụng để lưu dữ thông tin trong quá trình xử lý. Khi CPU làm
việc, nó làm thay đôỉ nội dung của các thanh ghi
1.1.2. Phần cứng
Đặ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ự nhau, ở đây ta giới
thiệu 89c51 với các đặc điểm chính sau:
- 4KB EPROM nội
- 128 byte RAM nội
- 4 port xuất / nhập (I/O port) 8 bit
- 2 bộ định thời 16 bit
- Giao tiếp nối tiếp
- 64kb Rom ngoài
- 64kb Ram ngoài
- 210 vị trí nhớ để định vị bit, mỗi vị trí một
bit,4us cho hoạt động nhân hoặc chia
1.1.3. Sơ đồ chân 89c51:
Hình 1.2: AT8051
- Port 0: có hai chức năng từ chân 32 đến chân 39 trong các thiết kế nhỏ.
(không dùng bộ nhớ mở rộng).
có hai chức năng như các đường I/O. Đối với các thiết kế cỡ lớn( với bộ nhớ mở
rộng) nó được kết hợp kênh giữa các Bus.
- Port 1: là port I/O trên các chân từ chân số 1 đến chân số 8. có thể dùng các
thiết bị ngoài nếu cần. Port 1 không có chức năng khác vì thế chúng ta chỉ
được dùng trong các thiết bị ngoài.
- Port 2: là port công dụng kép trên các chân 21 đến 28 được dùng như các
đường xuất nhập hoặc byte cao của bus địa chỉ đối với các thiết kế mở rộng.
Chương 1 : Lí thuyết thiết kế Trang 9
U 1
A T 8 9 C 5 1
9
1 8
1 9
2 0
2 9

3 0
3 1
4 0
1
2
3
4
5
6
7
8
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
1 0
1 1
1 2
1 3
1 4
1 5
1 6
1 7
3 9
3 8
3 7

3 6
3 5
3 4
3 3
3 2
R S T
X T A L 2
X T A L 1
G N D
P S E N
A L E / P R O G
E A / V P P
V C C
P 1 . 0
P 1 . 1
P 1 . 2
P 1 . 3
P 1 . 4
P 1 . 5
P 1 . 6
P 1 . 7
P 2 . 0 / A 8
P 2 . 1 / A 9
P 2 . 2 / A 1 0
P 2 . 3 / A 1 1
P 2 . 4 / A 1 2
P 2 . 5 / A 1 3
P 2 . 6 / A 1 4
P 2 . 7 / A 1 5
P 3 . 0 / R X D

P 3 . 1 / T X D
P 3 . 2 / I N T 0
P 3 . 3 / I N T 1
P 3 . 4 / T 0
P 3 . 5 / T 1
P 3 . 6 / W R
P 3 . 7 / R D
P 0 . 0 / A D 0
P 0 . 1 / A D 1
P 0 . 2 / A D 2
P 0 . 3 / A D 3
P 0 . 4 / A D 4
P 0 . 5 / A D 5
P 0 . 6 / A D 6
P 0 . 7 / A D 7
Đồng hồ số
- Port 3: là port công dụng kép trên các chân 10 đến chân 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 8051 như ở bảng sau:
Bảng 1.1:Chức năng Port 3
Bit Tên Chức năng chuyển đổi
P3.0 RXD Dữ liệu nhận cho port nối tiếp
P3.1 TXD Dữ liệu phát cho port nối tiếp
P3.2 INTO Ngắt 0 bên ngoài
P3.3 INT1 Ngắt 1 bên ngoài
P3.4 T0 Ngõ vào của timer/courter 0
P3.5 T1 Ngõ vào của timer/courter 1
P3.6 WR Xung ghi bộ nhớ dữ liệu ngoài
P3.7 RD Xung đọc bộ nhớ dữ liệu ngoài
+ Chân PSEN: là chân 29, có 4 tín hiệu điều khiển, là tín hiệu để cho phép bộ

nhớ chương trình mở rộng và thường được nối lên chân OE của một Eprom để
cho phép đọc các byte mã lệnh.
PSEN ở mức thấp trong thời gian lấy lệnh. Các mã nhị phân của chương
trình được đọc từ Eprom qua bus và được chốt vào thanh ghi lệnh của 8051 để
giải mã lệnh. Khi thi hành chương trình trong Rom nội PSEN sẽ thụ động (mức
cao).
+ Chân ALE: (chốt) Tín hiệu ra ALE trên chân 30 tương hợp với các thiết bị làm
việc với các xử lý 8585,8088,8051 dùng ALE một cách tương tự cho làm việc
giải các kênh các Bus địa chỉ và dữ liệu khi port 0 được dùng trong chế đọ
chuyển đổi của nó: vừa là Bus dữ liệu vừa là byte thấp của địa chỉ, ALE là tín
hiệu để chốt địa chỉ vào vào một thanh ghi bên ngoài trong nửa đầu của chu kỳ bộ
nhớ. Sau đó các đương port 0 dùng để xuất hoặc nhập dữ liệu trong nửa sau của
chu kỳ bộ nhớ.
Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chíp và
có thể được làm xung nhịp cho các hệ thống. Nếu xung trên 8051 là 12MHZ thì
ALE có tần số 2MHZ. Chỉ ngoại trừ khi thi hành lệnh Movx, một xung ALE bị
mất. Chân này cũng được làm ngõ vào cho xung lập trình cho Eprom trong 8051.
+ Chân EA: (truy xuất ngoài):Tín hiệu vào EA trên chân 31 thường được mắc lên
mức cao(+5V) hoặc mức thấp(GND). Nếu ở mức cao, 8051 thi hành chương trình
từ Rom nội trong khoảng địa chỉ thấp(4K). Nếu ở mức thấp chương trình chi
được thi hành từ bộ nhớ mở rộng. Khi dùng 8031, EA luôn được nối ở mức thấp
vì không có bộ nhớ chương trình trên chíp. Nếu EA được nối ở mức thấp bộ nhớ
bên trong chương trình 8051 sẽ bị cấm và thi hành chương trình Eprom mở rộng.
Người ta còn dùng chân EA làm chân cấp điện áp 21V khi lập trình cho Eprom
trong 8051.
Chương 1 : Lí thuyết thiết kế Trang 10
Đồng hồ số
+ Chân RST(reset): Khi tín hiệu này được đưa lên mức cao(ít nhất phải 2 chu kỳ
máy), các thanh ghi trong 8051 được tải những giá trị thích hợp để khởi động hệ
thống.

+ Các ngõ vào bộ dao động trên chip:Như đã thấy ở các hình trên,8051 có bộ dao
động trên chip. Nó thường được nối với thạch anh gia hai chân 18 và 19. Các tụ
giữa cũng cần thiết như đã vẽ. Tần số thạch anh thông thường là 12MHZ.
+ Các chân nguồn: 8051 vận hành với nguồn đơn +5V(VCC) được nối vào chân
40 và chân 20 được nối GND
Chương 1 : Lí thuyết thiết kế Trang 11
Đồng hồ số
1.2. Giới thiệu về IC thời gian thực DS12C887
1.2.1. Sơ đồ chân chư sau:
Hình 1.3: Sơ đồ chân DS12C887
AD0-AD7: Bus đa hợp địa chỉ/dữ liệu.
NC: Bỏ trống.
MOT: Lựa chọn loại Bus.
CS: Ngõ vào lựa chọ RTC
AS: chốt địa chỉ.
R/ W: Ngõ vào đọc ghi.
DS: Chốt dữ liệu.
RESET: Ngõ vào reset.
IRQ: Nhõ ra yêu cầu ngắt.
SQW: Ngõ ra sóng vuông.
VCC: Nguồn cung cấp +5V.
GND: Mass
Hình 1.4: Cấu tạo chung
Chương 1 : Lí thuyết thiết kế Trang 12
U 1
D S 1 2 8 8 7
1 9
2 3
2 4
1 2

4
5
6
7
8
9
1 0
1 1
1 4
1 7
1
1 8
1 5
1 3
I R Q
S Q W
V C C
G N D
A D 0
A D 1
A D 2
A D 3
A D 4
A D 5
A D 6
A D 7
A S
D S
M O T
R S T

R / W
C S
Đồng hồ số
1.2.2.Chức năng các chân:
- GND, VCC: nguồn cung cấp cho thiết bị ở những chân trên. Vcc là điện
áp ngõ vào +5v. Khi điện áp 5v được cung cấp đúng chuẩn, thiết bị được truy
cập đầy đủ và dữ liệu có thể đọc và ghi.
- MOT: là chân có tính linh hoạt để lựa chọn giữa hai loại Bus. Khi được
nối lên Vcc, Bus định thời Motorola được lựa chọn. Khi được nối xuống
GND hoặc không nối, Bus định thời Intel được lựa chọn. Chân có điện trở kéo
xuống bên trong có giá trị khoảng 20K.
- SQW: có thể xuất tín hiệu ra từ 1 trong 13 loại được cung cấp từ 15 trạng
thái được chia bên trong của RTC. Tần số của chân SQW có thể thay đổi bằng
cách lập trình thanh ghi A. Tín hiệu SQW có thể mở hoặc tắt khi ta sử dụng
bit SQWE trong thanh ghi B. Tín hiệu SQW không xuất hiện khi khi Vcc thấp
hơn 4.25v
- AD0-AD7: Bus đa hợp tiết kiệm chân bơi vì thông tin địa chỉ và thông tin
dữ liệu được dùng chung đường tín hiệu. Cùng tại nhưng chân, địa chỉ được
suất trong suốt phần thứ 1 của chu kỳ Bus và được dùng cho dữ liệu trong
phần thứ 2 của chu kỳ. Đa hợp địa chỉ/ dữ liệu không làm chậm thời gian truy
cập của DS12C887 khi bus chuyển từ địa chỉ sang dữ liệu xảp ra trong suốt
thời gian truy cập Ram nội. Địa chỉ phải có giá trị trước khi xuất hiện sườn
xuống của AS/ALE tại thời điểm mà DS12C887 chốt địa chỉ từ AD0 tới AD7.
Dữ liệu phải được hiển thị và giữ ổn định trong suốt phần sau của DS
hoặc xung WR. Trong chu kỳ đọc của DS12C887 ngõ ra 8 bit của dữ liệu
trong suốt phần sau của DS hoặc xung RD. Chu kỳ đọc được thưc hiện xong
và Bus trở về trạng thái tổng trở cao cũng như khi DS bắt đầu xuống thấp
trong trường hợp định thời Motorola hoặc khi RD lên cao trong trường hợp
định thời Intel.
- AS: xung dương cung cấp xung chốt địa chỉ trong việc phức hợp Bus.

Sườn xuống của AS/ ALE làm cho địa chỉ bị chốt lại bên trong của
DS12C887. Sườn lên tiếp theo khi xuất hiện trên Bus AS sẽ bị xoá địa chỉ bất
chấp chân CS có được chọn hay không. Lệnh truy cập có thể gửi tới bằng cả
hai cách.
- DS: chân DS/ RD có hai kiểu sử dụng tuỳ thuộc vào mức của chân
MOT. Khi chân MOT được nối lên Vcc, Bus định thời Motorola được lựa
chọn. Trong kiểu này DS là xung dương trong suốt phần sau của chu kỳ Bus
và được gọi là Data Strobe. Trong suốt chu kỳ đọc, DS báo hiệu thời gian mà
DS12C887 đựoc điều khiển bus đôi. Trong chu kỳ đọc, xung quét của DS là
nguyên nhân làm DS12C87 chốt dữ liệu được ghi. Khi chân MOT được nối
xuống GND, Bus định thời Intel được lựa chọn. Trong kiểu này, chân DS
được gọi là Read(RD) xác định chu kỳ thời gian khi DS12C887 điều khiển
Chương 1 : Lí thuyết thiết kế Trang 13
Đồng hồ số
bus đọc dữ liệu. Tín hiệu RD có cùng định nghĩa với tín hiệu OE trong bộ nhớ
riêng.
- R/ W: có hai cách hoặt động. Khi chân MOT được kết nối lên Vcc cho
chế độ định thời Motorola, R/ W đang ở chế độ chỉ ra hoặc là chu kỳ hiện tại
là chu kỳ đọc hoặc ghi. Chu kỳ đòi hỏi chân R/ W phải ở mức cao khi chân
DS ở mức cao. Chu kỳ đòi hỏi chân R/W ở mức thấp trong suốt quá trình chốt
tín hiệu của DS. Khi chân MOT được nối GND cho chế độ định thời Intel, tín
hiệu R/ W là tín hiệu hoạt động mức thấp được gọi là WR. Trong chế độ này
chân R /W được định nghĩa như tín hiệu Write Enable trong Ram chung.
- CS: tín hiệu lựa chọn phải được xác định ở mức thấp ở chu kỳ bus để
DS12C887 được sử dụng. CS phải được giữ trong trạng thái hoạt động trong
suốt DS và AS của chế độ định thời Motorola và trong suốt RD và WR của
chế độ định thời Intel. Chu kỳ bus khi chọn vị trí mà không chọn CS sẽ chốt
địa chỉ nhưng sẽ không có bất kỳ sự truy cập nào. Khi Vcc thấp hơn
4.25Volts, chức năng bên trong của DS12C887 ngăn chặn sự truy cập bằng
cáchkhông cho phép lựa chọn ngõ vào CS. Hành động này nhằm bảo vệ cả dữ

liệu của đồng hồ thời gian thực bên trong cũng như dữ liệu Ram trong suốt
quá trình mất nguồn.
- IRQ: là ngõ ra hoạt động mức thấp, có thể sử dụng ngõ vào ngắt tới bộ
vi xử lý.Ngõ ra IRQ\ ở mức thấp khi bit là nguyên nhân làm ngắt và phù hợp
với bit cho phép ngắt được đặt(set). Để xoá chân IRQ\ chương trình của bộ vi
xử lý thông thường được đặt ở thanh ghi C. Chân Reset cũng bị xoá trong lúc
ngắt. Khi không có trạng thái ngắt nào được sử dụng, trạng thái IRQ\ ở mức
tổng trở cao. Nhiều thiết bị ngắt có thể nối tới IRQ\ Bus là một ngõ ra mở và
yêu cầu một điện trở kéo lên bên ngoài.
- RESET: không hiệu lực đối với lịch, đồng hồ hoặc Ram. Ở chế độ cấp
nguồn, chân reset có thể bị kéo xuống trong thời gian cho phép đẻ ổn định
nguồn cung cấp.
Chương 1 : Lí thuyết thiết kế Trang 14
Đồng hồ số
1.2.3.Cấu trúc bên trong của DS12C887.
Hình 1.5: Sơ đồ khối DS12C887
1.2.3.1.Sơ đồ địa chỉ của Real time clock
Bảng 1.2: Ô nhớ Realtime
Chương 1 : Lí thuyết thiết kế Trang 15
Đồng hồ số
Sơ đồ địa chỉ của DS12C887 được trình bày bao gồm 113 byte Ram thông dụng,
11 byte Ram mà thành phần bao gồm đồng hồ thời gian thực, lịch, dữ liệu báo giờ và
4 byte được sử dung cho việc điều khiển và thông báo tình trạng.
Tất cả 128 byte có thể được ghi hoặc đọc trực tiếp từ những trường hợp sau:
o Thanh ghi C và D là hai thanh ghi chỉ đọc
o Bit thứ 7 của thanh ghi A là bit chỉ đọc.
o Bit cao của byte thứ hai là bit chỉ đọc
Thời gian và đã có bằng cách đọc các byte bộ nhớ hiện có. Thời gian, lịch và báo
giờ được đặt hoặc gán giá trị bằng cách ghi giá trị byte Ram thích hợp. Nội dung của
10 byte chứa thời gian lịch và báo giờ đều có thể hiển thị ở hai dạng nhị phân hoặc

BCD. Trước khi ghi lên các thanh ghi thời gian , lịch và báo giờ bên trong, bit SET ở
thanh ghi B phải được đặt ở mức 1 để ngăn ngừa sự cập nhật có thể xảy ra trong quá
trình ghi đè. Thêm vào nữa là đè ghi lên 10 thanh ghi chỉ thời gian, lịch và báo giờ ở
một định dạng đã lựa chọn(BCD hay nhị phân), bit chọn kiểu dữ liệu DM của thanh
ghi B phải được đặt ở mức logic thích hợp. Tất cả 10 byte thời gian lịch và báo giờ
phải sử dụng cùng kiểu dữ liệu. Bit được đặt ở thanh ghi B nên được xoá sau khi bit
kiểu dữ liệu đã được ghi để cho phép đồng hồ thời gian thực cập nhật byte thời gian
và lịch. Vào lúc đầu đồng hồ thời gian cập nhật ở một kiểu đã được lựa chọn. Kiểu
dữ liệu không thể thay đổi mà không khởi động lại 10 byte dữ liệu. Bảng sau trình
bày định dạng nhị phân và BCD của thời gian lịch và báo giờ. Bit lựa chọn kiểu hiển
thị 24-12 không thể thay đổi mà không khởi động lại thanh ghi giờ. Khi định dạng
kiểu 12 giờ được chọn bit cao của byte giờ tương ứng với PM khi nó được đặt ở mức
logic 1. Byte thời gian lịch và byte báo giờ luôn được truy cập bởi vì chúng được
đệm gấp đôi, mỗi giây một lần 11byte được nâng cấp và được kiểm tra tình trạng báo
giờ. Nếu lệnh đọc dữ liệu thời gian và lịch diễn ra trong quá trình cập nhật, một vấn
đề phát sinh là có thể thời gian giờ, phút, giây có thể không chính xác, xác suất đọc
kkhông chính xác dữ liệu thời gian và lịch là rất thấp.
Sau đây ta tìm hiểu các thanh ghi điều khiển trong DS12C887.
- Thanh ghi A:
Bảng 1.3: Thanh ghi A
MSB LSB
BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0
UIP DV2 DV1 DV0 RS3 RS2 RS1 RS0
+ UIP: là bít trạng thái mà có thể theo dõi được, khi bit UIP ở mức 1, quá trình
cập nhật sẽ sớm xảy ra. Khi bit UIP ở mức 0, quá trình cập nhật sẽ không xảy ra ít
nhất 244us. Những thông tin về thời gian lịch và báo giờ ở trong Ram có đầy đủ cho
việc truy cập khi bit UIP ở mức 0. Bit UIP là bit chỉ đọc và không bị ảnh hưởng bởi
chân reset. Khi ghi bit SET ở thanh ghi B lên mức 1 để ngăn chặn quá trình cập nhật
và xoá bit trạng thái UIP.
Chương 1 : Lí thuyết thiết kế Trang 16

Đồng hồ số
+ DV2, DV1, DV0: 3bit trên được sử dụng để bật tắt bộ dao động và cài đặt lại
quá trình đếm xuống. Khi được đặt 010 thì đó là sự kết hợp duy nhất để bật bộ dao
động lên và cho phép RTC giữ thời gian. Khi được đặt 11X sẽ cho phép bộ dao động
nhưng giữ quá trình đếm xuống ở mức reset. Quá trình cập nhật tiếp theo sẽ sớm diễn
ra sau 500ms sau khi kiểu 010 được ghi vào DV1, DV2, DV3.
+ RS3, RS2, RS1,RS0: 4bit loại lựa chọn để lựa chọn 1 trong 13 loại của bộ chia
15 trạng thái hoặc không cho phép xuất tín hiệu chia ra ngoài. Loại được lựa chọn có
thể phát ra sóng vuông(chân SQW) hoặc ngắt theo chu kỳ. Người sử dụng có thể sử
dụng một trong những cách sau:
o Cho phép ngắt với bit PIE
o Cho phép xuất ngõ ra chân SQW với bit SQWE.
o Cho phép cả hai hoạt động cùng một lúc và cùng một loại.
o Không kích hoạt cả hai.
Bảng sau liệt kê chu kỳ ngắt với tần số sóng vuông mà có thể lựa chọn với bit RS.
Cả 4 bit đọc ghi và không bị ảnh hưởng bởi chân reset.
- Thanh ghi B:
Bảng 1.4: Thanh ghi B
BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0
SET PIE AIE UIE SQWE DM 24/12 DSE
- SET: Khi bit SET ở mức 0, thông thường quá trình cập nhật bằng cách tăng biến
đếm 1 lần một giây. Khi bit SET được lên vào mức 1 mọi quá trình cập nhật đều bị cấm,
và chương trình có thể bắt đầu khởi động byte thời gian và lịch mà không có quá trình
cập nhật nào xảy ra trong quá trình khởi động, chu kỳ đọc có thể thực thi ở cùng một
kiểu. SET là bit đọc ghi và không chịu ảnh hưởng bởi Reset hoặc các chức năng bên
trong của DS12C887.
-PIE: Bit cho phép ngắt theo chu kỳ, là bit đọc ghi, nó cho phép bit cờ ngắt theo
chu kỳ trong thanh ghi C để điều khiển chân IRQ\ xuống mức thấp tuỳ thuộc vào tỉ lệ
phân bố của RS3 đến RS0 ở thanh ghi A.
-AIE: Bit cho phép ngắt báo giờ, là bit đọc ghi mà khi được đặt lên 1 nó cho phép

bit cờ báo giờ(AF) ở thanh ghi C để cho phép ngắt IRQ\. Tín hiệu ngắt báo giờ diễn ra ở
tất cả các giây khi cả 3 byte báo giờ chứa mã báo giờ được thể hiện ở nhị phân như sau
11XXXXXX. Các chức năng bên trong của DS12C887 không bị ảnh hưởng bởi chân
AIE.
-UIE: Bít cho phép kết thúc quá trình ngắt cập nhật, là bit đọc ghi mà cho phép bit
cờ kết thúc quá trình cập nhật ở thanh ghi C để cho phép ngắt IRQ\. Chân Reset ở mức 0
hoặc chân SET ở mức 1 sẽ xoá bit UIE.
-SQWE: là bit cho phép xuất sóng vuông, được đặt lên mức 1, một tín hiệu sóng
vuông có tần số được đặt ở vị trí được lựa chọn của bit RS3 đến RS0 sẽ điều khiển sóng
ra tại chân SQW. Khi bit SQWE được đặt ở mức thấp, chân SQW sẽ được giữ ở mức
Chương 1 : Lí thuyết thiết kế Trang 17
Đồng hồ số
thấp. SQWE là bit đọc ghi và được xoá khi Reset. SQWE được đặt lên 1 khi được cấp
Vcc.
-DM: Bit kiểu dữ liệu qui định khi nào là thông tin lịch và thời gian ở định dạng
nhị phân hoặc BCD. Bit DM được đặt bởi chương trình có thể định dạng thích hợp và có
thẻ đọc khi được yêu cầu. Bit này không bị thay đổi khi Reset. Mức 1 của DM sẽ hiển
thị dữ liệu nhị phân, mức 0 hiẻn thị dữ liệu BCD.
-24/ 12: Bit xác định kiểu byte giờ. Khi ở mức 1 nó hiển thị kiểu 24 giờ, bit 0
hiển thị 12 giờ. Bit này không ảnh hưởng bởi các chức năng bên trong hoặc chân reset.
-DSE: Bit cho phép nhớ công khai. Bit này cũng không bị ảnh hưởng bởi chức
năng bên trong hoặc chân reset.
- Thanh ghi C:
Bảng 1.5: Thanh ghi C
MSB LSB
BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0
IRQF PF AF UF 0 0 0 0
-IRQF: Bit cờ yêu cầu ngắt được đặt lên 1 khi những điều dưới đây đúng:
PF=PIE=1
AF=AIE=1

UF=UIE=1
Điều có nghĩa là IRQF=(PF.PIE)+(AF.AIE)+(UF.UIE).
Bất cứ lúc nào bit IRQF được đặt lên 1, chân IRQ\ được đặt xuống mức thấp. Bit cờ
PF,AF và UF được xoá khi thanh ghi C được chương trình đọc hoặc chân Reset ở mức
thấp.
- Thanh ghi D:
Bảng 1.6: Thanh ghi D
BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0
VRT 0 0 0 0 0 0 0
VRT: Bit thời gian và Ram hợp lệ, biểu thị tình trạng của pin được kết nối chân
VBAT. Bit này không phải là bit ghi được và luôn có giá trị là 1 khi đọc, nếu hiên
thị mức 0, nguồn năng lượng pin bên trong đã cạn và cả hai mục dữ liệu thời gian
thực lẫn dữ liệu Ram đều bị nghi ngờ. Bit này không bị ảnh hưởng bởi chân reset.
Chương 1 : Lí thuyết thiết kế Trang 18
Đồng hồ số
1.3. Gới thiệu LCD HD44780
1.3.1 Hình dáng và kích thước:
Có rất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau, trên hình 1.6
là hai loại LCD thông dụng.
Hình 1.6 Hình dạng LCD
Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (HD44780) bên trong
lớp vỏ và chỉ đưa các chân giao tiếp cần thiết. Các chân này được đánh số thứ tự và đặt
tên như hình 1.7
Hình 1.7 Sơ đồ chân LCD
Chương 1 : Lí thuyết thiết kế Trang 19
Đồng hồ số
1.3.2 Chức năng của các chân
Bảng 1.7 Chức năng của các chân LCD
* Ghi chú : Ở chế độ “đọc”, nghĩa là MPU sẽ đọc thông tin từ LCD thông qua các chân
DBx.

Còn khi ở chế độ “ghi”, nghĩa là MPU xuất thông tin điều khiển cho LCD thông
qua các chân DBx.
Chương 1 : Lí thuyết thiết kế Trang 20
Đồng hồ số
1.3.3 Các khối cơ bản của nó.
Hình 1.8 Các khối cơ bản
1.3.3.1 Các thanh ghi :
- Chíp HD44780 có 2 thanh ghi 8 bit quan trọng : Thanh ghi lệnh IR (Instructor
Register) và thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR : Để điều khiển LCD, người dùng phải “ra lệnh” thông qua 8
đường bus DB0-DB7. Mỗi lệnh được nhà sản xuất LCD đánh địa chỉ rõ ràng. Người
dùng chỉ việc cung cấp địa chỉ lệnh bằng cách nạp vào thanh ghi IR. Nghĩa là, khi ta nạp
vào thanh ghi IR một chuỗi 8 bit, chíp HD44780 sẽ tra bảng mã lệnh tại địa chỉ mà IR
cung cấp và thực hiện lệnh đó.
VD : Lệnh “hiển thị màn hình” có địa chỉ lệnh là 00001100 (DB7…DB0)
Lệnh “hiển thị màn hình và con trỏ” có mã lệnh là 00001110
- Thanh ghi DR : Thanh ghi DR dùng để chứa dữ liệu 8 bit để ghi vào vùng RAM
DDRAM hoặc CGRAM(ở chế độ ghi) hoặc dùng để chứa dữ liệu từ 2 vùng RAM này
gởi ra cho MPU (ở chế độ đọc). Nghĩa là,khi MPU ghi thông tin vào DR, mạch nội bên
Chương 1 : Lí thuyết thiết kế Trang 21
Đồng hồ số
trong chíp sẽ tự động ghi thông tin này vào DDRAM hoặc CGRAM. Hoặc khi thông tin
về địa chỉ được ghi vào IR, dữ liệu ở địa chỉ này trong vùng RAM nội của HD44780 sẽ
được chuyển ra DR để truyền cho MPU.
Bằng cách điều khiển chân RS và R/W chúng ta có thể chuyển qua lại giữ 2
thanh ghi này khi giao tiếp với MPU. Bảng sau đây tóm tắt lại các thiết lập đối với hai
chân RS và R/W theo mục đích giao tiếp.
Bảng 1.8 RS-R/W
1.3.3.2 Cờ báo bận BF: (Busy Flag)
Khi thực hiện các hoạt động bên trong chíp, mạch nội bên trong cần một khoảng

thời gian để hoàn tất. Khi đang thực thi các hoạt động bên trong chip như thế, LCD bỏ
qua mọi giao tiếp với bên ngoài và bật cờ BF (thông qua chân DB7 khi có thiết lập
RS=0, R/W=1) lên để báo cho MPU biết nó đang “bận”. Dĩ nhiên, khi xong việc, nó sẽ
đặt cờ BF lại mức 0.
*Bộ đếm địa chỉ AC : (Address Counter)
Như trong sơ đồ khối, thanh ghi IR không trực tiếp kết nối với vùng RAM
(DDRAM và CGRAM) mà thông qua bộ đếm địa chỉ AC. Bộ đếm này lại nối với 2
vùng RAM theo kiểu rẽ nhánh. Khi một địa chỉ lệnh được nạp vào thanh ghi IR, thông
tin được nối trực tiếp cho 2 vùng RAM nhưng việc chọn lựa vùng RAM tương tác đã
được bao hàm trong mã lệnh.
Sau khi ghi vào (đọc từ) RAM, bộ đếm AC tự động tăng lên (giảm đi) 1 đơn vị và
nội dung của AC được xuất ra cho MPU thông qua DB0-DB6 khi có thiết lập RS=0 và
R/W=1 (xem bảng tóm tắt RS - R/W).
Lưu ý: Thời gian cập nhật AC không được tính vào thời gian thực thi lệnh mà
được cập nhật sau khi cờ BF lên mức cao (not busy), cho nên khi lập trình hiển thị, bạn
phải delay một khoảng tADD khoảng 4uS-5uS (ngay sau khi BF=1) trước khi nạp dữ
liệu mới. Xem thêm hình bên dưới.
Chương 1 : Lí thuyết thiết kế Trang 22
Đồng hồ số
Hình 1.9 Giản đồ xung cập nhật AC
1.3.3.4 Vùng RAM hiển thị DDRAM : (Display Data RAM)
Đây là vùng RAM dùng để hiển thị, nghĩa là ứng với một địa chỉ của RAM là
một ô kí tự trên màn hình và khi bạn ghi vào vùng RAM này một mã 8 bit, LCD sẽ hiển
thị tại vị trí tương ứng trên màn hình một kí tự có mã 8 bit mà bạn đã cung cấp. Hình sau
đây sẽ trình bày rõ hơn mối liên hệ này :
Hình 1.10 Mối liên hệ giữa địa chỉ của DDRAM và vị trí hiển thị của LCD
Vùng RAM này có 80x8 bit nhớ, nghĩa là chứa được 80 kí tự mã 8 bit. Những
vùng RAM còn lại không dùng cho hiển thị có thể dùng như vùng RAM đa mục đích.
Lưu ý là để truy cập vào DDRAM, ta phải cung cấp địa chỉ cho AC theo mã HEX
Chương 1 : Lí thuyết thiết kế Trang 23

Đồng hồ số
1.3.3.5 Vùng ROM chứa kí tự CGROM: Character Generator ROM
Vùng ROM này dùng để chứa các mẫu kí tự loại 5x8 hoặc 5x10 điểm ảnh/kí tự,
và định địa chỉ bằng 8 bit. Tuy nhiên, nó chỉ có 208 mẫu kí tự 5x8 và 32 mẫu kí tự kiểu
5x10 (tổng cộng là 240 thay vì 256 28= mẫu kí tự). Người dùng không thể thay đổi
vùng ROM này.
Hình 1.11 Mối liên hệ giữa địa chỉ của ROM và dữ liệu tạo mẫu kí tự.
Như vậy, để có thể ghi vào vị trí thứ x trên màn hình một kí tự y nào đó, người
dùng phải ghi vào vùng DDRAM tại địa chỉ x (xem bảng mối liên hệ giữa DDRAM và
vị trí hiển thị) một chuỗi mã kí tự 8 bit trên CGROM. Chú ý là trong bảng mã kí tự trong
CGROM ở hình bên dưới có mã ROM A00.
Ví dụ : Ghi vào DDRAM tại địa chỉ “01” một chuỗi 8 bit “01100010” thì trên LCD tại ô
thứ 2 từ trái sang (dòng trên) sẽ hiển thị kí tự “b”.
Chương 1 : Lí thuyết thiết kế Trang 24
Đồng hồ số
Hình 1.12 Vùng ROM kí tự
Chương 1 : Lí thuyết thiết kế Trang 25

×