1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Đồ án đồng hồ số dùng AT89S52

15 1,3K 34

Đ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 15
Dung lượng 296,79 KB

Nội dung

Đây là mạch đồng hồ số, nó có ứng dụng nhiều trong thực tế như: Hẹn giờ, đồng hồ báo tiết học, lịch vạn niên...

Trang 1

ĐẠI HỌC SƯ PHẠM KĨ THUẬT TP HỒ CHÍ MINH

KHOA CƠ KHÍ CHẾ TẠO MÁY BỘ MÔN CƠ ĐIỆN TỬ

KKKKJJJJ

Đồ Án Vi Mạch Số :

12 - 2006

Trang 2

Phần 1: Giới thiệu

Phần 2: Mạch đồng hồ báo chuông tiết học

Trang 3

Phần I: Giới Thiệu

I/ Lời mở đầu

Trong cuộc sống hằng ngày, thời gian luôn trôi qua thật nhanh Nhu cầu biết giờ là một nhu cầu cần thiết với mọi người Đồng hồ báo chuông tiết học là một ứng dụng không thể thiếu ở các trường học

Sau đây em xin giới thiệu về vi mạch đông hồ báo giờ tiết học

II/Giới thiệu linh kiện

-AT 89S52 là chip thông dụng trong việc lập trình

-Chip 89S52 se giúp điều khiển ds12887 xử lý báo giờ như mong muốn

2/ Ds 12887:

-Ds 12887 là 1 vi mạch phổ biến trong việc sử dụng làm đồng hồ thời gian thực -Hình ảnh và cấu trúc bên trong:

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

Câáu trúc bên trong Real Time Clock DS12C887

Sơ đồ địa chỉ của DS12C887 được trình bày ở hình 1 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

Trang 4

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 tực tiếp trừ những trường hợp sau :

* Thanh ghi C and D là hai thanh ghi chỉ đọc

* Bit thứ 7 của thanh ghi A là bit chỉ đọc

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

Hình 1: Sơ đồ địa chỉ của DS12C887

Thời gian và lịch đã có bằng cách đọc các bytes 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ị bytes RAM thích hợp Nội dung của 10 bytes chứa thời gian, lịch và báo giờ đều có thể hiển thị ở cả

2 dạng nhị phân (Binary) hoặc BCD (Binary-Coded Decimal) Trước khi ghi lên các thanh ghi thời gian, lịch, và các thanh ghi báo giờ bên trong, bit SET ở thanh ghi B phải được đặt ở mức logic 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 để ghi lên 10 thanh ghi chỉ thời gian, lịch, và thanh ghi 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 (Data mode (DM)) của thanh ghi B phải được đặt ở mức logic thích hợp Tất cả 10 bytes 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 bytes thời gian và lịch Vào lúc đầu, đồng hồ thời gian thực 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 bytes dữ liệu Bảng 2 trình bày định dạng nhị phân và BCD của cả thời gian , lịch, và báo giờ Bit lựa chọn kiểu hiển thị 24–12 không thiể thay đổi mà không khởi động lại thanh ghi giờ Khi định dạng 12 giờ được lựa chọn, bit cao của bytes giờ tương ứng với PM khi nó được đặt ở mức logic 1 Bytes thời gian, lịch, và bytes 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, 11 bytes đượ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 điễn ra trong quá trình cập nhật, một vấn đề phát sinh là giờ, phút, giây, … có thể không chính xác Xác xuất đọc không chính xác dữ liệu

Trang 5

thời gian và lịch là rất thấp Có vài phương pháp tránh một số sai số có thể xảy ra

khi đọc thời gian và lịch được đề cập sau trong bài viết 3 bytes báo giờ có thể sử

dụng bằng 2 cách Cách thứ nhất, khi thời gian báo giờ thược ghi vào vị trí của các

thanh ghi giờ, phút, giây, tác động báo giờ được bắt đầu tại thời gian chính xác

trong ngày khi bit cho phép báo chuông được đặt ở mức cao Cách thứ hai sử dụng

để đặt trạng thái bất chấp vào một hoặc nhiều bytes báo chuông Mã bất chấp là

bất kỳ mã số hex nào nằm trong giá trị từ C0 đến FF Hai bit có trọng số lớn nhất

của những byte trên đặt vào trạng thái bất chấp khi ở mức logic 1 Báo giờ sẽ

được sinh ra mỗi giờ khi bit bất chấp được đặt vào bytes giờ Tương tự, báo giờ sẽ

sinh ra mỗi phút nếu mã bất chấp có ở bytes giờ và bytes phút Nếu mã bất chấp

có ở trong cả 3 bytes báo giờ thì nó sẽ tạo ra tín hiệu ngắt mỗi giây

Bảng 1 : Kiểu dữ liệu thời gian, lịch và báo giờ

Trang 6

Hình 2: Giao tiếp bus với IC Intel

Trang 7

Phần 2:Đồng Hồ Báo Giờ

I/Sơ đồ nguyên lý

G

P1.4 C

Q7 2N1132A

3

R2

R

U5

4 10

+5V

U8

4 10

R12 R

U2

4 10

P2.2

<Doc> <Rev Code>

<Title>

A

1 1 Thursday , December 07, 2006

Title Size Document Number Rev Date: Sheet of

P1.5 H

U1

4 10

R8 R

R15 R

+5V

R11 R

Q8 2N1132A

3

U4

4 10

R7 R R3

R

P1.1

P2.6

J2

HEADER 8

1 3 5 7

+5V

R10 R

Q2 2N1132A

3

P1.2

P1.0 P2.3

D F

R6 R

P1.6 R14 R

R13 R

B

P2.7

+5V

+5V

R16 R

Q5 2N1132A

3

P2.4

P1.7

P2.5

A

E

R5 R

U6

4 10

J1

HEADER 10

1 3 5 7 9 10

P2.0

R4 R

P1.3

F

R1

R

D

Q6 2N1132A

3

Q3 2N1132A

3

U7

4 10

+5V

P2.1

Q1

2N1132A

3

+5V

U3

4 10

Q4 2N1132A

3

o P2.7

J1

HEADER 6

1 3 5

D2 LED

+5V

P1.3

R1 4K7

1 2 4 6 8

C8 104

WR

P1.0

P1.5

BUZZE

U1 DALLAS 1887

2 4 6 8 10

12 13

14 16 17 18

19 20 22

23 24

2 AD0 AD2 AD4 AD6

GN CS

AS R/W 16 DS RESET IRQ 20 22 SQW VCC

+ C6 220uF C7 104

P2.7

C5 104

+5V

J3

HEADER 8

1 3 5 7

P2.2 P2.5

U3 7805

1 3

VIN VOUT

Y 1 12MHz

+5V

P2.1

DOWN

J4

HEADER 2

1

C2 33pF

WR

INT0

RESET

P1.6

R8 R

C1 10uF

SW SW 1 4

2

3 P2.2

P1.2

Q1

A1015

C3 33pF

RD

P1.5

P1.1

R2 R

P2.5

D1

BRIDGE

1

3

P2.3

+5V

BUZZE

ALE

MODE

P1.7

MODE

P1.4

ALE

P1.6

P1.2

+5V

SW4

SW

1 4

2 3

J2

HEADER 10

1 3 5 7 9 10

P2.0

SW1

SW

1 4

2 3

+ C4 470uF

UP

+5V +5V

P1.0

P1.5 P2.4

P1.7

P1.3

INT0

P1.6

P2.1

R6 10K

<Doc> <Rev Code>

DIGITAL CLOCK - Designed by HOANG DANG KHOA

A4

1 1 Thursday , December 07, 2006

Title Size Document Number Rev Date: Sheet of

RESET

P2.4 DOWN

+5V

SW2

SW

1 4

2 3

R7

10k

BUZZE1

SPEAKER

R4 4K7

1 2 4 6 8

UP

U2

AT89S52

9 18

19

29 31

1 3 5 7

21 23 25 27

10 12 14 16

39 37 35 33

RST XTAL2 XTAL1

PSEN ALE/PROG EA/VPP

P1.0 P1.2 P1.4 P1.5/MOSI P1.7/SCK

P2.0/A8 P2.2/A10 P2.4/A12 P2.6/A14

P3.0/RXD P3.1/TXD P3.2/INT0 P3.4/T0 P3.6/WR P3.7/RD

P0.0/AD0 P0.2/AD2 P0.4/AD4 P0.6/AD6

RESET

P1.4

R3 R

P1.7 P2.0

P2.3

P2.6

P1.1

P2.6 RD

R5 R

Trang 8

II/Sơ đồ mạch in

Trang 9

III Sơ đồ khối :

Khối Nguồn

Khối Xử Lý Khối Hiển Thị Khối RTC

Khối Giao Tiếp Phím Bấm

Trang 10

Bắt Đầu

Kết Thúc

Lấy data từ RTC

Hiển thị lên màn hình

Dò phím Mode = 2?

Dò phím Mode = 3?

Set phút

Set giây

sai

đúng

đúng

Up=1?

Tăng giá trị ơ nhớ

Đặt giá trị cho RTC

Down = 1?

sai

Giảm giá trị ơ nhớ

Đặt giá trị cho RTC

IV/ Chương trình

1/Lưu đồ thuật toán

Trang 11

2/Chöông trình :

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx org 0h

lcall //doc_gpg

lcall //hex_bcd

lcall //bcd_7doan

lcall //hienthi

lcall //delay

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx khoitao:

ret

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

b11: mov 61h,#10h

b13: mov 60h,#0ffh

lcall doc_gpg

lcall hex_bcd

lcall bcd_7doan

ss11:

Trang 12

ss12:

tat: mov 60h,#0ffh

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

tang1: lcall hienthi

b26:

b21: movx @r0,a

b23: movx @r0,a

b24: movx @r0,a

b22: mov 62h,#50

lcall doc_gpg

lcall hex_bcd

lcall bcd_7doan

Trang 13

jb up,b26

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

giam1: lcall hienthi

b36:

movx a,@r0

b31:

ss31:

b33:

ss32:

b34:

b32:

lcall doc_gpg

lcall hex_bcd

lcall bcd_7doan

b35:

lcall hienthi

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx doc_gpg:

Trang 14

mov r0,#00h

ret

hex_bcd:

hb: mov a,@r0

ret

bcd_7doan:

bc1: mov r7,#02h

bc: mov a,@r0

ret

hienthi: mov r0,#30h

ht: mov p2,@r0

lcall delay

Trang 15

mov p1,#0ffh

ret

ret

org 500h

db

00010001b,11010111b,00110010b,10010010b,11010100b,10 011000b,00011000b,11010011b,00010000b,10010000b

end

Ngày đăng: 14/05/2014, 18:07

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w