⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 51fxc.cod

📁 mcs51,2051,x86系列MCU
💻 COD
📖 第 1 页 / 共 2 页
字号:
}


##80C52 IO_P0#
##80C54 IO_P0#
##80C58 IO_P0#
##80C51FA IO_P0#
##80C51FB IO_P0#
##80C51FC IO_P0#
#include <51fx.h>
/* Initialize the quasi-bidirectional port pins.  To use these
   pins as inputs they must be written with a one.*/

/* IO port pins:
   Alternate Functions are Address/Data for External Memory
   p0.0 = $%tP0_FXDIR.0$IN$OUT$         
   p0.1 = $%tP0_FXDIR.1$IN$OUT$         
   p0.2 = $%tP0_FXDIR.2$IN$OUT$         
   p0.3 = $%tP0_FXDIR.3$IN$OUT$         
   p0.4 = $%tP0_FXDIR.4$IN$OUT$         
   p0.5 = $%tP0_FXDIR.5$IN$OUT$         
   p0.6 = $%tP0_FXDIR.6$IN$OUT$         
   p0.7 = $%tP0_FXDIR.7$IN$OUT$
*/         
void init_io_ports(void)
 {
  P0=0X$$P0$;
 }
void main(void)
{
   init_io_ports( );
}

##80C52 IO_P1#
##80C54 IO_P1#
##80C58 IO_P1#
##80C51FA IO_P1#
##80C51FB IO_P1#
##80C51FC IO_P1#
#include <51fx.h>
/* Initialize the quasi-bidirectional port pins.  To use these
   pins as inputs they must be written with a one.*/
/* IO port pins:
   p1.0 = $%tP1_FXDIR.0$IN$OUT$         ;Special Function T2CLK
   p1.1 = $%tP1_FXDIR.1$IN$OUT$         ;Special Function T2EX
   p1.2 = $%tP1_FXDIR.2$IN$OUT$         ;
   p1.3 = $%tP1_FXDIR.3$IN$OUT$         ;
   p1.4 = $%tP1_FXDIR.4$IN$OUT$         ;
   p1.5 = $%tP1_FXDIR.5$IN$OUT$         ;
   p1.6 = $%tP1_FXDIR.6$IN$OUT$         ;
   p1.7 = $%tP1_FXDIR.7$IN$OUT$        
*/
void init_io_ports(void)
{ 
 P1=0X$$P1$;
}
void main(void)
{  
 init_io_ports( );
}

##80C52 IO_P2#
##80C54 IO_P2#
##80C58 IO_P2#
##80C51FA IO_P2#
##80C51FB IO_P2#
##80C51FC IO_P2#
#include <51fx.h>
/* Initialize the quasi-bidirectional port pins.  To use these
   pins as inputs they must be written with a one.*/
/* IO port pins:
 Alternate Functions are High Bytes of Address for External Memory
   p2.0 = $%tP2_FXDIR.0$IN$OUT$         
   p2.1 = $%tP2_FXDIR.1$IN$OUT$         
   p2.2 = $%tP2_FXDIR.2$IN$OUT$         
   p2.3 = $%tP2_FXDIR.3$IN$OUT$         
   p2.4 = $%tP2_FXDIR.4$IN$OUT$         
   p2.5 = $%tP2_FXDIR.5$IN$OUT$         
   p2.6 = $%tP2_FXDIR.6$IN$OUT$         
   p2.7 = $%tP2_FXDIR.7$IN$OUT$
*/         
void init_io_ports(void)
{
  P2=0X$$P2$;
}
void main( )
{
 init_io_ports( );
}

##80C52 IO_P3#
##80C54 IO_P3#
##80C58 IO_P3#
##80C51FA IO_P3#
##80C51FB IO_P3#
##80C51FC IO_P3#
#include <51fx.h>
/* Initialize the quasi-bidirectional port pins.  To use these
   pins as inputs they must be written with a one.*/
/* IO port pins:
   p3.0 = $%tP3_FXDIR.0$IN$OUT$         ;Special Function RXD
   p3.1 = $%tP3_FXDIR.1$IN$OUT$         ;Special Function TXD
   p3.2 = $%tP3_FXDIR.2$IN$OUT$         ;Special Function INT0
   p3.3 = $%tP3_FXDIR.3$IN$OUT$         ;Special Function INT
   p3.4 = $%tP3_FXDIR.4$IN$OUT$         ;Special Function T0
   p3.5 = $%tP3_FXDIR.5$IN$OUT$         ;Special Function T1
   p3.6 = $%tP3_FXDIR.6$IN$OUT$         ;Special Function WR
   p3.7 = $%tP3_FXDIR.7$IN$OUT$         ;Special Function RD
*/
void init_io_ports(void)
{
  P3=0X$$P3$;
}
void main( )
{ 
   init_io_ports( );
}

##80C52 PM#
##80C54 PM#
##80C58 PM#
##80C51FA PM#
##80C51FB PM#
##80C51FC PM#
#include <51fx.h>
/* Power Management                                */
/*    - Idle Mode    = $%ePCON.0$
      - Power Down Mode   = $%ePCON.1$ */
/*Power down mode takes precedence over Idle Mode if both
 bits are set.*/
void init_pm(void)
{
      $$if$ PCON.1
 PD=1;
      $$end$
      $$if$ PCON.0 &! PCON.1
 IDL=1;
      $$end$
}
void main( )
{
  init_pm( );
}

##80C52 Serial#
##80C54 Serial#
##80C58 Serial#
##80C51FA Serial#
##80C51FB Serial#
##80C51FC Serial#
#include <51fx.h>
/*Serial Port */
/*Mode            = $%4SCON.6-7$0  /shift register$1  /8-bit UART$2  /9-bit UART$3  /9-bit UART$
  Serial Port Interrupt    = $%eIE.4$         */
$$if$ SCON.7 
/*9th Data Bit       = $%eSCON.3$   */
$$end$
/*Receive         = $%eSCON.4$   */
/*Auto Addressing    = $%eSCON.5$   */
void init_serial(void)
{
     SCON = 0X$$SCON$;
$$if$ SCON.6
   $$if$ T2CON.4
/*Timer 2 is being used to generate baud rates.*/
     RCAP2L = 0X$$RCAP2L$;
     RCAP2H = 0X$$RCAP2H$;
     T2CON = 0X$$T2CON$;
   $$end$       
   $$ifn$ T2CON.4
/*Timer 1 is being used to generate baud rates.*/
   $$if$ PCON.7
     PCON = 0X80 | PCON;
   $$end$
     TMOD = 0X$$TMOD$;
     TH1 = 0X$$TH1$;
     TR1 = 1;            /*TCON.6*/
   $$end$
   $$if$ T2CON.4 &! T2CON.5 
/*Timer 1 is being used to generate baud rates.*/
   $$if$ PCON.7
     PCON = 0X80 | PCON;
   $$end$  
     TMOD = 0X$$TMOD$;
     TH1 = 0X$$TH1$;
     TR1 = 1;            /*TCON.6*/
   $$end$
   $$ifn$ T2CON.4 && T2CON.5 
/*Timer 2 is being used to generate baud rates.*/
     RCAP2L = 0X$$RCAP2L$;
     RCAP2H = 0X$$RCAP2H$;
     T2CON = 0X$$T2CON$;
   $$end$     
$$end$ 
$$ifn$ SCON.6 && SCON.7
   $$if$ PCON.7
     PCON |= 0X80;
   $$end$
$$end$
$$if$ IE.4
     ES = 1;            /*IE.4      */
$$end$
$$if$ SCON.4
     RI = 0;              /*SCON.0*/
$$end$
$$ifn$ SCON.4
     SBUF = 0X0;
     TI = 0;              /*SCON.1*/
$$end$
}
void main(void)
{
      init_serial( );
}

##80C52 TIMER0#
##80C54 TIMER0#
##80C58 TIMER0#
##80C51FA TIMER0#
##80C51FB TIMER0#
##80C51FC TIMER0#
#include <51fx.h>
/* Configure Timer $$TIMERX$
   - Mode                  = $%4TMOD.0-1$0$1$2$3$
   - Interrupt                   = $%tIE.1$ENABLED$DISABLED$
   - Clock Source                = $%tTMOD.2$EXTERNAL$INTERNAL$
   - Enable Gating Control    = $%tTMOD.3$ENABLED$DISABLED$
*/
void init_timer$$TIMERX$(void)
{
     TMOD &= 0XF0;                    /* clear Timer 0   */
     TMOD  |= 0X$$TMOD$;
     TL0 = 0X$$TL0$;                   /* value set by user    */
     TH0 = 0X$$TH0$;                  /* value set by user  */
$$if$ IE.1
     ET0 = 1;        /* IE.1*/
$$end$
     TR$$TIMERX$ = 1;                /* TCON.4 start timer  */
}
void main(void)
{
      init_timer$$TIMERX$( );
}

##80C52 TIMER1#
##80C54 TIMER1#
##80C58 TIMER1#
##80C51FA TIMER1#
##80C51FB TIMER1#
##80C51FC TIMER1#
#include <51fx.h>
/* Configure Timer $$TIMERX$
   - Mode                        = $%4TMOD.4-5$0$1$2$3$
   - Interuppt                   = $%tIE.3$ENABLED$DISABLED$
   - Clock Source                = $%tTMOD.6$EXTERNAL$INTERNAL$
   - Enable Gating Control    = $%tTMOD.7$ENABLED$DISABLED$
*/
void init_timer$$TIMERX$(void)
{
      TMOD  &= 0XF;       /* clear Timer 1 control    */
      TMOD = 0X$$TMOD$ ;
      TL1 = 0X$$TL1$ ;                  /* value set by user         */
      TH1 = 0X$$TH1$ ;                 /* value set by user          */
$$if$ IE.3
      ET1 = 1 ;          /* ET0 is IE.3         */
$$end$
      TR$$TIMERX$ = 1;                /* TCON.6  start timer      */
}
void main(void)
{
      init_timer$$TIMERX$( );
}

##80C52 TIMER2#
##80C54 TIMER2#
##80C58 TIMER2#
##80C51FA TIMER2#
##80C51FB TIMER2#
##80C51FC TIMER2#
#include <51fx.h>
/* The Timer is set to $%5T2MODES$No Operation$Auto Reload$Capture$BaudRate Generator$Clock Out$ */
$$if$ (T2MODES == 1) || (T2MODES == 2)
/* Clock Source       = $%tT2CON.1$EXTERNAL$INTERNAL$                           */
$$if$ (T2MODES == 1)
/* Count Direction    = $%tT2MOD.0$UP/DOWN depending on T2EX pin$UP$    */
$$end$
/* Reload Value by $%tT2CON.3$External Transition$Overflow$                        */
$$end$
void init_timer$$TIMERX$(void)
{
      T2CON = 0X$$T2CON$;
      T2MOD = 0X$$T2MOD$;
$$if$ (T2MODES == 1) || (T2MODES == 2)
      TL2  = 0X0;       /*  set by user    */
      TH2  = 0X0;                /*  set by user    */
      RCAP2L = 0X0;     /*  reload value low     */
      RCAP2H = 0X0;        /*  reload value high    */
$$if$ T2CON.3
      EXEN2 = 1;    
/*       will allow capture or reload on negative transistion
         also in Reload controls direction of Count.
         logic 1 counts up logic 0 will count down 
*/      
$$end$
$$end$
$$if$ (T2MODES == 4)
      RCAP2L = 0X$$RCAP2L$;       /* Clk Out Value    */
      RCAP2H = 0X$$RCAP2H$;      /* Clk Out Value     */
$$end$
     TR2  = 1;                                 /*  T2CON.2 start timer  */
}
void main(void)
{
      init_timer$$TIMERX$( );
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -