TRƯỜNG ĐẠI HỌC ĐIỆN LỰC realtimeclock
TRƯỜNG ĐẠI HỌC ĐIỆN LỰC realtimeclock
TRƯỜNG ĐẠI HỌC ĐIỆN LỰC realtimeclock
ĐỒ ÁN HỌC PHẦN
VI XỬ LÝ TRONG ĐO LƯỜNG ĐIỀU KHIỂN
ĐỀ TÀI: Thiết kế đồng hồ số hiển thị: thứ, ngày, tháng, năm, giờ, phút, giây
Sử dụng Arduino
Lớp : D15TDH&DKTBCN2
2
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
3
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
4
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
LỜI CẢM ƠN
Đầu tiên chúng em xin chân thành cảm ơn sự hướng dẫn tận tình của giáo viên
hướng dẫn. Cô đã cung cấp cho chúng em những tài liệu về đề tài giúp chúng em dễ
dàng hơn trong quá trình thực hiện đề tài. Trong quá trình làm đề tài cô đã chỉ chúng
em tận tình mỗi khi gặp khó khăn để có thể hoàn thành đề tài.
Chúng em xin cảm ơn các thầy cô giáo trong khoa đã tận tình dạy dỗ chúng em
trong những năm học vừa qua đã giúp chúng em có đủ kiến thức cơ bản để làm đề tài
này
5
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
Mục Lục
CHƯƠNG 1 . PHÂN TÍCH BÀI TOÁN....................................................................6
1.1.Khảo sát và phân tích bài toán..........................................................................6
1.1.1.Cách hiển thị thời gian...............................................................................6
1.1.2.Mục đích....................................................................................................7
1.1.3.Các công nghệ chip ứng dụng trong thiết kế thời gian thực có mặt
trên thị trường............................................................................................................8
1.2. Lựa chọn giải pháp........................................................................................9
1.2.1.Giải pháp công nghệ................................................................................9
1.2.2 .Giải pháp thiết kế....................................................................................9
1.2.3.Các yêu cầu...............................................................................................9
1.2.4.Giới hạn cho hệ thống............................................................................10
CHƯƠNG 2: THIẾT KẾ HỆ THỐNG.................................................................11
2.1. Sơ đồ tổng quát..............................................................................................11
2.2. Sơ đồ Call graph...........................................................................................12
2.3. Sơ đồ đặc tả....................................................................................................12
2.4 Sơ đồ thuật toán..............................................................................................13
2.5.Các module trong hệ thống.............................................................................14
2.5.1.Khối điều khiển trung tâm.......................................................................14
2.5.3.Khối tạo thời gian thực............................................................................14
2.5.4.Khối hiển thị.............................................................................................15
2.5.5.Khối giao tiếp phím bấm..........................................................................16
2.6.Lựa chọn linh kiện..........................................................................................16
2.6.1.Vi điều khiển Arduino Uno R3................................................................16
6
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
7
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
- Loại đồng hồ này hiện thời gian ở dạng chữ. Nếu như ở đồng hồ điện tử chúng ta đọc
được những con số 12:35 thì ở đồng hồ chữ, chúng ta có thể đọc được "Mười hai giờ ba
mươi lăm phút". Một số loại đồng hồ khác sử dụng cơ chế gần đúng khiến người sử dụng
cảm thấy dễ chịu hơn khi sử dụng đồng hồ (ví dụ "Khoảng mười hai giờ rưỡi").
1.1.2.Mục đích
- Đồng hồ treo tường được dùng trong nhà và văn phòng, đồng hồ đeo tay được mang
trên tay, và những loại đồng hồ lớn được đặt ở những nơi công cộng (nhà thờ hay bến
xe). Hầu hết những máy tính và điện thoại di động đều có góc dưới màn hình hiển thị
giờ.
- Tuy nhiên, đồng hồ không phải lúc nào cũng được sử dụng để hiển thị thời gian. Nó
còn có thể sử dụng để điều khiển một vật theo thời gian. Ví dụ như đồng hồ chuông có
thể được dùng làm chuông báo tiết học. Nó có thể được gọi chính xác hơn là một hệ
thống đếm giờ.
- Máy tính sử dụng những tín hiệu đồng hồ để đồng bộ quá trình xử lý (mặc dầu có một
số nghiên cứu về bộ xử lí không đồng bộ). Máy tính lưu trữ thời gian để báo hiệu hay
chỉ là để hiển thị thời gian. Bên trong máy tính có một đồng hồ được nuôi bằng pin.
Máy tính vẫn có thể hoạt động ngay cả khi đồng hồ trong máy bị chết nhưng khi khởi
động máy lại, đồng hồ của máy tính sẽ được khởi động lại.
- Thời gian là một khái niệm cơ bản trong môn vật lý. Do đó, chế tạo dụng cụ đo thời
gian chính xác có ý nghĩa quan trọng trong các thí nghiệm.
8
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
• Nhược điểm: không thu hút được sự chú ý bằng led 7 thanh,giá thành cao…
- Xét trên điều kiện để làm mạch này thì số led 7 thanh tương đối nhiều và cần thêm
các IC chốt do đó về giá cả thì sẽ tương đương với một LCD 16x2. Thêm nữa khi sử
dụng LCD chúng ta sẽ không phải mắc phức tạp. Với đồng hồ để sử dụng cho cá nhân
này thì chúng ta có thể cần dùng LCD là đủ.
1.2. Lựa chọn giải pháp
1.2.1.Giải pháp công nghệ
Qua phân tích ở trên, nhóm chúng em đưa ra giải pháp xây dựng đồng hồ dựa trên IC
thời gian thực. Đọc giờ từ IC thời gian thực, hiển thị thời gian liên tục và có thể cài đặt
được giờ, lưu giờ khi mất điện và sai lệch thời gian là ít nhất (theo quảng cáo của nhà
sản xuất : với một pin lithium 48mAh hoặc lớn hơn sẽ lưu giờ cho DS1307 khoảng hơn
10 năm khi không có nguồn điện cung cấp cho mạch ở điều kiện +25°C ).
1.2.2 .Giải pháp thiết kế
Việc lựa chọn giải pháp thường được xem xét trên nhiều phương diện nhưng quan
trọng là giải pháp có khả thi không? Có phù hợp với với thực tế và thỏa mãn yêu cầu về
kinh tế? Đồng hồ thời gian thực với bộ não điều khiển là arduino Uno R3 và các linh
kiện khác: LCD hiển thị, IC thời gian thực DS1307.
•Ưu điểm lớn nhất của Arduino là có thể sử dụng ngay. Vì Arduino là một bộ hoàn
chỉnh gồm bộ nguồn 5V, một ổ ghi, một bộ dao động, một vi điều khiển, truyền thông
nối tiếp, LED và các giắc cắm. Bạn không cần phải suy nghĩ về các kết nối lập trình
hoặc bất kỳ giao diện nào khác. Chỉ cần cắm nó vào cổng USB của máy tính.
• IC DS1307 là IC chuyên dụng, cho khả năng chính xác về thời gian.
• LCD hiển thị một cách rõ ràng, linh động.
Vì vậy giải pháp thiết kế đồng hồ thời gian thực dùng các linh kiện trên có nhiều ưu thế
hơn so với những giải pháp khác. Đồng thời đảm bảo được yêu cầu về kinh tế.
Trong thực tế hiện nay lịch vạn niên là một sản phẩm tương tự đồng hồ thời gian thực
và rất gần gũi với mọi người.
1.2.3.Các yêu cầu
Với sản phẩm đồng hồ thời gian thực đòi hỏi các yêu cầu:
• Hiển thị đúng thời gian:ngày, tháng, năm, giờ, phút, giây.
• Điều chỉnh và thay đổi được thời gian.
• Đảm bảo đúng về thời gian sau khi mất điện.
• Khả năng thực thi:Thời gian đáp ứng, độ chính xác…
• Đảm bảo về kích thước và trọng lượng cho phép.
• Độ an toàn, khả năng chống lại sự phá hoại hay xâm nhập…
10
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
11
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
12
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
IC thời gian
thực Bàn phím Hiển thị
2.3. Sơ đồ đặc tả
Xử lý
Ghi
Kiểm tra
ngắt ngoài 0
Hiển thị
13
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
Xử lý dữ liệu từ rtc
Có ngắt ngoài
0
(1) Đ
(2)
Cập nhật thời gian
vào RTC
14
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
15
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
74LS148 là một bộ phận độc quyền của Motorola kết hợp mạng khử nhiễu tích hợp giúp giảm
thiểu các trục trặc trên đầu ra của GS. Sự cố xảy ra trong quá trình chuyển đổi tiêu cực của đầu
vào EI khi đầu vào dữ liệu 0-7 ở mức logic.
IC 74LS148 là một bộ mã hóa ic bao gồm 9 đầu vào và 5 đầu ra và ic này được thiết kế cho tốc
độ thấp và trong bộ mã hóa ic trong 9 đầu vào thành 5 đầu ra kết hợp đầu vào 1-9 hoặc đầu vào
sẽ xảy ra để đơn giản hóa xếp tầng (đầu vào EI và đầu ra EO cho phép hoạt động), và mạch xếp
tầng này không yêu cầu mạch ngoài.
Bản thân bộ mã hóa là một công cụ được sử dụng để chuyển đổi các tín hiệu như dữ liệu thành
các biểu mẫu có thể chấp nhận để truyền dữ liệu hoặc lưu trữ dữ liệu.
LS148 này là Mã hóa gồm 8 dòng dữ liệu trong cả ba hàng (4, 2, 1) nhị phân (Octal).
16
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
Gồm 4 nút ấn, hoạt động tương tự nút Reset. Khi ấn nút thì các chân vi điều khiển được nối
với phím bấm đưa điện áp xuống đất lúc này điện áp tại các chân vi điều khiển bằng 0 làm
cho vi điều khiển nhận biết được sự thay đổi này và thực hiện lệnh cần điều khiển. Nút thứ
ba có tác dụng thiết đặt chế độ cho vi điều khiển làm việc.
17
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
Thông số kĩ thuật:
- Chíp ATMEGA328P-PU
- Nguồn Cấp: 7-12V
- Dòng Max chân 5V: 500mA
- Dòng Max Chân I/O: 30mA
- 14 Chân Digital I/O (6 chân PWM)
- 6 Chân Analog Inputs
Chân Vin Đây là điện áp đầu vào được cung cấp cho board mạch Arduino. Khác với
5V được cung cấp qua cổng USB. Chân này được sử dụng để cung cấp
điện áp toàn mạch thông qua jack nguồn, thông thường khoảng 7VDC-
12VDC
Chân 5V Chân 5V được sử dụng để cung cấp điện áp đầu ra. Arduino được cấp
nguồn bằng ba cách đó là USB, chân Vin của board mạch hoặc giắc nguồn
DC
USB Hỗ trợ điện áp khoảng 5V trong khi Vin và Power Jack hỗ trợ dải điện áp
18
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
Chân SPI Chân này được gọi là giao diện ngoại vi nối tiếp. Các chân
10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) cung cấp liên
lạc SPI với sự trợ giúp của thư viện SPI.
Chân AREF Chân này được gọi là tham chiếu tương tự, được sử dụng
để cung cấp điện áp tham chiếu cho các đầu vào tương tự
Chân TWI Chân giao tiếp TWI được truy cập thông qua thư viện
dây. Chân A4 và A5 được sử dụng cho mục đích này.
Serial Giao tiếp nối tiếp được thực hiện thông qua hai chân 0
Communication (Rx) và 1 (Tx).
Chân ngắt Chân 2 và 3 được sử dụng để cung cấp các ngắt ngoài.
ngoài
19
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
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
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
20
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
Để đọc thanh ghi lệnh,ta phải đặt RS=0 và R/W =1 và xung cao xuống thấp cho bít
E. Sau khi đọc thanh ghi lệnh,nếu bit D7(cờ bận ) ở mức cao thì LCD bận, không có
thông tin hay lệnh nào được xuất đến nó. Khi D7=0 mới có thể gửi lệnh hay dữ liệu
đến LCD. Chúng ta nên kiểm tra bit cờ bận trước khi ghi thông tin lên LCD.
21
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
22
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
Proteus là một phần mềm mô phỏng vi mạch điện tử và hệ thống nhúng phổ biến, có
nhiều ưu điểm hấp dẫn mà đã làm nên sự thành công của nó trong cộng đồng kỹ sư điện
tử và nhà phát triển hệ thống nhúng. Dưới đây là một số ưu điểm chính của phần mềm
Proteus:
Mô phỏng chính xác: Proteus cho phép mô phỏng chính xác các vi mạch điện tử và hệ
thống nhúng. Người dùng có thể thấy rõ cách các linh kiện và mạch hoạt động trong môi
trường ảo, giúp giảm thiểu lỗi và thời gian cần để tìm và sửa chữa các sai sót.
Thiết kế PCB tích hợp: Proteus cho phép người dùng chuyển đổi từ mô phỏng vi mạch
sang bản thiết kế PCB một cách dễ dàng. Điều này giúp tối ưu hóa mạch in và giảm thiểu
các vấn đề về điều chỉnh vi trí linh kiện trên bảng mạch.
Thư viện phong phú: Proteus đi kèm với nhiều thư viện linh kiện phổ biến, mô phỏng vi
điều khiển, cảm biến, vi mạch logic và nhiều thành phần điện tử khác. Điều này giúp
người dùng tiết kiệm thời gian khi thiết kế và mô phỏng các mạch phức tạp.
Hỗ trợ mô phỏng vi xử lý: Proteus không chỉ hỗ trợ mô phỏng phần cứng mà còn hỗ trợ
mô phỏng mã chương trình chạy trên vi xử lý và vi điều khiển. Điều này cho phép người
dùng kiểm tra tính đúng đắn và hiệu năng của mã chương trình trước khi triển khai lên vi
xử lý thực tế.
23
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
Dễ sử dụng: Giao diện của Proteus thân thiện với người dùng, dễ sử dụng và cung cấp
các công cụ mạnh mẽ cho việc thiết kế và mô phỏng. Người dùng có thể nhanh chóng
tiếp cận các tính năng và chức năng một cách hiệu quả.
Hỗ trợ đa nền tảng: Proteus hỗ trợ chạy trên các nền tảng hệ điều hành phổ biến như
Windows. Điều này giúp người dùng có nhiều lựa chọn khi chọn hệ thống để sử dụng
phần mềm này.
Bước 1: Mở Proteus
Khởi động phần mềm Proteus bằng cách nhấp đúp vào biểu tượng của nó trên máy tính của
bạn.
Bước 2: Chọn một bản mẫu hoặc bắt đầu một thiết kế mới
Khi bạn mở Proteus, bạn có thể chọn bắt đầu một bản mẫu có sẵn hoặc tạo một thiết kế
mới.
Để bắt đầu một thiết kế mới, chọn "File" trong thanh menu và sau đó chọn "New Project"
để tạo dự án mới.
Bước 3: Thêm các linh kiện và mạch vào dự án
Sau khi tạo dự án mới, bạn có thể thêm các linh kiện vào dự án bằng cách chọn "P" trên
thanh công cụ để mở thư viện linh kiện. Sau đó, kéo và thả các linh kiện bạn muốn sử dụng vào
bảng mạch.
Bước 4: Kết nối các linh kiện với nhau
Sử dụng công cụ "Draw Wire" (được đại diện bằng biểu tượng dây mạch) để kết nối các
chân của các linh kiện với nhau và tạo mạch.
Bước 5: Mô phỏng vi mạch
Sau khi hoàn thành mạch, bạn có thể mô phỏng vi mạch để kiểm tra hoạt động của nó.
Nhấp đúp vào một linh kiện để chỉnh sửa các thông số của nó (ví dụ: giá trị điện trở, điện áp) và
sau đó nhấp vào biểu tượng "Run" để mô phỏng vi mạch.
Bước 6: Thiết kế PCB (nếu cần)
Nếu bạn muốn thiết kế mạch in (PCB) dựa trên mạch đã mô phỏng, chọn "Design" trong
menu và sau đó chọn "Design Manager." Trong Design Manager, bạn có thể chọn "Update PCB"
để chuyển đổi mạch đã mô phỏng thành bản thiết kế PCB.
Bước 7: Xuất tệp in ấn hoặc mô phỏng
24
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
Sau khi hoàn thành mạch và PCB (nếu có), bạn có thể xuất tệp in ấn để đưa ra sản xuất
hoặc xuất tệp mô phỏng để chia sẻ với người khác.
Đây là hướng dẫn cơ bản về cách sử dụng phần mềm Proteus để thiết kế và mô phỏng vi mạch
điện tử. Khi sử dụng phần mềm, hãy tham khảo tài liệu hướng dẫn chi tiết và tài nguyên hỗ trợ
trên trang web chính thức của Proteus để tận dụng tối đa tính năng của nó.
25
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S
Đây là công cụ hổ trợ viết code và nạp code cho các bo mạch Arduino cũng như các mạch
NodeMCU.
Truy cập vào trang chủ Arduino http://arduino.cc để download phần mềm và cài đặt. Phần mềm
được hổ trợ miễn phí cho người dùng , với bản cập nhật mới nhất là Arduino 1.8.5.
Sau khi tải về thì cần thêm thư viện để có thể sử dụng với module NodeMCU ESP32.
26
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: