0% found this document useful (0 votes)
2 views26 pages

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC realtimeclock

Download as docx, pdf, or txt
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1/ 26

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC

KHOA ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA

ĐỒ Á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

Giảng viên hướng dẫn :

Sinh viên thực hiện :

Chuyên ngành : TỰ ĐỘNG HÓA & ĐIỀU KHIỂN


THIẾT BỊ ĐIỆN CÔNG NGHIỆP

Lớp : D15TDH&DKTBCN2

Hà Nội, tháng 1 năm 2024


Đồ Án Học Phần: Vi Xử Lý GVHS: T.S

2
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S

PHIẾU CHẤM ĐIỂM

Giảng viên chấm:

Họ và tên Chữ ký Điểm / Ghi chú

Giảng viên chấm 1 :

Giảng viên chấm 2 :

Sinh viên thực hiện:

Họ và tên Chữ ký Ghi chú

MAI VĂN NGUYÊN MSV: 20810430338

NGUYỄN DUY NGHĨA MSV: 20810430335

VŨ KHÁNH NAM MSV:20810430324

3
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S

LỜI NÓI ĐẦU


Ngày nay, các hệ thống nhúng trở nên phổ biến và đóng vai trò quan trọng trong đời
sống con người. Ví dụ quanh ta có rất nhiều sản phẩm nhúng như lò vi sóng, nồi cơm
điện, điều hòa, điện thoại di động, ô tô, máy bay, tàu thủy, các đầu đo, cơ cấu chấp hành
thông minh, robot v.v... ta có thể thấy hiện nay hệ thống nhúng có mặt ở mọi lúc mọi nơi
trong cuộc sống của chúng ta.
Qua môn học hệ thống nhúng, chúng em đã hiểu thêm về các hệ thống nhúng trong
thực tế, về đặc điểm, tính ưu việt cũng như tính ứng dụng của chúng đối với con người.
Với mong muốn làm rõ các kiến thức đã học và giới thiệu các ứng dụng cơ bản của hệ
thống nhúng, nhóm chúng em đưa ra mô hình thiết kế đồng hồ thời gian thực – một sản
phẩm rất quen thuộc và cần thiết trong đời sống.
Do thời gian thực hiện và kiến thức còn hạn chế nên còn nhiều sai sót trong quá
trình thực hiện đề tài, rất mong được sự bổ sung đóng góp của các thầy cô và các bạn. Với
kiến thức sau thời gian dài học tập bộ môn “Vi Xử Lý Trong Đo Lường Điều Khiển” tại
trường Đại học Điện Lực, cùng sự chỉ bảo và hướng dẫn tận tình của tận tình TS…..đã hướng
dẫn và giúp đỡ chúng em thực hoàn thành đề tài này.
Mặc dù đã cố gắng rất nhiều, xong do trình độ còn hạn chế nên bài làm không tránh khỏi
những sai sót, chúng em rất mong nhận được sự góp ý của các thầy, cô để đề tài được hoàn thiện
hơn.
Chúng em xin chân thành cảm ơn!

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

CHƯƠNG 1 . PHÂN TÍCH BÀI TOÁN


1.1.Khảo sát và phân tích bài toán
Đồng hồ là một công cụ để đo đạc những mốc thời gian nhỏ hơn một ngày; đối lập
với lịch, là một công cụ để đo thời gian dài hơn một ngày. Những loại đồng hồ dùng trong
kĩ thuật thường có độ chính xác rất cao và cấu tạo rất phức tạp. Trong khi đó, người ta có
thể tạo ra những loại đồng hồ nhỏ để dễ dàng mang theo bên mình (gọi là đồng hồ đeo tay).
Những loại đồng hồ hiện đại (từ thế kỉ 14 trở đi) thường thể hiện ba thông tin: giờ, phút,
giây.
1.1.1.Cách hiển thị thời gian
• Đồng hồ cơ:
- Đồng hồ cơ thể hiện thời gian sử dụng các góc. Mặt đồng hồ có
những con số từ 1 đến 12 và sử dụng kim để chỉ giờ và cả phút. Từ một số đến một con
số kế cận là 5 phút (đối với kim phút), 1 giờ (đối với kim giờ) hay 5 giây (đối với kim
giây).
- Một loại đồng hồ cơ khác được sử dụng là đồng hồ mặt trời. Nó hoạt động nhờ theo dõi
thường xuyên ánh sáng Mặt Trời, và người ta theo dõi bằng cách nhìn bóng của chúng.
• Đồng hồ điện tử:
- Đồng hồ điện tử sử dụng hệ thống số để thể hiện thời gian. Thông thường có 2 cách thể
hiện:
• 24 giờ để đếm giờ từ 00-23
• 12 giờ với kí hiệu AM / PM (chủ yếu ở Mĩ)
- Những đồng hồ điện tử sử dụng màn hình LCD hay LED, ống catode để thể hiện hình
ảnh những con số. Khi những đồng hồ điện tử thay pin, chúng thường "quên" dữ liệu
về thời gian trước đó.
• Đồng hồ âm thanh:
- Để tiện lợi hơn, có một số đồng hồ sử dụng âm thanh để bào hiệu giờ.
Âm thanh có thể được sử dụng như ngôn ngữ tự nhiên ("Bây giờ là
mười sáu giờ ba mươi phút) hay một mã (số tiếng chuông báo hiệu số
giờ).
• Đồng hồ chữ:

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

Hình 1.1: Đồng hồ


điện tử
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
Do yêu cầu về thời gian thực nên chúng ta sẽ không xét tới các mạch điện thiết kế đồng
hồ sử dụng các mạch điện tương tự và các IC số thông thường, chúng ta sẽ xét tới việc
sử dụng IC thời gian thực, vi điều khiển, cách thức hiển thị thời gian thực.
• IC thời gian thực:
- Hiện nay trên thị trường có 2 loại IC thời gian thực phồ biến là DS1307 và DS12887.
- Các IC này đều có chức năng chạy thời gian thực và lưu giờ khi mất điện, với
DS1307 cần có thêm nguồn nuôi là một pin cmos 3V, với DS12887 có sẵn pin tích hợp
ở bên trong.
- Thực hiện giao tiếp với vi điều khiển để hiện thị thời gian và cài đặt
giờ…
- Trên cơ sở đó thì chúng ta có thể sử dụng cả 2 loại IC này, nhưng với nhóm em thì
việc lựa chọn sẽ là DS1307 vì nó cũng thực hiện được yêu cầu mà giá thành thì rẻ hơn.
• Vi điều khiển:
- Có rất nhiều loại vi điều khiển khác nhau có thể sử dụng trong mạch đồng hồ này như
vi điều khiển pic, avr, 8051…
• Hiển thị:
Chúng ta có 2 cách hiển thị đó là : sử dụng led 7 thanh và sử dụng lcd.
- LCD 16x2:
• Ưu điểm: hiển thị dễ dàng, có thể linh động hơn trong việc hiển thị thời gian,kết nối
đơn giản mạch điện không phức tạp…
9
Đồ Á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

1.2.4.Giới hạn cho hệ thống


• Sử dụng nguồn điện 5V.
• Làm việc liên tục.
• Kích thước phù hợp với người sử dụng.
• Hệ thống nhỏ gọn.
• Hệ thống lưu được thời gian khi mất nguồn cấp (có nguồn dự trữ).
• Nguồn nuôi (pin CMOS) cho IC thời gian thực đảm bảo.
• Làm việc trong điều kiện môi trường bình thường

11
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S

CHƯƠNG 2: THIẾT KẾ HỆ THỐNG


2.1. Sơ đồ tổng quát

• Khối Nguồn: cung cấp nguồn cho hệ thống.


• Khối Thời gian thực: lưu trữ thời gian thực, thời gian cài đặt.
• Khối Xử lý: Dùng vi điều khiển Arduino Uno R3 để lấy dữ liệu từ khối thời gian
thực, lưu trữ và đưa ra khối hiển thị và nhận tín hiệu từ khối giaotiếp.
• Khối Hiển thị: lấy tín hiệu ra từ vi điều khiển, thực hiện giao tiếp với vi điều khiển
để hiển thị giờ và ngày.
• Khối giao tiếp: là khối bàn phím, thực hiện cài đặt giờ để vi điều khiển lưu dữ liệu
vào trong khối thời gian thực.

12
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S

2.2. Sơ đồ Call graph


Chương trình điều khiển chính

Module xử lý thời gian thực


Module xử lý chương trình

IC thời gian
thực Bàn phím Hiển thị

2.3. Sơ đồ đặc tả

Có ngắt & Thời gian trong RTC


Cài đặt ấn phím
Đọc

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

2.4 Sơ đồ thuật toán


Bắt đầu

Khởi tạo LCD

Kiểm tra dữ liệu thời


gian trong rtc

S Đặt thời gian


Có mặc định

Xử lý dữ liệu từ rtc

Hiển thị giờ bình


S thường LCD

Có ngắt ngoài
0
(1) Đ

Cài đặt + hiển thị thời


gian cài đặt trên LCD

(2)
Cập nhật thời gian
vào RTC

14
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S

2.5.Các module trong hệ thống

2.5.1.Khối điều khiển trung tâm


 Khối điều khiển trung tâm sử dụng vi điều khiển Arduino Uno R3, qua chương trình đã
lập trình được nạp cho chip, vi điều khiển sẽ điều khiển việc đọc, ghi thời gian thực, hiển
thị thời gian lên khối hiển thị là LCD.

2.5.3 Khối tạo thời gian thực


 DS1307 là một IC thời gian thực với nguồn cung cấp nhỏ, dùng để cập nhật thời gian và
ngày tháng với 56 bytes SRAM. Địa chỉ và dữ liệu được truyền nối tiếp qua 2 đường bus 2
chiều. Nó 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.
 Để không phải điều chình lại thời gian vào những lúc bị mất nguồn, có thể nối thêm 1pin 3V
vào chân số 3 của IC DS1307 (sao cho chân(+) của pin nối vào IC và chân (–) của pin nối
xuống đất). Hai chân 1 và 2 của DS1307 được nối vào bộ dao động thạch anh có tần số
32,768KHz để tạo dao động cho IC hoạt động.

15
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S

2.5.4.Khối hiển thị


 Sử dụng LCD 20x4, hiển thị thời gian linh hoạt, hiển thị được nhiều ký tự, giúp cho việc
quan sát thời gian khi đồng hồ chạy bình thường cũng như lúc cài đặt trực quan và linh hoạt
hơn.

2.5.5.Khối giao tiếp phím bấm

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).

 Điện áp sử dụng: 4.75 - 5.25V


 Dòng đện: 8mA
 Kiểu chân: DIP16
 Nhiệt độ: 0 - 70 độ C

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

2.6.Lựa chọn linh kiện


2.6.1.Vi điều khiển Arduino Uno R3

Hình 2.1: Arduino Uno R3

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

trong khoảng từ 7V đến 20V.

Chân nối đất chung cho toàn mạch Arduino.


Chân GND
PWM PWM được cung cấp bởi các chân 3, 5, 6, 9, 10, 11. Các
chân này được cấu hình để cung cấp PWM đầu ra 8 bit.

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 này được sử dụng để nhận dữ liệu trong khi chân Tx


Chân Rx được sử dụng để truyền dữ liệu.

Chân ngắt Chân 2 và 3 được sử dụng để cung cấp các ngắt ngoài.
ngoài

2.6.2 LCD 16x2 và module I2C Arduino


Là một linh kiện điện tử được sử dụng rộng dãi trong các dự án điện tử và lập
trình. Được sử dụng để hiện thị các trạng thái hoặc thông số.

Hình 2. : màn hình LCD 16x2


Thông số kĩ thuật của LCD 20x4:
- LCD 20x4 có mười sáu chân trong đó tám chân dữ liệu (D0 - D7) và ba chân điều khiển (RS,
RW, EN).
- Năm chân còn lại dùng để cấp nguồn và đèn nền cho LCD 20x4.
- Các chân điều khiển giúp ta dễ dàng cấu hình LCD ở chế độ lệnh hoặc chế độ dữ liệu.

19
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S

- Chúng còn giúp ta cấu hình ở chế độ đọc hoặc ghi.


- Chức năng liên kết các chân LCD
Chân Kí hiệu Mô tả
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 Đ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

A Nguồn dương cho đèn nền


15
16 K GND cho đèn nền

20
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S

Các mã lệnh của LCD


Mã Hex Lệnh đến thanh ghi của LCD
1 Xóa màn hình hiển thị
2 Trở về đầu dòng
4 Giảm con trỏ (dịch con trỏ sang trái)
5 Tăng con trỏ (dịch con trỏ sang phải)
6 Dịch hiển thị sang phải
7 Dịch hiển thị sang trái
8 Tắt con trỏ, tắt hiển thị
A Tắt hiển thị, bật con trỏ
C Bật hiển thị, tắt con trỏ
E Bật hiển thị, nhấp nháy con trỏ
F Tắt hiển thị, nhấp nháy con trỏ
10 Dịch vị trí con trỏ sang trái
14 Dịch vị trí con trỏ sang phải
18 Dịch toàn bộ hiển thị sang trái
1C Dịch toàn bộ hiển thị sang phải
80 Ép con trỏ ở đầu dòng thứ nhất
C0 Ép con trỏ ở đầu dòng thứ hai
Sơ đồ đấu nối

Hình : Sơ đồ đấu nối giao tiếp LCD 20x4 và Arduino

 Để đọ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

2.7 Sơ đồ nguyên lý toàn mạch

22
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S

CHƯƠNG 3: THIẾT KẾ PHẦN MỀM CHO HỆ THỐNG


3.1 Các phần mềm sử dụng để thực hiện đồ án
3.1.1 Phần mềm Proteus
Phần mềm Proteus là một môi trường mô phỏng vi mạch điện tử (Electronic Design
Automation - EDA) và mô phỏng hệ thống nhúng (embedded systems) được phát triển bởi công
ty Labcenter Electronics Ltd. Proteus được sử dụng rộng rãi trong việc thiết kế và mô phỏng các
vi mạch điện tử, PCB (Printed Circuit Board), và hệ thống nhúng.

Ưu điểm của phần mềm proteus

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.

Hướng dẫn sử dụng phần mềm proteus

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ó.

3.1.2 Phần mềm Arduino IDE


Arduino IDE là môi trường phát triển tích hợp mã nguồn mở, cho phép
người dùng dễ dàng viết code và tải nó lên bo mạch. Môi trường phát triển được viết
bằng Java dựa trên ngôn ngữ lập trình xử lý và phần mềm mã nguồn mở khác. Phần mềm
này có thể được sử dụng với bất kỳ bo mạch Arduino nào.
Arduino IDE là một môi trường phát triển tích hợp đa nền tảng, làm việc cùng với một bộ
điều khiển Arduino để viết, biên dịch và tải code lên bo mạch. Phần mềm này cung cấp
sự hỗ trợ cho một loạt các bo mạch Arduino như Arduino Uno, Nano, Mega, Pro hay Pro
Mini, .... Ngôn ngữ tổng quát cho Arduino C vàC++, do đó phần mềm phù hợp cho
những lập trình viên đã quen thuộc với cả 2 ngôn ngữ này. Các tính năng như làm nổi bật
cú pháp, thụt đầu dòng tự động, ... làm cho nó trở thành một sự thay thế hiện đại cho các
IDE khác. Arduino IDE có thư viện code mẫu quá phong phú, viết chương trình trên
Arduino IDE khá dễ dàng cộng thêm OpenSource viết riêng cho Arduino thì ngày càng
nhiều.

25
Đồ Án Học Phần: Vi Xử Lý GVHS: T.S

Hình 2. : Giao diện phần mềm Arduino IDE

Đâ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

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

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:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy