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

THIẾT KẾ, CHẾ TẠO MẠCH QUANG BÁO TỪ XA QUA TIN NHẮN ĐIỆN THOẠI

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.99 MB, 106 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH

KHOÁ LUẬN TỐT NGHIỆP

THIẾT KẾ, CHẾ TẠO MẠCH QUANG BÁO TỪ XA QUA TIN
NHẮN ĐIỆN THOẠI

Họ Và Tên Sinh Viên: TRƯƠNG VĂN LÊ
NGUYỄN PHÚC HUY
Ngành: CƠ ĐIỆN TỬ
Niên khóa: 2013-2017

Tháng 06/2017


THIẾT KẾ, CHẾ TẠO MẠCH QUANG BÁO TỪ XA QUA TIN NHẮN
ĐIỆN THOẠI

Tác giả

TRƯƠNG VĂN LÊ
NGUYỄN PHÚC HUY

Khóa luận được đệ trình để đáp ứng yêu cầu
cấp bằng Kỹ sư ngành
Cơ điện tử

Giảng viên hướng dẫn
Th.s NGUYỄN TẤN PHÚC


Tháng 06 năm 2017

2


TRƯỜNG ĐẠI HỌC NÔNG LÂM TPHCM

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

KHOA CƠ KHÍ- CÔNG NGHỆ

ĐỘC LẬP – TỰ DO – HẠNH PHÚC

Ngày 10 tháng 01 năm 2017

NHIỆM VỤ KHÓA LUẬN TỐT NGHIỆP
KHOA: CƠ KHÍ CÔNG NGHỆ
BỘ MÔN: Cơ Điện Tử
Họ và tên sinh viên:

Trương Văn Lê

MSSV: 13153144

Nguyễn Phúc Huy

MSSV: 13153115

1. Tên đề tài:
2.


3.
4.
5.

Thiết kế, chế tạo mạch quang báo từ xa qua tin nhắn điện thoại.
Nhiệm vụ giao (ghi rõ nội dung phải thực hiện):
Tìm hiểu các bảng quang báo thông tin hiện nay.
Thiết kế 1 bảng quang báo dùng led ma trận kích thước 80cm x 30cm.
Tìm hiểu module sim900a truyền nhận dữ liệu từ điện thoại di động.
Điều khiển bảng thông tin quang báo dùng điện thoại di động.
Ngày giao: 14/02/2017.
Ngày hoàn thành: 04/06/2017.
Họ và tên người hướng dẫn:
Nội dung hướng dẫn
Th.S Nguyễn Tấn Phúc
Toàn bộ

Nội dung và yêu cầu LA đã được thông qua Bộ môn
Ngày ….tháng ….năm 2017

Người hướng dẫn
Ký tên, ghi rõ họ và tên

Trưởng Bộ Môn

PHẦN DÀNH CHO KHOA:
- Người duyệt:
- Ngày bảo vệ:


LỜI CẢM ƠN

3


Trong thời gian thực hiện đồ án nhóm thực hiện đã nhận được sự giúp đỡ rất tận tình
từ quý thầy cô trong và ngoài khoa Cơ Khí – Công Nghệ, cũng như các bạn cùng làm
đồ án tại phòng thực hành CK6. Nhờ sự giúp đỡ đó, nhóm đã hoàn thành tốt đồ án tốt
nghiệp của mình.
Nhóm thực hiện xin gửi lời cảm ơn sâu sắc đến giáo viên hướng dẫn Th.S Nguyễn
Tấn Phúc, thầy đã trực tiếp hướng dẫn và hỗ trợ giúp nhóm thực hiện đồ án một cách
thuận lợi và hoàn thành tốt đồ án.
Nhóm cũng xin gửi lời cảm ơn đến ban chủ nhiệm và các thầy cô trong khoa Cơ KhíCông nghệ đã giúp đỡ, đóng góp ý kiến quý báu cũng như bố trí cho nhóm được làm
việc trực tiếp tại phòng thực hành CK6, giúp công việc của nhóm được thuận lợi hơn.
Đồng thời, nhóm xin gửi lời cám ơn đến các bạn cùng thực hiện đồ án tại phòng thực
hành CK6 đã chia sẽ trao đổi kiến thức cũng như kinh nghiệm trong thời gian thực
hiện đề tài.
Nhóm xin chân thành cảm ơn!
Nhóm thực hiện đề tài

4


TÓM TẮT
Đề tài: “Thiết kế, chế tạo mạch quang báo từ xa qua tin nhắn điện thoại” được thực
hiện tại Khoa Cơ Khí – Công Nghệ, Trường Đại Học Nông Lâm Thành Phố Hồ Chí
Minh. Thời gian thực hiện từ tháng 2 đến tháng 6 năm 2017.
Đề tài đã thực hiện thành công việc nghiên cứu của mô hình mạch quang báo và thiết
kế, ứng dụng thành công mô hình mạch quang báo sử dụng tin nhắn điện thoại để hiển
thị nội dung.

Hoàn thành bài báo cáo hoàn chỉnh về phương pháp và trình tự các bước nghiên cứu,
thiết kế, xây dựng mô hình hóa, và kết quả thử nghiệm. Là tiền đề cho các khóa sau
tham khảo, tiếp tục phát triển và tối ưu hóa đề tài.
Nội dung báo cáo được trình bày theo bố cục sau:
-

Chương 1: MỞ ĐẦU.
Chương 2: TỔNG QUAN.
Chương 3: NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU.
Chương 4: KẾT QUẢ VÀ THẢO LUẬN.
Chương 5: KẾT LUẬN VÀ ĐỀ NGHỊ.

Vì nhiều lý lo khách quan, cũng như thời gian và độ rộng lớn của đề tài, nên dù đã cố
gắng nhưng phương pháp nghiên cứu của chúng em không tránh khỏi những thiếu sót.
Chúng em rất mong nhận được sự đóng góp ý kiến của quý thầy/cô và bạn bè để đề tài
của em càng được hoàn thiện hơn.

5


MỤC LỤC
Trang
Trang tựa
Lời cảm ơn
Tóm tắt
Mục lục
Danh sách các chữ viết tắt
Danh sách các hình
Danh sách các bảng


DANH MỤC CÁC CHỮ VIẾT TẮT
Các chữ viết tắt:
IC – Integrated Circuit.
I/O – Input/ Output.
PIC – Programmable Intelligent Computer.
6


CPU – Central Processing Unit.
ALU – Arithmetic Logic Unit.
ROM – Read – Only Memory.
RAM – Random Access Memory.
ADC – Analog – to – Digital Converter.
RISC – Reduced Instrucsion Set Computer .
CISC – Complex Instruction Set Computer.
EEPROM – Electrically Erasable Progammable- Read Only Memory.
USART – Universal Synchronous Asynchronous Receiver Transmitter.
SMS – Short Message Service.

DANH MỤC CÁC HÌNH

7


DANH MỤC CÁC BẢNG

8


9



Chương 1
MỞ ĐẦU
1.1 ĐẶT VẤN ĐỀ

Thông tin liên lạc là vấn đề quan trọng trong xã hội. Ngay từ xa xưa con người đã
biết những gì có sẵn để truyền tin như: lửa, âm thanh, các dấu hiệu…
Ngày nay với sự phát triển của xã hội thì ngày càng có nhiều cách để tiếp cận với
những thông tin mới. Ta có thể biết được những thông tin qua báo chí, truyền hình,
mạng internet, qua các pano, áp phích…. Thông tin cần truyền đi nhanh chóng kịp thời
và phổ biến rộng rãi trong toàn xã hội. Và thu thập thông tin kịp thời, chính xác là yếu
tố hết sức quan trọng trong sự thành công của mọi lĩnh vực. Để đáp ứng nhu cầu đó,
các thiết bị được điều khiển từ xa qua thiết bị di động hoặc điều khiển trực tiếp qua hệ
thống máy tính.
Việc sử dụng vi điều khiển trong quang báo có rất nhiều ưu điểm mà các phương
pháp truyền thống như: áp phích, pano không thể so sánh được như việc thay đổi
thông tin một cách nhanh chóng, chính xác, thông tin hiển thị có thể chuyển động màu
sắc phong phú...
Với nhu cầu thực tiễn như vậy nên nhóm thực hiện quyết định chọn đề tài: “Thiết
kế, chế tạo mạch quang báo từ xa qua tin nhắn điện thoại”
1.2 NỘI DUNG ĐỀ TÀI
- Tìm hiểu các bảng quang báo thông tin hiện nay.
- Thiết kế 1 bảng quang báo dùng led ma trận kích thước 80cm x30cm.
- Tìm hiểu module Sim900A truyền nhận dữ liệu từ điện thoại.
- Điều khiển bảng thông tin quang báo dùng điện thoại di động.

10



1.3 MỤC TIÊU ĐỀ TÀI
2 Sau khi xác định được đối tượng, chủ thể, việc xác định mục tiêu sẽ là bước

quan trọng kế tiếp nhằm định hướng đúng đắn cho quy trình thực hiện đề tài. Mục tiêu
đề tài được thể hiện cụ thể như sau:



Hoàn thành tốt khóa luận tốt nghiệp.
Áp dụng lý thuyết đã học vào thực tế phát huy những khả năng của vi điều
khiển và các thiết bị công nghệ cao nhằm tạo ra những sản phẩm có tính ứng



dụng cao trong cuộc sống hằng ngày.
Thiết kế, chế tạo và hoàn thiện mô hình mạch quang báo từ xa qua tin nhắn






điện thoại.
Cải thiện khả năng làm việc nhóm.
Tăng khả năng tự nghiên cứu cũng như tự học.
Bước đầu tiếp xúc với thực tế.
Vận dụng các kiến thức đã có đồng thời tìm tòi những kiến thức mới để hiểu

sâu sắc hơn trong lĩnh vực này.
1.4 GIỚI HẠN ĐỀ TÀI

3 Trong khuôn khổ của đề tài nhóm thực hiện xin được giới hạn như sau:

Font chữ hiển thị trên quang báo là font chữ không dấu.
Chỉ có một hiệu ứng chạy từ phải sang trái.
1.5 LỊCH SỬ PHÁT TRIỂN



4 Thời cổ đại người Ai Cập đã viết thông điệp bán hàng trên các áp phích, giấy

dán tường để quảng bá thông tin đến người dân. Chiến dịch làm quảng cáo chính trị
được báo trên các bức tường của Pompeii. Làm thương mại thô sơ đã tồn tại ở các
Quốc gia như Hy Lạp, Rome, Arabia, châu Á, châu Phi và Nam Mỹ.
5 Thời Trung Cổ, hầu hết mọi người không thể đọc, nhưng những hình ảnh của

quần áo, giày dép, giày ngựa hoặc túi bột… trên những tấm bảng hiệu quảng cáo nhằm
diễn tả những thợ may, thợ đóng giày, thợ rèn…
6 Vào thế kỷ thứ 17, được lan truyền mạnh mẽ, quảng cáo được in trên tờ gấp để

quảng bá thuốc và những cuốn sách đã được in trên các ấn phẩm hàng tuần.

11


7 Thế kỷ thứ 19 nghành quảng cáo ngày càng phát triển rộng hơn. Quảng cáo

phát triển với sự gia tăng của sản xuất hoàng loạt từ cuối thế kỷ thứ 19. Năm 1836 ở
Pháp, tờ báo La Presse đã cho đăng các quảng cáo trả tiền trên trang báo của họ.
8 Ở thế kỷ 20, Quảng cáo đã trở thành một nghành quan trọng trong cuộc sống


nói chung và nghành kinh doanh nói riêng. Quảng cáo phổ biến trên các đài phát thanh
vào những năm 1920. Với sự xuất hiện của truyền hình vào những năm 1940, các
mạng lưới quảng cáo trên các chương trình tivi dành cho các nhà tài trợ.
9 Thế kỷ 21 quảng cáo tiếp tục phát triển trong tất cả các nghành truyền thông đại

chúng bao gồm báo, tạp chí, đài phát thanh, truyền hình, bảng quảng cáo, quảng cáo
trực tuyến…
1.6 ĐỐI TƯỢNG NGHIÊN CỨU
- Tìm hiểu về module Sim900A.
- Tìm hiều về vi điều khiển PIC18F4520.
- Tìm hiểu phương pháp lập trình CCS cho PIC.
- Tìm hiểu về IC 74HC595.
- Tìm hiểu về transistor D468.
- Tìm hiểu về phương pháp điều khiển Led ma trận.
- Tìm hiểu module ổn áp LM2596.
- Bảng quang báo led ma trận 16x64 điểm ảnh.
1.7 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN
- Ý nghĩa khoa học:
• Từ kết quả nghiên cứu của đề tài góp phần làm cơ sở thực tiễn và lý luận để


phát triển mô hình hoàn chỉnh có thể thương mại hóa.
Góp phần thêm nội dung, kiến thức phong phú thêm giáo trình phục vụ cho



việc giảng dạy.
Là cơ sở tiền đề cho các khóa sau phát triển ý tưởng và hoàn chỉnh thêm mô

hình.

- Ý nghĩa thực tiễn:
• Làm bảng quảng cáo cho siêu thị, sân bay, rạp chiếu phim, nhà hàng…
• Làm bảng hiệu cho các cửa hàng, trung tâm thương mại.
• Sử dụng trong trường học: thông báo lịch học, tuyển sinh.
• Làm bảng thông báo trong các cơ quan hành chính: ngân hàng, bưu điện,
công ty xổ số kiến thiết, Ủy ban nhân dân, chi cục thuế.
1.8 KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC
- Mô hình mạch quang báo từ xa qua tin nhắn điện thoại sms với chức năng hiển
thị thông tin dùng điện thoại di động cụ thể như sau:
12








Kích thước mô hình: 80cm x 30cm
Lập trình điều khiển vi điều khiển PIC18F4520 trên ngôn ngữ CCS.
Điều khiển led ma trận theo phương pháp quét hàng.
Lập trình giao tiếp giữa module Sim900A và vi điều khiển.
Độ ổn định và tính chính xác của mô hình.

13


10 Chương 2
11 TỔNG QUAN
2.1 GIỚI THIỆU VỀ CÁC LOẠI QUANG BÁO

12 Loại quang báo mà nội dung hiển thị của nó được lưu trữ trong bộ nhớ ROM.
Loại quang báo này rất bất tiện vì khi muốn thay đổi nội dung của nó ta cần phải nạp
lại nội dung trong ROM, điều đó thì rất bất tiện và không có tính kinh tế. Chính vì vậy
mà nó ít được sử dụng.
13 Loại quang báo giao tiếp với bàn phím: để nhập nội dung cần hiển thị ta chỉ

cần dùng bàn phím nhập vào nội dung, nó có thể thay đổi nội dung cần hiển thị một
cách nhanh chóng nhưng khả năng hiển thị của nó bị giới hạn vì nó chỉ có thể hiển thị
các chữ cái đơn giản.
14 Loại quang báo giao tiếp với máy tính: loại quang báo này được điều khiển

bằng máy vi tính, khả năng hiển thị của nó rất đa dạng. Thông thường loại quang báo
này được thiết kế để truy xuất từng điểm.
15 Loại quang báo giao tiếp kết hợp giữa Kit vi điều khiển với máy tính: loại này

được sử dụng rất phổ biến vì tính đa dạng và phong phú của nó. Nó rất thuận tiện khi
thay đổi nội dung hiển thị cũng như khả năng hiển thị một cách chính xác và nhanh
chóng thông qua màn hình giao tiếp của máy vi tính.
2.1. 1 Mẫu một dòng chữ (16x240 điểm ảnh)

16


nh 2.1: Bảng led 16x240 điểm ảnh

14


-


Các thông số kỹ thuật:
• Kích thước hiển thị: chiều cao 122mm, chiều dài tùy ý (thường là bội của




305mm).
Độ phân giải (số điểm ảnh): 16 x 40 x (chiều dài hiển thị/305).
Kết nối chuẩn (Máy tính, cổng COM) tùy chọn (RJ45, Ban phím).
Bảng này có thể hiện thị một dòng chữ cao 122mm (16 điểm ảnh- như hình
trên) hoặc hai dòng chữ cao 61mm (8 điểm ảnh) nhưng không dấu Tiếng
Việt.

2.1. 2 Mẫu hai dòng chữ (32 x 240 điểm ảnh)

17

18 Hình 2.2: Bảng Led 32x240 Điểm Ảnh
-

Các thông số kỹ thuật:
• Kích thước hiển thị: chiều cao 244mm, chiều dài tùy ý (thường là bội của




305mm).
Độ phân giải (số điểm ảnh): 32 x 240 x (chiều dài hiển thị/305).
Kết nối chuẩn (Máy tính, cổng COM) tùy chọn (RJ45).
Bảng này có thể hiển thị hai dòng chữ cao 122mm (16 điểm ảnh- như hình

trên) hoặc một dòng chữ cao 244mm (32 điểm ảnh).

2.2 TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC
19 PIC là viết tắt của “Programable Intelligent Computer”, có thể tạm dịch là “máy

tính thông minh khả trình” do hãng General Instrument đặt tên cho vi điều khiển đầu
tiên của họ: PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho vi điều khiển
CP1600. Vi điều khiển này sau đó được nghiên cứu phát triển thêm và từ đó hình nên
dòng vi điều khiển PIC ngày nay.
2.2. 1 Cấu trúc của vi điều khiển
-

CPU: là trái tim của hệ thống. Là nơi quản lí tất cả hoạt động của Vi Điều
Khiển. Bên trong CPU gồm:
• ALU: là bộ phận thao tác trên các dữ liệu
15


+

Bộ giải mã lệnh và điều khiển, xác định các thao tác mà CPU cần thực

hiện.
Thanh ghi lệnh IR, lưu giữ opcode của lệnh được thực thi.
Thanh ghi PC, lưu giữ địa chỉ của lệnh kế tiếp cần thực thi.
Một tập các thanh ghi dùng để lưu thông tin tạm thời.
ROM: là bộ nhớ dùng để lưu giữ chương trình. ROM còn dùng để chứa số

+
+

+


liệu, các tham số hệ thống, các số liệu cố định của hệ thống. Trong quá trình
hoạt động nội dung ROM là cố định, không thể thay đổi, nội dung ROM chỉ


thay đổi khi ROM ở chế độ xóa hoặc nạp chương trình.
RAM: là bộ nhớ dữ liệu. Bộ nhớ RAM dùng làm môi trường xử lý thông
tin, lưu trữ các kết quả trung gian và kết quả cuối cùng của các phép toán,
xử lí thông tin. Nó cũng dùng để tổ chức các vùng đệm dữ liệu, trong các



thao tác thu phát, chuyển đổi dữ liệu.
BUS: là các đường dẫn dùng để di chuyển dữ liệu. Bao gồm: bus địa chỉ,




bus dữ liệu và bus điều khiển.
BỘ ĐỊNH THỜI: được sử dụng cho các mục đích chung về thời gian.
WATCHDOG: bộ phận dùng để reset lại hệ thống khi hệ thống gặp “bất



thường”.
ADC: bộ phận chuyển tín hiệu analog sang tín hiệu digital. Các tín hiệu bên
ngoài đi vào vi điều khiển thường ở dạng analog. ADC sẽ chuyển tín hiệu
này về dạng tín hiệu digital mà vi điều khiển có thể hiểu được.


2.2. 2 Kiến trúc vi điều khiển PIC
20 Cấu trúc phần cứng của một vi điều khiển được thiết kế theo hai dạng cấu trúc:

kiến trúc von- Neuman và kiến trúc Havard.
21

16


22 Hình 2.3: Kiến trúc Harvard và kiến trúc von-Neumann
23 Tổ chức phần cứng của PIC được thiết kế theo kiến trúc Harvard. Điểm khác

biệt giữa kiến trúc Harvard và kiến trúc Von-Neumann là cấu trúc bộ nhớ dữ liệu và bộ
nhớ chương trình.
24 Đối với kiến trúc Von-Neumann, bộ nhớ dữ liệu và bộ nhớ chương trình nằm

chung trong một bộ nhớ, do đó ta có thể tổ chức, cân đối một cách linh hoạt bộ nhớ
chương trình và bộ nhớ dữ liệu. Tuy nhiên điều này chỉ có ý nghĩa khi tốc độ xử lí của
CPU phải rất cao, vì với cấu trúc đó, trong cùng một thời điểm CPU chỉ có thể tương
tác với bộ nhớ dữ liệu hoặc bộ nhớ chương trình. Như vậy có thể nói kiến trúc VonNeumann không thích hợp với cấu trúc của một vi điều khiển.
25 Đối với kiến trúc Harvard, bộ nhớ dữ liệu và bộ nhớ chương trình tách ra thành

hai bộ nhớ riêng biệt. Do đó trong cùng một thời điểm CPU có thể tương tác với cả hai
bộ nhớ, như vậy tốc độ xử lí của vi điều khiển được cải thiện đáng kể.
26 Một điểm cần chú ý nữa là tập lệnh trong kiến trúc Harvard có thể được tối ưu

tùy theo yêu cầu kiến trúc của vi điều khiển mà không phụ thuộc vào cấu trúc dữ liệu.
Ví dụ, đối với vi điều khiển dòng 16F, độ dài lệnh luôn là 14 bit (trong khi dữ liệu
được tổ chức thành từng byte), còn đối với kiến trúc Von-Neumann, độ dài lệnh luôn là

bội số của 1 byte (do dữ liệu được tổ chức thành từng byte).
2.2. 3 Risc Và Cisc
27 Như đã trình bày ở trên, kiến trúc Harvard là khái niệm mới hơn so với kiến

trúc Von-Neumann. Khái niệm này được hình thành nhằm cải tiến tốc độ thực thi của
một vi điều khiển. Qua việc tách rời bộ nhớ chương trình và bộ nhớ dữ liệu, bus
chương trình và bus dữ liệu, CPU có thể cùng một lúc truy xuất cả bộ nhớ chương
trình và bộ nhớ dữ liệu, giúp tăng tốc độ xử lí của vi điều khiển lên gấp đôi. Đồng thời
cấu trúc lệnh không còn phụ thuộc vào cấu trúc dữ liệu nữa mà có thể linh động điều
chỉnh tùy theo khả năng và tốc độ của từng vi điều khiển. Và để tiếp tục cải tiến tốc độ
thực thi lệnh, tập lệnh của họ vi điều khiển PIC được thiết kế sao cho chiều dài mã
lệnh luôn cố định (ví dụ đối với họ 16Fxxxx chiều dài mã lệnh luôn là 14bit) và cho
phép thực thi lệnh trong một chu kì của xung clock (ngoại trừ một số trường hợp đặc
17


biệt như lệnh nhảy, lệnh gọi chương trình con…cần hai chu kì xung đồng hồ). Điều
này có nghĩa tập lệnh của vi điều khiển thuộc kiến trúc Harvard sẽ ít lệnh hơn, ngắn
hơn, đơn giản hơn để đáp ứng yêu cầu mã hóa lệnh bằng một số lượng bit nhất định.
28 Vi điều khiển được tổ chức theo kiến trúc Harvard còn được gọi là vi điều

khiển RISC (Reduced Instrucsion Set Computer) hay vi điều khiển có tập lệnh rút gọn.
Vi điều khiển được thiết kế theo kiến trúc Von-Neumann còn được gọi là vi điều khiển
CISC (Complex Instruction Set Computer) hay vi điều khiển có tập lệnh phức tạp vì
mã lệnh của nó không phải là một số cố định mà luôn là bội số của 8 bit (1byte).
2.2. 4 Pipelining
29 Đây chính là cơ chế xử lí lệnh của các vi điều khiển PIC. Một chu kì lệnh của

vi điều khiển sẽ bao gồm 4 xung clock. Ví dụ ta sử dụng oscillator có tần số 4MHz, thì
xung lệnh sẽ có tần số 1MHz (chu kì lệnh sẽ là 1us). Giả sử ta có một đoạn chương

trình như sau:
1.
2.
3.
4.
5.

MOVLW
55h
MOVWF
PORTB
CALL
SUB_1
BSF
PORTA.BIT3
instruction@address SUB_1

30 Ở đây ta chỉ bàn đến qui trình vi điều khiển xử lí đoạn chương trình trên thông

qua từng chu kì lệnh. Quá trình trên sẽ được thực thi như sau:

31

32 Hình 2.4: Cơ chế pipelining
18


-

TCY0: đọc lệnh 1

TCY1: thực thi 1, đọc lệnh 2
TCY2: thực thi lệnh 2, đọc lệnh 3
TCY3: thực thi lệnh 3, đọc lệnh 4.
TCY4: vì lệnh 4 không phải là lệnh sẽ được thực thi theo qui trình thực thi của
chương trình (lệnh tiếp theo được thực thi phải là lệnh đầu tiên tại label
SUB_1) nên chu kì thực thi lệnh này chỉ được dùng để đọc lệnh đầu tiên tại

-

label SUB_1. Như vậy có thể xem lệnh 3 cần 2 chu kì xung clcok để thực thi.
TCY5: thực thi lệnh đầu tiên của SUB_1 và đọc lệnh tiếp theo của SUB_1.
Quá trình này được thực hiện tương tự cho các lệnh tiếp theo của chương
trình.

33 Thông thường, để thực thi một lệnh, ta cần một chu kì lệnh để gọi nó, và một

chu kì xung clock nữa để giãi mã và thực thi lệnh. Với cơ chế pipelining được trình
bày ở trên, mỗi lệnh xem như chỉ được thực thi trong một chu kì lệnh. Đối với các lệnh
mà quá trình thực thi nó làm thay đổi giá trị thanh ghi PC (Program Counter) cần hai
chu kì lệnh để thực thi vì phải thực hiện việc gọi lệnh ở địa chỉ thanh ghi PC chỉ tới.
Sau khi đã xác định đúng vị trí lệnh trong thanh ghi PC, mỗi lệnh chỉ cần một chu kì
lệnh để thực thi xong.
34
2.2. 5 Các dòng pic và cách lựa chọn vi điều khiển pic
35 Các kí hiệu của vi điều khiển PIC:
-

PIC12xxxx: độ dài lệnh 12bit.
PIC16xxxx: độ dài lệnh 14bit.
PIC18xxxx: độ dài lệnh 16bit.

C: PIC có bộ nhớ EEPROM (chỉ có 16C84 là EEPROM).
F: PIC có bộ nhớ FLASH.
LF: PIC có bộ nhớ flash hoạt động ở điện áp thấp.
LV: tương tự như LF, đây là kí hiệu cũ.

36 Bên cạnh đó một số vi điều khiển có kí hệu xxFxxx là EEPROM, nếu có thêm

chữ A ở cuối là flash (ví dụ PIC16F877 là EEPRPOM, còn PIC16F887A là flash).
37 Ngoài ra còn có thêm một dòng vi điều khiển PIC mới là dsPIC.

19


38 Ở Việt Nam phổ biến nhất là các họ vi điều khiển PIC do hãng Microchip sản

xuất.
39 Cách lựa chọn một vi điều khiển PIC phù hợp:
-

Trước hết cần chú ý đến số chân của vi điều khiển PIC cần thiết cho ứng dụng.
Có nhiều vi điều khiển PIC với số lượng chân khác nhau, thậm chí có vi điều

-

khiển chỉ có 8 chân, ngoài ra còn có các vi điều khiển 28, 40, 44,… chân.
Cần chọn vi điều khiển PIC có bộ nhớ flash để có thể nạp xóa chương trình

-

được nhiều lần hơn.

Tiếp theo cần chú ý đến các khối chức năng được tích hợp sẵn trong vi điều

-

khiển, các chuẩn giao tiếp bên trong.
Sau cùng cần chú ý đến các khối bộ nhớ chương trình mà vi điều khiển cho

-

phép.
Ngoài ra mọi thông tin về cách lựa chọn vi điều khiển PIC có thể được tìm
thấy trong cuốn sách “Select PIC guide” do nhà sản xuất Microchip cung cấp.
40

2.2. 6 Ngôn ngữ lập trình
41 Ngôn ngữ lập trình cho PIC rất đa dạng. Ngôn ngữ lập trình cấp thấp có

MPLAB (được cung cấp miễn phí bởi nhà cung cấp Microchip), các ngôn ngữ lập
trình cấp cao hơn bao gồm C, Basic, Pascal,…Ngoài ra còn có một số ngôn ngữ lập
trình được phát triển rieng dành cho PIC như PICBasic, MicroBasic…
2.2. 7 Giới thiệu về vi điều khiển sử dụng trong mạch PIC18F4520
42

20


43

44 Hình 2.5: PIC18F4520


21


45
46 Hình 2.6: Sơ đồ chân PIC18F4520
22


47 Chức năng các chân:
-

Chân (1) /VPP/RE3:
• : là đầu vào Master Clear (reset) hoạt động ở mức thấp để reset toàn bộ thiết



bị.
VPP: dùng để thay đổi điện áp đầu vào.
RE3: đầu vào số.

48 Các chân thuộc cổng vào ra của Port A
-

Chân (2) RA0/AN0:
RA0 là cổng vào ra số
AN0 là đầu vào tương tự Input0.
Chân (3) RA1/AN1:
• RA1 là cổng vào ra số
• AN1 là đầu vào tương tự Input1.
Chân (4) RA2/AN2/VRFF-/CVREF:

• RA2 là cổng vào ra số.
• AN2 là đầu vào tương tự Input2.
• VRFF- là đầu vào tương tự chuyển đổi A/D điện áp tham chiếu (mức thấp).
• CVREF là đầu ra tương tự để so sánh điện áp chuẩn.
Chân (5) RA3/AN3/VRFF+:
• RA3 là cổng vào ra số.
• AN3 là đầu vào tương tự Input3.
• VRFF+ là đầu vào tương tự chuyển đổi A/D điện áp tham chiếu (mức cao).
Chân (6) RA4/T0CKI/C1OUT:
• RA4 là đầu vào ra số.
• T0CKI là đầu vào xung bên ngoài của Timer0.
• C1OUT là đầu ra bộ so sánh 1.
Chân (7) RA5/AN4/HLVDIN/C2OUT:
• RA5 là cổng vào ra số.
• AN4 là đầu vào tương tự Input4, chọn đầu vào phụ thuộc SPI.
• HLVDIN là đầu vào tương tự để dò điện áp.
• C2OUT là đầu ra bộ so sánh 2.
Chân (13) OSC1/CLKI/RA7:
• OSC1 là đầu vào bộ dao động thạch anh hoặc là đầu vào nguồn cung bên



-

-

-

-


-

-

ngoài, khi ta nối dây với các thiết bị tương tự thì đầu vào này dạng ST


-

(Schmitt Trigger Input With CMOS levels).
CLKI là đầu vào CMOS cho nguồn xung bên ngoài và luôn được phép nối
với chân OSC1.
RA7 là chân vào ra sử dụng chung.
Chân (14) OSC2/CLKO/RA6:
23




OSC2 là đầu ra bộ dao động thạch anh được nối với thạch anh hoặc bộ cộng




hưởng để lựa chọn dạng bộ dao động thạch anh.
CLK0 có tần số bằng ¼ tần số của OSC1 độ rộng chu kì lệnh.
RA6 là đầu vào ra chung

49 Các chân cổng vào ra hai chiều PORT B. PORT B có thể lập trình bằng phần


mềm khi cho kéo đầu vào bên trong yếu lên trên toàn bộ đầu vào.
-

-

-

-

-

-

-

-

Chân (33) RB0/INT0/FLT0/AN12:

RB0 là cổng vào ra số.
• INT0 là đầu vào ngắt Interrupt 0
• FLT0 là đầu vào báo lỗi PWM được tăng cường CCP1.
• AN12 là đầu vào tương tự Input12.
Chân (34) RB1/INT1/AN10:
• RB1 là đầu vào ra số.
• INT1 là đầu vào ngắt ngoài Interrupt1
• AN10 đầu tương tự Input 10.
Chân RB4 (37), RB5 (38): xuất nhập số.
Chân (35) RB2/INT2/AN8:
• RB2 là đầu vào ra số

• INT2 là đầu vào ngắt ngoài Interrupt2.
• AN8 là đầu tương tự Input 8.
Chân (36) RB3/AN9/CCP2:
• RB3 là đầu vào ra số
• AN9 là đầu tương tự Input 9.
• CCP2 (Capture 2 Input/Compare 2 output/PWM2 Output).
Chân (37) RB4/KBI0/AN11:
• RB4 là đầu vào ra số
• KBI0 thay đổi mở ngắt.
• AN11 là đầu tương tựu Input9.
Chân (38) RB5/KBI1/PGM:
• RB5 là đầu vào ra số.
• KBI1 thay đổi mở ngắt.
• PGM cho phép có thể lập trình ISCPTM ở điện áp thấp.
Chân (39) RB6/KBI2/PGC:
• RB6 là đầu vào ra số
• KBI2 thay đổi mở ngắt.
• PGC chân dùng trong mạch chạy và xung lập trình ICSP.
Chân (40) RB7/KBI3/PGD:
• BR7 là đầu vào ra số.
• KBI23 thay đổi mở ngắt.
• PGD chân dùng trong mạch chạy và xung lập trình ICSP.
24


50 Các chân cổng PORT C
-

-


-

-

-

-

-

-

Chân (15) RC0/ T1OSO/T13CKI:
• RC0 là đầu vào ra số.
• T1OSO là đầu ra bộ dao động Timer1
• T13CKI là đầu vào xung bên ngoài Timer1/Timer3.
Chân (16) RC1/T1OSI/CCP2:
• RC1 là đầu vào ra số.
• T1OSI là đầu vào bộ dao động Timer1.
• CCP2 (Capture 2 Input/Compare 2 Output/PWM2 Output).
Chân (17) RC2/CCP1/P1A:
• RC2 là đầu vào ra số
• CCP1 (Capture1 input/Compare 1 output/PWM1 output).
• P1A là đầu ra tang cường CCP1.
Chân (18) RC3/SCK/SCL:
• RC3 là đầu vào ra số.
• SCK là đầu vào ra đưa chuỗi xung vào ra cho SPI lựa chọn.
• SCL là đầu vào ra đưa chuỗi xung vào ra cho I2CTM lựa chọn.
Chân (23) RC4/SDI/SDA:
• RC4 là đầu vào ra số.

• SDI đầu vào dữ liệu API.
• SDA đầu vào ra dữ liệu cho I2C.
Chân (24) RC5/SDO:
• RC5 là đầu vào ra số.
• SDO là đầu ra dữ liệu SPI.
Chân (25) RC6/TX/CK:
• RC6 là đầu vào ra số
• TX là đầu ra chuyển đổi dị bộ EUSARRT.
• CK đầu vào ra xung đồng bộ EUSART.
Chân (26) RC7/RX/TD:
• RC7 là đầu vào ra số.
• RX là đầu vào nhận dị bộ EUSART.
• DT là đầu vào ra dữ liệu đồng bộ EUSART.

51 Các chân cổng PORT D (PORTD có thể vào ra hai hướng hoặc cổng song song

phụ thuộc (PSP) cho giao diện vi xử lý và khi đó các đầu vào phải là TTL.
Chân (19) RD0/PSP0:
RD0 là đầu vào ra số.
PSP0 là cổng dữ liệu song song phụ thuộc.
Chân (20) RD1/PSP1:
• RD1 là đầu vào ra số.
• PSP1 là cổng dữ liệu song song phụ thuộc.
Chân (21) RD2/PSP2:
-




25



×