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

Thiết kế đồng hồ điện tử hiển thị bằng 8 led 7 thanh

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 (584.75 KB, 37 trang )

Trường : ĐHCN HÀ NỘI
Khoa
: ĐIỆN TỬ

GVHD: Nguyễn Anh Dũng

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
------------**********------------

ĐỒ ÁN
Môn:

VI ĐIỀU KHIỂN

Đề Tài : Thiết kế đồng hồ điện tử hiển thị bằng 8 led 7 thanh

Giáo viên hướng dẫn :

NGUYỄN ANH DŨNG

Sinh Viên Thực hiện

NGUYỄN VĂN QUÂN
LƯU VĂN QUÂN
TRẦN DUY HIỂN

Lớp

:


:

ĐT2_K4

Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 1


Trường : ĐHCN HÀ NỘI
Khoa
: ĐIỆN TỬ

GVHD: Nguyễn Anh Dũng

Nhận xét của giáo viên:
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………

………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………

Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 2


Trường : ĐHCN HÀ NỘI
Khoa
: ĐIỆN TỬ

GVHD: Nguyễn Anh Dũng

Đề Tài : Thiết kế đồng hồ điện tử hiển thị bằng 8 led 7 thanh

Hệ thống có hiển thị thời gian thực ở 2 chế độ tùy theo lựa chọn
của người sử dụng .
Chế độ 1 hiển thị giờ ,phút ,giây
Chế độ 2 hiển thị ngày , tháng ,năm .
Sai số tối đa 5 giây/ngày .
Trên hệ thống có nguồn dự phòng để đảm bảo khi mất điện vẫn
hoạt động được .
Trên hệ thống có phím chỉnh thời gian.

Giáo viên hướng dẫn :
Sinh Viên Thực hiện :

Lớp

:

NGUYỄN ANH DŨNG
NGUYỄN VĂN QUÂN
LƯU VĂN QUÂN
TRẦN DUY HIỂN

ĐT2_K4

Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 3


Trường : ĐHCN HÀ NỘI
Khoa

: ĐIỆN TỬ

GVHD: Nguyễn Anh Dũng

LỜI MỞ ĐẦU

Cùng với sự phát triển công nghệ hiện đại thiết thực để phục vụ cho đời
sống con người thì chuyên nghành công nghệ kỹ thuật đã có không ít những
thành tích đem lại phục vụ con người nhằm nâng cao cuộc sống hơn .Thời
gian là một mốc đánh dấu lịch sử rất quan trọng đối với loài người .Khi chưa
có công nghệ hiện đại như ngày nay người cổ hi lap đã phát minh ra lịch vạn
niện dựa trên tính toán thiên văn học .
Nhưng tới ngày nay công nghệ điện tử phát triển, đồng hồ số thay cho lịch
vạn niện rất nhiều bởi những ưu điểm của nó. Sử dụng đồng hồ điện tử
chúng ta có thể điều chỉnh được thời gian tùy theo ý muốn của con người
Tiện lợi khi mang đi theo.
Sau một thời gian học tập tại trường, học tập môn vi điều khiển cùng với sự
giúp đỡ của thầy giáo Nguyễn Anh Dũng và bạn bè. Chúng em đã cố gắng
áp dụng những gì đã nắm được qua môn học vào thực hành 1 mạch thực tế
đó là làm mạch đồng hồ số hiển thị LED 7 thanh.
Để điều khiển thời gian trong mạch đồng hồ điện tử có rất nhiều phương
pháp. Trong đồ án này em xin trình bày thiết kế đồng hồ điện tử dùng họ vi
điều khiển 8051 cụ thể là vi mạch 89S52 giao tiếp với IC thời gian thực
DS1307. IC DS1307 hoạt động ở tần số 32768kHZ được nuôi bằng nguồn
dự phòng 3V có thể hoạt động trong thời gian khá dài khoảng vài năm khi
không có nguồn điện.

Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 4



Trường : ĐHCN HÀ NỘI
Khoa
: ĐIỆN TỬ

GVHD: Nguyễn Anh Dũng

PHẦN I
I, HỌ 8051 và 89S52
1, Sơ lược về 8051
8051 ra đời năm 1981 do hang Intel sản xuất .Họ điều khiển này có
128 byte RA M , 4 kbyte ROM , hai bộ định thời , một cổng nối tiếp và 4
cổng ra vào song song và là bộ vi xử lí 8 bit.
Sau khi Intel cho các nhà sản xuất khác sản xuất và bán các dạng biến thể
của họ 8051 thì họ 8051 ngày càng phổ biến và càng có nhiều phiên bản
khác nhau của họ 8051 nhưng tất cả đều tương thích với họ 8051 ban đầu.
Sau đây là bảng so sánh các họ khác nhau :
Số hiệ sản xuất

Bộ nhớ chương
trình

Bộ nhớ dữ liệu

Số bộ định thời
(bộ đệm)

8031


0K

128 byte

2

8051

4K ROM

128 byte

2

8571

4k EPROM

128 byte

2

8951

4K FLASH

128 byte

2


8032

0K

256 byte

3

8052

8K ROM

256 byte

3

8752

8K EPROM

256 byte

3

8952

8K FLASH

256 byte


3

Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 5


Trường : ĐHCN HÀ NỘI
Khoa
: ĐIỆN TỬ

GVHD: Nguyễn Anh Dũng

1.1 Chức năng các chân của họ 8051
1.1.1 Port 0(P0.0_P0.7)
Port 0 gồm 8 chân với chức năng xuất nhập dữ liệu . ngoài ra Port 0 còn là
bus đa hợp dữ liệu và địa chỉ (AD0- AD7) .Port 0 cũng nhận các byte mã khi
lập trình FLASH và xuất các byte mã khi kiểm tra chương trình.
Chú ý trong trường hợp này cần có them điện trở trước khi nối vào chân
Port 0.
1.1.2 Port 1( P1.0_P1.7)
Cũng như Port 0 ,Port 1 cũng có 8 chân .Chức năng của Port 1 chỉ là xuất
nhập dữ liệu .Port 1 cũng có thể nhập xuất theo bit và theo byte.
1.1.3 Port 2 (P2.0_P2.7)
Port 2 là port 8 bit có chức năng xuất nhập dữ liệu như 2 port trên .Khi làm
nhiệm vụ là port nhập các chân của Port 2 đang được kéo xuống mức thấp
do tác động của bên ngoài sẽ cấp dòng cho các điện trở kéo lên từ bên trong
Port 2 tạo ra byte cao của bus địa chỉ trong thời gian tìm nạp lệnh từ bộ nhớ
chương trình ngoài và trong thời gian truy xuất bộ nhớ dữ liệu ngoài sử dụng
các địa chỉ 16bit .

Port 2 cũng nhận các bit địa chỉ cao và tín hiệu điều khiển trong thời gian lập
trình Flash và kiểm tra chương trình .
1.1.4 Port 3 (P3.0_P3.7)
Cũng là Port xuất nhập dữ liệu 8 bit ,ngoài ra Port 3 còn có chức năng khác
cụ thể như sau :
Bit
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7

Tên
RXD
TXD
INTO
INT1
T0
T1
/WR
/RD

Chức Năng
Dữ liệu nhận cho Port nối tiếp
Dữ liệu truyền cho Port nối tiếp
Ngắt bên ngoài 0
Ngắt bên ngoài 1

Ngõ vào của timer/counter 0
Ngõ vào của timer /counter 1
Xung ghi bộ nhớ dữ liệu ngoài
Xung đọc bộ nhớ dữ liệu ngoài

Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 6


Trường : ĐHCN HÀ NỘI
Khoa
: ĐIỆN TỬ

GVHD: Nguyễn Anh Dũng

1.2 RST
Khi tín hiệu vào chân này được đưa đến mức cao (trong 2 chu kì ) các thanh
ghi trong bộ vi điều khiển được tải lên với những gia trị thích hợp để khởi
động hệ thống .
1.3 Chân /PSEN
/PSEN (program store enable ) là chân đọc chương trình ở bộ nhớ ngoài
/PSEN sẽ ở mức thấp trong thời gian đọc mã lệnh .Khi thực hiện chương
trình trong ROM nội thì /PSEN ở mức cao .Chân này được kích hoạt 2 lần
mỗi chu kì máy và 2 hoạt động này sẽ bỏ qua khi truy nhập bộ nhớ ngoài .
1.4 Chân ALE
ALE (Addrees latch enable ) là một xung ngõ ra để chốt byte thấp của địa
chỉ trong truy nhập bộ nhở ngoài. Đây cũng là chân truy nhập xung lập trình
khi lập trình Flash . Bình thường khi hoạt động chân ALE sẽ được phát với 1
tỷ lệ không đổi 1/6 lần số dao động của vi điều khiển. Tuy nhiên chân này

cũng sẽ bỏ qua mỗi khi truy nhập bộ nhớ ngoài.
1.5 XTAL1 và XTAL2
Đây là ngõ vào và ra của 1 bộ khếch đại dao động ngịch được cấu hình để
dùng như 1 bộ dao động trên chip. Nó thường được nối với bộ dao động
thạch anh có dải tần thường là 12MHZ ÷33MHZ.
1.6 VCC và GND
Đây là 2 chân dùng để cấp nguồn cho IC. Dải điện áp thích hợp là 4-5V. Với
VCC nối với dương nguồn, GND nối với âm nguồn.
1.7 Chân EA
EA (external access ) là chân cho phép chọn bộ nhớ trong hay ngoài của vi
điều khiển. Khi EA ở mức cao thì vi điều khiển thi hành chương trình ROM
nội .Ngược lại vi điều khiển thi hành bộ nhớ ngoài.
2. Sơ lược về 89S52

Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 7


Trường : ĐHCN HÀ NỘI
GVHD: Nguyễn Anh Dũng
Khoa
: ĐIỆN TỬ
89S52 là một dòng trong họ 8051, 89s52 kế thừa đầy đủ tính chất của những
IC trước đó và được cải tiến hơn chức năng của họ 8051.

Sơ đồ chân 89S52 và hình ảnh thực tế
89S52 có tấ cả 40 chân.Trong đó chân số 20 và 40 là các chân nối VCC nằm
trong dải điện áp 3-5,5V và chân 20 là chân nối với GND.
Từ chân 1 --> chân 8 là chân của port 1 .

Từ chân 10 -->chân 17 là chân của port 3.
Từ chân 32--> 39 là chân của port 0 .
Từ chân 22-->chân 28 là chân của port 2.
Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 8


Trường : ĐHCN HÀ NỘI
GVHD: Nguyễn Anh Dũng
Khoa
: ĐIỆN TỬ
Các chân còn lại : chân 9 là chân RST.
chân 18 và chân 19 lần lượt là XTAL2 và XTAL1 ,
chân 29 ,30,31 lần lượt là PSEN ,ALE, EA.
Chức năng của các chân này chúng đều có chức năng và nhiệm vụ đã được
trình bày ở trên.
3. Sơ đồ khối và chức năng các khối của họ 8051

Bộ vi điều khiển AT89S52 gồm có các khối và chức năng sau đây:
• CPU (Centralprocessing unit ) bao gồm :
- Thanh ghi tích lũy A.
- Thanh ghi tích lũy phụ B ,dùng cho phép nhân và phép chia.
- Đơn vị logic học ALU.
- Thanh ghi từ trạng thái chương trình PSW.
- Bốn băng thanh ghi.
- Con trỏ ngăn sếp.
• Bộ nhớ chương trình (bộ nhớ ROM ) gồm 8 byte Flash .
• Bộ nhớ dữ liệu (bộ nhớ RAM ) gồm 256 byte .
• Bộ UART :có chức năng truyền nhận nối tiếp, AT89S52 có thể giao tiếp

với các cổng nối tiếp của máy tính thông qua bộ UART.
• Ba bộ timer/counter 16 bit thực hiện chức năng định thời và đếm sự kiện.
Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 9


Trường : ĐHCN HÀ NỘI
GVHD: Nguyễn Anh Dũng
Khoa
: ĐIỆN TỬ
• WDM: Dùng để phục hồi lại hoạt động của CPU khi nó bị treo bởi nguyên
nhân nào đó.
• Khối điều khiển ngắt với 2 nguồn ngắt ngoài và 4 ngắt trong.
• Bộ lập trình : Cho phép người sử dụng có thể nạp chương trình cho chip.
• Bộ chia tần với hệ số chia là 12.
• 4 cổng xuất nhập với 32 chân vào cũng được ra cũng được.
II, IC DS1307
DS1307 là một chip đồng hồ thời gian thực (RTC :Read _time clock ), khái
niệm thời gian thực ở đây được dùng với ý ngĩa thời gian tuyệt đối mà con
người đang sử dụng tính bằng giây , phút , giờ …DS1307 là 1 sản phẩm của
Dallas Semiconductor. Chip này có 7 thanh ghi 8bit chứa thời gian là: giây ,
phút , giờ , thứ (trong tuần ) , ngày , tháng , năm . Ngoài ra DS1307 còn có
1 thanh ghi điều khiển ngõ ra phụ và 56 thanh ghi trống có thể dùng như
RAM.
Ds1307 xuất hiện ở 2 gói SOIC và DIP có 8 chân .

Các chân của DS1307 được mô tả như sau :
• X1 và X2 : là 2 ngõ kết nối với 1 thạch anh 32.768KHZ làm nguồn
tạo dao động cho chip.

• VBAT : cực dương của 1 nguồn pin 3V nuôi chip.
• GND
: chân mass chung cho cả pin 3V và VCC .
• VCC
: nguồn cho giao diện I2C ,thường là 5V dùng chung với vi
điều khiển.
• SQW/OUT: một ngõ phụ tạo xung vuông ,tần số của xung được tạo
có thể lập trình được
• SCL và SDA : là 2 đường giao xung nhip và dữ liệu của giao diện
I2C.
Có thể kết nối với DS1307 bằng một mạch sau :
Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 10


Trường : ĐHCN HÀ NỘI
Khoa
: ĐIỆN TỬ

GVHD: Nguyễn Anh Dũng

Cấu tạo bên trong DS1307 gồm 1 số thành phần như
• Mạch nguồn .
• Mạch giao động.
• Mạch điều khiển logic.
• Mạch giao diện I2C.
• Con trỏ địa chỉ và thanh ghi (hay RAM).
Sử dụng DS1307 chủ yếu là ghi và đọc các thanh ghi của chip này. Vì thế
có 2 vấn đề cơ bản đó là cấu trúc các thanh ghi và cách truy xuất các thanh

ghi này thông qua giao diện I2C.
DS1307 có tất cả 64 thanh ghi 8 bit nhưng thực chất dùng cho chức năng
đồng hồ chỉ có 8 thanh ghi đầu còn lại có thể bỏ trống.

Tổ chức thanh ghi trong DS1307.
Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 11


Trường : ĐHCN HÀ NỘI
Khoa
: ĐIỆN TỬ

GVHD: Nguyễn Anh Dũng

Trong 8 thanh ghi đầu thì 7 thanh ghi đầu chứa thông tin về thời gian của
đồng hồ bao gồm giây, phút , giờ, thứ , ngày , tháng và năm.
Việc ghi giá trị vào 7 thanh ghi này tương ứng với việc “ cài đặt” thời
gian khởi động cho đồng hồ .
Việc đọc giá trị từ 7 thanh ghi là đọc thời gian thực mà chip tạo ra.
Thanh ghi thứ 8 là thanh ghi điều khiển xung ngõ ra SQW/OUT(chân 6).
Tuy nhiên do ta không dùng chân này có thể bỏ qua thanh ghi thứ 8 này.
Tổ chức từng bit trong mỗi thanh ghi

Tổ chức các thanh ghi thời gian thực :
• Thanh ghi giây : là thanh ghi đầu tiên trong bộ nhớ của DS1307, địa
chỉ của nó là 0x00, 4 bit thấp của thanh ghi này chứa mã BCD 4bit
của chữ số hang đơn vị của giá tri giây. Do giá trị cao nhất của chữ số
hang chục là 5 (không có giây 60) nên chỉ cần 3 bit là có thể mã hóa

được. Bit cao nhất bit thu 7 trong thanh ghi này là 1 điều khiển có tên
CH. Nếu bit này được xét bằng 1 bộ dao động trong chip bị vô hiệu
hóa , đồng hồ không hoạt động vì vậy phải reset bit này xuống 0 ngay
từ đầu.
Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 12


Trường : ĐHCN HÀ NỘI
Khoa
: ĐIỆN TỬ

GVHD: Nguyễn Anh Dũng

• Thanh ghi phút : Có địa chỉ 01H, chứa giá trị phút của đồng hồ. Cũng
giống như thanh ghi giây, chỉ có 7bit của thanh ghi này được dùng lưu
mã BCD của phút, bit 7 luôn bằng 0.
• Thanh ghi giờ : Đây là thanh ghi phức tạp nhất trong DS1307. Thanh
ghi này có địa chỉ 02H. 4bit thấp được dùng cho hang chục của giờ.
Do DS1307 có hỗ trợ 2 hệ thống hiển thị giờ là 12h và 24h, và bit thứ
6 dùng để xác lập hệ thống giờ. Nếu bit thứ 6=0 thì hệ thống 24h được
chọn khi đó 2 bit cao 4 và 5 dùng để mã hóa hàng chục của giá trị giờ.
Do giá trị lớn nhất của chữ số hang chục trong trường hợp này là 2
nên 2 bit 4 và 5 đủ để mã hóa, và ngược lại nếu bit thứ 6= 1 thì hệ
thống 12 h được chọn với trường hợp này chỉ dùng 4 bit để mã hóa
hàng chục của giờ bit 5 chỉ buổi trong ngày AM hay PM bit 5=0 là
AM và bit 5 =1 là PM bit 7 luôn bằng 0.
• Thanh ghi thứ : Có địa chỉ là 03H. Thanh ghi này chỉ mang giá trị từ
1->7 tương ứng từ chủ nhật đến thứ 7 trong tuần vì thế chỉ có 3bit

thấp trong thanh ghi này có nghĩa.
• Thanh ghi ngày : chứa ngày trong tháng từ 1÷31.
• Thanh ghi tháng : chứa các tháng trong năm từ 1÷12.
• Thanh ghi năm : chứa các năm từ 00÷99.

Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 13


Trường : ĐHCN HÀ NỘI
Khoa
: ĐIỆN TỬ

GVHD: Nguyễn Anh Dũng

PHẦN II : CƠ SƠ LÝ THUYẾT
I)

Thuật toán giao tiếp I2C với vi điều khiển 89S52

Giản đồ xung giao tiếp với DS1307.
Điều kiện START and STOP START và STOP là những điều kiện bắt buộc
khi một thiết bị chủ muốn thiết lập giao tiếp với thiết bị nào đó trong mạng
I2C.
START là điều kiện khởi đầu báo hiệu bắt đầu giao tiếp.
STOP là kết thúc một giao tiếp.
Chế độ hoạt động của I2C DS1307 ở 2 chế độ sau :
• Chế độ DS1307 ghi : Chuỗi dữ liệu và chuỗi xung clock sẽ được nhận
thông qua SDA và SCL sau mỗi byte được nhận thì 1 bit ACK sẽ

được truyền . Các điều kiện START và STOP sẽ nhận dạng bắt đầu và
kết thúc .
• Chế độ DS1307 đọc : byte đầu tiên trong chế độ đọc tương tự như chế
độ ghi .Tuy nhiên trong chế độ này bit chiều lại chỉ chiều ngược lại.
Chuỗi dữ liệu được phát đi trên SDA bởi DS1307 trong khi chuỗi
xung clock vào chân SCL.

Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 14


Trường : ĐHCN HÀ NỘI
Khoa
: ĐIỆN TỬ
Ghi vào DS1307.

GVHD: Nguyễn Anh Dũng

• START I2C
• Ghi địa chỉ DS1307.
• Thao tác ghi vào DS1307 quyết định bởi bit 0 tiếp theo như trên hình
(cả địa chỉ và bit 0 để ghi thì ghi địa chỉ có giá trị 0xD0).
• Xác định địa chỉ đầu tiên cần ghi (có thể là giây, phút , giờ …lần lượt
là 0, 1, 2, …)
• Địa chỉ tiếp theo sẽ tự dịch chuyển (X+1byte+x)
• X là địa chỉ đầu tiên cần ghi.
• 1byte là giá trị cần ghi vào thanh ghi.
• Acknowledge là bit thông báo cho master là đã thực hiện
xong ghi 1 byte thành công.

Đọc vào DS1307.

Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 15


Trường : ĐHCN HÀ NỘI
GVHD: Nguyễn Anh Dũng
Khoa
: ĐIỆN TỬ
• START I2C
• Ghi địa chỉ DS1307.
• Thao tác đọc vào DS1307 quyết định bởi bit 1 tiếp theo như trên hình
(cả địa chỉ và bit 1 để ghi thì ghi địa chỉ có giá trị 0xD1).
• Xác định địa chỉ đầu tiên cần đọc (có thể là giây, phút , giờ …lần lượt
là 0, 1, 2, …)
• Địa chỉ tiếp theo sẽ tự dịch chuyển (X+1byte+x)
• X là địa chỉ đầu tiên cần ghi.
• 1byte là giá trị cần ghi vào thanh ghi.
• Acknowledge là bit thông báo cho master là đã thực hiện
xong ghi 1 byte thành công.
• Not Acknowledge thông báo là đã đọc hết địa chỉ của
DS1307.

II, Hiển thị trên 8 led 7 thanh
Để hiển thị bằng LED 7 đoạn thì cần 8 đường điều khiển khi điều khiển trực
tiếp hoặc cần 4 đường dây điều khiển khi dùng vi mạch giải mã BCD_7
đoạn.
Với cả 2 cách nêu trên, nếu cần điều khiển 1 lượng LED lớn thì tương ứng

sẽ cần 1 lượng lớn các đường điều khiển.
Để giảm thiểu số đường dây điều khiển trên chúng ta sử dụng phương pháp
quét.
Nguyên lí hiển thị quét : Để điều khiển cho n LED 7 thanh ta sử dụng n
đường dây điều khiển cấp nguồn cho các LED và 8 đường dây số liệu dùng
chung cho các LED bằng cách lần lượt cấp nguồn cho từng LED đưa số liệu
tương ứng của LED đó ra 8 đường dây dữ liệu tương ứng.
Làm như vậy thì cùng một thời điểm thi chỉ có một LED mới hoạt động vì
chỉ có LED đó mới được cấp nguồn còn các LED khác không được cấp
VCC.
Ví dụ trong mạch hiển thị 4 LED 7 đoạn để hiển thị được 1 số có 4 chữ số :

Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 16


Trường : ĐHCN HÀ NỘI
GVHD: Nguyễn Anh Dũng
Khoa
: ĐIỆN TỬ
+Cấp nguồn cho LED thứ nhất (p1.3=0), đồng thời xuất dữ liệu ra cổng p2
để LED 1 hiển thi hàng đơn vị.
+Cấp nguồn cho LED thứ 2 (P1.2=0), đồng thời xuất dữ liệu ra cổng P2 để
hiển thị hàng trục.
+Cấp nguồn cho LED thứ 3 (P1.1=0) , đồng thời xuất dữ liệu ra công P2 để
hiển thị hàng trăm.
+Cấp nguồn cho LED thứ 4(P1.0=0) , đồng thời xuất dữ liệu ra cổng P2 để
hiển thị hàng nghìn.
Do dòng điện của IC xuất ra ngoài khá nhỏ lên LED 7 thanh thường sáng rất

yếu hay bị mờ lên chúng em đã dùng transistor để kích dòng điện lên cho
LED 7 thanh sáng hơn và ổn định hơn.

Trên đây là 2 phần lý thuyết quan trọng nhất trong việc thiết kế, lập trình đê
thực hiện làm mạch và hiên thị đồng hồ DS1307.
III)

Nguồn

Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 17


Trường : ĐHCN HÀ NỘI
GVHD: Nguyễn Anh Dũng
Khoa
: ĐIỆN TỬ
Gồm 2 nguồn nuôi cho mạch hoạt động
+ Nguồn chính là nguồn 5V ổn định qua IC7805 dùng để nuôi cho
mạch hoạt động (cả hiển thị và giao tiếp với IC DS1307),
+ Nguồn Pin 3V dùng để nuôi cho DS1307 lúc mà nguồn chính mất vì
một lý do nào đấy để DS1307 tiếp tục hoạt động tránh tình trạng bị
mất dữ liệu và nguồn này không thể giao tiếp với 89S52 và hiển thị
LED 7 thanh.
IV)

Công tắc

Công tác dùng để điều chỉnh thời gian và lựa chọn chế độ ngày tháng

năm.
Hoạt động của công tắc là làm nhiện vụ chuyển mức trạng thái của
chân IC.

Khi ấn công tắc thì chân IC (P2.5) đang từ mức cao (VCC) sẽ chuyển
xuống mức 0. Do sự thay đổi trạng thái như vậy Vi Điều Khiển
(89S52) có thể xử lý một nhiệm vụ nào đó mà ta yêu cầu (lập trình).

Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 18


Trường : ĐHCN HÀ NỘI
Khoa
: ĐIỆN TỬ

GVHD: Nguyễn Anh Dũng

PHẦN II
TRÌNH TỰ VÀ NỘI DUNG THIẾT KẾ
I, Sơ đồ nguyên lí
Sơ đồ từng khối.
1) Khối Nguồn

2) Khối hiển thị

Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 19



Trường : ĐHCN HÀ NỘI
Khoa
: ĐIỆN TỬ

GVHD: Nguyễn Anh Dũng

3) Khối điều khiển

Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 20


Trường : ĐHCN HÀ NỘI
Khoa
: ĐIỆN TỬ
2) Sơ đồ nguyên lí:

GVHD: Nguyễn Anh Dũng

4) Mạch in

Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 21


Trường : ĐHCN HÀ NỘI

Khoa
: ĐIỆN TỬ

GVHD: Nguyễn Anh Dũng

Lớp Top layer

Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 22


Trường : ĐHCN HÀ NỘI
Khoa
: ĐIỆN TỬ

GVHD: Nguyễn Anh Dũng

Lớp Bottom layer

Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 23


Trường : ĐHCN HÀ NỘI
Khoa
: ĐIỆN TỬ

GVHD: Nguyễn Anh Dũng


III, Code lập trình cho vi điều khiển 89S52
1) Lưu đồ thuật toán

Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 24


Trường : ĐHCN HÀ NỘI
Khoa
: ĐIỆN TỬ

GVHD: Nguyễn Anh Dũng

2) Code lập trình.
#include"reg52.h"
#include"intrins.h"
#include"stdio.h"
#define duieu P0
sbit led1=P2^0;
sbit led2=P2^1;
sbit led3=P2^2;
sbit led4=P2^3;
sbit led5=P2^4;
sbit led6=P2^5;
sbit led7=P2^6;
sbit led8=P2^7;
sbit sw1=P3^0;
sbit sw2=P3^1;

sbit sw3=P3^2;
sbit sw4=P3^3;
sbit sw5=P3^4;
sbit scl=P1^0;
sbit sda=P1^1;
unsigned char
maso[13]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,191,255}
;
unsigned char chedo,mode,tang,giam,exit;
int gio,phut,giay,thu,ngay,thang,nam;
unsigned int dem=0,run;
char m[16];
Đề tài: Thiết kế đồng hồ hiển thị 8 LED 7 thanh

Page 25


×