Lab 4:

Advanced Counters

Physics 352L Section: 450

Friday, February 31st, 2014

Dr. Hugon

Harris Pharr

I have neither given nor received any unauthorized aid on this assignment:

Introduction:

This lab proved to be a very intense investigation into the functions of a counter and the various methods available to control the counter such as through LABVIEW. The lab started with a brief explanation of bouncing and investigated the various means of debouncing a circuit. The lab utilizes the 74193 counter that with a variety of drivers from personal YOCKLs and even LABVIEW.vi’s. This lab also investigates the multiple controls of this counter which will be controlled via the LABVIEW’s front panel.

Section A: Birthday Counter:

Figure 1: Birthday counter circuit using 74193N chip and an LCD display my XXM

The figure above disaplys the circuit we constructed in part A of the lab. Using a 74193 counter and a digital clock set at 100Hz as an input, I displayed the output on a Blue LCD panel on the right. My birthday is August 7th, 1992 and the closest odd integer I chose was 7 hence why the LCD counter reset when set to 7. A video and the VI simuation file was sent to the TA. In the lab I constructed this same mod-7 counter used my personal YOCLK as the clock input on the 74193 chip. The 4 outputs were connected to LCDs on the black box which displayed the binary output from the 74193 chip. In order to make the LCDs reset at binary 7 (0111) the 4th output was connectedto the clear output causing binary 8 (1000) to clear which caused the counter to reset and recount to 7. A video of this was emailed to the TA. When I added the JK making the circuit a mod 16+7=23=mod23 counter, I kept J and K high causing the counter to toggle once last out was

inserted into the clock of the JK. A video of this was also emailed to the TA also.

Figure 2: Circuit diagram for the 74193 counter.

Section B: Reading the out of the 74193 counter.

The purpose of this section of the lab was to demonstrate out ability to use our Counter.vi to operate and control the 74193 counter. I connected the outputs Q0-Q3 to P0-P3 on the DAQ. I then read the outputs of from Q0-Q3 on the DAQ through inputs P0-P3 and displayed their values in binary, decimal, and hexadecimal through the VI displayed below along with a digital graph. I sent a video of the circuit and the display of the VI to the TA. I then used a clock output from the DAQ I programed into the VI as I was unable to get my clock on my BB to function. I was able to adjust the frequency and read it so that when the clock was delay 500ms, the frequency was 2Hz. The frequency was then adjusted on my VI to determine the maximum frequency obtained from the digital line of the DAQ and found to be around 200Hz. A video of this was also sent to the TA. Displayed below is the block diagram from my VI, it was a very large VI and required multiple screenshots. I also sent the VI to the TA and will upload to my website (

Figure 3: Labview Front Panel and Block Diagram for sections B-E

Section C: Basic LABVIEW controls of the 74193 counter.

Using the clock signal from a digital line from my DAQ board, I adjusted the frequency using the control panel of my VI to determine the max frequency that the digital line could output. I found this max frequency to be around 250Hz and any output other than that cause the graph which displayed the output to not display correctly. A video of this was sent to the TA. I then modified the COUNTER.vi to allowed loading set into the register of the 74193 counter. I counted the P0-P3 data inputs and LOAD into the digital lines. I connected the CLEAR and TCup to the DAQ hardware to communicate with the VI (I sent the file to the TA). I used inputs P0 and P1 for parrellel data. When P0 and P1 were held low, the counter held at 0111 and would start counting at 1100 when the output was at 1110; the output would then connect to reset and start counting back at 01111. The master reset and Toggle input functions were also implemented along with the master switch to the front panel so they could be toggled via the .VI.

Figure 4: Front Panel of VI for section C & D

Section D: Advanced LabVIEW controls:

In section D I made the VI allow the 74193 only to count when the GATE signal from the front panel was high. I also added two more fancy functions of allowed to either make the counter up or down along with a frequency dial for both up/down outputs. A video and the VI file was sent to the TA with the screenshots displayed the in the figures above.

Section E: Debouncing a switch.

In this section we debounced 2 switches; debouncing of a switch was observed for these two switched attached to a voltage source and observed on an oscilloscope TDS-1012C. Debouncing is an effort to reduce the “rough” transfer of a signal from high to low or low to high on a small time scale. The first step taken in debouncin a swich was to observe the bouncing. This was done described above and the bouncing was deserved in these pictures of the oscilloscope.

When bouncing occurred, a difference between the flipping the switch ON and flipping OFF was observed as seen in the oscilloscope photos above. When flipping on, the signal would shoot up to HIGH, then fall about half of the pulse down, and then rise and fall once more; (sometimes more than 2 but usually twice). When flipping OFF, the signal would round down to below low, then level out back to a low status. In this particular case, only once bounce was observed. The switch took time to stabilize as seen in the figures above. For the ON switch, the pulse required 320 ± 4 μs to settle. As for switching OFF, the signal required 790 ± 4us to settle. I then used a MC14043 chip as an RS latch. This debouncing was observed above; it used logic gates which flipped and lock the following transition so effects of multiple rapid switches were negated.

Conclusion:

This lab introduced me to various ways of controlling a counter. I was introduced to bouncing and the means of debouncing a circuit and learned how to provide a much cleaner clock within various counting circuits. I used a birthday counter to count to 7 and reset with the next pulse to 0 which displayed the connections and sync between the 74193 chip and LED display. I used LABVIEW controls the output to the 74193 counter and added the function to control the count up and count down using in LabVIEW which taught me LabVIEW’s ability to replace manual controls within a circuit. I also learned how not only to count up and down, but also reset the whole circuit via a Master Reset toggle within the VI and apply a parallel load through P0 and P1.