单片机
返回首页

外部中断、定时中断、串口中断C51程序

2016-11-17 来源:eefocus

/********************************
 文件所用资源
1.外部中断0、1
  定时中断0、1
  串口中断
2.端口:P3.0,P3.1,P3.3,P3.4,P3.5
********************************/
sfr ISP_CONTR = 0xe7;
/*************************** 
 外部中断0服务子程序
****************************/
/*void Int0() interrupt 0
{   
}*/  
/***************************
 定时中断0服务子程序
****************************/
/*void timer0() interrupt 1
{   
}*/ 
/***************************
 外部中断1服务子程序
****************************/
/*void Int1() interrupt 2 
{   
}*/
/***************************
 自动ISP功能函数
***************************/
void isp_check(unsigned char tmp)
{
    static isp_counter=0;
 unsigned int i;
    unsigned char code isp_comm[16]=
 {0x12,0x34,0x56,0x78,0x90,0xab,0xcd,0xef,0x12,0x34,0x56,0x78,0x90,0xab,0xcd,0xef};
    if(tmp != isp_comm[isp_counter++]) 
 {
     isp_counter = 0;  
     return;
    }
    else if (isp_counter > 15) 
 {
        EA = 0;     
        for(i=0;i<5000;i++);
        ISP_CONTR = 0x60;  //软复位进入ISP下载模式   
    }   
}
/***************************
串口中断服务子程序
****************************/  
void serial () interrupt 4 

    if (RI) 
 {  
  RI = 0 ; 
        isp_check(SBUF);      
    }

/**************************
 串口发送一个字符 
**************************/
void com_send_dat(unsigned char dat) 

    SBUF=dat; 
 while (TI== 0); 
 TI= 0 ; 

/**************************
   串口初始化 
**************************/
void init_com( void ) 

 SCON=0x50 ;   //UART为模式1,8位数据,允许接收
    TMOD|=0x20 ;  //定时器1为模式2,8位自动重装
 TH1=0xfa ;     //波特率:19200 晶振='22.1184MHz' 
 TL1=0xfa;
 PCON|=0x80;  //SMOD=1;波特率加倍;   
   TR1 = 1 ;       //启动定时器1 
 ES=1;      //开串口中断

/**************************
   定时器0初始化 
**************************/
void init_timer0( void ) 

    TMOD|=0x02;  //定时器0为模式1,16位计数结构
 TH0=0xa0 ;      
 TL0=0xa0;
   //TR0=1;        //启动定时器0
 ET0=1;   //开定时中断0
}

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • CCD图像传感器在微光电视系统中的应用

  • 离子检测器电路分析

  • 一个简单的立体声平衡指示器电路

  • 分享一个电网倾角计电路

  • 使用NE555和磁簧开关的橱柜照明电路

  • 电谐波图形均衡器示意图

    相关电子头条文章