/* Main_keyPad.c Hämtar tecken från ett tangentbord och skickar tecknet med 1200-19200 baud till PC. OBS, Version och baudrate hårdkodas i rutinen baudChar(). Fungerar för CC5X Version 3.3A (gratisversion). Fungerar för CC5X Version 3.1F. Fungerar med och utan optimering. Fungerar med och utan commandline option -u (-u = utan optimering) Använder kod från www.elektronikutveckling.com, radera inte denna info om du modifierar eller kopierar delar från denna fil. Använd på egen risk, rätta felaktigheter. Anpassad för (och testad med) "PICkit2 UART Tool" som terminal. ___________ ___________ | \/ | +5V---|Vdd 16F690 Vss|---GND |RA5 RA0/AN0/(PGD)|---bbTx ->- PK2Rx |RA4 RA1/(PGC)| till PICkit2 UART tool Pk2 VPP---|RA3/!MCLR/(Vpp) RA2/INT| |RC5/CCP RC0| |RC4 RC1| KBD Rx--|RC3 RC2| KBD Ck--|RC6 RB4| |RC7 RB5/Rx| |RB7/Tx RB6| |________________________| */ #include "16F690.h" #include "getTkn.c" #include "baudChar.c" #pragma config |= 0x00D4 // info för PICkit2 programmer /* ============================MAIN============================ */ void main( void) { char tkn; ANSEL.7 = 0; // PORTC.3 ej analog TRISC.3 = 1; // KeyPad Rx in ANSELH.0= 0; // PORTC.6 ej analog TRISC.6 = 1; // KeyPad Clk in ANSEL.0 = 0; // PORTA.0 ej analog TRISA.0 = 0; // seriell data ut till PICkit2 while(1) { tkn=getTkn(); // hämtar tecken (eller 0x7 om inget tecken) if(tkn!=0x7) // isåfall visa tecken på PC'n { if(tkn=='=') // tkn = [enter] { baudChar('\r'); // return (0x13) skickas till PC'n baudChar('\n'); // ny rad (0x10) skickas till PC'n } else baudChar(tkn); // skickar tecknet till PC'n } } }