Microchip Technology DV164139 Data Sheet

Page of 54
Low Pin Count USB Development Kit User’s Guide
DS41356B-page 22
© 2009 Microchip Technology Inc.
12. Disconnect the PICkit 2 and connect the Low Pin Count USB Demo Board to the 
Host PC port.
13. The device should enumerate and the LEDs on the board flash in accordance 
with the BlinkUSBStatus() discussed in the self-directed course.
14. Pressing the push button should start and subsequently stop the mouse pointer 
moving in a circle on the Host PC screen.
The user is encouraged to experiment with this application by altering the length of time 
that the mouse pointer moves until a directional change or altering the values in the 
ROM signed char dir_table[]={-4,-4,-4, 0, 4, 4, 4, 0}
;
2.6
PROJECT LAB 3 (HID KEYBOARD)
CAUTION
In this lab, the PIC18F14K50 is implemented as a HID keyboard device. The ADC 
peripheral is configured to perform conversions on the voltage level present on the port 
pin connected to the potentiometer on the Low Pin Count USB Development Board. 
The value in the ADC result register is then used to create a numeric value between 4 
and 29 that will display an alphabetic character between ‘a’ and ‘z’ on the Host PC 
screen (refer to HID Usage Tables document Section 10 “Keyboard/Keypad Page” 
(0x07)). As the potentiometer is rotated, the character outputted to the screen will 
change accordingly. The user should note that this application could be applied to a 
data logger application with the potentiometer on the Low Pin Count USB Development 
Board simulating a mixed signal interface to monitor an off-chip application. The data 
generated and transmitted via the USB could be connected and interpreted by a 
Graphical User Interface on the Host PC to monitor real-time application behavior or 
used to store essential data for later analysis.
2.6.1
Overview of the HID Keyboard Firmware
The keyboard()is the user-defined function that is called from ProcessIO() to 
parse the data received from the ADC module, transmit the numeric value along the 
USB and display the appropriate character on the screen. This function is implemented 
as a state machine. The state diagram for this function is shown in Figure 2-5.
CAUTION
A word of caution, this HID device has the potential to be harmful if a key combination 
is used that initiates a Windows
®
 shortcut. Great care should be taken to ensure that 
the transmitting buffer contains only keycodes that the user is confident will not 
produce any harmful key combinations.