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

📄 sbuf.c

📁 数据采集及A/D转换滤波处理采用数字滤波
💻 C
字号:
 //接受一个 发送一个
#include <absacc.h>     //绝对地址访问
#include <intrins.h>    //内部函数
#include <reg52.h>      //寄存器定义
#include <ctype.h>      //字符函数 以上4个系统函数,直接调用

//---------------------------------
#define uchar unsigned char              //宏定义
uchar data recedata=0x00;             //定义变量
uchar data i,j;
//uchar data ad_flag=0x00;



sbit WDI=P2^4;           //位定义

sbit LED=P0^0;

//*********************************


                             //-------子程序------
void delay(void);             //延时子程序


void init(void);              //初始化子程序

                            //-------主程序------
main()
{

  init();

  for(j=0;j<5;j++) // 程序运行指示灯闪五次
  {
     for(i=0;i<150;i++)
     {
       delay();
     }
     LED=0;
     for(i=0;i<150;i++)
     {
       delay();
     }
     LED=1;
  }
  LED=1;
 for(;;)                       //主循环
  {

  }
 }






serial() interrupt 4  using 3       //串口中断服务程序
{
   EA=0;                            //中断时屏蔽外来中断
   ES=0;
   if(RI==1)
   {
     recedata=SBUF;

     if(recedata==0xCE)      //如接受的数据为05H 发送A0H
     {
        SBUF=0xEC;
        while(TI==0)        //等待发送结束
        { _nop_();}
        TI=0;
        LED=0;  //亮灯
        for (i=0;i<100;i++)   //延时后灯灭
        {
         delay();
        }
        LED=1;
     }
     RI=0;
   }
 ES=1;                          //开中断
 EA=1;
}

 void init(void)
{
  TMOD=0x20;         //波特率设置9600kbps  晶振11.0592CLK
  //TMOD=0x21;
  TH1=0xfd;
  TL1=0xfd;          //定时器1 方式2 初值
  //PCON=PCON&0x7f;
  PCON=0x00;         //波特率加倍位SMOD=0
  SCON=0xC0;         // 串口工作方式3 11位UART 加偶校验位
  REN=1;
  EA=1;
  ES=1;
  TI=0;
  RI=0;
  TR1=1;
  WDI=!WDI;

}




void delay(void)          //延时子程序
{
    uchar a;
    for(a=0;a<100;a++)
    {
       WDI=!WDI;
       _nop_();
       _nop_();
       _nop_();
       _nop_();
       _nop_();
       _nop_();
       _nop_();
       _nop_();
       WDI=!WDI;
       _nop_();
       _nop_();

    }
}


⌨️ 快捷键说明

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