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

📄 serial.c

📁 < 嵌入式系统编程源代码解析>>这本书所附的代码,有了几个典型的实例,但有些看不懂,不知它是基于什么的,不好入手搞.
💻 C
字号:

#include <reg51.h>


#define    FLOW_TH0     0X0EA      //for 11.059MHz crystal
#define    FLOW_TL0     0X0CE

#define SOH 0X01

sbit LED = P1^7;

unsigned char c;
unsigned char k;
unsigned char MSec;


bit Led_Cont =0;
bit Speed =0;







timer0 () interrupt 1 using 1 {
 TR0=0;
 TH0=FLOW_TH0;
 TL0=FLOW_TL0;
 TR0=1;
 MSec++; 
 if(MSec == 0x96 && Led_Cont == 0 && Speed ==0){    
   LED = 1;
   Led_Cont=1;
   MSec = 0;
 }else if(MSec == 0x96 && Led_Cont == 1 && Speed ==0){
   LED = 0;
   Led_Cont=0;
   MSec = 0;
 }else if(MSec == 0x32 && Led_Cont == 0 && Speed == 1){   
   LED = 1;
   Led_Cont=1;
   MSec = 0;
 }else if (MSec == 0x32 && Led_Cont == 1 && Speed == 1){
   LED = 0;
   Led_Cont=0;
   MSec = 0;
 }
}







void Start_Up(void)
{
 CY=0;                      
 ACC=0;
 TH0=FLOW_TH0;
 TL0=FLOW_TL0;
 TMOD=0X01;
 k=0; 
 RXD=1;
 TXD=1;
} 







void Sport_Init()
{
 SCON=0X50;
 TMOD |=0X20;
 TH1=0XFD;
}







void Ena_Int()
{
 TR0=1;
 TR1=1;
 ET0=1;
 EA=1;
 TI=1;
}








void main(void)
{                    
 EA=0;
 Start_Up();
 Sport_Init();
 Ena_Int();

 while(1)
 {

     	for(;(k<=4 && TI);k++)
           {
       	    TI=0;	
       	    SBUF=SOH;
           }	
         if(RI)
          {
           c=SBUF;
      	   RI=0;
     	   if(c == 'Y')
      	     {
	      Speed=1;	
             }
         }
  }
}

⌨️ 快捷键说明

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