lOMoARcPSD| 61554836
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỂN THÔNG
----------
BÁO CÁO VI XỬ LÝ
Đề tài
MẠCH HIỂN THỊ THỜI GIAN VÀ NHIỆT ĐỘ
Nhóm sinh viên: Nguyễn Văn Khôi – 20142365
Trịnh Minh Tuấn – 20134343
Bùi Văn Long – 20155967
Văn Minh - 20146484
Giáo viên hướng dẫn: TS Nguyễn Hoàng Dũng
Hà Nội, tháng 11/2017
LỜI MỞ ĐẦU
Thiết bị điện tử đã và đang trở thành một công cụ đắc lực cho con người trong
nhiều lĩnh vực đời sống xã hội. Đời sống càng hiện đại thì càng không thể thiếu thiết bị
này. Đặc biệt trong tính toán, xử lý và đo đạc, nó càng tỏ ra vượt trội hơn so với công cụ
truyền thống như bàn tính, thước kẻ,.,.
Thói quen mỗi ngày của rất nhiều người là xem Thời gian, Thời tiết. Nên nhóm
chúng em muốn thiết kế một hệ thống đáp ứng nhu cầu này.
Dưới sự hướng dẫn của TS Nguyễn Hoàng Dũng, chúng em xin thực hiện đề tài:
“Mạch hiển thị thời gian và nhiệt độ”.
Sau thời thời gian nỗ lực không ngừng trong học tập cũng như được sự chỉ dẫn
nhiệt tình của Thầy, chúng em đã hoàn thành đề tài, do trình độ hiểu biết còn nhiều hạn chế
nên đề tài còn nhều thiếu sót, rất mong được sự góp ý của Thầy để đề tài của chúng em
được hoàn thiện hơn.
Chúng em xin chân thành cảm ơn.
MỤC LỤC
LỜI MỞ ĐẦU.......................................................................................................................2
MỤC LỤC..........................................................................................................................3
DANH SÁCH HÌNH VẼ...................................................................................................4
NỘI DUNG...........................................................................................................................5
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI......................................................................5
1.1. Tổng quan về đề tài.................................................................................................5
1.2. Yêu cầu chức năng..................................................................................................5
CHƯƠNG 2: THIẾT KẾ VÀ TÍNH TOÁN CHO HỆ THỐNG.................................6
2.1. Sơ đồ khối của mạch...............................................................................................6
2.2. Phân tích và tính toán phần cứng............................................................................6
2.2.1. Vi xử lý Atmega16...........................................................................................6
2.2.2. Cảm tạo thời gian thực.....................................................................................9
2.2.3. Màn LCD 16x2..............................................................................................14
2.2.4. Cảm biến nhiệt độ LM35...............................................................................16
2.2.5. Khối nguồn.....................................................................................................17
2.3. Sơ đồ nguyên lý.........................................................................................................18
CHƯƠNG 3: XÂY DỰNG LƯU ĐỒ GIẢI THUẬT VÀ HOÀN THÀNH SẢN
PHẨM..............................................................................................................................19
3.1. Lưu đồ thuật toán..................................................................................................19
3.2. Hoàn thành sản phẩm............................................................................................20
KẾT LUẬN.........................................................................................................................20
TÀI LIỆU THAM KHẢO................................................................................................20
SOURCE CODE..............................................................................................................21
DANH SÁCH HÌNH VẼ
Hình 2. 1 Sơ đồ khối của mạch..............................................................................................6
Hình 2. 2 Sơ đồ chân ATmega16...........................................................................................8
Hình 2. 3 Khối tạo thời gian thực...........................................................................................9
Hình 2. 4 Sơ đồ chân của DS1307.........................................................................................9
Hình 2. 5 Sơ đồ địa chỉa RAM.............................................................................................11
Hình 2. 6 Sơ đồ đồng bộ......................................................................................................12
Hình 2. 7 Bus IC và các thiết bị ngoại vi.............................................................................13
Hình 2. 8Kết nối thiết bị vào Bus.........................................................................................13
Hình 2. 9 Truyền nhận dữ liệu chủ tớ..................................................................................13
Hình 2. 10 Màn LCD thực tế................................................................................................14
Hình 2. 11 Sơ đồ chân LCD.................................................................................................14
Hình 2. 12 LM35 thực tế......................................................................................................17
Hình 2. 13 Sơ đồ chân LM35...............................................................................................17
Hình 2. 14 Sơ đồ khối nguồn...............................................................................................17
Hình 2. 15 Sơ đồ nguyên lý..................................................................................................18
NỘI DUNG
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1. Tổng quan về đề tài
Mạch đo sử dụng ghép nối các linh kiện điện tử với nhau, bao gồm các nhóm chính
là vi xử lý, cảm biến, linh kiện chủ động. Mạch có thể đo được là nhờ vào các cảm biến để
cảm nhận những trạng thái, quá trình vật lý và hóa học ở môi trường xung quanh. Từ đó
biến đổi tín hiệu tương tự thành tín hiệu điện để thu thập thông tin đưa về vi xử lý. Vi xử
lý có thể được lập trình để xử lý các tín hiệu điện thu được, và từ đó xuất đi các dạng tín
hiệu điện khác đến các thiết bị ngoại vi, ví dụ như LCD để hiển thị trực quan.
Mạch hiển thị thời gian và nhiệt độ là một đề tài có thể nói là cũ, nhưng không vì thế
mà nó mất đi giá trị trong việc thiết kế và triển khai sản phẩm thực tế. Trên thị trường có
rất nhiều lựa chọn về linh kiện đáp ứng yêu cầu chức năng của sản phẩm, nên việc thiết kế
và áp dụng cũng sẽ khác nhau ít nhiều. Từ đó sinh viên có cơ hội tìm tòi và thử nghiệm các
giải pháp. Đề tài tuy đơn giản nhưng đã bao quát được rất nhiều kiến thức có thể học được
từ quá trình thực hiện.
1.2. Yêu cầu chức năng
Đo nhiệt độ môi trường
Xem giờ,phút
Xem ngày, tháng
Hiển thị các giá trị trên màn LCD
Với yêu cầu về tính năng như trên, chúng em chọn các thiết bị chính:
Vi điều khiển Atmega16 xử lý thông tin, đọc-xuất dữ liệu
Màn hình LCD 16x2 với mục đích hiển thị thông tin, giao tiếp vi điều khiển với
người dùng.
Cảm biến nhiệt độ LM35
Software: sử dụng ngôn ngữ lập trình CodeVision AVR để lập trình điều khiển.
CHƯƠNG 2: THIẾT KẾ TÍNH TOÁN CHO HỆ THỐNG
2.2. Phân tích và tính toán phần cứng
2.2.1. Vi xử lý Atmega16
Atmega16 có cấu trúc RISC với: o 131 lệnh,hầu hết được thực thi trong 1 chu kì
xung nhịp.
o 32x8 thanh ghi đa dụng o Full static operation o Tốc độ
làm việc 16MPIS,với thạch anh 16MHz
o Trong chip co 2 chức năng hỗ trợ gỡ rối và lập trình chương
trình
Bộ nhớ:
o 16 KB ISP Flash với khả năng 10.000lần ghi/xóa
o 512Byte EEROM o 1KB SRAM ngọai
Giao tiếp JTAG
o Khả năng quét toàn diện theo chuẩn JTAG
2.1
. Sơ đồ khối của mạch
Hình 2. 1 Sơ đồ khối của mạch
Cảm biến
LM35
Màn Hình Hiển Thị LCD
16
2
Khối thời gian thực
o Hỗ trợ khả năng gỡ rối o Hỗ trợ lập trình
Flash,EEROM,fuse… o Lock bit qua giao tiếp
JTAG
Ngọai vi:
o 2 timer/counter 8 bit với các mode :so sánh và chia tần số o 1
timer/counter 16 bit với các mode:so sánh,chia tần số,capture,PWM o
1 timer thời gian thực(Real time clock) với bộ dao động riêng
biệt o 4 kênh PWM(họăc nhiều hơn trong các VĐK khác thuộc họ
này) o 8 kênh biến đổi ADC 10bit o Hỗ trợ giao tiếp I2C o Bộ giao
giao tiếp nối tiếp lập trình được USART o Giao tiếp SPI
o Watch_dog timer với bộ dao động on-chip riêng biệt
Những thuộc tính đặc biệt:
o Power On reset và Brown-out detection o chế độ hiệu chỉnh bộ
sai số cho bộ dao động RC On-chip o Các chế độ ngắt
ngòai và trong đa dạng
o 6 mode sleep:Idle,ADC noise reduction,tiết kiệm năng
lượng,power-down, standby,extended standby
I/O port:
o 32 chân I/O(Atmega16) và 21 chân I/O (Atmega8) lập trình được o
vỏ 40 chaân (Atmega16) ,28 chân(Atmega8),64 chân(AT90can128);
Nguồn cấp:
o 2,7->5.5 V với ATmega16L o
4.5->5.5V với ATmega16H
Tiêu hao năng lượng:
o Khi họat động tiêu thụ dòng 1,1mA o Ở mode
Idle tiêu thụ dòng 0.35mA
o Ở chế độ Power_down tiêu thụ dòng nhỏ hơn 1uA *
Đây là những chức năng cơ bản thường thấy trong các
Vi điều khiển AVR,ngòai ra trong các vi điều khiển khác
thuộc dòng vi điều khiển này thì thường được hỗ trợ
thêm
những chức năng đặc biệt.Ví dụ AT90can128 hỗ trợ thêm bộ giao tiếp mạng
Can bus on-chip
Các phần mềm lập trình cho AVR:
o AVRStuido (free), Code Vision. Các phần mềm này có hỗ trợ phần nạp
và debug on chip o Ngoài ra có thể dùng chương trình nạp PonyProg2000,
Winpic800...
Hình 2. 2 Sơ đồ chân ATmega16
Chọn cổng ADC cho LM35 nối với chân PA.0
Chọn cổng kết nối DS1307 o Chân PC0
nối với chân SCL o Chân PC1 nối với chân
SDA
Chọn cổng LCD:
o Các chân từ PD0 => PD3 của nối với các chân dữ liệu D7 => D4
của LCD o Chân PD4 nối với chân cho phép E (enable) của LCD. o
Chân PD5 nối với chân RW. o Chân PD6 nối với chân RS.
Chọn cổng kết nối nút nhấn
o Chân PC2 nối với nút DOWN o Chân PC3 nối với … o Chân
PC4 nối với nút MODE o Chân PC5 nối với nút SET o Chân PC6
nối với nút UP
2.2.2. Khối tạo thời gian thực
Hình 2. 3 Khối tạo thời gian thực
DS1307 là IC thời gian thực với nguồn cung cấp nhỏ để (sử dụng pin 3V)
cập nhật thời gian và ngày tháng. DS1307 có 7 byte dữ liệu, 1 byte điều khiển và 56
byte lưu trữ dành cho người sử dụng.
DS1307 hoạt động với vai trò slave trên đường bus nối tiếp, việc truy cập
được thi hành chỉ với chỉ thị start và một mã thiết bị nhất định được cung cấp bởi
địa chỉ các thanh ghi. Tiếp theo đó là thanh ghi được truy cập liên tục cho đến chỉ
thị stop được thực thi.
Hình 2. 4 Sơ đồ chân của DS1307
Vcc: nối với nguồn
X1,X2: nối với thạch anh 32,768 Khz
Vbat: đầu vào pin 3V
GND: nối Mass
SDA: chuỗi data
SCL: dãy xung clock
DS1307 có 56 byte SRAM, dữ liệu được truyền và nhận qua đường Bus 2
chiều, nó cung cấp thông tin về giờ-phút-giây, ngày-tháng-năm.Chân số 7 của IC
DS1307 là chân SQW/OUT. Đây là chân đo xung của DS1307 hoạt động ở 4 chế độ
1Hz, 4.096Hz, 8.192Hz, 32.768Hz. Các chế độ này được quy định bởi thanh ghi
Control register.
Chân Vcc: đầu vào là 5V DC giúp IC hoạt động, IC có thể được truy cập và
dữ liệu có thể đọc và viết.
Chân nguồn pin 3V được cấp vào và Vcc nhỏ hơn 1.25 Vbat thì quá trình đọc và
viết không được thực thi tuy nhiên chức năng timekeeper không bị ảnh hưởng bởi
điện áp vào thấp. Khi Vcc<Vbat thì RAM và Timekeeper sẽ được chuyển tới nguồn
cung cấp trong(thường là nguồn Pin 3V).
Chân SCL(Serial clock input) : SCL được sử dụng để đồng bộ sự chuyển dữ
liệu trên đường dây nối tiếp.
Chân SDA(Serial dât input/out): là chân vào ra cho 2 đường nối tiếp, chân SDA
thiết kế theo kiểu cực máng hở, đòi hỏi phải có một điện trở kéo trong khi hoạt
động.
Hai chân X1,X2 được nối với thạch anh tần số 32.768Khz, là một mạch tạo
dao động ngoài, để mạch hoạt động ổn định thì cần phải mắc thêm 2 tụ *Sơ đồ địa
chỉ RAM và RTC:
Hình 2. 5 Sơ đồ địa chỉa RAM
Thông tin về thời gian và ngày tháng được lấy ra bằng cách đọc các byte
thanh ghi thích hợp. Thời gian và ngày tháng được thiết lập cũng thông qua các byte
thanh ghi này bằng cách viết vào đó những giá trị thích hợp. Nội dụng của các thanh
ghi dưới dạng mã BCD.Bit 7 của thanh ghi Second là bit clock haft(CH), khi bit này
được thiết lập 1 thì dao động disable, khi nó được xóa về 0 thì giao động enable.
DS1307 có thể chạy được ở chế độ 24h hay 12h.Bit thứ 6 của thanh ghi
hours là bit chọn chế độ 24h hoặc 12h.
Trong quá trình truy cập dữ liệu, khi chỉ thị START được thực thi thì dòng
thời gian được truyền tới 1 thanh ghi thứ 2, thông tin thời gian sẽ được đọc từ thanh
ghi thứ cấp này.Trong khi đó đồng hồ vẫn tiếp tục chạy.DS1307 hỗ trợ Bus 2 dây 2
chiều và giao thức truyền dữ liệu.Thiết bị gửi dữ liệu lên Bus được gọi là bộ phát và
thiết bị nhận dữ liệu gọi là bộ thu.Thiết bị điều khiển quá trình này gọi là Master.
Thiết bị nhận sự điều khiển của Master gọi là Slave. Các Bus nhận sự điều khiển
của Master là thiết bị phát ra chuỗi xung clock (SCL). Master sẽ điều khiển sự truy
cập Bus, tạo ra các chỉ thị START-STOP.
*Sự truyền nhận dữ liệu trên chuỗi Bus 2 dây: tùy thuộc vào bit R/W mà hai loại
truyền dữ liệu sẽ được thực thi.
Truyền dữ liệu từ Master truyền và Slave nhận: Master sẽ truyền Byte đầu
tiên là địa chỉ của Slave, tiếp theo đó là các byte dữ liệu.Slave sẽ gửi lại bit thông
báo đã nhận được ( Bit acknowledge) sau mỗi byte dữ liệu nhận được. Dữ liệu sẽ
truyền từ bit có giá trị nhất(MSB).
Truyền dữ liệu từ Slave và Master nhận: byte đầu tiên (địa chỉ của Slave)
được truyền tới Slave bởi Master. Sau đó Slave sẽ gửi lại Master bit
acknowledge,tiếp theo đó Slave sẽ gửi các byte dữ liệu tới master.Master sẽ gửi cho
Slave các bit acknowledge sau mỗi byte nhận được trừ byte cuối cùng, sau khi nhận
được byte cuối cùng thì bit acknowledge sẽ không được gửi.
Hình 2. 6 Sơ đồ đồng bộ
*Lý thuyết I2C có 2 dây: Serial data(SDA) và Serial clock(SCL).SDA là đường
truyền dữ liệu hai hướng và SCL là đường truyền xung đồng hồ và chỉ theo một
hướng.
Hình 2. 7 Bus IC và các thiết bị ngoại vi
Như hình ở trên, một khi thiết bị ngoại vi kết nối với Bus I2C thì chân SDA
của nó sẽ nối với dây SDA của Bus, chân SCL sẽ nối với dây SCL của Bus.
Hình 2. 8Kết nối thiết bị vào Bus
Mỗi dây hay SCL đều được nối với điện áp dương của nguồn cấp thông qua
một điện trở kéo lên.Sự cần thiết của các điện trở kéo này là vì chân giao tiếp của
các thiết bị ngoại vi thường ở dạng cực máng hở. Giá trị của các điện trở này khác
nhau tùy thuộc vào từng thiết bị và chuẩn giao tiếp. thường giao động trong khoảng
1Kđến 4.7KΩ.
Hình 2. 9 Truyền nhận dữ liệu chủ tớ
Một Bus I2C chuẩn truyền 8 bit dữ liệu có hướng trên đường truyền với tốc
độ là 100Kbit/S-Chế độ chuẩn(Standard Mode).Tốc độ truyền có thể lên tới
400Kbit/S-Chế độ nhanh(Fasst Mode) và cao nhất là 3.4Mbit/S-Chế độ cao
tốc(high-Speed Mode).
2.2.3. Màn LCD 16x2
Hình dáng và kích thước: Có rất nhiều loại LCD với nhiều hình dáng và kích thước
khác nhau, trên hình 1 là hai loại LCD thông dụng.
Hình 2. 10 Màn LCD thực tế
Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (HD44780) bên trong lớp vỏ
và chỉ đưa các chân giao tiếp cần thiết. Các chân này được đánh số thứ tự và đặt tên như
bên dưới :
Hình 2. 11 Sơ đồ chân LCD
Chức năng các chân:
Chân số
Tên
Chức năng
1
Vss
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
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
3
Vee
Chân này dùng để điều chỉnh độ tương phản của LCD.
4
Rs
Chân chọn thanh ghi (Register select). Nối chân RS với logic
“0” (GND) hoặc logic “1” (VCC) để chọn thanh ghi.
+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR
của LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ
của LCD (ở chế độ “đọc” - read)
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu
DR bên trong LCD.
5
R/w
Chân chọn chế độ đọc/ghi (Read/Write). Nối chân R/W với
logic “0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic
“1” để LCD ở chế độ đọc.
6
E
Chân cho phép (Enable). Sau khi các tín hiệu được đặt lên
bus DB0-DB7, 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 (low-to-high transition) ở chân E và được
LCD giữ ở bus đến khi nào chân E xuống mức thấp.
7-14
DB0-
DB7
m đường của bus dữ liệu dùng để trao đổi thông tin với
MPU. 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, 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
Các thanh ghi :
Chíp HD44780 có 2 thanh ghi 8 bit quan trọng : Thanh ghi lệnh IR (Instructor Register) và
thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR : Để điều khiển LCD, người dùng phải “ra lệnh” thông qua tám
đường bus DB0-DB7. Mỗi lệnh được nhà sản xuất LCD đánh địa chỉ rõ ràng. Người dùng
chỉ việc cung cấp địa chỉ lệnh bằng cách nạp vào thanh ghi IR. Nghĩa là, khi ta nạp vào
thanh ghi IR một chuỗi 8 bit, chíp HD44780 sẽ tra bảng mã lệnh tại địa chỉ mà IR cung cấp
và thực hiện lệnh đó.
VD : Lệnh “hiển thị màn hình” có địa chỉ lệnh là 00001100 (DB7…DB0)
Lệnh “hiển thị màn hình và con trỏ” có mã lệnh là 00001110
- Thanh ghi DR : Thanh ghi DR dùng để chứa dữ liệu 8 bit để ghi vào vùng RAM
DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dùng để chứa dữ liệu từ 2 vùng RAM này gởi
ra cho MPU (ở chế độ đọc). Nghĩa là, khi MPU ghi thông tin vào DR, mạch nội bên trong
chíp sẽ tự động ghi thông tin này vào DDRAM hoặc CGRAM. Hoặc khi thông tin về địa
chỉ được ghi vào IR, dữ liệu ở địa chỉ này trong vùng RAM nội của HD44780 sẽ được
chuyển ra DR để truyền cho MPU. Bằng cách điều khiển chân RS và R/W chúng ta có thể
chuyển qua lại giữ 2 thanh ghi này khi giao tiếp với MPU. Bảng sau đây tóm tắt lại các
thiết lập đối với hai chân RS và R/W theo mục đích giao tiếp.
RS
R/W
Khi cần
0
0
Ghi vào thanh ghi RS để ra lệnh cho thanh ghi
0
1
Đọc cờ bận ở DB7 và giá trị của bộ đếm địa chỉ ở DB0-DB6
1
0
Ghi vào thanh ghi DR
1
1
Đọc dữ liệu từ DR
Trong chương trình sử dụng LCD ở chế độ 4bit.
2.2.4. Cảm biến nhiệt độ LM35
LM35 là một cảm biến nhiệt độ analog
Nhiệt độ được xác định bằng cách đo hiệu điện thế ngõ ra của LM35.
→ Đơn vị nhiệt độ: °C.
→ Nhiệt độ thay đổi tuyến tính: 10mV/°C2.2.5
Hình 2. 13 Sơ đồ chân LM35
LM35 không cần phải canh chỉnh nhiệt độ khi sử dụng.
Hình 2. 12 LM35 thực tế
Độ chính xác thực tế: 1/4°C ở nhiệt độ phòng và 3/4°C ngoài khoảng -55°C tới
150°C
LM35 có hiệu năng cao, công suất tiêu thụ là 60uA
Cảm biến LM35 hoạt động bằng cách cho ra một giá trị hiệu điện thế nhất định tại
chân Vout (chân giữa) ứng với mỗi mức nhiệt độ.
LM35 thay đổi nhiệt độ nhanh và chính xác.
2.2.5. Khối nguồn
Cung cấp nguồn ổn định 5V cho Vi điều khiển còn đối với DS1307 ta dùng
nguồn nuôi bằng Pin Cmos 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
Hình 2. 14 Sơ đồ khối nguồn
2.3. Sơ đồ nguyên lý
Hình 2. 15 Sơ đồ nguyên lý
Bảng giá thành linh kiện dự kiến
Tên linh kiện
Số lượng
Giá thành
Atmega16
1
55k
LCD16x2A
1
35k
LM35
1
20k
Tụ gốm 104
2
200
Tụ gốm 22
2
200
Điện trở
3
500
Nút nhấn
5
5k
Adapter 5V 1A
1
27k
Thạch anh 32.768kHz
1
2k
Biến trở
1
2k
Jack DC 5.5
1
1k
DS1307
1
8k
Pin 3V và đế pin
1
6k
Tổng
162k
CHƯƠNG 3: XÂY DỰNG LƯU ĐỒ GIẢI THUẬT VÀ HOÀN THÀNH SẢN PHẨM
3.1. Lưu đồ thuật toán
3.2. Hoàn thành sản phẩm
Dùng phần mềm Altium để thiết kế mạch in:
Và sản phẩm cuối cùng sau khi hàn ghép các linh kiện
KẾT LUẬN

Preview text:

lOMoAR cPSD| 61554836
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỂN THÔNG
---------- BÁO CÁO VI XỬ LÝ Đề tài
MẠCH HIỂN THỊ THỜI GIAN VÀ NHIỆT ĐỘ
Nhóm sinh viên: Nguyễn Văn Khôi – 20142365
Trịnh Minh Tuấn – 20134343
Bùi Văn Long – 20155967
Lê Văn Minh - 20146484
Giáo viên hướng dẫn: TS Nguyễn Hoàng Dũng
Hà Nội, tháng 11/2017 LỜI MỞ ĐẦU
Thiết bị điện tử đã và đang trở thành một công cụ đắc lực cho con người trong
nhiều lĩnh vực đời sống xã hội. Đời sống càng hiện đại thì càng không thể thiếu thiết bị
này. Đặc biệt trong tính toán, xử lý và đo đạc, nó càng tỏ ra vượt trội hơn so với công cụ
truyền thống như bàn tính, thước kẻ,.,.
Thói quen mỗi ngày của rất nhiều người là xem Thời gian, Thời tiết. Nên nhóm
chúng em muốn thiết kế một hệ thống đáp ứng nhu cầu này.
Dưới sự hướng dẫn của TS Nguyễn Hoàng Dũng, chúng em xin thực hiện đề tài:
“Mạch hiển thị thời gian và nhiệt độ”.
Sau thời thời gian nỗ lực không ngừng trong học tập cũng như được sự chỉ dẫn
nhiệt tình của Thầy, chúng em đã hoàn thành đề tài, do trình độ hiểu biết còn nhiều hạn chế
nên đề tài còn nhều thiếu sót, rất mong được sự góp ý của Thầy để đề tài của chúng em được hoàn thiện hơn.
Chúng em xin chân thành cảm ơn. MỤC LỤC
LỜI MỞ ĐẦU.......................................................................................................................2
MỤC LỤC..........................................................................................................................3
DANH SÁCH HÌNH VẼ...................................................................................................4
NỘI DUNG...........................................................................................................................5
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI......................................................................5
1.1. Tổng quan về đề tài.................................................................................................5
1.2. Yêu cầu chức năng..................................................................................................5
CHƯƠNG 2: THIẾT KẾ VÀ TÍNH TOÁN CHO HỆ THỐNG.................................6
2.1. Sơ đồ khối của mạch...............................................................................................6
2.2. Phân tích và tính toán phần cứng............................................................................6
2.2.1. Vi xử lý Atmega16...........................................................................................6
2.2.2. Cảm tạo thời gian thực.....................................................................................9
2.2.3. Màn LCD 16x2..............................................................................................14
2.2.4. Cảm biến nhiệt độ LM35...............................................................................16
2.2.5. Khối nguồn.....................................................................................................17
2.3. Sơ đồ nguyên lý.........................................................................................................18
CHƯƠNG 3: XÂY DỰNG LƯU ĐỒ GIẢI THUẬT VÀ HOÀN THÀNH SẢN
PHẨM..............................................................................................................................19
3.1. Lưu đồ thuật toán..................................................................................................19
3.2. Hoàn thành sản phẩm............................................................................................20
KẾT LUẬN.........................................................................................................................20
TÀI LIỆU THAM KHẢO................................................................................................20
SOURCE CODE..............................................................................................................21 DANH SÁCH HÌNH VẼ
Hình 2. 1 Sơ đồ khối của mạch..............................................................................................6
Hình 2. 2 Sơ đồ chân ATmega16...........................................................................................8
Hình 2. 3 Khối tạo thời gian thực...........................................................................................9
Hình 2. 4 Sơ đồ chân của DS1307.........................................................................................9
Hình 2. 5 Sơ đồ địa chỉa RAM.............................................................................................11
Hình 2. 6 Sơ đồ đồng bộ......................................................................................................12
Hình 2. 7 Bus IC và các thiết bị ngoại vi.............................................................................13
Hình 2. 8Kết nối thiết bị vào Bus.........................................................................................13
Hình 2. 9 Truyền nhận dữ liệu chủ tớ..................................................................................13
Hình 2. 10 Màn LCD thực tế................................................................................................14
Hình 2. 11 Sơ đồ chân LCD.................................................................................................14
Hình 2. 12 LM35 thực tế......................................................................................................17
Hình 2. 13 Sơ đồ chân LM35...............................................................................................17
Hình 2. 14 Sơ đồ khối nguồn...............................................................................................17
Hình 2. 15 Sơ đồ nguyên lý..................................................................................................18 NỘI DUNG
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1. Tổng quan về đề tài
Mạch đo sử dụng ghép nối các linh kiện điện tử với nhau, bao gồm các nhóm chính
là vi xử lý, cảm biến, linh kiện chủ động. Mạch có thể đo được là nhờ vào các cảm biến để
cảm nhận những trạng thái, quá trình vật lý và hóa học ở môi trường xung quanh. Từ đó
biến đổi tín hiệu tương tự thành tín hiệu điện để thu thập thông tin đưa về vi xử lý. Vi xử
lý có thể được lập trình để xử lý các tín hiệu điện thu được, và từ đó xuất đi các dạng tín
hiệu điện khác đến các thiết bị ngoại vi, ví dụ như LCD để hiển thị trực quan.
Mạch hiển thị thời gian và nhiệt độ là một đề tài có thể nói là cũ, nhưng không vì thế
mà nó mất đi giá trị trong việc thiết kế và triển khai sản phẩm thực tế. Trên thị trường có
rất nhiều lựa chọn về linh kiện đáp ứng yêu cầu chức năng của sản phẩm, nên việc thiết kế
và áp dụng cũng sẽ khác nhau ít nhiều. Từ đó sinh viên có cơ hội tìm tòi và thử nghiệm các
giải pháp. Đề tài tuy đơn giản nhưng đã bao quát được rất nhiều kiến thức có thể học được
từ quá trình thực hiện. 1.2. Yêu cầu chức năng •
Đo nhiệt độ môi trường • Xem giờ,phút • Xem ngày, tháng •
Hiển thị các giá trị trên màn LCD
Với yêu cầu về tính năng như trên, chúng em chọn các thiết bị chính: •
Vi điều khiển Atmega16 xử lý thông tin, đọc-xuất dữ liệu •
Màn hình LCD 16x2 với mục đích hiển thị thông tin, giao tiếp vi điều khiển với người dùng. •
Cảm biến nhiệt độ LM35
Software: sử dụng ngôn ngữ lập trình CodeVision AVR để lập trình điều khiển. 
CHƯƠNG 2: THIẾT KẾ VÀ TÍNH TOÁN CHO HỆ THỐNG
2.1 . Sơ đồ khối của mạch Màn Hình Hiển Thị LCD 16 2 Cảm biến LM35
Hình 2. 1 Sơ đồ khối của mạch Khối thời gian thực
2.2. Phân tích và tính toán phần cứng 2.2.1. Vi xử lý Atmega16 •
Atmega16 có cấu trúc RISC với: o 131 lệnh,hầu hết được thực thi trong 1 chu kì xung nhịp. o
32x8 thanh ghi đa dụng o Full static operation o Tốc độ
làm việc 16MPIS,với thạch anh 16MHz o
Trong chip co 2 chức năng hỗ trợ gỡ rối và lập trình chương trình • Bộ nhớ: o
16 KB ISP Flash với khả năng 10.000lần ghi/xóa o
512Byte EEROM o 1KB SRAM ngọai • Giao tiếp JTAG o
Khả năng quét toàn diện theo chuẩn JTAG o
Hỗ trợ khả năng gỡ rối o Hỗ trợ lập trình Flash,EEROM,fuse… o Lock bit qua giao tiếp JTAG • Ngọai vi: o
2 timer/counter 8 bit với các mode :so sánh và chia tần số o 1
timer/counter 16 bit với các mode:so sánh,chia tần số,capture,PWM o
1 timer thời gian thực(Real time clock) với bộ dao động riêng
biệt o 4 kênh PWM(họăc nhiều hơn trong các VĐK khác thuộc họ
này) o 8 kênh biến đổi ADC 10bit o Hỗ trợ giao tiếp I2C o Bộ giao
giao tiếp nối tiếp lập trình được USART o Giao tiếp SPI o
Watch_dog timer với bộ dao động on-chip riêng biệt •
Những thuộc tính đặc biệt: o
Power On reset và Brown-out detection o chế độ hiệu chỉnh bộ
sai số cho bộ dao động RC On-chip o Các chế độ ngắt ngòai và trong đa dạng o
6 mode sleep:Idle,ADC noise reduction,tiết kiệm năng
lượng,power-down, standby,extended standby • I/O port: o
32 chân I/O(Atmega16) và 21 chân I/O (Atmega8) lập trình được o
vỏ 40 chaân (Atmega16) ,28 chân(Atmega8),64 chân(AT90can128); • Nguồn cấp: o
2,7->5.5 V với ATmega16L o 4.5->5.5V với ATmega16H • Tiêu hao năng lượng: o
Khi họat động tiêu thụ dòng 1,1mA o Ở mode Idle tiêu thụ dòng 0.35mA o
Ở chế độ Power_down tiêu thụ dòng nhỏ hơn 1uA *
Đây là những chức năng cơ bản thường thấy trong các
Vi điều khiển AVR,ngòai ra trong các vi điều khiển khác
thuộc dòng vi điều khiển này thì thường được hỗ trợ thêm
những chức năng đặc biệt.Ví dụ AT90can128 hỗ trợ thêm bộ giao tiếp mạng Can bus on-chip •
Các phần mềm lập trình cho AVR: o
AVRStuido (free), Code Vision. Các phần mềm này có hỗ trợ phần nạp
và debug on chip o Ngoài ra có thể dùng chương trình nạp PonyProg2000, Winpic800...
Hình 2. 2 Sơ đồ chân ATmega16
Chọn cổng ADC cho LM35 nối với chân PA.0
Chọn cổng kết nối DS1307 o Chân PC0
nối với chân SCL o Chân PC1 nối với chân SDA Chọn cổng LCD: o
Các chân từ PD0 => PD3 của nối với các chân dữ liệu D7 => D4
của LCD o Chân PD4 nối với chân cho phép E (enable) của LCD. o
Chân PD5 nối với chân RW. o
Chân PD6 nối với chân RS.
Chọn cổng kết nối nút nhấn o
Chân PC2 nối với nút DOWN o Chân PC3 nối với … o Chân
PC4 nối với nút MODE o Chân PC5 nối với nút SET o Chân PC6 nối với nút UP
2.2.2. Khối tạo thời gian thực
Hình 2. 3 Khối tạo thời gian thực
DS1307 là IC thời gian thực với nguồn cung cấp nhỏ để (sử dụng pin 3V)
cập nhật thời gian và ngày tháng. DS1307 có 7 byte dữ liệu, 1 byte điều khiển và 56
byte lưu trữ dành cho người sử dụng.
DS1307 hoạt động với vai trò slave trên đường bus nối tiếp, việc truy cập
được thi hành chỉ với chỉ thị start và một mã thiết bị nhất định được cung cấp bởi
địa chỉ các thanh ghi. Tiếp theo đó là thanh ghi được truy cập liên tục cho đến chỉ
thị stop được thực thi.
Hình 2. 4 Sơ đồ chân của DS1307 Vcc: nối với nguồn
X1,X2: nối với thạch anh 32,768 Khz Vbat: đầu vào pin 3V GND: nối Mass SDA: chuỗi data SCL: dãy xung clock
DS1307 có 56 byte SRAM, dữ liệu được truyền và nhận qua đường Bus 2
chiều, nó cung cấp thông tin về giờ-phút-giây, ngày-tháng-năm.Chân số 7 của IC
DS1307 là chân SQW/OUT. Đây là chân đo xung của DS1307 hoạt động ở 4 chế độ
1Hz, 4.096Hz, 8.192Hz, 32.768Hz. Các chế độ này được quy định bởi thanh ghi Control register.
Chân Vcc: đầu vào là 5V DC giúp IC hoạt động, IC có thể được truy cập và
dữ liệu có thể đọc và viết.
Chân nguồn pin 3V được cấp vào và Vcc nhỏ hơn 1.25 Vbat thì quá trình đọc và
viết không được thực thi tuy nhiên chức năng timekeeper không bị ảnh hưởng bởi
điện áp vào thấp. Khi Vcccung cấp trong(thường là nguồn Pin 3V).
Chân SCL(Serial clock input) : SCL được sử dụng để đồng bộ sự chuyển dữ
liệu trên đường dây nối tiếp.
Chân SDA(Serial dât input/out): là chân vào ra cho 2 đường nối tiếp, chân SDA
thiết kế theo kiểu cực máng hở, đòi hỏi phải có một điện trở kéo trong khi hoạt động.
Hai chân X1,X2 được nối với thạch anh tần số 32.768Khz, là một mạch tạo
dao động ngoài, để mạch hoạt động ổn định thì cần phải mắc thêm 2 tụ *Sơ đồ địa chỉ RAM và RTC:
Hình 2. 5 Sơ đồ địa chỉa RAM
Thông tin về thời gian và ngày tháng được lấy ra bằng cách đọc các byte
thanh ghi thích hợp. Thời gian và ngày tháng được thiết lập cũng thông qua các byte
thanh ghi này bằng cách viết vào đó những giá trị thích hợp. Nội dụng của các thanh
ghi dưới dạng mã BCD.Bit 7 của thanh ghi Second là bit clock haft(CH), khi bit này
được thiết lập 1 thì dao động disable, khi nó được xóa về 0 thì giao động enable.
DS1307 có thể chạy được ở chế độ 24h hay 12h.Bit thứ 6 của thanh ghi
hours là bit chọn chế độ 24h hoặc 12h.
Trong quá trình truy cập dữ liệu, khi chỉ thị START được thực thi thì dòng
thời gian được truyền tới 1 thanh ghi thứ 2, thông tin thời gian sẽ được đọc từ thanh
ghi thứ cấp này.Trong khi đó đồng hồ vẫn tiếp tục chạy.DS1307 hỗ trợ Bus 2 dây 2
chiều và giao thức truyền dữ liệu.Thiết bị gửi dữ liệu lên Bus được gọi là bộ phát và
thiết bị nhận dữ liệu gọi là bộ thu.Thiết bị điều khiển quá trình này gọi là Master.
Thiết bị nhận sự điều khiển của Master gọi là Slave. Các Bus nhận sự điều khiển
của Master là thiết bị phát ra chuỗi xung clock (SCL). Master sẽ điều khiển sự truy
cập Bus, tạo ra các chỉ thị START-STOP.
*Sự truyền nhận dữ liệu trên chuỗi Bus 2 dây: tùy thuộc vào bit R/W mà hai loại
truyền dữ liệu sẽ được thực thi.
Truyền dữ liệu từ Master truyền và Slave nhận: Master sẽ truyền Byte đầu
tiên là địa chỉ của Slave, tiếp theo đó là các byte dữ liệu.Slave sẽ gửi lại bit thông
báo đã nhận được ( Bit acknowledge) sau mỗi byte dữ liệu nhận được. Dữ liệu sẽ
truyền từ bit có giá trị nhất(MSB).
Truyền dữ liệu từ Slave và Master nhận: byte đầu tiên (địa chỉ của Slave)
được truyền tới Slave bởi Master. Sau đó Slave sẽ gửi lại Master bit
acknowledge,tiếp theo đó Slave sẽ gửi các byte dữ liệu tới master.Master sẽ gửi cho
Slave các bit acknowledge sau mỗi byte nhận được trừ byte cuối cùng, sau khi nhận
được byte cuối cùng thì bit acknowledge sẽ không được gửi.
Hình 2. 6 Sơ đồ đồng bộ
*Lý thuyết I2C có 2 dây: Serial data(SDA) và Serial clock(SCL).SDA là đường
truyền dữ liệu hai hướng và SCL là đường truyền xung đồng hồ và chỉ theo một hướng.
Hình 2. 7 Bus IC và các thiết bị ngoại vi
Như hình ở trên, một khi thiết bị ngoại vi kết nối với Bus I2C thì chân SDA
của nó sẽ nối với dây SDA của Bus, chân SCL sẽ nối với dây SCL của Bus.
Hình 2. 8Kết nối thiết bị vào Bus
Mỗi dây hay SCL đều được nối với điện áp dương của nguồn cấp thông qua
một điện trở kéo lên.Sự cần thiết của các điện trở kéo này là vì chân giao tiếp của
các thiết bị ngoại vi thường ở dạng cực máng hở. Giá trị của các điện trở này khác
nhau tùy thuộc vào từng thiết bị và chuẩn giao tiếp. thường giao động trong khoảng 1KΩ đến 4.7KΩ.
Hình 2. 9 Truyền nhận dữ liệu chủ tớ
Một Bus I2C chuẩn truyền 8 bit dữ liệu có hướng trên đường truyền với tốc
độ là 100Kbit/S-Chế độ chuẩn(Standard Mode).Tốc độ truyền có thể lên tới
400Kbit/S-Chế độ nhanh(Fasst Mode) và cao nhất là 3.4Mbit/S-Chế độ cao tốc(high-Speed Mode). 2.2.3. Màn LCD 16x2 
Hình dáng và kích thước: Có rất nhiều loại LCD với nhiều hình dáng và kích thước
khác nhau, trên hình 1 là hai loại LCD thông dụng.
Hình 2. 10 Màn LCD thực tế
Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (HD44780) bên trong lớp vỏ
và chỉ đưa các chân giao tiếp cần thiết. Các chân này được đánh số thứ tự và đặt tên như bên dưới :
Hình 2. 11 Sơ đồ chân LCD  Chức năng các chân: Chân số Tên Chức năng 1 Vss
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 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 3 Vee
Chân này dùng để điều chỉnh độ tương phản của LCD. 4 Rs
Chân chọn thanh ghi (Register select). Nối chân RS với logic
“0” (GND) hoặc logic “1” (VCC) để chọn thanh ghi.
+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR
của LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ
của LCD (ở chế độ “đọc” - read)
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD. 5 R/w
Chân chọn chế độ đọc/ghi (Read/Write). Nối chân R/W với
logic “0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic
“1” để LCD ở chế độ đọc. 6 E
Chân cho phép (Enable). Sau khi các tín hiệu được đặt lên
bus DB0-DB7, 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 (low-to-high transition) ở chân E và được
LCD giữ ở bus đến khi nào chân E xuống mức thấp. 7-14 DB0-
Tám đường của bus dữ liệu dùng để trao đổi thông tin với DB7
MPU. 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, 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  Các thanh ghi :
Chíp HD44780 có 2 thanh ghi 8 bit quan trọng : Thanh ghi lệnh IR (Instructor Register) và
thanh ghi dữ liệu DR (Data Register) -
Thanh ghi IR : Để điều khiển LCD, người dùng phải “ra lệnh” thông qua tám
đường bus DB0-DB7. Mỗi lệnh được nhà sản xuất LCD đánh địa chỉ rõ ràng. Người dùng
chỉ việc cung cấp địa chỉ lệnh bằng cách nạp vào thanh ghi IR. Nghĩa là, khi ta nạp vào
thanh ghi IR một chuỗi 8 bit, chíp HD44780 sẽ tra bảng mã lệnh tại địa chỉ mà IR cung cấp
và thực hiện lệnh đó.
VD : Lệnh “hiển thị màn hình” có địa chỉ lệnh là 00001100 (DB7…DB0)
Lệnh “hiển thị màn hình và con trỏ” có mã lệnh là 00001110 -
Thanh ghi DR : Thanh ghi DR dùng để chứa dữ liệu 8 bit để ghi vào vùng RAM
DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dùng để chứa dữ liệu từ 2 vùng RAM này gởi
ra cho MPU (ở chế độ đọc). Nghĩa là, khi MPU ghi thông tin vào DR, mạch nội bên trong
chíp sẽ tự động ghi thông tin này vào DDRAM hoặc CGRAM. Hoặc khi thông tin về địa
chỉ được ghi vào IR, dữ liệu ở địa chỉ này trong vùng RAM nội của HD44780 sẽ được
chuyển ra DR để truyền cho MPU. Bằng cách điều khiển chân RS và R/W chúng ta có thể
chuyển qua lại giữ 2 thanh ghi này khi giao tiếp với MPU. Bảng sau đây tóm tắt lại các
thiết lập đối với hai chân RS và R/W theo mục đích giao tiếp. RS R/W Khi cần 0 0
Ghi vào thanh ghi RS để ra lệnh cho thanh ghi 0 1
Đọc cờ bận ở DB7 và giá trị của bộ đếm địa chỉ ở DB0-DB6 1 0 Ghi vào thanh ghi DR 1 1 Đọc dữ liệu từ DR
Trong chương trình sử dụng LCD ở chế độ 4bit.
2.2.4. Cảm biến nhiệt độ LM35
LM35 là một cảm biến nhiệt độ analog
Nhiệt độ được xác định bằng cách đo hiệu điện thế ngõ ra của LM35.
→ Đơn vị nhiệt độ: °C.
→ Nhiệt độ thay đổi tuyến tính: 10mV/°C2.2.5
Hình 2. 13 Sơ đồ chân LM35
Hình 2. 12 LM35 thực tế
LM35 không cần phải canh chỉnh nhiệt độ khi sử dụng.
Độ chính xác thực tế: 1/4°C ở nhiệt độ phòng và 3/4°C ngoài khoảng -55°C tới 150°C
LM35 có hiệu năng cao, công suất tiêu thụ là 60uA
Cảm biến LM35 hoạt động bằng cách cho ra một giá trị hiệu điện thế nhất định tại
chân Vout (chân giữa) ứng với mỗi mức nhiệt độ.
LM35 thay đổi nhiệt độ nhanh và chính xác. 2.2.5. Khối nguồn
Cung cấp nguồn ổn định 5V cho Vi điều khiển còn đối với DS1307 ta dùng
nguồn nuôi bằng Pin Cmos 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
Hình 2. 14 Sơ đồ khối nguồn 2.3. Sơ đồ nguyên lý
Hình 2. 15 Sơ đồ nguyên lý
Bảng giá thành linh kiện dự kiến Tên linh kiện Số lượng Giá thành Atmega16 1 55k LCD16x2A 1 35k LM35 1 20k Tụ gốm 104 2 200 Tụ gốm 22 2 200 Điện trở 3 500 Nút nhấn 5 5k Adapter 5V 1A 1 27k Thạch anh 32.768kHz 1 2k Biến trở 1 2k Jack DC 5.5 1 1k DS1307 1 8k Pin 3V và đế pin 1 6k Tổng 162k
CHƯƠNG 3: XÂY DỰNG LƯU ĐỒ GIẢI THUẬT VÀ HOÀN THÀNH SẢN PHẨM 3.1. Lưu đồ thuật toán
3.2. Hoàn thành sản phẩm
Dùng phần mềm Altium để thiết kế mạch in:
Và sản phẩm cuối cùng sau khi hàn ghép các linh kiện KẾT LUẬN