2004-4-71of26PICC11.1PICCCCPICCCPCPCPCCCPICCPICMicrochipPICCPICCHitechCCSIARBytecraftHitechPICCPICHitechPICPICC-LitePICPIC16F84PIC16F877PIC16F628FlashPICC-LitePICCPICCHitech-PICC…11-1HI-TECHPICCToolsuiteExecutableMPLAB-IDEPICCAssemblerCPICCCompilerPICCLinkerPICC.EXELocationBrowse…PICCPICC.EXEPICC.EXEC.c.asHI-TECHPICC3.1.3CCC11-1MPLAB-IDEPDFcreatedwithpdfFactoryProtrialversion“pc68.h”////__CONFIG(HS&PROTECT&PWRTEN&BOREN&WDTDIS);//voidSetSFR(void);voidClock(void);voidKeyScan(void);voidMeasure(void);voidLCD_Test(void);voidLCD_Disp(unsignedchar);//unsignedcharsecond,minute,hour;bitflag1,flag2;//11-2CPDFcreatedwithpdfFactoryProtrialversion(void){SetSFR();PORTC=0x00;TMR1H+=TMR1H_CONST;LED1=LED_OFF;LCD_Test();//while(1){asm(“clrwdt”);//Clock();//KeyScan();//Measure();//SetSFR();//}}11-1C11.5PICC11.5.1PICCPICC11-1bit101char8PICCcharunsignedchar8short16unsignedshort16int16unsignedint16long32unsignedlong32float24double2432PICCdouble243211-1PICCPICCLittle-endianPDFcreatedwithpdfFactoryProtrialversion[10];structcommInData{unsignedcharinBuff[8];unsignedchargetPtr,putPtr;};unionint_Byte{unsignedcharc[2];unsignedinti;};11-2C11.5.3PICCbankPICCbankbankbank0unsignedcharbuffer[32];bitflag1,flag2;floatval[8];bank0bankbankbank1unsignedcharbuffer[32];//bank1bank2bitflag1,flag2;//bank2bank3floatval[8];//bank3PICbank128CbankRAMbankError[000]:Can'tfind0x12Cwordsforpsectrbss_1insegmentBANK10x12C300bank1bank1bank1bankbankbankCbankbankbankbankbankPDFcreatedwithpdfFactoryProtrialversion=0x240x123%8=3flag10x243flag10x240x123PICPICCtmp0x20tmp|=0x80=bsf0x20,7tmp&=0xf7=bcf0x20,3if(tmp&0xfe)=btfsc0x20,0CCPDFcreatedwithpdfFactoryProtrialversion{struct{unsignedb0:1;unsignedb1:1;unsignedb2:1;unsignedb3:1;unsignedb4:1;unsignedb5:1;unsigned:2;//}oneBit;unsignedcharallBits;}myFlag;11-3myFlag.oneBit.b3=1;//b31myFlag.allBits=0;//00011ANSI-C011.5.6PICCPICCIEEE-754324PICC24float24double24double322411.5.7PICCCbankPICCPICCPICCPDFcreatedwithpdfFactoryProtrialversion@0x20;//tmpData0x20PICCtmpData0x200x20unsignedchartmpData@0x20;//tmpData0x20bittmpBit0@tmpData*8+0;//tmpBit0tmpData0bittmpBit1@tmpData*8+1;//tmpBit0tmpData1bittmpBit2@tmpData*8+2;//tmpBit0tmpData2tmpData11.5.8PICCexternCexterncode1.cbank1unsignedcharvar1,var2;//bank1code2.cexternbank1unsignedcharvar1,var2;//bank1volatilePICCCvolatileIOvolatilevolatileunsignedcharSTATUS@0x03;volatilebitcommFlag;volatileCvolatilevolatilePDFcreatedwithpdfFactoryProtrialversion[]=”Thisisademo”;//constRAMpersistentCPICCmainPICCpersistentpersistenpersistentunsignedcharhour,minute,second;//persistentpersistentPIC11.5.9PICCPICCCPICRAMFSRPICCPICCCRAMFSRFSR256bank0/1bank2/3512PICCPDFcreatedwithpdfFactoryProtrialversion*ptr0;//bank0/1bank2unsignedchar*ptr1;//bank2/3bank3unsignedchar*ptr2;//bank2/3bankbank0bank1bank2bank3bankbank0bankbankunsignedchar*ptr0;//bank0/1bank2unsignedcharbuff[8];//bank2ptr0=buff;//bank2bank0/1PICCFixupoverflowinexpression(...)bankvoidSendMessage(unsignedchar*);bank0bank1bank2bank3voidSendMessage_2(bank2unsignedchar*);FixupoverflowROMROMconstunsignedcharcompany[]=”Microchip”;//ROMconstunsignedchar*romPtr;//ROMromPtrcompany;//data=*romPtr++;//1*romPtrdata;//CPICCPICPICCRAMPDFcreatedwithpdfFactoryProtrialversion*ptr0;//bank2/3bank0bank2unsignedchar*ptr0;//bank2/3bank1bank2unsignedchar*bank1ptr0;bankbankbankvolatilepersistentconstbankvolatilepersistentconstbank//bank0/1bank0volatileunsignedchar*ptr0;//bank2/3bank1bank2unsignedchar*volatilebank1ptr0;//ROMROMconstunsignedchar*constptr0;11.6PICCPICC11.6.1PDFcreatedwithpdfFactoryProtrialversion*.mapcallgraphCallgraph:*_mainsize0,0offset0_RightShift_C*_Tasksize0,1offset0lwtoftftmulsize0,0offset0ftunpack1ftunpack2ftaddsize0,0offset0ftunpack1ftunpack2ftdenorm11-4CmainC11.6.3PICCvoidTask(void);unsignedcharTemperature(void);voidBIN2BCD(unsignedchar);voidTimeDisplay(unsignedchar,unsignedchar);PDFcreatedwithpdfFactoryProtrialversion(void);ISR