ĐỒ ÁN 1
NHẬN XÉT CỦA GIÁO VIÊN
……………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………………
……………………………………………………
……………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………… Tp.HCM, Ngày…. tháng năm 2013
Giáo viên hướng dẫn
2
ĐỒ ÁN 1
MỤC LỤC
CHƯƠNG I. MỞ ĐẦU
1.1 Lời mở đầu 5
1.2 Nhiệm vụ đề tài 6
CHƯƠNG II. VI ĐIỀU KHIỂN PIC16F877A
2.1 GIỚI THIỆU VỀ PIC 7
3.2.3 Một số mã lệnh cơ bản 21
CHƯƠNG IV. THIẾT KẾ VÀ THI CÔNG
4.1 Kit phát triển pic16f877a
4.1.1 Mạch nguồn 22
4.1.2 Main Pic và modul phát triển 23
4.2 Mạch đo điện áp DC từ 0-10v
4.2.1 Mạch nguyên lí 24
4.2.2 Code 25
PHẦN V: ĐÁNH GIÁ SẢN PHẨM VÀ MỞ RỘNG ĐỀ TÀI 29
TÀI LIỆU THAM KHẢO 30
4
ĐỒ ÁN 1
Lời mở đầu
!"#!$%&'()*+,*-./,0
$%#123.4"35
67/,0**'#8*9999(4:;
+#<);+=/,0**'>3(
;*)?$%&'#@A)B67;
+C)BD(E)B*2;,
);+F3G3H6$*$H4
()H)#
!)(3H67*IJ**?K"3%;
+3B3"9(LJ>3)(+
;+9A-#8B*6$'L&I*HMM=9+
)(65&),H*3HB95
&)*IA#
N$(*OH*6$!HP) @M<5Q
-!"R1S467MTU1@V1W8B8@MG3
M )XY “THIẾT KẾ VÀ THI CÔNG KIT PHÁT
()*+L(g3'H*AXhhHL(g3
)#
bc<XZi\]]j,Ebc<)(aA5D(00A
)/,0#!>,Ebc<),S6$33JGbc<
+(00(H;L;+bc<32#
2.2 SƠ LƯỢC VỀ VI ĐIỀU KHIỂN PIC 16F877A
2.2.1 Sơ đồ chân và chức năng các chân của PIC16F877A
• <>klXmY<9n/D
o YW*GG5o3/I(#
o 1((YW)((*2(*2bc<#
• <>pjhkjhlnmpjXkjXlqmpjnkjnlrmY9n/D
o pjhpjXpjnY&Ik(%#
o jhjXjnYW6=-/hXn#
7
ĐỒ ÁN 1
• <>pjnkjnk1psiRk<1psitlrmY&I(%kW6=
-/nkW)(gI(jVkW)(g
jV#
• <>pjqkjqk1psitlumY&I(%kW6=-qkW
)(glmjV#
• <>pjrk8v< Xk<Xvw8lZmY&I(%kW&-
83G*hkW*)X#<>pjukjrkk<nvw8l]mY&I(%kW
6=-rkWNbc(0kW*)n#
• <>pshkkjul\mY&I(%k;+(*kW6=
u#
• <>psXkkjZlxmY&I(%k;+(*kW
6=-/Z#
• <>psnkkj]lXhmY&II(%k<>0;+(*
kW6=-/]#
• <>vN<Xk<^ XlXqmYW%,HW
X>,+psNs8;+#
• ubvp8bc<XZi\]]jM3Y
o bvp8PY\>
o bvp8<Y\>
o bvp8VY\>
o bvp8jYZ>
o bvp8sYq>
• Q}>bc<XZi\]]j9/D)#8*993%>
4,0Y3}>9+H636$&I(3
>/D,+()BH#
2.3 CẤU TRÚC PHẦN CỨNG CỦA PIC16F877A
2.3.1 Cấu trúc tổng quát
• \ ip3
• qZ\&\Gp3
• nuZGsibpvQ
• ubvp8*5;+(
• nB$83G*h83G*n\
• XB$83G*XXZ9+Ho3D67
M&
• n<(*Gk<3(*GkbyQ
• XjV<
• n)6=
• XB$)3)lyV83G*m
• Xa\5;+
• Xa%(
• Md
• P-H935);+6Y
o P[LD&967Xhh#hhhA#
o PssbpvQLD&967X#hhh#hhhA#
o V.ssbpvQ9+6*.*-rhD3#
2.4.2 Bộ nhớ dữ liệu
P,.bc<ssbpvQ67*3;#
!%bc<XZi\]]j,.67*3r#Q}9,
67Xn\GM3)9/DNiUlN(G
ipGG*mF3o)B•I()305
UbplUGG*b*(GpGG*mF3oB•EH*#<)
Nip6$&-67",0l5,06N8j8wNm`67o
I),.„(*J)*2*&I3
L36=*2#
2.5CÁC CỔNG XUẤT NHẬP CỦA PIC16F877A
1;+bc<XZi\]]j9ua&I(M3bvp8j
bvp8Pbvp8<bvp8Vbvp8s#<I*„/DCa&I
(`67;(0+*(A#
2.5.1 Port A
• bvp8jlpbjmM3Zckv(#!>)>e;f
l,*G(m?9+&I(67#</Dckv
67;+o8pcNjlB•\um#Q%&)(/
D3>*bvp8j(eGf;+6=
/>9*8pcNj67H3%&)(/
D3>*bvp8j(eG*f;+
6=/>9*8pcNj#8)
6=%)bvp8);+6=/8pcN
11
ĐỒ ÁN 1
l%bvp8j8pcNj%bvp8P8pcNP%bvp8<
8pcN<%bvp8V8pcNV%bvp8s8pcNsm#
• P-H9bvp8jEW*jV<)W
W&83G*hW(
QNNblQG*N*NG*b*m#!5`67*2
0+*(A#
12
ĐỒ ÁN 1
o 88pcNVY;+&I(
2.5.5 Port E
• bvp8slpbsmM3q>ckv#8;+&I(
6=/8pcNs#<)>bvp8s9W#P-H
9bvp8sE)>;+g(bNb#
• <)-Jbvp8sM3Y
o bvp8sY/)*B)>*bvp8s#
o 8pcNsY;+&I(&)()4%g
(bNb#
o jV<vXY;+%jV<#
2.6 BỘ ĐỊNH THỜI CỦA PIC16F877A
• bc<XZi\]]j9ILq83G*Y83G*hl\m83G*XlXZm83G*nl\
m#
• 83G*h83G*n3\l)*B3%iim*
83G*X3XZl)*B3%iiiim#
• 83G*h83G*X83G*n;9H3G*G*#
z9A%F†A%*#z)-83G*h
67}*7o(*GG*9+67(o;)
lA%)H)m*)4%&)
-83G*X%B#83G*n67}*7oA%
(*GG*(G*(-H)‡67%B
H-#
• 83G*X9J%<<b*83G*n67%%
NNb#Q)`„(,S,6783G*57(
/,0#
2.7 MODULE ADC
• jV<ljV<G*G*m+a5.,H
6=%#bc<XZi\]]j9\WlpjrYpjhpsnYpshm#
o +3*$d#
6. !JL+a&9$dGklA(
0+am#
7. 8(0)6XnJ)*2+a(G#
• <A„T9)6JL+ajV)6
67;+ojViQ#
• <)-J+ajV<M3Y
o c8<vlB•hP\PXhPX\PmY({()d
l)Ucsbscsm#
o bcpXlB•h<mY/$djVljVcim#
o bcsXlB•\<mY/;+jVljVcsm#jVpsN@lB
•XsmjVpsN^lB•xsmY)/JL
+ajV#
o jV<vhlB•XimjV<vXlB•ximY&)()4
%+ajV#
o bvp8jlB•hum8pcNjlB•\umY-J)W
obvp8j#
o bvp8slB•hxm8pcNslB•\xmY-J)W
obvp8s#
14
ĐỒ ÁN 1
2.8 MODULE CCP
• l<(*Gk<3(*GkbyQmM3))*-)&3I(
o)383G*X83G*n#bc<XZi\]]j6757(ˆ%
<<bY<<bX<<bn#Q}<<b93XZ
l<<bpX@Y<<bpX^<<bpn@Y<<bpn^m(;+,
%<<b&p<nk<<bXp<Xk8XvNck<<bn#<)/D<<b
M3Y
o <(*G#
o N)l<3(*Gm#
LIQUID CRYSTAL DISPLAY (LCD)
3.1 GIỚI THIỆU VỀ LCD 16x2Y
3.1.1 SƠ ĐỒ CHÂN VÀ SƠ ĐỒ NGUYÊN LÝ CỦA LCD
• N=M>Y
17
ĐỒ ÁN 1
• N=M-5Y
3.1.2 Chức năng của các chân LCD:
18
ĐỒ ÁN 1
3.2 HIỂN THỊ KÝ TỰ TRÊN LCD
3.2.1 Nguyên tắc hiển thị
• Q6=*2+BT*-^<VM3)6Y
o z932#
o !+B#
o !B*5*:l=dA+Bm#
o @+BT#
• <„TY
o n6%9+(H;AA+B;T#
o Q},.+B-^<VA(L+3
*$*6#12A(L(>(%$
^<Vl5,06&9322n33,67*)2$
&932XZr3m#<+B3B`+B,BB*5
*:A,E/I#
19
ĐỒ ÁN 1
3.2.2 Mã lệnh của LCD:
20
ĐỒ ÁN 1
3.2.3 Một số mã lệnh cơ bản:
//chuong trinh doc gia tri hien thi dien ap(0-10v) len LCD
#include <16f877A.h>
#device ADC=8
#fuses nowdt,noprotect,nolvp
24
Mạch phân áp
ĐỒ ÁN 1
#use delay(clock=4000000)
#use fast_io(e)
#use fast_io(c)
#use fast_io(a)
#define RS pin_E0
#define RW pin_E1
#define EN pin_E2
//Cac chuong trinh con cua LCD
void write_com(int8 data)
{
output_c(data);
output_bit(EN,1);
output_bit(RS,0);//mode=0=>comand/mode=1=>data
output_bit(RW,0);//cho phep viet lenh
delay_ms(1);
output_bit(EN,0);
delay_ms(1);
}
void write_data(data)
{
output_c(data);
output_bit(EN,1);
output_bit(RS,1);//mode=0=>comand/mode=1=>data