ÿ VERSION0/TPF0TVersionnumberdetails Version 274ÿ PRJFILEHEADER0CTPF0TPrjFileHeaderZpercntÈ@ZordxZordy Targetfile rtryenc.c Targetpath'C:\Program Files\QuickBuilder\projects\ Templatefile)C:\WINDOWS\Desktop\picexp\templates\c.txt TargetdevicePIC16F84 TargetMimicDEFAULT Targetclock = PaletteCountSciCount Notes.Stringsà{\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fswiss\fprq2 Arial;}{\f3\fswiss Arial;}{\f4\fmodern\fprq1 Courier New;}{\f5\fswiss Arial;}{\f6\froman\fprq2 Times New Roman;}}{\colortbl\red0\green0\blue0;}.\deflang2057\pard\plain\f2\fs20\b Introduction \par \plain\f2\fs20 This is a demonstration of the 'Rotary encoder (8-bit count)' sub-circuit. This generic sub-circuit is for rotary encoders that require a single 5V supply. Example applications are instrument panel controls and motor shaft position indicators.\par Q\par The target device used for this demonstration is a PIC16F84 running at 4MHz.\par \par \plain\f2\fs20\b Operation =\par \plain\f2\fs20 'ENC_1DO()' is called at regular intervals by the RTCC timer interrupt service routine This serves to update the 8 bit counter 'ENC_1COUNT' whenever the shaft of the rotary encoder is moved. When the shaft is rotated, 'ENC_1COUNT' increments or decrements depending on the direction of rotation.\par R\par The value of 'ENC_1COUNT' is transmitted out of the RS232_1 port every 100mS.\par \par \par \plain\f2\fs20\b Testing×\par \plain\f2\fs20 Connect TX_OUT of RS232_1 to a remote terminal such as Windows Hyper-Terminal. Rotating the encoder shaft will either increment or decrement the values displayed on the terminal.\plain\f6\fs20\b \par \plain\f2\fs20 \par \plain\f2\fs20\b \par \par Application codeþ\par \plain\f2\fs20 See application code below. To use it, select and copy (ctr-insert) the below and past it into a text editor and save as a 'C' file in your working directory. You may also need to change the build output path using 'Project | Options'\par \par ]\par \plain\f4\fs16 /////////////////////////////////////////////////////////////////////////N\par //// APPRTRYE.C ////N\par //// ////O\par //// Demo application of rotory encoder. ////N\par //// ////N\par //// ////N\par //// This demo is intended for a PIC16F84 ////N\par //// Compile using CCS 'C' visit www.quickbuilder.co.uk/qb/ccs ////N\par /////////////////////////////////////////////////////////////////////////\par #include <16F84.H>\par #include  \par #fuses XT,NOPROTECT,NOWDT\par \par // port defines\par #define PORTA 5 \par #define PORTB 6\par #define TRISA 0x85 \par #define TRISB 0x86\par \par \par #INCLUDE "RTRYENC.C"\par \par \par #int_rtcc\par void RTCC_ISR()  \par \{1\par ENC8_1DO(); // service shaft encoder \par \}\par \par \par \par void main() \par \{!\par INIT_SUB_CIRCUITS(); \par \par 8\par // start timer interrupts approx 0.5ms interval\par // @clock=4.0MHz2\par setup_counters(RTCC_INTERNAL,RTCC_DIV_2);'\par \tab enable_interrupts(RTCC_ZERO);$\par \tab enable_interrupts(GLOBAL); \par \par while(1)\par \{\par // delay 1/10 sec\par delay_ms(100);\par 7\par // disbale interrupts when sending results,\par \tab disable_interrupts(RTCC_ZERO);8\par printf(RS232_1OUT, "%03u\\r", ENC8_1COUNT);+\par \tab enable_interrupts(RTCC_ZERO);\par \}\par \}\plain\f5\fs20 \par }TitleRotary Encoder DemoKeywordsrotary;encoder;2 channel;serial AltTemplateÿ SCGENERIC0±tTPF0 tScGenericLibName2C:\Program Files\QuickBuilder\\data\c_standard.libcctnameRS232 Tranceiver description$RS232 serial tranceiver using MAX232keywordsRS232;Tranceiver;MAX232ScTypeiocountrefnameRS232_CctAsMetafile.Data ØpØpX“.ó…)àPT3 EMFÔp XÓž   XX  ``K@0 qiqiø& % 6¼% €( â¼& % 6¼% €(  RL<Arialÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿï{ÿÿÿÿ÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½% T`].m7= ‡@= ‡@ÄaLTVCC÷½%&% €(  ¸ & % 6ô % €(   Äô & % 6<ô % €(   â & % 6 % €(   ú0 & % 60 % €(     & % '% +m é ý % €(  ÿÿÿ% €(  ô $ & % % €6l $ % €(  RL<Arialƒ£ª´8 ´h ðP ´8 % €( ÿÿÿ% €(  ´8 & % % €6xP % €(   % TTïlòu= ‡@= ‡@ åLP1% €(  ˆØ & % 6Ø % €(  RL<Arial% 6l ` %€( % Txˆ˜²¡= ‡@= ‡@Òõ L\T1 [??]((((((%% T`.Ž:—= ‡@= ‡@¡ ¹ LTRXi% % €( RL<Arial€(  ´° & % % €6xÈ % €(   ´à & % 6xÈ % €% TXJ‰Q’= ‡@= ‡@L™ LP13% €(  ˆ & % 6 % €(  RL<Arial% Txˆ«´= ‡@= ‡@Òm L\T2 [??]((((((% €(  xP & % % T`,˜:¡= ‡@= ‡@” õ LTRXo&% €( RL<Arial % 6àÈ %    àÈ & % 6Œ % €(   &$% ¸ % TXJ“Qœ= ‡@= ‡@LÕ LP12% €(  ˆP & % 6P % €(  RL<Arialÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ% T`/¡:ª= ‡@= ‡@§ 1 LTTXiÿÿ % €( RL<Arial÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½ï{ï{ÿÿÿÿ÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½ï{ï{ÿÿÿÿ÷½÷½÷½% TXJœQ¥= ‡@= ‡@L LP11% €(  ˆŒ & % 6Œ % €(  RL<Arial÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½ï{ï{ÿÿÿÿ÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½ï{ï{ÿÿÿÿ÷½÷½i% TXJ¦Q¯= ‡@= ‡@LM LP10% €(  ˆÈ & % 6È % €(  RL<Arialb\default.htt% TTJ°M¹= ‡@= ‡@L‰ LP9% €(  ˆœ & % 6œ % €(  RL<Arialfolder.htt% T`-…:Ž= ‡@= ‡@š } LTTXo % €( RL<Arial¡Ú  Q|Qê:i¢Ø+00#C:\î1&.•€Windows1&¹™DesktopDESKTOP1H+ø“picexpPICEXPÚ  Q<Qh+&klibsourceLIBS~11W,Ä,SerialSERIAL"2ÜpV,÷u rs232.emfRS232.E!% TXJ€Q‰= ‡@= ‡@L] LP14% €(  ˆ` & % 6` % €(  RL<ArialpDESKTOP1H+ø“picexpPICEXP!1h+&kbsourceLIBSOU~11W,Ä,SerialSERIAL8'QÆðàOÐ ê:i¢Ø+00#C:\î1&.•€Windows1&¹™DesktopDESKTOP1H+ø“picexpPICEXP!1h+,% T`){:„= ‡@= ‡@ A LTGND&%&% €( RL<Arial% TXJvQ= ‡@= ‡@L! LP15% €(  ô ` & % 6l ` % €(  RL<Arial% TTïvò= ‡@= ‡@ ! LP2% €(  ô  & % 6l  % €(  RL<Arial% TTï“òœ= ‡@= ‡@ Õ LP5% €(  ô P & % 6l P % €(  RL<Arial÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½ï{ï{ÿÿÿÿ÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½ï{ï{÷½% TTïœò¥= ‡@= ‡@  LP6÷½% €(  ô Œ & % 6l Œ % €(  RL<Arial÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½ï{ï{ÿÿÿÿ÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½ï{ï{÷½% TTï¦ò¯= ‡@= ‡@ M LP7÷½% €(  ô È & % 6l È % €(  RL<Arialï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ÿÿï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{% TTï°ò¹= ‡@= ‡@ ‰ LP8% €(  ô Ø & % 6l Ø % €(  RL<Arial% TTï‰ò’= ‡@= ‡@ ™ LP4% €(  ô œ & % 6l œ % €(  RL<Arial% TTï€ò‰= ‡@= ‡@ ] LP3% €(  ˆ$ & % 6$ % €(  RL<Arial% T`*q:z= ‡@= ‡@ˆ  LTVCC%&% €( RL<Arial% TXJlQu= ‡@= ‡@LåLP16% €( RLZArial% Tpü^$k= ‡@= ‡@g ‹LXMAX23222+&%&% €(    & % '% +Ÿ é¸ Z % €(  ÿÿÿ% €(    & % '% +Z és Z % €(  ÿÿÿ% €(  \ $ & % % €6P $ % €(   ¼ $ & % 6È $ % €(   z  & % 6\ è% €(   z $ & % 6\  % €(   z B & % 6\ $ % €(   z ` & % 6\ B % €(    $ & % 6È $ % €(    $ & % 6P $ % €(  RL<Arialï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ÿÿï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{ï{% T`—i£r= ‡@= ‡@ò ÎLT1uF% €(    & % '% +Z  s † % €(  ÿÿÿ% €(    & % '% +Ÿ  ¸ † % €(  ÿÿÿ% €(  ¼ P & % % €6È P % €(   \ P & % 6P P % €(   ž 2 & % 6¼  % €(   ž P & % 6¼ 2 % €(   ž n & % 6¼ P % €(   ž Œ & % 6¼ n % €(    P & % 6P P % €(    P & % 6È P % €(  RL<Arial ¸ & % 6ô % €(   Äô & 6<ô % €(  % T`—¬£µ= ‡@= ‡@ò r LT1uF% €(    & % '% +A × ² ê % €(  ÿÿÿ% €(    & % '% +A  ² / % €(  ÿÿÿ% €(  | 4 & % % €6| @ % €(   | Ô & % 6| È % €(   š  & % 6¸ 4 % €(   |  & % 6š 4 % €(   ^  & % 6| 4 % €(   @  & % 6^ 4 % €(   | Œ & % 6| È % €(   | | & % 6| @ % €(  RL<Arial €( RL<Arial€(  ´° & % % €6x% €(   ´% T`º¾ÆÇ= ‡@= ‡@Í á LT1uF% €(    & % '% +÷ ö l% €(  ÿÿÿ% €(    & % '% +² öË l% €(  ÿÿÿ% €(  ´ 4& % % €6¨ 4% €(    4& % 6 4% €(   Ò R& % 6´ p% €(   Ò 4& % 6´ R% €(   Ò & % 6´ 4% €(   Ò ø& % 6´ % €(   \ 4& % 6 4% €(   l 4& % 6¨ 4% €(  RL<Arialÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ% T`/¡:ª‡@= ‡@§ 1 LTTXiÿÿ% T`÷>G= ‡@= ‡@I ÁLT1uF% €(    & % '% *ñ(:% €(  ÿÿÿ% €(    & % 'Ž% *ñm € % €(  ÿÿÿ% €(    & % '% *I o4 % €(  ÿÿÿ% €(  F$ & % % €6þ$ % €(  RL<Arial TXJ¦Q¯= ‡@= ‡@LM LP10% €(  ˆÈ & %6È % €(  R% TpÐqîz= ‡@= ‡@” LXTX_OUT %&% €(    & % 'ØÚ% *I† o± % €(  ÿÿÿ% €(  Fœ & % % €6þœ % €(  RL<ArialRL<Arifolder.htt% TlÐ…æŽ= ‡@= ‡@”} LXRX_IN‡@& &% €(  X¸ &$% 6¸ % €(     & % 'ìz% V,ÆÛËåXÖ Xš v¸ XÖ % €(  ÿÿÿ% €( % €RL<Arial€Q‰= ‡@= ‡@L] LP14% €(  ˆ` & % 6% €(  RL<TO% T¨ÐÛä= ‡@= ‡@”™ LlTARGET ________0 %& % €(    & % 'ìz% V,ƒ£ª´8 ´h ðP ´8 % €(  ÿÿÿ% €(  ´8 & % % €6xP % €(   ´h & % 6xP % €(  RL<Arial% TXJvQ‡@= ‡@L! LP15% €(  ô ` &% 6l ` % €( % Tˆ˜²¡= ‡@= ‡@Òõ LdT1 ________ % €(    & % 'ìz% V,ƒ¶½´° ´à ðÈ ´° % €(  ÿÿÿ% €(  ´° & % % €6xÈ % €(   ´à & % 6xÈ % €(  RL<Arial TTï“òœ= ‡@= ‡@ Õ L% Tˆ«²´= ‡@= ‡@Òm LdT2 ________ % €(  xP & % 6àP % €(   àP & % 6 % €(   xÈ & % 6àÈ % €(   àÈ & % 6Œ % €(   &$% W$ºšÀ㸠 % €(   & % W$Ãvêvô $  $ % €(   & % W,“vêŠô œ Ø œ Ø $  $ % €(   & % W,““ê¦ô Ø Ø Ø Ø P  P % €(   & % W(Ãê¦ô     P % €(   & % W(Ö¦ê°ô P | P | Œ % €(   & % W,ÖPý€ô ` | ` | 4l 4% €(   & % W$fFfPø4% €(   & % W(SPfvˆ$ $ 4% €(   & % W$#PfP\ 44% €(   & % W$fÖfภ| % €(   & % W(S€fÖˆ` ` | % €(   & % W0ÖÖfà| | | ¸ ô ¸ ô | | % €(   & % W,Sv¸Šˆœ <œ <$ þ$ % €(   & % W,SЏ“ˆØ xØ xœ þœ % €(   & % W$S¦z¦xP ˆP % €(   & % W,SzºxÈ ÄÈ Ä ˆ % €(   SwModuleAsStrings.Strings//
 //
PartCountÿ SCGENERIC0ö.TPF0 tScGenericLibName.C:\Program Files\QuickBuilder\\data\c_user.libcctnameRotary encoder (8-bit count) description)Shaft encoder driveing 8 software counterkeywordsEncoder;shaft;8-bit;counterScTypeiocountrefnameENC8_CctAsMetafile.Data ¨(¨(Xý6A“m4 ÌUœ) EMF¤(>Ë   XX  ``K@0 qiqiˆ` & % 6ˆœ % €( Lœ & % 6Äœ % €( jº & % 6¦º % €( ‚Ø & % 6ŽØ % €(   & % 'ìz% V,pVz]<X<ˆxp<X% €(  ÿÿÿ % €( <X& % % €6p% €( <ˆ& % 6p% €(  RLZ„Courier New÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½ï{ï{ÿÿÿÿ÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½÷½ÿÿ% T„rK¹X‡@UU‡@H L`T1 ______222222222% €(    & % 'ìz% V,pizq<Ð< xè<Ð% €(  ÿÿÿ% €(  <Ð& % % €6è% €(   < & % 6è% €(  RLZ„Courier New% T„s^ºk‡@UU‡@NŒ L`T2 ______222222222% €(  ”œ &$% 6Xœ % €(     & % 'ìz% V,Ð…ÕŽ”º ”~ ²œ ”º % €(  ÿÿÿ% €( % €RLZ„Courier New% TœÚƒA‡@UU‡@Ðp LhTARGET ______2222222222222% €(  ˆ4& % 6ˆø% €(   jø& % 6¦ø% €(  RLZ„Courier New% T`J6aC‡@UU‡@LLTVCC222% €(    & % '% +m 4Ò Z % €(  ÿÿÿ% €( % €RL<Arial”Äk‚Ãk‚`Ãk‚ë?ër÷¿˜ë?œÄk‚¼ÿ?ú¿òë?¶¹÷¿0«k‚×)ÎðpÖaCÎ]ÊE@x ÇÊÀÇÊÀ—êRÀ,ü¡Ìà@Á°µUÁñMÅ `ÀˆxrÊüÿÿÿ¬•+À$€˜ÁP‡˜Áà@ÁÇÊÀ—˜6wÁÀŒ’Àqs0ÀwÁŒ’Àt’¨û¡Ì/s0ÀŒü¡ÌwÁŒ’Àt’°7wÁxü¡ÌU0ÀÀ% T ÿ€I‰‡@UU‡@w ` LhROTARY ENCODER&% % &%&%&% €(  & % U,hr Ê ëù  Ø  % €(   & % U,hrœ Êœ ë¶  Ø  % €(   & % U,^hœ Êœ ¨¶ ŽØ Ž% €(   Ø Ž& % 6º ‚% €(   Ò Ž& % 6Æ ¦% €(   Lp& % 6Ô p% €(  RL<Arialô[D˜­EµE΄­EèAμñ?€„­EÃÔt¾%@C:\WINDOWS\Desktop\picexp\libsource\encoder\shftenc.emfàOÐ ê:i¢Ø+00#C:\î1•))~€Windows1•) DesktopDESKTOP1Ç,‹prc% T`!U1^‡@UU‡@L QLTVCC%&% €( RL<Arial% TT@PCY‡@UU‡@1LP1% €(  L¬& % 6Ô ¬% €(  RL<Arial% T`!^1g‡@UU‡@L LTCHA%&% €( RL<Arial% TT@YCb‡@UU‡@mLP2% €(  Lè& % 6Ô è% €(  RL<Arial% T`!h1q‡@UU‡@L ÉLTCHB%&% €( RL<Arial% TT@cCl‡@UU‡@©LP3% €(  L$ & % 6Ô $ % €(  RL<Arial% T` q1z‡@UU‡@E  LTGND&%&% €( RL<Arial% TT@lCu‡@UU‡@åLP4% €(  &$% W$Ã`ÉXœ X¬% €(   &$% W$ÃMÉfX4X¬% €(   & % W0JPÆcX4pÄpĬL¬% €(   & % W(JcÆmX¬èLè% €(   & % W(JvS€ˆ` ˆ$ L$ % €(   & % W(JPSZˆ4ˆpLp% €(   SwModuleAsStrings.Strings//
//
#define P1__ PORT_P1_,_A_#define P2__ PORT_P2_,_B_#define TRISP1__ TRIS_P1_,_A_#define TRISP2__ TRIS_P2_,_B_int ENC8_COUNT;int encstate__;'//*************************************void ENC8_DO(void) {! encstate__ = encstate__ << 1; encstate__ &= 0x2;  if (bit_test(*P2__)) bit_set(encstate__, 0); if (bit_test(*P1__)) {  if (encstate__ == 1) ENC8_COUNT--;! else if (encstate__ == 2)! ENC8_COUNT++;  }}'//*************************************void ENC8_INIT() { bit_set(*TRISP1__); bit_set(*TRISP2__); ENC8_COUNT = 0;} //section>//
PartCountÿ CCTOBJ0NTPF0tcctobjscale°Ê€þ?qordxCþqordyIoSelectArray.Strings-145-1-1-1-1-1 headertextRS232_1parentfrmmain.pnSheettop"leftcctnameRS232 TranceiverrefnameRS232_1 Annotated swincluded ScGeneric.OwnerIDEnabled SelectSheetNumPropertyValue.Strings-1-1-1-1-1-1-1-1ÿ CCTOBJ0XTPF0tcctobjscale°Ê€þ?qordxWþqordy$IoSelectArray.Strings-112-1-1-1-1-1 headertextENC8_1parentfrmmain.pnSheettop˜leftcctnameRotary encoder (8-bit count)refnameENC8_1 Annotated swincluded ScGeneric.OwnerIDEnabled SelectSheetNumPropertyValue.Strings-1-1-1-1-1-1-1-1