easy asI want to get two consecutive bytes from one "Hello!" string. How more clear I can say this in other way?
I'll try once again. I need output of this kind from Hello!
A=H
B=e
A=l
B=l
A=o
B=!
Code:;----[16F886 Hardware Configuration]--------------------------------------------#CONFIG cfg1 = _INTRC_OSC_NOCLKOUT ; INTOSCIO oscillator: I/O function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN cfg1&= _WDT_ON ; WDT enabled cfg1&= _PWRTE_OFF ; PWRT disabled cfg1&= _MCLRE_OFF ; RE3/MCLR pin function is digital input, MCLR internally tied to VDD cfg1&= _CP_OFF ; Program memory code protection is disabled cfg1&= _CPD_OFF ; Data memory code protection is disabled cfg1&= _BOR_OFF ; BOR disabled cfg1&= _IESO_ON ; Internal/External Switchover mode is enabled cfg1&= _FCMEN_ON ; Fail-Safe Clock Monitor is enabled cfg1&= _LVP_OFF ; RB3 pin has digital I/O, HV on MCLR must be used for programming cfg1&= _DEBUG_OFF ; In-Circuit Debugger disabled, RB6/ICSPCLK and RB7/ICSPDAT are general purpose I/O pins __CONFIG _CONFIG1, cfg1 cfg2 = _BOR40V ; Brown-out Reset set to 4.0V cfg2&= _WRT_OFF ; Write protection off __CONFIG _CONFIG2, cfg2 #ENDCONFIG 'chip configs TRISA=%00000000 'SET A TO OUTPUT 1=input TRISC=%00001101 'set half C for in/out TRISB=%00011000 'set PortB to output ANSELH=%00000000 ' ADC OFF B ANSEL=%000000000 'configure PortA as digital except first 2 ADCON1=%10000000 'adc justify OSCCON=%01110101 'SET FREQUENCY TO 8MHZ WPUB=%00000000 'turn off Pullups CM1CON0=0 'DISABLE COMPARATORS CM2CON0=0 'SAME HERE 'CCP1CON=%01000000 ' configure pwm 'PSTRCON=%00010110 'disable C pwm DEFINE OSC 8 DEFINE ADC_BITS 10 DEFINE ADC_CLOCK 3 DEFINE ADC_SAMPLEUS 50 'lcd config pause 1000 ' Set LCD Data port DEFINE LCD_DREG PORTC DEFINE LCD_DBIT 4 DEFINE LCD_RSREG PORTB DEFINE LCD_RSBIT 0 DEFINE LCD_EREG PORTB DEFINE LCD_EBIT 1 DEFINE LCD_BITS 4 DEFINE LCD_LINES 2 DEFINE LCD_COMMANDUS 2000 DEFINE LCD_DATAUS 44 lcdout $fe, $1, "ready " pause 1000 DPIN Var PORTA.2 ' I2C data pin CPIN Var PORTA.1 ' I2C clock pin B Var word B0 Var byte B1 Var byte lcdwbuf var word[10] @lcdBuf = _lcdwbuf lcdBuf Var byte ext arraywrite lcdBuf ,["Hello World",0 ] lcdout $fe, $1, str lcdBuf b0 = lcdwbuf[0] b1 = lcdwbuf[0] >> 8 lcdout $fe, $c0,b0," : ", b1 b0= lcdwbuf[3] b1= lcdwbuf[3] >> 8 pause 1000 lcdout $fe, $c0,b0," : ", b1




Bookmarks