I was wondering if anyone could check my code here and see if there are any boo-boo's.
I am not getting the results I have expected. I am using a 4021 shift register sending serial data out to the pic18F452.
I have buttons connected to the 4021 (parallel to serial chip) and send the bits out to the pic. I just wanted to test it by having the pic receive a byte (%00000001) and then light up an LED.
It worked intermittently, but not really.
Code:'DEFINITIONS' DEFINE OSC 20 DEFINE ADC_BITS 10 DEFINE ADC_CLOCK 3 DEFINE ADC_SAMPLEUS 15 'serial registers DEFINE HSER_RCSTA 90h DEFINE HSER_TXSTA 20h DEFINE HSER_BAUD 31250 'PORT SETUP' TRISA = %11111111 ADCON1 = %10000010 'VARIABLES' keys var byte A_Button var byte B_Button var byte Select_Button var byte Start_Button var byte Up_Button var byte Down_Button var byte Left_Button var byte Right_Button var byte A_Button = %00000001 B_Button = %00000010 Select_Button = %00000100 Start_Button = %00001000 Up_Button = %00010000 Down_Button = %00100000 Left_Button = %01000000 Right_Button = %10000000 ''Pin Assignments'' data_in var portb.7 latch var portb.6 clock var portb.5 main: pulsout latch, 1 'toggle the latch pin shiftin data_in, clock, 0, [keys] if keys = A_Button then 'if A button pressed light LED on RB0 high portb.0 pause 1 low portb.0 endif goto main





Bookmarks