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

📄 recievenew.c

📁 本程序基于RF433M无线数传模块
💻 C
字号:
#include <w78e54.h>
#include <intrins.h>
#include "absacc.h"	  
#define	uchar unsigned char
#define uint unsigned int
void    Int_program_check(void);
uchar   recievebuf_MCU[4];  
sbit    LEDDISP=P3^6;
bit     int_set_flag;
/*--------------------------------------------------*/
void Delay_ms(unsigned char j)
{
  	unsigned int k,l;   
  	for(l=0;l<=j;l++)
	{
		for(k=0;k<=500;k++)
	 	{ ;
//	   	  WDTC=WDTC|0x40;        //Clear  Watchdog
	 	}
	}   
}
//===================================================
//===================================================
//     串口程序
//===================================================
uchar i,pf;
uint up_number;
void serial_int() interrupt 4  
{
   ES =0;                     
   RI =0;
   LEDDISP=0;
   up_number=0;
   pf=0;
   i=0;
   recievebuf_MCU[0]=SBUF;
   pf+=recievebuf_MCU[0];
   while(1)
    {
	  if(RI==0)
	    {
		  up_number++;
		  if(up_number>5000)
		    break;
		}
	  else
	    {
		  RI=0;
		  recievebuf_MCU[1+i]=SBUF;
		  pf+=recievebuf_MCU[1+i];
		  i++;
		  up_number=0;
		}
	}
  if((pf-recievebuf_MCU[i])==recievebuf_MCU[i])
     int_set_flag=1;
  else 
     int_set_flag=0;
  RI=0;
  ES=1;                        //OPEN 串口中断
  LEDDISP=1;
}
//****************************************************
//主程序开始 		 	   				  			
//****************************************************
void main(void)
{  	
    Delay_ms(50);              
	TMOD=0x21;		           //T1设置为定时方式2 ,T0 under mode 1 
	TH1=0xfd;			       //设置波特率为9600,11.059MHZ
	TL1=0xfd;			
	TR1=1;
	PCON=0x00;		           //SMOD=1
	SCON=0x50;		           //串口方式1
    ES=1;                      //enable serial interrupt
    EA=1;                      //open whole interrup 
//	WDTC=0xc7;                 //2.5s
//========================================================
	while(1)
	{
//	    WDTC=WDTC|0x40;        //Clear  Watchdog
	    if(int_set_flag)
		 {
		   int_set_flag=0;
		   Int_program_check();
		 }
    } 
}
/**********************************************************
 主程序结束
//=======================================================*/
uchar  keyvalue1,keyvalue2,keyvalue3;
void Int_program_check(void)
 {
   keyvalue1=recievebuf_MCU[2];
   keyvalue2=recievebuf_MCU[3];
   keyvalue3=recievebuf_MCU[4];
   P0=keyvalue1;
   P1=keyvalue2;
   P2=keyvalue3;
   Delay_ms(20);
   P0=0xff;
   P1=0xff;
   P2=0xff; 
 }

⌨️ 快捷键说明

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