ࡱ> '` ֙bjbj  W%^^^rz6z6z686>7\r%k277"777>>>,j.j.j.j.j.j.j$WlhnRj^>=|>>>Rj77jGGG>87^7,jG>,jGGRePF^h77 pI%`z6BHg,jj0%kfgUoFUo<hhUo^(h>)>G7> C>S>>>RjRjxG^>>>%k>>>>rrr drrr rrr ECE331 Microcomputers (KEH) November 10, 2009 Test #2 100 Points Takehome Test Open Textbook, Homework, Quizzes, Labs, and Course Notes Dept. of Electrical and Computer Engineering Rose-Hulman Institute of Technology Name: ___________________________________________ CM Box:_________ Required Signature: My signature below certifies that I have not received help from any person. I have not given help to any person on this exam in any shape, form, or fashion. I have not used any resources except for those listed above. Signature:___________________________________________________ Date: _____________ (14 Points, 1 point per blank) Interrupt-driven White Noise Generator The hardwired circuit shown below in Figure P1 is a 31-bit right-shift register consisting of D flip-flops FF0 FF30, whose input is formed by EXCLUSIVE OR-ing the outputs of FF2 and FF30. This sequence generator produces a maximum length pseudorandom binary sequence (PRBS) that will not repeat until 231-1 = 2,147,483,647 (that is over 2 Billion!) clock pulses have elapsed. The system output may be taken from the output of any flip-flop in the shift register. The (normally closed) PRESET pushbutton is used to start the shift register in the state of all 1s, since the state of all 0s is the one state that is not allowed in a maximal length pseudorandom binary sequence generator (since it locks the generator into a sequence that is all 0s), and so we must not let this circuit start in the all 0s state. When clocked at 20 kHz, the sequence will take (231-1)/20000/60/60 = 29.8 hours to repeat itself! Thus the binary output is a rather random sequence of 0s and 1s! If this circuit drives a loudspeaker, it will produce white noise that might be used as a sleep aid. Figure P1. Pseudorandom Binary Sequence Generator Below is a C-language program written to run on our FreeScale CSMB9S12C128, and it emulates this hardwired white noise generator in software as an interrupt routine. The calling program first calls PRBS_INIT( ) that sets up the RTI interrupt to interrupt at a rate of 15.625 kHz, and initializes the flip-flops to all 1s, which is the function performed by the PRESET SW in the diagram of Fig. P1. Each RTI interrupt corresponds to a clock pulse in the hardwired system above. The main program also enables interrupts before it falls into an idle loop. The interrupt routine implements the rest of the system as shown in Fig. P1. Note that this software emulation should behave exactly like the hardware system in Fig. P1, except it is clocked at a 15.625 kHz instead of 20 kHz. Recall that our CSMB9S12C128 boards employ a 4 MHz crystal resonator, which sets the OSCCLK rate to 4 MHz. Note from Fig. 6.15 in the Huang Text that the RTI interrupt is clocked from OSCCLK; it has nothing to do with the PLL that forms the bus clock, thus the RTI interrupt rate depends only upon OSCCLK, and does NOT depend upon the bus clock rate, as set by the PLL. The long integer variable shiftreg in the program below is used to implement the 31-bit shift register in Fig. P1, where FF1 corresponds to Bit #0 (the LSB) of shiftreg, and Bit #30 corresponds to FF30. Note that the MSB (Bit #31) of the shift register is not used. The system output is taken from FF30, and this output is driven out onto I/O pin PM3. If the piezoelectric buzzer (loudspeaker) is jumper is installed so that it is connected to PM3, we will hear the broadband white noise as a steady hiss. Fill in the missing blanks in this C-language program. (14 points, 1 point per blank) C Language Program: Interrupt-Driven Music Player Fill in the 14 blanks in the C program below that plays music. The TONE array is loaded with values N = 0 24, which represent two octaves of the musical scale: A1, Bb1, B1, C1, Db1, D1, Eb1, E1, F1, F#1, G1, Ab1, A2, Bb2 B2, C2, Db2, D2, Eb2, E2, F2, F#2, G2, Ab2, A3. Furthermore, let the value N = 25 correspond to the special case of silence (a musical rest). Let A1 correspond to 220 Hz, then A2 must correspond to 440 Hz, one octave above A1, and A3 corresponds to 880 Hz. Since the Western musical scale varies in 12 logarithmically-spaced steps between octaves, the frequency of each note in this scale is given by  EMBED Equation.3  Hertz, where N = the note number (0 25) The DURATION array is loaded with tone duration values that range from 1 up to 16. Let 1 represent the shortest possible note duration, lets call it a 16th note, then 2 represents a note that is twice as long (an 8th note), 4 represents a note that is 4 times as long (a quarter note), 8 represents a half note, and 16 represents a whole note. Note that with this scheme, a dotted 8th note, which is 1.5 times the length of a regular 8th note, would be represented by 3, and a dotted quarter note would be represented by 6, etc. Note that the main program is quite short. It calls function music_init( ) that initializes the timer tick rate, TC0 output compare interrupt mechanism, and other important variables and registers, it ends by globally enabling interrupts. Then the main program enters an infinite idle (do nothing) loop. The TC0 interrupt routine music_isr( ) performs the tasks of fetching the next tone and duration values from the TONE and DURATION arrays, generating the musical tones (as square waves) based upon the information fetched from the TONE array, and deciding how long to generate each tone, based upon the information fetched from the DURATION array. Fill in all 14 of the blanks in the music program below, so that it repeatedly plays Dear Old Rose. #include /* common defines and macros */ #include /* derivative information */ #pragma LINK_INFO DERIVATIVE "mc9s12c32" #define SONGSIZE 10 //There are 10 notes in this song #define SIXTEENTHNOTE 300000 //SIXTEENTHNOTE = number of timer ticks in a 0.2 // second sixteenth note void INIT_PLL(void); void music_isr(void); void music_init(void); char getnoteflag, noteptr, note_number; long int dur_nr_half_cycles; int tone_val, dur_counter; //The duration and tone arrays below play the "Dear Old Rose" RHIT fight song const char duration[SONGSIZE]={2, 2, 3, 1, 1, 1, 2, 2, 3, 4}; const char tone[SONGSIZE]={6, 7, 8,10,11,13,15,13,11,25};//End with a rest const int tone_table[25]= {6818, 6435, 6074, _______, 5412, 5108, 4821, //(***Blank 1 ***) 4550, 4295, 4054 ,3827, 3612, 3409, 3218, 3037, 2867, _______, 2554, 2411, 2148, 2027, //(***Blank 2 ***) 2027, 1806, 1705, 1609}; void main(void) { INIT_PLL(); // Set bus clock frequency to 24 MHz music_init(); for(;;); } void music_init() { getnoteflag = 1; // Set getnoteflag = 1, so first interrupt will fetch a // new note from tone[] and duration[] arrays. noteptr = 0; // Make noteptr point to first note (first element) // in the tone[ ] and duration[ ] arrays. dur_counter = 0; // Clear Duration Counter, which counts the number // of half cycles that a note is played. DDRM_DDRM0 = 1; // Make PTM0 (Bit #0 of Port M) an output. // (PTM0 is connected to an amplified loudspeaker.) PTM_PTM0 = 0; // Set PTM0 low. ____________________ // Set Prescaler to divide bus clock by 8.(***Blank 3***) // Assume 24 MHz bus clock, // Thus the Timer Tick time = 8/24E6 = 333.3333 ns ____________________ // Turn on timer (***Blank 4 ***) ____________________ // Make TC0 an Output Compare (***Blank 5 ***) TC0 = TCNT + 25; // Schedule first TC0 interrupt in 25 timer ticks ____________________ // Clear TC0 interrupt flag (***Blank 6 ***) ____________________ // Locally Enable TC0 interrupts (***Blank 7 ***) EnableInterrupts; // Globally Enable TC0 interrupts } // The following interrupt routine is entered when an output compare on TC0 // This TC0 interrupt should occur every half of a note cycle. void interrupt music_isr( ) { TFLG1 = 1; //Relax TC0 interrupt if(getnoteflag == 1) { getnoteflag = 0; note_number = ____________ //Look up the number of the next note //(***Blank 8 ***) if(note_number > 24) note_number = 25; // If an invalid note number //(> 24) is entered, //make it a rest = 25. // tone_val = nr of ticks in half cycle of note tone_val = _________________ //(***Blank 9 ***) dur_nr_half_cycles = ____________*SIXTEENTHNOTE / _____________); //(***Blank 10 ***) (***Blank 11 ***) // Hint: SIXTEENTHNOTE sets the speed at which // the musical composition is played. Note 'dur_nr_cycles" // is the total number of half cycles in the note that cause that // note to be played for the specified note duration. dur_counter = 0; // Reset duration counter noteptr++; // Increment noteptr. if(noteptr > SONGSIZE) {___________________; //(***Blank 12 ***) // If song is completed, wrap back to beginning. } else { if (note_number < 25) PTM_PTM0 = ~PTM_PTM0; // Toggle PTM0 dur_counter++; // increment duration counter if(dur_counter > ___________________) getnoteflag = 1; //(***Blank 13 ***) // Set getnoteflag = 1 if at the end of the note } ________________________________; // Schedule next TC0 interrupt //(***Blank 14 ***) } 3. (16 points) LCD Display Multiplexing (1 pts) A custom LCD display for a new product has 300 segments that must be individually controlled (turned on or off). If we choose to use 1:4 multiplexing on this display, implying 4 back plane signals are needed, what is the total number of wires (back plane wires plus front plane wires) that must be connected to this display? Total # Wires = ____________ (1 pts) Repeat Part A for 1:8 multiplexing. Total # Wires = ____________ (2 pts) For the case of 1:8 LCD multiplexing, there are 8 backplane signals, BP1, BP2, BP3, BP4, BP5, BP6, BP7, and BP8. Assume that Vcc = 5 V, so the waveform voltage levels are 5 V, 3.333 V, 1.666 V, and 0 V. Sketch one frame of the BP4 backplane signal and also one frame of the BP8 backplane signal. (3 pts) Sketch one frame of a single front plane signal, FP1, where the segments that pass over BP2, BP4, and BP5 are to be ON, and the remaining five segments are to be OFF. (3 pts) Sketch one frame of the voltage waveform Vseg41, which represents the voltage across the turned ON segment that lies between FP1 and BP4. (Vseg41 = BP4 voltage FP1 voltage). Use the FP1 voltage waveform from Part d above. (3 pts) Sketch one frame of the voltage across the turned OFF segment that lies between FP1 and BP8, Vseg81. (Vseg81 = BP8 voltage FP1 voltage) . Use the FP1 voltage waveform from Part d above (2 pts) Find the RMS value of the Vseg41 waveform of Part e, which corresponds to the waveform of a turned ON segment, and also the RMS value of the Vseg81 voltage waveform of Part f, which corresponds to a turned OFF segment. For credit on this problem, you must show the steps in your calculation (not just write down numbers) in the space below. Recall that in the class notes, it was shown (in Figure 7.21) that for the case of 1:4 multiplexing, the RMS voltage across a segment that is ON is Vrmson = 2.899 V,rms; and the RMS voltage across a segment that is OFF is Vrmsoff = 1.67 V, rms. RMS value of Vseg41 = __________ V,rms RMS value of Vseg81 = _________ V,rms F. (1 pt) Based upon comparing the results for 1:4 and 1:8 multiplexing, (a) which multiplexing method requires fewer connections? ___________________ (b) which multiplexing method yields higher contrast? ___________________ (7 pts) An NPN power BJT with a ( = 150 is used to switch ON and OFF a 10 , 20 V (40 Watt) resistive load using the upper-left circuit of Slide #57. (Assume Vbe(on) = 0.7V and Vce(sat) = 0V.) (3 pts) Draw this circuit in the space below, and determine the maximum permissible value of Rb that is necessary to keep the BJT saturated while the load is ON. Note that with the BJT saturated, the switching BJT consumes essentially NO power (PBJT = Ic*Vce = 2*0 = 0W), and the load receives the full PLOAD = IL*VL = 2*20 = 40 W from the dc power supply. Rb(MAX) = _____________ (1 pt) How much current must the open-collector driving gate be able to sink while the load is turned off? (Assume that the value of Rb is the value calculated above in Part a, and that the output voltage of the driving gate is at a voltage of 0.5 V when sinking this current.) IoutSINK = __________ (3 pts) If Rb = 500 , and the open-collector driving gate is switched to its HIGH (floating) state, find the power that is delivered to the (10 ,  40 Watt ) load (Hint: Because Rb = 500  violates the calculation in Problem 4(a), you will find that the power delivered to the load will far less than the desired 40 Watts! Also find the power that is dissipated (as heat) in the BJT switching transistor. (Hint: you may ignore the small amount of power consumed in the base-emitter junction of the BJT, and so PBJT = Vce * Ic. Because Rb = 500  violates the calculation in Problem 4(a), the power consumed (as heat) in the switching transistor will be unacceptably large, and it may even burn out the switching transistor!) P10 LOAD = ______________ PBJT = ______________ (4 points) Imagine that the 10  resistive load of Problem 4 is replaced by an inductive load that may be modeled as a 1.0 H inductance in series with a 10  resistance. (1 pt) Sketch the modified switching circuit in the space below. This circuit consists of the open-collector driving gate, the 20 V dc power supply, Rb (assume Rb has a value that is less than the maximum value calculated in Problem 4(a)), the switching BJT, and the load (1 H inductor and 10  resistor). (3 points) Assume that the open-collector driving gate output voltage has been LOW for a long time, and then it suddenly is raised to its HIGH (floating) state. How long after that will it take for the load current to reach 90% of its final value (1.8 Amperes)? Let us regard this as the load turn-on time. (Hint: Study Lecture 11, Slides 71-78) Load Turn-On Time = _____________ (9 pts) Now imagine that the driving gate output voltage of the circuit in Problem 5 is suddenly changed from HIGH to LOW. Hint: See Lecture 11, Slides 71-78 (1 pts) Using vL = LdiL/dt to explain why the switching BJT could burn out. (1 pts) Redraw the switching circuit showing how a single fast-acting diode may be added to this circuit to solve the problem of Part (a). (4 pts) For the circuit of Part (b), determine how long it will take for the load current to decay from its full value down to 10% of this value (0.2 A) when the driving gate output voltage is suddenly changed from HIGH to LOW . You might regard this as the load turn-off time. Hint: See Lecture 11, Slides 71-78 Load Turn-Off Time = _____________ (3 pts) How could you make this load turn off time shorter? Redraw the circuit showing how one additional resistor Rspeedup might be added, so the load will turn off faster, without affecting the load current of the load turn-on time. If Rspeedup = 20 ohms in this example, calculate the new load turn-off time. New Load Turn-Off Time = _____________ (8 pts) Using only TWO rising-edge sensitive D flip-flops (with D, CLK, CLR, Q and Q\ pins) and assorted inverters and logic gates, design a circuit that will derive the 2x resolution CW output waveform shown in Fig. 6 from the A and B input waveforms. (See arrow below) YOU NEED NOT DERIVE THE CCW output waveform. Be sure to label your circuits A and B inputs as well as your circuits CW output.   Desired output waveform( Stepping Motor (8 points) Referring to the stepping motor circuit diagram shown in the course notes (Slide #68), imagine that the two bottom rows of 7407/7406 inverters are removed, leaving us with just one row of 2N6427 power Darlington BJT transistors. Then imagine that a microcontroller has PTM3 (Port M, Pin 3) connected to the base of the left-most power Darlington, PTM2 to the next one, PTM1 to the next, and finally PTM0 to the right-most power Darlington. (2 pts) List the sequence of eight 4-bit numbers that would have to be output on the low 4 bits of PORT M (in the order PTM3:PTM2:PTM1:PTM0) in order to make the magnetic field vector developed by the stepping motor stator coils step in the clockwise (CW) direction, with 8 steps per revolution (45 degrees per step). Let your first number correspond to the magnetic field pointing directly up. (Hint: you may turn on either 1 or 2 coils at a time.) ________, _______, _______, ________, _________, ______, ______, _______ (4 pts) Assuming a permanent magnet rotor with 7 permanent magnet poles (instead of the rotor with 3 permanent magnet poles considered on Slide #69 in the lecture notes), determine the number of steps per revolution of the shaft using the 8-value sequence of Part A. Do this by drawing, in the space provided below, the 7-pole rotor (showing only the 7 equal-angularly spaced south poles) with one of the 7 poles aligned with the initial B field. Then, when the B field steps 45 degrees to its next position, determine which south pole is closest to the new position of the B field, and hence is pulled into alignment. Determine the angle through which the shaft rotates, and determine its direction of rotation (CW or CCW). Also determine the total number of steps per one 360 degree revolution of the shaft. Degrees of Shaft Angle Rotation Per Step = ________ Step Direction = ____ Steps per one 360 degree revolution of the shaft = __________ (1 pt) What is the best name for the four 1N4001 power diodes in this stepping motor circuit? (circle one) 1. transient voltage suppression diodes 2. turn-on speedup diodes 3. turn-off speedup diodes 4. load current limiter diodes (1 pt) What is the best name for the 22-ohm resistor in this stepping motor circuit? (circle one) 1. turn-on speedup resistor 2. turn-off speedup resistor 3. load current limiter 4. voltage transient suppression resistor (2 pt) A magnetic reed switch will be most sensitive to an applied magnetic field (B) that is oriented in a direction that is 1. perpendicular to the reeds 2. parallel to the reeds 3. at a 45 degree angle to the reeds (2 pt) What is the purpose of the diodes in the 8 x 8 scanned keyswitch matrix discussed in the course notes? 1. short-circuit protection 2. over-voltage protection 3. speed up key scanning process (9 pts) Imagine that a poor mans A/D circuit implemented in the C language is used to sense the value of a variable resistor Rx by connecting Rx between PT0 and Vcc = 5.0 V and a 0.22 F capacitor between PT0 and ground. Assume that PT0 (when configured as an input) has an input logic high threshold of 3.00 V. If PT0 (when configured as an output) is driven low (to 0 V) for several seconds, and then suddenly released (allowed to float), the time elapsed before a logic 1 level is read by the microcontroller is measured. (2 pts) Find the value of Rx if the time elapsed before a logic 1 is read is found to be 4 ms? (2 pts) Find the value of Rx if the time elapsed before a logic 1 is read is found to be 8 ms? (2 pts) What is the lowest value of Rx that can be measured using this scheme if PT0 cannot sink more than 25 mA when driving its output to a logic 0 level (which we will assume is precisely 0 V). (1 pts) How should the LSB of the PERT register be set in orde-.PQy}  e f g h i k r { ͻͷ蟚薎~zvznhhH*h^Zh}`hM6hhh[5hh5hz hz5 hoO5 hn5jh)UmHnHuh[h"5CJaJh!H5CJaJh"h"5CJaJ h`D5 h"5 hm K5 hyRj5 h"5hm Khm K5 h[5).Q   f g  gd!h^hgd)>p & Fgd($a$gd"$a$$a$gdyRjљՙ   ! d @Oel !'*TUV`abk|/67;H[ci67GM_žӾh 4hh5hhnhE hD h56 h!56 h)56 h^Z56 h}`56hhhH*hM6hM66>*h}`hM6hh!=-fgi-EPX$.134<>?DHVW_jko56ļȸļheBeh}`hvhE h5hM6h|hnh 456>*hShhDh 4h hz6>*hnhn6>*hnC hi6 7$8$H$^gd;) 7$8$H$gd;) h7$8$H$^hgd;) lh7$8$H$^hgd;)gd;) & Fgd;)h^hgdeBegd|h^hgd!h^hgd)>p67JV`fg./01:<!!'!!R"e"""ݿݪݪݪݪݠݠݕ݇vbbv&hDHh;)56CJOJQJ^JaJ hh;)CJOJQJ^JaJh;)CJOJQJ^JaJh#h;)56>*hDHh;)56hZkh;)H*jh2h;)EHUj2q2s22Ÿh5h;)H*h$B h;)5hhoO h;)6>*h]Kh;)h;)h^Z5 hXp5h;)h;)5 huR-h;)CJOJQJ^JaJ&hDHh;)56CJOJQJ^JaJh;)CJOJQJ^JaJ8P'Q'R'S'T'U'V''''-(D(F(^(((()-)D)x)) 7$8$H$gd;) P7$8$H$^Pgd;)7$8$H$^`gd;)7$8$H$^`gd;) 7$8$H$^gd;))I***+O++++-,0,:,>,|,,-G-J-K----/ & F gd;)h^hgd]\ 7$8$H$^gd;) 7$8$H$^gd;)7$8$H$^`gd;)/A0B011<2-3/303133344779q; = & F gde2I & F gd$B gd$B & F gd;) gd;) & F gd]K 8^8gd;) & F gdoO223 3/313233333333333344 4(4*434=4m4o444444445 5`5T6]6q6s666777777777777778888"8&8,8@8r8~8ĽĶhe2IhBhxj hBhB jbhXphKQhXphhe8L h;)6h5h556>* h;)5>*h$Bh5h;)h5h;)H*A~88889 9 999999999':(:*:J:P:Z:{:~:::::::::::::::::Z;_;o;q;r;s;v;x;;;;V<f<j<k<Ȯً퇓hBYhXphXpH*he8LhyhB6he8Lhe8L6H* he8L6hyhy6H*hyhy6hyh56 hy6h5h$Bh+hXphAs he2IhxjhB hBhBh5hB56>*5k<<<<<<< = ===>>>>>????? ?"?$?0?P?R?????@0@2@3@4@=@Z@[@b@c@d@@@@@@@@AB|BBBBBdCfChCjClCnCŻٳŻųh?Yhe2I6h?Yh0|F6H*h?Yh0|F6 he8L6 h?Y6h?Yh?Y6h?YhBY6h?Yh0|Fh+hXphXpH*hXphe2Ihe8L hBhBhBY= ==lCEEG|I#KKKLL2MN*P+P,P-P.P/PP?R & F gd$B8^8gdw & F gdh^hgd0|F & F gde8L & F gd(gd wqh^hgd+ & F gde2I8^8gd+nCpCvC(DVDZD`DjDDD>E|E~EEEEEEEEE"F$FFFFFFFFFGG*G*h~h56>*h~he2I56>*h~hB56>*h$Bhe2IhBhe8Lh hBhBh+h+H*h0|F hBYH*h0|Fh+H*hBYh+h wq hBh^Z2JJJJJJJJKKKKK!K"K#KKKKKKKKKKKKL$L'LILKLLLMLQLSLZL[LaLbLtLLLLLLLLLLLLLLLLLM M(M+M,M/M2M3Mhh56>*h2hh-H*h-h]KhthhXph0|Fh$Bh?Yh?Y56>*hh56>*hhe2Ihh wqh H@3M4M8M:MRMMMMN?NDNJNLNnNqNtNuNvNwNNNNNNNN O&OyOzOOOOOOO'P)P*PPPPPPPPPVQcQdQvQwQQQQݾh~h#/56>*h~ht56>*h#/h#/56>*he8Lhe8Lhe8L56>*h#/hwh wqh Hhh^ZhhXp56>*hXp h 5h 5h 5hh~hth$Bh6Q$R)R3R=R>R?R@RARBRERKRMRORvRwRRRRRRRRRRR S+S{SSSSSSS༸~wpwlhldldl`l\l\lhIhh{dhzh^Z ht56 h^Z56h>{h^Z56h 5h^Z5CJ aJ h 5h#/5CJ aJ  jh 5h 55CJ aJ h 55CJ aJ hth 5jh 5UmHnHuhjhtUmHnHuh#/hAs h wq5hAs h wq56>*h~56>*"?RORRcTzVIZPZC[*\\\/]]]^^0```aN & F gd1 & F gdK & F gdKh^hgd^Z & Fgd( & Fgdz8^8gde8L & Fgd^Z & F gd(gdtSSSSTTTT7T:TcTdTeTkTTTTTTTTTTTTU;UHU]U^U_UaUlUUU%V*V+V,V/V6V7VLV^VxVzV{V|VVVVVVVWW#WWWW1X2X?X@XJXKXXXXX YY8YDYRYkYuYYYYYhyh^Z5hAs h(hyh&'hh5hC\h{hIh^Zhe8LPYZ(ZBZHZIZPZQZRZWZZZC[D[E[J[S[d[\(\)\*\+\,\1\}\~\\\\.]/]0]1]6]]]^^^%^M^k^^^^ _+_-_1_8_U_`______.`0`1`2`Ŀպյ h(F] h1] hK] h{d] hoO] hC\] h[] h[p(] h(h[p(hIhI5] hI] h0H] h{]h{dhzh(h{h^Zhe8Lhy=2`8`c`|````````` aa3aEacahaaaaaaaab9HNOPmzהؔٔ$%&B^_`abcilnsԴԪ he8L5]hohX5] h] ht] h0H] hC"] h{d]U h5] hX] h!E]h1hK56>*] h(F] h1] hK] hC\]?r to obtain the most accurate measurement of Rx? Explain your reasoning. (1 pts) How would you set the LSBs of the Port T data register and the Port T data direction register in order to drive PT0 to 0 V? (1 pts) How would you set the LSBs of the Port T data register and the PORT T data direction register in order to release (float) PT0? (7 pts) UPC-A Bar Code (Used on groceries, pharmaceuticals, electronic items, but NOT on books!) (2 pts) Using the UPC encoding table found in the notes, determine the six encoded UPC digits in the left half of the bar code. Recall that Black = 1, White = 0; there are 3 SYNC patterns: 101 at each end, and 01010 in the middle. (Hint: first make sure you can successfully decode the six left digits in the example UPC code in the notes, or on any grocery product in your home.)  (2 pts) Recalling that the UPC-A encoding table found in the notes must have its black and white regions exchanged for the right half of the UPC code, determine the six encoded UPC digits in the right half of the bar code. (Hint: first make sure you can successfully decode the six right digits in the example UPC code given in the notes.) (3 pts) The last (rightmost) digit you found in Part (b) is the UPC-A checksum digit. In the space below, show the step-by-step calculation of this checksum digit from the other preceding 11 digits. Your results must match the 12th digit you decoded above.     PAGE  PAGE 1  Nה_aÕBKh^hgd^Zgda, & Fgda,gd & Fgd^1 & F gd(gd(F & F gd1sw•Õĕŕ˕(2w@ABCFHKLMSik{ƗЗ)+$%HW`aj稣ؓ h] he8L6]h&h^156] h] h=%]jhU]mHnHuhXh&6] h&] ho]hh^156>*] h^1] h] hC\] h] he8L] hX]hoha,5]5jÙęʙ˙̙͙ΙЙљҙәԙՙ֙лڰƢhGh;h"56jXh6_h"UhE 0JmHnHuh" h"0Jjh"0JUhyjhyU hC\] ha,]hhH*] h]™ÙΙϙЙљәԙՙ֙h^hgd^Zh^hgdG &`#$gd| 21h:pe8L/ =!`"`#$% F\HTuic JFIFHHC  !"$"$C"Z   !"1AVu#56QTU27av$q3%4BCFW8GDESbr ?DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@\33eތ4If6ɳ5R^H "p2÷B-LxJkJt&*49B\amfmR+=3~O5rE5 o G,'-Ѱ/ߵ+2Z?ezvdSK) CPDݜ,ͧz=~fcpv8 8cI#nln\FMOlNƸ>|nuXLb{Gd 7)]Ε9,e5cPZR-X⛨ї``Ie`%\MdRPaUa82#0&pf'trs٬rMK=\yD (Fq< k:YK-b[(rdmE8(捜%L8vk1`5JEk/lħ wq؄J[QHϳ ލ1֭bǙh퍶Fd$"=M~:Ԕ?S9 ׮Oik: sTh|5SSe|X:I,B|h b81eL!xָ[;+d:ɦHy'3yLDDYلYqt21A͛eS.2n\ lϳϻx[ٝF WDj,Gy&<.7UvsfaC3,,ӛ7FZZ)$'{%,p@1;J&'}g~xc}k"hv#5jZ"e%MqI)3[c rnsO9{DOg5pγfj8)6A9ma'f L,l@2A|^:6-ǿoOG<,ݜyӻ94_kS۠7vr>i֧T17bdBo۳DDE'  # dRH1d#6w۳AOW0XL"N- Y03ۊ>Y/mieS7/* ߖ}gO'~Zޱ>sE3Lf Si4@6lU8fc `_gv8ɷgv}eMỈym\X{IXגs-ɀ\wfٿ,|}On(Z;O5= (c7,hdλRD@Ezi+952۳{<}%394_kS۠7vr>i֧N|}On(Zfar!ǵ5"n0((ɟݿh_5&jx=ܤK,t9d.NûnvnŐe~rr5OstY&',Mmug,~Zޱ>sEwY7VcMۇX?vŷo̊60gV h^jVbߍ;8fL8yw~(ݼL kKo!~ͼa r? 3;nl-l7vr>i֧N|}On)U2I򵀟gY+8~: #rl/jqrxdf}v}횈08 w ͌7.WH\gigݼ-l٨ 6meFП!>B" (=%Cp*6IP(,"" :#{;mnkLoL"">{Ѷ?]z6 6I_ʍ~(W72 (kF"VTmw=H,"" :<]?$?8幭3ϕ#2C[" (>ѵUB|6 (r5U9׈b9u_EfʶA;3_eS'q>vfʧVQnd|}O`K<][4sre $@lcB],/[DD@DD+OQ$B%!3.qקq>vfʧV{Xv_#w#fk{6GT oNٹVj56bzӁG4DY !wYvwng*"" """ """ (QifbygV!ə}nwfvn7q>v~ʧ_ٚ*YD5U=lܫ5K1=i" ,;cyvh4)rLN[e(FFq;5U=#w#fk{6GT le8q+14cb}߄Yeݭ """ """ """ """ """ Q &67̝gw%M]VUK2Fc ^VuyFП!>B6;ٯS[I6;ٯS[J 6;ٯS[K3c|FjB`\"[8 5FӿOI+^YadBssV8Z`(wMZ'wݼLͻ^YovV'|k(4Jӭsun[ݖf7^0Q BUVW9X\dؖ2ݻC}_!`i:PդaawxizsgenhSthb=AVBR_ӹ qcMf[;/?&Iȭ;;7" """ ""wb\ 96z*x &Tùx'!?ivnشzw|FN VkS"y6!vvwmAO[ֲi9Kvg1q3Hq'w&gvg-a`t0x:L\^>ujEˊ1aܝfY'iJ 20r-ٝmյW8_T,>ѵSjpvc0RJ&MZ" (w}I ueB|^jO!gw(ۈfh^TQFګ/eګ/eQFګ/eګ/e * f69 @^8ɶr`,DAb?}o ֹgO#7u&/)Vhe0%gwl-Y][U}sL([U}sL[U}sLʍ~(W72umU2PC}_: }gah3K Td90 e" 3?2M[E=9[j.WNZ9@ڮR=/_tS7Fv=d[݋`%I!J={3(o9D@DDD@DDD@DDD@DDD@"?""" """ """ """ """ """ """ """ """ ""+v+ӫ5s^RK,D٥|/Ԛ>{Ѷ?Ҿsa~T1~Nz؄Jų>ۋnݟdw}I tQNӷ-;yU{04r10w&b}vv~#>4_ENo=$eYNgs2truyN ~}ˌi~-es:{}aje⡎%P,GVԜ06q)'ٸ0ag ?욏i.y9(U6dxc)q㿇7s"> ȸpz~M,qNN]gn/w7|fMo 7|fMo'|fMo kF"VVs5:g+O0vmRD6E6fvwfe(w}I uek52PyW'Xmǫ@;;~Гx6dQ}5k~;}5k~Q}5k~;}5k~Q}5k~;}5k~No=$:Jqs=j8GppUw6bn"5?OF[J, f=|}PJf\KMb[;1c+lwѳ^YElwѳ^쓾lwѳ^YElwѳ^쓾lwѳ^YEHa^+ۿX4 O ?,D@E?%a=||ۻ~`L걻}5k~Q}5k~;}5k~Q}5k~;}5k~Q}5k~;}5k~Q}5k~;}5k~Q}5k~;}5k~Q}5k~;}5k~Q}5k~;}5k~Q}5k~;}5k~Q}5k~;}5k~Q}5k~;}5k~X̅|׎0>*KH"K-kG`׶14%>7-j;^@y\ŏv3ۈ, rȡnTuaxZ)LX]f~ݙښ ‡Bpp߷Z^PͱO+ͻvm S?f/[ўم'`fO!3k%a-j^.$1-Rwh儀\݇rmg}Pjns> /-h1I6L01x2vs&#O7I2J2u*sY,Eb )Ra!DŰ8Pj8i_VH1wݾmUDDD@DDQԘoZ㒖jXDٸ7L_:lש$QyT, D f"D͗" """ """ "4t[k dCJX/94`l$RO#qp1;`Å`56iܐ RJP.-"vvXڴp 9qI+u4\-o>jٚj2㠐%tϑxJpXc`eZ;g:-X&6"īeq;o/si62? iֿ[Ί_- s@DDD@ZgB_ Gȷ5t%~<75i/~~-iK?H74D@DDDANo=$w}I ue4v?x/]l{cBSr֨I(3HUEXas>vcFܝ}35ri.+ð\' gwpAtpMGk0یSryl {nM6rnH8ԭ5X%/)"vgܠvݸ{6D&{gN&'hr y7uYF:l/t:l/ueF:l/t:l/ueF:l/t:l/ueF:l/t:l/ueF:l/t:l/ueF:l/t:l/ueF:l/t:l/ueF:l/t:l/ueF:l/t:l/ueF:l/t:l/uecb^pd" "" VrMe}H_Ÿg\3zHS9('0<՚1Iew JҰtSibe5~vߎQv~\G< ݜyӻ94_kS۫(7vr>i֧N|}OnZOqCnd]vvvvv;-J[QɵWKmˍĘI۵FG<ݜyՔA94_kSۧvr>i֧VQn|}OnZYD6ltn)A~wwDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDE22G4:'P m:ٷgD]> hw#fk{{Gg)k!u+Ooݶ|{|%\Jrj_1^ v6Q5U=Sڱ'dKPsLDH;6"&daf=%Nb'DE c'f&v}Y 7q>vfʧNd|}O`(bKKw/4QK0F'go2+(|%\Jrj_1^ v?;3_eS >؉ mmBH $x=ՄPsm~ƦЫJV 9 ;[l^-}ElYEOK3bl+Waq>?lhS:|}AT""Ȝ܉wwY#>%0<qIzߵVQ~ <3dٝ#ba䨢 "" ,}sg28 >Oݞ%lA;3_eS'q>vfʧVQnd|}O`ٚ*YD5U=w#fk{eF6GT lA;3_eS'q>vfʧVQnd|}O`ٚ*YD5U=w#fk{eF6GT lA;3_eS'q>vfʧVQnd|}O`*bC`%Rela?0GeUaf0Y)5gv2""ar3"qg""awve5,fiY^F \';1I!3`fRlN .LZw7z .MצyZsW6iH(l.C(Ô6r9ԭ /)Qgܠgݸ{vݷ&;l^E3Wɾ{84-AlXF"d$eeCLdRS]So Ôy\gb" jy=G,fPrYCsa(H $e.,GoۿS5hJ2XH)̤fXd18J'ć9.KK-LX%S V(D.Ą8&նp]YckQG ,Q2k2VdfN{qD$#!SKjYMUwMe3aӣ;F Zhf\flణf}*ۗ-kQ]00h$bb)O-Sd*?psfX+ISnm$#1Dap7sb3$}$g =*Aj"),Ugf"&rn߃xã""" """ """ """ """ """ """ ְ}OG8ew1buW_[K>C}_YAL +G?/Xfm{,B|6 vXbZZAG,0G ;mǿoΪ i}5zJVPF:l/ufz^Qh$%y)N7v'ݝxFQ?ndV|J<0^9 -#FП!>BuW_[K/O_< Lp,L?̳m (,ryϋ(*`xwyQa}.j5?OF[HgU}My^CiW֖xtfQDonʍs/ѷ *vXbZZAG,0G ;mǿo⨨=%CpuU6>+6xw,L^g" """ """ """ """BHjחw+aq6dյW8_T յW8_T,յW8_T յW8_T,յW8_T յW8_T,յW8_T յW8_T,յW8_T յW8_T,յW8_T յW8_T,յW8_T յW8_T,յW8_T յW8_T,յW8_T յW8_T,յW8_T յW8_T,}N ɘÐnL8ݿ+usg3?#7=۱(,~_x@П!>BL-acc Lg&aAB|6 N'R1U1f%HR98fY][U}sL(T?7 goraeX,C9 dby[~UFQ?neek1Y#44vgli6Rɧ}ݷټH6B|6 umU2 f69 @^8ɶr` Q'|k+\u.3SoQT # ;avdOSѴumU2cn׳b1C&s7wB݈*>\bwj*Nc߫VZM0Q ?eY|Q~nګ/eI#?YIwS:h'3E,otx[9a9 !}q6uU?q5+Z}7#T+ݽ,փ=~PSNMxvw3䌟Ƿg5?OF[Hfs!4ܫ"RB̢,N 3v)z6MDcj [5-Z1IY˖Cųmn:j:'JdjJ!bܳ'gv|̽|6J.2YDDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDLi=+{:k <=cb߇[n"(8Ŗ2P5^M")xmܷo j"dq|괢"i,J1nNݻ3#w٥|/԰]iBL^Bm* RVbw~-jPdR@ d#']؝7g ;DI9!8vH_q0+R?έu'D#5;ŀhz< ;ſf=˫գwOZf$\r#l3nݮk`DҾsa~X+ԲZ)orB|$i;nBˆ5lV/\d;G|{Kg}vӷ4bL*ʼnOQEr29 &agٙmȃ_ѻ] Z.9fzwnf55&*gV,OBx+e3>nD|l~'}Wl/ߢJ ҥ0C4d'3L YIgW;Ҿsa~VQK%r+ܯ*G͂F8K.;/oaCJ[e[ w+v;?kUxܮ&/!RCҕiF)+pp mg匶+2ң>=NV[2 SRiv\*y}8FDO33-_V^Fc xp0o.280lc56*/)nCfC$ H3S]+Gc݋b1b n;; dq|괢"i,J1nNݻ3?+6~eFJͅ_;Ҿsa~VQn4_E+6~eFJͅ_;Ҿsa~VQn4_E+6~eFJͅ_;Ҿsa~VQn4_E+6~eFJͅ_;Ҿsa~VQn4_E+6~eFJͅ_;Ҿsa~VQn4_EzLI Ù7!4C)X7rlDymJ3 W(i!rGa٤Og9]]XsfY:1-6i/l #\X.McGwC:Nv\v.]8ŋ n&;MQx^R =PU&9`36FB,7rfnA%_ sTa+4 O3~ hirgUnjj Ff߱]{"_Si&Yd&ث """ "X_ttw>=n'mݿ&'-4,A/&b8џ8\$/LVAno[Fڻfn9fwٷwnf58 棏c.[xf a$|,3dJzIjSTa,5s\ݘv/ ݙ ϩy}CXHbBL;;;;?d^U,WVu'ydX$m؅۱z""" """ """ (cVi]Q;Ը\VνW<\;E tgzo9/o{{&S=u>\\< ^7rl}5u~*)f(^Ja),[ V[Zjس 2ڕHS3p۰֥}g4>+ ?ŏ3dv&bx݇>5dj;2;$IY'a9C#lx8özZ!f A44I6g~p-Nѧqc3<ŗE۴[VI#MHMhd۴m0Bs@DDD@DDD@DDD@DDD@DDD@DDD@ZgL$h2`ժ-i2|ɂV }ˌGNdoi7uw\0gyԧŷuӯC^--"tF& Z t *b"m,MShҰdջɴv"}g~zT̴_ߥ?ŠTicFSRz6{Zfsh*7iT%#dox۵S4N,ǹ>uЗ}'A? h~[g|re}_o3ZtyHq<=JY k/7FFcgn&} 񘾙eЦ22x+n?M,K-3OR饇JR8e8 IJDVw_~[g2|ɂV~[gs\f:ko]vek샦ve5lV z74[?ֿ(vLo\roh΂roh怈i'tXgMapgw:U;p qm[oueFi=+[ZZZQ؟ώA"&b}vg~NJ5z-Zkl%11{"*У^թZ!!8[afffffe +iDEXc-ܝvg %FJͅ_;Ҿsa~VQn4_E+6~eFJͅ_;Ҿsa~VQn4_E+6~eFJͅ_;Ҿsa~VQn4_E+6~eFJͅ_;Ҿsa~VQn4_E+6~eFJͅ_;Ҿsa~VQn4_E+6~eNY Zknwgv @exf}DDA+5BΦ!%a)ݙy3>3HS(ck*ԶnZ򢊽'lfwwٗLDJ8{-Sܖ:e/$mɻTokRbic+i̅R2fj{O&olϻ+vDH̆F\uRt3ac,ptɇC #ٖ#ypf]Ww}=7ARGl%rmU:rq&&Av&vr>i֧VQц&Bqy(+P 11pHDͻvxJ_F]i9{Kd䷊U9=W(D fwݙ2Q2.10a{2rO5#˳jn﷓ǿg_}]_/ikK BH.6niS+3kJ!NG,.G$R0h̻6&y<{}t: l>#8W6}ĶAxZK[Nd*q[3V`ނy7~ff}oYZN>pZ6k*b24$djF,y7g۳lDO5=HFrb<,- F2 O0un|}On[e)+3fr02X=w g}ƶAtj95֚ӗNKxEZS3x@]gq_mٟo#-v;gXm,ŷoxVj """ """ 3ut֕j;%LU<03nYF3A/FZRq.L p[mɸGrgL-_{ZQZkV1)sa"wvffwujc,-MsM߫ k9a!қq338kxݜ:b5 :~7zrWoh崶e圤"RF;Gf-;6/ĺv ҝsSў]?!ZCM3x`GH.lR7,2tnq\JGC{9qI%TsF7 wS ץvZ\a1'mݟbgf!rm؞6oVL6j[5xZc B!bM n^=YȆO09>,Vj!hLdی\fvɜMcf''t%*Xvƍj ZNcBb23XrXեfwq00&bbf!!q&ggeΚ+EsO槌截VRX6`CqAyܚ8 75n] W]bJtn. WK6bAmj)a@_"؊NPA$i<]Kq:sGS+F ,Lű6;W\g)!H[PgG(sf d.vJF! # 6ׇN]]&:2id4|U#Un C(,"yi ޤD6×#831qq ;,L>ˆj]?=>qO w&,^c lC bfGvݝ{x/liyCQC,؊P,(34tq V)"}EBx]UԀj['Ppf 'x#>yjjjêk\9ATepŎ&nyo0bg7V UCNs=l݈ٛd6ٝbf߆itupKaq=a6̽\ѷ1ՖrB Y[`E0[DN -wIb,A'DχXgy73gfsuqY%Ro*3ךù@mٻٶ~(E"8mHrhYoFQA% nq=ɳt``ap7qh5{%@O3BeD[yCmDg='1j^.\Qﰳ24d 2;p q ;N> OgLu&h9m2a%+Թu*ÎhHH8f2ي9 /Vr4V)uk6qĘlsi!G m-݇N!pʚN^"j}&;4FjQAEr#g(a;|(Dey_v!H=& Hޱ=jZ0h-0p,:bsup\i"JB39qٱpwc]3LؓJӸ`mt۱ #g̭(\ $.bdzkU08L>N-tq)6bGe+v3툸fܜVwOw -?BB\Ur`{&Q9dls4Ԙ}8xA{LG`<|m@#!8c∭p`3b?pՠҷrNEX1DŽ#1s@ɀj0#FL, ]lK!J"jm!gU (CQC"De+ vk-mr +  =7~GrGڿsWGfQzچٶBdJuaygw'!;b(ccj\6Nզ<Z&qݛf8d-fv3l~kKkM._NS[zr,y^Qf. O*(:Bvc k6nrghWfSVRZ#W33 D l/WxdœEg)c;rU܈c0<ܠ?rLݠN0J;4dSe|79J:Gtf,luHU\Df! n8{wٻ7- ߉m;lŻͽ52ILf0Umդw%w+/SHvb9efv.a-YAnfV&2r:68y<6xdm\E1j\\:+#HRL\vlG\vX.3c\3?6Ed'-q[+LئC.3`v+ *,fLF$.7@6b,oZ* Evi N*Z'0p[Yܟ}XaeGgء44_&.W! te!989h䵦%KYlAʼn/[;w'rM!)2BoQU0(l}DkLZ'%slc;M?&sd# F?,v{ 3BpM1oh3;3DD7աFaRE4#qdO"Y[%5nQK#98 4%&8HBV֥R2C"(gvNXHٝw&fw,nyEGOR `{DFv~_Ƥ}Ex3Y|KM*Qa'$B<إ:G<`ָ&X{C5CK QqͱN[;qv3:5sK|{5oSb1 B޽xao0-li.~d%.F&efb#b,voAѬiÎgz3r 8}3[l\H}a:'FCczE kX$צ+1x?;Gs%0sPf{4Jap?o`2.VnfjJm{/2l|zfI.@8qXvvq^)&m9XIG6rIٚ3JLi&q7wPԹ?*lLx 2L6p[vg:;mT euxjy|1.yY\E }|K|"ibPjj)>v9S +lS8 g3;(nLoQd-^23p m0l5Lxfu1L,4س%7f9&I DYȝ@EfjhoZ%vGk.=C= PN˥nK1c.aɗرތ7eR>HfjR5h,\)$Y׵[ Îj덡搧RSJkA% <2-M$ T-nCq_0wc2 IFPgei]L~[ٽ1W4#Tv㤴JVj' ݤJ yGf3y7C0$:Q%K1ձjC[ZPJJMEX1L uPITdVHD5J4:%5`&;FN' c¤[>nr^&Hh3RO>cOq6ۊ"=+cWsd)8ܒrs(1J3Zѥ./B#y%F@kcT,(eITH[eili""}OoޥW`3@" !bQeuL1KI)&R222>2 'pO*Sc0-Z$UD^A;x=$t˺ <~crϿc~qɡ/Am=8Y/ 7,}1ߴwą7{ <~crϿc~qɡgwXg3ߜ;p^o,gHg8Y/ 7,}MXg3ߜ;p^o !7]͋08Y/ 7,}f~y%#u <~crϿc~qg Ihf@FwXg3ߜ;p^o4r^ :crϿc~p9xg߱8oٗ crϿc~p9xg߱8?wą7{:crϿc~p9xg߱8o|w~W{c#;p^o8Y/ 7;x=g&u <~crϿc~qɡ^f;p^o8Y/ 7c\vߞzIc.uy>ú <~Cg Ih37uy>7dW;ۦ߁-JȈ+E$e#H5,y"ȫ.8ݭi`̍[eP+##$zf=13e]_O&RTdaLjQy""3?H5ǚ+2KrkJnM/fI.Ǧ6DL*۪R&[TQ0u&̈i?%g!+7Ưiq6,˔K\D4&DieQ/Zm?({gaqj*3=\l~/fZc$Ң222>2㷎Kypu3ɺ/Dlyi+ٻBݦ5еC \>hMb>fIu$vBS{YB{8I-Qs?f_T17[w:L:jSt^}&\R%uYb#ꓤ~nvآݦiSo;BF=H"Ss\mg3ԾIZOEu̓|=`G ۤYm+"2%W ȕZt3hOJylmʏ'd)-^#پSHWz 'T#F@*z,ΥeC-'VZTFDdeF@;"#8C3QꥩFQYQX_,g*a^6o,G3m!s#l>72#bR̈f(բRZt" ?qĮ{u˳;^tz,:FNG]40kɁGON\zg=S/gRI-SgH? 3k`XYIT2Jq۝SիQ$Nf_T70r2_vRt#ӝۮ[ܭ5j~Q"Ss\mg3ԾIZOEu G|HSzHǻI:pO,Ad1tC9 dFDJR_~QT|>&qNmyBոi=RYS8[en.T AYqK>ˆZOT*.ˬgu)tˎ$3F}ɡ)ħtTI-){/[nE#22>#_~ͦh/|H`~{cBx x0xʼn Cm!%PJHZ&<\\Z86A϶ҺDl߲SOz)Iux<ɟH;zT.zruj=T(J3333308H\HFŨ;dX3T?5nlYU)Gg ,o71+e4G7 '(QDEׁϥGk|Wn=ٝcD #O']v#îuQ!OuMurFdץ:zW:u骏BЋB" |UV[{g fKOG}.naܧKi^W[U /j٨eOyo@6е@!%Im"Wzf)1Z8HikbJb:2Sd4Rfْ'״Ӭ*Vڎ]^KK>:4朎Ē׽Ĩҝ2QeEFk6j[h%2O W9$bPI6.D.&kf).RAk2%ԡ*Q&gBlK$:)[kqd RԔxLD]fq{Ʀ#[{dZɸu۬ J ja.A'Su;cW@dfÃDgzI{`V= .S2<1yIoJob ҝ2-fE1 [I8T2Iy8i-e7}fFgM B ՟;㾛Ѷ=Ha^#"^3w湝#&+n J$TZ]5!3p#|8 38w60g>Ló\β{y^Ҕtr*!'~v3?U-ŗ3GS3n;c񜛉Y:D~Uc{-+O|dIIx<~\,3@f~\,337ij~8/ij~aܫ_~hȗb?}p#|8ɸO 3ĬL=?*֥͛\3Q(>@0s7r^r?;u6+z\kwm:65IB7lm${RDfZngꆙ46?,]/IwHa4۷h4my73܏g?1L/s\{yYTtn*K-Gm ^;}c p#|8ɟxvkO~22 ۚRNEQ|$^mv,,Mf~S#͸HiKrn%fsflUش=!E%'e ʸYg둾?r}o #;Mf~S!nGc3Zɠp#|8~\,3Kر<$w "c880x6oZpG3nGc3Z-;&;JXNiɲl3m3gHΆJޢ1$JR]D^(r}o2<<]I&FpO^vfu]t?4޿7aI 9vmo$otɈe.UyeGQh"S2מRJ5sN-]Tr/8 IBb#:_zHLisHVoc!C%5m"޽'r"aEAU4rX371w$nIOR=HK /QSN2M 48BfHB/4ؑffFfKIu[%hYĕ*#𑤌,LGD߮9 eҠ˻9R !;L5 ę DfgHxǰ&M]8Cnݛ %5\ :8ltxW-IBuQ"-LĜj48%a{H{""LǤ$BY%DNOE(/ 3\S{W'<qOn\ò\S{W'`#;%?grOqOn\Y<;%?grOf3\S{W'<qOn\ò\S{W'c\vߞzIc.vKcpj57;#qO(/n;/e"wG섕򹮩{7tbݦ5е@50nggU?\3|x;> v{ٞy5כM^ِ3ڹ?d7 O,FvKcpj3ڹ?.)=xvKcpjgd7 O.)=x 03ڹ?d7 O,FvKcpj3ڹ?.)=xvKcpjgd7 O.)=x 1ϥGk\S{W'#Y]պf< HL8ȍŴњ_7B%YO(w\yWG9)!MK4VSbFFdCgEg ln9itIk2G1J܄wOn% \E!ǒ4MMTGz9#;YhzzԌ=1'?T0H NZl'V敧I3#.3!X#;V~[|02ZfyȎ:$oFr;[N)JV%hRLDzgi`,ĝ3A*]{fQ@l&6$nJ-E`#H5ϫs?c-{XOQGB%'jdӼ9M,CM ZdFpw$gbNψx o .Գ(cijm YZ7lq ЏR%Fpw$gxչ =<[1gMXvm˂OHb}L.%2A&m8ZR&(eGѺoyf'Ə ٹ.sN284m4mfj U;F}^9ngeαCMy5cG61VJڧ[#"3>0ߋ7s5`,Y5u}>4HjQi2G!Hl>AL#-wXnY|֪~8~91kDz?8l@;r~S:|&켕ō&c5,:r$ R"=5b3Kq#߄؀Ni5HE-̻Y ,X8ff󍠒Hag֭uЈQ@#8=MnY|֪~8~2>.߇9mdI3B9O=Z\fjZ׷{#ړ2#Ar#8F_Df<̲.5dsyȕP^"7kQ$ȍZ$ȵ=1ov>nY|֪~8|WGwi< J>\Ij3LDF~AgHg,IVb gQMGq'ꔵ8f]? d|TUWfqҦ̐Ēy/BܵiBb/ͱLcq]pnjk6ܵBIX%DmkݗĞ_d~V0S]o*DIdæԤ$TtIm,Ү8k'^sb̵a[k)E Qj#-Kdc,,}󏋄6W\AgToU^ڴ2=FC ŔgD42C왎uPIZ:ER? `3 <~ Um),Y$o*y6W&dz(C1ߐv͒tnFsQdn۽EMO0FwXg3ߜx2W(~?KKwѱ~Hn[vvM|:d;h10⓲;hc ,V "5h#,}YoYin67o;9kvأۮiC (3w2DRZ[grq!*(ӹ-8dfD]錀#;V~[|0HFm3QW%v.'i5qPn-u3Qh2`n+HT \plDzQ~c!U%lk۽'R-Z/32ᇍoD3l+Ivf9>M5٭SukAFq/vÛ/]uq\)(8TmB$bFwK>a3Ōޮm%]6g"}$رZ><\aiBuTr"FEe|g*H0c=*\~{,0fZԣ3"".33^9ngetso`&xi>m[}}$Q]ؕrm Ddz(22g!Ί<3f|XM&4Qtcqcm,lYyUVsǯU-"H䕜0>ICDI'!g֤(UI*R5dd!PeG"Fz{> BW^lJ|eD^aq UZiQFI222221wK>`O ѺvlY ^Q@ܨRy8RIdGhO ѺvlYWqn%Yɥi/Eux8J\n:Bf2Ԍ;V~[|0poI/,yfKLݽC9]dGq+i4۩JҤ IRޒ^-,YWqn%Yɥi/Eux8J\n:Bf2Ԍ;V~[|0poI/,x؞OQGB%'jdӼ9M,CM ZdFpw$gfg!α;RLMԉܥ]G6w-PvIܦ"#2>/32Ⴃ~Q7 0cGΛۗP\J7 d6RLpNLPʏGth,Ifʟ+0\h,MCCm!弆DgϚFDD]}c#OOGѺoy`&qX#-wX3e]_O&RTdaLjQy""3?|]d~i?Zߋ7s5bdL_g*-LW4[\԰UȒT2懷MHY!.Ǥ~b,x٦B/@wMf4VC]vCSZZjQ<^ܲ?4TpqI(,CJ ~嵑$΍Q~-Y;zWDl=#iH߷RݦtԵCʼnS,rs4W2#5QcW䗉HzII{#Jc#w%&11l}J\BWZ\AGQ51Ittgxd1*XN> eH[NW+!-(b4ZE3@da?f^59r<Ddw3"Y%j#4 HFp'Ćw6,b q78=,J,_aq: HRMzDddd}dd+;p^o,7%ş: eD]Km*YiQu)&FFF]FF.@bnq 1dس-XeZQnBFZR9xg߱8 ~2YNAv-PYfEԤu(3|/8#ind <'3 ,uJ_~AAcrϿc~qf1 dac1[%CiYH3AdJI=<:yFF嘮/lu3&v-nNx5/({p^o,92 9\r#x;+~Hm+)Fh5 ̉Z)'C/(1͕nYDճS'6"A;K$Ehz(/32ᅘ5LdaY[7?ḣLVm &=?,QG/32Y<(1JOEuyhsj}Yj[Q( gƬyXE?*7C9k=dz0Fqåڝcv_~fޛ]Ż:̸Xɉ fI =\,BhԆMfkoy̿>_@OnMe2!dU$ޓuD)'HQjFOȯ+幐fx E$lvR -INQ^Y339^SYadMeyN,무jR\4ɠ%4շ#D) &CӹmDThe46An>^N=jȷ9E+i0"5GrB\=im5fCM$:yykb^- K+Z:RT⌍D:hJ%jfT]T1_Һ/*il٦[u؝k@+}a[ ښ9h.NIum$HBHxy)]{6 ؍ RgnD[Afr^cYn]DY2m+uD33$S3Q(nmߔz7M6g>qF b3K#? 03cֳ+r ~maS*\u[m֔KB-i3243b8r%Ta0!j2"#V-t"- ĶPv̆Tz(Z:ȌTQ_h7#Oij~Yr?;vVE7#Oij~Yr?;vVE7#Oij~Yr?;vVE%Y]nFnئ2ym0|)FKe~ޣ;ɩ;/%ƆK 1<,C-[ԌMC܏g?,gij~;Mf~S"FvVC܏g?,gij~;Mf~S"FvVC܏g?,gij~;Mf~S"FvVC܏g?,gij~;Mf~S"FvVC܏g?,M;T鬤On:IhENϭ&zЋf 8ށ6ZuiO1hAjSDDZ2k <=ɫ[4vT$8R}Tk>i_޺Zesn҆ZMe8%j J5I5jZj<bm2'AFm2ICVqֵq͉J7F DꮤY5u}>4HjQi2G!Hl>AZȮ4,ZϷ;"56d4L*2-AO$ͼ:}[35"$iqZw\S 4PO4ڭ(.<1=nV LSB RME=Qj]Fe>,j-sm5:\%D9fZet2Ԉdܯ%ڨ9 AKAr^A4JN΃ n+c'V˹{2:2\`A%h%dd{KT%Dngq;shKNU6,nHQ{Vx}9+82-m6v{DjڐNHi+/ej l|) Jz-Fڶ{Oa-NM=ʝƎδDzKL)I,ᨒzl0u KoirRgry)w&X&&>f!K-Pa-:sˑgd ܮDun:vC.oH_GY7ҖCRe+Hp.,#7*+cN$h#-RdzG+Tq R5ՙ,B]w^ =5. Tcn!Ucq"4M6Vgr$5ߓK'G0սFK5g# 6D׹ٱݰD+E̔k#2Q- #4*0`57n!)s"2m.JL.O8EW<gBvlfo&!MiIJ=W!N35Zj^[ 2ꢍ84ǢEˮHS1Dl =IΚL'y\q-`5zNœ|PeXdWe8TknMĚuiԒԸm)OF\+|7.\Rd d#v&6V+9Fx(sS=I'tB.';.KtNM?kk{#5S;଒\̣\bQ6PսQXȖҿP>. cv\Y{PNG  IHDRsRGBNmIDATx^{}UYU̲0n'c!xCO2)2/IBa>]TD, } %BZVX]4:i7p>>9\c7;X\s91w[tMS( BuR@!0FȱB(&(rǢ( "z BC$>V!PlE65BCȱU@Mx ((réj!Pa^- >pZ@!a9n؄p B">V!PlE65BCȱU@Mx ((réj!Pa^- >pZ@!a9n؄p B">V!PlE65BCȱU@Mx ((réj!Pa^- >pZ@!aꦛn!V6s={:Sm}hDz:jp)K¤OO繧-f3\&A }piu> 3Iԉ!OOv +x2"ɟ<&\+g8+,]׋.3~ts>sxǓGuN8"5n}S#hwgy9_apS"3 z͘`AZӇg1 /M\HL'g 6ysn3~*̶888vdP_׾5y _G{=\__kV`3'}'1d1MXLMO13mc3;l~S52Ԍ59/ѡS (Xʳj whLjh"Hː>21]E5 z zYYVǤ8 wAZ]>35=]0L>*qǙf3V#]@Gʃc߃>VwM_Ut//_Wƙw]DG7zЃp2Ƶ8Sc]ٽ 0|7|CqW:|+GKOuC={ƲN=ҹaE3=c_y[zm=yϸZ&xVDt P|~eJrmiVY~˲ef(=,S_MrVm# ߩ)r)$Boe9N#QQr,ɱB[HG*3IiNI=(UB87nk6Ȣ8#9* j1ɌZ]cU(v0(.%p=wE2h!P@PaiIq~F*ܶH@XT9d֙ٺ(B`MgZK QysTF$ `Mr)$-i͞:Bf  u ܃+d+dFL"_NSLWOגjcX]&4ɟęlޔ7 ag7%MhJ9dv j(Ej:k0Rc%3-Jϒ-Rm:W#]qgFRjyzTRE1ɔ }oa x+^1|JM'6~d=>3 M5gg)L'PU(6 $_<h xk9yIgW0Ԩ7.;rq[{RGQkVO怖TS5ql7}]ylF5GK[dּ)f9nS8~L̥VaϳS'H8㦭-Z۶=ly6GLqIlNߕTqq,jds>:סVc7`keϳQ%~ LњE[.}XשtZs\6h=dD٘ɖPymLd%!~iRҸq+%wqW~Wzϗ@'~)§//񩝔 y '(]!GҵZ˾99ΓE[@<u9&;d$ȡ6ysr&Q }KB4&ў_DVVp;Núg>zEƿ1Ƣ(S4t/-Ds9G}'Z3Rj'W+rjpءElsёfp&뽝!G(ߒp;Pߞx㍓"MğڸX_җ@--| >:_veg[w=X#xq.R"9B$ܷfyWBT B`(rY1  [E.~ʋg y|ܿygkruqz|m w#w9T?`ԲhI1n=3ܑUI]/'QvcBwjsEx&Al{'mO\œćS>S<كQd=ڔ02 ;T0#RfqL ϔARFf5@LhD>3'mI3hBY⽇ KM,rV)z}̋VuxaHVԏ-COIkXCƴ8#aSp_ 1fS5dޞTɉr@Ul1GQPвW>@-,q%tU[qL"-<9f:r߼R'ɑhj->bqA`[XAPTl*H2m r%9Wu Ba*q Њs?YK1gAsۚiN 9ĚcL$*2܈K/DaQh!,]tǧzi{59E񨣎>5\39S(ZeJxF.ȡ!YE[9"ǙW/lg:e@뿞)1TLp8r#vh>]•|,b+`|`s#l] #Nq|o$/sxD~U3/bD`1{0:cwe1elg\C ڥАBm DE VPuH JZ Qާky:cskQy6DzdI[8~6YrGEk+-dY/gAp+gNg_q9VkJkͶm/e1:74J7Nv ;gY4Mel #̪dk)LLeԯSjDVMP!К7Ta֦Tٟ ֜U獨)xlL6AmO&={@D+G>D-o|#fK4L `\pת}kcYI'd:H&C믿>=џ`\m<_3dS+ndfqo9OkZŁjfK92fojTz U(:*9J:f`܈# &vi+Lh}s`kK9R?UCiL@r>s^az/ug-jc,6GnjyteOt>]=nqrd!P7V|Xם:h9XZsCETkC\Vg5U(0/&6ESyc,V]V(6BqRmª|e?qYǭNUG`.,z ROnխy/ܬʹWsi|Bd͜Э"ʇ議&E2~~w}sL\k.]\?q|饗N|h{j wLäZCy*KZaU-5qVW{?мe=;.z q׷pλ/B 'd 5b<8^籔kBck?quV؞[Zշ X v{4wk.c,ގPv +d9LGD(쵇JDƄ8ηnS،=rJt2~o4$}v9^];L4)'%|,L e@!92Fq#e[H|M:q%S^㤡6ytޅ()")l0$EJ1h|o^R7zU0EȌ!F.[skJvʏэP[B0 )HZGd4@GfNMB??R֔t?ඟ|KnN=^Qf{n})rŧt`@fȱxO5V[-騬cUZ ra;=Ui)̒VJȅ$P` *RvS8M 5$X5#L9;PwĀAQΫ#-y#*-,d89v44#HU~Mկ~uiDGm $Wҁg?z~sr2C%;PG1>Q*̞҅^%t1_~ȱTg B͑iVsf~ ( HcΎC|yNiU(o.}ޝu$3kwlY}>ꨣ}w|JFd6-qP # }c<TyW}#`G@D*o䘋RJ/ QZ!c\ّ:Wh0(ndžϧ?|er3 z2xVU-aRsQE{l-bhЩjsܟutг\!cyz(褃!Z7g@ޮS?taD;y]zhhD+#ip=Tmͪ8>}fR~\,#ףC"Pm$huavmpq2, $>%=qvqlɱps"IO ={nS(JK 2W±#%oU dv>!Z1 {Mj򶥊?y;BhTpH>G}L렭PNw僿 }CcV{g{>Ky,!29)qQ'{HGzjݦQdWe19flZY"LcH|Kϒ/cRp, cwUOz_Њq`,Rɽ1Җd絪;%9,/zыT0z~_B! dn0wS%ImDrmq.w; YH䧜6i%L45v)Ld':jrƽLpO;҇ɫB0XdS-K(c!,!I ld2KW 71aTHncSuCnG(OǪQh/|Ǹ2q)ZN=X+yW;p>U)[F~ȃMo ({N~!ͬONCI:Bơ,[B6 /wGrOǢg(R-Z^E5Eˣ6,qlX7,E,E֚yQ~lXƢ$besܚ[;VzZyC @q"f2GZNG⵮4'djs&9zu``#8Ag_g8ÚCdP̴U6dhāuy"*%M1 )<=x`ZgJǒC$>9k{bO܇[X5 9F/d~>&qu J`I<9yc8FCF$Glpq/,&ӹHvD{אʫą|+m$R =iݴVLkX)^q_I'gN.k4(u{01Q\ͧTb2D6Sˉ6r:2-)VsKBu Im9V1_S/:KγcgKfurOМ%-z~J‡@j@ش?=9)a)o}[~J{_^[-;#](8m[lctwO*d97bjP 0}uȌK 7Ui*I?X(3ת8gq^不k;|ʜB==[ #Yl{8}qnwghtê o_OH^+!3^ icHmzSșvđx "L|-bJxR"ǃ45B1w *ةVy:gMτj2[ Y<':9F¿Ltx| E[g E5s@'Y_HqېZezՔ)NdjCp).QrSS!Pvv*Vbc2+y ]Z[1ږ Aoxm˫Cׄӭ8VK..bcACL (,eh+{n Z*l=QZkxYף4H#L1'}j͋hLc4Eʖ>PQwcWFV{[a4Km9&G6szl EN@Pj5ײ'E[yJOEk ]B!F1&ȔoFft7NjC "o"0§=PEnf194doFrb>^TțyU} Z͵<˜/O@XJꃪz`ٰ@F2+7Q3Z)YߺPI eٓ:ى[Hq1I"ЯxmIPYMoNԷ%b[s==̤3 q/++q Fz# /vaQMc`c{% ڈ* MotY`Xr"5c#Cd6(/9KGfCk}vq 9 K{dv0^dFB$8aϞȮ8^vBoouo/L9S{јB3ΘqS Bȸg{ܟ|N=%9Tu B`(qkS>nٹ2Nl(?M0+hrIǜDTvP3 S Z &v Es%;!Lj- W2'zVY{tYtdP>.tJlBe[Vd +aۍO^ˢ]՗=afX&:ї=֎}.XXO~X4}Njֳ5cTɱqksL~ Z 3&G˳Vf3Z{xE]r;xr\Yz_#U%p{ ,G=巑MmZ`/F9?8q.nYO|"j5zn&=3%o3Р9խ9ms&j܈fCSnj 9198L|h_R akMjvFzg+qiTlQV@M!@|u44)#"@%j˶9ڠoo@:/9vӅ??<"xbH2)ZARE cɛ%0>ZLyߕ*`H8'&l30 lϻek/rLPK-I0فheO%;R"[y73r3'7s)#>e/ؼAxg<|h$ tC5:i 9Bv=BZgq($㖧Yw <1h(ByJTʖ,;p֜U昦9H/UoHgCfg3^qɡ6=k#&_85Eɰ*fvp%Ƹq*C [ 4؀[I(v bc/<҂QrH,O1 ?'8Kڂh`9d8#Bצ8^c@r0M0G&i\2u "p`q)U( W>|2'dŤZ݊;#N-;RBnZwӝsN+mkV#z\uUTPELR>9 9rYSx~Gc-t[r@%2q.s VgiO{61>YK_RSɢ\)a=d#*nlc|1k†,ySZ̦Th8] Ng&z?r Rߜyr̞eF;z[ (KHey0'4+nGGHx~uzZT3V2ȧscLd\pA<.nw7(ik+nhVWGo6tOI&֫.YcDEl( )EO`xM660sfY'4N|'&1[d#sRrYJ-OsOKY`Py??.|/h5έ5RG8.> AM#4N3qX\ _nDEA1~DZ·L'9_aǠof<:P:h/ѩ#P3:qBٞ~f7KJГǁKOA`? <"2d7 _kpM:/!z#sC t.BHއ_W|Qo-d4QE=B )p9}>ttѫLg9kXTd`FļhK_V>|u/=EKbD`~m1}և#Z 5v\Z6D̂6G6ESN9%λC7:#]%Y6"O9{{9K.]̚cɻП,'6?ĭo$X;,[u譶mm(aN-Q_9zmȹ1<|1}=vz-cG%qw=*MYfM5S%RT~ݣ7ƙej<|.Fz0.9~P3@t'PJqKla<0M7RTfJޙO6w@+vt/4\?bV =w:{=AT0{8fd\gBI"KZ܎6cەHjck?D){Rl 9Tua|@`=}#r~MBuТ? xJRLT[<0L{ŮJ-Ip@R'9-1uZ F7LM*ǚtVg8N5T1,Sf,֢gtޓd>劔X!#Oz耬&dԤap vO$:|t|(P{u1E Ԓ?|mxa2g2j趓5Ǿ^&vZ[lfM@K~S\,oc gA%~LBLڴSڳ&QpwynYZK6s hɁ4'kqs ZOo<9T ZW!)H&h w$ '΂aճmb^i$>U, gBG׊dj[Kˆ?sLbulhqk{(_6[I{T{V]!H]Ê"0gr [8I9IrqT3#n$OII ⾺Z@OJj\²jQL > \5ysfd1yln.eks,&&smୢMADE̮N5'z[ DEkI>Dm'$\9/xZh5ȊEr1+?<9?eZ\dF믏XŲ #X 䃒_G<ו]td{ L#[ x9!Gɩ7R <ž=W)[Of>}1UK?IYOjR% 68 /sKM(<˙'㐏Ec)g 񀗷dB((/ :<3X9˖:{OAkQzJbJ=.ez}ع\nHA`D. g=6>^vc^ф=:}nquCc u"|4KJˑ+"/\m=8WyD{К^XT9yulZZ>}NS[;ޱ @8LUu26ͱ}oNAi9RZI@Q Bl9'EGgnoݱ/Bg{"hL" 5VS6g-3o-^y%bkA+]j(Z=~ZvErlI=JͺfN R^n-LpYbH")F)`̃ A=76L=m4ŖJve]B^j^b%OK|+ db遷=XiYK,JC6c}"H;]|^+&BykbVv5pS>#cH3LH6 =d\%;^Nw)OO^x!p=:B 1K.7ף5n'NSZerbR'ZP8~BvMU@xysy"gٰVgBü][P1/K"$ﮘ&PS޺ kΰfr4_|1*jyCpĸh4\YϑNV֙o3`8LPL4dh}0)x[lm'0)9lyl8>3)}hɪk x.#C9/!8񪫮 p%oڨeT35$M* Y3 pq28aWU5e֑b$K ]CՖ~oAx'q7ϩʧw1сʼy 9F5'}YgN~<hK Kp{lyRla¹gvv[Gx I'$1!BƮL|Տa& N& Ÿb\|if0/E6g8ǵ+1'Cp0ю2=FgcO?#ΑTR4_(9Ѩ08P}9&th$ǜQ)gıY}}WZZ|Iy6Lj{|nHk, !l?maVױW <裍HX-/jz e(^ۘ{**jucb9WU]M̅qTs06 Sfn}gS@"&zHu`v0%C5ɱg>g{Q#O[ΙdfMEZ2,U2=?9)zC\Y:G{ 5$f&a%gFPfEfrT+d\*?Yd[MX6 ZALrkI&jT$^Ss JgE8xE煈Q !>[Wa!0.:X$ǜU_ mr&@Aı 1wJ!mܫN, CHAς/QD e 7foζ%q푣hdXHvĖ>DIY^;VSC,k,Id[8`0/YB*s^:K"рrQphHutfΪc8d"C1Α[2Q-ƖP /)x;̈ۘg >$G 8tZ=́[q![fުV;v B(i^fY=D/jءj`H͜M'߸*sTtg8TtBIZlPk#經2IJYgŧy}[UIaxKk^zRŵGeQszTjRVOϽZx.U{Zf ۥcܩEOkzR8h.P9kmwj ((\gWQEt? N*ü>͒c8g sr$kJ:rȈC4ڪ龧{:+cksLO2` ?^J(JjD&=vS(,X̖M`6|5 fPrdx+&q&cr\%zUvEr ϯD# 4%$;DoPN9 <ƺ]!Px3nW#%lʉ.˜SaA"j(=IWW N>c_fW,Қm{m"?@!rty ]g=س 1f.;꧶Mf͈wj({epB`VwU"rXZ=K)y 5B)(9GM0RZm1!ǝB) @yT@ B`'أ{^5& N)vX{l' B@ G-"jRESrlpO0l9W"Y B`|qDž08jdҚB(fأh#EP}Y+9FT) B`49n/r>'߄)vA- B[]A!P1w܀pAOy. B`}9?j( ZP@&z(V"PP@&z(V"PP@&z(V"PP@&z(V"PP@&z(V"PP@&z(V"s$nGIENDB`XDd hb  c $A? ?3"`?2(}# 3L۳1 d'7HE #>;? 0R& iB dnpenR~CP!*ܻ1dv#إF\x p@c]NMLLJ% "CX1xYg^AqDd 00  # A"a}b}<=&@=5}b}<5i-wR4x\p\ye3h{%"R6#d| [$sL+Z{(Fi .S Bd02m s2@` Lp̨}޻w6}a|2^f~qo`u;u%ڻKۓL%&OI~|s80 )bc#(ſEsjFeD;[eOYF_[՚-3tu֓0Xg+ 8,ZQfZZQ>+:jI#+lJ1bSh(Ȋ)՜tVX{G7^y=O[}Х _~8ey襇4{~^""8NNٞ}FA؈ 6YS7+1%k-s)mـo2XݖXٵG6}v>G|Н9i3>|Y=L؋l~JaI]$G;Wc{ľ&DzIҦt>Z> kb#ksȚxiP5Q)Fl Y4E~E5yiIb@Ia|5q_Vֹ?M§Sέ?`:R>QXƄ.ic~tIFG\τ.Y蒕Lվldz8o{]~,\r&i9[냮t:t8-J ~".l<΍"\EQl"ՆFLjZ5ٳ_WMcǴѬU1;BiWMYcvӮF`bCWVI4ɋ:0/2h~h.mFeZaN!?b5hˏATY}.kt\bTUvyC;諼vy.kn4AwhrrPWs&c]ڹl)":,ͬeG@Y=_3k'}ͬkϬklmŜ,0l< ?1Y}JΖk*=GqQ|#Wz:bz;kUnnd#a3211~FS FƐ.dfr>O.ŬQe<-~j~>oa'ˤog^mЅa)ޓbX0d2zcp)Xr:XߝOOK vђ{we;};Lb>ݔWc֮Y S>G)| %&_t YMĠr<8?kÓ&"f%gy4I}fw7xQ5gUJ/}Btx݃/~kAįK䑬\8"7jMyi\NȂe$,aj6wXv=( _4zq1h9a}'0~iv:OTczePt7jNmڟ.B,M}^O "M "?ASA{ u)e?߂ x݊NxfX5Wvts#\_ee &!ݶ#m'[=?<ɿ=m>~L>K3ۗ?ilħ7)/_.D>NߥK5}y>Wf>["żwz/;SKUmr!~Jim oWW#kD ׈4&^G>iLL eߐc"2'z\T;/ )T/wߍN yu9O2DWzqZ$S;CgODε< dc=eުLE%R+WT:د~o[5*HI\dr9>q22yyp(q)#z^'$^)~ ?>}hǔKʅ+^  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root Entry  F%`Data =WordDocument ObjectPool `"%`%`_1145886268F`"%`pI%`Ole CompObjfObjInfo  FMicrosoft Equation 3.0 DS Equation Equation.39qX>dO f=220" 2 N/12Oh+'0 (Equation Native Z1TableoSummaryInformation( DocumentSummaryInformation8dFA6 dp}P_x+TFxyY/i:WT:(= V"kհ%#8؛{ &$WB=S#/$6>{ˣ=cb6^o3iO1ӐAYy%.cxik1 Y%$k@̫DS^?V|s- Kt.xY}WjZԜ" #6z.:8)uG=.'%|ƏNKx{x:_gC=h&{sscq $99T0分/3y2/k <1?Ă9À&ysb'4q+TCxyY/iޥ Y{4C"ɇ[nE|Ae)b'?aX0eE7`~,/ZE~jVyO{ o0}N>b޹׷X<3^/}ޠX?䴿y(1 >4wJK&8Cw~̻WX}H;ehwoVoS` ^q{&zAOɗzZ7HE]+`e_=t^E2*\Qw}m>yEDc9dQxQ=۳BnܹZPO1Gƫ1f``b:a֞yws#\,{ך'No?oh O_8G^5m+j8& <oc:)2cukT?5䨿˭xJE'GߪL2=y/[qZ0Ql/ !_ꗋBiwoE.}K\|v؊1|;l63"κ|{ و+uEup vn2o])ͷF{_Dΰsmfn'B挞&=fxn@,3}0ZBy58_)+Jy#TVtS>Y;_BhfCH )D XłqRϵ'Y\dfw+lΫ;ʺ07 S`ǐo y 2x78{オrzxQڛZnRՒ>Q_jglWd%V-ՒڭZG[-w;ܱg&Fo4 T ` l xECE331 Microcomputers (KEH)Keith E. HooverNormalKeith Hoover6Microsoft Office Word@j@>˺@E;`@` J՜.+,D՜.+,L hp  RHIT,W' ECE331 Microcomputers (KEH) Title 8@ _PID_HLINKSA'Lhttp://mechatronics.mech.northwestern.edu/design_ref/sensors/quadrature.jpg     @@@ NormalCJ_HaJmH sH tH DA@D Default Paragraph FontViV  Table Normal :V 44 la (k@(No List 4@4 XHeader  !.)@. X Page Number X X.Q fg h i 6R 3Pk LeR9bSp)rIMNOPQRSTUV- D F ^ !-!D!x!!I"""#O####-$0$:$>$|$$%G%J%K%%%%'A(B())<*-+/+0+1+++,,//0q2 4468 889V;;~<<e=?]@^@_@`@a@b@@rBBBDF|JJvK]LLLbMMMONPNcPP+QQR SSSSuU~UVWWWWWWWWWWWWWWWWWXXXXXX X0000000000 0000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 00 00 0 0000 0000 00 0 0'0 0'00 0'000 0 0m8 0m80 0 0B< 0B< 0B< 0B<000000 000 0 0 00 0 0 000 0000 0 0N 0N 0N 0N 0N 0N0 0 00 0 000000@000@000@000@000@0@0@0@0@0@000400P0.Q fg h i 6R 3Pk LeR9bSp)rIMNOPQRSTUV- D F ^ !-!D!x!!I"""#O####-$0$:$>$|$$%G%J%K%%%%'A(B())<*-+/+0+1+++,,//0q2 4468 8;~<<e=?@rBBDFJvK]LLLbMMMONPNSSSuU~UV X000000@00 0000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 00 00 0 0000 0000 00 0 0*7 0*70 0*700 0 0 0< 0d! 0d! 0d!A 0d!@0 0 0 0 0 0 000 000000 0 A 0A 0 0 $$$$$' 6"2~8k<nCJ3MQSY2`sj֙1457:>?@BCDEGHINO "P')/ =?RN֙2689;<=AFMPՙ3.0 X:  '!!_"$<M).vd4>R$HTuic \4R$j?Z$7a'9"$8Z "ӎhHb$*wވ5ݕ2(>N?8@,(  N  3  0  s A . http://mechatronics.mech.northwestern.edu/design_ref/sensors/quadrature.jpg!T`T!T`T"`   zA. incrementS`TS`T3"` L0* C F. ` D`TD`T` ` 3"t  s *X99? "`L0*f  s * OA 0*~B S  ?grBtBuU X4o&Td+@ L0 I @h8+@F!"C XC X9*urn:schemas-microsoft-com:office:smarttagsplace (CKLO  $&18;<NPST\^iQTU_ !, )"2 = I T a l J!R!!!!!""R#]#######E$P$$$$$$$%'%((--..>.E.....c0f0v0y0001111X2Z2223344446666*6,6L9N9W9Y9<<<<??@@MMNNQQRR(S-SWWWWWWWWWWWWXX X  37PSSUglV\swY\ / 2 I T z ~ !!!!""####5$9$A$C$$$$$%%++....c0g01166<<TB\BBBHHJJK#K8K@KKKKLLLLLMM$M,M?MAMMMMNN N1N6NPPPQUUWWWWWWWWWWWWXX X333333333333333333333333333333333333333333333333333333333333333333333333333g%%''*1++,D//_7 8(;;>?BB5L[LMMWWWWWWWWWWWWXX XWWWWWWWWWWWWXX X <2: ] ]85 #LD@8(2:b8z@ Vb0Z\  |b qc %-f %Per hh^h`o(. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH. hh^h`o(hH ^`o(hH. pLp^p`Lo(hH. @ @ ^@ `o(hH. ^`o(hH. L^`Lo(hH. ^`o(hH. ^`o(hH. PLP^P`Lo(hH. hh^h`o(hH ^`o(hH. pLp^p`Lo(hH. @ @ ^@ `o(hH. ^`o(hH. L^`Lo(hH. ^`o(hH. ^`o(hH. PLP^P`Lo(hH.  \ ^ `\o(. ^`hH. pLp^p`LhH.h @ @ ^@ `o(hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.hh^h`o(. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.^`o(. ^`hH.  ^ `o(. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.hh^h`o(. 88^8`hH. L^`LhH.   ^ `hH.   ^ `hH. xLx^x`LhH. HH^H`hH. ^`hH. L^`LhH. hh^h`hH) ^`hH) 88^8`hH) ^`hH() ^`hH() pp^p`hH()   ^ `hH. @ @ ^@ `hH.   ^ `hH. hh^h`hH) ^`hH) 88^8`hH) ^`hH() ^`hH() pp^p`hH()   ^ `hH. @ @ ^@ `hH.   ^ `hH. hh^h`hH) ^`hH) 88^8`hH) ^`hH() ^`hH() pp^p`hH()   ^ `hH. @ @ ^@ `hH.   ^ `hH. ^`56o( ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH. hh^h`hH) ^`hH) 88^8`hH) ^`hH() ^`hH() pp^p`hH()   ^ `hH. @ @ ^@ `hH.   ^ `hH. @ V<%-f@8( qc0Z\85 #  |bPer<` b850Q0($00 t.          h               @        E{zc{dhZn!As  (Q2w+`DDH]K-2O$C!$&'0([p(;)*uR-#/sr21?3 4 5M6q<2?`O@$B0|F H!HuHIe2Im Ke8LNoOKQV?Y'[C\]\}`eeBeyRjxj~kp)>p wq&sJtsUty{0H=%|z5^Z#O|[5E K2"Xo1"t!E!~#XppD(FBYC")SGk&u{"Ay+Bva,y^1@ Ć+ 01"4"5363738393:3R XP@P8Pt@P>P@PBPDPFPHP@P(@UnknownG:Ax Times New Roman5Symbol3& :Cx Arial?5 :Cx Courier New;Wingdings"1h`BD tf J, J,#`4dWW2QHX?2ECE331 Microcomputers (KEH)Keith E. Hoover Keith Hoover<         CompObjq  FMicrosoft Office Word Document MSWordDocWord.Document.89q