1. Trang chủ
  2. » Luận Văn - Báo Cáo

đồ án đồng hồ thời gian thực

18 1K 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 611,5 KB

Nội dung

• 64k byte không gian bộ nhớ chương trình mở rộng.. Sơ đồ địa chỉ của Real Time Clock: • Sơ đồ địa chỉ bao gồm 113 bytes RAM thông dụng, 11 bytes RAM mà thành phần bao gồm đồng hồ thờ

Trang 1

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM

KHOA CÔNG NGHỆ ĐIỆN TỬ

ĐỒ ÁN MÔN HỌC

MÔN: VI XỬ LÝ

Đề tài: ĐỒNG HỒ THỜI GIAN THỰC

GVHD : Nguyễn Tất Bảo Thiện

SVTH :Tạ Tấn Vàng

Nguyễn Tấn Vinh Nguyễn Mạnh Tú

Trang 2

PHẦN MỘT: GIỚI THIỆU VỀ 8051, DS12887,

74154 VÀ LED 7 ĐOẠN

I VÀI ĐIỂM CƠ BẢN VỀ 8051:

• 8051 là IC vi điều khiển (Microcontroller) do

hãng Intel sản xuất IC này có đặc điểm như

sau:

• 4k byte ROM,128 byte RAM

• 4 Port I/O 8 bit.

• 2 bộ đếm/ định thời 16 bit.

• Giao tiếp nối tiếp.

• 64k byte không gian bộ nhớ chương trình mở

rộng.

• 64k byte không gian bộ nhớ dữ liệu mở rộng.

• Một bộ xử lý luận lý (thao tác trên các bít đơn).

• 210 bit được địa chỉ hóa.

Trang 3

II IC ĐỒNG HỒ THỜI GIAN THỰC DS12887:

DS12887:

•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ọn RT C

•AS – Chốt địa chỉ

•R/W – Ngõ vào đọc/ghi

•DS – Chốt dữ liệu

•RESET\ - Ngõ vàoReset

•IRQ\ - Ngõ ra yêu cầu ngắt

•SQW – Ngõ ra sóng vuông

•VCC – Nguồn cung cấp +5

Volt

•GND – Mass

Hình dạng thực tế DS12887

Trang 4

2 Cấu trúc bên trong Real Time Clock DS12C887:

a Sơ đồ địa chỉ của Real Time Clock:

• Sơ đồ địa chỉ bao gồm 113 bytes

RAM thông dụng, 11 bytes 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 bytes

được sử dụng cho việc điều khiển và

thông báo tình trạng Tất cả 128 bytes

có thể được ghi hoặc đọc trực tiếp trừ

những trường hợp sau :

• 1 Thanh ghi C and D là hai thanh ghi

chỉ đọc.

• 2 Bit thứ 7 của thanh ghi A là bit chỉ

đọc.

• 3 Bit cao của byte thứ 2 là bit chỉ đọc.

Trang 5

b Các thanh ghi điều:

DS12C887 có 4 thanh ghi điều khiển được sử dụng vào mọi lúc kể cả trong quá trình cập nhật.

Thanh ghi A:

Thanh ghi C:

Trang 6

III IC 74154:

• Đây là IC có chức năng phân kênh, nó gồm có 22 ngõ vào, cho

ra 24 ngõ ra Chúng ta dùng nó để mở rộng port xuất cho vi xử

lý Căn bản gồm có chân ngõ vào A(23),B(22),C(21),D(20) là

các chân để chọn ngõ ra tương ứng với các ngõ ra tích cực mức

thấp là các chân Y0(1), Y1(2), Y2(3), Y3(4), Y4(5), Y5(6),

Y6(7), Y7(8), Y8(9), Y9(10),Y10(11), Y11(13),

Y12(14),Y13(15), Y14(16), Y15(17) Cho phép IC hoạt động

G1(18), G2(19)

Sơ đồ chân của IC 74154 Bảng chức năng

Hình dạng thực tế 74154

Trang 7

IV LED 7 ĐOẠN:

Led 7 đoạn là loại đèn tiết kiệm năng lượng, tuổi thọ cao, được sử dụng rộng rãi trong đời sống Ở đây, led 7 đoạn được dùng để hiện thị các giá trị của thời gian và lịch rất tiện lợi và hiệu quả cao.

U 1 5

l e d 7 d o a n

7 6 4 2 1 9

1 0

3 8

5

A B C D E F G

D P

Hình dạng thực tế Led 7 đoạn Sơ đồ chân Led 7 đoạn

Trang 8

PHẦN HAI: THIẾT KẾ VÀ THI CÔNG

I Thiết kế phần cứng:

1 Sơ đồ khối:

KHỐI

VI XỬ LÝ

KHỐI MỞ RỘNG VÀ HIỆN THỊ

LED 7 ĐOẠN

2 Nhiệm vụ của các khối:

a Khối vi xử lý:

Khối vi xử lý bao gồm IC vi xử lý 89C51 có công dụng để chạy chương trình giao tiếp xuất nhập qua các port, IC thời gian DS12887 để tạo thời gian thực.

Khối vi xử lý được kết nối 3 port để điều khiển quét các led 7 đoạn và

để giao tiếp với RTC(DS12887)

Trang 9

Sơ đồ nguyên lý mạch:

S W 4

D 1

L E D

C 3

U 1 7

8 0 5 1

2 9

3 0

4 3

1 9

1 8

9

3 9

3 8

3 7

3 6

3 5

3 4

3 3

3 2

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

P S E N

A L E

C EA

X 1

X 2

R S T

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

S W 3

R 2 3

U 1 8

D S 1 2 8 8 7

1 9

2 3

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

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

S W 2

J 8

C O N 8

1 2 3 4 5 6 7 8

S W 6

R E S I S T O R S I P 9

3 4 5 6 7 8 9

R 1 9

R R 2 0 R

Y 1

1 2 0 0 0 K H z

C 4

R 1 7 R

C 1 C

C 2

R 1 8 R

J 7

C O N 8

1 2 3 4 5 6 7 8

V C C

R 2 1 R

R 1 6

R

S W 1

R 2 2 R

Trang 10

b Khối mở rộng và hiện thị:

• Khối này gồm IC 74154 được sử dụng để phân kênh và led 7 đoạn để cho hiện thị lịch và thời gian.

• Sơ đồ nguyên lý mạch:

R 1 5 R

D 4

D 0

D 4

J 5

D 6

D 4

D 5

D 7

D 7

Q 1

A 1 0 1 5

U 1 4

l e d 7 d o a n

7 4 1

1 0

3 8

5

A C E G

D P

D 4

R 8 R

R 1 3 R

D 6

Q 8

A 1 0 1 5

D 2

D 0

D 5

D 5

D 1

Q 1 1

A 1 0 1 5

D 7

D 2

D 2

D 6

Q 9

A 1 0 1 5

D 1

R 5 R

Q 1 2

A 1 0 1 5

D 5

D 0

D 4

D 5

R 6 R

D 3

D 5

D 1

D 3

D 6

D 6

U 1 0

l e d 7 d o a n

7 4 1

1 0

3 8

5

A C E G

D P

D 3

U 7

l e d 7 d o a n

7 4 1

1 0

3 8

5

A C E G

D P

D 3

D 2

D 6

D 5

D 5

D 6

D

D 3

D 2

U 1 5

l e d 7 d o a n

7 4 1

1 0

3 8

5

A C E G

D P

U 6

l e d 7 d o a n

7 4 1

1 0

3 8

5

A C E G

D P

D 7

D 7

D 4

D 7

U 1 3

l e d 7 d o a n

7 4 1

1 0

3 8

5

A C E G

D P

D 2

D 5

D

D 1

D

D 1

Q 1 4

A 1 0 1 5

U 9

l e d 7 d o a n

7

4

1

1 0

3 8

5

A C E G

D P

D 4

D 1

D

D 0

D 5

D 3

U 2

l e d 7 d o a n

7 4 1

1 0

3 8

5

A C E G

D P

Q 1 3

A 1 0 1 5

D 2

Q 6

A 1 0 1 5

D 7

D

D 7

D 4

D 3

D 7

D 2

D 3

D 6

D 1

D

D 4

D 5

D 3

U 5

l e d 7 d o a n

7 4 1

1 0

3 8

5

A C E G

D P

D 3

D 4

D 2

D 6

D 2

D 0

D 5

Q 2

A 1 0 1 5

D 0

l e d 7 d o a n

7 4 1

1 0

3 8

5

A C E G

D P

D

R 3 R

D 0

D 4

D 0

D 1

D 4

Q 1 5

A 1 0 1 5

R 7 R

D 5

R 9 R

D 1

D 1

D 4

D 6

R 1 2 R

Q 5

A 1 0 1 5

R 1 0 R

D 7

D 7

D 5

D 4

Q 3

A 1 0 1 5

D 6

D 1

D 0

J 2

C O N 8

1

3

5

7

D 6

Q 7

A 1 0 1 5

Q 4

A 1 0 1 5

R 1 4 R

D 0

D 0

J 6

C O N 2

1

D 2

D 2

U 1 6

7 4 1 5 4

1 2 3 4 5 6 7 8 9 10 11 13 14 15 16 17

23 22 21 20 18 19

D 2

D 4

D 5

R 2 R

U 4

l e d 7 d o a n

7 4 1

1 0

3 8

5

A C E G

D P

D 2

D 6

D 0

D 1

D 7

U 1 1

l e d 7 d o a n

7 4 1

1 0

3 8

5

A C E G

D P

D 0

D 6

V C C _ A R R O W

R 1

R R 1 1R

D 3

D 3

D 0

U 3

l e d 7 d o a n

7 4 1

1 0

3 8

5

A C E G

D P

Q 1 0

A 1 0 1 5

V C C _ A R R O W

D 7

D 3

D 7

D

U 1 2

l e d 7 d o a n

7 4 1

1 0

3 8

5

A C E G

D P

U 1

l e d 7 d o a n

7

4

1

1 0

3 8

5

A C E G

D P

R 4 R

Trang 11

Nạp các giá trị khởi tạo cho các ô nhớ thời gian và lịch.40H=59(giây),41H=59(phút),42H=23(giờ),43H=(thứ), 44H=01(ngày),45H=01(tháng),46H=09(năm)

Goi ctc kdrtc( chuong trình khởi động RTC DS1287) Gọi ctc drtc( chương trình đọc các giá trị thời gian, lịch và dữ liệu từ RTC)

Mov A,48H( chuyển nội dung ô nhớ mặc định là RTC đang hoạt động bình thường), tại địa chì 0EH của SRAM, ta nạp một giá trị mặc định cho nó trong

lần khởi động RTC trước đó Mặc định giá trị = 5

A= 5, kiểm tra xem RTC đã được khởi động các giá trị măc định chưa

Gọi chương trình GRTC( chương trình con ghi dữ liệu vào RTC)

Gọi CTC DRTC ( chương trình con đọc dữ liệu từ RTC) Gọi CTC QUETLED(chương trình con hiển thị các giá trị thời gian và lịch)

P3.4=0, kiểm tra có phím chỉnh cài đặt giờ không?

Gọi CTC SETUPTIME (gọi chương trình con cài đặt lại giờ cho RTC)

Yes

No

No

Yes

II Thiết kế phần mềm:

• Giải thích về chương

trình:

• Sơ lượt về lưu đồ:

END

Trang 12

Begin(chương trình con cài đặt thời gian và lịch)

Gọi CTC SETPHUT (chương trình con cài đặt giá trị phút)

Gọi CTC SETGIO (chương trình con cài đặt giá trị phút)

Gọi CTC SETTHU (chương trình con cài đặt giá trị phút)

Gọi CTC SETNGAY (chương trình con cài đặt giá trị phút)

Nhảy tại chỗ, chờ cho đến khi nào nhả phím nhấn thì

thôi

Nhảy tại chỗ, chờ cho đến khi nào nhả phím nhấn thì

thôi

Nhảy tại chỗ, chờ cho đến khi nào nhả phím nhấn thì

thôi

Nhảy tại chỗ, chờ cho đến khi nào nhả phím nhấn thì

thôi

Nhảy tại chỗ, chờ cho đến khi nào nhả phím nhấn thì

thôi Gọi CTC SETTHANG (chương trình con cài đặt giá trị phút)

P3.4=0

P3.4=1

P3.4=0

P3.4=0

P3.4=1

P3.4=1

P3.4=0 P3.4=1

P3.4=0

P3.4=1

Trang 13

KHỞI ĐỘNG_RTC Mov A,#0AFH, chọn chế độ cho RTC

Mov R0,#0AH, chọn thanh ghi A trong RTC

Movx @R0,A, Ghi vào RTC

Mov R0,#0BH, chọn thanh ghi A trong RTC

Mov A,#0EH, chọn chế độ cho RTC

Movx @R0,A, Ghi vào RTC

RET

ĐỌC_RTC

Cất nội dung các thanh ghi 00h, 01h, ACC

R0=00H,R1=40H,

Movx A,@R0, lấy nội dung từ RAM ngoai

INC R0, tăng gián tiếp địa chỉ RAM ngoài

INC R1, tăng gián tiếp địa chỉ ô nhớ chứa dữ liệu Mov @R1,A, chuyển nội dung A vào ô nhớ dữ liệu

R0=09H, kiểm tra đã lấy

đủ dữ liệu chưa

RET Trả lại nội dung cho 00H, 01H, ACC

No Yes

Trang 14

SWAP A

ORL A,B

Mov B,#10

DIV AB

RET

BIN2BCD BCD2MA7THANH

Movc A,@A+DPTR, lấy dữ liệu

Mov DPTR,# TABLE, nạp địa chỉ dữ

liệu.

ANL A, #0FH

RET

Trang 15

Cất 00H,01H,ACC vào stack

Mov R0,#40H

Mov R1,#00H

Mov A,@R0

Goi CTC BIN2BCD

SWAP A ( đảo nội dung thanh ghi A)

Gọi CTC BCD2MA7THANH

Mov P1,A (xuất dữ liệu ra )

Mov P2,R1 (xuất dữ liệu ra cột)

Gọi CTC DELAY

Tăng dữ liệu quét cột

Mov A,@R0

Goi CTC BIN2BCD

Gọi CTC BCD2MA7THANH

Mov P1,A (xuất dữ liệu ra )

Mov P2,R1 (xuất dữ liệu ra cột)

Gọi CTC DELAY

Tăng dữ liệu quét cột

R0 = 47H

RET

QUÉT LED

No

Yes

Tăng R0

Trang 16

Goi CTC QUETPHUT

Kiểm tra co phim SETUP hay không?

Kiểm tra xem có phím DOWN không?

Goi CTC DELAY( chống nảy phím)

Mov A,41H

Giảm giá trị nội dung thanh ghi A

Mov 41H,A

Kiểm tra A=0FFH Mov 41H,#59

Chương trình con SETPHUT

Goi CTC GRTC Goi CTC DRTC Mov R7,#100

Gọi CTC QUETPHUT

R7=0

DOWN=0

UP=0

SETUP=0

Kiểm tra xem có phím UP không?

Goi CTC DELAY( chống nảy phím)

Mov A,41H

Tăng giá trị nội dung thanh ghi A

Mov 41H,A

Kiểm tra A=59

Mov 41H,#00

RET

No

No

Yes

No

No

No

No

No

No

Yes RET

Yes No

Yes Yes

Yes

Yes Yes

Yes

Trang 17

Cất nội dung các thanh ghi 00h, 01h, ACC

R0=00H,R1=40H,

MovA,@R1, chuyển gián tiếp nội dung ô nhớ dữ liệu

vào A Movx @R0,A, ghi nội dung dữ liệu vào RAM ngoài

INC R0, tăng gián tiếp địa chỉ RAM ngoài

INC R1, tăng gián tiếp địa chỉ ô nhớ chứa dữ liệu

R0=09H, kiểm tra đã lấy đủ dữ liệu chưa

Trả lại nội dung cho 00H, 01H,

ACC

RET

No

Yes

Trang 18

THE END

Ngày đăng: 27/06/2014, 23:26

HÌNH ẢNH LIÊN QUAN

Hình dạng thực tế DS12887 - đồ án  đồng hồ thời gian thực
Hình d ạng thực tế DS12887 (Trang 3)
Sơ đồ chân của IC 74154 Bảng chức năng - đồ án  đồng hồ thời gian thực
Sơ đồ ch ân của IC 74154 Bảng chức năng (Trang 6)
Hình dạng thực tế 74154 - đồ án  đồng hồ thời gian thực
Hình d ạng thực tế 74154 (Trang 6)
Hình dạng thực tế Led 7 đoạn Sơ đồ chân Led 7 đoạn - đồ án  đồng hồ thời gian thực
Hình d ạng thực tế Led 7 đoạn Sơ đồ chân Led 7 đoạn (Trang 7)
1. Sơ đồ khối: - đồ án  đồng hồ thời gian thực
1. Sơ đồ khối: (Trang 8)
Sơ đồ nguyên lý mạch: - đồ án  đồng hồ thời gian thực
Sơ đồ nguy ên lý mạch: (Trang 9)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w