Tải bản đầy đủ (.docx) (57 trang)

MẠCH ĐỒNG hồ điện tử dùng vđk ( có code đầy đủ )

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 (664.52 KB, 57 trang )

1

ĐỒ ÁN 2

MẠCH ĐỒNG HỒ ĐIỆN TỬ
CHƯƠNG 1: TỔNG QUAN VỀ MẠCH ĐỒNG HỒ ĐIỆN TỬ
1.1. GIỚI THIỆU VỀ ĐỀ TÀI…………………………………..1
1.2 Sơ đồ khối…………………………………..2
Chương 2. Lựa chọn linh kiện và thiết kế mạch…………………3
2.1 Lựa chọn linh kiện…………………………………..3

2.1.1 Vi điều khiển pic 16f877a…………………………………..3
2.1.2 Màn hình LCD 16*2…………………………………..7
2.1.3 IC thời gian thực…………………………………..9
2.1.4 Các linh kiện khác…………………………………..12
2.2 Thiết kế các khối mạch…………………………………..12
2.2.1 Khối nguồn 5v…………………………………..12
2.2.2 Khối vi điều khiển 16f 877a…………………………………..14
2.2.3 Khối nút nhấn…………………………………..15
2.2.4 Khối thời gian thực DS 1307…………………………………..16
2.2.5 Khối hiện thị LCD…………………………………..17
2.2.6 Khối còi báo…………………………………..18
Chương 3: Thiết kế nguyên lý và thi công mạch…………………..19
3.1 Thiết kế mạch nguyên lý…………………………………..19


2

ĐỒ ÁN 2

3.2 Thiết kế mạch in và thi công mạch…………………………..19


Chương 4 Lưu đồ giải thuật và kết luận…….22
4.1 Lưu đồ giải thuật…………………………………..22
4.2 Kết luận…………………………………..23
4.3 Ứng đụng phát triển…………………………………..23
Chương 5: Chương Trình…………………………………..24


3

ĐỒ ÁN 2

CHƯƠNG 1: TỔNG QUAN VỀ MẠCH ĐỒNG HỒ ĐIỆN TỬ
1.1. GIỚI THIỆU VỀ ĐỀ TÀI
Mạch đồng hồ điện tử sử dụng IC thời gian thực DS1307 hiển thị lên LCD ngày giờ
thực.
Ưu điểm của mạch là có thể chạy đúng ngày giờ dù đã ngắt nguồn, thêm vào đó là
mạch có phần báo thức giúp chúng ta có thể kiểm soát và sử dụng thời gian 1 cách
hợp lý và hiệu quả nhất.
Mạch sử dụng vi điều khiển PIC16F877A là khối xử lý trung tâm. Hiển thị lên LCD
thời gian thực với bộ thời gian thực DS1307. Đồng thời có còi báo khi đến thời gian
cài đặt, với 4 nút nhấn để thay đổi thời gian.
1.2. SƠ ĐỒ KHỐI
KHÔÍ IC DS1307
KHÔÍ BAO
́ THƯC
́
KHÔÍ VI XỬ LÝ
KHÔÍ HIÊN
̉ THỊ LCD
KHÔÍ NUT

́ NHÂN
́


4

ĐỒ ÁN 2

Hình 1: Sơ đồ khối mạch.

Mô tả các khối:
+ Khối nút nhấn gồm 4 nút nhấn để đặt, hiệu chỉnh và hẹn thời gian.
+ Khối hiển thị là LCD.
+ Khối vi sử lý là khối dùng vi điều khiển PIC16F877A điều khiển toàn bộ các hoạt
động chính của mạch : nhận tín hiệu điều khiển của khối điều chỉnh nút nhấn và tìn
hiệu của từ con thời gian thực xuất ra khối hiển thị và chuông báo.
+ Khối còi báo là một chuông hoặc còi điện để báo hẹn giờ.
+ Khối RTC thời gian thực là DS1307.


ĐỒ ÁN 2

5

CHƯƠNG 2 : LỰA CHỌN LINH KIỆN VÀ THIẾT KẾ MẠCH.
2.1. LỰA CHỌN LINH KIỆN
2.1.1. VI ĐIỀU KHIỂN PIC16F877A
PIC là vi điều khiển do hãng General Intrusment đặt tên viết tắt là “Programable
Intellegent Computer”, tạm dịch là “ Máy tính thông minh khả trình”
Đây là vi điều khiển thuộc họ PIC16Fxxx có độ dài 14 bit với tập lệnh gồm 35 lệnh.

Mỗi lệnh đều được thực thi trong một chu kì xung clock. Tốc độ hoạt động tối đa
cho phép là 20MHz với một chu kì lệnh là 200ns. Bộ nhớ chương trình 8Kx14bit,
bộ nhớ dữ liệu 368×8 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng
256×8 byte. Số PORT I/O là 5 với 33 pin I/O.


6

ĐỒ ÁN 2

Hình 2: Vi điều khiển PIC16F877A
Các đặc tính ngoại vi bao gồm các khối chức năng sau:
– Timer0: Bộ đếm 8 bit với bộ chia tần số 8 bit.
– Timer1: Bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năng đếm dựa
vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep.


Timer2: Bộ đếm 8 bit với bộ

chia tần

số, bộ postcaler.

Sơ đồ

chân của vi điều khiển
PIC16F877A:


ĐỒ ÁN 2


7

Hình 3: Sơ đồ chân của PIC16F877A
Chức năng các chân của vi điều khiển PIC16F877A:
- Chân OSC1/CLK1(13): Ngõ vào kết nối với dao động thạch anh hoặc ngõ
vào nhận xung clock từ bên ngoài.
- Chân OSC2/CLK0(14): Ngõ ra dao động thạch anh hoặc ngõ cấp xung
clock.
- Chân MCLR /Vpp(1) Có 2 chức năng:
MCLR : Ngõ vào reset tích cực ở mức thấp.
Vpp: Ngõ vào nhận điện áp lập trình khi lập trình cho pic.
- Chân RA0/AN0(2), RA1/AN1(3), RA2/AN2 có 2 chức năng:
RA0, 1, 2: Ngõ vào xuất/nhập số.
AN0, 1, 2: Ngõ vào tương tự của kênh 0, 1, 2.
- Chân RA2/AN2/VREF-/VREF+(4): xuất nhập số/ ngõ vào tương tự kênh
thứ 2/ ngõ vào điện áp chuẩn thấp bộ AD/ ngõ vào điện áp chuẩn cao bộ AD.
- Chân RA3/AN3/VREF+(5): xuất nhập số/ ngõ vào kênh tương tự 3/ ngõ vào
điện áp chuẩn(cao) của bộ AD.
- Chân RA4/TOCK1/C1OUT(6): xuất nhập số/ ngõ vào xung clock bên ngoài


8

ĐỒ ÁN 2

cho TIMER0/ ngõ ra bộ so sánh 1.
- Chân RA5/AN4/ SS /C2OUT(7): xuất nhập số/ ngõ vào tương tự kênh 4/
ngõ vào lựa chọn SPI phụ/ ngõ ra bộ so sánh 2.
- Chân RB0/INT(33): xuất nhập số/ ngõ vào tín hiệu ngắt ngoài.

- Chân RB1(34), RB2(35): xuất nhập số.
- Chân RB3/PGM(36): xuất nhập số/ cho phép lập trính điện áp thấp ICSP.
- Chân RB4(37), RB5(38): xuất nhập số.
- Chân RB6/PGC(39): xuất nhập số/ mạch gỡ rối và xung clock lập trình ICSP.
- Chân RB7/PGD(40): xuất nhập số/ mạch gỡ rối và dữ liệu lập trình ICSP.
- Chân RC0/T1OCO/T1CKI(15): xuất nhập số/ ngõ vào dao động Timer1/
ngõ vào xung clock bên ngoài Timer1.
- Chân RC1/T1OSI/CCP2(16): xuất nhập số/ ngõ vào bộ dao động Timer1/
ngõ vào capture2, ngõ ra compare2, ngõ ra PWM2.
- Chân RC2/CCP1(17): xuất nhập số/ ngõ vào Capture1, ngõ ra Compare1,
ngõ ra PWN1.
- Chân RC3/SCK/SCL(18): xuất nhập số/ ngõ vào xung clock nối tiếp đồng
bộ, ngõ ra chế độ SPI/ ngõ vào xung clock đồng bộ, ngõ ra chế độ I2C.
- Chân RC4/SDI/SDA(23): xuất nhập số/ dữ liệu vào SPI/ xuất nhập I2C.
- Chân RC5/SDO(24): xuất nhập số/ dữ liệu ra SPI.
- Chân RC6/TX/CK(25): xuất nhập số/ truyền bất đồng bộ USART/ xung
đồng bộ USART.
- Chân RC7/RX/DT(26): xuất nhập số/ nhận bất đồng bộ USART.
- Chân RD0¸ 7/PSP0¸ 7(19¸ 30): xuất nhập số/ dữ liệu port song song.
- Chân RE0/ RD /AN5(8): xuất nhập số/ điều khiển port song song/ ngõ vào
tương tự kênh 5.
- Chân RE1/ WR /AN6(9): xuất nhập số/ điều khiển ghi port song song/ ngõ
vào tương tự kênh 6.
- Chân RE2/ CS /AN7(10): xuất nhập số/ chân chọn lựa điều khiển port


9

ĐỒ ÁN 2


song song/ ngõ vào tương tự kênh 7.
- Chân VDD(11, 32) và VSS(12, 31): là chân nguồn của Pic.
- 40 chân trên được chia thành 5 PORT, 2 chân cấp nguồn, 2 chân GND, 2 chân
thạch anh và một chân dùng để RESET vi điều khiển.
- 5 port của PIC16F877A bao gồm :
+ PORTB : 8 chân
+ PORTD : 8 chân
+ PORTC : 8 chân
+ PORTA : 6 chân
+ PORT E : 3 chân
Sơ đồ khối của vi điều khiển PIC16F877A:


ĐỒ ÁN 2

10

Hình 4: Sơ đồ khối PIC16F877A
2.1.2. Màn hình LCD16x2


ĐỒ ÁN 2

11

Hiện nay trên thị trường có rất nhiều loại màn hình LCD, tùy vào nhu cầu sử dụng
vào yêu cầu của mỗi người mà ta chọn loại LCD cho phù hợp. Ở mạch đồng hồ
điện tử ta chon LCD16x2.
Sau đây là hình ảnh thực tế của LCD16x2:


Hình 5: Màn hình LCD16x2
LCD16x2 đã được tích hợp sẵn các chân để người dùng có thể dễ dàng sử dụng, sau
đây là sơ đồ các chân của LCD:

Hình 6: Sơ đồ các chân của LCD16x2
Chức năng từng chân của LCD16x2


12

ĐỒ ÁN 2

Chân 1 : VCC Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với GND
của mạch điều khiển.
Chân 2 : VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với
VCC = 5v của mạch điều khiển.
Chân 3 : VEE Điều chỉnh độ tương phản của LCD
Chân 4 : RS Chân chọn thanh ghi (Register select).
Chân 5 : RW Chân chọn chế độ đọc/ghi (Read/Write). Nối chân RW với logic “0”
để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở chế độ đọc.
Chân 6 : E Chân cho phép (Enable). Sau khi các tín hiệu được đặt lên bus DB0DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E.
Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấp nhận) thanh ghi bên
trong nó khi phát hiện một xung (high-to-low transition) của tín hiệu chân E.
Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiện cạnh lên (lowto-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mức
thấp.
Chân 7 – 14 : DB0 - DB7 có 2 chế độ sử dụng 8 đường bus này :
Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường từ DB0-DB7, với bit MSB là bit
DB7.
Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7.
Chân 15 : A Nguồn dương cho đèn nền.

Chân 16 : K GND cho đèn nền.
2.1.3. IC THỜI GIAN THỰC DS1307


13

ĐỒ ÁN 2

DS1307 là chip thời gian thực hay RTC (Read time clock). Chip này có 7 thanh ghi
8 bit mỗi thanh ghi này chứa : Thứ , ngày, tháng, năm, giờ , phút, giây. Đây là một
IC tích hợp cho thời gian bởi vì tính chính xác về thời gian tuyệt đối cho thời gian :
Thứ, ngày,tháng, năm, giờ, phút, giây. DS1307 là chế tạo bởi Dallas. Ngoài
ra DS1307 còn chứa 1 thanh ghi điều khiển ngõ ra phụ và 56 thanh ghi trống các
thanh ghi này có thể dùng như là RAM. DS1307 được đọc thông qua chuẩn truyền
thông I2C nên do đó để đọc được và ghi từ DS1307 thông qua chuẩn truyền thông
này. Nên cấu tạo bên ngoài nó rất đơn giản.

Hình 7: IC thời gian thực DS1307.


ĐỒ ÁN 2

14

Hình 8: Các chân của IC DS13077
Chip này có 8 chân và chúng ta hay dùng là dạng Dip và các chân nó được mô tả
như sau :
+ X1 và X2 là đầu vào dao động cho DS1307. Cần dao động thạch anh 32.768Khz.
+ Vbat là nguồn nuôi cho chip. Nguồn này từ ( 2V- 3.5V) ta lấy pin có nguồn 3V.
Đây là nguồn cho chip hoạt động liên tục khi không có nguồn Vcc mà DS1307 vẫn

hoạt động theo thời gian
+ Vcc là nguồn cho giao tiếp I2C. Điện áp cung cấp là 5V chuẩn và được dùng
chung với vi xử lý. Nếu mà Vcc không có mà Vbat có thì DS1307 vẫn hoạt động
bình thường nhưng mà không ghi và đọc được dữ liệu.
+ GND là nguồn Mass chung cho cả Vcc và Vbat
+ SQW/OUT là một ngõ ra phụ tạo xung dao động (xung vuông). Chân này tôi nghĩ
không ảnh hưởng đến thời gian thực nên chúng ta không sử dụng chân này trong
thời gian thực và bỏ trống chân này!
+ SCL và SDA là hai bus dữ liệu của DS1307. Thông tin truyền và ghi đều được
truyền qua 2 đường truyền này theo chuẩn I2C

Hình 9: Sơ đồ nguyên lý của IC DS1307

2.1.4. CÁC LINH KIỆN KHÁC


15

ĐỒ ÁN 2

Ngoài những linh kiện chính ở trên, mạch cần them những linh kiện khác sau đây:
-Còi báo 5v.
-Biến trở 10 kOhm.
-LM7805.
-Tụ 104pF,33pF,10uF,100uF.
-Điện trở 330 Ohm, 10 kOhm.
-Nút nhấn 2 chân.
-Thạch anh 20 MHz, 32 MHz.
-Đèn LED.
-Transistor C1815.

2.2. THIẾT KẾ CÁC KHỐI MẠCH
2.2.1. KHỐI NGUỐN 5V
Ta dùng IC ổn áp LM7805 để cấp nguồn 5V cho mạch theo nguyên lý. Chân 1 là
chân cấp nguồn vào, chân 2 nối đất, chân 3 là chân ngõ ra điện áp 5vdc. Từ đó ta
thiết kế được sơ đồ nguyên lý của khối nguồn 5V sau:


ĐỒ ÁN 2

16

Hình 10: Khối nguồn 5V

Hình 11: Sơ đồ các chân của LM7805.
Thông số kỹ thuật của LM7805:
- Công suất cực đại:2W. Dòng cực đại 1A.
- Một số điểm lưu ý khác:
- Áp lối ra có thể đạt giá trị nào đó trong khoảng 4.8--5.2 V. Nếu đo được áp là
4.85V thì không nên nói là IC bị hỏng. 7805 là ic ổn áp 5V cho ra điện áp 5VDC,
78xx là loại dòng IC dùng để ổn định điện áp dương đầu ra với điều kiện đầu vào
luôn luôn lớn hơn đầu ra 3V.
2.2.2. KHỐI VI ĐIỀU KHIỂN PIC16F877A


17

ĐỒ ÁN 2

Sử dụng vi xử lý PIC16F877A. Với thạch anh giao động 20Mhz để tạo xung nhịp
cho PIC. Nút nhấn K1 reset chip. Tụ C6 10u làm tụ Reset tự động cho vi xử lý khi

mới cấp nguồn. R7 10k là trở kéo cho chân Reset.
Sử dụng các chân RB0-RB3 làm ngõ vào của 4 nút điều chỉnh. Các chân RD4-RD7
kết nối đến DATA của LCD ở chế độ 4 bit, Chân RB6 làm chân RS chân RB7 làm
chân E điều khiển cho LCD. 2 chân RC3 (SCL) và RC4 (SDA) được hỗ trợ chuẩn
giao tiếp I2C dùng để giao tiếp với DS1307. Chân RE0 được dùng để kích hoạt còi
báo. Nguồn cấp chính từ khối nguồn 5V.

Hình 12: Khối vi điều khiển
2.2.3. KHỐI NÚT NHẤN
Sử dụng các nút nhấn một tiếp điểm để tạo mức thay đổi logic giúp vi điều khiển có
thể hiểu đươc khi ta tác động nhấn nút. Các điện trở R4 R5 R6 R8 là các điện trở


18

ĐỒ ÁN 2

kéo lên để xác định mức cao khi không nhấn nút. Các nút nhân K2,K3,K4,K5 khi
được nhấn sẽ kéo dẫn điện xuống mức 0. Với K2 dùng để chọn chỉnh thời gian, K3
dùng để tang giá trị , K4 dùng để giảm giá trị, K5 dùng để chọn chỉnh báo thức. Các
nút này có thể đễ dàng thay đổi chức năng cho nhau bằng cách sửa lại trong chương
trình.

Hình 13: Khối nút nhấn.
2.2.4. KHỐI THỜI GIAN THƯC DS1307
Sử dụng IC thời gian thực DS1307 với giao tiếp chuẩn I2C. Thạnh anh 32,768Hz
giúp tạo giao động chuẩn thời gian cho ic thời gian thực U2. Pin 3V3 dùng để cấp
nguồn cho IC thời gian thực vẫn chạy đúng giờ ngay cả khi mất điện. Các điện trở
kéo kên R1 và R2 có giá trị 4.7k để đáp ứng đúng theo chuẩn I2C. Thời gian sẽ
được chạy tự động trong U2. Các giá trị sẽ được vi điều khiển truy cập đọc và ghi

thông qua giao thức chuẩn I2C với 2 dây.


ĐỒ ÁN 2

19

Hình 14: Khối thời gian thực.
2.2.5. KHỐI HIỂN THỊ LCD.
Màn hình LCD 16X2 ở chế độ 4 bít kết nối và được điều khiển bơi vi xử lý. Các
chân 15 và 16 được cấp nguồn và cấp mass để sáng nên cho LCD. Biến trở 10K
được dùng để chỉnh độ tương phản của màn hình. Màn hình giúp hiển thị các ký tự
cơ bản trong bảng mã ASCII với 2 dòng và 16 cột.


20

ĐỒ ÁN 2

Hình 15: Khối hiển thị LCD.
2.2.6. KHỐI CÒI BÁO
Sử dụng còi báo LS1 buzzer để phát ra âm thanh, được cấp nguồn điều khiển bởi
Q1 C1815. Q1 dùng để nâng dòng điều khiển lên đến 1A, điền trở R3 là điện trở
phân cực cho Q1. Khi Q1 dược kích đẫn sẽ cấp nguồn cho còi báo. Vi điều khiển sẽ
phải cấp tín hiệu điều khiển mức cao thồng qua điện trở phân cự R3 để kích Q1 dẫn.
Dòng của Q1 C1815 có thể lên đến 50mA; Hệ số khuêch đại là 120
Vậy để C1815 dẫn bảo hòa thì Ib=Icmax/beta ; =50/120=0.41mA.
Điện trở Rb được tín Rb=Vbe/Ib ; =(5-0.7)/4.2=10k.



ĐỒ ÁN 2

21

Hình 16: Khối còi báo thứcCHƯƠNG 3: THIẾT KẾ MẠCH NGUYÊN LÝ VÀ
THI CÔNG MẠCH.
3.1. THIẾT KẾ MẠCH NGUYÊN LÝ
Sau khi thiết kế hoàn chỉnh các khối , ta tiến hành sắp xếp các khối lại với nhau
được mạch nguyên lý như hình sau:

Hình 17: Mạch nguyên lý đồng hồ điện tử
3.2. THIẾT KẾ MẠCH IN VÀ THI CÔNG MẠCH
Sau khi mô phỏng mạch nguyên lý thành công, ta tiến hành vẽ mạch in bằng phần
mềm proteus như sau:


ĐỒ ÁN 2

22

Hình 18: Sơ đồ mạch in
Sau khi vẽ mạch in ta tiến hành thi công sản phẩm:
- Chuẩn bị các linh kiện cần thiết.
- Chuẩn bị 1 Board đồng, bột sắt, cưa, bút lông,chì hàn,mỏ hàn…
-Tiến hành đo cắt board đồng vừa với mạch in, ủi mạch và ngâm mạch.
-Khoan và tiến hành lắp các linh kiện lên board. Chú ý khi lắp các linh kiện nên cẩn
thận để đúng chiều như ở sơ đồ nguyên lý.
- Hàn các linh kiện vào.



ĐỒ ÁN 2

23

Hình ảnh sau khi thi công:

Hinh 19: Mạch đồng hồ điện tử sau khi thi công


24

ĐỒ ÁN 2

CHƯƠNG 4: LƯU ĐỒ GIẢI THUẬT VÀ KẾT LUẬN
BẮT ĐẦU
KHỞI TẠO LCD

HIỂN THỊ MÀN HÌNH GIỚI THIỆU
TẠO THỜI GIAN TRỄ GIỚI THIỆU
NHẤN CHỈNH THỜI GIAN

Đ
S
ĐỌC THỜI GIAN TỪ RTC
CHUYỂN ĐỔI GIÁ TRỊ THỜI GIAN
HIỂN THỊ THỜI GIAN LÊN LCD
GIÂY THAY ĐỔI

Đ
S

SO SÁNH THỜI GIAN ĐỂ BẬT BÁO THỨC
CHỈNH THỜI GIAN

NHẤN CHỈNH THỜI GIAN
Đ
S
CHỈNH BÁO THỨC
ĐANG BÁO THỨC

SS
Đ

TẮT BÁO THỨC


25

ĐỒ ÁN 2

4.1. LƯU ĐỒ GIẢI THUẬT

4.2. KẾT LUẬN
Ưu điểm:
-Mạch đồng hồ điện tử sử dụng IC thời gian thực DS1307 hiển thị lên LCD đơn
giản, dễ sử dụng.
-Hiển thị chính xác thời gian thực kể cả khi mất nguồn.
-Có thể đặt báo thức tùy vào người sử dụng
Nhược điểm:
-Còn thô sơ, không tiện lợi khi mang theo, độ bền thấp.
-Vì màn hình LCD16x2 nhỏ nên không thể treo lên cao vì khó nhìn thấy.


4.3 ỨNG DỤNG VÀ PHÁT TRIỂN
Đồ án 2 là một bài tập lớn giúp cho sinh viên có thể phát triển tư duy,
sáng tạo và học thêm nhiều kiến thức
Mạch đồng hồ điện tử được sử dụng rộng rãi trong đời sống với tốc độ
phát triển kĩ thuật như hiên nay mạch đồng hồ điện tử sẽ ngày càng hoàng
chỉnh hơn ví dụ là có thêm báo nhiệt độ , áp suất, chống cháy….


×