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

📄 z.c

📁 基于单片机的循环及串行中断的C程序源代码。
💻 C
字号:
#include  
#define uchar  unsigned char 
uchar time,b_break,b_break_3; 
uchar buf; 
void waitsend() 
{ 
     while(!TI) 
     { 
     }; 
     TI=0; 
} 
//串行中断程序 
void int_s(void) interrupt 4 { 
 ES = 0;    //关闭串行中断 
 RI = 0;    //清除串行接受标志位 
 buf = SBUF;  //从串口缓冲区取得数据 
 P1 = buf;    //数据送往p1口显示出来 
 if(buf == 255) SBUF = 255; //发送联络信号 
 else{ 
     switch(buf) 
     { 
         case 1: SBUF = 'M',waitsend();break;   //如果接受到1,发送字符'M'给计算机 
         case 2: SBUF = 'C',waitsend();break;   //如果接受到2,发送字符'C'给计算机 
         case 3: SBUF = 'S',waitsend();break;   //如果接受到3,发送字符'S'给计算机 
         case 4: SBUF = '5',waitsend();break;   //如果接受到4,发送字符'5'给计算机 
         case 5: SBUF = '1',waitsend();break;   //如果接受到5,发送字符'1'给计算机     
                           
         default: SBUF = 'n',waitsend();break;  //如果接受到其它数据,发送n给计算机 
          
     } 
 } 
 ES=1;    //允许串口中断 
  
} 

void main(void) { 

    P0=0; 
    P2=255;    //关闭数码管显示 
     
 EA=1; 
 SCON=0x50;PCON=0X80; 
 TMOD=0x20;ES = 1; 
 TL1=TH1=0xf3;TR1=1;   //串口工作在模1,波特率4800@12Mhz) 
  
    while(1); 
                    //无限循环等待串行中断 
} 

⌨️ 快捷键说明

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