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

📄 cominit.txt

📁 c51编制的mcs51串口与定时器初始化和通讯中断程序。这是实际使用的程序
💻 TXT
字号:



//初始化段                
                ET0 = 1;                //允许时钟中断
                IT1=1;                  //下降沿触发
                EA=0;                   //关中断

                TMOD = 0x21;            //定时器0 ,方式一  ,定时器1,方式二,波特率
                TR0 = 1;                //开定时器0
                TR1 = 1;
                SCON = 0x50;            //串口模式1
                ES = 1;                 //允许串口中断
                TH1 = 0xf4;              //波特率2400;


                delay(100);

                TH0 = 0x4b;
                TL0 = 0xfc;
                WDI = 0;


                CS_V = HIGHT;

               WDI = 1;
               EA = 1;

//通讯中断
void serial_ISR () interrupt 4 using 3
{
   if (RI)
   {
     unsigned char tempbuf,temp;
     RI = 0 ;
     tempbuf=SBUF;
     if (tempbuf == 0xA0 )
     {
        for(temp = 0; temp <7 ;temp++)//清通讯缓冲,准备接受
        {
            COM_BUF[temp] = 0xff;

        }
        COM_COUNT = 0;              //指针指向0位
        com_time = 8;               //200~300ms通讯时限
        SHOW_TIME = 3;              //定显时限复位
     }
     else if (tempbuf == 0xAA )
     {
          
           
           com_time  = 3;      //取消通讯时限,不再接受显示数据
           COM_COUNT = 0;      //数据指针归零
           if(SW_4 == 1)
           {
              SHOW_TIME = 3;      //取消A1命令
              needblank = 1;      //申请黑屏
           }
       

     }
     else if(tempbuf == 0xA1)
     {
         SHOW_TIME = 103;
     }
     else
     {
        if(com_time > 3)
        {  //A0后200毫秒内,接受数据写入
           if(COM_COUNT < 8)
           COM_BUF[COM_COUNT] = tempbuf;
           COM_COUNT++;
        }
     }
    }
}

⌨️ 快捷键说明

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