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

📄 10to.c

📁 基于单片机的10根线束线缆检测器的源程序 #pragma sfr #pragma DI #pragma EI #pragma NOP //#pragma interrupt INTTM010
💻 C
字号:


#pragma sfr
#pragma DI
#pragma EI
#pragma NOP
//#pragma interrupt INTTM010  isr_INTTM000
#pragma interrupt INTTM80   isr_INTTM80
//#pragma interrupt INTTMH1   isr_INTTMH1
#pragma section @@CNST  OPT AT 80H
const char OPTION=0x94;

typedef	unsigned char	uchar;
typedef	unsigned int	uint;

//==PORT DEFINE==
#define SEND1_P                    P4.1
#define SEND2_P                    P4.2
#define SEND3_P                    P4.3
#define SEND4_P                    P4.4
#define SEND5_P                    P4.5
#define SEND6_P                    P4.6
#define SEND7_P                    P4.7

#define SEND8_P                    P13.0

#define SEND9_P                    P2.3
#define SEND10_P                   P2.2


#define RECEIVE1_P                 P4.0
#define RECEIVE2_P                 P3.0
#define RECEIVE3_P                 P3.1
#define RECEIVE4_P                 P3.2
#define RECEIVE5_P                 P3.3

#define RECEIVE6_P                 P12.2//X2
#define RECEIVE7_P                 P12.1//X1
#define RECEIVE8_P                 P12.3

#define RECEIVE9_P                 P0.0
#define RECEIVE10_P                P0.1

#define GREENLED_P                 P0.2
#define REDLED_P                   P0.3


#define NC1                        P2.1
#define NC2                        P2.0
#define NC3                        P12.0
#define NC4                        P3.4//RESET

//==PORT MODE DEFINE==
#define SEND1_PM                   PM4.1
#define SEND2_PM                   PM4.2
#define SEND3_PM                   PM4.3
#define SEND4_PM                   PM4.4
#define SEND5_PM                   PM4.5
#define SEND6_PM                   PM4.6
#define SEND7_PM                   PM4.7

#define SEND8_PM                   PM13.0

#define SEND9_PM                   PM2.3
#define SEND10_PM                  PM2.2


#define RECEIVE1_PM                PM4.0
#define RECEIVE2_PM                PM3.0
#define RECEIVE3_PM                PM3.1
#define RECEIVE4_PM                PM3.2
#define RECEIVE5_PM                PM3.3

#define RECEIVE6_PM                PM12.2
#define RECEIVE7_PM                PM12.1
#define RECEIVE8_PM                PM12.3

#define RECEIVE9_PM                PM0.0
#define RECEIVE10_PM               PM0.1

#define GREENLED_PM                PM0.2
#define REDLED_PM                  PM0.3








 static uchar a=0;
/****************************************************************
declare Function
****************************************************************/
void init_MPU ();
void init_port ();
void init_variables ();




/****************************************************************
     PROGRAM 
****************************************************************/
/****************************************************************
Module:   init_CPU
Function: Initialization of CPU
****************************************************************/
void init_MPU ()
{
     WDTM  = 0x70;
     PCC   = 0x00;
     PPCC  = 0x00;
     LSRCM = 0x01;			
     OSTS  = 0x00;			
     IF0   = 0x00;
     IF1   = 0x00;
     MK0   = 0xFF;                      
     MK1   = 0xFF;
}
/****************************************************************
Module:   init_port (void)
Function: Initialization of port
****************************************************************/
void init_port ()
{
 SEND1_PM                   = 0;
 SEND2_PM                   = 0;
 SEND3_PM                   = 0;
 SEND4_PM                   = 0;
 SEND5_PM                   = 0;
 SEND6_PM                   = 0;
 SEND7_PM                   = 0;
 //SEND8_PM                   = 0;
 SEND9_PM                   = 0;
 SEND10_PM                  = 0;


 RECEIVE1_PM                = 1;
 RECEIVE2_PM                = 1;
 RECEIVE3_PM                = 1;
 RECEIVE4_PM                = 1;
 RECEIVE5_PM                = 1;
 RECEIVE6_PM                = 1;
 RECEIVE7_PM                = 1;
 RECEIVE8_PM                = 1;
 RECEIVE9_PM                = 1;
 RECEIVE10_PM               = 1;

 GREENLED_PM                = 0;
 REDLED_PM                  = 0;

}
/****************************************************************
Module:   init_variables (void)
Function: Initialization of variables
****************************************************************/
void init_variables ()
{
     GREENLED_P                         = 1;
     REDLED_P                           = 1;

     SEND1_P                            = 0;
     SEND2_P                            = 0;
     SEND3_P                            = 0;
     SEND4_P                            = 0;
     SEND5_P                            = 0;
     SEND6_P                            = 0;
     SEND7_P                            = 0;
     SEND8_P                            = 0;
     SEND9_P                            = 0;
     SEND10_P                           = 0;
}
/*******************************************************
 Module:   startSendCheckWave_TM000 ()
 Function: 
*******************************************************/

/*void startSendCheckWave_TM000 ()
{
     CRC00  = 0x00;    //set CR000 as compare
     TOC00  = 0x03;
     CR000  = 3999;    //1KHz
     PRM00  = 0x00;    //8MHz
     TMC00  = 0x0C;
}*/

/*******************************************************
 Module:  init_TM80 ()
 Function: 
*******************************************************/

void init_TM80 ()
{
   TCE80 = 0;                   //disable timer80
   TMC80 = 0x00;		        //set input clock to fxp / 2^6 125Khz @ 8MHz
   CR80  =48;	             	//set interval time	
   TCE80 = 1;                   //start timer80
   TMIF80 = 0;                  //clear interrupt request flag
   TMMK80=0;                    //enable timer80 interrupt
}

/*******************************************************
 Module:  init_TMH1 ()
 Function: 
*******************************************************/
/*
void init_TMH1 ()
{
     TMHMD1 = 0x10;  
     CMP01  = 199;   
     TMIFH1 = 0;    
     TMMKH1 = 0;    
     TMHE1  = 1;    
}

8?
/*****************************************************************
ISR: 	isr_INTTMH1 ()
Function: Interrupt service routine of Timer H1
******************************************************************/
__interrupt void isr_INTTM80()
{   
      if  (a>12)
      a=0;

switch(a)
   {   case 0 :  {SEND1_P=1;SEND2_P=1;SEND3_P=1;SEND4_P=1;SEND5_P=1;SEND6_P=1;SEND7_P=1;SEND8_P=1;SEND9_P=1;SEND10_P=1;  break;}
       case 1 :  {SEND1_P=0;   break;}
       case 2 :  {SEND2_P=0;   break;}
       case 3 :  {SEND3_P=0;   break;}
       case 4:   {SEND4_P=0;   break;}
       case 5:   {SEND5_P=0;   break;}
       case 6:   {SEND6_P=0;   break;}
       case 7:   {SEND7_P=0;   break;}
       case 8:   {SEND8_P=0;   break;}
       case 9:   {SEND9_P=0;   break;}
       case 10 : {SEND10_P=0;  break;}
       case 11 : {SEND1_P=1;SEND2_P=1;SEND3_P=1;SEND4_P=1;SEND5_P=1;SEND6_P=1;SEND7_P=1;SEND8_P=1;SEND9_P=1;SEND10_P=1;  break;}
       case 12 : {SEND1_P=0;SEND2_P=0;SEND3_P=0;SEND4_P=0;SEND5_P=0;SEND6_P=0;SEND7_P=0;SEND8_P=0;SEND9_P=0;SEND10_P=0;  break;}
       default :              break;
   }
   
     a++;
//   SEND1_P      = ~SEND1_P;
}


/*****************************************************************
Module:   main()
Function: 
******************************************************************/
/*void main(void)
{
     DI ();
     WDTE = 0XAC;
     init_MPU ();
     init_port ();
     init_variables ();
    init_TM80 ();
     EI ();
     while(1)
    {
    NOP();
//SEND1_P=~SEND1_P;
// delay();



    }
}
*/

⌨️ 快捷键说明

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