PCM on DOS-pohjainen kääntäjä
14-bittisille PIC:lle, kuten 'F84,'F87x,12CE67x, 12C672, '71,'72,'73,'74,
'F87x, 'F88,'F89,
PCB on sama 12-bittisille
PIC:lle kuten 12C508,'505,'54 jne
PCW on Windows työkalu
molemmille PIC-sarjoille, siinä on lisäksi projektinhallintatyökalut.
PCH on kääntäjä
18-bittislle PIC-piireille. Sen voi ostaa päivityksenä muille
CCS:n kääntäjälle.
Hintaan kuuluu ohjelmadisketti
tai CD ja käsikirja ja kuukauden ilmainen päivitys netistä.
PCW:lä voit itse luoda uusia PIC-tietokantoja tai voit tilata vuoden
päivitykset. Päivitys maksaa saman verran kuin vastaava kääntäjä.
Kaikissa kääntäjissä on helppo ohjelmointilaitteen
käynnistys ja MPLAB-simulaattorin tuki, assemblerkoodin generointi,
kutsupuun luonti ja muistinkäyttötiedosto. Virheet näyttävät
vastaavan lähdekoodin paikan. Myös yli 4kB bankin vaihdot isoimissa
PICissä tapahtuu automaattisesti. PIC12C508 hoidetaan sisäisen
oskillaattorin kalibrointi automaattisesti.
Toimitukseen sisältyy ohjelmalevykkeet,
käsikirja ja päivitysoikeus 30 pv ajaksi (mahdolliset bugikorjaukset)
Uutta 3.x versioissa on tärkeät
32-bitinen matematiikka.
PIC C COMPILER
CCS offers a C compiler for the MicroChip PIC16 processors.
This C compiler is based on original K&R is fully optimized for use
on these unique parts. Built-in functions make coding the software very
easy. The integrated C development environment provides developers a fast
method to produce efficient code from an easily maintainable high level
language.
Features Capabilities
Examples Programs Hardware
Tools
This integrated C development environment gives developers the capability to quickly produce very efficient code from an easily maintainable high level language. The compiler includes built in functions to access the PIC hardware such as READ_ADC exc.
Functions may be implemented inline or separate. Function parameters are passed in reusable registers. Inline functions with reference parameters are implemented efficiently with no memory overhead.
During the linking process the program structure including the call tree is analyzed. Functions that call one another frequently are grouped together in the same page. Calls across pages are handled automatically by the tool transparent to the user. Functions may be implemented inline or separate. RAM is allocated efficiently by using the call tree to determine how locations can be re-used. Constant strings and tables are saved in the device ROM.
The output hex and debug files are selectable and compatible with popular emulators & programmers including MPLAB for source level debugging. The Professional Package (PCW) provides both compilers in a powerful Windows environment. The compiler is regularly updated to include all PIC16Cxx devices.
Features:
Built in Libraries that work
with all chips for RS232 serial I/O library, I/O, I2C, discrete I/O and
precision delays. Integrates with MPLAB and other simulators/emulators
for source level debugging. Standard Hex file and debug files
ensure compatibility with all programmers.
Formatted Printf allows easy formatting and display in
Hex or decimal.
Efficient function implementation allows call trees deeper
than the hardware stack.
Source code drivers included for LCD modules, keypads,
24xx &93xx serial E2PROM's, X10, DS1302 & NJU6355 Real Time Clocks,
Dallas Touch Memory Devices, DS2223 & PCF8570 Serial SRAM, LTC1298
& PCF8591 A/D converters and more.
Access to hardware features from easy to use C
functions, Timers, A/D, E2, SSP, PSP, I2C and more.
1,8, and 16 bit types and 32 bit Floating Point.
Assembly code may be inserted anywhere in the source and may reference
C variables.
Automatic linking handles multiple code pages.
Inline procedures supported to save stack space;
Linker will automatically determine the best architecture or it
can be manually specified.
Compiler directives determine if tri-state registers
are refreshed on every I/O or if the I/O is as fast as possible.
Constants (including strings and arrays) are saved in
program memory.
Standard one bit type (Short Int) permits the compiler
to generate very efficient Bit oriented code.
#BIT and #BYTE will allow C variables to be placed
at absolute addresses to map register to C variables.
Reference parameters may be used to improve code
readability and inline procedure efficiency.
Both an Integrated editor/compiler and a cmd line
compiler.
Special windows show the RAM memory map, C/Assembly
listing and the calling tree.
Interrupt procedures supported on PCM. The compiler
generates all startup and clean up code as well as
identifying the correct interrupt procedure to
be called. 8 or 16 bit pointer support.
Plenty of ready to run example programs are included.
Updates via the web for 30 days included
Overview
This integrated C development environment gives developers the capability to quickly produce very efficient code from an easily aintainable high level language. The compiler includes built in functions to access the PIC hardware such as READ_ADC to read a value from the A/D converter. Discrete I/O is handled by describing the port characteristics in a PRAGMA. Functions such as INPUT and OUTPUT_HIGH will properly maintain the tri-state registers. Variables including structures may be directly mapped to memory such as I/O ports to best represent the hardware structure in C. The microcontroller clock speed may be specified in a PRAGMA to permit built in functions to delay for a given number of microseconds or milliseconds. Serial I/O functions allow standard functions such as GETC and PRINTF to be used for RS-232 like I/O. The hardware serial transceiver is used for applicable parts when possible. For all other cases a software serial transceiver is generated by the compiler. The standard C operators and the special built in functions are optimized to produce very efficient code for the bit and I/O functions.
Functions may be implemented inline or separate. Function parameters are passed in reusable registers. Inline functions with reference parameters are implemented efficiently with no memory overhead.
During the linking process the program structure including the call tree is analyzed. Functions that call one another frequently are grouped together in the same page. Calls across pages are handled automatically by the tool transparent to the user. Functions may be implemented inline or separate. RAM is allocated efficiently by using the call tree to determine how locations can be re-used. Constant strings and tables are saved in the device ROM.+
The output hex and debug files are selectable and compatible with popular emulators & programmers including MPLAB for source level debugging. The Professional Package (PCW) provides both compilers in a powerful Windows environment. The compiler is regularly updated to include all PIC16Cxx devices.
Features:
STANDARD C
PCB C kääntäjä PIC52,54,55,58 ja PIC12Cxx - €260
PCM kääntäjä 16 , -92x ja 14000 - €260
PCH kääntäjä PIC18(F)-sarjalle - €310
Vuoden päivitykset PCB,PCM or PCH €210
Entä muut kääntäjät?PCW Professional (Windows IDE sis. PCB ja PCM) €650
PCWH Professional (Windows IDE sis. PCB ja PCM+PCH) - €850
PCW (vuoden päivitys PCW ) - €498
PCWH (vuoden päivitys PCWH ) - €612
Linux
PCBL C kääntäjä PIC52,54,55,58 ja PIC12Cxx - €260
PCML kääntäjä 16 , -92x ja 14000 - €260
PCHL kääntäjä PIC18(F)-sarjalle - €310
Vuoden päivitykset PCBL,PCML or PCHL €210CAN Bus kit € 249
CAN Bus kit:n PCB € 149Mikä on CAN?
CAN = Controller Area Network. Se on sarjamuotoinen tietojen välitystapa verkotetouille prosessoreille. Yksi laite on nimeltään node ja se voi lähettää ja vastaanottaa viestejä verkosta. CAN Bus:lla voi lähettää 8 Byteä kerrallaan kuunteleville laitteille. Menetelmä sisältää viestin kuittauksen. Jos viestiä ei kuitata sitä lähetetään kunnes määrätyt yritykset lopuu.
CAN Bus piirilevyllä on neljä nodea :1. PIC18F458 jossa on sisäänrakennettu CAN laiteohjain. Nodess on potentiometri, 3 lediä ja painonappi
2.PIC16F876 ja MCP2510 node potentiometri ja 3LEDiä ja painonappi.
3 ja 4 MCP25050, itsenäinen CAN laajennin, jossa on valmiiksi ohjelmointu CAN ID.
Toisessa on 3 LED ja potentiometri, toisessa on 7-segmentti näyttö.
CAN driverit ja esimerkit on 18F458 :lle ja MCP2510.
CAN harjoituskirja jossa on esimerkkejäUSB KIT €150
USB PIC16F765 €33
Sulautettu internet PIC16F877/56kB modeemi €150Site lisenssit
Jos samalla työpaikalla on useita käyttäjiä voit hankkia muille käyttäjille työpaikkalisenssin. Jos sinulla on vain PCB, et voi hankkia toista lisenssiä esim. PCM:lle
PCB/PCBL,PCM,PCML Site lisenssi €120
CCS/PCH/PCHL Site lisenssi €150
CCS/PCWH Site lisenssi €380
CCS/PCW Site lisenssi €240Microchip PIC Emulaattorit ja C kääntäjät
Microchip MPLAB C18 on Microchipin 18-bittinen kääntäjä (koodi SW0006011) €748
Microchip ICD emulator PIC16F87x €288 DV164001
Microchip ICD2 emulator PIC18Fxx €299 DV164005
Microchip ICD2 emulator + testi kortti PIC18Fxx €379 DV164006//Tässä pieni esimerkki sarjaliikenne- ja/tai anologia ohjatukselle askelmoottori+PIC16C71:lle
#include <16C71.H>
#use delay(Clock=20000000) // valitse kidetaajuus
// sarjaliikennenopeus ja sen IO-nastat
#use RS232(Baud=9600,Xmit=PIN_A3,Rcv=PIN_A2)
// aseta moottori B-porttiin
#byte port_b = 6
// valitse moottorin tyyppi
#define FOUR_PHASE TRUE
#ifdef FOUR_PHASE
// tässä on eri vaiheiden koodit
byte const POSITIONS[4] = {0b0101,
0b1001,
0b1010,
0b0110};
#else
byte const POSITIONS[8] = {0b0101,
0b0001,
0b1001,
0b1000,
0b1010,
0b0010,
0b0110,
0b0100};
#endif
// aja moottoria speed-nopeudella suuntaan dir ja steps-askelta
drive_stepper(byte speed, char dir, byte steps) {
static byte stepper_state = 0;
byte i;
for(i=0;i0x80)
drive_stepper(128-(value-128),'F',8);
}}
use_switch(byte speed, char dir) {
byte steps;
printf("\n\rSteps per press: ");
steps = gethex();
while(true) {
while(input(pin_13)) ;
drive_stepper(speed,dir,steps);
while(!input(pin_13)) ;
delay_ms(100);
}
}// pääohjelma
void main(void ) {
byte speed,steps;
char dir;
// aseta analogiatulot 0 ja 1 ad-muunnintoimintaan
setup_port_a(RA0_RA1_ANALOG);
while (TRUE) {
printf("\n\rSpeed (hex): ");
speed = gethex(); // lue nopeus
if(speed==0) // jos nopeus = 0, niin
use_pot(); // lue nopeuspotikka
printf("\n\rDirection (F,R): ");
dir=getc()|0x20; //kysy suunta
printf("\n\rSteps (hex): ");
steps = gethex(); // monta askelta
if(steps==0) '' jos askeleet 0, käytä kytkintä ohjaukseen
use_switch(speed,dir);
drive_stepper(speed,dir,steps); // aja moottoria
}}
Thomas N <thomasn102@YAHOO.COM>
Subject: Microchip C18 printf() and delay() functions
I used CCS PCM compiler before and it has really nice printf() and delay_xs()
functions. I just
bought the Microchip C18 compiler and found that it doesn't have the printf()
function. I am really
disappointed! It has delayXXTCYx() function, but it is very hard to use.
This is because everytime I
want to delay for certain period, I have to take my calculator out and
calculate how many clock
cycle required. :( Does any one write the printf() and delay() function?
Could you share the code?
Thank you in advance!
Regards,
Thomas
Tilaukset
Probyte
: Yhteystiedoti
PROBYTE Oy
Nirvankatu 31
33820 TAMPERE
03-2661885