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

📄 urat.c

📁 单片机上电后向串口数据0XAA
💻 C
字号:
/*
***************************************************************************
*
*					(C) Copyright 2007,单片机初学者园地
*                          All Rights reserved.
*
*项目名称:    51单片机学习开发系统
*                
*本文件名称:URAT.c 
*       
* 完成作者 : 单片机初学者 http://blog.ednchina.com/ahai0306/  qq:464976346  
* 当前版本 : V1.0        
* 完成日期 : 2007年5月1日
* 描    述 :  
*                单片机上电后向串口数据0XAA,接收到数据后,然后向串口发送接收到的数据
*             使初学者领略使用中断进行数据通信,传输方式为RS485
*              
****************************************************************************
*/


#include <reg52.h>		 //调用头文件(单片机内部的寄存器定义)

/******本段为硬件I/O口定义********/
sbit 	LED0   = P0 ^ 0;	 //KEY和发光管复用,请将4个跳线插到KEY端
sbit 	LED1   = P0 ^ 1;
sbit 	LED2   = P0 ^ 2;
sbit 	LED3   = P0 ^ 3;
sbit 	DIG0   = P0 ^ 4;	 //数码管位0
sbit 	DIG1   = P0 ^ 5;	 //数码管位1

//sbit 	BUZZ   = P3 ^ 3;	 //蜂鸣器

sbit    RS485_CON=P0 ^ 0;	 //485控制线


/**************************************************
** 函数名称: dellay
** 入口参数:h(unsigned int型)
** 出口参数:无
** 功能描述: 短暂延时,使用11.0592晶体,约0.01MS
****************************************************/
void dellay(unsigned int  h)
{
  while(h--);	   //0.01MS
}

 unsigned char data2;

/************主程序**************/
main()
{  
  TMOD=0x20;   //定时器1,方式2
  SCON=0x50;   //方式1,允许接收
  PCON=0;
  TL1=0xfd;	   //波特率:9600,晶体:11.0592M
  TH1=0xfd;
  TR1=1;	   //启动定时器1
  ES=1;		   //开串口中断
  RS485_CON=0;//485 RECEIVE
  EA=1;
  LED0=0;
  dellay(100);
  data2=0xaa;
  while(1)
  {
	dellay(10000);
	RS485_CON=1;
	SBUF=data2;
	dellay(30);
  };		//单片机待机  
} 

/**************************************************
** 函数名称: uart0_ISR
** 入口参数:无
** 出口参数:无
** 功能描述: 串口接收1字节数据,然后发送出去1字节,传输方式为RS485
****************************************************/
void uart0_ISR (void) interrupt 4 
{
 
 // LED1=!LED1;	//发送数据LED1闪烁
   EA = 0;
    if(TI)	  //接受
   {   
	LED0=!LED0;	//接收数据LED0闪烁
	TI=0;		//中断接收标志清除
	RS485_CON=0;//485 SEND
   	}
	else
	{ 
	data2=SBUF;
	 RI=0;
	} 
	  
    
  EA = 1;	  
}

⌨️ 快捷键说明

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