PIC16F877 KÍSÉRLETI PANEL 6]HJ-iQRV ÒMSHVWL.pWWDQQ\HOY&0&V]DNL6]DNN ]pslvnrodpv*lpqi]lxp ChipCAD kft, Budapest
PIC16F877 KÍSÉRLETI PANEL 1. A PIC16F877 kísérleti panel rendeltetése A panel PIC16F87x mlnuryh]puonkdwpnrq\rnwdwypvihmohv]whv]n ]H$IHMOHV]W SDQHOHQ PHJWDOiOKDWy iudpn UL HOHPHN OHKHWVpJHW EL]WRVtWDQDN D NLYH]HWpVVHO UHQGHONH] 3,&)[ PLNURYH]pUON V]LQWH YDODPHQQ\L SHULIpULiMiQDN W EEHN között: - az általános célú I/O portok, - a megszakítás logika, -D]LG]tWPRGXORN - az A/D modul, - a USART modul (aszinkron üzemmód), - az MSSP modul (SPI és I 2 C üzemmód egyaránt), - a Capture/Compare/PWM modul P&N GWHWpVpUH KDUGYHU VDMiWRVViJDLN NLSUyEiOiViUD WRYiEEL N OV VHJpGeszközök igénybevétele nélkül. $IHMOHV]WSDQHODN YHWNH]PyGRNEDQKDV]QiOKDWy - $ 3,&67$57 3/86 SURJUDPR]yYDO IHOSURJUDPR]RWW pv D NLYH]HWpV& IRJODODWED KHO\H]HWW 3,&)[ PLNURYH]pUO P&N GpVH D SDQHO iudpn UHLYHO HOOHQUL]KHWWRYiEELN OVVHgédeszközök nélkül. -$IHMOHV]W SDQHO IRQWRV WXODMGRQViJD D]RQEDQ KRJ\ D PLNURYH]pUO DVDMiW felhasználói környezetében programozható a panel ICD csatlakozójához kapcsolt MPLAB-ICD debugger alkalmazásával. Kihasználva az MPLAB-ICD programozó és debugghu NpSHVVpJpW D] D )/$6+ PLNURYH]pUO J\RUV pv KDWpNRQ\ SURJUDP IHMOHV]WpVpW EL]WRVtWMiN 7HUPpV]HWHVHQ OHKHWVpJ YDQ DUUD LV KRJ\ D] 03/$%-ICD fejegységét csatlakoztassuk a próbapanel foglalatához: ebben az esetben még saját PLNURYH]pUOUHVLQFVV] NVpJ. - $PHQQ\LEHQ OHPRQGXQN D],&' Q\~MWRWWD KLEDNHUHVpV OHKHWVpJpUO D programjaink letöltésére a LDR-.(< LV KDV]QiOKDWy PLQW OHJHJ\V]HU&EE SURJUDPOHW OW (] XWyEEL HVHWEHQ D]RQEDQ V] NVpJHV KRJ\ PHJHO]OHJ HJ\ PRQLWRUSURJUDPRWtUMXQNDPLNURYH]pUOEe. A PIC16F877 kísérleti panel D N YHWNH] iudpn U NNHO WiPRJDWMD D 3,&)[ PLNURYH]pUONLOOHWYHD]RNSHULIpULiLQDNSURJUDPR]iViW - 4x4 nyomógombos tasztatúra, - LCD modul, - LED sor, - RS-232 interfész, - Soros EEPROM-ok (SPI, I 2 C és Microwire), - VaOyVLGHM&yUDPRGXO, 2 C kommunikációval, - I 2 &EYtWFVDWODNR]y - Analóg bemenet, - Potenciométer, - PWM kimenet, - Analóg kimenet, - 32,768 khz-es oszcillátor, - RTCC csatlakozó, 1
-3,&SRUWEYtWFVDWODNR]y - ICD csatlakozó, - LDR-KEY csatlakozó, - RESET nyomógomb. 2. A PIC16F877 kísérleti panel felépítése $IHMOHV]WSDQHONDSFVROiVLUDM]DD]- 3. ábrákon, míg beültetési rajza a 4. ábrán OiWKDWy$]iEUiNDODSMiQQ\RPRQN YHWKHWDSDQHOIHOpStWpVH 2.1 A 4x4 nyomógombos tasztatúra (3. ábra) A 16 nyomógomb 4x4-es mátrixba van szervezve, mely kivezetéseivel a PLNURYH]pUOSRUWMDLUDFVDWODNR]LN$ELOOHQW\&]HWYt]V]LQWHVYH]HWpNHLWD]5%«5% kivezetések vezérlik úgy, hogy a megcímzett vonalra alacsony, míg a többire magas V]LQWNHU ODI JJOHJHVYHzetékek állapotát pedig az RB4 és RB5, valamint az RA3 és RA5 kivezetések olvassák be. Az RA3 és RA5 kivezetések nyugalmi magas szintjét az R15 és R16 ellenállások biztosítják, míg a PORTB bemenetként programozott kivezetéseire szoftveresen kell a felhúzó ellenállásokat konfigurálni. A OHQ\RPRWWELOOHQW\&WDEHROYDVRWWDODFVRQ\V]LQWMHO]L $]iudpn ULIHOpStWpVOHKHWYpWHV]LKRJ\D]5%LOOHWYH5%NLYHWpVHNUHFVDWODNR]y RV]ORSRNED WDUWR]y ELOOHQW\&N OHNH]HOpVpW D 3257% V]LQWYiOWR]iV RNR]WD megszakítás útján is megoldhatjuk. $ ELOOHQW\&]HW NH]HOpVpKH] D] 5% 5% SRUW NLYH]HWpVHNHW NLPHQHWNpQW D] 5% RB5, RA3 és RA5 kivezetéseket bemenetként kell programozni. 2.2 Az LCD modul (3. ábra) $]/&'NLMHO]DGDWYH]HWpNHLDPLNURYH]pUO'SRUWMiUDFVDWODNR]QDNPtJDYH]pUO jeleket az E port kivezetései biztosítják az alábbiak szerint: /&'NLMHO]NLYH]HWpVHL PIC kivezetések DB0 - DB7 RD0 - RD7 RS RE0 R/W RE1 E RE2 Az LCD modul kezeléséhez a felsorolt kivezetések mindegyikét kimenetként kell programozni. 2.3 A LED sor (3. ábra) $/('DONRWWDNLMHO]VRUYH]pUOpVpWV]LQWpQD3257'NLYH]HWpVHLYpJ]LND]5 R26 áramkorlátozó ellenállásokon keresztül. A diódák összekötött katódjai a JP5 U YLG]iUKR]FVDWODNR]QDNDPHO\D/('VRUP&N GpVpWHQJHGpO\H]L 2.4 RS-232 interfész (1. ábra) $3,&)[PLNURYH]pUOD]86$57SRUWMiYDO5&7;5&5;DIHMOHV]WSDQHO &V MHO& FVDWODNR]yMiKR] NDSFVROyGLN $ 77/ pv D] 56-232 szintek közötti V]LQWLOOHV]WpVD],&MHO&0$;LQWHJUiOWiUDPN UIHODGDWD Az USART port használatához az RC6 kivezetést kimenetként, míg az RC7 kivezetést bemenetként kell programozni. 2
2.5 Soros EEPROM-ok (2. ábra) Az PIC16F877 kísérleti panelen három soros EEPROM található, melyek NLYH]HWpVHLNNHO D 3,&)[ PLNURYH]pUO V]LQNURQ VRURV Sortjára (RC3 RC5 kivezetések) csatlakoznak. Az EEPROM-ok programozásával kapcsolatos tudnivalókat az alábbi táblázat foglalja össze. Rajzjel IC3 IC4 IC5 Típusjel 93CXX 25CXX 24CXX Protokoll Microwire SPI I 2 C CS jelet biztosító PIC kivezetés RA2 RA1 ËUiVWROYDViVWHQJHGpO\H]U YLG]iU JP2 JP3 JP4 (írásnál) PIC kivezetések konfigurálása RC3, RC5 (és RA1 illetve RA2) kimenet; RC4 bemenet RC3 és RC4 bemenet 2.6 9DOyVLGHM&yUDPRGXO, 2 C kommunikációval (2. ábra $IHMOHV]WSDQHOHQWDOiOKDWyD],&UDM]MHO&56&$WtSXV~yUDPRGXODPHO\D] 6&/ LOOHWYH 6'$ NLYH]HWpVHLYHO D 3,&)[ PLNURYH]pUO I 2 C portjára (RC3 és RC4 NLYH]HWpVHNFVDWODNR]LN$]yUDPRGXOVDMiWRV]FLOOiWRUUDOUHQGHONH]LNPHO\QHNLG]tWHOHPH D WRNUD NtY OUO FVDWODNR]WDWRWW khz-es kvarckristály. Az áramkör programozható, periodikus megszakítást tud kérni: az INTRA illetve INTRB kivezetések a JP7 illetve JP8 rövidzárakon keresztül DPLNURYH]pUO5%pV5%SRUWOiEDLUDFVDWODNR]QDN 2.7 I 2 &EYtWFVDWODNR]y(2. ábra) A femohv]wsdqho&vfvdwodnr]ymdwryieeli 2 &SURWRNROOV]HULQWP&N GN OVHJ\VpJHN SpOGiXO VRURV ((3520 $' PRGXO FVDWODNR]WDWiViW WHV]L OHKHWYp $] 6&/ LOOHWYH 6'$ YRQDODNQ\XJDOPLPDJDVV]LQWMpWD]5pV5MHO&HOOHQiOOiVRNiOOtWMiNEH$&VFVDWODkozó 1-HVSRQWMD9WiSIHV] OWVpJHWEL]WRVtWDN OViUDPN UV]iPiUD 2.8 Analóg bemenet (1. ábra) A Cs2 csatlakozó 3-DVSRQWMDpV9N ] WWLN OVDQDOyJMHOV]LQWHWIRJDG 2.9 Potenciométer (1. ábra) A P1 potenciométer 0 és +5V közötti szintet szolgáowdw D PLNURYH]pUO DQDOyJ bemenetként programozott RA0 kivezetése számára. A potenciométer és az analóg EHPHQHWN ] WWLYiODV]WiVWD-3MXPSHUWHV]LOHKHWYpD]DOiEELWiEOi]DWV]HULQW Rövidzár a JP6 jumper-en Kiválasztott analóg jelforrás 1-2 pontok között P1 potenciométer 2-3 pontok között Cs2/3 analóg bemenet 2.10 PWM kimenet (1. ábra) $ 3,&)[ PLNURYH]pUO&&3 PRGXOMiQDN 3:0 NLPHQMHOH D] 5& NLYH]HWpV D],&LQWHJUiOWiUDPN U%MHO&P&YHOHWLHUVtWMpQNHUHV]W OMXWD&VFVDWODNR]y pontra. 2.11 Analóg kimenet (1. ábra) $ 3:0 PRGXO MHOpQHN NLW OWpVL WpQ\H]MpYHO DUiQ\RV HJ\HQIHV] OWVpJ D] 5 & HOHPHN iowdo DONRWRWW DOXOiWHUHV]W V]&UQ pv D],& $ MHO& P&YHOHWL HUVtWMpQ keresztül kerül a Cs2 csatlakozó 4-es pontjára. 3
2.12 32,768 khz-es oszcillátor (1. ábra) $]LG]tWHOHPDPLNURYH]pUO5&5&NLYH]HWpVHLUHFVDWODNR]y4NYDUFNULVWiO\ míg az áramkör a Timer1 modul saját oszcillátora. 2.11 RTCC csatlakozó (1. ábra) A Cs2 analóg és I/O csatlakozó RTCC pontja - PHO\UH D PLNURYH]pUO RA4 portkivezetése kapcsolódik -HJ\WRYiEELGLJLWiOLV,2EYtWSRQWRWEL]WRVtWOHKHWYp WpYHN OViUDPN U NFVDWODNR]WDWiViWDIHMOHV]WSDQHOKH]$]5$EHPHQHWPLQW 705V]iPOiOyEHPHQHWKDV]QiODWDOHKHWYpWHV]LN OVHVHPpQ\HNV]iPOiOiViW 2.12 P,&SRUWEYtWFVDWODNR]y(1. ábra) $&VLOOHWYH&VMHO&HJ\VRURVFVDWODNR]yWRYiEELN OVHJ\VpJHNLOOHV]WpVpWWHV]L OHKHWYp 2.13 ICD csatlakozó (1. ábra) $ &V MHO& SRQWRV FVDWODNR]y D] 03/$%-ICD modul csatlakoztatására szolgál. Amennyiben az MPLAB-,&' PRGXOW FVDN D PLNURYH]pUO SURJUDPR]iViKR] KDV]QiOMXN GH D SURJUDP IXWiViQDN HOOHQU]pVpKH] LOOHWYH YH]pUOpVpKH] QHP D PLNURYH]pUO 0&/5 iudpn UpEHQ WDOiOKDWy -3 U YLG]iU PHJV]DNtWiViYDO HQJHGpO\H]KHWDSURJUDPIXWiVD 2.14 LDR-KEY csatlakozó (1. ábra) $ IHMOHV]W SDQHO &V FVDWODNR]yMD EL]WRVtWMD D] /'5-.(< SURJUDP OHW OW használatát. A programozó port adatbitje az RB7 kivezetésre csatlakozik. 2.15 RESET nyomógomb (1. ábra) $. MHO& Q\RPyJRPE VHJtWVpJpYHO D PLNURYH]pUO EiUPLNRU DODSiOODSRWED KHO\H]KHW 2.15 Tápfeszültség csatlakozó (3. ábra) $ IHMOHV]W SDQHO VDMiW 9-RV IHV] OWVpJ VWDELOL]iWRUUDO UHQGHONH]LN N OV tápfeszültség igénye: +9V +15V. A bekapcsolást a D9 világító dióda jelzi. A WiSIHV] OWVpJSRODULWiVDWHWV]OHJHVOHKHW 4
ieud$ihmohv]wsdqhondsfvroivludm]d ieud$ihmohv]wsdqhondsfvroivludm]d 5
ieud$ihmohv]wsdqhondsfvroivludm]d 6
ieud$ihmohv]wsdqhoeh OWHWpVLUDM]D 7
3. Mintaprogramok 1. I/O PORT KEZELÉS LED.ASM LCD.ASM KEYBOARD.ASM 2. ANALÓG JEL KEZELÉS POTM.ASM POTM1.ASM PWM.ASM /(' VRU NH]HOpV GHPR ELWHV V]RIWYHUHV LG]tWpV& IXWyIpQ\W valósít meg. /&'NLMHO]QNpWVRURVV] YHJHWMHOHQtWPHg. %LOOHQW\&]HWNH]HOpVGHPR Potenciométer olvasás TMR0 ütemezéssel. Potenciométer olvasás TMR0 ütemezéssel. $QDOyJpV3:0NLPHQHWLMHOHOiOOtWiVDGHPRSURJUDP PWM1.ASM %LOOHQW\&NyGGDO arányos analóg és PWM kimeneti jel HOiOOtWiVD FESZMERO.ASM Az analóg bemeneti jellel arányos fénysort jelez ki az LCD-n. 3. SOROS EEPROM KEZELÉS 93LC56.ASM SPI.ASM 24LC16B.ASM I2C.ASM 25CXX.ASM 4. RS-232 INTERFÉSZ KEZELÉS RS232_SW.ASM RS232_HW.ASM 5. ID=Ë7.(=(/e6 TIMER1.ASM FRQMETER.ASM Microwire EEPROM kezelés szoftveres rutinokkal. Microwire EEPROM kezelés az SPI port programozásával. I 2 C EEPROM kezelés szoftveres rutinokkal. I 2 C EEPROM kezelés az I 2 C port programozásával. SPI EEPROM kezelés az SPI port programozásával. RS-232 port szoftveres megvalósítása. USART port programozása aszinkron portként Timer1 modul programozás demo /('VRUNLMHO]pV&IUHNYHQFLDIRUGXODWV]iPPpUSURJUDP LCD_ORA.ASM 9DOyV LGHM& QDSWiURV yud PHJYDOyVtWiVD D 7LPHU PRGXO programozásával. 6. SLEEP ÜZEMMÓD PROGRAMOZÁSA WDT.ASM WAKEUP.ASM TMR1WU.ASM Ébresztés WDT túlcsordulással. Ébresztés PORTB jelszint változás útján. Ébresztés Timer1 túlcsordulással 7. ADAT EEPROM ÉS A FLASH PROGRAM-MEMÓRIA KEZELÉS EEPROM.ASM FLASH.ASM EEPROM adatmemória írása/olvasása FLASH program memória írása/olvasása 8