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 PIC16F887 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 3 nút nhấn để thay đổi thời gian.
Trang 1LỜI NÓI ĐẦU
Ngày nay cùng với sự phát triển không ngừng của khoa học kỷ thuật, thì kỹthuật số cũng đã đem lại cho con người những thành tựu to lớn Ngày càng có nhiều sản phẩm kỷ thuật số ra đời, đáp ứng được nhiều nhu cầu lợi ích cho con người Hòa cùng xu hướng đó vi điều khiển đã khẳng định được vị thế vững chắccủa mình trong nhiều ứng dụng, điển hình là đồng hồ điện tử hiển thị lên mànhình LCD với độ chính xác gần như tuyệt đối thay thế cho đồng hồ cơ
Chính vì vậy nhóm chúng em đã chọn đề tài “THIẾT KẾ MẠCH ĐỒNG HỒ
THỜI GIAN THỰC SỬ DỤNG VI ĐIỀU KHIỂN PIC 16F887” để tìm hiểu
và nghiên cứu
Để hoàn thành đồ án “THIẾT KẾ MẠCH ĐỒNG HỒ THỜI GIAN
THỰC SỬ DỤNG VI ĐIỀU KHIỂN PIC 16F887” em xin chân thành cảm ơn
sự hướng dẫn tận tình của Thầy Trương Ngọc Anh – Giảng viên khoa Điện –Điện Tử, Trường Đại Học Sư Phạm Kỹ Thuật Tp.HCM Cùng với sự giúp đỡ tậntình của các thầy cô bộ môn và các bạn trong lớp đã giúp đỡ em hoàn thành tốt
đồ án này
Trong quá trình nghiên cứu, tìm hiểu về đề tài và thi công mạch khôngtránh khỏi những sai sót Em mong Thầy cùng các bạn góp ý để đề tài được hoànthiện hơn và có thể ứng dụng nhiều trong thực tế
Một lần nữa chúng em xin chân thành cảm ơn!
Trang 2MỤC LỤC
HỌC
*******
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
*******
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Trang 43.2.4 KHỐI THỜI GIAN THƯC DS1307
Danh mục hình ảnh
Hình 1.1: Mạch đồng hồ điện tử 1
Trang 5Hình 2.1: PIC 16F887 2
Hình 2.2: Sơ đồ chân PIC 16F887 4
Hình 2.3: Màn hình LCD 16x2 4
Hình 2.4: Sơ đồ chân của LCD 16x2 5
Hình 2.9: Cách đọc trị số điện trở 9
Hình 2.10: Ký hiệu tụ điện 9
Hình 2.11: Các ký hiệu biến trở 11
Hình 2.12: Biến trở .11
Hình 2.13: Sơ đồ các chân của IC LM7805 12
Hình 2.14: Bus I2C và các thiết bị ngoại vi 13
Hình 2.15 .13
Hình 2.16 .14
Hình 2.17 .15
Trang 6Hình 2.18 .16
Hình 2.19 .16
Hình 2.20 .17
Hình 3.1: Sơ đồ khối của hệ thống 19
Hình 3.2: Khối nguồn 5V 20
Hình 3.3: Adapter 5V 2A
16F887 22
Hình 3.5: Khối nút nhấn 23
Hình 3.6: Khối thời gian thực 24
Hình 3.7:Khối hiển thị LCD 25
Hình 3.8: Khối chuông báo 25
Hình 3.9: Sơ đồ nguyên lý toàn mạch 26
Hình 4.1: Hình ảnh kết nối các khối 28
Hình 4.2 .29
Trang 7DANH MỤC CÁC TỪ VIẾT TẮT
Tên vi t t t ết tắt ắt Tên ti ng Anh ết tắt Tên ti ng Vi t ết tắt ệt
(X p theo ABC) ết tắt
AC Alternative Cirrrent Dòng đi n xoay chi uện xoay chiều ều
DC Alternative Cirrrent Dòng đi n m t chi u ện xoay chiều ột chiều ều
IC Integrated Circuit M ch tích h p ạch tích hợp ợp
IoT Internet of Things M ng lạch tích hợp ưới thông minh i thông minh
k t n i máy tính và ết nối máy tính và ối máy tính và
Trang 8truy n thông n i ti p ều ối máy tính và ết nối máy tính và
OS Operating System H đi u hành ện xoay chiều ều
Communications
Công ngh giao ti p ện xoay chiều ết nối máy tính và
t m ng n ầu vào và ra với ắn CSS Cascading Style Sheets M t d ng file text v i ột chiều ạch tích hợp ới thông minh
ph n tên m r ng là ầu vào và ra với ở rộng là ột chiều css
PHP Hypertext Preprocessor Ngôn ng l p trình ữ lập trình ập trình
k ch b n ịnh vị toàn ản
Unit
Kh i vi đi u khi n ối máy tính và ều ển
Receiver – Transmitter
Truy n d li u n i ều ữ lập trình ện xoay chiều ối máy tính và
ti p b t đ ng b ết nối máy tính và ất đồng bộ ồng bộ ột chiều LCD Liquid Crystal Display Màn hình tinh th l ngển ỏng
Language
Ngôn ng đánh d u ữ lập trình ất đồng bộ siêu văn b n ản
Protocol
Giao th c truy n siêuức truyền siêu ềuvăn b n ản
ADC hay A/D Analog Digital Converter Chuy n đ i tín hi u ển ổng đầu vào và ra với ện xoay chiều
tươ bản ng t sang tín hi u ự sang tín hiệu ện xoay chiều
s ối máy tính và
Trang 10CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
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àygiờ 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 PIC16F887 là khối xử lý trung tâm Hiển thị lênLCD thời gian thực với bộ thời gian thực DS1307 Đồng thời có còi báo khi đếnthời gian cài đặt, với 3 nút nhấn để thay đổi thời gian
Hình 1.1: Mạch đồng hồ điện tử
1
Trang 11CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT
2.1 GIỚI THIỆU VỀ VI ĐIỀU KHIỂN 16F887
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” •
Cấu hình chung của vi điều khiển Pic16F887
Hình 2.1: PIC 16F887
Được hãng Microchip sản xuất, thuộc dòng PIC 16, có 5 port xuất nhập với 35lệnh đơn Thời gian thực hiện tất cả các lệnh là 1 chu kỳ máy, ngoại trừ lệnh rẽnhánh là hai lệnh
Bộ định thời chờ ổn định điện áp khi mới có điện ( Power up Timer – PWRT) và
bộ định thời chờ dao động hoạt động ổn định khi mới cấp điện ( Oscillator Star-up
2
Trang 12Timer – OST), bộ định thời giám sát ( Watchdog Timer –WDT) dùng dao độngtrong chip cho phép bằng phần mềm( có thể định thời lên đến 268 giây)
Cấu trúc nguồn công suất thấp:
▪ Chế độ chờ: dòng tiêu tán khoảng 50nA, sử dụng nguồn 2V
▪ Dòng hoạt động: 11𝜇𝐴 ở tần số 32kHz, nguồn 2V; 220𝜇𝐴 ở tần số4MHz, ngồn 2V
▪ Bộ định thời Watchdog Timer khi hoạt động tiêu thụ 1.4 , điện áp2V
Cấu trúc ngoại vi:
▪ Có 35 chân I/O cho phép lựa chọn hướng độc lập, mỗi ngõ có thểnhập/ cấp dòng lớn 25mA nên có thể trực tiếp điều khiển led, có các port báo ngắtkhi có thay đổi mức logic, port điện trở kéo lên có thể lập trình
▪ Có cá module so sánh tương tự, 2 bộ so sách điện áp tương tự
▪ Có 14 bộ chuyển đổi tương tự sang số với độ phân giải 10bit
▪ Timer0: 8 bit hoạt động định thời, đếm xung ngoại, bộ chia trước cóthể lập trình
▪ Timer 1: 16bit hoạt động định thời, đếm xung ngoại, bộ chia trước cóthể lập trình, bộ sao động công suất thấp 32kHz
▪ Timer 2: 8 bit hoạt động định thời với thanh ghi chu kì, có bộ chiatrước và chia sau
▪ Module capture, compare và điều chế PWM
▪ Lập trình I2C thông qua 2 chân, module truyền dữ liệu nối tiếp đồng
bộ MSSP hỗ trợ chuẩn truyền 3 dây SPI, chuẩn I2C ở chế độ chủ và tớ
• Sơ đồ chân của PIC 16F887
Sơ đồ chân của PIC 16F887 được trình bày rõ ở hình 3 dưới đây
3
Trang 13Hình 2.2: Sơ đồ chân PIC 16F887
2.2 MÀN HÌNH LCD 16x2
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ồ thời gian thực ta chọn LCD 16x2 Sau đây là hình ảnh thực tế của LCD16x2:
Hình 2.3: Màn hình LCD 16x2
LCD 16x2 đã đượ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:
4
Trang 14Hình 2.4: Sơ đồ chân của LCD 16x2
Chức năng từng chân của LCD 16x2
Chân 1 : VSS Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với GNDcủa mạch điều khiển
Chân 2 : VCC Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này vớiVCC = 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 busDB0DB7, 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êntrong 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 Exuố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
5
Trang 15Chế độ 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.3 IC THỜI GIAN THỰC DS1307
DS1307 là chip thời gian thực hay RTC (Read time clock) Chip này có 7 thanhghi 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 chothờ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 ghitrống các thanh ghi này có thể dùng như là RAM DS1307 được đọc thông quachuẩn truyền thông I2C nên do đó để đọc được và ghi từ DS1307 thông quachuẩ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 2.5: IC thời gian thực DS1307
Hình 2.6: Sơ đồ chân IC DS1307
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:
6
Trang 16+ 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 đượctruyền qua 2 đường truyền này theo chuẩn I2C
Hình 2.7: Sơ đồ nguyên lý của IC DS1307
Trang 17𝑅 = 𝐼Trong đó:
+ U là hiệu điện thế giữa hai đầu vật dẫn, đơn vị Volt (V)
+ I là cường độ dòng điện đi qua vật dẫn, đơn vị Ampe (A)
+ R là điện trở vật dẫn, đơn vị Ohm (Ω) )
Hình 2.8: Điện trở
• Cách đọc giá trị điện trở
Quy ước màu quốc tế :
Trang 18Trắng 9
Bảng: Màu sắc và giá trị điện trở
+ Cách đọc trị số điện trở 4 vòng màu được mô tả qua hình 2.25 sau đây:
Hình 2.9: Cách đọc trị số điện trở
2.5 TỤ ĐIỆN
Tụ điện là một loại linh kiện điện tử thụ động tạo bởi hai bề mặt dẫn điệnđược ngăn cách bởi điện môi Khi có chênh lệch điện thếtại hai bề mặt, tại các bềmặt sẽ xuất hiện điện tíchcùng điện lượng nhưng trái dấu
Hình 2.10: Ký hiệu tụ điện
Sự tích tụ của điện tích trên hai bề mặt tạo ra khả năng tích trữ năng lượngđiện trường của tụ điện Khi chênh lệch điện thế trên hai bề mặt là điện thế xoay
9
Trang 19chiều, sự tích luỹ điện tích bị chậm pha so với điện áp, tạo nên trở kháng của tụđiện trong mạch điện xoay chiều
Điện dung là đại lượng vật lý nói lên khả năng tích điện giữa hai bản cực
của tụ điện, điện dung của tụ điện phụ thuộc vào diện tích bản cực, vật liệu làmchất điện môi và khoảng cách giữ hai bản cực theo công thức:
𝑆
ξ×ξ0
𝑑
Trong đó,
• ε0: Là hằng số điện thẩm;
• S: là diện tích bản cực của tụ điện
Đơn vị của đại lượng điện dung là Fara [F]
Tụ điện có nhiều loại: Tụ điện phân cực (Hầu hết là tụ hoá, có phân cựcdương âm rõ rang khi nối phải nối đúng cực), tụ điện không phân cực (tụ giấy, tụgốm, tụ mica, không xác định cực tính), tụ có giá trị biến đổi( tụ xoay, có thể thayđổi giá trị điện dung)
2.6 BIẾN TRỞ
Biến trở là các thiết bị có điện trở thuần có thể biến đổi được theo ý muốn.Chúng có thể được sử dụng trong các mạch điện để điều chỉnh hoạt động củamạch điện
Điện trở của thiết bị có thể được thay đổi bằng cách thay đổi chiều dài củadây dẫn điện trong thiết bị, hoặc bằng các tác động khác như nhiệt độ thay đổi,ánh sáng hoặc bức xạ điện từ,
10
Trang 20Ký hiệu biến trở:
Hình 2.11: Các ký hiệu biến trở
Hình 2.12: Biến trở
2.7 IC 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
Hình 2.13: Sơ đồ các chân của IC LM7805
11
Trang 212.9 GIAO TIẾP I2C
Đầu năm 1980 Phillips đã phát triển một chuẩn giao tiếp nối tiếp 2 dây được gọi
là I2C I2C là tên viết tắt của cụm từ Inter-Intergrated Circuit Đây là đường Busgiao tiếp giữa các IC với nhau I2C mặc dù được phát triển bới Philips, nhưng nó
đã được rất nhiều nhà sản xuất IC trên thế giới sử dụng I2C trở thành một chuẩncông nghiệp cho các giao tiếp điều khiển, có thể kể ra đây một vài tên tuổi ngoàiPhilips như: Texas Intrument(TI), MaximDallas, analog Device, NationalSemiconductor Bus I2C được sử dụng làm bus giao tiếp ngoại vi cho rất nhiềuloại IC khác nhau như các loại Vi điều khiển 8051, PIC, AVR, ARM chip nhớnhư: RAM tĩnh (Static Ram), EEPROM, bộ chuyển đổi tương tự số (ADC), sốtương tự(DAC), IC điểu khiển LCD
Hình 2.14: Bus I2C và các thiết bị ngoại vi 2.9.1.
Đặc điểm giao tiếp I2C
Một giao tiếp I2C gồm có 2 dây: Serial Data (SDA) và Serial Clock (SCL) SDA
là đường truyền dữ liệu 2 hướng, còn SCL là đường truyền xung đồng hồ để
12
Trang 22đồng bộ và chỉ theo một hướng Như ta thấy trên hình vẽ trên, khi một thiết bịngoại vi kết nối vào đường bus I2C thì chân SDA của nó sẽ nối với dây SDA củabus, chân SCL sẽ nối với dây SCL
Một thiết bị hay một IC khi kết nối với bus I2C, ngoài một địa chỉ (duy nhất) đểphân biệt, nó còn được cấu hình là thiết bị chủ hay tớ Tại sao lại có sự phân biệtnày ? Đó là vì trên một bus I2C thì quyền điều khiển thuộc về thiết bị chủ Thiết
bị chủ nắm vai trò tạo xung đồng hồ cho toàn hệ thống, khi giữa hai thiết bị chủ
tớ giao tiếp thì thiết bị chủ có nhiệm vụ tạo xung đồng hồ và quản lý địa chỉ củathiết bị tớ trong suốt quá trình giao tiếp Thiết bị chủ giữ vai trò chủ động, cònthiết bị tớ giữ vai trò bị động trong việc giao tiếp
Hình 2.15
Tốc độ truyền
Chế độ tiêu chuẩn:
Đây là chế độ tiêu chuẩn ban đầu được phát hành vào đầu những năm 80
Nó có tốc độ dữ liệu tối đa 100kbps Nó sử
dụng 7-bit địa chỉ, và 112 địa chỉ tớ Tăng
cường chế độ nhanh:
Tốc độ dữ liệu tối đa được tăng lên đến 400 kbps
Để ngăn chặn gai tiếng ồn, Ngõ vào của thiết bị Fast-mode là Schmitt-triggered Chân SCL và SDA của một thiết bị tớ I²C ở trạng thái trở kháng cao khi khôngcấp nguồn Chế độ cao tốc:
13
Trang 23Chế độ này đã được tạo ra chủ yếu để tăng tốc độ dữ liệu lên đến 36 lần nhanhhơn so với chế độ tiêu chuẩn Nó cung cấp 1,7 Mbps (với Cb = 400 pF), và3.4Mbps (với C> b = 100pF)
Trình tự truyền bit
Hình 2.16
Thiết bị chủ tạo một điều kiện start Điều kiện này thông báo cho tất cả các thiết bị
tớ lắng nghe dữ liệu trên đường truyền
Thiết bị chủ gởi địa chỉ của thiết bị tớ mà thiết bị chủ muốn giao tiếp và cờđọc/ghi dữ liệụ (nếu cờ thiết lập lên 1 byte tiếp theo được truyền từ thiết bị tớ đếnthiết bị chủ, nếu cờ thiết lập xuống 0 thì byte tiếp theo truyền từ thiết bị chủ đếnthiết bị tớ)
Khi thiết bị tớ trên bus I2C có địa chỉ đúng với địa chỉ mà thiết bị chủ gửi sẻ phảnhồi lại bằng một xung ACK
Giao tiếp giữa thiết bị chủ và tớ trên bus dữ liệu bắt đầu Cả chủ và tớ đều có thểnhận hoặc truyền dữ liệu tùy thuộc vào việc truyền thông là đọc hay viết Bộtruyền gửi 8 bit dữ liệu tới bộ nhận, Bộ nhận trả lời với một bit ACK Để kết thúc
quá trình giao tiếp, thiết bị chủ tạo ra một điều kiện stop
Điều kiện START và STOP
14
Trang 24Hình 2.17
Điều kiện START: một sự chuyển đồi trạng thái từ cao xuống thấp trên đườngSDA trong khi đường SCL đang ở mức cao (cao = 1; thấp = 0) báo hiệu một điềukiện START
Đỉều kiện STOP: Một sự chuyển đổi trạng thái từ mức thấp lên cao trên đườngSDA trong khi đường SCL đang ở mức cao Cả hai điều kiện START và STOPđều được tạo ra bởi thiết bị chủ Sau tín hiệu START, bus I2C coi như đang trongtrạng thái làm việc (busy) Bus I2C sẽ rỗi, sẳn sàng cho một giao tiếp mới sau tínhiệu STOP từ phía thiết bị chủ
Truyền dữ liệu trên bus I2C, chế độ Master – Slave
Việc truyền dữ liệu diễn ra giữa con chủ và con tớ Dữ liệu truyền có thể theo 2hướng, từ chủ đến tớ hay ngược lại Hướng truyền được quy định bởi bit thứ 8 R/
W trong byte đầu tiên (byte địa chỉ) được truyền đi