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
/>