Tìm hiểu VI điều KHIỂN PIC16F877A

78 588 0
Tìm hiểu VI điều KHIỂN PIC16F877A

Đ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

Hiện nay, ngành kỹ thuật điện tử và công nghệ thông tin tiến bộ không ngừng. Chúng đang ngày càng phát triển và được ứng dụng trong tất cả các mặt của đời sống. Các thiết bị điện tử dùng Vi Điều Khiển được sử dụng rộng rãi khắp trong các ứng dụng tự động. Nó giúp chúng ta trong mọi công việc cũng như giải trí. Các bộ Vi Điều Khiển ngày càng hiện đại, tốc độ xử lý nhanh hơn, và có ứng dụng rộng hơn. Một trong những ứng dụng quan trọng của Vi Điển Khiển đó là dùng trong đo lường và điều khiển. Nhờ các loại cảm biến, ứng dụng của đo lường bằng Vi Điều Khiển không chỉ giới hạn trong các đại lượng điện mà còn mở rộng ra các tín hiệu không phải điện. Sử dụng Vi Điều Khiển chúng ta thu thập các đại lượng cần đo dễ dàng hơn, có thể xử lý ngay các đại lượng đó và đưa ra được những kết quả như mong muốn.

LI M U Hin nay, ngnh k thut in t v cụng ngh thụng tin tin b khụng ngng Chỳng ang ngy cng phỏt trin v c ng dng tt c cỏc mt ca i sng Cỏc thit b in t dựng Vi iu Khin c s dng rng rói khp cỏc ng dng t ng Nú giỳp chỳng ta mi cụng vic cng nh gii trớ Cỏc b Vi iu Khin ngy cng hin i, tc x lý nhanh hn, v cú ng dng rng hn Mt nhng ng dng quan trng ca Vi in Khin ú l dựng o lng v iu khin Nh cỏc loi cm bin, ng dng ca o lng bng Vi iu Khin khụng ch gii hn cỏc i lng in m cũn m rng cỏc tớn hiu khụng phi in S dng Vi iu Khin chỳng ta thu thp cỏc i lng cn o d dng hn, cú th x lý cỏc i lng ú v a c nhng kt qu nh mong mun Vi tm quan trng ca o lng bng Vi iu Khin nờn, em ó nhn ti ny lm ỏn tt nghip nghiờn cu, v hiu bit thờm v Vi iu Khin v cỏc ng dng hay ca nú cuc sng thng ngy ca chỳng ta Mc lc Chng 1: TNG QUAN V VI IU KHIN 1.1 B vi iu khin 8051 1.2 B vi iu khin 8052 13 1.3 B vi iu khin 8031 13 Chng 2:VI IU KHIN PIC16F877A 15 2.1 Tng quan v thit b 15 2.1.1 Hỡnh dng v b trớ chõn ca Pic16F877A 15 2.1.2 c tớnh ni bt ca b x lý 15 2.1.3 S b vi iu khin Pic16F877A 16 2.2 Mụ t cỏc chõn chc nng ca Pic16F877A 17 2.3 T chc b nh 19 2.3.1 T chc b nh chng trỡnh Flash 19 2.3.2 T chc b nh d liu RAM 21 2.3.3 B nh d liu EEPROM 24 2.3.4 c v ghi vo b nh d liu EEPROM .16 2.3.5 c v ghi chng trỡnh FLASH .26 2.4 Cng vo 26 2.4.1 Cng A v ghi TRISA 27 2.4.2 Cng B v ghi TRISB 28 2.4.3 Cng C v ghi TRISC 29 2.4.4 Cng D v ghi TRISD 31 2.4.5 Cng E v ghi TRISE 31 2.5 Cỏc b Timer ca chip 33 2.5.1 B Timer0 33 2.5.2 B Timer1 36 2.5.3 B Timer2 39 2.6 B chuyn i tng t sang s 41 2.6.1 B chuyn i tng t sang s 41 2.6.2 La chn tc chuyn i 43 2.7 Cỏc ngt ca PIC16F877 44 2.8 So sỏnh vi Vi iu Khin 8051 44 Chng 3:THIT K H THNG IU KHIN NHIT 45 3.1 S tng quỏt 45 3.2 Khi cm bin 46 3.3 Khi chuyn i tng t sang s 47 3.4 Khi iu khin 52 3.5 Khi chuyn i s sang tng t 52 3.6 Khi iu khin thyristor 54 3.6.1 S cu trỳc 54 3.6.2 Nguyờn tc iu khin 55 3.6.3 S nguyờn lý 56 3.7 Khi hin th LCD 57 3.7.1 Cỏc chõn chc nng 58 3.7.2 S ca HD44780 59 3.7.3 Tp lnh ca LCD 63 3.8 S mch h thng iu khin nhit 69 3.9 Phn mm iu khin 70 3.9.1 Lu thut toỏn 70 3.9.2 Chng trỡnh 72 Kờt luõn 77 Ti liu tham kho 78 Chng TNG QUAN V VI IU KHIN Cú b vi iu khin bit chớnh ú l 6811 ca Motorola, 8051 ca Intel, z8 ca Xilog v Pic 16 ca Microchip Technology Mi mt kiu loi trờn õy u cú mt lnh v ghi riờng nht, nu chỳng u khụng tng thớch ln Cng cú nhng b vi iu khin 16 bit v 32 bit c sn xut bi cỏc hóng sn xut chớp khỏc Vi tt c nhng b vi iu khin khỏc thỡ tiờu chun la chn cỏc b vi iu khin l: *) ỏp ng c nhu cu tớnh toỏn ca bi toỏn mt cỏch hiu qu v mt giỏ thnh v y chc nng cú th nhỡn thy c Trong phõn tớch cỏc nhu cu ca mt d ỏn da trờn b vi iu khin chỳng ta phi bit b vi iu khin no l bit, 16 bit hay 32 bit cú th ỏp ng tụt nht nhu cu ca bi toỏn mt cỏch hiu qu Nhng tiờu chun ú l: - Tc : tc ln nht m vi iu khin h tr l bao nhiờu - Kiu úng v: úng v kiu DIP 40 chõn hay QFP õy l yờu cu quan trng i vi yờu cu v khụng gian, kiu lỏp rỏp v to mu th cho sn phm cui cựng - Cụng sut tiờu th: iu ny c bit kht khe i vi cỏc sn phm dựng pin, c quy - dung lng b nh Rom v Ram trờn chớp - S chõn vo v b nh thi trờn chớp - Kh nng d dng nõngh cp cho hiu sut cao hoc gim cụng sut tiờu th - Giỏ thnh cho mt n v: iu ny quan trng quyt nh giỏ thnh sn phm m mt b vi iu khin c s dng *) Cúp sn cỏc cụng c phỏt trin phn mm nh cỏc trỡnh biờn dch, trỡnh hp ng v g ri *) Ngun cỏc b vi iu khin cú sn nhiu v tin cy Kh nng sn sng ỏp ng v s lng hin ti tng lai Hin cỏc b vi iu khin bit h 8051 l cú s lng ln nht cỏc nh cung cp a dng nh Intel, Atmel, Philip 1.1 B vi iu khin 8051 Vo nm 1981 hóng Intel gii thiu mt s b vi iu khin c gi l 8051 B vi iu khin ny cú 128 byte RAM, 4K byte ROM trờn chớp, hai b nh thi, mt cng ni tip v cng (u rng bit) vo tt c c t trờn mt chớp Lỳc y nú c coi l mt h thng trờn chớp 8051 l mt b x lý bit cú ngha l CPU ch cú th lm vic vi bit d liu ti mt thi im D liu ln hn bit c chia thnh cỏc d liu bit cho x lý 8051 cú tt c cng vo I/O mi cng rng bit (hỡnh v) Mc dự 8051 cú mt ROM trờn chớp cc i l 64Kbyte, nhng cỏc nh sn xut lỳc ú ó xut xng ch vi 4Kbyte Rom trờn chớp 8051 ó tr nờn ph bin sau Intel cho phộp cỏc nh sn xut khỏc sn xut v bỏn bt k dng bin th no ca 8051 m h thớch vi iu kin h phi li mó tng thớch vi 8051 iu ny dn n s i nhiu phiờn bn ca 8051 vi cỏc tc khỏc v dung lng Rom trờn chớp khỏc iu ny quan trng l mc dự cú nhiu bin th khỏc ca 8051 v tc v dung lng nh ROM trờn chớp nhng tt c chỳng u tng thớch vi 8051 ban u v cỏc lnh iu ny cú ngha l nu ta vit chng trỡnh cho mt phiờn bn no ú thỡ nú cng s chy vi mi phiờn bn bt k khỏc m khụng phõn bit nú t hóng sn xut no Bng 1.1 Cỏc c tớnh ca 8051 u tiờn c tớnh ROM trờn chớp 4Kbyte RAM 128 byte B nh thi Cỏc chõn vo 32 Cng ni tip Ngun ngt S lng B vi iu khin 8051 l thnh viờn u tiờn ca h 8051, hóng Intel ký hiu nú l MSC51 Bng trờn l cỏc c tớnh ca h 8051 EXTERNAL INTERRUPTS ETC ON - CHIP RAM TIMER TIMER I/O PORTS SERIAL PORT P P P P TXD RXD COUNTER INPUTS INTERRU PT CPU OSC BUS CONTRO L ADDRESS/DA TA Hỡnh 1.1 B trớ bờn ca 8051 Mụ t chõn ca 8051nh hỡnh 1.2 Cỏc thnh viờn ca h 8051( vớ d 8751, 89C51, DS5000) u cú cỏc kiu úng v khỏc nhau, chng hn nh hai hng chõn DIP dng v dp vuụng QFP v dng chip khụng cú chõn LLC thỡ chỳng u cú 40 chõn cho cỏc chc nng khỏc nh vo I/O, c RW , ghi WR , a ch, d liu v ngt Cn lu ý rng mt s hóng cung cp phiờn bn 8051 cú 20 chõn vi s cng vo ớt hn cho cỏc ng dng yờu cu thp hn Tuy nhiờn, vỡ hu ht cỏc nh phỏt trin chớnh s dng chớp úng v 40 chõn vi hai hng chõn DIP nờn ta ch chung mụ t phiờn bn ny Hỡnh 1.2 S chõn ca 8051 T hỡnh 1.2 ta thy 40 chõn cú 32 chõn dựng cho cỏc cng P0, P1, P2, P3 vi mi cng cú chõn Cỏc chõn cũn li dnh cho ngun Vcc, t GND, cỏc chõn dao ng XTAL1 v XTAL2, ng li RST cho phộp cht a ch ngoi EA, cho ngt ct chng trỡnh PSEN Trong chõn ny thỡ chõn Vcc, GND, XTAL1, XTAL2, RST v EA c cỏc h 8031 v 8051 s dng Hay núi cỏch khỏc l chỳng phi c ni cho h thng lm vic m khụng cn bit b vi iu khin thuc h 8051 hay 8031 Cũn chõn PSEN v chõn ALE c s dng cỏc h thng da trờn 8031 Chõn Vcc v chõn GND tng ng vi chõn s 40 v chõn s 20 cung cp ngun (+5V) v ni mass Chõn XTAL1 (chõn 19) v XTAL2 (chõn 18): 8051 cú b dao ng trờn chớp nhng nú yờu cu cú mt xung ng h ngoi chy nú B dao ng thch anh c ni vi XTAL1 v XTAL2 cựng hai t in cú giỏ tr 30pF Mt phớa t c ni xung t nh hỡnh 1.3 Cn phi lu ý rng cú nhiu tc khỏc ca h 8051 Tc c coi nh l tn s cc i ca b giao ng c ni ti chõn XTAL Ta cú th s dng mt ngun tn s khỏc dao ng thch anh chng hn nh b dao ng TTL thỡ nú s c ni ti chõn XTAL1 cũn chõn XTAL2 h nh hỡnh 1.4 C2 XTAL2 C1 XTAL1 pF GND Hỡnh 1.3 XTAL ni vi 8051 NC EXTERRNAL OSCILLATAOR SIGNAL XTAL2 XTAL1 GND Hỡnh 1.4 XTAL ni vi dao ụng ngoi 10 * Tuy s ca LCD cú nhiu khỏc nhau, nhng lp trỡnh iu khin LCD ta ch cú th tỏc ng trc tip c vo ghi DR v IR thụng qua cỏc chõn DBx, v ta phi thit lp chõn RS, R/W phự hp chuyn qua li gi ghi ny (xem bng 3.2) Hỡnh 4.14 Mi liờn h gia a ch ca CGRAM, d liu CGARM, v mó kớ t * Vi mi lnh, LCD cn mt khong thi gian hon tt, thi gian ny cú th khỏ lõu i vi tc ca MPU, nờn ta cn kim tra c BF hoc i (delay) cho LCD thc thi xong lnh hin hnh mi cú th lnh tip theo * a ch ca RAM (AC) s t ng tng (gim) n v, mi cú lnh ghi vo RAM (iu ny giỳp chng trỡnh gn hn) * Cỏc lnh ca LCD cú th chia thnh nhúm nh sau: 64 Cỏc lnh v kiu hin th VD : Kiu hin th (1 hng / hng), chiu di d liu (8 bit / bit), Ch nh a ch RAM ni Nhúm lnh truyn d liu RAM ni Cỏc lnh cũn li Bng 4.3 Tp lnh ca LCD Tờn lnh Thi gian chy Hot ng Mó lnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DBx = Clear Display 0 0 0 Lnh Clear Display (xúa hin th) s ghi mt khong trng (mó hin th kớ t 20H) vo tt c ụ nh DDRAM, sau ú tr b m a ch AC=0, tr li hin th gc nu núi, b thay ngha l: Tt hin th, tr di v gúc trỏi (hng u tiờn), ch tng AC 65 Mó lnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 Return home DBx = 0 0 0 * 1.52 Lnh Return home tr b m a ch AC v 0, tr li kiu hin th ms gc nu nú b thay i Ni dung ca DDRAM khụng thay i Mó lnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DBx = 0 0 [I/D] [S] Entry I/D: Tng (I/D=1) hoc gim (I/D=0) b m a ch hin th AC mode set n v mi cú hnh ng ghi hoc c vựng DDRAM V trớ tr cng di chuyn theo s tng gim ny S: Khi S=1 ton b ni dung hin th b dch sang phi (I/D=0) hoc sang trỏi (I/D=1) mi cú hnh ng ghi vựng DDRAM Khi S=0: khụng dch ni dung hin th Ni dung hin th khụng dch 37às c DDRAM hoc c/ghi vựng CGRAM Hỡnh 3.7 Hot ng dch trỏi v dch phi ni dung hin th 66 Mó lnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DBx = 0 0 [D] [C] [B] D: Hin th mn hỡnh D=1 v ngc li Khi tt hin th, ni dung DDRAM khụng thay i Display on/off control C: Hin th tr C=1 v ngc li V trớ v hỡnh dng tr, xem hỡnh 3.8 B: Nhp nhỏy kớ t ti v trớ tr B=1 v ngc li Xem thờm hỡnh v kiu nhp nhỏy Chu kỡ nhp nhỏy khong 409,6ms mch dao ng ni LCD l 250kHz 37às Hỡnh 3.8 Kiu con, kiu kớ t v nhp nhỏy kớ t 67 Mó lnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DBx = 0 [S/C] [R/L] * * Lnh Cursor or display shift dch chuyn tr hay d liu hin th sang trỏi m khụng cn hnh ng ghi/c d liu Khi hin th Cursor or display shift kiu dũng, tr s nhy xung dũng di dch qua v trớ th 40 ca hng u tiờn D liu hng u v dch hngcựng mt lỳc Chi tit s dng xem bng sau: 37às Mó lnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DBx = 0 [DL] [N] [F] * * DL: Khi DL=1, LCD giao tip vi MPU bng giao thc bit (t bit Function DB7 n DB0) Ngc li, giao thc giao tip l bit (t bit DB7 set n bit DB0) Khi chn giao thc bit, d liu c truyn/nhn ln liờn tip vi bit cao gi/nhn trc, bit thp gi/nhn sau N: Thit lp s hng hin th Khi N=0: hin th hng, N=1: hin th hng F: Thit lp kiu kớ t Khi F=0: kiu kớ t 5x8 im nh, F=1: kiu kớ t 5x10 im nh * Chỳ ý: 37às Ch thc hin thay i Function set u chng trỡnh V sau c thc thi ln, lnh thay i Function set khụng c LCD chp nhn na ngoi tr thit lp chuyn i giao thc giao tip Khụng th hin th kiu kớ t 5x10 im nh kiu hin th hng 68 Write ata Mó lnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DBx = [Write data] to (RS=1, R/W=0) Khi thit lp RS=1, R/W=0, d liu cn ghi c a vo cỏc chõn DDRAM DBx t mch ngoi s c LCD chuyn vo LCD ti a ch Set Mó DB5 DB2ghi DB1 clnh: xỏc DBx nh = tDB7 lnh DB6 ghi a ch DB4 trc DB3 ú (lnh a DB0 ch cng CGRAM xỏc nh luụn DBx= RAM [ACG][ACG][ACG][ACG][ACG][ACG] vựng cn ghi) Sau ghi, b m a ch AC t ng tựy theoca thit lp Entry Lu ých l 1thi address Lnh nytng/gim ghi vo AC a ch CGRAM Kớ mode hiu [ACG] bit gian cp nht AC khụng tớnh vo thi gian thc thi lnh ca chui d liu bit Ngay sau lnh ny l lnh c/ghi d liu t CGRAM ti a ch ó c ch nh CG or Mó lnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 Mó lnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DDRAM DBx = [AD] [AD] [AD] [AD] [AD] [AD] [AD] Read data DBx [Read (RS=1, R/W=1) Lnh ny ghi vo=AC adata] ch ca DDRAM, dựng cn thit lp address from CG ta hin mongR/W=1,d mun Ngay lnh ny l lnh Khi thit lpth RS=1, liu sau t CG/DDRAM cc/ghi chuynd liu t DDRAM ti a ch ó c ch nh Khi ch hin th MPU thụng qua cỏc chõn DBx (a ch v vựng RAM ó c xỏc or 1nh hng, alnh ch cú 00H nú) 4FH.Sau Khikhi ch th bng ghith atch trc c, AChin t ng DDRAM hng, a ch t 00h hng th nht,nhiờn v tni 40hdung n hin 67h tng/gim tựy theon thit27H lp cho Entry mode, cho hng th bt chp ch Entry mode th khụng b dch 37às tAD D 37às 4às Set Read BF and address 37às 37às tAD D 4às Mó lnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DBx= [BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0, R/W=1) Nh ó cp trc õy, c BF bt, LCD ang lm vic v lnh tip theo (nu cú) s b b qua nu c BF cha v mc thp Cho 0às nờn, lp trỡnh iu khin, bn phi kim tra c BF trc ghi d liu vo LCD Khi c c BF, giỏ tr ca AC cng c xut cỏc bit [AC] Nú l a ch ca CG hay DDRAM l tựy thuc vo lnh trc ú Hỡnh 4.15 S chi tit mch iu khin nhit - o nhit ti i tng thụng qua sensor nhit LM335 LM335 l sensor o nhit vi u l 10mV/0K, ú o C ta cn cú cụng thc chuyn i giỏ tr t K sang C Vỡ ta dựng ADC ca PIC l 10 bit nờn giỏ tr s ln nht l 1023 Vref=Vcc, gi thit l VCC=5V nờn ti oC hay 273oK thỡ u ca LM335 cú giỏ tr l 2.73V Nh vy mun tớnh toỏn C ta cn phi tr i mc in ỏp l 2.73V 69 Vớ d: Nhit l 30oC = 303oK, mc in ỏp tng ng l out = 303 x 10mV/oK =3.03V Ta tớnh toỏn giỏ tr c c t ADC - Vi ADC 10 bit ( V_in l in ỏp a vo chõn ADC ca PIC ): V_in = 5V => ADC_value = 1023 V_in = 2.73V => ADC_value = (1023/5)x2.73=558.6 ( tng ng 0) mt khỏc V_ref = VCC = 5V nờn ADC_value = tng ng vi 5/1023=4.9mV 5mV Trong ú LM335 cho in ỏp l 10mV/1 oK nờn giỏ tr ADC thay i n v thỡ nhit phi thay i l 0.5 oK (hay gn 5mV) T ú ta cú cụng thc y sau tớnh giỏ tr oC: T 0C ADC _value 558.6 5V (4.6) 1023x10mV Vy ta cú cụng thc rỳt gn l: T 0C ADC _value2.046 558.6 (4.7) 3.9 Phn mm iu khin 3.9.1 Lu thut toỏn 70 BEGIN Khai bỏo:i,j,Tdk, T, value,low,hight Khai bỏo LCD, DAC Nhp Tdk c t DAC (value ) Hin th T = (value -139.25)/0.512 S Tdk#T Tdk

Ngày đăng: 28/07/2017, 11:24

Từ khóa liên quan

Mục lục

  • LỜI MỞ ĐẦU

  • TỔNG QUAN VỀ VI ĐIỀU KHIỂN

    • Số linh kiện ROM RAM Chân I/O Timer Ngắt Vcc Đóng vỏ

    • AT89C1051 1K 15 1 3 3V 20

    • VI ĐIỀU KHIỂN PIC16F877A

      • Reset vector 0000H

      • tx

Tài liệu cùng người dùng

Tài liệu liên quan