1

M C L C Ụ Ụ

M C L C

M đ u ở ầ

Ch

ng 1: Gi

i thi u và mô t

ch c năng

....................................................3

ươ

ả ứ

1.1-Gi

i thi u

ệ ...........................................................................................3

1.2-S đ m ch

ơ ồ ạ .......................................................................................3

1.3-Mô t

ch c năng

................................................................................3

ả ứ

Ch

ng 2: Nguyên lý ho t đ ng

ươ

ạ ộ ....................................................................5

2.1-Mô t

......................5

ả ấ

c u trúc ph n c ng c a vi đi u khi n 8951 ủ

ầ ứ

2.1.1-Gi

.......................................................................5

i thi u h MCS51 ọ

2.1.2-Ch c năng các kh i c a chip 89C51

................................................6

ố ủ

2.1.3-S đ chân và ch c năng chip 89C51

..............................................8

ơ ồ

2.2-DS1307Serial Real Time Clock .......................................................12

2.2.1-Gi

i thi u

ệ .......................................................................................12

2.2.2-Các thanh ghi c a DS1307

..............................................................13

2.2.3-Đi u ki n c a giao th c truy n I

ệ ủ

ề 2C ..............................................13

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

2

M C L C Ụ Ụ

a) Write mode .....................................................................................15

b) Read mode ......................................................................................16

2.3-X lý ử phím nh nấ ..............................................................................17

2.3.1-S đô nguyên ly

ơ

́...............................................................................17

........................................................................................17

2.3.2-Ch c năng ứ

̀

2.4-Hiển th trên LED 7 đo n

ạ ..........................................................18

...............................................................................18

2.4.1-S đ nguyên lý ơ ồ

2.4.2-Ch c năng và nguyên lý ho t đ ng

...............................................19

ạ ộ

2.4.3-C u t o LED 7 đo n

ấ ạ

ạ ......................................................................19

2.4.4-Xây d ng module hi n th LED 7 đo n

ạ ....................................21

Ch

ng 3: L u đ gi

ng trình

...............................23

ươ

ư ồ ả

i thu t & Ch ậ

ươ

3.1-L u đ gi

i thu t

ư ồ ả

ậ ............................................................................23

3.2-Ch

ng trình

....................................................................................25

ươ

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

3

Ch

ng 1

GI

I THI U VÀ MÔ T CH C NĂNG

ươ

Ch

ng 1

ươ

GI

I THI U VÀ MÔ T CH C NĂNG

1.1-Gi

i thi u

ệ :

trên LED 7 đo n, có th

ồ ố ể

ị ờ

c gi

b ng các phím “mode”, “date”, “up”, “down”. Vì có

ch nh đ ỉ

ượ

ờ ằ

s d ng IC th i gian th c DS1307 nên th i gian luôn hi n th chính ử ụ

xác ngay c khi m t ngu n chính.

- Đây là m ch đ ng h s hi n th gi

1.2-S đ m ch:

ơ ồ ạ

Hình 1.1: S đ m ch đ ng h s ồ ố

ơ ồ ạ

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

4

Ch

ng 1

GI

I THI U VÀ MÔ T CH C NĂNG

ươ

1.3

-Mô t

ch c năng:

ả ứ

Th i gian s t

l u vào b nh ta ch c n cài đ t 1 l n là đ

ẽ ự ư

ỉ ầ

c ượ

nh n “mode” l n th nh t, nh n phím “up” đ ch nh

-

ứ ấ

ể ỉ

tăng gi

lên, nh n phím “down”đ gi m gi

ể ả

xu ng. ố

- Đ ch nh gi ể ỉ

ch nh tăng phút lên,nh n phím “down” đ gi m phut xu ng.

ể ả

h n gi

nh n “mode” l n th 3.

- Đ ch nh phút nh n “mode” l n th 2, nh n phím “up” đ đi u ể ề ầ

ờ ẹ

- Đ ch nh phút h n gi

nh n “mode” l n th 4.

ể ỉ

- Đ thoát ra thì nh n phím “exit”.

- Đ ch nh gi ể ỉ

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

5

Ch

ng 2

: NGUYÊN LÝ HO T Đ NG

ươ

Ạ Ộ

Ch

ng 2

ươ

NGUYÊN LÝ HO T Đ NG

Ạ Ộ

:

2.1-Mô t

ả ấ

c u trúc ph n c ng c a vi đi u khi n 8951 ủ

ầ ứ

2.1.1-Gi

i thi u chung IC 89C51:

MCS-51 laø hoï vi ñieàu khieån cuûa haõng Intel. Vi maïch

toång quaùt cuûa hoï MCS-51 laø chip 8051. Chip 8051 coù

moät soá ñaëc tröng cô baûn sau:

- Boä nhôù chöông trình beân trong: 4 KB (ROM).

- Boä nhôù döõ lieäu beân trong: 128 byte (RAM).

- Boä nhôù chöông trình beân ngoaøi: 64 KB (ROM).

- Boä nhôù döõ lieäu beân ngoaøi: 64 KB (RAM).

4 port xuaát nhaäp (I/O port) 8 bit.

-

2 boä ñònh thôøi 16 bit. - Maïch giao tieáp noái tieáp

- Boä xöû lyù bit (thao taùc treân caùc bit rieâng leû)

-

210 vò trí nhôù ñöôïc ñònh ñòa chæ, moãi vò trí 1 bit

-

Ngoaøi ra, trong hoï MCS-51 coøn coù moät soá chip vi

ñieàu khieàn khaùc coù caáu truùc töông ñöông nhö:

- Chip ROM trong RAM trong Boä ñònh thôøi

- Nhaân / Chia trong 4 us.

8031 0 KB 128 byte 2

-

8032 0 KB 256 byte 3

-

8051 4 KB PROM 128 byte 2

-

8052 8 KB PROM 256 byte 3

-

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

6

Ch

ng 2

: NGUYÊN LÝ HO T Đ NG

ươ

Ạ Ộ

8751 4 KB UV-EPROM 128 byte 2

-

8752 8 KB UV-EPROM 256 byte 3

-

8951 4 KB FLASH ROM 128 byte 2

-

8952 8 KB FLASH ROM 256 byte 3

Hình 2.1: Khoái vi xöû lyù

-

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

7

Ch

ng 2

: NGUYÊN LÝ HO T Đ NG

ươ

Ạ Ộ

2. 1 . 2 - Chöù c na ê n g caù c kho á i cu û a chip 89C 5 1

Hình 2.2: Sô ño à kh o ái cu û a chip 89C 5 1

taâm): tính toaùn vaø ñieàu khieån quaù trình hoaït

ñoäng cuûa heä thoáng.

- CPU (Central Processing Unit - Ñôn vò xöû lyù trung

clock cung caáp cho caùc khoái trong chip hoaït ñoäng.

- OSC (Oscillator - Maïch dao ñoäng): taïo tín hieäu xung

Interrupt control (Ñieàu khieån ngaét): nhaän tín hieäu

ngaét töø beân ngoaøi (INT0\, INT1\), töø boä ñònh thôøi

(TIMER0, TIMER1) vaø töø coång noái tieáp (SERIAL

PORT), laàn löôït ñöa caùc tín hieäu ngaét naøy ñeán

CPU ñeå xöû lyù.

-

lieäu cuûa caùc port xuaát/nhaäp, traïng thaùi laøm

- Other registers (Caùc thanh ghi khaùc): löu tröõ döõ

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

8

Ch

ng 2

: NGUYÊN LÝ HO T Đ NG

ươ

Ạ Ộ

vieäc cuûa caùc khoái trong chip trong suoát quaù trình

hoaït ñoäng cuûa heä thoáng.

trong chip): löu tröõ caùc döõ lieäu.

- RAM (Random Access Memory - Boä nhôù döõ lieäu

chip): löu tröõ chöông trình hoaït ñoäng cuûa chip.

- ROM (Read Only Memory - Boä nhôù chöông trình trong

I/O ports (In/Out ports - Caùc port xuaát/nhaäp): ñieàu

khieån vieäc xuaát nhaäp döõ lieäu döôùi daïng song

song giöõa trong vaø ngoaøi chip thoâng qua caùc port

P0, P1, P2, P3.

-

Serial port (Port noái tieáp): ñieàu khieån vieäc xuaát

nhaäp döõ lieäu döôùi daïng noái tieáp giöõa trong vaø

ngoaøi chip thoâng qua caùc chaân TxD, RxD.

-

Timer 0, Timer 1 (Boä ñònh thôøi 0, 1): duøng ñeå ñònh

thôøi gian hoaëc ñeám söï kieän (ñeám xung) thoâng

qua caùc chaân T0, T1.

-

ñoäng cuûa heä thoáng bus vaø vieäc di chuyeån

thoâng tin treân heä thoáng bus.

- Bus control (Ñieàu khieån bus): ñieàu khieån hoaït

trong chip laïi vôùi nhau.

- Bus system (Heä thoáng bus): lieân keát caùc khoái

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

9

Ch

ng 2

: NGUYÊN LÝ HO T Đ NG

ươ

Ạ Ộ

2. 1 . 2 - Sô ño à cha â n va ø ch ö ù c na ê n g caù c cha â n

cuû a chip 89C 5 1 :

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

10

Ch

ng 2

: NGUYÊN LÝ HO T Đ NG

ươ

Ạ Ộ

Hình 2. 3 - S đ chân chip 89C51 ơ ồ

a. Port 0:

Port 0 (P0.0 – P0.7) coù soá chaân töø 32 – 39.

-

Port 0 coù hai chöùc naêng:

-

duïng boä nhôù ngoaøi.

+ Port xuaát nhaäp döõ lieäu (P0.0 - P0.7) _ khoâng söû

(AD0 – AD7)_ coù söû duïng boä nhôù ngoaøi.

+ Bus ñòa chæ byte thaáp vaø bus döõ lieäu ña hôïp

lieäu thì phaûi söû duïng caùc ñieän trôû keùo leân beân

ngoaøi.

 Löu yù: Khi Port 0 ñoùng vai troø laø port xuaát nhaäp döõ

troø laø ngoõ vaøo cuûa döõ lieäu (D0 – D7) (SGK, tr.

333-352).

- Khi laäp trình cho ROM trong chip thì Port 0 ñoùng vai

b. Port 1:

Port 1 (P1.0 – P1.7) coù soá chaân töø 1 – 8.

-

Port 1 coù moät chöùc naêng:

-

hoaëc khoâng söû duïng boä nhôù ngoaøi.

+ Port xuaát nhaäp döõ lieäu (P1.0 – P1.7) _ söû duïng

troø laø ngoõ vaøo cuûa ñòa chæ byte thaáp (A0 – A7)

(SGK, tr. 333-352).

- Khi laäp trình cho ROM trong chip thì Port 1 ñoùng vai

c. Port 2:

Port 2 (P2.0 – P2.7) coù soá chaân töø 21 – 28.

-

Port 2 coù hai chöùc naêng:

-

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

11

Ch

ng 2

: NGUYÊN LÝ HO T Đ NG

ươ

Ạ Ộ

duïng boä nhôù ngoaøi.

+ Port xuaát nhaäp döõ lieäu (P2.0 – P2.7) _ khoâng söû

nhôù ngoaøi.

- Khi laäp trình cho ROM trong chip thì Port 2 ñoùng vai

troø laø ngoõ vaøo cuûa ñòa chæ byte cao (A8 – A11)

vaø caùc tín hieäu ñieàu khieån

+ Bus ñòa chæ byte cao (A8 – A15) _ coù söû duïng boä

d. Port 3:

Port 3 (P3.0 – P3.7) coù soá chaân töø 10 – 17.

-

Port 0 coù hai chöùc naêng:

-

duïng boä nhôù ngoaøi hoaëc caùc chöùc naêng ñaëc

bieät.

+ Port xuaát nhaäp döõ lieäu (P3.0 – P3.7) _ khoâng söû

ngoaøi hoaëc caùc chöùc naêng ñaëc bieät.

+ Caùc tín hieäu ñieàu khieån _ coù söû duïng boä nhôù

troø laø ngoõ vaøo cuûa caùc tín hieäu ñieàu khieån

(SGK, tr. 333-352).

- Chöùc naêng cuûa caùc chaân Port 3:

- Khi laäp trình cho ROM trong chip thì Port 3 ñoùng vai

e. Chaâ n XTAL1, XTAL2:

- XTAL (Crystal): tinh theå thaïch anh, chaân soá 18-19.

- Chöùc naêng:

+ Duøng ñeå noái vôùi thaïch anh hoaëc maïch dao

ñoäng taïo xung clock beân ngoaøi, cung caáp tín

hieäu xung clock cho chip hoaïtñoäng.

+ XTAL1 _ ngoõ vaøo maïch taïo xung clock trong chip.

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

12

Ch

ng 2

: NGUYÊN LÝ HO T Đ NG

ươ

Ạ Ộ

f

+ XTAL2 _ ngoõ ra maïch taïo xung clock trong chip.

CLK 2

 Löu yù: fTYP = 12MHZ fOSC =

fTYP: taàn soá danh ñònh.

-

fOSC: taàn soá maïch dao ñoäng treân chip.

-

fCLK: taàn soá maïch dao ñoäng beân ngoaøi.

-

f. Chaâ n RST :

+ Laø tín hieäu cho pheùp thieát laëp (ñaët) laïi traïng

thaùi ban ñaàu cho heä thoáng.

+ Laø tín hieäu nhaäp, tích cöïc möùc cao.

- RST (Reset): thieát laäp laïi, chaân soá 9. - Chöùc naêng:

+ RST = 0 : Chip 8051 hoaït ñoäng bình thöôøng.

ban ñaàu.

+ RST = 1 : Chip 8051 ñöôïc thieát laëp laïi traïng thaùi

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

13

Ch

ng 2

: NGUYÊN LÝ HO T Đ NG

ươ

Ạ Ộ

g. Chaâ n Vcc, GND:

- Vcc, GND: nguoàn caáp ñieän, chaân soá 40-20.

- Chöùc naêng:

+ Cung caáp nguoàn ñieän cho chip 8051 hoaït ñoäng.

+ Vcc = +5V ± 10%.

+ GND = 0V.

2.2-DS1307 Serial Real Time Clock (RTC)

2.2.1-Gi

i thi u: ệ

Hình 2.4- Khoái RTC (DS1 3 0 7 )

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

14

Ch

ng 2

: NGUYÊN LÝ HO T Đ NG

ươ

Ạ Ộ

DS1307 là IC th i gian th c (RTC). S s ng giao th c I

ử ụ

ứ 2C đ truy n d ể

ề ữ

li u v i các thi ớ

ế ị

ị ờ t b khác nh vi x lý, vi đi u khi n. D li u hi n th th i ề

ữ ệ

ư

gian, l ch là mã BCD nén, thêm vào đó có 56 byte SRAM bên trong. Đ a ch và

c truy n n i ti p thông qua ph

ng th c I

d li u đ ữ ệ

ượ

ố ế

ươ

ứ 2C. Th i gian và l ch ờ

bao g m có các thông tin v giây, phút, gi

, ngày, ngày trong tu n, tháng và

năm. Ngày cu i cùng c a tháng thì t

ự ộ

đ ng đi u ch nh n u m t vài tháng có ế

31 ngày, t

ng t

v i năm nhu n.

ươ

ự ớ

2.2.2 Các thanh ghi c a DS1307:

các

Vi c l y d li u th i gian và l ch ch đ n gi n là đ c d li u t ị

ữ ệ ừ

ệ ấ

ữ ệ

ỉ ơ

thanh ghi thích h p. Đ a ch và ch c năng c a các thanh ghi đ

c li

t kê trong

ượ

b ng sau: ả

Hình 2.5- Các thanh ghi RTC

DS12C887 có ch y

c 2 mode 12 gi

, ho c ch đ 24 gi

ạ ở ả

ế ộ

ứ . Bit th 6

quy t đ nh ch đ ch y ch đ 12 ho c 24. Khi

m c cao

c a thanh ghi gi ủ

ế ộ

ế ộ

ế ị

ở ứ

ch đ 12 gi

ế ộ

đ ờ ượ

c ch n. ọ

2.2.3- Đi u ki n c a giao th c truy n I

ệ ủ

ề 2C

Trong giao th c truy n này DS1307 đ

c hi u nh m t thi

t b Slave,

ượ

ư ộ

ế ị

đi u ki n c a giao th c I

ệ ủ

ứ 2C là:

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

15

Ch

ng 2

: NGUYÊN LÝ HO T Đ NG

ươ

Ạ Ộ

- D li u b t đ u truy n ch khi bus không b n. ể

ắ ầ

ữ ệ

Su t quá trình truy n SDA ph i

ả ở ạ

tr ng thái n đ nh b t c khi nào ị

ấ ứ

SCL

m c cao s đ

ở ứ

m c cao. Thay đ i SDA khi SCL ổ

ở ứ

ẽ ượ

ể c hi u

nh là 1 tín hi u đi u khi n. Chi ti

t h n là nh sau:

ư

ế ơ

ư

- Bus không b n: C hai đ

ng SDA và SCL v n n đ nh

m c cao.

ườ

ẫ ổ

ở ứ

cao

- B t đ u chuy n d li u: S thay đ i tr ng thái c a SDA, t ự

ắ ầ

ữ ệ

xu ng th p, trong khi SCL

m c cao đ

ở ứ

ượ

ệ c đ nh nghĩa là đi u ki n

Start.

- K t thúc chuy n d li u: S thay đ i tr ng thái c a SDA, t ự

ữ ệ

ế

ừ ấ th p

lên cao, trong khi SCL

m c cao đ

c đ nh nghĩa là đi u ki n Stop.

ở ứ

ượ ị

-

: Tr ng thái c a d li u tiêu bi u cho giá tr h p l

ữ ệ

ợ ệ

ủ ữ ệ

ị ợ ệ

tr ng thái n đ nh

khi, sau khi b t đ u đi u ki n Start, SDA ph i ể

ắ ầ

ả ở ạ

trong su t quá trình

m c cao c a xung clock. SDA ch đ

c thay

ở ứ

ỉ ượ

đ i su t chu kì m c th p c a xung clock. Có m t xung clock trên 1 ổ

ấ ủ

bit d li u. m i l n truy n d li u đ

c b t đ u b i đi u ki n Start

ề ữ ệ ượ ắ ầ

ữ ệ

ỗ ầ

và k t thúc b i đi u ki n Stop, s byte đ

ế

ượ

ệ c truy n gi a đi u ki n ữ

Start, Stop là không b gi

i h n, và đ

c quy t đ nh b i thi

ị ớ ạ

ượ

ế ị

ế ị t b

Master (89C51). Cu i m i byte có 1 bit Acknowledge (bit th 9).

t b sau khi đ

- Công nh n: M i thi ậ

ế

ượ

c đ nh đ a ch , thì báo cho ỉ

Master bi

t đã nh n đ i v i m i byte. Thi

t b Master ph i t o thêm

ế

ố ớ

ế ị

ả ạ

1 xung clock ph liên k t v i bit Acknowledged thi ế ớ

ế ị ừ

ậ t b th a nh n

ph i kéo đ

ườ

ng data xu ng m c th p (SDA) ph i n đ nh ấ

ả ổ

ở ứ m c

th p su t chu kì m c cao c a xung clock). Dĩ nhiên th i gian thi

ế t

c tính toán tr

c. Thi

t b Master ph i t o 1 tín

đ t và ch ph i đ ờ ặ

ả ượ

ướ

ế ị

ả ạ

hi u k t thúc d li u v i Slave, b i vì n u không t o ra bit

ữ ệ

ế

ế

- D li u h p l

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

16

Ch

ng 2

: NGUYÊN LÝ HO T Đ NG

ươ

Ạ Ộ

Acknowledged cu i byte, Master v n t o ra xung clock nh ng không

ẫ ạ

ư

có s đáp ng nào c a Slave. Trong tr

ng h p này, thi

t b Slave

ườ

ế ị

ph i cho đ

ườ

ề ng data lên m c cao đ cho phép master t o ra đi u

ki n Stop.

Hình 10: D li u truy n trn BUS I

2C

ữ ệ

- D li u truy n t

Master đ n Slave: Byte đ u tiên đ

ữ ệ

ề ừ

ế

ượ

c truy n là ề

đ a ch c a Slave. Ti p theo sau là 1 s byte c n truy n. Slave tr v ị

ỉ ủ

ả ề

ế

bit th a nh n sau m i byte nh n đ

c truy n v i bit

ượ

c. D li u đ ữ ệ

ượ

có tr ng s l n nh t (MSB) đ u tiên. ấ

ố ớ

Slave sang Master: Đ a ch c a Slave đ

ữ ệ

ề ừ

ỉ ủ

ượ

ề c truy n

v bit th a nh n (ACK). Slave truy n m t s

đ u tiên. Slave tr ầ

ả ề

ộ ố

byte c n truy n. Master tr v bit th a nh n sau t

t c các byte đã

ả ề

ấ ả

c, ngo i tr

byte cu i cùng. Bit không th a đ

c gán cho

nh n đ ậ

ượ

ạ ừ

ừ ượ

byte cu i cùng. Thi

t b Master t o t

t c các xung clock cũng nh

ế ị

ạ ấ ả

ư

đi u ki n Start, Stop. S truy n d li u b t đ u v i đi u ki n Start

ắ ầ

ữ ệ

và k t thúc v i đi u ki n Stop. T khi đi u Start b t đ u nó cũng ừ

ắ ầ

ế

b t đ u quá trình m i, truy n d li u. ắ ầ

ề ữ ệ

- D li u truy n t

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

17

Ch

ng 2

: NGUYÊN LÝ HO T Đ NG

ươ

Ạ Ộ

a) Write mode

D li u và xung clock đ

c nh n thông qua SDA và SCL. Sau m i bit

ữ ệ

ượ

c có 1 bit th a nh n đ

nh n đ ậ

ượ

ượ

ậ c truy n đi. Đi u ki n Start, Stop ghi nh n ệ

ị vi c b t đ u truy n hay nh n d li u. Ph n c ng th c hi n vi c ghi nh n đ a

ệ ắ ầ

ậ ữ ệ

ầ ứ

t b Slave, bit ch ph

ng truy n (Nhìn hình 5). Byte

ch sau khi đ a ch c a thi ị

ỉ ủ

ế ị

ỉ ươ

ch a đ a ch Slave là byte đ u tiên đ

ượ

ệ c nh n sau khi Master t o đi u ki n

Start. Đ a ch Slave ch a 7-bit đ a ch c a DS12C887 là 1101000, theo sau đó là

ỉ ủ

bit chi u (R/W), vì đây là ch đ Write nên bit này là 0. Sau khi nh n và gi

ế ộ

ả i

ế mã đ a ch Slave, DS1307 xu t ra m t bit th a nh n trên SDA. Công vi c ti p

theo Master ch vi c truy n đ a ch Word (đ t con tr thanh ghi cho DS1307,

ỉ ệ

và DS1307 có bit công nh n vi c truy n này). Master có th chuy n m t hay ề

nhi u byte d li u ngay sau đó v i s công nh n sau m i byte c a DS1307.

ớ ự

ữ ệ

Con tr thanh ghi t

đ ng tăng sau m i byte đ

c vi

ự ộ

ượ

ế

ề t. Master s t o đi u

ẽ ạ

ki n Stop đ ng ng vi c ghi d li u.

ể ư

ữ ệ

Hình 2.6- Ghi d li u – Ch đ Slave làm b nh n

ộ ậ

ữ ệ

ế ộ

b) Read mode

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

18

Ch

ng 2

: NGUYÊN LÝ HO T Đ NG

ươ

Ạ Ộ

Byte đ u tiên đ ầ

ượ

ặ c nh n và x lý nh ch đ Slave làm b nh n. M t

ư ế ộ

dù v y, trong ch đ này bit chi u s ch rõ chi u đ

c đ o l

ề ẽ

ế ộ

ượ

ả ạ

ệ i. Đi u ki n ề

Start và Stop ghi nh n vi c b t đ u truy n và nh n d li u. Byte ch a đ a ch

ệ ắ ầ

ậ ữ ệ

ứ ị

Slave là byte đ u tiên đ

c ch p nh n sau khi b t đ u đi u ki n Start, t

ượ

ắ ầ

ươ ng

nh ch đ Write, đ a ch Slave là 1101000, theo sau là bit chi u (R/W),

t ự

ế ộ

ư

ng v i ch đ Read nên bit này b ng 1. Sau khi nh n và gi

i mã đ a ch

ế ộ

ề Slave, DS1307 xu t 1 bit th a nh n (Ack) trên SDA. DS1307 b t đ u truy n

ắ ầ

d li u b t đ u v i đ a ch thanh ghi đã đ ớ ị ữ ệ

ắ ầ

ượ

c tr b i con tr thanh ghi. Con ỏ

ỏ ở

tr thanh ghi t

đ ng tăng sau m i byte đ

c đ c. DS1307 ph i nh n 1 bit

ự ộ

ượ

Ack đ k t thúc vi c đ c.

ệ ọ

ể ế

Hình 2.7- Đ c d li u – Ch đ Slave phát

ọ ữ ệ

ế ộ

2.3- X lý phím nh n:

2.3.1-S

đô

ơ

̀

nguyên ly:́

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

19

Ch

ng 2

: NGUYÊN LÝ HO T Đ NG

ươ

Ạ Ộ

Hình 2.8- S đô ơ ̀ X lý phím nh n

2.3.2-Ch c năng: ứ

ắ C p ngu n cho kh i vi đi u khi n ho t đ ng b ng cách b t c ng t c

ạ ộ

ậ ộ

ng trình s b t đ u ch y. Ban đ u, ch

trên kh i vi đi u khi n và ch ề

ươ

ẽ ắ ầ

ươ ng

trình s ch y theo đ ng h t

máy tính xu t vào m ch Vi x lý, ch

ng trình

ẽ ạ

ồ ừ

ươ

ng trình. Mu n ch

ng trình

ch y nh v y là do m c đ nh ban đ u c a ch ặ

ầ ủ

ư ậ

ươ

ươ

ch y đúng nh th c t

thì ta ph i hi u ch nh b ng các nút nh n.

ư ự ế

Kh i nút nh n g m 4 nút đ hi u ch nh đ ng h . ồ

ể ệ

ế ố ớ

các giá tr c n hi u ch nh: gi

ị ầ

ố , phút, giây…. m i khi ta nh n cho n i

mass m t l n thì nó s nh y đ n giá tr c n hi u ch nh:

ộ ầ

ị ầ

ế

 Th i gian s t

l u vào b nh ta ch c n cài đ t 1 l n là đ

ẽ ự ư

ỉ ầ

c ượ

 Đ ch nh gi

nh n “mode” l n th nh t, nh n phím “up” đ ch nh

tăng gi

lên, nh n phím “down”đ gi m gi

ể ả

xu ng. ố

 Đ ch nh phút nh n “mode” l n th 2, nh n phím “up” đ đi u ch nh

ể ề

tăng phút lên,nh n phím “down” đ gi m phut xu ng.

ể ả

h n gi

nh n “mode” l n th 3.

 Đ ch nh gi ể ỉ

ờ ẹ

 Đ ch nh phút h n gi

nh n “mode” l n th 4.

ể ỉ

- Nút MODE k t n i v i P3.2 c a vi đi u khi n: dùng đ nh y đ n ế ủ

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

20

Ch

ng 2

: NGUYÊN LÝ HO T Đ NG

ươ

Ạ Ộ

 Đ thoát ra thì nh n phím “exit”.

ế ố ớ

hi u ch nh sau m i l n nh n cho n i mass.

ỗ ầ

- Nút UP k t n i v i P3.4 c a vi đi u khi n: dùng đ tăng giá tr khi

ế ố ớ

ể ả

tr khi hi u ch nh sau m i l n nh n cho n i mass. ỗ ầ

- Nút DOWN k t n i v i P3.5 c a vi đi u khi n: Dùng đ gi m giá ủ

v ch

ng trình m c đ nh ban đ u thì ta nh n nút

ở ề

ươ

“exit” trên kh i vi đi u khi n .

- Khi mu n tr

2.4-Hi n th trên LED 7 đo n:

2.4.1-S đ LED.

ơ ồ

Hình 2. 9 - Khoái LED 7 ño aï n

2.4.2-Ch c năng và nguyên lý ho t đ ng.

ạ ộ

ớ Kh i LED 7 đo n bao g m 6 LED 7 đo n Anode chung k t h p v i

ế ợ

nhau. T t c các led này đ u đ

c c p ngu n thông qua 6 Transistor đóng vai

ấ ả

ượ ấ

trò nh các công t c và đ

ư

ượ

ể c đi u khi n thông qua các tín hi u đi u khi n

tích c c m c th p.

Trong đó các led m c theo ki u ph

ươ

ng pháp đa h p có nghĩa là t ợ

ấ ả t c

các đo n c a các led s đ

c n i chung vào nhau và vào port đi u khi n (Port

ạ ủ

ẻ ượ ố

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

21

Ch

ng 2

: NGUYÊN LÝ HO T Đ NG

ươ

Ạ Ộ

1), còn anode c a t

t c các led s đ

c n i vào m t port đi u khi n khác

ủ ấ ả

ẽ ượ

(Port 0), và đ

c c p tín hi u quét led m t cách tu n t

, t

ượ ấ

ầ ự ạ

i m t th i đi m thì ờ

ch có m t led c p ngu n ho t đ ng. Ph

ng pháp đi u khi n trong tr

ạ ộ

ươ

ườ ng

h p này là ph i ti n hành tu n t ả ế ợ

ầ ự

qua các giai đo n: C p m t tín hi u quét led ấ

sao cho ch có led đ u tiên đ

ượ

c c p ngu n, r i đ a mã 7 đo n t ồ ư

ạ ươ

ứ ng ng

c a s c n hi n th ra led 7 đo n đó; k ti p c n c p m t tín hi u quét led ủ ố ầ

ế ế

sao cho ch có led th 2 đ

c c p ngu n r i đ a mã 7 đo n t

ng ng c a s

ượ ấ

ồ ố ư

ạ ươ ứ

ủ ố

ệ c n hi n th ra led 7 đo n đó; quá trình c di n ra liên t c nh v y và do hi n ầ

ứ ễ

ư ậ

ng l u nh c a m t mà ta th y đ

c các led d

t ượ

ư ả

ượ

ườ

ộ ng nh sáng cùng m t

ư

lúc.

2.4.3-C u t o c a LED 7 đo n

ấ ạ ủ

Hình 2.10- S đ chân và c u t o LED 7 đo n

ấ ạ

ơ ồ

LED 7 đo n là m t công c thông d ng đ

c dùng đ hi n th các thông s

ượ

ể ể

i d ng các s t

d ướ ạ

ố ừ

ố ộ 0 đ n 9. M c dù công c LCD giúp ta th hi n các thông s m t

ể ệ

ế

cách linh đ ng h n nh ng LED 7 đo n v n đ ư

ẫ ượ ử ụ

ệ c s d ng nhi u trong công nghi p

ơ

do các u th c a nó nh : ít ch u nh h

t đ , d t o s chú ý và góc

ế ủ

ị ả

ư

ư

ưở

ng c a nhi ủ

ệ ộ ễ ạ ự

nhìn r ng. ộ

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

22

Ch

ng 2

: NGUYÊN LÝ HO T Đ NG

ươ

Ạ Ộ

c đánh d u là các kí t

a, b, c, d, e, f, g

LED 7 đo n bao g m 7 đo n LED đ ồ

ượ

và m t d u ch m th p phân kí hi u là dp. Ta có th xem LED 7 đo n là m t t

ộ ấ

ộ ổ ợ h p

c n i chung và đ

g m 8 LED. 8 LED này có m t đ u (Anode ho c Cathode) đ ồ

ộ ầ

ượ ố

ượ c

b trí theo m t qui t c nh t đ nh dùng đ hi n th các ch s th p phân. ố

ữ ố ậ

ể ể

ấ ị

Có hai lo i LED 7 đo n, đó là lo i Anode chung (c c Anode c a các LED đ

c n i

ượ ố

chung v i nhau) và lo i Cathode chung (c c Cathode c a các LED đ

c n i chung

ượ ố

v i ớ

nhau). Tùy theo t ng lo i LED mà ta có các ph ạ

ươ

ng pháp đi u khi n các LED trong ể

h p đó sáng t

t ổ ợ

t m t cách thích h p. Đ i v i lo i Anode chung, m t LED s đ ạ

ố ớ

ẽ ượ c

ố b t sáng n u m c logic đ a vào chân đi u khi n đo n LED đó là m c logic 0. Đ i ề ậ

ư

ế

v i lo i Cathode ớ

chung, m t LED s đ ộ

ẽ ượ ậ

ạ c b t sáng n u m c logic đ a vào chân đi u khi n đo n ư

ế

LED đó là

m c logic 1. M t ph

ng pháp đ xác đ nh chính xác các chân đi u khi n c a LED 7

ươ

ể ủ

đo n là ki m tra t ng chân c a LED đó.

D a vào hình v c u t o LED 7 đo n ta có th hi u m t ph n nào ph ạ

ẽ ấ ạ

ể ể

ươ

ể ng pháp hi n

th c a m t LED. Ví d , mu n hi n th s “6”, ta s đi u khi n các đo n LED a, c, d,

ẽ ề

ị ủ

ị ố

e, g, f sáng lên.

Vi c đi u khi n sáng t

c th c hi n b ng cách đ a d li u thích h p vào các

t đ ắ ượ

ư ữ ệ

ệ ằ

chân a-g

ừ và dp (t m g i là các chân d li u) c a LED 7 đo n. Đó là cách hi n th theo t ng

ữ ệ

LED. Tuy nhiên, trong th c t

, đ ti

t ki m s chân c n thi

t đ đi u khi n cùng

ự ế ể ế

ế ể ề

m t lúc nhi u LED 7 đo n, các chân d li u c a các LED s đ

ữ ệ ủ

ẽ ượ ố

ớ c n i song song v i

nhau, các chân anode chung (ho c cathode chung) đ

c dùng đ cho phép LED đó

ượ

sáng hay t

t (t m g i là các chân đi u khi n).

ắ ạ

2.4.4 - Xây d ng module hi n th trên LED 7 đo n

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

23

Ch

ng 2

: NGUYÊN LÝ HO T Đ NG

ươ

Ạ Ộ

Module ng d ng sau đây đ

c xây d ng dùng đ hi n th 2 ch s th p phân

ượ

ữ ố ậ

ể ể

trên 2

LED 7 đo n s d ng lo i LED 7 đo n Anode chung.

ạ ử ụ

Tr

c h t ta s ti n hành k t n i ph n c ng gi a vi đi u khi n và LED 7 đo n đ

ướ ế

ầ ứ

ế ố

ẽ ế

đó ừ t

c d li u c n đ a vào LED 7 đo n đ hi n th m t ch s th p phân

xác đ nh đ ị

ượ ữ ệ ầ ư

ữ ố ậ

ể ể

ị ộ

nào đó.

Th t

k t n i các chân nh sau:

ứ ự ế ố

ư

- Chân dp n i vào chân RD7.

- Chân g n i vào chân RD6.

- Chân f n i vào chân RD5.

- Chân e n i vào chân RD4.

- Chân d n i vào chân RD3.

- Chân c n i vào chân RD2.

- Chân b n i vào chân RD1.

- Chân a n i vào chân RD0.

Mu n đi u khi n m t đo n LED nào đó sáng lên, ta đ a vào chân đi u khi n LED đó

ư

v m c logic 0. ề ứ

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

24

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

Ch

ng 3

ươ

LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG

TRÌNH

3. 1 Löu ño à gi a ûi thu a ä t :

HI N TH Ị Ể

CHUY N MỂ Ả

BCDQUA M 7 ĐO N Ả Ạ

SCANKED

RET

CHUY N MỂ Ả

BCD QUA M 7 ĐO N Ạ Ả

XÓA Đ N VƠ Ị

A= @A+DPTR

20 = A

A = @A+DPTR

21 = A

RET

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

25

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

Đ C DATA Ọ

START

GHI Đ A CH C N Đ C Ỉ Ầ Ọ Ị

G IỞ

NHÂN GIÁ

TR T RTC Ị Ừ

L U VAO Ư

THANH GHI A

RET

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

26

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

SCANLED

XU T MÃ Ấ

HI N TH RA PORT 0 Ể Ị

B T BIT ĐI U KHI N Ậ Ề Ể

DELAY LED 2.5ms

T T BIT ĐI U KHI N Ề Ắ Ể

RET

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

27

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

MAIN

DELAY 2S

Ọ Ữ Ệ Đ C D LI U GIÂY RTC

= 80HZ GHI VÀO GIÂY GIÁ TR 00HỊ

ĐOC DATA

D LI U C A RTC Ữ Ệ Ủ

HI N TH Ể Ị

LED 7 ĐO NẠ

BÁO GIỜ

H N GI Ẹ Ờ

HI U CH NH Ỉ P3.2 =0 Ệ RTC

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

28

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

HI U CH NH RTC Ỉ Ệ

CHUY NỂ P3.2 = 0

THOÁT P3.3 = 0

TĂNG GIÁ TRỊ P3.4 = 0

GI M GIÁ TR Ả Ị P3.5 = 0

RET

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

29

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

Ch

ng trình:

ươ

;################################################

;chuong trinh giao tiep VDK 89c51 va RTC ds1307.

;noi dung: 1. cho hien thi gia tri

; cua gio-phut-giay

; len 6 led 7 doan anod chung.

2. bao chuong sau moi tieng ;

; 3. hen gio

;nguoi thuc hien: Tr ng th ch lam, oàn th hoà ươ Đ ạ ị

;###############################################

$MOD51

;GIAO TIEP VOI RTC DS1307

SCL BIT P3.0

SDA BIT P3.1

;GIAO TIEP VOI NUT NHAN

MODE BIT P3.2

EXIT BIT P3.3

UP BIT P3.4

DOWN BIT P3.5

;GIAO TIEP VOI LED 7 DOAN THEO PHUONG PHAP QUET LED

LED_CHGIO BIT P2.0

LED_DVGIO BIT P2.1

LED_CHPHUT BIT P2.2

LED_DVPHUT BIT P2.3

LED_CHGIAY BIT P2.4

LED_DVGIAY BIT P2.5

ALARM BIT P2.6

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

30

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

BELL BIT P2.7

OUT_MADISP EQU P0

;PHAN CHIA VUNG RAM TRONG 89C51

GIAY EQU 20

PHUT EQU 21

GIO EQU 22

GIAY_ALARM EQU 27

PHUT_ALARM EQU 28

GIO_ALARM EQU 29

ORG 0000H

LJMP MAIN

ORG 0003H ;

LJMP CAIDAT_RTC ;

ORG 00H

MAIN:

MOV SP,#5FH ;dinh dia chi RAM nhap va RAM da dung

; MOV IE,#81H ;bat ngat ngoai 0

SETB P2.6 ;tat hen gio

;--------------------------------------------------------------

MOV R7,#6

DELAY2S:

LCALL CHONGDOI ;0.5S

DJNZ R7,DELAY2S

;------------------------ DOC DU LIEU CUA GIAY------------------

LCALL START

MOV A,#0D0H

LCALL GUI

MOV A,#00H

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

31

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

LCALL GUI

LCALL STOP

LCALL START

MOV A,#0D1H

LCALL GUI

LCALL NHAN

LCALL STOP

CJNE A,#80H,YES ;KIEM TRA BIT 7 CO BANG 1

;BIT 7= 1 --> DS1307 KO HOAT DONG ---> KHONG TOT

;BIT 7= 0 --> DS1307 HOAT DONG

LCALL START

MOV A,#0D0H

LCALL GUI

MOV A,#00H ;DIA CHI CUA GIAY TRONG RTC1307

LCALL GUI

MOV A,#00H ;DATA BIT CH7=0 CHO PHEP BAT OSC

LCALL GUI

LCALL STOP

YES:

SJMP MP1

;###################################

; CHUONG TRINH CHINH BAT DAU TAI DAY

;###################################

MP1:

; LCALL DOCDATA

; MOV DPTR,#MA7SEG

LCALL DISPLAYTIMER ;GOI CTC XU LY HIEN THI

JNB P3.2,CONHANPHIM

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

32

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

LCALL BAOGIO

JNB P2.6,HENGIO

SJMP MP1

CONHANPHIM:

MOV P0,#00H

LCALL CHUYENPHUT

SJMP MP1

HENGIO:

MOV A,20

CJNE A,#00H,EXIT2

MOV A,21

CJNE A,28,EXIT2

MOV A,22

CJNE A,29,EXIT2

LJMP CHUONGHG

EXIT2:

SJMP MP1

;##########################

;CTC XU LY DU LIEU HIEN THI

;##########################

DISPLAYTIMER:

MOV DPTR,#MA7SEG

LCALL DOCDATA ;DOC DU LIEU TU RTC

LCALL DISPLAY ;CHO HIEN THI

RET

;####################################

;CTC DOC DU LIEU

;SAU DO LUU DIEU LIEU VAO RAM CUA VDK

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

33

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

;####################################

DOCDATA:

MOV R0,#00H ;DIA CHI DU LIEU CAN DOC BAT DAU LA GIAY

MOV R1,#20 ;LUU VAO O NHO CUA VDK

DOCTIEP:

LCALL START

MOV A,#0D0H ;DIA CHI CUA RTC1307, D0 = GHI, D1 = DOC

LCALL GUI

MOV A,R0 ;DIA CHI CUA GIAY TRONG RTC1307

LCALL GUI

LCALL STOP

LCALL START

MOV A,#0D1H ;NHAN DATA GIAY TU RTC1307

LCALL GUI

LCALL NHAN

LCALL STOP

MOV @R1,A ;DOC XONG GIAY

INC R0

INC R1

CJNE R0,#0BH,DOCTIEP

RET

BAOGIO:

MOV A,20

CJNE A,#00H,NO ;0 GIAY CHUA?

MOV A,21

CJNE A,#00H,NO ;0 PHUT CHUA?

MOV A,22

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

34

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

CJNE A,#03H,BG4

LJMP CHUONGBG

NO:

RET

BG4:

CJNE A,#04H,BG5

LJMP CHUONGBG

BG5:

CJNE A,#05H,BG6

LJMP CHUONGBG

BG6:

CJNE A,#06H,BG7

LJMP CHUONGBG

BG7:

CJNE A,#07H,BG8

LJMP CHUONGBG

BG8:

CJNE A,#08H,BG9

LJMP CHUONGBG

BG9:

CJNE A,#09H,BG10

LJMP CHUONGBG

BG10:

CJNE A,#10H,BG11

LJMP CHUONGBG

BG11:

CJNE A,#11H,BG12

LJMP CHUONGBG

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

35

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

BG12:

CJNE A,#12H,BG13

LJMP CHUONGBG

BG13:

CJNE A,#13H,BG14

LJMP CHUONGBG

BG14:

CJNE A,#14H,BG15

LJMP CHUONGBG

BG15:

CJNE A,#15H,BG16

LJMP CHUONGBG

BG16:

CJNE A,#16H,BG17

LJMP CHUONGBG

BG17:

CJNE A,#17H,BG18

LJMP CHUONGBG

BG18:

CJNE A,#18H,BG19

LJMP CHUONGBG

BG19:

CJNE A,#19H,BG20

LJMP CHUONGBG

BG20:

CJNE A,#20H,BG21

LJMP CHUONGBG

BG21:

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

36

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

CJNE A,#21H,BG22

LJMP CHUONGBG

BG22:

CJNE A,#22H,BG23

LJMP CHUONGBG

BG23:

CJNE A,#23H,EXIT1

LJMP CHUONGBG

EXIT1:

RET

CHUONGBG:

MOV R6,#5

SJMP TTCHUONG

CHUONGHG:

MOV R6,#25

TTCHUONG:

CLR P2.7

LCALL DELAYCHUONG

SETB P2.7

LCALL DELAYCHUONG

DJNZ R6,TTCHUONG

LJMP MP1

;---------------------------------------

;CAIDAT_RTC:

MOV R7,#6;100mS ;

;POWER1:

LCALL CHONGDOI ;

DJNZ R7,POWER1 ;

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

37

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

JNB P3.2,CHUYENPHUT ;

; LJMP MP2

;--------------------------------SET CHUYENPHUT: PHUT---------------

LCALL CHONGDOI

CHINHPHUT:

LCALL DISP_PHUT

JNB P3.2,CHUYENGIO

JNB P3.3,THOATCAIDAT1

JNB P3.4,TANGPHUT

JNB P3.5,GIAMPHUT

SJMP CHINHPHUT

THOATCAIDAT1:

LJMP THOATCAIDAT

TANGPHUT:

MOV A,21

LCALL HEXTODEC

INC A

CJNE A,#60,GHIPHUT

MOV A,#00H

SJMP GHIPHUT

GIAMPHUT:

MOV A,21

LCALL HEXTODEC

DEC A

CJNE A,#-1,GHIPHUT

MOV A,#59

GHIPHUT:

LCALL DECTOHEX

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

38

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

MOV 21,A

ACALL START

MOV A,#0D0H ;DIA CHI CUA RTC1307, D0 = GHI, D1 = DOC

ACALL GUI

MOV A,#01H

ACALL GUI

MOV A,21

ACALL GUI

ACALL STOP

SJMP CHUYENPHUT

CHUYENGIO:

ACALL CHONGDOI

CHINHGIO:

ACALL DISP_GIO

JNB P3.2,CHUYENOK1

JNB P3.3,THOATCAIDAT2

JNB P3.4,TANGGIO

JNB P3.5,GIAMGIO

SJMP CHINHGIO

THOATCAIDAT2:

LJMP THOATCAIDAT

TANGGIO:

MOV A,22

LCALL HEXTODEC

INC A

CJNE A,#24,GHIGIO

MOV A,#00H

SJMP GHIGIO

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

39

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

GIAMGIO:

MOV A,22

LCALL HEXTODEC

DEC A

CJNE A,#-1,GHIGIO

MOV A,#23

GHIGIO:

LCALL DECTOHEX

MOV 22,A

ACALL START

MOV A,#0D0H ;DIA CHI CUA RTC1307, D0 = GHI, D1 = DOC

ACALL GUI

MOV A,#02H ;DIA CHI CUA GIO TRONG RTC1307

ACALL GUI

MOV A,22

ACALL GUI

ACALL STOP

ACALL CHONGDOI

SJMP CHINHGIO

CHUYENOK1:

ACALL CHONGDOI

CHINHOK1:

LCALL DISP_PHUT

ACALL DISP_GIO

JNB P3.2,CAIDATALARM

JNB P3.3,THOATCAIDAT3

SJMP CHINHOK1

THOATCAIDAT3:

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

40

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

LJMP THOATCAIDAT

CAIDATALARM:

LCALL CHONGDOI

CHINHPHUT_A:

ACALL DISP_PHUT_A

JNB P3.2,CHUYENGIO_A

JNB P3.3,THOATCAIDAT4

JNB P3.4,TANGPHUT_A

JNB P3.5,GIAMPHUT_A

SJMP CHINHPHUT_A

THOATCAIDAT4:

LJMP THOATCAIDAT

TANGPHUT_A:

MOV A,28

LCALL HEXTODEC

INC A

CJNE A,#60,GHIPHUT_A

MOV A,#00H

SJMP GHIPHUT_A

GIAMPHUT_A:

MOV A,28

LCALL HEXTODEC

DEC A

CJNE A,#-1,GHIPHUT_A

MOV A,#59

GHIPHUT_A:

LCALL DECTOHEX

MOV 28,A

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

41

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

ACALL START

MOV A,#0D0H ;DIA CHI CUA RTC1307, D0 = GHI, D1 = DOC

ACALL GUI

MOV A,#08H ;DIA CHI CUA PHUT TRONG RTC1307

ACALL GUI

MOV A,28

ACALL GUI

ACALL STOP

ACALL CHONGDOI

SJMP CHINHPHUT_A

CHUYENGIO_A:

ACALL CHONGDOI

CHINHGIO_A:

ACALL DISP_GIO_A

JNB P3.2,TRANGTHAIALARM

JNB P3.3,THOATCAIDAT5

JNB P3.4,TANGGIO_A

JNB P3.5,GIAMGIO_A

SJMP CHINHGIO_A

THOATCAIDAT5:

LJMP THOATCAIDAT

TANGGIO_A:

MOV A,29

LCALL HEXTODEC

INC A

CJNE A,#24,GHIGIO_A

MOV A,#00H

SJMP GHIGIO_A

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

42

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

GIAMGIO_A:

MOV A,29

LCALL HEXTODEC

DEC A

CJNE A,#-1,GHIGIO_A

MOV A,#23

GHIGIO_A:

LCALL DECTOHEX

MOV 29,A

ACALL START

MOV A,#0D0H ;DIA CHI CUA RTC1307, D0 = GHI, D1 = DOC

ACALL GUI

MOV A,#09H ;DIA CHI CUA GIO TRONG RTC1307

ACALL GUI

MOV A,29

ACALL GUI

ACALL STOP

ACALL CHONGDOI

SJMP CHINHGIO_A

TRANGTHAIALARM:

LCALL CHONGDOI

CHINHTRANGTHAI:

LCALL DISP_PHUT_A

LCALL DISP_GIO_A

JNB P3.2,QUAYVE

JNB P3.3,THOATCAIDAT

JNB P3.4,BAT_ALARM

JNB P3.5,TAT_ALARM

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

43

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

SJMP CHINHTRANGTHAI

;THOATCAIDAT6:

; LJMP THOATCAIDAT

QUAYVE:

LCALL CHONGDOI

LJMP CHINHPHUT

BAT_ALARM:

LCALL CHONGDOI

BAT_ALARM_1:

CLR P2.6

LCALL DISP_PHUT_A

LCALL DISP_GIO_A

JNB P3.2,QUAYVE

JNB P3.3,THOATCAIDAT

JNB P3.4,BAT_ALARM

JNB P3.5,TAT_ALARM

SJMP BAT_ALARM_1

TAT_ALARM:

LCALL CHONGDOI

TAT_ALARM_1:

SETB P2.6

LCALL DISP_PHUT_A

LCALL DISP_GIO_A

JNB P3.2,QUAYVE

JNB P3.3,THOATCAIDAT

JNB P3.4,BAT_ALARM

JNB P3.5,TAT_ALARM

SJMP TAT_ALARM_1

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

44

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

THOATCAIDAT:

LCALL CHONGDOI

RET

START:

CLR SCL

SETB SDA

NOP

NOP

NOP

SETB SCL

CLR SDA

NOP

NOP

NOP

RET

STOP:

NOP

NOP

NOP

CLR SDA

SETB SCL

NOP

NOP

NOP

SETB SDA

CLR SCL

RET

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

45

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

GUI:

MOV R7,#8

BACK_GUI:

CLR SCL

NOP

NOP

NOP

RLC A

MOV SDA,C

SETB SCL

NOP

NOP

NOP

CLR SCL

NOP

NOP

NOP

DJNZ R7,BACK_GUI

SETB SDA

NOP

NOP

NOP

SETB SCL

NOP

NOP

NOP

CLR SCL

NOP

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

46

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

NOP

NOP

RET

NHAN:

MOV R7,#08

BACK_NHAN:

SETB SCL

NOP

NOP

NOP

MOV C,SDA

NOP

NOP

NOP

CLR SCL

NOP

NOP

NOP

RLC A

DJNZ R7,BACK_NHAN

SETB SDA

NOP

NOP

NOP

SETB SCL

NOP

NOP

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

47

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

NOP

CLR SCL

NOP

NOP

NOP

RET

;------------

;CTC HIEN THI

;------------

DISPLAY:

LCALL DISP_GIAY

LCALL DISP_PHUT

LCALL DISP_GIO

RET

DISP_GIAY:

MOV A,20

ANL A,#0FH

MOVC A,@A+DPTR

MOV 30,A

MOV A,20

ANL A,#0F0H

SWAP A

MOVC A,@A+DPTR

MOV 31,A

MOV P0,30

CLR P2.5

LCALL DELAY

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

48

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

SETB P2.5

MOV P0,31

CLR P2.4

LCALL DELAY

SETB P2.4

RET

DISP_PHUT:

MOV A,21

ANL A,#0FH

MOVC A,@A+DPTR

MOV 32,A

MOV A,21

ANL A,#0F0H

SWAP A

MOVC A,@A+DPTR

MOV 33,A

MOV P0,32

CLR P2.3

LCALL DELAY

SETB P2.3

MOV P0,33

CLR P2.2

LCALL DELAY

SETB P2.2

RET

DISP_GIO:

MOV A,22

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

49

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

ANL A,#0FH

MOVC A,@A+DPTR

MOV 34,A

MOV A,22

ANL A,#0F0H

SWAP A

MOVC A,@A+DPTR

MOV 35,A

MOV P0,34

CLR P2.1

LCALL DELAY

SETB P2.1

MOV P0,35

CLR P2.0

LCALL DELAY

SETB P2.0

RET

DISP_PHUT_A:

MOV A,28

ANL A,#0FH

MOVC A,@A+DPTR

MOV 36,A

MOV A,28 ;PHUT

ANL A,#0F0H

SWAP A

MOVC A,@A+DPTR

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

50

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

MOV 37,A

MOV P0,36

CLR P2.3

LCALL DELAY

SETB P2.3

MOV P0,37

CLR P2.2

LCALL DELAY

SETB P2.2

RET

DISP_GIO_A:

MOV A,29

ANL A,#0FH

MOVC A,@A+DPTR

MOV 38,A

MOV A,29 ;GIO

ANL A,#0F0H

SWAP A

MOVC A,@A+DPTR

MOV 39,A

MOV P0,38

CLR P2.1

LCALL DELAY

SETB P2.1

MOV P0,39

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

51

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

CLR P2.0

LCALL DELAY

SETB P2.0

RET

;------------------------------------

;CTC CHUYEN MA HEX THANH MA THAP PHAN

;------------------------------------

HEXTODEC:

MOV B,#10H ;B=16

DIV AB ;A/B

MOV 60H,B ;CAT DON VI

MOV B,#0AH ;B=10

MUL AB ;LAY CHUC NHAN 10

ADD A,60H ;CONG VOI GIA TRI DON VI->THANH SO THAP PHAN

RET

;------------------------------------

;CTC CHUYEN MA THAP PHAN THANH MA HEX

;------------------------------------

DECTOHEX:

MOV B,#0AH ;CHUYEN THAP PHAN SANG HEX B=10

DIV AB ;A/B

MOV 60H,B ;CAT DON VI

MOV B,#10H ;B=16

MUL AB ;LAY CHUC NHAN 16

ADD A,60H ;CONG VOI GIA TRI DON VI->THANH SO HEX

RET

;---------------------------

;CTC DELAY 2,5MS DE QUET LED

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

52

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

;---------------------------

DELAY:

MOV TMOD,#01H

MOV TH0,#0F0H ;GIA TRI MO PHONG

MOV TL0,#5FH ;GIA TRI MO PHONG

; MOV TH0,#0FEH ;GIA TRI THUC TE

; MOV TL0,#0D3H ;GIA TRI THUC TE

SETB TR0

JNB TF0,$

CLR TR0

CLR TF0

RET

;--------------------------------

;CTC TAO TRE TUNG NHIP CHO CHUONG

;--------------------------------

DELAYCHUONG:

MOV TMOD,#10H

MOV R2,#30

DEM:

MOV TH1,#HIGH(-10000)

MOV TL1,#LOW(-10000)

SETB TR1

HERE:

LCALL DOCDATA

LCALL DISPLAY

JNB TF1,HERE

CLR TR1

CLR TF1

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

53

Ch

ng 3

: LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH

ươ

DJNZ R2,DEM

RET

;----------------------------------------

;CTC CHONG DOI KHI NHAN NUT NHAN DE CHINH

;----------------------------------------

CHONGDOI:

MOV R3,#5

LAP3:

MOV R1,#200

LAP2:

MOV R2,#250;0,5MS

DJNZ R2,$

DJNZ R1,LAP2

DJNZ R3,LAP3

RET

MA7SEG:

DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

END

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

54

CH

NG 4: THI CÔNG PH N C NG

ƯƠ

Ầ Ứ

CH

NG 4:

ƯƠ

THI CÔNG PH N C NG

S đ kh i ố

ơ ồ

KH I NGU N Ố Ồ

KH I NÚT NH N Ố Ấ KH I ĐI U KHI N Ề Ố Ể

KH I HI N Ố Ể

TH LED 7 ĐO N Ạ Ị

KH I RTC DS1307 Ố

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

55

CH

NG 4: THI CÔNG PH N C NG

ƯƠ

Ầ Ứ

V C C

R 1 1

D O N G H O S O

2 2 0

1

L S 1

D 3

6

5

2

1

4

3

B U Z Z E R

L E D

U 7

E

E

E

E

E

E

V C C

2

V C C

V C C

R 2

V C C

R 1

V C C

R 6

V C C

R 5

V C C

V C C

R 3 1 0 0

1 0 0

1 0 0

R 4 1 0 0

1 0 0

1 0 0

Q 4

Q 3

Q 2

Q 1

Q 6

Q 5

R 1 0 1 0 K

U 8

P 0 0 P 0 1 P 0 2 P 0 3 P 0 4 P 0 5 P 0 6 P 0 7

E 6 E 5 E 4 E 3 E 2 E 1 A R L B E L

B E L A R L

D S 1 3 0 7

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

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

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

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

R 9 1 0 0

P 3 0 P 3 1

6 5

7

8

8

8

8

8

8

U 6

U 5

U 4

U 3

U 2

U 1

S C L S D A

S Q W / O U T

1

1

1

1

1

1

D 1

A

A

A

A

A

A

3

C

C

C

C

C

C

V B A T

1

2

X

X

P 3 0 P 3 1 P 3 2 P 3 3 P 3 4 P 3 5 P 3 6 P 3 7

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

1 2 3 4 5 6 7 8

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

B T 1

1

2

3 V

3 0 2 9

1 9 1 8

X 1 X 2

A L E P S E N

Y 2

D 2

V C C

A BC DE FG

A BC DEF G

A BCD EF G

AB CD EF G

AB CD EF G

AB CD EFG

3 1

E A

0

0

0

0

0

0

7 64 21 91

76 42 19 1

76 42 19 1

76 421 91

76 421 91

7 64 21 91

3 2 7 6 8 H z

9

R S T

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

6

4

1

7

5

3

7

5

3

7

5

3

2

1

7

6

5

4

3

2

7

6

5

4

3

2

1

6

4

2

1

6

4

2

1

7

6

5

4

3

2

1

8 0 5 1

R 7

C 3

C 1

U 9

V C C

J 4

V C C

1 0 K

1 0 U

1 0

V C C

J 1

C O M

3 3

J 3

Y 1

1 1 , 0 5 9 2 M H z

C 2

P 3 2 P 3 3 P 3 4 P 3 5

3 3

1 2 3 4 5

P 0 7 P 0 6 P 0 5 P 0 4 P 0 3 P 0 2 P 0 1 P 0 0

D 8 D 7 D 6 D 5 D 4 D 3 D 2 D 1

D 1 D 2 D 3 D 4 D 5 D 6 D 7 D 8

8 7 6 5 4 3 2 1

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

1 2 3 4 5 6 7 8 9

I N 8 I N 7 I N 6 I N 5 I N 4 I N 3 I N 2 I N 1

O U T 8 O U T 7 O U T 6 O U T 5 O U T 4 O U T 3 O U T 2 O U T 1

P 3 0 P 3 1 P 3 2 P 3 3 P 3 4 P 3 5 P 3 6 P 3 7

D E N C O N G T A C

1 2 3 4 5 6 7 8 9

U L N 2 8 0 3

R E S

R E S

1 2 V

U 1 0

L M 7 8 0 5 / T O

V C C

J 2

R 8

1

3

V I N

D V O U T

N

1 2

G

2 2

2

P O W E R

C 6 4 7 U

C 4 4 7 U

C 5 1 U

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

56

CH

NG 4: THI CÔNG PH N C NG

ƯƠ

Ầ Ứ

m ch orcard

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ

57

TÀI LI U THAM KH O

TÀI LI U THAM KH O

- Datasheet c a ủ AT89C51.

- Datasheet c a DS12C887. ủ

- Mã ngu n Iồ 2C trên trang www.8250.com.

- Giáo trình vi x lý ử – Ph m Quang Trí.

- Th c hành vi x lý

ử – Ph m Quang Trí.

http://www.dientuvietnam.net/forums

-

- Tài li u khác. ệ

GVHD: NGUY N DUY KHANH Ễ Ị TR SVTH: ĐOÀN TH HÒA ƯƠ NG TH CH LAM Ạ