1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án: Thiết kế, chế tạo mạch đo nhiệt độ hiển thị trên LCD 16X2

57 174 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 57
Dung lượng 1,52 MB

Nội dung

Với kết cấu nội dung gồm 4 chương, đồ án Thiết kế, chế tạo mạch đo nhiệt độ hiển thị trên LCD 16X2 trình bày về các phương pháp đo nhiệt độ, cơ sở lý thuyết đo nhiệt độ hiển thị trên LCD 16X2, thiết kế và chế tạo LCD 16X2,... Đây là tài liệu tham khảo hữu ích cho các bạn chuyên ngành Điện - Điện tử.

Trang 1

Giáo viên h ướ ng d n ẫ : Nguy n Vi t Ng ễ ế ư

Sinh viên th c hi n ự ệ :     Ph m Văn Th c ạ ự

      Thân Th  Th ị ươ ng

L p ớ :       112134.1

Trang 2

Tháng 10, năm 2015

Trang 3

NHÂN XET CUA GIAO VIÊN H ̣ ́ ̉ ́ ƯƠ NG DÂN ́ ̃

Ngày       tháng 10 năm 2015 Giáo viên hướng d nẫ

Trang 4

M C L C:Ụ Ụ

Table of Contents

Trang 5

đi u khi n nh  8051, Motorola 68HC, AVR, ARM,  Ngoài h  8051 đề ể ư ọ ượ  c

hướng d n m t cách căn b n   môi trẫ ộ ả ở ường đ i h c, chúng em đã ch n vi đi uạ ọ ọ ề  khi n PIC đ  m  r ng v n ki n th c và phát tri n các  ng d ng trên công cể ể ở ộ ố ế ứ ể ứ ụ ụ này vì các nguyên nhân sau:

H  vi đi u khi n nàycó th  tìm mua d  dàng t i th  trọ ề ể ể ễ ạ ị ường Vi t Nam.ệ

Có đ y đ  tính năng c a m t vi đi u khi n khi ho t đ ng đ c l p.ầ ủ ủ ộ ề ể ạ ộ ộ ậ

Là s  b  sung r t t t v  ki n th c cũng nh   ng d ng cho h  vi đi uự ổ ấ ố ề ế ứ ư ứ ụ ọ ề  khi n mang tính truy n th ng: h  vi đi u khi n 8051. Giá thành khôngể ề ố ọ ề ể  

đ t.ắ

S  h  tr  c a nhà s n xu t v  trình biên d ch, các công c  l p trình, n pự ỗ ợ ủ ả ấ ề ị ụ ậ ạ  

chương trình t  d n gi n t i ph c t p ừ ơ ả ớ ứ ạ

Các tính năng đa d ng c a vi đi u khi n PIC và các tính năng này khôngạ ủ ề ể  

ng ng đừ ược phát tri n.ể

S  lố ượng ngườ ử ụi s  d ng h  vi đi u khi n PIC trên th  gi i cũng nhọ ề ể ế ớ ư 

Vi t Nam khá nhi u.Đã t o thu n l i trong quá trình tìm hi u và phátệ ề ạ ậ ợ ể  tri n các  ng d ng nh : s  lể ứ ụ ư ố ượng tài li u, s  lệ ố ượng các  ng d ng mứ ụ ở 

đã được phát tri n, d  dàng trao đ i, h c t p, d  dàng tìm để ễ ổ ọ ậ ễ ược h  trỗ ợ khi g p khó khăn.ặ

Trang 6

Vì v y, sau m t th i gian h c t p và tìm hi u tài li u v i s  gi ng d yậ ộ ờ ọ ậ ể ệ ớ ự ả ạ  

c a các th y cô giáo. Cùng v i s  d n d t nhi t tình c a giáo viên hủ ầ ớ ự ẫ ắ ệ ủ ướng d nẫ  

th y ầ Nguy n Vi t Ngễ ế ư. Chúng em đã ch n đ  tài: ọ ề

“thi t k  ch  t o m ch đo nhi t đ  hi n th  trên LCD 16x2ế ế ế ạ ạ ệ ộ ể ị ” làm đ  án ồtích  h p 1 c a mình.ợ ủ

Trang 7

 Đ i tố ượng nghiên c u

V i đ  tài này chúng em t p trung vào:ớ ề ậ

Tìm hi u v  vi đi u khiể ề ề ển PIC 16F877A

Nghiên c u và ch  t o thi t b  đo nhi t đ  phòng.ứ ế ạ ế ị ệ ộ

 M c đích nghiên c uụ ứ

Khi nghiên c u đ  án này chúng em đã:ứ ồ

Hi u để ược cách th c và ch  đ  ho t đ ng c a VĐK ứ ế ộ ạ ộ ủ PIC 16F877A

Hi u để ược cách th c ho t đ ng c a c m bi n nhi t đ  LM 35.ứ ạ ộ ủ ả ế ệ ộ

Thi t k , ch  t o đế ế ế ạ ược m ch đo nhi t đ  phòng dùng ạ ệ ộ PIC 16F877A

Do ki n th c và trình đ  năng l c h n h p nên vi c th c hi n đ  tài này khôngế ứ ộ ự ạ ẹ ệ ự ệ ề  

th  tránh để ược thi u sót, kính mong nh n đế ậ ược s  thông c m và góp ý c aự ả ủ  

th y giáo, cô giáo và các b n đ  đ  án này hoàn ch nh h n.ầ ạ ể ồ ỉ ơ

Chúng em xin trân thành c m  n!ả ơ

Sinh viên th c hi n:ự ệ   Ph m Văn Th cạ ự

Thân Th  Thị ương

Trang 8

CHƯƠNG I: CÁC PHƯƠNG PHÁP ĐO NHIỆT ĐỘ

1.1   Khái ni m v  nhi t đ : ệ ề ệ ộ

   1.1.1  Khái ni m:

        Nhi t đ  là đ i lý đ c tr ng cho cệ ộ ạ ặ ư ường đ  chuy n đ ng c a các nguyênộ ể ộ ủ  

t , phân t  c a m t h  v t ch t. Tu  theo t ng tr ng thái c a v t ch t ( r n,ử ử ủ ộ ệ ậ ấ ỳ ừ ạ ủ ậ ấ ắ  

l ng, khí) mà chuy n đ ng này có khác nhau.   tr ng thái láng, các phân t  daoỏ ể ộ ở ạ ử  

đ ng quanh vi trí cân b ng nh ng vi trí cân b ng c a nó luôn d ch chuy n làmộ ằ ư ằ ủ ị ể  cho ch t l ng không có hình d ng nh t đ nh. Còn   tr ng thái r n, các ph n t ,ấ ỏ ạ ấ ị ở ạ ắ ầ ử  nguyên t  ch  dao đ ng xung quanh v  trí cân b ng. Các d ng v n đ ng này c aử ỉ ộ ị ằ ạ ậ ộ ủ  các phân t , nguyên t  đử ử ược g i chung là chuy n đ ng nhi t. Khi tọ ể ộ ệ ương tác 

v i bên ngoài có trao đ i năng lớ ổ ượng nh ng không sinh công, thì quá trình traoư  

đ i năng lổ ượng nói trên g i là s  truy n nhi t.     Quá trình truy n nhi t trênọ ự ề ệ ề ệ  tuân theo 2 nguyên lý:

B o toàn năng lả ượng

Nhi t ch  có th  t  truy n t  n i có nhi t đ  cao đ n n i có nhi t đệ ỉ ể ự ề ừ ơ ệ ộ ế ơ ệ ộ 

th t.   tr ng thái r n, s  truy n nhi t x y ra ch  y u b ng d n nhi t và b cấ Ở ạ ắ ự ề ệ ả ủ ế ằ ẫ ệ ứ  

Trang 9

   1.1.2   S  l ơ ượ ề c v  ph ươ ng pháp đo nhi t đ : ệ ộ

Nhi t đ  là đ i lệ ộ ạ ượng ch  có th  đo gián ti p trên c  s  tính ch t c aỉ ể ế ơ ở ấ ủ  

v t ph  thu c nhi t đ  Hi n nay chóng ta có nhi u nguyên lí c m bi n khácậ ụ ộ ệ ộ ệ ề ả ế  nhau đ  ch  t o c m bi n nhi t đ  nh : nhi t đi n tr , c p nhi t ng u,ể ế ạ ả ế ệ ộ ư ệ ệ ở ặ ệ ẫ  

phương pháp quang dùa trên phân b  ph  b c x  nhi t, phố ổ ứ ạ ệ ương pháp dùa trên 

s  dãn n  c a v t r n, l ng, khí ho c dùa trên t c đ  âm… Có 2 phự ở ủ ậ ắ ỏ ặ ố ộ ương pháp 

1.2  Đo nhi t đ  b ng ph ệ ộ ằ ươ ng pháp ti p xúc ế

   1.2.1 Đo nhi t đ  b ng nhi t đi n tr : ệ ộ ằ ệ ệ ở

      Nguyên lý ho t đ ng:ạ ộ

Đi n tr  c a m t s  kim lo i thay đ i theo nhi t đ  và dùa vào s  thayệ ở ủ ộ ố ạ ổ ệ ộ ự  

đ i đi n tr  đó ngổ ệ ở ười ta đo được nhi t đ  c n đo.ệ ộ ầ

Nhi t đi n tr  dùng trong d ng c  đo nhi t đ  làm vi c v i dòng ph  t i nhệ ệ ở ụ ụ ệ ộ ệ ớ ụ ả ỏ 

đ  nhi t năng sinh ra do dòng nhi t đi n tr  nh  h n so v i nhi t năng nh nể ệ ệ ệ ở ỏ ơ ớ ệ ậ  

đượ ừc t  môi trường thí nghi m.ệ

Yêu c u c  b n đ i v i v t li u dùng làm chuy n đ i c a nhi t đi nầ ơ ả ố ớ ậ ệ ể ổ ủ ệ ệ  

tr  là có h  s  nhi t đ  l n và  n đ nh, đi n tr  su t khá l n…ở ệ ố ệ ộ ớ ổ ị ệ ở ấ ớ

Trang 10

           Trong công nghi p nhi t đi n tr  đệ ệ ệ ở ược chia thành nhi t đi n tr  kimệ ệ ở  

lo i và nhi t đi n tr  bán d n.ạ ệ ệ ở ẫ

   1.2.2  Đo nhi t đ  b ng c p nhi t ng u: ệ ộ ằ ặ ệ ẫ

Nguyên lý làm vi c ệ :

B  c m bi n c p nhi t ng u là 1 m ch t  có 2 hay nhi u thanh d nộ ả ế ặ ệ ẫ ạ ừ ề ẫ  

đi n g m 2 dây d n A và B. Sebeck đã ch ng minh r ng n u m i hàn có nhi tệ ồ ẫ ứ ằ ế ố ệ  

đ  t và tộ 0 khác nhau thì trong m ch khép kín có m t dòng đi n ch y qua. Chi uạ ộ ệ ạ ề  

c a dòng đi n này ph  thu c vào nhi t đ  tủ ệ ụ ộ ệ ộ ương  ng c a m i hàn nghĩa là t >ứ ủ ố  

t0 thì dòng đi n ch y theo hệ ạ ướng ngượ ạc l i. N u đ  h  m t đ u thì s  xu tế ể ở ộ ầ ẽ ấ  

hi n m t s c đi n đ ng nhi t. Khi m i hàn có cùng nhi t đ  ( ví d  b ng tệ ộ ứ ệ ộ ệ ố ệ ộ ụ ằ 0 ) thì s c đi n đ ng t ng b ng:ứ ệ ộ ổ ằ

EAB = eAB(t0) + eAB(t0) = 0

      T  đó rót ra: eừ AB = eAB(t0)

      Khi t0 và t khác nhau thì s c đi n đ ng t ng b ng:ứ ệ ộ ổ ằ

EAB = eAB(t) – e+AB(t0)

Phương trình trên là phương trình c  b n c a c p nhi t ng u ( s c đi nơ ả ủ ặ ệ ẫ ứ ệ  

đ ng ph  thu c vào h  s  nhi t đ  c a m ch vòng t và tộ ụ ộ ệ ố ệ ộ ủ ạ 0)

Nh v y b ng cách đo s c đi n đ ng ta có th  tìm đậ ằ ứ ệ ộ ể ược nhi t đ  c a đ iệ ộ ủ ố  

tượng

Phương pháp này được s  d ng nhi u trong công nghi p khi c n đoử ụ ề ệ ầ  

nh ng n i có nhi t đ  caoữ ơ ệ ộ .

   1.2.3  IC c m bi n nhi t đ        ả ế ệ ộ

Có r t nhi u hãng ch  t o linh ki n đi n t  đã s n xu t ra các lo i ICấ ề ế ạ ệ ệ ử ả ấ ạ  

Trang 11

c m bi n nhi t thả ế ệ ường là đi n áp c a líp chuy n ti p p­n trong m t lo iệ ủ ể ế ộ ạ  tranzitor lo i bipola.ạ

1.3   Đo nhi t đ  b ng ph ệ ộ ằ ươ ng pháp không ti p xúc ế

Trang 12

2.1Tìm hi u v  c m bi n nhi t đ  LM35 ể ề ả ế ệ ộ

LM35 là m t c m bi n nhi t đ  analog, thu c h  IC c m bi n nhi t độ ả ế ệ ộ ộ ọ ả ế ệ ộ 

s n xu t theo công ngh  bán d n d a trên các ch t bán d n d  b  tác đ ng b iả ấ ệ ẫ ự ấ ẫ ễ ị ộ ở  

s  thay đ i c a nhi t đ , đ u ra c a c m bi n là đi n áp (V) t  l  v i nhi t đự ổ ủ ệ ộ ầ ủ ả ế ệ ỉ ệ ớ ệ ộ 

mà nó được đ t trong môi trặ ường c n đo.ầ

H  LM35 có r t nhi u lo i và nhi u ki u đóng v  khác nhau:ọ ấ ề ạ ề ể ỏ

Hình 1.1: C m bi n nhi t đ  LM35 ả ế ệ ộ

Đ c đi m n i b t: ặ ể ổ ậ

Nhi t đ  đệ ộ ược xác đ nh b ng cách đo hi u đi n th  ngõ ra c a LM35.ị ằ ệ ệ ế ủ

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

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

­ Đ  chính xác cao, tính năng c m bi n nhi t đ  r t nh y.ộ ả ế ệ ộ ấ ạ

­ Ở nhi t đ  25(ệ ộ 0C) nó có sai s  không quá 1%. V i d i đo t  ­50 đ nố ớ ả ừ ế  150(0C), tín hi u ngõ ra tuy n tính liên t c v i nh ng thay đ i c a tínệ ế ụ ớ ữ ổ ủ  

hi u ngõ vào.ệ

Trang 13

     D i nhi t đ  đo đả ệ ộ ượ ủc c a LM35 là t  ­55ừ 0C đ n 150ế 0C v i các m c đi n ápớ ứ ệ  

ra khác nhau. V y  ng v i t m ho t đ ng t  0(ậ ứ ớ ầ ạ ộ ừ 0C) đ n 100(ế 0C)ta có s  bi nự ế  thiên đi n áp ngõ ra là:ệ

Ở 0C thì đi n áp ngõ ra Vệ out = 1500mV

2.2Vi đi u khi n PIC 16F877A ề ể

2.2.1PIC là gì?

PIC là vi t t t c a “Programmable Intelligent Computer”, có th  t m d chế ắ ủ ể ạ ị  

là “máy tính thông minh kh  trình” do hãng Genenral Instrument đ t tên cho viả ặ  

đi u khi n đ u tiên c a h  Hãng Micrchip ti p t c phát tri n s n ph m nàyề ể ầ ủ ọ ế ụ ể ả ẩ  

và cho đ n nay hãng đã t o ra g n 100 lo i s n ph m khác nhau.ế ạ ầ ạ ả ẩ

Các kí hi u c a vi đi u khi n PIC:ệ ủ ề ể

­ PIC12xxxx: đ  dài l nh 12 bitộ ệ

­ PIC16xxxx: đ  dài l nh 14 bitộ ệ

­ PIC18xxxx: đ  dài l nh 16 bitộ ệ

C:   PIC có b  nh  EPROM (ch  có 16C84 là EEPROM)ộ ớ ỉ

F:    PIC có b  nh  flashộ ớ

Trang 14

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ũự ư ệ

Bên c nh đó m t s  vi đi u khi n có kí hi u xxFxxx là EEPROM, n u cóạ ộ ố ệ ể ệ ế  thêm ch  A   cu i là flash (ví d  PIC16F877 là EEPROM, còn PIC16F877A làữ ở ố ụ  flash). Ngoài ra còn có thêm m t dòng vi đi u khi n PIC m i là dsPIC.   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.ổ ế ấ ọ ề ể ả ấ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 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 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.ả ấ ấ

Do th i gian làm đ  án có h n nên chúng em ch  t p trung tìm hi u các tínhờ ồ ạ ỉ ậ ể  năng c a PIC 16F877A có liên quan đ n đ  tài.ủ ế ề

PIC 16F877A là dòng PIC khá ph  bi n, khá đ y đ  tính năng ph c v  choổ ế ầ ủ ụ ụ  

h u h t t t c  các  ng d ng th c t  Đây là dòng PIC khá d  cho ngầ ế ấ ả ứ ụ ự ế ễ ười m iớ  làm quen v i PIC có th  h c t p và t o n n t ng v  h  vi đi u khi n PIC c aớ ể ọ ậ ạ ề ả ề ọ ề ể ủ  mình

PIC 16F877A thu c h  vi đi u khi n 16Fxxx có các đ c tính ngo i vi sau:ộ ọ ề ể ặ ạ

­ Ngôn ng  l p trình đ n gi n v i 35 l nh có đ  dài 14 bit.ữ ậ ơ ả ớ ệ ộ

­ T t c  các câu l nh th c hi n trong m t chu kì l nh ngo i tr  m t s  câuấ ả ệ ự ệ ộ ệ ạ ừ ộ ố  

l nh r  nhánh th c hi n trong hai chu kì l nh. Chu kì l nh b ng 4 l n chuệ ẽ ự ệ ệ ệ ằ ầ  

kì dao đ ng c a th ch anh.ộ ủ ạ

Trang 15

­ B  nh  chộ ớ ương trình Flash 8Kx14 words, v i kh  năng ghi xóa kho ng 100ớ ả ả  ngàn l n.ầ

­ B  nh  chộ ớ ương trình 8Kx14 bit, b  nh  d  li u 368x8byte RAM và b  nhộ ớ ữ ệ ộ ớ 

d  li u EEPROM v i dung lữ ệ ớ ượng 256x8 byte. S  PORT I/O là 5 v i 33pinố ớ  I/O

­ Kh  năng ng t (lên t i 14 ngu n c  ng t trong và ng t ngoài).ả ắ ớ ồ ả ắ ắ

­ Ngăn nh  Stack đớ ược chia làm 8 m c.ứ

­ Truy c p b  nh  b ng đ a ch  tr c ti p ho c gián ti p.ậ ộ ớ ằ ị ỉ ự ế ặ ế

Timer 0: b  đ m 8 bit v i b  chia t n s  8 bit.ộ ế ớ ộ ầ ố

Timer 1: b  đ m 16 bit v i b  chia t n s ,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.ộ

Timer 2: 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: ặ

­ 8 kênh chuy n đ i ADC 10 bit.ể ổ

­ Hai b  so sánh.ộ

Bên c nh đó là m t vài đ c tính khác c a vi đi u khi n 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.ữ ệ ộ ớ ể ư ữ

Trang 16

­ 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   đạ ược   chương   trình   ngay   trên   m ch   đi n   ICSP   (In   Circuit   Serialạ ệ  Programming)  thông qua 2 chân

­ Watchdog Timer v i b  dao đ ng trong.ớ ộ ộ

­ Ch c năng b o m t mã chứ ả ậ ương trình

­ Ch  đ  Sleep.ế ộ

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

Trang 17

Hình 1.2: Hình  nh th c t  và s  đ  chân c a PIC 16F877A ả ự ế ơ ồ ủ

Trang 18

Hình 1.3: S  đ  kh i b  vi đi u khi n PIC 16F877A ơ ồ ố ộ ề ể

Trang 19

PIC 16F877A có t t c  40 chân,đấ ả ược chia thành 5 PORT, 2 chân c p ngu n,ấ ồ  

2 chân GND, 2 chân th ch anh và 1 chân dùng đ  RESET vi đi u khi n.ạ ể ề ể

­ AN 0,1,2: ngõ vào tương t  c a kênh th  0,1,2.ự ủ ứ

+ 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 áp chu n th p c a b  AD/ ngõ vào đi n áp ch nủ ứ ệ ẩ ấ ủ ộ ệ ẩ  cao c a b  AD. ủ ộ

+ 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.ệ ẩ ủ ộ

+ Chân RA4/TOCK1/C1OUT(6): xu t nh p s / ngõ vào xung clock bênấ ậ ố  ngoài cho Timer 0/ ngõ ra b  so sánh 1.ộ

+ Chân RA5/AN4/ / C2OUT(7): xu t nh p s / ngõ vào tấ ậ ố ương t  kênhự  4/ ngõ vào ch n l a SPI ph / ngõ ra b  so sánh 2.ọ ự ụ ộ

+ Chân RB0/INT (33): xu t nh p s / ngõ vào tín hi u ng t ngoài.ấ ậ ố ệ ắ

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

+ Chân RB3/PGM(36):   xu t nh p s / cho phép l p trình đi n áp th pấ ậ ố ậ ệ ấ  ICSP

+ Chân RB4(37), RB5(38): xu t nh p s ấ ậ ố

Trang 20

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

+ Chân RB7/PGD(40): xu t nh p s / m ch g  r i và d  li u l p trìnhấ ậ ố ạ ỡ ố ữ ệ ậ  ICSP

+ Chân RC0/T1OCO/T1CKI(15): xu t nh p s / ngõ vào b  giao đ ngấ ậ ố ộ ộ  Timer1/ ngõ vào xung clock bên ngoài Timer 1. 

+ Chân RC1/T1OSI/CCP2(16): xu t nh p s / ngõ vào b  dao đ ng Timerấ ậ ố ộ ộ  1/ ngõ vào Capture2, ngõ ra compare2, ngõ ra PWM2

+ Chân RC2/CCP1(17): xu t nh p s / ngõ vào Capture1 ,ngõ ra compare1,ấ ậ ố  ngõ ra PWM1

+ Chân RC3/SCK/SCL(18): xu t nh p s / ngõ vào xung clock n i ti pấ ậ ố ố ế  

đ ng b ,  ngõ ra ch  đ  SPI./ ngõ vào xung clock n i ti p đ ng b , ngõ ra c aồ ộ ế ộ ố ế ồ ộ ủ  

ch  đ  I2C. ế ộ

+ 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.ệ

+ Chân RC5/SDO(24): xu t nh p s / d  li u ra SPI.ấ ậ ố ữ ệ

+ Chân RC6/TX/CK(25): xu t nh p s / truy n b t đ ng b  USART/ xungấ ậ ố ề ấ ồ ộ  

B  nh  d  li u c a PIC là b  nh  EFPROM độ ớ ữ ệ ủ ộ ớ ược chia ra làm nhi u bank.ề  

Đ i v i PIC16F877A b  nh  d  li u đố ớ ộ ớ ữ ệ ược chia ra làm 4 bank. M i bank cóỗ  dung lượng 128 byte, bao g m  các thanh ghi có ch c năng  đ c bi t  SFRồ ứ ặ ệ  (Special Funcition Register) n m   các vùng đ a ch  th p và các thanh ghi m cằ ở ị ỉ ấ ụ  

Trang 21

thanh ghi SFR thường xuyên đượ ử ục s  d ng s  đẽ ược đ t   t t c  các bank c aặ ở ấ ả ủ  

b  nh  d  li u giúp thu n ti n trong quá trình truy xu t và làm gi m b t l nhộ ớ ữ ệ ậ ệ ấ ả ớ ệ  

c a chủ ương trình. S  đ  c  th  c a b  nh  d  li u PIC 16F877A nh  sau:ơ ồ ụ ể ủ ộ ớ ữ ệ ư

Hình 1.4: B  nh  d  li u c a PIC ộ ớ ữ ệ ủ

­  B  nh  ch   ộ ớ ươ ng trình:  

B  nh  chộ ớ ương trình c a vi đi u khi n PIC16F877A là b  nh  flash, dungủ ề ể ộ ớ  

lượng b  nh  8K word (1 word = 14 bit) và độ ớ ược phân thành nhi u trang ( tề ừ page   0   đ n   page   3)   Nh   v y   b   nh   chế ư ậ ộ ớ ương   trình   có   th   ch a   để ứ ượ  c8*1024=8192 l nh (vì m i l nh sau khi mã hóa s  có dung lệ ỗ ệ ẽ ượng 1 word=14 bit) 

Trang 22

Đ  mã hóa để ược đ a ch  c a 8K word b  nh  chị ỉ ủ ộ ớ ương trình, b  đ m chộ ế ươ  ngtrình có dung lượng  13 bit. Khi vi đi u khi n đề ể ược reset, b  đ m chộ ế ương trình 

s  ch  đ n đ a ch  0000h(reset vector). Khi có ng t x y ra b  đ m chẽ ỉ ế ị ỉ ắ ả ộ ế ương trình 

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

đi u khi n các kh i ch c năng đề ể ố ứ ược tích h p 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   ch c   năng   bênạ ế ứ  trong(CPU) và thanh ghi SFR dùng đ  thi t l p và đi u khi n các kh i bênể ế ậ ề ể ố  ngoài (ví d  ADC…). ụ Ph n này s  đ  c p đ 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 đ n các kh i ch c năng đó.ắ ế ề ậ ế ố ứ

      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ệ ủ ố ạ ọ ầ  

Trang 23

     Thanh ghi OPTION_REG (81h, 181h): thanh ghi này cho phép đ c và ghi,ọ  cho phép đi u khi n ch c năng pull­up c a các chân trong PORTB, xác l p cácề ể ứ ủ ậ  thông s  v  xung tácố ề  đ ng, c nh tác đ ng c a ng t ngo i vi và b  đ m Timerộ ạ ộ ủ ắ ạ ộ ế  0.

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

ch a các bit di u khi n và các c  hi u khi Timer 0 b  tràn, ng t ngo i viứ ề ể ờ ệ ị ắ ạ  RB0/INT và ng t interrupt­on­change t i các chân c a PORTB.ắ ạ ủ

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

kh i ch c ố ứ năng ngo i vi.ạ

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

ng t này đắ ược cho phép b i các bit đi u khi n ch a trong thanh ghi PIE1.ở ề ể ứ

      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.ắ ủ ộ ắ ộ ớ

Trang 24

      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 ng t này đắ ược cho phép b i các bit đi u khi n ch a trong thanh ghi PIE2.ở ề ể ứ

Thanh ghi PCON (8Eh): ch a các c  hi u cho bi t tr ng thái các chứ ờ ệ ế ạ ế 

đ  reset c a vi đi u khi n.ộ ủ ề ể

hi n hay khi m t ng t x y ra làm chệ ộ ắ ả ương trình b  r  nhánh, giá tr  c a b  đ mị ẽ ị ủ ộ ế  

chương trình PC t  đ ng đự ộ ược vi đi u khi n c t vào trong stack. Khi m t trongề ể ấ ộ  các l nh RETURN, RETLW khi RETFIE đệ ược th c thi, giá tr  PC s  t  đ ngự ị ẽ ự ộ  

l y ra t  trong stack, vi đi u khi n s  th c hi n ti p chấ ừ ề ể ẽ ự ệ ế ương trình theo đúng quy trình đ nh trị ước

B  nh  Stack trong vi đi u khi n PIC h  16F887xA có kh  năng ch aộ ớ ề ể ọ ả ứ  

Trang 25

nh  Stack l n th  9 s  ghi đè lên giá tr  Stack l n đ u tiên và giá tr  c t vào bớ ầ ứ ẽ ị ầ ầ ị ấ ộ 

nh  Stack l n th  10 s  ghi đè giá tr  6 vào Stack l n th  2.ớ ầ ứ ẽ ị ầ ứ

C n chú ý là không có c  hi u nào chi bi t tr ng thái stack, do đó ta khôngầ ờ ệ ế ạ  

bi t đế ược khi nào stack tràn. Bên c nh đó t p l nh c a vi đi u khi n dòng PICạ ậ ệ ủ ề ể  cũng không có l nh POP hay PUSH, các thao tác v i b  nh  stack s  hoàn toànệ ớ ộ ớ ẽ  

được đi u khi n b i CPU.ề ể ở

C ng xu t nh p (I/O port) chính là phổ ấ ậ ương ti n mà vi đi u khi n dùng đệ ề ể ể 

tương tác v i th  gi i bên ngoài. S  tớ ế ớ ự ương tác r t đa d ng và thông qua trìnhấ ạ  

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

M t c ng xu t nh p c a vi đi u khi n g n nhi u chân (I/O pin), tùy theoộ ổ ấ ậ ủ ề ể ồ ề  cách b  trí và ch c năng  c a vi đi u khi n mà s  lố ứ ủ ề ể ố ượng c ng xu t nh p và sổ ấ ậ ố 

lượng chân trong m i c ng có th  khác nhau. Bên c nh đó, do vi đi u khi nỗ ổ ể ạ ề ể  

được tích h p s n bên trong các đ c tính giao ti p ngo i vi bên c nh ch c năngợ ẵ ặ ế ạ ạ ứ  

là công xu t nh p thông thấ ậ ường, m t s  chân xu t nh p còn có thêm các ch cộ ố ấ ậ ứ  năng khác đ  th  hi n s  tác đ ng c a các đ c tính ngo i vi n u trên đ i v iể ể ệ ự ộ ủ ặ ạ ế ố ớ  

th  gi i bên ngoài. Ch c năng c a t ng chân xu t nh p trong m i c ng hoànế ớ ứ ủ ừ ấ ậ ỗ ổ  toàn có th  để ược xác l p và đi u khi n đậ ề ể ược thông qua các thanh ghi SFR liên quan đ n các chân xu t nh p đó.ế ấ ậ

Vi đi u khi n PIC16F877A có 5 c ng xu t nh p, bao g m PORTA, PORTB,ề ể ổ ấ ậ ồ  PORTC, PORTD, và PORTE. C u trúc và ch c năng c a c ng xu t nh p sấ ứ ủ ổ ấ ậ ẽ 

được đ  c p   ph n sau.ề ậ ở ầ

Port A

PORTA (RPA) bao g m 6 I/O pin. Đây là chân “hai chi u” (bidirectionalồ ề  pin),nghĩa là có th  xu t và nh p để ấ ậ ược

Ch c năng I/O này đứ ược đi u khi n b i thanh ghi TRISA (đ a ch  85h).ề ể ở ị ỉ  

Mu n xác l p ch c năng c a m t chân trong PORTA là input, ta “set” bit đi uố ậ ứ ủ ộ ề  khi n tể ương  ng v i chân đó trong thanh ghi TRISA và ngứ ớ ượ ạc l i, mu n xácố  

l p ch c năng c a m t chân trong PORTA là output, ta “clear” bit đi u khi nậ ứ ủ ộ ề ể  

Trang 26

tương  ng v i chân đó trong thanh ghi TRISA. Thao tác này hoàn toàn tứ ớ ương tự 

đ i v i các PORT và các thanh ghi đi u khi n tố ớ ề ể ương  ng TRIS.ứ

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 c a Timer0 và ngõ vào c a b  giao ti p MSSP (Masterủ ủ ộ ế  Synchronous Serial Port)

 Các thanh ghi SFR liên quan đ n PORTA bao g m:ế ồ

­ PORTA(đ a ch  05h)      : ch a giá tr  các pin trong PORTAị ỉ ứ ị

­ 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ị ỉ ề ể ộ

­ CVRCON (đ a ch  9Dh)       : thanh ghi đi u  khi n b  so sánh đi n ápị ỉ ề ể ộ ệ

­ ADCON1 (đ a ch  9Fh)      : thanh ghi đi u khi n b  ADCị ỉ ề ể ộ

Port B

PORTB (RPB) g m 8 pin I/O. Thanh ghi đi u khi n xu t nh p tồ ề ể ấ ậ ương  ng làứ  TRISB. Bên c nh đó m t s  chân c a PORTB còn đạ ộ ố ủ ược s  d ng trong quáử ụ  trình 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à b  Timer0. PORTB còn đế ắ ạ ộ ược tích 

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

Các thanh ghi SFR liên quan đ n PORTB bao g m:ế ồ

­ PORTB(đ a ch  06h,106h)   : ch a giá tr  các pin trong PORTBị ỉ ứ ị

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

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

Port C

PORTC (RPC) g m 8 pin 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 sánh, bạ ứ ứ ủ ộ ộ Timer1, b  PWM và các chu n giao ti p n i ti p I2C, SPI, SSP, USART:ộ ẩ ế ố ế

Các thanh ghi đi u khi n liên quan đ n PORTC :ề ể ế

PORTC(đ a ch  07h)   : ch a giá tr  các pin trong PORTCị ỉ ứ ị

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

Port D

Trang 27

PORTD (RPD) g m 8 pin 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  giao ti p PSP (parallel slaveổ ấ ữ ệ ủ ẩ ế  Port).

Các thanh ghi g m :ồ

­ PORTD : ch a giá tr  các pin trong PORTD.ứ ị

­ TRISD   : đi u khi n xu t nh p.ề ể ấ ậ

Port E

PORTE (RPE)g m 3 pin I/O. Thanh ghi đi u khi n xu t nh p tồ ề ể ấ ậ ương  ng làứ  TRISE.Các chân c a PORTE có ngõ vào analog. Bên c nh đó PORTE còn là cácủ ạ  chân đi u khi n c ag chu n giao ti p PSP ề ể ủ ẩ ế

Các thanh ghi liên quan đ n PORTE bao g m  :ế ồ

­ PORTE : ch a giá tr  các chân trong PORTE .ứ ị

­ TRISE: đi u khi n xu t nh p và xác l p các thông s  cho chu nề ể ấ ậ ậ ố ẩ  giao ti p.      ế

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

2.2.7Các Timer.

Timer 0

Đây   là   m t   trong   ba   b   đ m   ho c   b   đ nh   th i   c a   vi   đi u   khi nộ ộ ế ặ ộ ị ờ ủ ề ể  PIC16F877A   Timer0   là   b   đ m   8   bit   độ ế ược   k t   n i   v i   b   chia   t n   sế ố ớ ộ ầ ố (prescaler) 8 bit. C u trúc c a Timer0 cho phép ta l a ch n xung clock tác đ ngấ ủ ự ọ ộ  

và c ch tích c c c a xung clock. Ng t Timer0 s  xu t hi n khi Timer 0 b  tràn. ạ ự ủ ắ ẽ ấ ệ ịBít TMR0IE (INTCON<5>) là bít đi u khi n c a Timer0. TMR0IE=1 choề ể ủ  phép ng t Timer0 tác đ ng. TMR0IE=0 không cho phép ng t  Timer0 tác đ ng. ắ ộ ắ ộ

S  đ  kh i c a Timer0 nh  sau :ơ ồ ố ủ ư

Trang 28

Hình 1.6: S  đ  kh i c a Timer0 ơ ồ ố ủ

Mu n Timer 0 ho t đ ng   ch  đ  Timer ta clear bit TOSC, khi đó giá trố ạ ộ ở ế ộ ị thanh ghi TMR0 s  tăng theo t ng chu k  xung đ ng h (t n s  vào Timer0ẽ ừ ỳ ồ ồ ầ ố  

b ng ¼ t n s  oscillator). Khi giá tr  thanh ghi TMR0 t  FFh tr  v  00h, ng tằ ầ ố ị ừ ở ề ắ  Timer0 s  xu t hi n. Thanh ghi TMR0 cho phép ghi và xóa đẽ ấ ệ ược giúp ta  nấ  

đ nh th i đi m ng t Timer0 xu t hi n m t cách linh đ ng.ị ờ ể ắ ấ ệ ộ ộ

Mu n Timer0 ho t đ ng   ch  đ  counter ta set bit TOSC. Khi đó xung tácố ạ ộ ở ế ộ  

đ ng lên b  đ m độ ộ ế ượ ấ ừc l y t  chân RA4/TOCK1. Bit TOSE cho phép l a ch nự ọ  

c nh tác đ ng vào b  đ m. C nh tác đ ng s  là c nh lên n u TOSE=0 và c nhạ ộ ộ ế ạ ộ ẽ ạ ế ạ  tác đ ng s  là c nh xu ng n u TOSE=1.ộ ẽ ạ ố ế

Thi thanh ghi TMR0 b  tràn, bit TMR0IF s  đị ẽ ược set. Đây chính là c  ng tờ ắ  

c a Timer0. C  ng t này ph i đủ ờ ắ ả ược xóa b ng chằ ương trình trước khi b  đ mộ ế  

b t đ u th c hi n l i quá trình đ m. Ng t Timer0 không th  “đánh th c” viắ ầ ự ệ ạ ế ắ ể ứ  

đi u khi n t  ch  đ  sleep.ề ể ừ ế ộ

Ngày đăng: 13/01/2020, 15:39

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w