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

Mạch đo khoảng cách sử dụng PIC16F877A dùng sóng siêu âm

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 (633.2 KB, 27 trang )

MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM
CHƯƠNG 1: PHÂN TÍCH HỆ THỐNG
1. Giới thiệu về mạch đo khoảng cách sử dụng pic16f877A

Mạch đo khoảng cách được dùng để đo khoảng cách nhất định qua sóng siêu âm.Mạch
này có thể ứng dụng như đo khoảng cách,công nghiệp robot,phát hiện sự vật…
Mạch sử dụng pic16f877A,LCD để hiện thị kết quả,bộ cảm biến phát và thu sóng siêu
âm,giao tiếp với máy tính qua RS232.

Hình 1: Sơ đồ khối hệ thống mạch đo khoảng cách sử dụng pic16f877A bằng sóng siêu âm.
2. Nguyên lý hoạt động của sơ đồ

Theo sơ đồ trên,mạch đo khoảng cách được ứng dụng để đo mực nước trong bể,từ đó ta
điều khiển lưu lượng nước vào bể bằng cách điều khiển động cơ bước.Từ cảm biến sóng
siêu âm và Pic16f877a ta đo được mực nước của bể.Kết quả sẽ được hiển thị lên LCD và
được lưu vào máy tính thông qua giao tiếp RS232.Đồng thời với kết quả đo được ta điều
chỉnh mạch khuếch đại để điều khiển động cơ bước điều khiển lưu lượng nước bơm vào
bể cho thích hợp.
3. Hoạt động của từng khối trong sơ đồ
3.1 Bộ cảm biến phát và thu sóng siêu âm
Trong đề tài này,ta sử dụng cảm biến thu và phát sóng siêu âm SRF05.
Cảm biến này có 2 bộ phận: bộ phận truyền sóng siêu âm ultrasonic transmitter và bộ
phận nhận sóng phản hồi ultrasonic receiver:

Nhóm 2

Page 1


MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM


Hình 2: module có cảm biến SRF05 nối với pic16f877A
Nguyên tắc hoạt động của cảm biến là từ đầu ra của pic PWM ta phát 1 xung có
tần số 40Khz truyền trực tiếp tới bộ phận truyền sóng siêu âm của cảm biến.Sóng siêu
âm sẽ được truyền theo 1 hướng có khoảng cách không quá 50cm.Sóng siêu âm đập
vào vật và sẽ bị bắn ngược trở về và sẽ được bộ phận thu sóng thu lại.

Hình 3: Nguyên lý thu phát sóng siêu âm
Mạch thu phát sóng sẽ được nối với Pic16f877A qua chân RC2 (để phát xung PWM)
và chân RA1.

Nhóm 2

Page 2


MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM

CHƯƠNG 2: GIỚI THIỆU CÁC THIẾT BỊ SỬ DỤNG TRONG
HỆ THỐNG
1. Giới thiệu cảm biến siêu âm SRF05

Hình 2.1 Cảm biến siêu âm SRF05
Cảm biến siêu âm SRF05 là một bước tiến hóa từ cảm biến siêu âm SRF04 và
được thiết kế để tăng tính linh hoạt,tăng phạm vi,giảm chi phí. Phạm vi đo được
tăng từ 3 mét đến 4 mét.
SRF05 cho phép sử dụng một chân duy nhất cho cả kích hoạt và phản hồi, do
đó tiết kiệmgiá trị trên chân điều khiển. Khi chân chế độ không kết nối, thì
SRF05 hoạt động riêng biệt chân kích hoạt và chân hồi tiếp, như SRF04. SRF05
bao gồm một thời gian trễ trướckhi xung phản hồi để mang lại điều khiển chậm
hơn hẳn như bộ điều khiển thời gian cơ bản Stamps và Picaxe để thực hiện các

xung lệnh.

1.1 Các chế độ của SRF05

a. Chế độ 1: tương ứng SRF04 – tách biệt kích hoạt và phản hồi
Chế độ này sử dụng riêng biệt chân kích hoạt và chân phản hồi, và là chế độ đơn giản nhất
để sử dụng. Tất cả các chương trình điển hình cho SRF04 sẽ làm việc cho SRF05 ở chế độ
này. Để sử dụng chế độ này, chỉ cần chân chế độ không kết nối – SRF05 có một nội dừng
trên chân này.

Nhóm 2

Page 3


MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM

Hình 2.2: Kết nối cho 2 chân ngõ ra phản hồi và ngõ vào kích hoạt

Hình 2.3 Giản đồ định thời SRF05
b. Chế độ 2: Dùng một chân cho cả kích hoạt và phản hồi
Chế độ này sử dụng một chân duy nhất cho cả tín hiệu kích hoạt và hồi tiếp, và được thiết
kế để lưu các giá trị trên chân lên bộ điều khiển nhúng. Để sử dụng chế độ này, chân chế độ
kết nối vào chân mass. Tín hiệu hồi tiếp sẽ xuất hiện trên cùng một chân với tín hiệu kích
hoạt. SRF05 sẽ không tăng dòng phản hồi cho đến 700uS sau khi kết thúc các tín hiệu kích
hoạt.

Nhóm 2

Page 4



MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM

Để sử dụng chế độ 2 với các Stamps BS2 cơ bản, ta chỉ cần sử dụng PULSOUT và PULSIN
trên cùng 1 chân, như sau:
SRF05 PIN 15
sử dụng pin cho cả hai và kích hoạt echo
Range VAR Word
xác định phạm vi biến 16 bit
SRF05 = 0
bắt đầu bằng PIN thấp
PULSOUT SRF05, 5
đưa ra kích hoạt pulse 10uS (5x2uS)
PULSIN SRF05, 1, Range
echo đo thời gian
Range = Range/29
để chuyển đổi sang cm (chia 74 cho inch)

• Tính toán khoảng cách:
Giản đồ định thời SRF05 thể hiện ở hai chế độ trên. Chỉ cần cung cấp một đoạn xung ngắn
10uS kích hoạt đầu vào để bắt đầu đo khoảng cách. Các SRF05 sẽ cho ra môt chu kỳ 8
burst của siêu âm ở 40kHz và tăng cao dòng phản hồi của nó (hoặc kích hoạt chế độ dòng
2). Sau đó chờ phản hồi, và ngay sau khi phát hiện nó giảm các dòng phản hồi lại. Dòng
phản hồi là một xung có chiều rộng tỷ lệ với khoảng đến đối tượng. Bằng cách đo xung, ta
hoàn toàn có thể để tính toán khoảng cách theo inch/cm hoặc đơn vị đo khác. Nếu không
phát hiện gì thì SRF05 giảm thấp hơn dòng phản hồi của nó sau khoảng 30mS.
SRF05 có thể được kích hoạt nhanh chóng với mỗi 50mS, hoặc 20 lần mỗi giây. Nên chờ
50ms trước khi kích hoạt kế tiếp, ngay cả khi SRF05 phát hiện một đối tượng gần và xung


Nhóm 2

Page 5


MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM
phản hồi ngắn hơn. Điều này là để đảm bảo các siêu âm “beep” đã phai mờ và sẽ không
gây ra sai phản hồi ở lần đo kế tiếp.
• Các thiết lập khác của chân 5
Chân 5 được đóng nhãn là “programming pins” được sử dụng một lần duy nhất trong quá
trình sản xuất để lập trình cho bộ nhớ Flash trên chip PIC16F630. Các chương trình của
PIC16F630 pins cũng được sử dụng cho các chức năng khác trên SRF05, nên chắc chắn
rằng không kết nối bất cứ cái gì với các chân này, nếu không sẽ làm gián đoạn hoạt động
module.
• Thay đổi chùm tia và độ rộng chùm
Chùm tia của SRF05 có dạng hình nón với độ rộng của chùm là một hàm của diện tích mặt
của các cảm biến và là cố định. Chùm tia của cảm biến được sử dụng trên SRF05 được biểu
diễn bên dưới:

1.2 Hoạt động phát và nhận phản hồi song âm cơ bản của SRF05

Nguyên tắc cơ bản của sonar: là tạo ra một xung âm thanh điện tử và sau đó lắng nghe
tiếng vọng tạo ra khi các làn sóng âm thanh số truy cập một đối tượng và được phản xạ
trở lại. Để tính thời gian cho phản hồi trở về, một ước tính chính xác có thể được làm bằng
khoảng cách tới đối tượng. Xung âm thanh tạo ra bởi SRF05 là siêu âm, nghĩa là nó ở trên
phạm vi nhận xét của con người. Trong khi tần số thấp hơn có thể được sử dụng trong các
loại ứng dụng, tần số cao hơn thực hiện tốt hơn cho phạm vi ngắn, nhu cầu độ chính xác
cao.

Một số đặc điểm khác của cảm biến siêu âm SRF05

Mức độ của sóng âm hồi tiếp phụ thuộc vào cấu tạo của đối tượng và góc phản xạ của nó.
Nhóm 2

Page 6


MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM

Một đối tượng mềm có thể cho ra tín hiệu phản hồi yếu hoặc không có phản hồi. Một đối
tượng ở một góc cân đối thì mới có thể chuyển thành tín hiệu phản chiếu một chiều cho
cảm biến nhận.
Vùng phát hiện của SRF05
• Nếu ngưỡng để phát hiện đối tượng được đặt quá gần với cảm biến, các đối tượng
trên một đường có thể bị va chạm tại một điểm mù. Nếu ngưỡng này được đặt ở
một khoảng cách quá lớn từ các cảm biến thì đối tượng sẽ được phát hiện mà
không phải là trên một đường va chạm.



Nhóm 2

Một kỹ thuật phổ biến để làm giảm các điểm mù và đạt được phát hiện chiều rộng
lớn hơn cự ly gần là thêm một cải tiến bằng cách thêm một đơn vị SRF05 bổ sung
và gắn kết của hai đơn vị hướng về phía trước. Thiết lập như vậy thì có một khu
vực mà hai khu vực phát hiện chồng chéo lên nhau.

Page 7


MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM


1.3 Một số ứng dụng của SRF05 và bộ vi điều khiển

Chế độ 1 hoạt động:
Trong sơ đồ sau đây, hai kỹ thuật số I/O pins của một BrainStem GP 2,0 được cấu hình để
xử lý các ECHO và dòng Init của SRF05 module khác nhau. Pin ECHO là dây dẫn đến cổng
số pin GP 1. Đây là dòng mà sẽ nhận được giá trị được đo bằng SRF05. Các pin ECHO phải
có khả năng sử dụng các đầu vào Ptimer chụp để đo chiều rộng của xung được tạo ra bởi
cá SRF05. Các pin Init là dây vào các chân lỹ thuật số GP 0, pin này sẽ gửi một xung 10uS
để bắt đầu vỡ âm, mạch được hỗ trợ bởi một 6C Battery Pack.

Nhóm 2

Page 8


MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM

Chế độ 2 hoạt động:
Trong sơ đồ sau đây, một pin duy nhất cổng số được sử dụng cho Init và cả đường ECHO
của SRF05. Đối với sơ đồ này, init/ line ECHO là dây vào chân số 1 GP. Pin này có khả năng
đo chuyển động của hệ thống.

2. Giới thiệu về động cơ bước (step motor)

Nhóm 2

Page 9



MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM

2.1 Phân loại
Động cơ bước cơ bản được chia làm 3 loại:
-Động cơ bước nam châm vĩnh cửu
-Động cơ bước biến trở từ
-Động cơ bước lai
Động cơ bước nam châm vĩnh cửu gồm 3 loại: động cơ bước đơn cực,động cơ bước
lưỡng cực,động cơ bước nhiều pha.
a. Động cơ bước đơn cực

Nhóm 2

Page 10


MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM
Động cơ bước loại đơn cực bao gồm 2 cuộn dây, mỗi cuộn được nối ra ngoài ở giữa
cuộn, vì vậy thông thường trên thực tế đây là loại động cơ 5 hoặc 6 dây ra, động cơ
bước loại này được điều khiển bẳng cách cho đầu dây chung nối lên nguồn và từng
đầu dây còn lại lần lượt được nối mass . Động cơ bước đơn cực, cả nam châm vĩnh
cửu và động cơ hỗn hợp, với 5, 6 hoặc 8 dây ra thường được quấn như sơ đồ, với
một đầu nối trung tâm trên các cuộn. Khi dùng, các đầu nối trung tâm thường
được nối vào cực dương nguồn cấp, và hai đầu còn lại của mỗi mấu lần lượt nối
đất để đảo chiều từ trường tạo bởi cuộn đó.
Mấu 1 nằm ở cực trên và dưới của stator, còn mấu 2 nằm ở hai cực bên phải và
bên trái động cơ. Rotor là một nam châm vĩnh cửu với 6 cực, 3 Nam và 3 Bắc, xếp
xen kẽ trên vòng tròn.
Để xử lý góc bước ở mức độ cao hơn, rotor phải có nhiều cực đối xứng hơn. Động
cơ 30 độ mỗi bước trong hình là một trong những thiết kế động cơ nam châm vĩnh

cửu thông dụng nhất, mặc dù động cơ có bước 15 độ và 7.5 độ là khá lớn. Người ta
cũng đã tạo ra được động cơ nam châm vĩnh cửu với mỗi bước là 1.8 độ và với
động cơ hỗn hợp mỗi bước nhỏ nhất có thể đạt được là 3.6 độ đến 1.8 độ, còn tốt
hơn nữa, có thể đạt đến 0.72 độ. Như trong hình, dòng điện đi qua từ đầu trung
tâm của mấu 1 đến đầu a tạo ra cực Bắc trong stator trong khi đó cực còn lại của
stator là cực Nam. Nếu điện ở mấu 1 bị ngắt và kích mấu 2, rotor sẽ quay 30 độ,
hay 1 bước. Để quay động cơ một cách liên tục, chúng ta chỉ cần áp điện vào hai
mấu của đông cơ theo dãy.
Mấu 1a 1000100010001000100010001 Mấu 1a 1100110011001100110011001
Mấu 1b 0010001000100010001000100
Mấu 1b 0011001100110011001100110
Mấu 2a 0100010001000100010001000 Mấu 2a 0110011001100110011001100
Mấu 2b 0001000100010001000100010 Mấu 2b 1001100110011001100110011
thời gian ‐‐>
thời gian ‐‐>
Hai nửa của một mấu không bao giờ được kích cùng một lúc. Cả hai dãy nêu trên sẽ quay
một động cơ nam châm vĩnh cửu một bước ở mỗi thời điểm. Dãy bên trái chỉ cấp điện cho
một mấu tại một thời điểm, như mô tả trong hình trên; vì vậy, nó dùng ít năng lượng hơn.
Dãy bên phải đòi hỏi cấp điện cho cả hai mấu một lúc và nói chung sẽ tạo ra một moment
xoắy lớn hơn dãy bên trái 1.4 lần trong khi phải cấp điện gấp 2 lần.
Vị trí bước được tạo ra bởi hai chuỗi trên không giống nhau; kết quả, kết hợp 2 chuỗi
trên cho phép điều khiển nửa bước, với việc dừng động cơ một cách lần lượt tại những vị
trí đã nêu ở một trong hai dãy trên. Chuỗi kết hợp như sau:
Mấu 1a 11000001110000011100000111
Mấu 1b 00011100000111000001110000
Mấu 2a 01110000011100000111000001
Mấu 2b 00000111000001110000011100
Thời gian ‐‐>
b. Động cơ lưỡng cực
Động cơ nam châm vĩnh cửu hoặc hỗn hợp hai cực có cấu trúc cơ khí giống y như động

cơ đơn cực, nhưng hai mấu của động cơ được nối đơn giản hơn, không có đầu trung tâm.
Vì vậy, bản thân động cơ thì đơn giản hơn, nhưng mạch điều khiển để đảo cực mỗi cặp cực

Nhóm 2

Page 11


MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM
trong động cơ thì phức tạp hơn.

Mạch điều khiển cho động cơ đòi hỏi một mạch điều khiển cầu H cho mỗi mấu.Một cầu
H cho phép cực của nguồn áp đến mỗi đầu của mấu được điều khiển một cách độc lập. Các
dãy điều khiển cho mỗi bước đơn của loại động cơ này được nêu bên dưới, dùng + và ‐ để
đại diện cho các cực của nguồn áp được áp vào mỗi đầu của động cơ:
Đầu 1a + ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + + ‐ ‐ + + ‐ ‐ + + ‐ ‐ + + ‐ ‐
Đầu 1b ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + + ‐ ‐ + + ‐ ‐ + + ‐ ‐ + +
Đầu 2a ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + + ‐ ‐ + + ‐ ‐ + + ‐ ‐ + + ‐
Đầu 2b ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + + ‐ ‐ + + ‐ ‐ + + ‐ ‐ + + ‐ ‐ +
thời gian ‐‐>
Chú ý rằng những dãy này giống như trong động cơ nam châm vĩnh cửu đơn cực, ở mức
độ lý thuyết, và rằng ở mức độ mạch đóng ngắt cầu H, hệ thống điều khiển cho hai loại
động cơ này là giống nhau.
Chú ý khác là có rất nhiều chip điều khiển cầu H có một đầu vào điều khiển đầu ra và một
đầu khác để điều khiển hướng. Có loại chip cầu H kể trên, dãy điều khiển dưới đây sẽ quay
động cơ giống như dãy điều khiển nêu phía trên:
6
Enable 1 1010101010101010 1111111111111111
Hướng 1 1x0x1x0x1x0x1x0x 1100110011001100
Enable 2 0101010101010101 1111111111111111

Hướng 2 x1x0x1x0x1x0x1x0 0110011001100110
thời gian ‐‐>

c.Động cơ nhiều pha

Nhóm 2

Page 12


MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM

Thiết kế phổ biến nhất đối với loại này sử dụng dây nối 3 pha và 5 pha. Bộ điều khiển cần
½ cầu H cho mỗi một đầu ra của động cơ, nhưng những động cơ này có thể cung cấp
moment xoắn lớn hơn so với các loại động cơ bước khác cùng kích thước. Một vài động cơ
5 pha có thể xử lý cấp cao để có được bước 0.72 độ (500 bước mỗi vòng).Với một động cơ
5 pha như trên sẽ quay mười bước mỗi vòng bước, như trình bày dưới đây:
Đầu 1 + + + ‐ ‐ ‐ ‐ ‐ + + + + + ‐ ‐ ‐ ‐ ‐ + +
Đầu 2 ‐ ‐ + + + + + ‐ ‐ ‐ ‐ ‐ + + + + + ‐ ‐ ‐
Đầu 3 + ‐ ‐ ‐ ‐ ‐ + + + + + ‐ ‐ ‐ ‐ ‐ + + + +
Đầu 4 + + + + + ‐ ‐ ‐ - - + + + + + - - - - Đầu 5 - - - - + + + + + - - - - - + + + + + thời gian -->
Ở đây, giống như trong trường hợp động cơ hai cực, mỗi đầu hoặc được nối vào cực
dương hoặc cực âm của hệ thống cấp điện động cơ. Chú ý rằng, tại mỗi bước, chỉ có một
đầu thay đổi cực. Sự thay đổi này làm ngắt điện ở một mấu nối vào đầu đó (bởi vì cả hai
đầu của mấu có cùng điện cực) và áp điện vào một mấu đang trong trạng thái nghỉ trước
đó. Hình dạng của động cơ được đề nghị như hình, dãy điều khiển sẽ điều khiển động cơ
quay 2 vòng.
2.2 Phương pháp điều khiển động cơ bước
Có 2 phương pháp điều khiển động cơ bước:
-Điều khiển chế độ cả bước( full step)

+Điều khiển cả bước 1 pha.
+Điều khiển cả bước 2 pha.
-Điều khiển chế độ nửa bước (Half step)
a. Điều khiển cả bước 1 pha

Nhóm 2

Page 13


MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM

Giản đồ xung 1 pha

b. Điều khiển cả bước 2 pha

Giản đồ xung 2 pha:

Nhóm 2

Page 14


MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM

c. Điều khiển chế độ nửa bước

Giản đồ xung nửa bước:

Nhóm 2


Page 15


MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM

2.3 Các mạch điều khiển động cơ bước
Mạch điều khiển động cơ đơn cực:

-

Nhóm 2

Điều khiển chiều quay động cơ bằng cách lập trình
Nếu dịch bước từ trái sang phải thì động cơ sẽ quay phải
Nếu dịch bước từ phải sang trái thì động cơ sẽ quay trái
Đổi chiều quay bằng phần cứng :
Điều khiển motor lưỡng cực với cầu H:

Page 16


MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM

Motor bước lưỡng cực trên cuộn dây không có điểm giữa nên khi đảo chiều quay động
cơ gặp khó khăn. Để đảo được chiều từ trường sinh ra trong cuộn dây ( cũng có nghĩa đảo
chiều dòng điện) phải dùng một cấu trúc gọi là cầu H.
Thông thường sử dụng A,D đóng trong chế độ thuận và B,C đóng trong chế độ ngược
I/LCD


3 .Giới thiệu về LCD 2 dòng 16 kí tự

Nhóm 2

Page 17


MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM
• VSS: Chân đất
• VCC: Chân nguồn
• VEE: Chân hiệu chỉnh độ sáng của LCD
• RS:
=0: LCD sẽ nhận lệnh từ vi điều khiển
=1: LCD sẽ nhận kí tự từ vi điều khiển để hiển thị
• R/W:
=1: Vi điều khiển đọc dữ liệu từ LCD
=0: Vi điều khiển ghi dữ liệu lên LCD
Thông thường Vi điều khiển chủ yếu ghi dữ liệu lên LCD nên chân này thường nối đất

• E: Chân cho phép (Enable). Sau khi lệnh hoặc dữ liệu đã được chuẩn bị trên đường dữ
liệu, tạo xung mức cao-mức thấp sẽ bắt đầu quá trình LCD nhận dữ liệu hoặc lệnh từ vi
điều khiển.
• D0-D7: các chân dữ liệu, nơi vi điều khiển truyền lệnh hoặc dữ liệu lên LCD.

2. Khởi tạo LCD:
LCD có nhiều độ làm việc, có thể kể ra như sau:
- Chế độ 1 dòng hay 2 dòng
- Chế độ giao tiếp 4 bit hay 8 bit
Nhóm 2


Page 18


MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM
- Chế độ font 5*8 hoặc 5*10
- Ngoài ra còn có thể thay đổi vị trí hiển thị kí tự v.v
Vì vậy, trước khi bắt đầu quá trình hiển thị một chuỗi kí tự nào đó, ta cần quá trình khởi
tạo để
cài đặt các chế độ này. Vi điều khiển thực hiện quá trình khởi tạo này bắt cách ghi đến LCD
một
chuỗi các lệnh.
Căn cứ vào chức năng của các chân vi điều khiển được giới thiệu ở trên, ta đưa ra qui
trình của
việc gửi một lệnh từ Vi điều khiển đến LCD:
- Cho chân R/W=0 để xác định đây là ghi xuống LCD (thông thường chân này được nối
đất, nên mặc định chân này ở mức 0, ta không cần quan tâm đến nữa)
- Cho chân RS=0 để xác định đây là lệnh mà vi điều khiển gửi xuống LCD (phân biệt với
RS=1, gửi kí tự hiển thị)
- Gửi mã lệnh xuống LCD theo các đường dữ liệu (RD0-RD7 nếu dùng chế độ 8 bit, R4R7 nếu dùng chế độ 4 bit)
- Đưa chân E (chân cho phép- Enable) lên mức cao, mức 1
- Tạo trễ vài chu kì lệnh
- Đưa chân E xuống mức thấp, mức 0
Mã lệnh như đã giới thiệu trong phần trên tùy thuộc vào từng lệnh, ở đấy giới thiệu một số
lệnh
cơ bản như sau:
. Lệnh cài đặt chế độ làm việc:

Nhóm 2

Page 19



MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM

• DL:
– = 1: 8 bit
– = 0: 4 bit
• N:
= 1: 2 dòng
= 0 :1 dòng
• F:
– = 1: font 5x10 dot
– = 0: font 5x8 dot
. Lệnh đặt chế độ tăng giảm địa chỉ:

• I/D:
= 1 tăng địa chỉ
= 0 giảm địa chỉ
• S =1: Cài đặt di chuyển cùng địa chỉ
. Lệnh đặt chế độ hiển thị:

• D: Cho phép hiển thị
• C: cài đặt hiển thị con trỏ
• B: nhấp nháy vị trí kí tự

Nhóm 2

Page 20



MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM
. Lệnh đặt vị trí hiển thị của kí tự:

• Địa chỉ dòng 1: 00- 0F
• Địa chỉ dòng 2: 40-4F
Vì vậy, muốn hiển thị đầu dòng thứ nhất, mã lệnh sẽ là 0x80
muốn hiển thị đầu dòng thứ hai, mã lệnh sẽ là 0xC0
. Lệnh xóa màn hình: mã lệnh 0x01
. Lệnh trở về đầu dòng thứ nhất: mã lệnh 0x02
Chi tiết có thề xem datasheet đi kèm
3. Ghi kí tự lên LCD để hiển thị:
Sau khi thực hiện quá trình khởi tạo để gửi các lệnh cài đặt chế độ làm việc cùa LCD, kí
tự sẽ
được hiển thị lên LCD bất kì khi nào vi điều khiển muốn gửi.
Quá trình gửi kí tự gồm các bước sau:
- Cho chân R/W=0 để xác định đây là ghi xuống LCD (thông thường chân này được nối

đất, nên mặc định chân này ở mức 0, ta không cần quan tâm đến nữa)

- Cho chân RS=1 để xác định đây là kí tự mà vi điều khiển gửi xuống
RS=0, gửi lệnh)
- Gửi mã ascii của kí tự cần hiển thị xuống LCD theo các đường dữ
dùng chế độ 8 bit, R4-R7 nếu dùng chế độ 4 bit)

Nhóm 2

Page 21


MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM

- Đưa chân E (chân cho phép- Enable) lên mức cao, mức 1
- Tạo trễ vài chu kì lệnh
- Đưa chân E xuống mức thấp, mức 0
4.Giới thiệu về PIC16F877A:
1.Pic là gì:
PIC được 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".
PIC được ứng dụng rất rộng rãi trong thực tế, từ những vật dụng
đơn giản cho đến những hệ thống điều khiển phức tạp trong công
nghiêp
Trong đó, PIC16F877 thuộc về một họ của microcontrollers 8- bít
của kiến trúc RISC
2. Sơ đồ chân PIC:

Nhóm 2

Page 22


MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM

Trong vi điều khiển PIC16F877A có 5 cổng:
 Cổng A gồm 6 chân: RA0, RA1.. RA5
 Cổng B gồm 8 chân: RB0, RB1,..RB7
 Cổng C gồm 8 chân: RC0, RC1, ..RC7
 Cổng D gồm 8 chân: RD0, RD1,..RD7
 Cổng E gồm 3 chân: RE0, RE1, RE2
Mỗi cổng thực chất được quản lý bởi các thanh ghi PORTA, PORTB, PORTC, PORTD,
PORTE nằm trong bộ nhớ RAM của vi điều khiển:


Nhóm 2

Page 23


MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM

Bộ nhớ RAM của vi điều khiển PIC 16F877A gồm 4 bank nhớ. Nhìn vào các bank nhớ
ta có thể thấy các thanh ghi được đặt tên và các thanh ghi đa mục đích (General Purpose
Register).
 Các thanh ghi được đặt tên là các thanh ghi đặc biệt dùng để điều khiển, quản lý
hoặc thể hiện trạng thái của các khối chức năng trong vi điều khiển ví dụ PORTAlà đại diện
cho các chân cổng A, PORTB là đại diện cho các chân cổng B v.v. Các
thanh ghi này có địa chỉ xác định và không được dùng cho các mục đích khác

Nhóm 2

Page 24


MẠCH ĐO KHOẢNG CÁCH SỬ DỤNG PIC16F877A DÙNG SÓNG SIÊU ÂM
 Các thanh ghi đa mục đích được dùng để đặt biến trong một chương trình ứng
dụng của vi điều khiển. Nhìn vào bản đồ bộ nhớ RAM, ta thấy biến có thể đặt từ
địa chỉ 20F đến 7Fh trong bank nhớ 0, A0h-EFh, 120h-16Fh, 1A0h-1EFh.

3Một vài thông số về pic16f877a:
Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bi
Mỗi lệnh đều được thực thi trong một chu kì xung clock. Tốc độ hoạt động tối đa cho phép l
20 MHz với một chu kì lệnh là 200ns. Bộ nhớ chương trình 8Kx14 bit, bộ nhớ dữ liệu 368x
byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256x8 byte. Số PORT I/O là 5 với 3

pin I/O.
Các đặc tính ngoại vi bao gồmcác khối chức năng sau:
Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit.
Timer1: bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năng đếm dựa va
xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep.
Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler.
Hai bộ Capture/so sánh/điều chế độ rông xung.
Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C.
Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ.
Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều khiển RD, WR
CS ở bên ngoài.

Các đặc tính Analog:
Nhóm 2

Page 25


×