1) Using the basic counter design / state machine develop a design that allow the user to push a button to act as a clock for the input to a counter. The output shall be displayed using either the discrete LEDs or the 7-segment as in the previous Lab.
Select a button that when pushed the counter displayed on the seven segment displays will advance by one count. The push button can be any of your choice but will need to be debounced to prevent multiple ‘jumps' when only one increase is necessary.
Select a second button that when pushed, the counter displayed on the seven segment display will decrease by one count. When the count display gets of 0xFF it will wrap over to 0x00 as well as wrapping from 0x00 to 0xFF when in the reverse direction.
Use a third button to reset the counter to 0x00.
Implement the debouncers as discussed using a simple state machine.
2) Use the rotary knob to enter the pulse width, i.e. vary the brightness. As the knob rotates in one direction, the pulse width should get larger causing the display to become brighter (one bit per knob tick) until the pulse width is ~100% on. If the knob rotates in the other direction the pulse width decrease until it gets to zero and the display is full dim.