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

Thiết kế mạch chuông tự động cho trường học

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 (866.4 KB, 35 trang )

ĐA MH Hệ Thống Nhúng
ĐA MH Hệ Thống Nhúng
Huy

G VHD Nguyễn Văn

TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP
GVHD Nguyễn Văn
KHOA ĐIỆN TỦ
Bộ môn: KỸ THUẬT MÁY TÍNH

MÔN HỌC

Nhóm sinh viên

Chu Anh Nguyễn
Trần Đức Hoàng
Nguyễn Thị

Lớp

Nhung

:

K43ĐĐK

Bộ môn Kỹ thuật máy tính
Bộ môn Kỹ thuật máy tính

1


2

2/20/2013
2/20/2013


ĐA MH Hệ Thống Nhúng

GVHD Nguyễn Văn Huy
LỜI MỞ ĐẦU

Ngành điện tủ’ ngày càng phát triển,đã dần thay thế các thiết bị thô sơ,bằng
các thiết bị điện tử có độ tự động rất cao,tiết kiệm công sức cho con người. Hiện
nay với sự phát triển của vi điều khiển thì chỉ cần động tác nhẹ nhàng các thiết bị
đã được điều khiến một cách nhanh chổng

Người ta thường nói : “Học đi đôi với hành” , vì thế đế tạo nền tảng , tăng
thêm hiểu biết cũng như đi vào thực tế em đã lựa chọn đề tài “Chuông Báo Tiết
Học”.

Sinh viên thực hiện
Chu Anh Nguyễn
Trần Đức Hoàng

Bộ môn Kỹ thuật máy tính

3

2/20/2013



ĐA MH Hệ Thống Nhúng

GVHD Nguyễn Văn Huy
MỤC LỤC

MỤC LỤC..............................................................................4

A. PHÀN MỞ ĐẦU.........................................................................................6

1.

Đặt vấn đề..................................................................................................6

2.

lý do chọn đề tài.......................................................................................6

3.

giói hạn của đề tài....................................................................................6

3.1. Phân tích................................................................................................6

3.2. Xây dựng phưong án............................................................................7

3.3. Phạm vi của đồ án và phương hướng mở rộng.................................7

B. PHẦN NỘI DUNG.....................................................................................8


CHƯƠNG I: SO ĐÒ KHỐI................................................8

1.

So' đồ tổng quát........................................................................................8

Bộ môn Kỹ thuật máy tính

4

2/20/2013


ĐAMH Hệ Thống Nhúng

GVHD Nguyễn Văn Huy

3.2.1 Giói thiệu chung về DS1307.........................................................21

3.2.2 Cơ chế hoạt động và chức năng của DS1307.............................21

3.2.3 So đồ địa chỉ RAM và RTC.........................................................24

3.3 Giói thiệu LCD.....................................................................................29

3.3.1 Chức năng các chân của Module LCD 16x2..............................30

3.3.2

mã lệnh của LCDHD4480.............................................................33


3.3.3

các bit viết tắt trong mã lệnh.......................................................37

3.3.4

MãHexLCD....................................................................................38

CHƯƠNG III: THIẾT KÉ MẠCH....................................39

1.

Thuật toán................................................................................................39

2.

Khối nguồn...............................................................................................40

Bộ môn Kỹ thuật máy tỉnh

5

2/20/2013


ĐA
MHHệHệThống
ThốngNhúng
Nhúng

ĐA
MH

GVHD Nguyễn Văn Huy

3.2. Xây dựng phưong án

A. PHÀN MỞ ĐẦU
Sau khi nghiên cứu thực tế các thời điếm vào ra của các tiết học trường học,
chúng ta có những nhận xét sau.
- Mỗi ngày có 2 buối học mỗi buối kéo dài 6 tiết. Thời gian của mỗi tiết

1. Đặt vấn đề


45 phút.Thời gian nghỉ giải lao là 5 phút.Sau tiết thứ 3 của mỗi buổi nghỉ giải
- Hiện nay với sự phát triển của vi điều khiển.Các hệ thống cần thiết đều
lao
được hoạt động một cách tự động. Đơn giản như hệ thống chuông hẹn giờ,hệ
thống báo động,báo giờ trường học,báo giờ công sở . . .

Vấn đề báo tiết học là vấn đề cần thiết ở bất cứ trường học nào,giúp thầy cô điều
chỉnh được thời gian dạy học của mình.Sẽ mất thời gian khi ta phải canh thời gian
cho tiết học.Chính vì thế chúng em thiết kế mạch chuông báo tiết hoc tự động cho
- Thờihọc
gian báo:
các trường
+, thời gian báo là 10 giây đổi với những tiết bắt đầu ,ra vào tiết thứ 3 vào tiết
thứ tư của mồi buổi,kết thúc của mỗi buổi


2. lý do chọn đề tài

+,còn lại thòi gian báo cho các thời điểm khác là 5 giây
- Đây là vấn đề thực tế ,được ứng dụng nhiều trong các trường học.

- Cách báo : sử dụng chuông điện 220V

Nhằm đế củng cố kiến túc lập trình vi xử lý vừa mới học và rèn luyện khả
học hỏi nên em đã chọn đề tài này

Bộ môn Kỹ thuật máy tính

67

2/20/2013


ĐA MH Hệ Thống Nhúng

G VHD Nguyễn Văn Huy

hơn 30 phút xo với giờ mùa đông.và thêm thời kháo biểu buổi tối cho các trường
học theo hệ thống tín chỉ.

+, Thiết kế Module điều chỉnh bằng quét phím ma trận hoặc giao tiếp bàn
phím máy tính có thế lập trình thời khóa biếu theo ý muốn và giờ giấc của tùng
truờng cũng như nơi làm việc

1. Sơ đồ tổng quát
-Sơ đồ khối tổng quát

Khối nguồn

alam
/V
V

t

V

Vi SỬ LÝ
AT89C51
—Z\----------Thòi Gian
Thực

Hình 1: Sơ đồ khối tông quát
2. Chức năng các khối

2.1 Khối nguồn

-Cung cấp nguồn nuôi tất cả linh kiện trong mạch

Bộ môn Kỹ thuật máy tính

8

2/20/2013


ĐA MH Hệ Thống Nhúng


G VHD Nguyễn Văn Huy

nhiệm chức năng cấp time chính xác cho vi điều khiển xử lý các công việc mà
người sử dụng yêu cầu.

2.3. Chức năng của khối điều chỉnh

-CMc năng C0a kh0i này là S0 dlĩlng ng[zlt C0a 89c51 đm yêu cEu
viEc
điSu chlĩlnh time theo ý clĩla nglĩllĩli sm d0ng, cài đ0t time ban đEu cho đSlng
h0
thEi gian thSc RTC.Tác đSng bEi các phím bEm (BUTTON).

2.4. Khối âm thanh

-Khối này gồm có transistor thông dòng cho loa kêu khi có mức điện áp

thay đối liên tục ở chân ra của vi điều khiển

2.5. Khối hỉển thị
- Khlĩli này th[?]c ch[?]t là LCD 16x2 đl2l hiEii th0 time và các

Bộ môn Kỹ thuật máy tính

9

2/20/2013



ĐA MH Hệ Thống Nhúng

GVHD Nguyễn Văn Huy

CHƯƠNG II: THIẾT KẾ HỆ THỐNG
1. Sơ đồ callgraph

Hình 2: Sơ đồ Caỉỉgraph

Bộ môn Kỹ thuật máy tính

10

2/20/2013


ĐA MH Hệ Thống Nhúng
G
VHD Nguyễn
Nguyễn Văn
VănHuy
Huy
GVHD
- 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-51™
2. Sơ đồ đặc tả

về chân ra và tập lệnh.


- AT89C51 có các đặc trưng cơ bản như sau: 4 K byte 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 cỉock trên chip.

độ 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

U1

hoạt động.

Hình 3: Sơ đồ Đặc tả

- Chế độ nguồn giảm duy trì nội dung của RAM
3. các lỉnh kiện sử dụng trong mạch

3.1 giới thiệu cấu trúc của vi điều khiển MCS-51

AT89C51

1
1
2
2
1
1
2
1
2

1
1
1
1
1
1
1
4
3
0
1
1


D

a
ơ

o

a
o

a

a

a


-Đặ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
4: vi
Hình
tự như nhau. Ớ đây giới thiệu IC8951 là mộtHình
họ 1C
điềudạngICAT89C51
khiển do hãng Intel của
Mỹ sản xuất. Chúng có các đặc điểm chung như sau:

Bộ môn Kỹ thuật máy tính

11
12

2/20/2013


GVHD Nguyên Văn Huy

ĐA MH Hệ Thống Nhúng

Po.o - Po.7 P2.0 - P2.7

Hình 5: Sơ đồ khối của AT89C51

Bộ môn Kỹ thuật máy tính

13

2/20/2013



NguyênVăn
VănHuy
Huy
ĐAMH
MHHệ
HệThống
ThôngNhúng
Nhúng
ĐA
GGVHD
VHD Nguyễn
3.1.1.
Mô1tảlàcác
chân
- Porí 1(1-8)
: Pont
port
xuất nhập 8-bit hai chiều. Pont 1 cũng nhận
PDIP
40
P1
DVX
J0I
P1.1
dP12
-? c *JFQO|
ấK'i
36 ã F01

P13C
ÌA
P14
Dlj
P1SC
P1B
PQFP/TQFP
P1.7
2
F0R6T
C
2
(RXD
ẼLẼ
II
lỊTXD
Plũ
o Ọ N co
ỳui
Ị(TT7
PỊI
ÍCEEEỈỀSSỂẾ
F3
2)
Pi2
- Port 2 (21-28):
Port 2 là Ễ
port
hai chiều.36
Pont 2 tạo ra các

P1.
33 xuất nhập 8-bit
|
Sc1
DP0.4.
TF7Ỉ
P1.6 c
AD4)
32 tìm nạp lệnh tù' bộPLCC
byte cao của2
bus7C
địa chỉ trong thời gian
nhó' chương trình ngoài
P1
3P0.5 |
3
ADS)
ẵó s
4 xuất bộ nhớ31
và trong thờiR3T
gianc truy
dữ liệu
IRXDi
DPO
6 ngoài sử dụng
nnđịaí chỉ 16-bit. Trong
"t
ns.các
pao c
(AD6)

&
cs
5 xuất bộ nhớ dữ liệu ngoài
30 sử dụng các ađịa£s.
nPont 2 phát các
thời gian truy
chỉ1 8-bit,
n
NC c 6
3P0.7
5
3
9
£
nn
5 5 , ao
[TXDj Nrt»U)«KOO
(AD7)
n
□Poa.;
Oi^»-^
tủ
AC4|
u
uuu
u u đặc biệt P2. Pont 2 rcũng
nội dung của thanh ghi
chức
năng
bít địa chỉ cao

ủu
uu
ù
*o nhận các38
□PCtS
P1.
(ADS)
5C 7
lll66 i i l s t
37
P1.6C
DP06
0
1*06)
P1.7C
36 ỊP07
0
|AD7)
RS7Ẽ
8
8
]
10
ỊRXD) TTOR
P3.0 c
I
11
■ •< < <
byte


Pin Contigurations
địa chỉ thấp trong thời gian lập trình cho Flash.

37

36

Hình 6: Sơ đồ các chân
Nhu’ vây AT89C5I 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)
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.

- GND (20)

Chân nối đất (OV)

Bộmôn
mônKỹ
Kỹthuật
thuậtmáy
máytính
tính
Bộ

14
15


2/20/2013
2/20/2013


ĐA MH Hệ Thống Nhúng

GVHD Nguyễn Văn Huy

RST
DI
1N
41
Hình 7: Mạch reset tác động bằng tay và tự động reset khỉ khởi động mảy
- ALE/V\kOG (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 VjLi 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.
- ẼÃ/Vpp (31)

EA (Extemal Access Enable) là chân cho phép truy xuất bộ nhớ chương
2/20/2013


ĐA MH Hệ Thống Nhúng

G VHD Nguyễn Văn Huy

EA = 0 cho phép truy xuất bộ nhớ chương trình ngoài, ng-ỵc 14 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.
XTAL2
XTAL1
GND
Note: C1. C2 = 30 pF ± 10 pF for Crystals
= 40 pF ± 10 pF for Ceramic Resonators
Hình 8: Xung cỉock

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.

3.1.2

Các chế độ đặc biệt

3.1.2.1 Chế độ nghỉ

Bộ môn Kỹ thuật máy tính

17

2/20/2013


PORT
Ch
ế

ĐA MH Hệ Thống Nhúng
G
VHD Nguyễn
Nguyễn Văn
Văn Huy
Huy
GVHD
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.

6. 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
2

p

ư

thuật reset
nẵmkhoá
quyền
3.1.3mềm
Các bít
bộđiều
nhớkhiển.
chương trình
u
Các lệnh MOVC được thực thi tù' bộ nhó' chương
7.- Trên chip có ba bit khoá, các bít này có thế không cho phép lập trình
trình ngoài không được phép tìm nạp lệnh từ bộ
Ở chế độ nghỉ, phần cứng
trên chip cẫm truy xuất RAM nội nhưng
hoặc
nhớ
cho phép

truy các
xuấtbitcác
chân
các port.
Đếđặc
tránh
khảnữa
năngcủa
cóAT89C51
một thao tác
cho phép
lập trình,
này
chocủa
ta thêm
một số
trưng
khôngbitmong
độ nghỉ
nhưghi
sau.Khi
khoá 1muốn
LB1 đến
đượcmột
lập chân
trình, port
mức khi
logicchế
ỏ' chân
EA kết

đượcthúc
lấy bằng
reset,
lệnh chốt
tiếp trong
theo yêu
cầu chế
nghỉ
lệnhkhông
ghi đến
mẫu
và được
khi reset.
Neuđộviệc
cấpkhông
nguồnnên
cholàchip
có chân
bộ nhớ
công port
dụnghoặc
reset,đến
mạch
chốtngoài.
được khởi độ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ị
3.1.2.2 Chế độ nguồn giảm
được chốt của EA phải phù họp vơi mức logic hiện hành ở chân này.
- 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.

Bộ môn Kỹ thuật máy tính

18

2/20/2013


GVHD Nguyễn Văn Huy

ĐA MH Hệ Thống Nhúng
3.1.4 .Tóm tắt tập lệnh của AT89c51

- Tập lệnh Mcs-51 có 255 lệnh gồm 139 lệnh 1 byte, 92 lệnh 2 byte và 24 lệnh 3
byte.
3.1.4. lCác chế độ định địa chỉ:

Địa chỉ thanh g h i , Địa chỉ trục tiếp , Địa chỉ gián tiếp , Địa chỉ tức thời, Địa chỉ
tương đ ố i , Địa chỉ tuyệt đ ổ i , Địa chỉ dài

3.1.4.2

Các nhóm lệnh của Mcs-C51:


Nhóm lênh số hoc:

ADD A,soure ; cộng toán hạng vào A

SUBB A,soure ; trừ bót A bởi toán hạng nguồn

Bộ môn Kỹ thuật máy tính

19
20

2/20/2013


ĐA MH Hệ Thống Nhúng

GVHD Nguyễn Văn Huy

ACALL addr ; gọi chương trình con
RET ;quay chương trình con
R E T I ; quay về từ chương trình phục vụ
ngắt
JMP addr ; lệnh nhảy
CJNE A,direct,rel; so sánh và nhảy

3.2. Tìm hiểu IC thòi gian thực

DS1307


3.2.1 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
Bộ môn Kỹ thuật máy tính

SRAM :56bytes
21

2/20/2013


ĐA MH Hệ Thống Nhúng

GVHD Nguyễn Văn Huy

vcc

Hình 9: Sơ đồ DS1307
Vcc: nối với nguồn
XI,X2: nối với thạch anh 32,768 kHz
Vbat: đầu vào pin 3V
GND: đất
SDA: chuỗi data

SCL: dãy xung clock
SỌW/OƯT: xung vuông/đầu ra driver



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ỏ
Bộ môn Kỹ thuật máy tính

hơn
22

2/20/2013


ĐA MH Hệ Thống Nhúng

GVHD Nguyễn Văn Huy
Sơ đồ khối của DS1307:

Hình 10:MÔ tả hoạt động của các chân:



Vcc,GND: nguồn một chiều được cung cấp tới các chân này. Vcc là đầu

vào
5V. Khi 5V được cung cấp thì thiết bị có thế truy cập hoàn chỉnh và dữ liệu có

thế đọc và viết.

Khi pin 3 V được nối tới thiết bị này và Vcc nhỏ hơn 1,25Vbat thì quá trình đọc
và viết không được thực thi,tuy nhiên chức năng timekeeping không bị ảnh

hưởng bởi điện áp
Bộ môn Kỹ thuật máy tỉnh

23

2/20/2013


12y/'

ĐA
ĐA
MH
MH
Hệ
Hệ
Thống
Thống

Nhúng
Nhúng
G
VHD
Nguyễn
Văn
Huy
GVHD
Nguyễn
Văn
Huy
ĐA
ĐAMH
MHHệ
HệThống
ThốngNhúng
Nhúng
GVHD
GVHD
GVHD
NguyễnVăn
VănHuy
Huy
ĐA
MH
Hệ
Thống
Nhúng
G
VHDNguyễn

Nguyễn
Văn
Huy
HOUR8
được
thiết
cuối
theotruyền
cùng
kiểu thì
cựcbit
máng
acknowledge
hở vì vậy sẽ
nó không
cũng cần
được
có gmột
ử i . điện trở kéo
đầu
hoặc
kếtkế
thúc
chuỗi,
đặc
tinh

thời gianmột
thục
hiện:byte địa chỉ nhận được đầu tiên khi master

trong.
này
sẽto
hoạt
động
khi cả
Vcc
và Vbat
được4.5V
cấp.
(0°c
70°c
or -40°c
to
+85CC:
VCC=
phát đi điều
kiệnI Chân
START.
và 1tobit5.5V)
chiều
e.r7
I Byte
I địa Ichỉ chứa
I 7 bitI địa chỉ
I của slave
I B.TO
10cho phép đọc là 1. sau khi nhận và giải mã byte địa chỉ thì thiết bị sẽ nhận 1 bit
acknowledge trên đường SDA. Sau đó DS1307 bắt đầu gửi dữ liệu tới 00-59
địa chỉ con

0- 59
trỏ thanh ghi thông qua con trỏ thanh ghi. nếu con trỏ thanh ghi không được viết
1- và
12STOP.
-Master phát ra tất cả các chuỗi xung clock và
START
u» các chỉ thị va:
0- 23
vào trước khi chế độ đọc được thiết lập thì địa chỉ đầu tiên được đọc sẽ là địa chỉ
sự truyền sẽ kết thúc với chỉ thị STOP hoặc chỉ thị quay vòng START.1-Khi
7 chỉ thị
DS1307
trợ bus
dâythanh
2 chiều
giao thức
truyềnđược
dữ liệu,
bị gửi
cuối cùng
chứahỗtrong
con2trỏ
ghivà
.DS1307
sẽ nhận
một thiết
tín0t-hiệu
Notdữ
START quay vòng thì sự truyền chuỗi dữ liệu tiếp theo được thực thi 21¥2!»
và các bus

liệu lên bus được gọi
là bộ phát vàkhi
thiết
nhậnquá
gọitrình
là bộđọc.
thu. thiết bị 01-30
điều khiển
Acknowledge
kếtbịthúc
vẫn chưa được giải phóng. Dữ liệu truyền luôn bắt đầu bằng bit MSB.
01-31
quá trình này gọi là master. thiết bị nhận sự điều khiến của master gọi là
slave. Các
0112
bus nhận sự điều khiển của master,là thiết bị phát ra chuỗi xung
clock(SCL),master sẽ điều khiển sự truy cập bus,tạo ra các chỉ thị START và
• Cũng có DS1307 với bộ tạo daoSTOP
động trong tần số 32,768kHz, với cấu hình
A
- Ac***ov»mxit
BYTPS.
AOMO^cpEi:
NOTẼ
LAST
OArABrm
này thì chân
sẽ
được
nối vào

tín- hiệu dao động trong còn
chân X2 thì đế hở
p XIDS1307

thể
hoạt
động

2
chế
độ
sau: 8ÌỌP
3.3 Giói
thiệu
LCD
-*w* - A£ A£VWAm
OMECTIOM
BÍT
ADOBEss . 01*
So cũng
đồOA
địanhư
chỉ12h.
RAM
RTC
• DS1307 CÓ thể chạy ở chế3.2.3
độ 24h
Bitvà
thứ
6 của thanh ghi hours là

nnrnnH
-Hvị^
• thời
của
SO'
đồng
bộ: được chọn, ở
~việc
—hoặc
*đọc,ghi
bitgian
chọnthực
chếhiện
độ 24h
12h.dữ
khiliệu
bitSeconds
này DS1307:
ở mức cao
thìđồ
chế
độ 12h
-LCD
giới
ở đây
chânn
năng
chân
AOM^unoíMiNT
chế độ 12h

thì được
bit 5 là
bitthiệu
AM/PM
vói14mức
cao(hình
là là dưới).
PM. ở Chức
chế độ
24h các
thì 9QNA1
bit
5 là
bit chỉ 20h(từ 20h đến 23h).
/~A /~ã\
\ MDS1307
M A ghi):chuồi dữ liệu và chuồi xung cĩock sẽ
• chế độ sĩave nhận(
chếRđộ
STấưt
STpPCO
AAAP’,
ì
được nhận
thông
qua SDA và SCL. Sau mồi byte
được nhận thì 1 bit
acknowledge
NDrnON
COÍO

8TAMT
h dạng khi bắt đầu và
sẽ được truyền, các điều kiện STARTMinutes
và STOP sẽ được7 nhận
LCD1
CLOCK=J50kH
x
•ÍAaíí |f».n>
'Oat*tn>
• Ualairv>Xr>
• Trong quá trình truy cập dữ liệu, khi
chỉ thị START
được thực
thi thì dòng
A
Tuỳ thuộc vào bit R/ w mà 2 loại truyền dữ liệu sẽ được thực thi:

Chân



A - ACXMOMỈDOE
1^ 10k
p - STOP
fvwr - ntAOtttviE OM
DiREcnoN trr

8 h
DATA
TMMSraVtO

IX*
1
BYttS «
ADOBE55 » OOA
3Fh
Mức
SQW/OUT
• Thông tin về thời gian và ngày tháng được lấy ra bằng cách đọc các byte thanh
• độ
truyền
dữphát
liệu
master
truyền
và slave
Master
truyền
byte
đầu
tiên
• chế
slavehợp.
( tù’
chế
độvà
DS1307
đọc):
bytenhận:
đầu tiên
slave

nhận
được
tương
tự
ghi
thích
thời
gian
ngày
tháng
được
thiết
lập
cũngsẽthông
qua
các
byte

làthanh
địa chỉ
của
slave.
Tiếp
sau
đóvào
là các
byte
liệu
sĩave
sẽ

gửi
bit thông
báo
như
chế
độ
slave
Tuy
nhiên
trong
chếdữ
độ
này
thì
bithọp.
chiều
chỉ
chiều
ghi
này
bằngghi.
cách
viết
đó những
giá
trị.thích
nộilạidung
của các
đãthanh
nhận ghi

được
(bitdạng
acknowledge)
sau mỗi
byte decreaseimal).
dữ liệu nhận được,
liệu
sẽ truyền
truyền
dưới
mã BCD(binary
coded
Bit 7dữ
của
thanh
ghi
tù'
bit có
giá
nhất
(MSB).
• seconds
OUT(output
control):bit
này
điều
khiển
mức
rathiết
củabởi

chân
SQW/OUT
đầu
ra
ngượclàlại.
liệu
được
phát
đitrị
trên
SDA
DS
1307
khi
chuỗi
bitChuỗi
clock dữ
halt(CH),khi
bit
này
được
lập
1 thì
daotrong
độngkhi
disable,khi
3.3.1 Chức năng các chân của Module LCD 16x2
xung
vuông
là vào

disable.
Neu
thì
mức
logic

SQW/OƯT
là 1 khi
nếu
xung
clock
chân
SCL.SQWE=0
Các
kiện
START
vàchân
STOP
được nhậnsẽdạng
nó được
xoá
vềđiều
0 thì
dao
động
được
enable.
24
Bộ
Bộ

Bộ
Bộmôn
môn
môn
mônKỹ
Kỹ
Kỹ
Kỹthuật
thuật
thuật
thuậtmáy
máy
máy
máytính
tính
tính
tính
26
29
27
25
28
2/20/2013
2/20/2013
2/20/2013
2/20/2013



ĐA MH Hệ Thống Nhúng


G VHD Nguyễn Văn Huy

ASCII của ký tự cần hiến thị lên LCD thì chúng ta sẽ set RS=1 đế chọn thanh ghi
DR. Hoạt động của chân RS được mô tả trong hình 5.

Hình 11: Hoạt động của chân RS.
R/W (chân số 4): Chân lựa chọn giữa việc đọc và ghi. Neu R/W=0 thì dữ liệu
sẽ được ghi từ bộ điều khiển ngoài (vi điều khiến AVR chẳng hạn) vào LCD. Neu
R/W=l thì dữ liệu sẽ được đọc tù’ LCD ra ngoài. Tuy nhiên, chỉ có duy nhất 1
trường hợp mà dữ liệu có thể đọc từ LCD ra, đó là đọc trạng thái LCD đế biết
LCD
có đang bận hay không (cờ Busy Flag - BF). Do LCD là một thiết bị hoạt động
tương đối chậm (so với vi điều khiển), vì thế một cờ BF được dùng đế báo LCD
đang bận, nếu BF=1 thì chúng ta phải chờ cho LCD xử lí xong nhiệm vụ hiện tại,
đến khi nào BF=0 một thao tác mới sẽ được gán cho LCD. Vì thế, khi làm việc với
Text LCD chúng ta nhất thiết phải có một chương trình con tạm gọi là wait_LCD
đế chờ cho đến khi LCD rảnh. Có 2 cách đế viết chương trình wait_LCD. Cách 1
là đọc bit BF về kiểm tra và chờ BF=0, cách này đòi hỏi lệnh đọc từ LCD về bộ
điềuchân
khiến
ngoài,
doviệc
đó chân
RAY
được
vớiRS,
bộR/W
điều và
khiển

Các
điều
khiến
đọc và
ghicần
LCD
baonối
gồm
EN.ngoài. Cách 2 là
viết một hàm delay một khoảng thời gian cố định nào đó (tốt nhất là trên lms). Ưu
RS (chân số 3): Chân lựa chọn thanh ghi (Select Register), chân này cho phép
điếm của cách 2 là sự đơn giản vì không cần đọc LCD, do đó chân R/W không cần
lựa chọn 1 trong 2 thanh ghi IR hoặc DR đế làm việc. Vì cả 2 thanh ghi này đều
sử dụng và luôn được nối với GND. Tuy nhiên, nhược điếm của cách 2 là khoảng
được kết nối với các chân Data của LCD nên cần 1 bit đế lựa chọn giữa chúng.
thời gian delay cố định nếu quá lớn sẽ làm chậm quá trình thao tác LCD, nếu quá
Nếu RS=0, thanh ghi 1R được chọn và nếu RS=1 thanh ghi DR được chọn. Chúng
nhỏ sè gây ra lỗi hiến thị. Trong bài này tôi hướng dẫn bạn cách tống quát là cách
ta đều biết thanh ghi IR là thanh ghi chứa mã lệnh cho LCD, vì thế nếu muốn gởi
1, đế sử dụng cách 2 bạn chỉ cần một thay đổi nhỏ trong chương trình wait_LCD
1
(sẽ trình bày chi tiết sau) và kết nổi chân RAV của LCD xuống GND.
mã lệnh đến LCD thì chân RS phải được reset về 0. Ngược lại, khi muốn ghi mã
Bộ môn Kỹ thuật máy tính
30
2/20/2013


ĐA MH Hệ Thống Nhúng


G VHD Nguyễn Văn Huy

kết nối với bộ điều khiển đế cho phép thao tác LCD. Đế đọc và ghi data tù’ LCD
chúng ta cần tạo một “xung cạnh xuống” trên chân EN, nói theo cách khác, muốn
ghi dữ liệu vào LCD trước hết cần đảm bảo rằng chân EN=0, tiếp đến xuất dữ liệu
đến các chân D0:7, sau đó set chân EN lên 1 và cuối cùng là xóa EN về 0 đế tạo 1
xung cạnh xuống.

-Đe hiển thị chữ cái và con số, mã ASCII của các chữ cái từ A đến z, a
đến z và các

con số tư 0 - 9 được gứi tới các chân DO - D7 khi RS = 1.

-Các mã lệnh được gửi tới LCD để xóa màn hình hoặc đưa con trỏ về
đầu d ng...(

được liệt kê trên bảng trên) thông các chân DO - D7.

-Có thế sử dụng RS = 0 đế kiếm tra bit cờ bận xem LCD đã sẵn sàng
nhận thông tin

Bộ môn Kỹ thuật máy tỉnh

32

2/20/2013


Dịch con


0

0

0

0

01

s/

R/

*

*

Thiết lập

c L
ĐAMH
MHHệ
HệThống
ThốngNhúng
Nhúng
ĐA

trỏ hiến
thị


40us

chiều dịch
VHDNguyễn
NguyễnVăn
VănHuy
Huy
GGVHD
chuyển của

R/W=l) lên để cho biết nó đang “bận”.

con trỏ và
-Bộ đếm địa chỉ AC : (Address Counter) Khi một địa
chỉthịlệnh được nạp vào thanh ghi
hiển
Thiết lập

0

chức năng

0 1R,0thông
0 tin được nối N
F cho
* 2 vùng
* RAM (việc chọn
40us
trực tiếp

lựa vùng RAM tương
Thiết lập độ
1D
tác
dài của dữ
L
đã được bao hàm trong mã lệnh).

liệu, số
dòng
và font chữ

Đọc cờ

0

1

BF

CGRAM/ DDRAM address

Đọc cờ báo

báo bận

bận và địa




chỉ của

địa chỉ

CGRAM

CGRAM/

hoặc

40us

DDRAM

Ghi

1

0

Write data

Ghi dữ liệu

40us

vào

CGRAM/
Đọc


Bộ môn Kỹ thuật máy tính

33

2/20/2013


ĐA MH Hệ Thống

GVHD Nguyễn Văn

Nhúng

Huy

DDRAM

hoặc
DDRAM

- xóa LCD: lệnh này xóa toàn bộ nội dung DDRAM và vì thế xóa toàn bộ

hiển thị trên LCD. Vì đây là 1 lệnh ghi Instruction nên chân RS phải được reset về
0 trước khi ghi lệnh này lên LCD. Mã lệnh xóa LCD là 0x01 (ghi vào D0:D7).

- đưa con trỏ về vị trí đầu, dòng 1 của LCD: lệnh này thực hiện việc đưa

con
trỏ về vị trí đầu tiên của bộ nhớ DDRAM, vì thế nếu sau lệnh này một biến được

ghi vào DDRAM thì biến này sẽ nằm ở vị trí đầu tiên (1 ;1). RS cũng phải bằng
0
trước khi ghi lệnh. Mã lệnh là 0x02 hoặc 0x03(chọn 1 trong 2 mã lệnh, tùy ý).

- định vị trí con trở cho DDRAM: di chuyến con trỏ đến một vị trí tùy ý

trong
DDRAM và vì thế có thế được dùng đế chọn vị trí cần hiến thị trên LCD. Đe
thực
hiện lệnh này cần reset RS=0. Bit MSB của mã lệnh (D7) phải bằng 1, 7 bit còn
lại
của mã lệnh chính là địa chỉ DDRAM muốn di chuyến đến. Ví dụ chúng ta muốn
di chuyến con trỏ đến vị trí thứ 3 trên dòng 2 của LCD (địa chỉ 42) chúng ta cần
ghi mã lệnh OxAA vì 0xAA= 10101010 (binary) trong đó bit MSB bằng 1, bảy
bit
còn lại là 0101010=42, địa chỉ của ô nhớ muốn đến.
Bộ
Bộ môn
môn Kỹ
Kỹ thuật
thuật máy
máy tính
tính

34
35

2/20/2013
2/20/2013



ĐA
ĐA MH
MH Hệ
Hệ Thống
Thống Nhúng
Nhúng

GVHD
G
G
VHD
VHD Nguyễn
Nguyễn Văn
Văn Huy
Huy

(N=0
Chúng
chotatrường
có thế hợp
chọnLCD
1 trong
1 dòng).
4 cáchFhiến
là kích
thị thước
trên thông
font chữ
qua lệnh

hiển Entry
thị, domode
LCD set.
có 2
Đây
bộ font
là lệnh
chữ ghi
có sẵn
Instruction
trong CGROM
nên RS=0,
nên5chúng
bit caotaD7:3=00000,
cần lựa chọn bit
thông
D2=l,
quahai
bit bit
F, nếu
còn
lại
F=1
DIbộ
:0font
chứa5x10
mã lệnh
đượcđếsửlựa
dụng
chọn

và 1nếu
trong
F=04 thì
cách
font
hiến
5x8
thị.
được
Xemhiển
lại bảng
thị. 2 2,
bitbit
thấp
DI
chứa
tronggiá
mãtrịlệnh
I/Dnày
và DO
có thế
chứa
được
s. Trong
gán giá
đótrị
I/D
tùy
nghĩa
ý. Mã

là lệnh
tăng được
hoặc giảm
dùng (Increment
phố biến cho
or
Decrement).
lệnh functionI/D=
set là
1 là
0x38
hiển(00111000
thị tăng tức
- giao
ký tựtiếp
sau8sẽ
bit,hiển
2 dòng
thị bên
vớiphải
font ký
5x8tự) trước,
hoặc
nếu
0x28
I/D=0
(00101000
thì hiển -thị
giao
giảm,

tiếptức
4 bit,
ký 2tụ’dòng
sau hiển
với font
thị bên
5x8trái
). Víkýdụtụ'trong
trước,
bàis là
này
giásửtrị
Shift, nếu S=1 thì các ký tự trước
dụngđó
cả sẽ
2 mã
được
lệnh
“đẩy”
trênđi, ký tự sau chiếm chỗ ký tự
trước, ngược
trí hiển
của các ký tự trước đó không thay đổi.
3.3.3 lại
cácnếu
bits=0
viếtthì
tắtvịtrong
mãthị
lệnh

Có thế tóm tắt 4 mode hiển thị ứng với 4 mã lệnh như sau:

+ D7:0 = 0x04 (00000100) : hiển thị giảm và không shift (như cách 2 trong ví

dụ).

*Module này không chiếm khối Digital, đế chọn module này ta chỉ cần click
chọn

trong
mục
Misc
Digital
+ D7:0 = 0x05 (00000101) : hiển thị giảm và shift (như cách 4 trong ví dụ).
Module LCD được nối tới Port 2.

Các hàm API:
+ D7:0 = 0x06 (00000110) : hiển thị tăng và không shift (như cách 1, khuyến
void LCD_Start(voỉd); void LCD_Init(void);
void LCD_Position(BYTE
khích).
CHƯƠNG III: THIẾT KẾ MẠCH

3.3.4 MãHexLCD

Bộ môn
môn Kỹ
Kỹ thuật
thuật máy
máy tỉnh

tính
Bộ

36
37
38

2/20/2013
2/20/2013


×