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

Dong ho thoi gian thuc DS1307

63 299 5

Đ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 63
Dung lượng 3,49 MB

Nội dung

Hệ thống điều khiển khiển tự động có ứng dụng rộng rãi trong các lĩnh vực như: Kỹ thuật điện tử, Viễn thông, Điều khiển tự động… Trong xu thế phát triển hiện nay mọi hoạt động đều được t

Trang 1

LỜI C ẢM ƠN

Ngày nay thế giới đã bước sang kỷ nguyên mới, kỷ nguyên của kỹ thuật công nghệ nói chung, kỹ thuật điều khiển nói riêng Hệ thống điều khiển khiển tự động có ứng dụng rộng rãi trong các lĩnh vực như: Kỹ thuật điện tử, Viễn thông, Điều khiển tự động… Trong xu thế phát triển hiện nay mọi hoạt động đều được tự động hóa bằng các thiết bị điện tử Các thiết bị điện tử đang dần thay thế mọi hoạt động của con người Theo dòng phát triển công nghệ, công nghệ bán dẫn đã và đang phát triển rất mạnh Thành tựu của nó là sự ra đơì của các mạch diều khiển bằng vi xử lý Từ khi ra đời đến nay mạch vi xử

lý đóng góp vai trò hết sức quan trọng trong các hệ thống điều khiển

Sau gần 2 năm học tập và nghiên cứu ở trường, chúng em đã được làm quen với các môn học chuyên ngành.Với mục đích nhằm hiểu rõ, nắm bắt công nghệ dòng vi xử lý vi điều khiển và khai thác các ứng dụng của nó trong cuộc sống, để gắn liền được lý thuyết với thực tế và để thấy được những tính năng ưu

việt của dòng vi xử lý vi điều khiển và chúng em đã chọn đề tài : “lịch vạn niên kết hợp quang báo” để rút kết lại kiến thức mình đã học tại trường trong hai

năm và chuẩn bị kiến thức cho công viêc sau này

Chúng em xin chân thành cảm ơn các thầy cô bộ môn của khoa ĐIỆN TỬ-TIN HỌC trường CĐKT CAO THẮNG và sự hướng dẫn tận tình cùa thầy TỐNG THANH NHÂN đã giúp chúng em hoàn thành đề tài này

Chúng em xin chân thành cảm ơn!

Trang 2

CHƯƠNG I - MỤC ĐÍCH YÊU CẦU ĐỀ TÀI

1.Giới Thiệu :

1.1 Lịch Vạn Niên (đồng hồ thời gian thực) :

Trong lĩnh vực công nghệ thông tin, người ta nói về hệ thống thông tin thời gian thực khi hệ thống đó điều khiển một vật thể vật lý với một tốc độ phù hợp với sự tiến triển của tiến trình chủ Một ví dụ dễ hiểu (hệ thống thông tin điều khiển màn hình hiển thị giờ chính xác của các tàu điện ngầm sẽ đến

và đi tại một gare nhất định) Hệ thống thông tin thời gian thực khác với những hệ thống thông tin khác bởi sự gò bó về thời gian, do đó việc tuân thủ các nguyên tắc cũng quan trọng như độ chính xác của kết quả, nói một cách khác, hệ thống không chỉ đơn giản là đưa ra kết quả chính xác mà nó còn phải thực hiện một xử lý trong một thời gian rất ngắn Hệ thống thông tin thời gian thực ngày nay được ứng dụng trong rất nhiều lĩnh vực như: trong ngành công nghiệp sản xuất, kiểm soát tiến trình (trong đời sống hàng ngày ,trong nhà máy, hay trong viện hạt nhân, trong hệ thống hàng không, thông qua các hệ thống dẫn đường tích hợp trên máy bay và vệ tinh) Sự phát triển của hệ thống thông tin thời gian thực yêu cầu mỗi phần tử của hệ thống phải ở thời gian thực.Vì vậy nhóm chúng em đã chọn LỊCH VAN NIÊN (đồng hồ thời gian thực) hiển thị lên led 7 đoạn làm một phần trong đồ án tốt nghiệp của nhóm

1.2 Quang Báo :

Quang báo là hình thức thông báo trên bảng đèn Bảng đèn quang báo gồm nhiều ma trận LED ghép lại, mỗi một ma trận biểu diễn một kí tự Tùy chiều dài của bảng đèn mà có thể hiển thị những bản tin có độ dài khác nhau.Với sự ra đời của máy tính điện tử đặc biệt là máy vi tính, chúng có những tính năng ưu việt như khả năng xử lý dữ liệu nhanh chóng, độ tin cậy cao, lưu trữ lượng thông tin lớn và quan trọng hơn cả là máy tính có thể kết hợp với nhiều thiết bị ngoại vi tùy theo mục đích ứng dụng cụ thể, mà việc trao đổi và điều khiển trở nên đơn giản, chúng phụ thuộc vào phần mềm điều khiển Dựa vào tính đa dạng và mềm dẻo của máy tính người ta tìm cách ứng dụng nó vào mục đích quảng cáo, chẳng hạn như dùng trong quang báo Nhờ vậy, việc thiết kế phần cứng cho quang báo trở thành ít phức tạp hơn, nhưng

Trang 3

độ tin cậy cao hơn Trong thực tế để hiển thị các văn bản, người ta dùng các kiểu chữ là các Ma Trận LED 8x32, 8x12 hoặc 8x14 tuỳ thuộc vào mục đích

sử dụng và độ phân giải

Các công nghệ thiết kế quang báo hiện nay gồm nhiều công nghệ ,song thường sủ dụng Led 7 thanh, Led ma trận, LCD, Led đơn.Nhóm chúng em đã chọn quang báo hiển thị lên led ma trận 8 x 32 làm một phần trong đồ án tốt nghiệp của nhóm

2.Mục Đích :

2.1.Lịch Vạn Niên (đồng hồ thời gian thực):

- Đầu vào hệ thống lấy dữ liệu từ DS1307, là IC thời gian thực nhằm cung cấp giờ cho hệ thống,để cập nhật thời gian,ngày tháng năm

-Xử lý,điều khiển dùng viđiều khiển 16F877A.Lập trình viđiều khiển

để xử lý đọc ghi giờ, tính toán hiển thị thời gian

-Để hiển thị dùng led 7 thanh: lấy tín hiệu ra từ vi điều khiển thông báo thời gian,ngày,tháng năm

-Điều chỉnh thời gian thông qua nút bấm: lựa chọn cài đặt giờ, tăng giảm thời gian

Để cấp đủ nguồn cho các LED và cho các LED sáng đều, chúng em sử dụng IC đệm dòng ULN2803

3.Yêu Cầu :

3.1.Lịch Vạn Niên (đồng hồ thời gian thực):

- Đồng hồ thời gian thực hiển thị lịch dương:

-Đầu vào hệ thống lấy dữ liệu từ DS1307, là IC thời gian thực nhằm cung cấp giờ cho hệ thống Đầu ra được hiển thị trên LED 7 thanh

Trang 4

- Hiển thị chính xác thời gian thực, ngày tháng năm dương lịch

- Làm việc với điện áp cấp từ nguồn 5v Dc

- Làm việc được lâu dài và ổn định

- Quan sát dễ dàng,có thể quan sát được thời gian ở khoảng cách xa

3.2 Quang Báo :

Hệ thống điều khiển 4 LED ma trận ,bảng led bao gồm 8 cột và 32 hàng

TCDT09C_DATN_GVHD:TONG THANH NHAN_SVTH:VAN DUY QUANG-ANH TUAN "” trên nền led ma trận 8x32

THUA-Dòng chữ chạy từ phải qua trái

CH ƯƠNG II -PHÂN TÍCH VÀ THIẾT KẾ

Tạo thời gian thực

Trang 5

-sơ đồ nguyên l ý :

-Nguyên lý hoạt động :

Đây là module cấp nguồn cho hệ thống nhằm cung cấp điện áp chuẩn

+5V

-Yêu cầu đối với khối này:

+Có thể lấy nguồn từ điện áp xoay chiều (hoặc pin) để cấp nguồn cho

hệ thống

+Điện áp đầu ra của khối ( điện áp đầu vào của hệ thống) luôn

ổn định tại mọi thời điểm.Mạch ổn áp cần cho vi điều khiển vì nếu nguồn cho

vi điều khiển không ổn định thì sẽ treo VĐK, không chạy đúng hoặc reset

liên tục thậm chí là chết chíp

Với yêu cầu như trên ta lựa chọn mạch biến đổi điện áp xoay chiều

thành 1 chiều qua máy biến thế.Sử dụng IC7805 để ổn áp

Điện áp xoay chiều qua biến áp hạ xuống theo yeu cầu khoảng 12V qua cầu diot nắng lọc

là :

V U

U U

U d

2 2 2

C2 C

12V

Trang 6

Qua IC ổn áp 7805 với V ngõ vào là 10.8V

Giá trị điện áp của I C 7805 là từ 8-35V và điện áp ra là 5

1.1.2khối tạo xung dao động:

-Chức năng : có tác dụng tạo xung nhịp với tần số 12MHz cho VĐK hoạt động

-sơ đồ nguyên l ý :

-Nguyên lý hoạt động : Đây là bộ dao động thạch anh có tác dụng tạo xung nhịp với tần số 12MHz cho VĐK hoạt động Hai đầu này được nối vào 2chân OSC1 và OSC2 của VĐK

Trang 7

-Nguyên lý hoạt động : Khối RESET có tác dụng đưa vi điều khiển về trạng thái ban đầu Khi nút Reset được ấn điện áp +5V từ nguồn được nối vào chân Reset của vi điều khiển được chạy thẳng xuống đất lúc này điện áp tại chân vi điều khiển thay đổi đột ngột về 0, VĐK nhận biết được sự thay đổi này và khởi động lại trạng thái ban đầu cho hệ thống

4 B2 16 A3 5 B3 15A4 6 B4 14A5 7 B5 13A6 8 B6 12A7 9 B7 11

CE 19 VCC 20GND

10 AB/BA1

U2

74HC245

1 2 3 4 5 6 7 8

J1

PIN-DUC-8

D0 D1 D2 D3 D4 D5 RA1 D7

1 2 3 4 5 6 7 8

Trang 8

-Nguyên lý hoạt động : Lấy tín hiệu ra từ chân IC để hiển thị thời gian, ngày thángnăm.Khối hiển thị yêu cầu:

+Sử dụng nguồn chung toàn hệ thống,hoặc có thể dùng nguồn riêng tùy người thiết kế

+Độ sáng đủ lớn để có thể quan sát được trong phạm vi trong phòng,góc nhìn rộng.màu sắc của số khi hiển thị dễ quan sát

Lựa chọn hiển thị qua led 7 thanh,màu đỏ

Mỗi thanh của led 7 đoạn để một led sang cần dòng 10mA , ta có thể xem led

7 đoạn như 7 led đơn:

Dòng qua led : I led 10mA770mA

Giá trị trung bình dòng qua led :

chọn thời gian sang T0 là thời gian led sang , T là thời gian led tắt chọn thời

gian sang một led là 100ms thời gian khong có dong qua led là 600ms

mA mA

I

V V V

V

R

led

outpic led

cc

Để sang hết 7 thanh cuả led 7 đoạn cần dòng :

mA mA

I led 10 770

Xét điều kiện BJT bão hoà chọn BJT A1015 có =70

Thông số của vi điều khiển pic ta có

Trang 9

003 0

2 8 0 5

0

1.1.5khối điều khiển :

-Chức năng : Gồm 4 nút ấn có tác dụng điều chỉnh thời gian, ngày tháng trong mạch

-sơ đồ nguyên l ý :

1.1.6khối tạo thời gian thực :

-Chức năng : cung cấp thông tin về giờ,phút,giây ,thứ,ngày,tháng, năm

Trang 10

-sơ đồ nguyên l ý :

-Nguyên lý hoạt động :

+IC thời gian thực cần hoạt động được với nguồn cung cấp nhỏ, dùng

để cập nhật thời gian và ngày tháng.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ỏ hơn 31 ngày,bao gồm cả việc tự động nhảy năm Đồng hồ có thể hoạt động ở dạng 24h hoặc 12h với chỉ thị AM/PM

+Khi mất nguồn IC thời gian thực vẫn duy trỳ hoạt động không cần điều chỉnh lại thời gian.IC có thêm nguồn riêng từ pin 3V

+Với điều kiện như trên ta lựa chọn IC thời gian thực là IC DS1307

KHOI DALAS 1307

VBAT 3

X1 1

X2 2

SCL 6 SDA 5

SOUT 7 U2

Trang 11

-Nguyên lý hoạt động :

Dùng VDK để lấy tín hiệu từ khối điều khiển, tạo xung giao động, tạo

thời gian thực… và đưa ra khối hiển thị Yêu cầu

+ Tốc độ xử lý nhanh, chính xác

+ Bộ nhớ không cần lớn

Lựa chọn vi điều khiển 16f877a

1.1.8khối đo nhiệt độ :

- Đo và hiển thị nhiệt độ của môi trường một thời điểm bất kỳ trong

RA1/AN1 3

RA2/AN2/VREF-/CVREF 4

RA4/T0CKI/C1OUT 6

RA5/AN4/SS/C2OUT 7

RE0/AN5/RD 8

RE1/AN6/WR 9

RE2/AN7/CS 10

OSC1/CLKIN 13

OSC2/CLKOUT 14

VCC 11 VCC1 32

GND 12 GND1 31

U17

PIC16F877A

LA LB LC LD LE LF LG LP RST1302 SCLK1302 IO1302

RA0 RA1

D0 D1 D2 D3 D4 D5 D6 D7

Trang 12

- Sử dụng sensor cảm biến nhiệt

- Hiển thị trên led 7 thanh

1.2 Quang Báo :

1.2.1.khối điều khiển led ma trận:

-Chức năng : Nhận tín hiệu từ khối xử lý trung tâm, giải mã và cung cấp

nguồn ổn định và đủ lớn để chuyển ra khối hiển thị

-Nguyên lý hoạt động :

KHỐI NGUỒN

KHỐI

XỬ LÝ TRUNG

TÂM

KHỐI ĐIỀU KHIỂN LED

MA TRẬN

KHỐI HIỂN THỊ

Trang 13

Khối điều khiển LED được kết nối như hình dưới đây Module sử dụng IC chốt dịch 74HC595 và IC đệm dòng ULN2803

Các chân Clock và Latch của IC 74HC595 được mắc song song như hình vẽ Chân Data của IC 74HC595 đầu tiên được nối vào vi điều khiển Các chân Data của 3 IC còn lại được mắc vào chân số 9 của IC 74HC595 trước

đó

Trang 14

Các đầu ra của IC chốt dịch 74HC595 được mắc vào các cổng vào của

IC đệm dòng ULN2803, các đầu ra của ULN2803 sẽ được nối trực tiếp với các chân cho phép cột của các LED ma trận trong module hiển thị

1.2.2 kh ối hiển thị:

Nhận tín hiệu từ khối xử lý trung tâm và khối điều khiển LED ma trận

để hiển thị các ký tự theo chương trình đã trong khối xử lý trung tâm

Module hiển thị sử dụng 4 led ma trận 8x8 ghép nối lại với nhau thành một

ma trận 8x32 Các LED ma trận được nối chung các chân cho phép hàng với nhau(H1 đến H8) Các chân cho phép cột được tách riêng và nối vào Module điều khiển LED ma trận (C1 đến C32)

CH ƯƠNG III- LƯU ĐỒ GIẢI THUẬT VÀ CHƯƠNG TR ÌNH

1 Lịch Vạn Niên (đồng hồ thời gian thực):

1.1 lưu đồ chính :

Trang 15

1.2.lưu đồ chi tiết

1.2.1.Thuật toán giao tiếp với IC thời gian thực DS1307:

CT điều khiển chính

Trang 16

#define set pin_c4

#define mod pin_c5

#define tang pin_c6

#define giam pin_c7

Trang 17

byte giay,phut,gio,ngay,thang,nam,ngtuan;

char

displthang1_onlar,displthang1_birler,displthang2_onlar,displthang2_birler,displthang3_onlar,displthang3_birler;

const int

displthang_digit[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; // ortak anotlu için

int i;

int set_degeri=0; // 1=gio 2=ngay

int mod_degeri=0; // 1=gio,ngay 2=phut,thang 3=giay

unsigned long int sicaklik_bilgisi;

float sicaklik_degeri,sicaklik_voltaj;

int sicaklik_ekrani=0;

1.2.2 Thuật toán điều chỉnh thời gian:

-Chỉnh giờ:

Trang 18

-chỉnh phút :

Chỉnh giờ

Nhả phím giờ+1

10giờ=0 Giờ=0

Nhả phím giờ-1

10 giờ =-1 giờ =9

S

S

10giờ=2 giờ =4

Trang 19

*chương trình:

Chỉnh phút

Nhả phím phút+1

10phút=6 phút=0

Nhả phím phút-1

10 phút = -1 phút =9

S

S

10phút=51 phút =9

Trang 20

void thangarlar()

{

if (input(set))

{

while(input(set))

{

if(sicaklik_ekrani==1){ sicaklik_tara(); }

else { displthang_tara(); }

output_low(pin_a1);output_low(pin_a2);

}

set_degeri=1;

} else { goto thangardan_cik; } while(set_degeri==1)

{ output_e(0b001); rtc_get_time(gio,phut,giay); displthang1_birler=gio%10;

displthang1_onlar=gio/10; displthang2_birler= phut%10; displthang2_onlar=phut/10; displthang3_birler=giay%10; displthang3_onlar=giay/10; set_konumunda_displthang_tara(); if(input(set)){ while(input(set)){displthang_tara();} set_degeri=2; goto set1_den_cik; }

if(input(mod)){ while(input(mod)){displthang_tara();} mod_degeri=1; }

while(mod_degeri==1) {

for(;;)

{

displthang1_birler=gio%10;

displthang1_onlar=gio/10;

displthang1_tara();

Trang 21

if(input(tang)){gio++; while(input(tang)){displthang1_tara();} if(gio==24){gio=0;} }

if(input(giam)){gio ; while(input(giam)){displthang1_tara();} if(gio==-1){gio=23;} }

if(input(mod)){while(input(mod)){displthang1_tara();} mod_degeri=2; goto

mod1s_cik;}

write_ds1307(0x84,get_bcd(gio)); //lay gia tri gio 0-23 delay_ms(5); } //for smod1 } //trong khi mode = 1 mod1s_cik:

while(mod_degeri==2)

{

for(;;)

{

displthang2_birler=phut%10;

displthang2_onlar=phut/10;

displthang2_tara(); if(input(tang)){phut++; while(input(tang)){displthang2_tara();} if(phut==60){phut=0;} } if(input(giam)){phut ; while(input(giam)){displthang2_tara();} if(phut==-1){phut=59;} } if(input(mod)){while(input(mod)){displthang2_tara();} mod_degeri=3; goto mod2s_cik;}

write_ds1307(0x82,get_bcd(phut)); //lay gia tri phut 00-59 delay_ms(5); } //for smod2 } //trong khi mod = 2 mod2s_cik:

while(mod_degeri==3)

{

for(;;) { displthang3_birler=giay%10;

displthang3_onlar=giay/10;

displthang3_tara();

Trang 22

if(input(tang)){giay++; while(input(tang)){displthang3_tara();} if(giay==60){giay=0;} }

if(input(giam)){giay ; while(input(giam)){displthang3_tara();} 1){giay=59;} }

if(input(mod)){while(input(mod)){displthang3_tara();} mod_degeri=0; goto mod3s_cik;}

write_ds1307(0x80,get_bcd(giay)); //lay gia tri giay 00-59

Trang 23

Chỉnh năm

Nhả phím năm +1

năm =0

10 năm +1

Quét LED hiển thị 10 năm, năm

=1

10 năm=1

Nút 1 =0

S

10 năm =9

Trang 24

-chỉnh ngày:

-chỉnh tháng:

Chỉnh ngày

Nhả phím ngày +1

Quét LED hiển thị 10

Nút =3

Trang 25

Chỉnh tháng

Nhả phím tháng +1

Quét LED hiển thị 10 tháng, tháng

Kết thúc

Đ

10 năm =1 tháng =0

10tháng =0 tháng=9

Nút 1 =0

10 tháng =0 tháng =0

10 năm =1 tháng =0

S

Trang 29

if(input(mod)){while(input(mod)){displthang3_tara();} mod_degeri=0; goto mod3t_cik;}

write_ds1307(0x8C,get_bcd(nam)); //lay gia tri nam 00-99

Trang 30

2.2.Lưu đồ chi tiết:

2.2.1.Sơ đồ thuật toán khối hiển thị:

Begin

Lấy độ dài chuỗi ký tự Kiểm tra chuỗi ký tự

End Hiển thị

Trang 31

*chương trình font chữ :

Ký tự = 0

Cột > 5 Copy font ký tự vào bộ đệm

Ký tự ++

Hiển thị ra cột Cột = 0

Cột ++

Ký tự > Độ dài chuỗi Đ

S

Đ

Ngày đăng: 07/09/2017, 11:05

TỪ KHÓA LIÊN QUAN

w