Tải bản đầy đủ (.pdf) (52 trang)

thiet ke he thong nhung truong quang vinh 229652352 tim hieu ve vi dieu khien pic 16f877a va ung dung 1 cuuduongthancong com

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.58 MB, 52 trang )

cu

u

du

on

g

th

an

co

ng

.c

om

ĐỒ ÁN TỐT NGHIỆP

1

CuuDuongThanCong.com

/>

ĐỒ ÁN TỐT NGHIỆP


Lời nói đầu
Ngày nay cùng với sự phát triển khơng ngừng của khoa học kỹ thuật, thì kỹ
thuật số đã đem lại cho con người những thành tựu to lớn giúp cho con người
dễ dàng đạt được mục đích của mình trong mọi thiết kế. Hịa nhập cùng xu
hướng đó vi điều khiển đã khẳng định được vị thế vững chắc của mình trong
mọi ứng dụng. Điển hình trong cơng nghệ đo lường và điều khiển bằng máy
tính đặc biệt là việc đo nhiệt độ và điều khiển các hệ thống. Trong lĩnh vực
sản xuất công nghiệp nhiệt độ có tác động trự c tiếp đến chất lượng đầu ra

om

như trong q trình gia cơng vậ liệu nhiệt độ ảnh hưởng đến độ chính xác tính

.c

giãn nở vật liệu. Trong quá trình nung sấy như nung gạch thì nhiệt độ ảnh
hưởng đến chất lượng sản phẩm. Trong y học nhiệt độ ảnh hưởng tới kết quả

ng

nghiên cứu.Trong cuộc sống nhiệt độ ảnh hưởng tới chất lượng và bảo quản

co

lương thực. Với các yêu cầu đó em xin thiết kế đề tài: “ Đọc nhiệt độ hiển thị

cu

u


du

on

g

th

an

lên led 7 thanh” dùng cảm biến IC tích hợp LM35

2

CuuDuongThanCong.com

/>

ĐỒ ÁN TỐT NGHIỆP
Chương I: Tìm hiểu chung về vi điều khiển
Vi điều khiển là một máy tính được tích hợp trên một chip, nó thường được
sử dụng để điều khiển các thiết bị điện tử. Vi điều khiển thực chất là một hệ
thống bao gồm một vi xử lý có hiệu xuất đủ dùng và giá thành thấp ( khác với
các bộ vi xử lý đa năng dùng trong máy tính) kêt hợp với các khối ngoại vi
như bộ nhớ, các mô đun vào/ ra, các mô đun biến đổi số sang tương tự và
tương tự sang số,… Ở máy tính thì các mơ đun thường được xây dựng bởi
các chip và mạch ngoài.

om


1.1 Cấu trúc vi điều khiển

.c

Hầu hết các vi điều khiển ngày nay được xây dựng dựa trên kiến trúc Von
Neumann, kiến trúc này định nghĩa bốn thành phần cần thiết của một hệ

ng

thống nhúng. Những thành phần này là lõi CPU, bộ nhớ chương trình (thông

co

thường là ROM hoặc bộ nhớ Flash ) bộ nhớ dữ liệu (RAM ), một hoặc vài bộ

an

định thời và các cổng vào/ra để giao tiếp với các thiết bị ngoại vi và các mơi
trường bên ngồi – tât cả các khối này được thiết kế trong một vi mạch tích

th

hợp. Vi điều khiển khác với các bộ vi xử lý đa năng ở chỗ là nó có thể hoạt

on

g

động chỉ với vài vi mạch hỗ trợ bên ngoài.
Ngoài cấu trúc Von Neumann cịn có cấu trúc Harvard, cấu trúc Harvard


du

tách rời bộ nhớ dữ liệu và bộ nhớ chương trình, nên tốc độ xử lý cao hơn và

u

dung lượng của 2 đường truyền có thể khác nhau.

cu

Vi điều khiển thường được sử dụng để xây dựng các hệ thống nhúng. Nó
xuất hiện khá nhiều trong các dụng cụ điện tử, thiết bị điện, máy giặt, lị vi
sóng, điện thoại, đầu lọc DVD, thiết bị đa phương tiện, dây chuyền tự động
1.2 Phân loạị
1.2.1

Độ dài thanh ghi
Dựa vào độ dài của các thanh ghi các lệnh của VĐK mà người ta chia ra

các loại VĐK 8bít, 16bít hay 32bit…
Các loại VĐK 16bit do có độ lệch lớn hơn lên các tập lệnh cũng nhiều hơn
phong phú hơn. Tuy nhiên bất cứ chương trình nào viết bằng VĐK 16 bit
chúng ta đều có thể viết trên VĐK 8 bit với chương trình thích hợp.
3

CuuDuongThanCong.com

/>


ĐỒ ÁN TỐT NGHIỆP
1.2.2

Cấu trúc RISC và CISC

VXL hoặc VĐK CISC là VĐK có tập lệnh phức tạp. Các VĐK này có một
số lượng lớn các lệnh nên giúp cho người lập trình có thể linh hoạt và dễ
dàng hơn khi viết chương trình.
VĐK RISC là VĐK có tập lệnh đơn giản. Chúng có một số lương nhỏ các
lệnh đơn giản. Do đó, chúng địi hỏi phần cứng ít hơn, giá thành thấp hơn, và
nhanh hơn so với CISC. Tuy nhiên nó địi hỏi người lập trình phải viết các

om

chương trình phức tạp hơn nhiều lệnh hơn.

.c

1.2.3 Kiến trúc Harvard và kiến trúc Vonneumann
Kiến trúc Harvard sử dụng bộ nhớ riêng biệt cho chương trình và dữ liệu.

ng

Bus địa chỉ và bus dữ liệu độc lập với nhau nên quá trình truyền nhận dữ liệu

co

đơn giản hơn.

Kiến trúc Vonneumann sử dụng chung bộ nhớ cho chương trình và dữ liệu.


Chức năng của vi xử lý

g

1.3.1

th

1.3 Chức năng của vi điều khiển

an

Điều này làm cho VĐK gọn nhẹ hơn, giá thành nhẹ hơn.

on

Trong những thập niên cuối thế kỉ XX, từ sự ra đời của công nghệ bán dẫn,

du

kĩ thuật điện tử đã có sự phát triển vượt bậc. Các thiết bị điện tử sau đó đã

u

được tích hợp với mật độ cao và rất cao trong các diện tích nhỏ, nhờ vậy các

cu

thiết bị điện tử nhỏ hơn và nhiều chức năng hơn. Các thiết bị điện tử ngày

càng nhiều chức năng trong khi giá thành ngày càng rẻ hơn, chính vì vậy điện
tử có mặt khắp mọi nơi. Bước đột phá mới trong công nghệ điện tử, công ty
trẻ tuổi Intel cho ra đời bộ vi xử lý đầu tiên. Đột phá ở chỗ: "Đó là một kết
cấu logic mà có thể thay đổi chức năng của nó bằng chương trình ngồi chứ
khơng phát triển theo hướng tạo một cấu trúc phần cứng chỉ thực hiện theo
một số chức năng nhất định như trước đây. Tức là phần cứng chỉ đóng vai trị
thứ yếu, phần mềm (chương trình) đóng vai trò chủ đạo đối với các chức
năng cần thực hiện. Nhờ vậy vi xử lý có sự mềm dẻo hóa trong các chức năng
của mình. Ngày nay vi xử lý có độ tính tốn rất cao và khả năng xử lý rất lớn.
4

CuuDuongThanCong.com

/>

ĐỒ ÁN TỐT NGHIỆP
Vi xử lý có các khối chức năng cần thiết để lấy dữ liệu, xử lý dữ liệu và
xuất dữ liệu ra ngoài sau khi đã xử lý. Và chức năng chính của Vi xử lý chính
là xử lý dữ liệu, chẳng hạn như cộng, trừ, nhân, chia, so sánh.v.v..... Vi xử lý
khơng có khả năng giao tiếp trực tiếp với các thiết bị ngoại vi, nó chỉ có khả
năng nhận và xử lý dữ liệu mà thơi.
Để vi xử lý hoạt động cần có chương trình kèm theo, các chương trình này
điều khiển các mạch logic và từ đó vi xử lý xử lý các dữ liệu cần thiết theo
yêu cầu. Chương trình là tập hợp các lệnh để xử lý dữ liệu thực hiện từng

om

lệnh được lưu trữ trong bộ nhớ, công việc thực hành lệnh bao gồm:

.c


Nhận lệnh từ bộ nhớ, giải mã lệnh và thực hiện lệnh sau khi đã giải mã. Để
thực hiện các công việc với các thiết bị cuối cùng, chẳng hạn điều khiển động

ng

cơ, hiển thị kí tự trên màn hình…địi hỏi phải kết hợp vi xử lý với các mạch

co

điện giao tiếp với bên ngoài được gọi là các thiết bị I/O ( nhập/xuất ) hay còn

an

gọi là các thiết bị ngoại vi. Bản than các vi xử lý khi đứng một mình khơng

th

có nhiều hiệu quả sử dụng, nhưng khi là một phần của của một máy tính thì
hiệu quả sử dụng của Vi xử lý là rất lớn, phức tạp đòi hỏi phải xử lý một

on

g

lượng lớn các phép tính phức tạp, có tốc độ nhanh. Chẳng hạn như các hệ

du

thống sản xuất tự động trong công nghiệp, các tổng đài điện thoại, hoặc ở các

robot có khả năng hoạt động phức tạp v.v...

u

Từ Vi xử lý đến Vi điều khiển

cu

1.3.2

Bộ Vi xử lý có khả năng vượt bậc so với các hệ thống khác về khả năng
tính tốn, xử lý, và thay đổi chương trình linh hoạt theo mục đích người dùng,
đặc biệt hiệu quả đối với các bài toán và hệ thống lớn.Tuy nhiên đối với các
ứng dụng nhỏ, tầm tính tốn khơng địi hỏi khả năng tính tốn lớn thì việc
ứng dụng vi xử lý cần cân nhắc. Bởi vì hệ thống dù lớn hay nhỏ, nếu dùng vi
xử lý thì cũng địi hỏi các khối mạch điện giao tiếp phức tạp như nhau. Các
khối này bao gồm bộ nhớ để chứa dữ liệu và chương trình thực hiện, các
mạch điện giao tiếp ngoại vi để xuất nhập và điều khiển trở lại, các khối này
cùng liên kết với vi xử lý thì mới thực hiện được công việc. Hệ thống được
5

CuuDuongThanCong.com

/>

ĐỒ ÁN TỐT NGHIỆP
tạo ra khá phức tạp, chiếm nhiều khơng gian, mạch in phức tạp và vấn đề
chính là trình độ người thiết kế. Kết quả là giá thành sản phẩm cuối cùng rất
cao, không phù hợp để áp dụng cho các hệ thống nhỏ.
Vì một số nhược điểm trên nên các nhà chế tạo tích hợp một ít bộ nhớ và

một số mạch giao tiếp ngoại vi cùng với vi xử lý vào một IC duy nhất được
gọi là Microcontroller-Vi điều khiển. Vi điều khiển có khả năng tương tự như
khả năng của vi xử lý, nhưng cấu trúc phần cứng dành cho người dùng đơn
giản hơn nhiều. Vi điều khiển ra đời mang lại sự tiện lợi đối với người dùng,

om

họ không cần nắm vững một khối lượng kiến thức quá lớn như người dùng vi

.c

xử lý, kết cấu mạch điện dành cho người dùng cũng trở nên đơn giản hơn
nhiều và có khả năng giao tiếp trực tiếp với các thiết bị bên ngoài. Vi điều

ng

khiển tuy được xây dựng với phần cứng dành cho người sử dụng đơn giản

co

hơn, nhưng thay vào lợi điểm này là khả năng xử lý bị giới hạn (tốc độ xử lý

an

chậm hơn và khả năng tính tốn ít hơn, dung lượng chương trình bị giới hạn).

th

Thay vào đó, Vi điều khiển có giá thành rẻ hơn nhiều so với vi xử lý, việc sử
dụng đơn giản, do đó nó được ứng dụng rộng rãi vào nhiều ứng dụng có chức

Ngơn ngữ lập trình, cơng cụ lập trình

1.4.1

du

1.4

on

g

năng đơn giản, khơng địi hỏi tính tốn phức tạp.
Ngơn ngữ lập trình.

cu

u

Lập trình vi xử lý ngơn ngữ thường dùng là ngơn ngữ lập trình ASM và
ngơn ngữ C . Ngơn ngữ lập trình ASM hay lập trình hợp ngữ là ngơn ngữ lập
trình trực tiếp cho vi điều khiển ( lập trình trực tiếp ) cịn ngơn ngữ C hay cịn
gọi là lập trình hướng đối tượng nó gần với ngơn ngữ con người hơn . Điều
này có nghĩa là với ASM người lập trình ra lệnh trực tiếp thơng qua ngơn ngữ
câu lệnh có tính ràng buộc cịn ngơn ngữ C sử dụng các cấu trúc điều kiện và
vòng lặp theo ý muốn .Nói về ngơn ngữ C thì ưu điểm của ngơn ngữ C là nó
dễ hiểu nhưng cấu trúc lại dài và phức tạp so với ngôn ngữ ASM

6


CuuDuongThanCong.com

/>

ĐỒ ÁN TỐT NGHIỆP
1.4.2
a)

Cơng cụ lập trình
Về phần cứng:
Một điều khơng thể thiết đó là một bộ timer tích hợp trong VĐK.Nó có

nhiệm vụ tạo đơn vị thời gian.(Có nghĩa là một chu kì hoạt động của hệ thống
được chia nhỏ thành các đơn vị thời gian).Bộ nhớ chương trình đủ lớn để
chứa các mã lệnh .Ngoài mã lệnh của các task cong mã lệnh của Kernel .Bộ
nhớ RAM cũng là một vấn đề rất hạn chế của VĐK vì mỗi lần chuyển ngữ
cảnh thì tồn bộ ngữ cảnh của một Task được lưu vào một ngăn xếp trong
Về phần mềm:

.c

b)

om

RAM.Chúng ta có càng nhiều task thì cần cành nhiều ngăn xếp kiểu này.
Có hai cơng cụ để lập trình cho VĐK đó là ngơn ngữ bậc thấp

cu


u

du

on

g

th

an

co

ng

(Assembly) và ngơn ngữ bậc cao (C ,basic…)

7

CuuDuongThanCong.com

/>

ĐỒ ÁN TỐT NGHIỆP
a) Chương II: Tìm hiểu vi điều khiển Pic 16F877A và ứng dụng
Khối điều khiển Pic 16F877A
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ọ: PIC 1650 được thiết kế dùng để làm các thiết bị

ngoại vi cho vi điều khiển CP 1600. Vi điều khiển này sau đó được nghiên
cứu phát triển thêm và từ đó hình thành nên dịng vi điều khiển PIC ngày nay
Pic 16F877A là dòng Pic phổ biến nhất hiện nay ( đủ mạnh về tính

om

năng, 40 chân, bộ nhớ đủ cho hầu hết các ứng dụng thông thường ) cấu trúc

.c

tổng quát của Pic 16F877A:
+ 8K Plash Rom

ng

+ 368 byte Ram

co

+ 256 byte EEPROM

an

+ 5 port ( A,B,C,D,E ) vào ra với tín hiệu độc lập.

th

+ 2 bộ định thời 8 bit ( timer0 và timer2 )
+ 1 bộ định thời 16 bit ( timer 1 ) có thể hoạt động trog chế độ tiết kiệm


on

g

năng lượng ( Sleep mode ) với xung clock bên ngoài

du

+ 2 bộ CCP ( Capture/Compare/PWM)
+ 1 bộ biến đổi AD 10 bit với 8 ngõ vào

cu

u

+ 2 bộ so sánh tương tự ( compartor )
+ 1 bộ định thời giám sát ( Watchdog timer )
+ 1 cổng song song 8 bit với các tín hiệu điều khiển
+ 1 cổng nối tiếp
+ 15 nguồn ngắt
+ Nạp chương trình bằng cổng nối tiếp ICSP ( In-Circuit Serial
Programming )
+ Được chế tạo bằng công nghệ CMOS
+ 35 tập lệnh có độ dài 14 bit
+ Tầng hoạt động tối đa 20MHz
8

CuuDuongThanCong.com

/>


ĐỒ ÁN TỐT NGHIỆP
+ Để Pic hoạt động ta cần cấp nguồn cho Pic ngồi ra có thể thêm vào
bộ dao động thạch anh và nút reset.

cu

u

du

on

g

th

an

co

ng

.c

om

2.1 Sơ đồ khối vi điều khiển Pic 16F877A

9


CuuDuongThanCong.com

/>

ĐỒ ÁN TỐT NGHIỆP
Sơ đồ khối của PIC16F877A gồm các khối
+ ALU – Arithmetic Logic Unit
+ Khối bộ nhớ chứa chương trình – Flash Program Memory.
+ Khối bộ nhớ chứa dữ liệu EPROM – Data EPROM.
+ Khối bộ nhớ file thanh ghi RAM – RAM file Resgiter
+ Khối giải mã lệnh và điều khiển – Instruction Decode Control.
+ Khối thanh ghi đặc biệt.
+ Khối ngoại vi timer

om

+ Khối giao tiếp nối tiếp

.c

+ Khối chuyển đổi tín hiệu tương tự sang số - ADC
2.2 Đặc điểm vi điều khiển Pic 16F877A

ng

+ Các khối port xuất nhập

co


Đây là vi điều khiển thuộc họ Pic16Fxxx gồm 35 lệnh với độ dài 14 bit.

an

Mỗi lệnh đều được thực hiện trong 1 chu kỳ xung clock, tốc độ hoạt động tối

th

đa cho phép là 20MHz với 1 chu kỳ lệnh là 200ns. Bộ nhớ chương trình 8Kx
14 bit, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROM với

on

g

dung lượng 256x8 byte. Số PORT I/O là 5 với 33 pin I/O. Có 8 kênh chuyển

du

đổi A/D.

2.2.1 Các đặc tính ngoại vi bao gồmcác khối chức năng:

cu

u

+ Timer0: Bộ đếm 8 bit với bộ chia tầng 8 bit
+ Timer1: Bộ đếm 16 bit với bộ chia tầng có thể thực hiện chức năng đếm
dựa vào 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ầng số, bộ postcaler.
o Hai bộ capture , so sánh, điều chế độ rộng xung
o Các chuẩn giao tiếp nối SSP ( Synchronous serial port ), SPI và I2C
o Chuẩn giao tiếp nối 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.

10

CuuDuongThanCong.com

/>

ĐỒ ÁN TỐT NGHIỆP
2.2.2

Các đặc tính Analog:

8kênh chuyển đổi ADC 10 bit
2bộ so sánh
Bộ nhớ flash với khả năng ghi xóa được 100.000 lần
Bộ nhớ EEPROM vói khả năng ghi xóa được 1.000.000 lần
Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm
Khả năng tự nạp chương trình với sự điều khiển của phần mềm
Nạp chương trình ngay trên mạch điện ICSP ( In Circuit Serial

om

Programming ) thông qua 2 chân

.c


Watchdog timer với bộ dao động trong
Chức năng bảo mật mã chương trình

ng

Chế độ sleep

co

Có thể hoạt động với nhiều dạng Oscillator khác nhau

an

2.2.3 Các cổng xuất nhập của Pic 16F877A

th

Cổng xuất nhập chính là phương tiện ma vi điều khiển dùng để tương tác
với thế giới bên ngồi. Sự tương tác này rất đa dạng và thơng qua sự tương

on

g

tác đó,chức năng của vi điều khiển được thể hiện rõ ràng.

du

Vi điều khiển PIC 16F877A có 5 cổng xuất nhập PORTA, PORTB,

PORTC, PORTD và PORTE.

cu

u

PORT A (RPA) bao gồm 6 I/O đây là các chân 2 chiều có thể xuất và
nhập,chức năng xuất nhập được điều khiển bởi thanh ghi TRISA (địa chỉ
85h). Muốn xác lập 1 chân trong thanh ghi TRISA là input ta “set” bit
tương ứng trong thanh ghi TRISA và mún có 1 chân output ta “clear”bit
tương ứng trong thanh ghi. Thao tác này hoàn toàn tương tự với PORT và
các thanh ghi điều khiển tương ứng.
Bên cạnh đó PORTA cịn là ngõ ra của bộ ADC,bộ so sánh,ngõ vào
Analog,ngõ vào xung clock Timer0 và ngõ vào của bộ giao tiếp MSSP.
Các thanh ghi TRISA bao gồm:
PORTA (địa chỉ 05h):chứa giá trị các chân I/O trong PORTA
11

CuuDuongThanCong.com

/>

ĐỒ ÁN TỐT NGHIỆP
TRISA (địa chỉ 85h): điều khiển xuất nhập.
CMCON (địa chỉ 9Ch): thanh ghi điều khiển bộ so sánh.
ADCON1 (địa chỉ 9Fh):thanh ghi điều khiển ADC
PORTB
PORTB(RPB) bao gồm 8 chân I/O,thanh ghi điều khiển xuất nhập tương
ứng là TRISB. Bên cạnh đó có 1 số chân của PORTB dùng để nạp chương
trình cho vi điều khiển với các chế độ nạp khác nhau. PORTB còn liên quan

đến ngắt ngoại vi và Timer0. PORTB cịn được tích hợp chức năng điện trở

om

kéo lên được điều khiển bởi chương trình

.c

Các thanh ghi PORTB bao gồm:

PORTB (địa chỉ 06h,106h):chứa giá trị các chân trong PORTB.

ng

TRISB (địa chỉ 86h,186h):điểu khiển xuất nhập.

co

OPTION_REG (địa chỉ 81h,181h):điểu khiển ngắt ngoại vi toàn bộ Timer0.

an

PORTC

th

PORTC(RPC)gồm 8 chân I/O,thanh ghi điều khiển xuất nhập tương ứng là
TRISC,bên cạnh đó PORTC cịn chứa các chân chức năng của bộ so

on


g

sánh,Timer1,bô PWM,và các chuẩn giao tiếp nối tiếp I2C,SPI,SSP,USART

du

Các thanh ghi điều khiển:
PORTC (địa chỉ 07h):chứa giá trị các chân trong PORTC.

cu

u

TRISC (địa chỉ 87h):điều khiển xuất nhập.
PORTD

PORTD(RPD) gồm 8 chân I/O,thanh ghi điều khiển xuất nhập tương ứng là
TRISD,PORTD còn là cổng xuất dữ liệu của chuận giao tiếp PSP
Các thanh ghi:
Thanh ghi PORTD (địa chỉ 08h):chứa giá trị các chân trong PORTD
TRISD (địa chỉ 88h)điều khiển xuất nhập

12

CuuDuongThanCong.com

/>

ĐỒ ÁN TỐT NGHIỆP

PORTE
PORTE(RPE) gồm 3 chân I/0,thanh ghi điều khiển xuất nhập tương ứng là
TRISE. Các chân PORTE có ngõ vào analog,bên cạnh đó PORTE cịn là
các chân điều khiển của chuẩn giao tiếp PSP
Các thanh ghi:
PORT (địa chi 09h) chứa giá trị các chân trong PORTE.
TRISE (địa chỉ 89h) điều khiển xuất nhập và xác lập các thông số cho
chuẩn PSP.

.c

Các thiết bị ngoại vi

ng

2.3.1 Cảm biến LM35

co

a)Cảm biến LM35 là bộ cảm biến nhiệt mạch tích hợp chính xác cao
mà điện áp đầu ra của nó tỷ lệ tuyến tính với nhiệt độ theo thang độ

an

Celsius. Chúng cũng khơng u cầu cân chỉnh ngồi vì vốn chúng đã được

th

cân chỉnh


g

b) Đặc điểm chính của cảm biến LM35

on

+ Điện áp đầu vào từ 4V đến 30V

du

+ Độ phân giải điện áp đầu ra là 10mV/oC

u

+ Độ chính xác cao ở 25 C là 0.5 C
+ Trở kháng đầu ra thấp 0.1 cho 1mA tải

cu

2.3

om

ADCON1 thanh ghi điều khiển khối ADC.

2.3.2 Màn hình hiển thị LCD
Ngày nay, thiết bị hiển thị LCD (Liquid Crystal Display) được sử
dụng trong rất nhiều các ứng dụng của VĐK. LCD có rất nhiều ưu điểm so với
các dạng hiển thị khác: Nó có khả năng hiển thị kí tự đa dạng, trực quan (chữ,
số và kí tự đồ họa), dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao

tiếp khác nhau, tốn rất ít tài nguyên hệ thống và giá thành rẻ…

13

CuuDuongThanCong.com

/>

ĐỒ ÁN TỐT NGHIỆP

cu

u

du

on

g

th

an

co

ng

.c


om

2.4 Chức năng các chân của vi điều khiển Pic 16F877A

o Chân OSC1/CLK1 (13): Ngõ vào kết nối với dao động thạch anh hoặc gõ vào
nhận xung clock từ bên ngoài.
o Chân OSC1CLK1 (14): Ngõ ra dao động thạch anh hoặc ngõ ra cấp xung
clock
o Chân (1) có 2 chức năng: ngõ vào reset tích cực ỏ mức thấp
o Chân OSC1/CLK1 (13) : Ngõ vào kết nối với dao động thạch anh hoặc vào
nhận xung clock từ bên ngoài.
14

CuuDuongThanCong.com

/>

ĐỒ ÁN TỐT NGHIỆP
o Chân OSC2/CLK (14) : ngõ ra dao động thạch anh hoặc ngõ ra cấp xung
clock.
o Chân MCLR/Vpp(1) có 2 chức năng: MCLR ngõ vào reset tích cực thấp, Vpp
ngõ vào nhận điện áp lập trình khi lập trình cho PIC
o Chân RA0/AN0(2), RA1/(3),RA2/An2(3): có 2 chức năng là RA0,1,2
xuất/nhập số; AN 0,1,2 ngõ vào tương tự của kênh thứ 0,1,2.
o Chân RA2/AN2/VREF-/CVREF+(4): Xuất nhạp số/ ngõ vào tương tự của
kênh thứ 2/ ngõ vào điện ap chuẩn thấp của bộ AD/ ngõ vào điện áp chuẩn

om

cao của bộ AD.


.c

o Chân RA3/AN3/VREF+(5):xuất nhập số/ ngõ vào tương tự kênh 3/ngõ vào
điện áp chuẩn (cao) của bộ AD.

co

cho Timer 0/ ngõ ra bộ so sánh 1.

ng

o Chân RA4/TOCK1/C1OUT(6): xuất nhập số/ ngõ vào xung clock bên ngoài

an

o Chân RA5/AN4/SS/C2OUT(7): xuất nhập số/ ngõ vào tương tự kênh 4/ ngõ

th

vào chọn lựa SPI phụ/ ngõ ra bộ so sánh 2
o Chân RB0/INT(33): xuất nhập số/ ngõ tín hiệu ngắt ngoài.

on

g

o Chân RB1(34), RB2(35): xuất nhập số.

du


o Chân RB3/PGM (36); xuất nhập số/ cho phép lập trình điện áp thấp ICSP.
o Chân RB4(37), RB5(38): xuất nhập số

cu

u

o Chân RB6/PGC(39): xuất nhập số/ mạch gỡ rối và xung clock lập trình ICSP.
o Chân RB7/PGD(40): xuất nhập số/ mạch gỡ rối và dữ liệu lập trình ICSP
o Chân RC1/T1OSI/CCP2(16): xuất nhập số/ ngõ vào bộ dao động Timer 1/
ngõ vòa Capture 2, ngõ ra compare2, ngõ ra PWM2.
o Chân RC2/CCP1(17): xuất nhập số/ ngõ vào Capture1, ngõ ra compare1, ngõ
ra PWM1.
o Chân RC3/SCK/SCL(18): xuất nhập số/ ngõ vào xung clock nối tiếp đồng bộ
, ngõ ra của chế độ I2C.
o Chân RC4/SDI/SDA(23): xuất nhập số/ dữ liệu vào SPI/ xuất nhập dữ liệu
I2c
15

CuuDuongThanCong.com

/>

ĐỒ ÁN TỐT NGHIỆP
o Chân RC5/SDO (24):xuất nhập số/ dữ liệu ra SPI.
o Chân RC6/TX/CK(25): xuất nhập số/ truyền bất động bộ USART/ xung đồng
bộ USART.
o Chân RC7/RX/DT(26): xuất nhập số/ nhận bất đồng bộ USART.
o Chân RD0-7/PSP0-7(19-30): xuất nhập số/ dữ liệu port song song.

o Chân RE0/ RD/AN5(8): xuất nhập số/ điều khiển port song song/ ngõ vào
tương tự 5
o Chân RE1/WR/AN6(9): xuất nhập số/ điều khiển khi port song song/ ngõ vào

om

tương tự kênh thứ 6.

.c

o Chân RE2/CS/AN7(10): xuất nhập số/ chân chọn lựa điều khiển port song
song/ngõ vào tương tự kênh thứ 7.

ng

o Chân VĐ (11,32) và Chân RB4(37), RB5(38): xuất nhập số.

co

o Chân RB6/PGC(39): xuất nhập số/ mạch gỡ rối và xung clock lập trình

Thanh ghi

th

2.5

an

ICSP.


2.5.1 Thanh ghi chức năng đặc biệt SFR

on

g

Đây là các thanh ghi được sử dụng bởi CPU hoặc được dùng để thiết lập và

du

điều khiển các khối chức năng được tích hợp bên trong vi điều khiển. Có thể
phân thanh ghi SFR làm 2 loại: thanh ghi SFR liên quan đến các chức năng

cu

u

bên trong ( CPU )và thanh ghi SCF dùng để thiết lập và điều khiển các khối
chức năng bên ngồi (ví dụ như ADC, PWM,…). Phần này sẽ đề cập đến các

thanh ghi liên quan đến các thanh ghi liên quan đến các chức năng
bên trong. Các thanh ghi dùng để thiết lập và điều khiển các khối chức
năng sẽ được nhắc đến khi ta đề cập tới các khối chức năng đó

16

CuuDuongThanCong.com

/>


ĐỒ ÁN TỐT NGHIỆP
Thanh ghi STATUS ( 03h, 83h, 103h, 183h ): thanh ghi chứa kết quả thực
hiện phép toán của khối ALU, trạng thái reset và các bit chọn bank cần truy
xuất trong bộ nhớ dữ liệu.

Thanh ghi OPTION_RED (81h, 181h ): thanh ghi này cho phép đọc và
ghi, điều khiển chức năng pull-up của các chân trong PORTB, xác lập các

om

tham số về xung tác động, cạnh tác động của ngắt ngoai vi và bộ đếm

ng

.c

Timer0.

co

Thanh ghi INTCON (0Bh, 8Bh, 10Bh, 18Bh ): thanh ghi cho phép đọc và

an

ghi, chứa các bit điều khiển và các bit cờ hiệu khi Timer0 bị tràn, ngắt ngoại

on

g


th

vi RB0/INT và ngắt interput on change tại các chân của PORTB

du

Thanh ghi PIE1 (8Ch): chứa các bit điều khiển chi tiết ngắt của các khối

u

chức năng ngoạiThanh ghi PIR1 (0Ch ) chứa cờ ngắt của các khối chức năng

cu

ngoại vi.

Thanh ghi PIE2 ( 8Dh ) chứa các bit điều khiển các ngắt của các khối chức
năng CCP2, SSP bus ngắt của bộ so sánh và ngắt ghi vào bộ nhớ EEPROM

17

CuuDuongThanCong.com

/>

ĐỒ ÁN TỐT NGHIỆP
Thanh ghi PIR2 (0Dh ) chứa các cờ ngắt của các khối chức năng ngoại vi,
các cờ ngắt này cho phép bởi các bit điều khiển chứa trong thanh ghi PIE2


2.5.2 Thanh ghi mục đích chung GPR
Các thanh ghi này có thể được truy xuất trực tiếp hoặc gián tiếp thông qua

om

thanh ghi FSG ( File Select Register ). Đây là các thanh ghi dữ liệu thông

.c

thường người sử dụng có thể tùy theo mục đích chương trình mà có thể dùng

ng

các thanh ghi này để chứa các biến số, hằng số, kết quả hoặc các tham số
phục vụ cho chương trình

co

2.6 Ngơn ngữ lập trình

an

Sự ra đời của một loạt vi điều khiển đi kèm với việc phát triển phần mềm

th

ứng dụng cho việc lập trình cho con vi điều khiển đó. Vi điều khiển chỉ hiểu

g


và làm việc với hai con số 0 và 1. Ban đầu để việc lập trình cho VĐK là làm

on

việc với dãy các con số 0 và 1. Sau này khi kiến trúc của VĐK ngày càng

du

phức tạp,số lượng thanh ghi lệnh nhiều lên, việc lập trình với dãy số 0 và 1
khơng cịn phù hợp nữa, địi hỏi ra đời một ngôn ngữ mới thay thế. Và ngôn

cu

u

ngữ lập trình Assembly, sau này khi ngơn ngữ C ra đời nhu cầu dùng ngôn
ngữ C thay cho ASM trong việc mơ tả các lệnh lập trình cho Vi điều khiển
một cách ngắn gọn và dễ hiểu hơn đã dẫn đến sự ra đời của nhiều chương
trình soạn thảo và biên dịch C cho Vi điều khiển: Keil C, HT-PIC, MikroC,

18

CuuDuongThanCong.com

/>

ĐỒ ÁN TỐT NGHIỆP

Chương III: Các loại cảm biến và ứng dụng trong
mạch vi điều khiển

3.1

Độ ẩm

3.1.1 Kháng hr202 cảm biến độ ẩm:
o

Hr202 độ ẩm cảm biến kháng được tạo thành từ vật liệu polyme

om

hữu cơ, nó có rất tốt độ ẩm cảm biến phạm vi, hiệu suất ổn định,
dài hạn sử dụng, có thể được sử dụng trong kho, xe ơ tơ, kiểm

.c

sốt chất lượng khơng khí trong nhà, xây dựng tự động hóa, y tế,

ng

hệ thống điều khiển công nghiệp và nhiều ứng dụng như nghiên

an

Thông số kỹ thuật: các thông số ( tại 1kHz ) đơn vị: ohm tầm

on

Mô tả


g

&Plusmn, 5%rh

th

hoạt động 20..95%rh 0.. 60? Độ ẩm phát hiện chính xác của

Có thể phát hiện độ ẩm môi trường xung quanh

2.

Điều chỉnh độ nhạy ( thể hiện trong màu xanh Potentiometer

u

du

1.

kỹ thuật số điều chỉnh )

cu

o

co

cứu khoa học.


3.

Điện áp hoạt động 3.3v-5v.

4.

Đầu ra từ a) 5 điện áp đầu ra tương tự

5.

Kỹ thuật số chuyển đổi kết quả đầu ra ( 0 và 1)

6.

Lỗ bulông cố định để cài đặt dễ dàng

7.

Bảng nhỏ pcb kích thước: 3cm* 1.6cm

8.

Sử dụng LM393 so sánh chip
Ứng dụng:
19

CuuDuongThanCong.com

/>


ĐỒ ÁN TỐT NGHIỆP
Sử dụng để hiển thị nhiệt độ và độ ẩm, khí quyển, giám sát
mơi trường, điều khiển q trình cơng nghiệp, nơng nghiệp,
khỏ sát cơng cụ vv.
1.

Độ ẩm kháng mô-đun nhạy cảm nhất với môi trường.

2.

Khi môi trường bên ngoài độ ẩm vượt quá thiết lập ngưỡng,
các mô đun d0 đầu ra thấp.

3.

dO kỹ thuật số đầu ra có thê được kết nối trực tiếp với vi

om

điều khiển để phát hiện cao và thấp, do đó phát hiện mơi
Có thể lái xe chuyển tiếp mơ-đun trực tiếp, có thể được bao

ng

4.

.c

trường độ ẩm thay đổi


co

gồm ướt kiểm sốt chuyển đổi.
Nó cũng có đầu ra tương tự.

th

an

3.1.2 Cảm biến độ ẩm HS1101

on

g

HS1101 là loại cảm biến đo độ ẩm. Độ chính

du

xác +-2%. Dãy nhiệt độ hoạt đơng từ -400C đến

u

1000C. Cảm biến HS1101 được sử dụng phổ biến

cu

trong cuộc sống, ngồi ra nó cịn dùng kết hợp với cảm biến
DS18B20 dùng đo nhiệt độ.
Nguyên lý hoạt động: Cảm biến HS1101 là cảm biến điện

dung. Khi độ ẩm thay đổi điện dung của HS1101 thay đổi. Do
vậy, để đo được độ ẩm ngừời ta thường ghép nối HS1101 và IC
NE555. Khi đó giá trị điện dung của HS1101 thay đổi thì làm
thay đổi tần số đầu ra của IC555. Như vậy chỉ cần đo tần số đầu
ra là có thể đo được điện dung của HS1101.
20

CuuDuongThanCong.com

/>

cu

u

du

on

g

th

an

co

ng

.c


om

ĐỒ ÁN TỐT NGHIỆP

Sơ đồ ghép nối HS1101 với NE555

21

CuuDuongThanCong.com

/>

ĐỒ ÁN TỐT NGHIỆP

3.2

Cảm biến nhiệt độ

Cảm biến LM 35

u

du

on

g

th


an

co

ng

.c

om

3.2.1 LM35

cu

Gồm 3 chân: + chân 1: chân nguồn đầu vào Vcc
+ chân 2: chân đầu vàoVout
+ chân 3: chân nối đất GNDCảm biến LM35 là bộ cảm
biến nhiệt mạch tích hợp chính xác cao mà điện áp đầu ra củanó tỷ lệ
tuyến tính với nhiệt độ theo thang độ Celsius. Chúng cũng khơng
u cầu cânchỉnh ngồi vì vốn chúng đã được cân chỉnhĐặc điểm
chính của cảm biến LM35+ Điện áp đầu vào từ 4V đến 30V+ Độ
phân giải điện áp đầu ra là 10mV/oC+ Độ chính xác cao ở 25 C là
22

CuuDuongThanCong.com

/>

ĐỒ ÁN TỐT NGHIỆP

0.5 C+ Trở kháng đầu ra thấp 0.1 cho 1mA tảiDải nhiệt độ đo được
của LM35 là từ -55 C - 150 C với các mức điện áp ra khác nhau.Xét
một số mức điện áp sau :- Nhiệt độ -55 C điện áp đầu ra -550mVNhiệt độ 25 C điện áp đầu ra 250mV- Nhiệt độ 150 C điện áp đầu ra
1500mV.
3.2.2 Cảm biến PT100
1.Các thông số kĩ thuật của dây đo nhiệt PT100

om

a-Các thông số cơ bản :

.c

Dây cảm biến nhiệt PT100 bao gồm một đầu dị ống trụ có đường

ng

kính 4mm và chiều dài ống trụ là 30mm ,2 dây đầu ra có chiều dài

co

70cm

Dải nhiệt độ đo được là từ -200ºC đến 500ºC

cu

u

du


on

g

th

an

b-Sơ đồ cấu tạo bên trong của đầu dị hình trụ

23

CuuDuongThanCong.com

/>

ĐỒ ÁN TỐT NGHIỆP
Điện trở của ống trụ RPT100 = RPT + R3 + R2
L2,L3 được nối với 2 dây đầu ra
c-Nguyên tắc hoạt động
Khi có sự thay đổi nhiệt độ trên đầu dị thì dẫn đến sự thay đổi điện
trở của ống trụ .Mỗi giá trị nhiệt độ khác nhau tương ứng với mỗi giá
trị điện trở khác nhau.Ở 10 ºC thì đo được giá trị điện trở

ng

.c

om


RPT100 =107,6 Ω . Khi tăng 1ºC thì RPT tăng sấp xỉ 0,4Ω

co

Chương IV: Thiết kế hệ thống đo nhiệt độ dùng Pic 877A và
Thiết kế phần cứng

th

4.1

an

LM 35

cu

u

du

on

g

4.1.1 Sơ đồ khối

24


CuuDuongThanCong.com

/>

ĐỒ ÁN TỐT NGHIỆP

Khối Nguồn

Khối Cảm
Biến

Khối Hiển
Thị

co

ng

.c

om

Khối Vi Xử Lý

Khối Cảnh Báo

cu

u


du

on

g

th

an

Khối Bàn Phím

4.1.2 Khối nguồn
a) Sơ đồ nguyên lý

25

CuuDuongThanCong.com

/>

×