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

📄 jieshou.c

📁 多点温湿度无线测量系统
💻 C
字号:
 //-----------------------函数声明,变量定义--------------------------------------------------------
#include <reg51.h>
#include <intrins.h>

#define uint unsigned int
#define uchar unsigned char

uchar RECEIVR_buffer,flag=0;
uchar code jieshou[]={"接收的内容是:  "};
#include"12864.H"

sbit	SETB	=P2^0;  
sbit	SETA	=P2^1;

sbit	AUX		=P2^2;      //状态

//===========================工作模式0===============================
void UTC1212_MODE0(void)
{
	 SETA=0;SETB=0;
}
//===========================工作模式1===============================
void UTC1212_MODE1(void)
{
	 SETA=0;SETB=1;
}
//===========================工作模式2================================
void UTC1212_MODE2(void)
{
	 SETA=1;SETB=0;
}
//============================工作模式3===============================
void UTC1212_MODE3(void)
{
	 SETA=1;SETB=1;
}

//--------------------------------------------------------------------------------------------------
// 函数名称: UART_init()串口初始化函数
// 函数功能: 在系统时钟为11.059MHZ时,设定串口波特率为9600bit/s
//            串口接收中断允许,发送中断禁止
//--------------------------------------------------------------------------------------------------
void UART_init()
{
    SCON =0x50;          //选择串口工作方式,打开接收允许
	TMOD =0x20;          //定时器1工作在方式2,定时器0工作在方式1
	TH1 =0xfd;           //实现波特率9600(系统时钟11.0592MHZ)
	TL1 =0xfd;
	TR1 =1;              //启动定时器T1
//	ET1 =0; 
	ES=1;                //允许串行口中断
	PS=1;                //设计串行口中断优先级
	EA =1;               //单片机中断允许
}
//--------------------------------------------------------------------------------------------------
// 函数名称: R_S_Byte()串口初始化函数
// 函数功能: 在系统时钟为11.059MHZ时,设定串口波特率为9600bit/s
//            串口发送数据
//--------------------------------------------------------------------------------------------------
void R_S_Byte(unsigned char R_Byte)
{	
	 SBUF = R_Byte;  
     while( TI == 0 );				//查询法发送数据
  	 TI = 0;
     
}



//------------------------------------------------------------------------------------------
// 函数名称: 主函数
// 函数功能: 接收信息,并在12864上显示
//--------------------------------------------------------------------------------------------------
void main(void)
{
   P3=0xfe;
   UART_init();						 //初始化串口
   UTC1212_MODE0();
   LcdInitiate();
   display_jieshou();
   while(1)
   {
      if(flag==1)
   	  {	 
	  ES=0;
	  display_num(0x80,0,RECEIVR_buffer);
	  flag=0;
	  }
	 ES=1;
   }

}

//--------------------------------------------------------------------------------------------------
// 函数名称: com_interrup()串口接收中断处理函数
// 函数功能: 接收包括起始位'S'在内的十位数据到数据缓冲区
//--------------------------------------------------------------------------------------------------
com_interrupt(void) interrupt 4 
{
  ES=0;
  flag=1;
  RI=0;               //清除中断标志位
  RECEIVR_buffer=SBUF;	   //接收串口数据		          
}

⌨️ 快捷键说明

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