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

📄 stc12le5404ad.txt

📁 STC12C5404AD的串口程序
💻 TXT
字号:
/*STC单片机串行口测试程序*/
/*波特率2400,1个起始位,1个停止位,8个数据位,无奇偶校验*/
/*在计算机的串行口调试助手上发送十六制的AA,则在串行口调试助手中会收到十六进制的BB*/

#include <reg51.h>
sbit EN=P3^7;
/*串口初始化函数*/
void init_seril()
{

TMOD=0x20;    /*定时器采用方式2*/
TH1=0xE8;     /*定时器的初始值*/
TL1=0xE8;
TR1=1;         /*开定时器1*/
PCON=0x80;     /*SMOD=1*/
SCON=0x50;     /*串口工作于工作方式1,波特率2400,充许接收*/
}

void main()
{

RI=0;       /*接收中断清0*/
EA=1;       /*开中断*/
ES=1;       /*开串行中断*/
init_seril();/*初始化串口*/
while(1)
{
 EN=0;         /*485处于接收数据的状态*/
 RI=0;         /*清接收中断标志位*/
}
}

/*串口接收中断函数,当接收到的是AA时,发送BB,都为十六进制*/
serial() interrupt 4 using 1
{

EA=0;                     /*关总中断*/
if((SBUF==0xAA)&&(RI==1))
{     RI=0;
      TI=0;
      EN=1;             /*充许485发数据*/
      SBUF=0xBB;
      while(TI==0);     /*等待发数据完毕*/
      TI=0;
}
      EA=1;               
}

/*取地址号的程序*/


unsigned char getDevNO(void)
{    
     unsigned char a, aH,aL;
      
      aH=P3;
	  aL=P1;
	  a=((aH<<2)&(0xF0))|((aL>>2)&(0x0F));
      return ~a;
}

⌨️ 快捷键说明

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