VERSION0/TPF0TVersionnumberdetails Version 274 PRJFILEHEADER0`TPF0TPrjFileHeaderZpercnt@ZordxZordy Targetfilemuxd.c TargetpathC:\myfiles\microchip\ctest\ 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\fswiss Arial;}{\f5\fmodern\fprq1 Courier New;}}{\colortbl\red0\green0\blue0;}.\deflang2057\pard\plain\f2\fs20\b Introduction\par \plain\f2\fs20 This demonstration shows an implementation of the multiplexed 4-digit 7-segment display sub-circuit 'Display 4-dig 7-seg (com anode)' with serial interface. The target device is a PIC16F84 running at 4MHz.\par \par \plain\f2\fs20\b Operation\par \plain\f2\fs20 When a character is received by the RS232 port, print it to the display unless it is 0x0D (carriage return) in which case move the cursor to the home position.\par :\par Example strings that can be sent to the display are :\par \tab "12.34"\par \tab "1.2.3.4"\par \tab " .012"\par \tab "-34.0"\par \tab "0.6E3"\par \tab " 256"\par \tab "Err"\par \plain\f2\fs20\b \par \par Application code \par \plain\f2\fs20 Below is the application code for this project. 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 Note how the multiplexed display is refreshed by calling MUXD_1DO() regularly in the RTCC overflow interrupt service routine.\par \par \par \par [\par \plain\f5\fs16 ///////////////////////////////////////////////////////////////////////L\par //// APPMUXD.C ////L\par //// ////L\par //// Demo application of simple serial driven multiplex 7-segment ////L\par //// display. ////L\par //// ////L\par //// This program is an example of how your application code is ////L\par //// is organised. Note the #include "muxd.c", this include ////L\par //// file was generated by QuickBuilder and contains all ////L\par //// dirver code. ////L\par //// ////L\par //// This demo is intended for a PIC16F84 ////L\par //// Compile using CCS 'C' visit www.quickbuilder.co.uk/qb/ccs ////L\par ///////////////////////////////////////////////////////////////////////\par \par #include <16F84.H>\par #include \par  \par #fuses XT,NOPROTECT,NOWDT\par \par \par #define PORTA 5 \par #define PORTB 6\par #define TRISA 0x85 \par #define TRISB 0x86\par \par \par #INCLUDE "muxd.c"\par \par \par #int_rtcc\par void RTCC_ISR() \par \{*\par MUXD_1DO(); // refresh display \par \}\par \par \par void main() \par \{\par int c='0'; \par !\par INIT_SUB_CIRCUITS(); \par  \par 2\par setup_counters(RTCC_INTERNAL,RTCC_DIV_2);'\par \tab enable_interrupts(RTCC_ZERO);$\par \tab enable_interrupts(GLOBAL); \par \par while(1) \{'\par if (RS232_1INCOMING() ) \{ \par /\par disable_interrupts(RTCC_ZERO);!\par c = RS232_1IN();/\par \tab enable_interrupts(RTCC_ZERO);\par \tab -\par \tab MUXD_1PUTC(c);\tab \par \}  \par \}\par \}\plain\f2\fs20 \par \plain\f4\fs20 \par }Title2Serial 7-segment multiplexed display demonstrationKeywords,display;multiplexed;7-segment;4-digit;serial AltTemplate SCGENERIC0tTPF0 tScGenericLibName2C:\Program Files\QuickBuilder\\data\c_standard.libcctnameRS232 Tranceiver description$RS232 serial tranceiver using MAX232keywordsRS232;Tranceiver;MAX232ScTypeiocountrefnameRS232_CctAsMetafile.Data ppX.)PT3 EMFp X   XX  ``K@0 qiqi& % 6% ( & % 6% (  RL<Arial{% T`].m7= @= @aLTVCC%&% (   & % 6 % (    & % 6< % (    & % 6 % (   0 & % 60 % (     & % '% +m   % (  % (   $ & % % 6l $ % (  RL<Arial8 h P 8 % ( % (  8 & % % 6xP % (   % TTlu= @= @ LP1% (   & % 6 % (  RL<Arial% 6l ` %( % Tx= @= @ L\T1 [??]((((((%% T`.:= @= @ LTRXi% % ( RL<Arial(   & % % 6x % (    & % 6x % % TXJQ= @= @L LP13% (   & % 6 % (  RL<Arial% Tx= @= @m L\T2 [??]((((((% (  xP & % % T`,:= @= @ LTRXo&% ( RL<Arial % 6 %     & % 6 % (   &$%  % TXJQ= @= @L LP12% (  P & % 6P % (  RL<Arial% T`/:= @= @ 1 LTTXi % ( RL<Arial{{{{% TXJQ= @= @L LP11% (   & % 6 % (  RL<Arial{{{{i% TXJQ= @= @LM LP10% (   & % 6 % (  RL<Arialb\default.htt% TTJM= @= @L LP9% (   & % 6 % (  RL<Arialfolder.htt% T`-:= @= @ } LTTXo % ( RL<Arial Q|Q:i+00#C:\1&.Windows1&DesktopDESKTOP1H+picexpPICEXP Q<Qh+&klibsourceLIBS~11W,,SerialSERIAL"2pV,u rs232.emfRS232.E!% TXJQ= @= @L] LP14% (  ` & % 6` % (  RL<ArialpDESKTOP1H+picexpPICEXP!1h+&kbsourceLIBSOU~11W,,SerialSERIAL8'QO :i+00#C:\1&.Windows1&DesktopDESKTOP1H+picexpPICEXP!1h+,% T`){:= @= @ A LTGND&%&% ( RL<Arial% TXJvQ= @= @L! LP15% (   ` & % 6l ` % (  RL<Arial% TTv= @= @ ! 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= @= @LLP16% ( 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`ir= @= @ 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 TXJQ= @= @LM LP10% (   & %6 % (  R% Tpqz= @= @ LXTX_OUT %&% (    & % '% *I o % (  % (  F & % % 6 % (  RL<ArialRL<Arifolder.htt% Tl= @= @} LXRX_IN@& &% (  X &$% 6 % (     & % 'z% V,X X v X % (  % ( % RL<ArialQ= @= @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 & % 6P % (   P & % 6 % (   x & % 6 % (    & % 6 % (   &$% W$  % (   & % W$vv $  $ % (   & % W,v $  $ % (   & % W, P  P % (   & % W(     P % (   & % W( P | P | % (   & % W,P ` | ` | 4l 4% (   & % W$fFfP4% (   & % W(SPfv$ $ 4% (   & % W$#PfP\ 44% (   & % W$ff | % (   & % W(Sf` ` | % (   & % W0f| | | | | % (   & % W,Sv < <$ $ % (   & % W,S x x  % (   & % W$SzxP P % (   & % W,Szx    % (   SwModuleAsStrings.Strings//
 //
PartCount SCGENERIC0TPF0 tScGenericLibName2C:\Program Files\QuickBuilder\\data\c_standard.libcctnameDisplay 4-dig 7-seg (com anode) description>Four digit 7-segment multiplexed decoded common anode display.keywords:Display;4-digit;7-segment;multiplexed;decoded;common anodeScTypeiocountrefnameMUXD_CctAsMetafile.Data \\Xni\ I . EMFX    XX  ``K@0 qiqi  & % '% + GZ % (   % ( l &% % 6 % ( N &% 60 % (  &% 6 % ( N 4&% 6 4% ( 0 R&% 6 % ( 0  &% 6  % (  R&% 6 % ( z &% 6% ( \ &% 6> % ( .&% 6% ( \ 4&% 6 4% ( > R&% 6 % ( >  &% 6  % ( R&% 6 % ( &% 6% ( j&% 6L% ( <&% 6% ( j4&% 64% ( LR&% 6.% ( L &% 6 % ( R&% 6% ( &% 6,% ( x&% 6Z% ( J&% 6,% ( x4&% 64% ( ZR&% 6<% ( Z &% 6 % ( ,R&% 6% (  RL<Arialdt€S`x̍U0pdt4)z4`4S``4 *444p<4̜p0t edpTcHd pKe% T}@UU@ ` LCOMMON ANODE 7-SEGMENT DISPLAY&%,,%& %&% &+ % %  % ( RL<Arial115W(̸ WWp15Xld܈dUT܈ `\qPd kad1$1Pdd܈tܞdUT܈ `d`aPd1$1a% TT3 <@UU@ LPa2.% ( RL<ArialCECAEC[t% TT=F@UU@ LPb% ( RL<Arial% TT ^g@UU@ LPc% ( RL<Arial% TThq@UU@l LPd% ( RL<Arial% TT^g@UU@0 LPe% ( RL<Arial% TT=F@UU@N LPf % ( RL<Arial ` 3% TTPY@UU@ 4LPg% ( RL<Arial% TT v@UU@ $ LPo&% ( RL<Arial% TXr{@UU@  LPdp% ( RL<Arial% TT6v;@UU@ $ LPo&% ( RL<Arial?% TTbvg@UU@$ LPo&% ( RL<Arial% TTv@UU@$ LPo&% (  | & % 6 % (  RL<Arial% TX)2@UU@ ALPdp% (  | & % 6 % (  RL<Arial% TT3<@UU@ }LPg% (  | & % 6 % (  RL<Arial% TT<E@UU@ LPf % (  | 4& % 6 4% (  RL<Arial% TTFO@UU@ LPe% (  | $ & % 6 $ % (  RL<Arial% TTlu@UU@ LPa% (  | & % 6 % (  RL<ArialP`1$1`d`lt+0`d`ltD-]0ܭ`ltd̵x-ܭݭ`lt$ܭ̐ܭܭ``% TTcl@UU@ LPb% (  | & % 6 % (  RL<Arial{{% TTYb@UU@ mLPc% (  | p& % 6 p% (  RL<Arial{{{% TTPY@UU@ 1LPd% (   & % 6 D% (  RL<Arial{{{{% TT  )@UU@ LP1% (   & % 6 D% (  RL<Arial{{{{% TT- 1)@UU@ LP2% (  & % 6D% (  RL<Arial{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{% TT] a)@UU@LP3% (  & % 6D% (  RL<Arialp1$1#`[1W`t”ܭ]`t`#`ܭ1#``t|ݭ̃V0#``t8V:Wݭ|R` haha|ݭPE% TT )@UU@LP4% ( RLZArial  XX  ``K@0 qiqi & % '% TX(@UU@ LPD1+&% (    & % 'z% V,N Vl  8N V% (  % (    & % '% +/ H % (  % (  N & % % 6 % (    & % 6~ &% (    t& % 60 t% (    (& % 6 % (    & % 6 % (  RLZArial% 6 % ( >  &% 6  % ( R&% 6 % ( % TX@UU@ LPQ12&% (    & % '% +s % (  % (  (& % % 6p(% (  RL<Arial6 % ( &% 6% ( & 6,% ( x% TT^b@UU@ LPA% ( RL<Arial% 64% ( ZR&% 6<% ( Z % 6 % % TTLO@UU@LP1% (  d& % 6pd% (  RL<ArialedpTcHdpKe% T}@UU@ LCOMMON ANODE 7% TT^b@UU@ELPB% ( RL<ArialArial115W(̸ WWp15Xld܈dUT܈ `\qPd kad1$1PddtܞdUT܈ `d`a% TTLO@UU@%LP2% (  & % 6p% (  RL<Arial TT=F@UU@ L% TT^c@UU@LPC&% ( RL<Arial TT ^g@UU@ L% TTLO@UU@aLP3% (  T& % 6pT% (  RL<Arial% TThq@UU@l LPd% ( L<Arial% TX^f@UU@5LPE1% ( RL<Arial% TT^g@UU@0 LPe% ( R<Arial% TTLO@UU@LP6% (    & % '% *Ml% (  % (  & % % 6L% (  RL<Arial ` 3 TTPY@UU@ 4L% TX^f@UU@qLPE2% ( RL<Arial%TT v@UU@ $ L% TTLO @UU@QLP4% (    & % '% *Ml% (  % (  & % % 6L% (  RL<ArialArial% TX^f@UU@LPE3% ( RL<ArialArial?% TTL O@UU@LP5% (    & % '% *  3% (  % (  P (& % % 6 (% (  RL<Arial@UU@$ LPo&% (  | & % 6 %(  RL<% TX@UU@ LPY0% ( RL<Arial% TX)2@UU@ ALPdp% (  | &% TX@UU@ LP15% (    & % '% * S r% (  % (  P d& % % 6 d% (  RL<Arial | & % 6 % (  RL<Arial% TX@UU@ ELPY1% ( RL<Arial TT<E@UU@ LPf % (  | 4& % 6 4% (  RLr% TX@UU@ %LP14% (    & % '% *  % (  % (  P & % % 6 % (  RL<Arial(  RL<Arial% TX@UU@ LPY2% ( RL<Arial (  | & % 6 % (  RL<rialP`1$1`d`lt% TX@UU@ aLP13% (    & % '% *  % (  % (  P & % % 6 % (  RL<Arial{{% TX@UU@ LPY3% ( RL<Arial p% (  RL<Arial{{{% TX@UU@ LP12% (    & % '% *  '% (  % (  P & % % 6 % (  RL<Arial{{% T  )@UU@ L% TX@UU@ LPY4% ( RL<Arial{{{{% TX@UU@ LP11% (    & % '% * @ _% (  % (  P T& % % 6 T% (  RL<Arial{{{{{{{{{{{{{{{{{% TT] a)@UU@LP3% ( & % TX@UU@ 5LPY5% ( RL<Arialt|ݭ̃V0#``t8V:Wݭ|R` haha|ݭPE% TT )@UU@% TX@UU@ LP10% (    & % '% *  % (  % (  P & % % 6 % (  RL<Arial``K@0 qqi & % '%TX(@UU@ L% TX@UU@ qLPY6% ( RL<Arial% (  % (   & % '% +H % (  % % TT @UU@ QLP9% (    & % '% *  % (  % (  P & % % 6 % (  RL<Arial % 6  (  RLZArial% 6 % ( >  &%% TX@UU@ LPY7% ( RL<Arial@UU@ LP12&% (    & % '% +s % ( % TT @UU@ LP7% ( RLZArialArial6 % ( &% 6% ( & 6,% ( % TXYe@UU@lLPU1+&% ( RL<ArialArial% 6% ( ZR&% 6<% ( Z % 6% TxY!u*@UU@l L\74LS138% (    & % '% + z % (  % (   & % % 6 % (    & % 6| % (     & % '% + z % (  % (   & % % 6| % (    & % 6 % (     & % '% + Lz x% (  % (   d& % % 6| d% (    d& % 6 d% (     & % '% + z :% (  % (   (& % % 6| (% (    (& % 6 (% (     & % 'z% V,(> V\ z 8> V% (  % (    & % '% +# < % (  % (  > & % % 6 % (    & % 6n &% (    t& % 6 t% (    (& % 6 % (    & % 6 % (  RLZArialArial% TTLO@UU@LP6% (    & % TX"@UU@ LPQ22&% (    & % 'z% V,NXjV8jV% (  % (    & % '% +Oh% (  % (  j& % % 6% (   & % 6&% (   t& % 6Lt% (   (& % 6% (   & % 6% (  RLZArial% '% Ml% (  % (  &% % 6L% % TXER@UU@2LPQ32&% (    & % 'z% V,u~ZVx8ZV% (  % (    & % '% +<U% (  % (  Z& % % 6% (   & % 6&% (   t& % 6<t% (   (& % 6% (   & % 6% (  RLZArial(  RL<Arial@UU@$ LPo&% (  | & % 6% TXly@UU@"LPQ42&% (   H& % 6 % (    & % 6 % (  RL<ArialPdp% ( | &% TX@UU@ LP15% ( % T`nw@UU@ LTVCC%&% (    & % '0% *x% (  % (    & % '% * x % (  % (    & % '% * x % (  % (    & % '% + f % (  % (   & % % 6 % (    & % 6 % (     & % '% +  % (  % (   & % % 6 % (    & % 6 % (     & % '% +  G% (  % (   4& % % 6 4% (    4& % 6 4% (     & % '% +  % (  % (   & % % 6 % (    & % 6 % (     & % '% + Z % (  % (   p& % % 6 p% (    p& % 6 p% (     & % '% +  % (  % (   & % % 6 % (    & % 6 % (     & % '% +  % (  % (   & % % 6 % (    & % 6 % (     & % '% +  4 % (  % (   $ & % % 6 $ % (    $ & % 6 $ % (     & % 'z% V,TTT% (  % (  T& % % 6% (   T& % 6% (  RL<Arial@UU@ LP11% (    & % '% * @ _% % T@UU@q L`T1 ______ % (    & % 'z% V,&-T\T,DT\% (  % (  T\& % % 6D% (   T,& % 6D% (  RL<Arial:Wݭ|R` haha|ݭPE% TT @UU@% T$@UU@ L`T2 ______ % (    & % 'z% V,9ATTT% (  % (  T& % % 6% (   T& % 6% (  RL<Arial% TX@UU@ qLPY6% ( RL<Arial% (  %% T.7@UU@a L`T3 ______ % (    & % 'z% V,LTTLT4TL% (  % (  TL& % % 64% (   T& % 64% (  RL<ArialArial %   (  RLZArial% 6% ( >  &% TAJ@UU@ L`T4 ______7 % (    & % 'z% V,_gTTT% (  % (  T& % % 6% (   T& % 6% (  RL<Arial( &% 6% ( & 6, ( % @% TU^@UU@Q L`T5 ______ % (    & % 'z% V,szT< T $ T< % (  % (  T< & % % 6$ % (   T & % 6$ % (  RL<Arial z % (  (   & % % 6 % (    &% Thq@UU@ L`T6 ______ % (    & % 'z% V,T T  T % (  % (  T & % % 6 % (   T & % 6 % (  RL<Arial  d& % % 6| d% (    d&% 6 d% ( % T{@UU@A L`T7 ______ % (    & % 'z% V,T, T  T, % (  % (  T, & % % 6 % (   T & % 6 % (  RL<Arial % ' +# < % (  % (  > & % % 6 % T@UU@ L`T8 ______ % (    & % 'z% V,TT\tT% (  % (  T& % % 6t% (   T\& % 6t% (  RL<Arial% (   & % TX"@UU@ LPQ22&% ( % T@UU@ L`T9 ______ % (    & % 'z% V,TTT% (  % (  T& % % 6% (   T& % 6% (  RL<Arial% 6Lt% (   (& % 6% (   & %% T@UU@ L`T10 ______ % (  T &$% 6 % (     & % 'z% V,T T r T % (  % ( % RL<Arialz% V,u~Z8ZV% (  % (    & % '% +% T N@UU@ LlTARGET ________ %& % (  4 & % 64 % (    & % 6p % (    & % 6R % (   . & % 6: % (     & % '0% *% (  % ( % RL<Arial% Xly@UU@"LPQ42&% (   H& % 6 % T|%.@UU@ &L\8 X 470R  &% ( RL<Arial( | &% TX@UU@ LP15 ( % Tx@UU@ L\4 X 1K2  % ( RL<Arial*x% ( % (    & % '% * x % ( % T@UU@  L`4 X 2N3906  &% (  h&& % 6&% (   hJ& % 6J% (   J& % 6t% (   && % 6% (   & % 6% (   & % 6t% (  RLZArial(    & % 6 % (     & % '% TX@UU@LPC1+&% ( RL<Arial    4& % 6 4% (     & % '%% Tl@UU@RLX100nF% (  & % 6(% (   h(& % 6(% (   F& % 6F% (   d& % 6d% (     & % '0% *x% (  % (    & % '% * x % (  % (    & % '% *% (  % (  &$% % W$8% (   &$% W$% (   &$% W$}`  % (   &$% W(   % (   &$% W$j` % (   &$% W$Wpp% (   &$% W$C]p% (   &$% W$0I% (   &$% W$6% (   &$% W$ #% (   & % W$  (% (   & % W$P  % (   & % W$P  % (   & % W$P d d% (   & % W( t t (% (   & % W$P ( (% (   & % W( d d t% (   & % W$--  (% (   & % W(@ t% (   & % W$]](% (   & % W(f t% (   & % W$(% (   & % W$]]% (   & % W$-] % (   & % W$--  % (   & % W$-  % (   & % W$  % (   & % W$33|  % (   & % W$==|  % (   & % W$PP| 4 4% (   & % W$FF|  % (   & % W$ZZ| p p% (   & % W$cc|  % (   & % W$mm|  % (   & % W$vv| $ $ % (   & % W0F(D(Dtt8% (   & % W0 3 % (   & % W0 = DDDD% (   & % W03F % (   & % W(FP 44% (   & % W0Zc ppp% (   & % W0cv DD$ $ % (   & % W0m   ` % (   & % W0v $ $    % (   & % W0Fdd% (   & % W$=F% (   & % W,=P4 4DD% (   & % W$% (   & % W$% (   & % W$]% (   & % W(% (   & % W$  % (   & % W$  H% (   & % W,3TT % (   & % W$= F % (   & % W$= =% (   & % W(=F % (   SwModuleAsStrings.Strings//
//
:// Cursor is auto incremented to the next digit except in // the case of decimal point.:// CR (0x0D) cariage return moves cursor to home position.;// None-printable characters are shown as 3 horizontal bars// (segments a,g,d).//-// Example - the following will print "12.34"// MUXD_CURHOME();#// printf(MUXD_PUTC, "12.34");//2// MUXD_CURHOME() : Move cursor to home position#define P__ PORT_P_#define TRISP__ TRIS_P_#define P1__ PORT_P1_, _A_#define TRISP1__ TRIS_P1_, _A_#define P2__ PORT_P2_, _B_#define TRISP2__ TRIS_P2_, _B_static byte digit__[4];static byte cursor__= 0;'//*************************************byte const MUXD_TAB__[10]={// abcdefg. 0b11111100, // 0 0b01100000, // 1 0b11011010, // 2 0b11110010, // 3 0b01100110, // 4 0b10110110, // 5 0b10111110, // 6 0b11100000, // 7 0b11111110, // 8 0b11110110, // 9};'//*************************************void MUXD_DO(void) { static int robin=0; / *P__ = 0xff; // extinguish digit  // select next digit/ bit_clear(*P1__); // address select 0 if (bit_test(robin, 0)) bit_set(*P1__); / bit_clear(*P2__); // address select 1 if (bit_test(robin, 1)) bit_set(*P2__);: *P__ = DIGIT__[robin]; // output next segment pattern1 robin--; // inc and wrap robin robin &= 0x3; }'//*************************************void MUXD_CURHOME() { CURSOR__ = 0;}'//*************************************// set dig with c"void MUXD_DIGIT(int dig, char c) { byte ptn;  if (c == '.') DIGIT__[dig] &= 0xfe; else { if (c==' ')6 ptn =0; // space turns off digit else if (c=='-')" ptn = 0b00000010; // - else if (c=='E')" ptn = 0b10011110; // E else if (c=='r')" ptn = 0b00001010; // r else { c = c-'0'; if (c <10)$ ptn = MUXD_TAB__[c]; else9 ptn = 0b10010010; // non printable char } DIGIT__[dig] = ~ptn; } }'//*************************************void MUXD_PUTC(char c) { int dig;" // cariage return homes cursor if (c == 0x0D) {  cursor__ = 0; return; }  dig = cursor__; if (c == '.') { dig--; dig &= 0x3; } else {2 cursor__++; // inc and wrap cursor cursor__ &= 0x3; } MUXD_DIGIT(dig,c);}'//*************************************void MUXD_CLEAR() { cursor__ = 0; digit__[0] = 0xff; digit__[1] = 0xff; digit__[2] = 0xff; digit__[3] = 0xff; *P__ = 0xff;}'//************************************* MUXD_INIT() {  *TRISP__ = 0; bit_clear(*TRISP1__); bit_clear(*TRISP2__); MUXD_CLEAR();} ///section>//
PartCount CCTOBJ0NTPF0tcctobjscaleʀ?qordxNqordy$IoSelectArray.Strings-145-1-1-1-1-1 headertextRS232_1parentfrmmain.pnSheettopleftcctnameRS232 TranceiverrefnameRS232_1 Annotated swincluded ScGeneric.OwnerIDEnabled SelectSheetNumPropertyValue.Strings-1-1-1-1-1-1-1-1 CCTOBJ0ZTPF0tcctobjscaleʀ?qordxcqordy,IoSelectArray.Strings-1112-1-1-1-1 headertextMUXD_1parentfrmmain.pnSheettopleft%cctnameDisplay 4-dig 7-seg (com anode)refnameMUXD_1 Annotated swincluded ScGeneric.OwnerIDEnabled SelectSheetNumPropertyValue.Strings-1-1-1-1-1-1-1-1