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

📄 serial .c

📁 本程序用来实现控制两台主控机对传感器数据的共享!
💻 C
字号:
#include <REGX52.h>
#include <stdio.h>
#include <absacc.h>
#include <intrins.h>
#include <string.h>

sbit    WDI=P1^0;               //看门狗检测输入信号
sbit    SWITCH=P1^2;            //通道变换开关信号
sbit    ACCESS1=P2^1;           //通道1指示灯
sbit    ACCESS2=P2^2;           //通道2指示灯

void SystemIoInit(void);
extern void RESET(void);

void main(void)
{
  unsigned char i,j;
  unsigned char tmp;

 

  while (1)
  {
  EA=0;

  TMOD=0X20;
  SCON=0X50;
  PCON=0X80;
  TL1=250;
  TH1=250;
  TR1=1;

  IE=0X90;//EA=1,ES=1:打开串口中断

  SystemIoInit();//系统接口初始化


    IT1=1;//保证外部INT1边沿触发中断

	tmp=0;
    i=0;
    j=0;

    /*PCON |= SMOD_ + GF0_ + IDL_;//进入空闲状态并喂软件狗*/
	for (i=0;i<2;i++)
	{
       for (j=0;j<5;j++)
	   {
          tmp++;
		  tmp--;
	   }
	   WDI=1;
	   WDI=0;
	}

    _nop_();
    _nop_();
  }
}
/*串口中断服务子程序*/
void  serial() interrupt 4 using 1
{
RI=0;

TH0=-5000/256;
TL0=-5000%256;
TR0=1;
ET0=1;


}
/*定时器0中断服务子程序*/
void timer0() interrupt 1 using 2
{
TH0=-5000/256;
TL0=-5000%256;
ET0=0;
TR0=0;

RCAP2H =0x10;                //赋T2的预置值0x1000,溢出30次就是1秒钟
RCAP2L =0x00;    
TR2=1;                       //启动定时器
ET2=1;                       //打开定时器2中断



SWITCH=0;
ACCESS2=0;
}
/*定时器2中断服务子程序*/
void timer2() interrupt 5 using 0
{
TF2=0;          //清除定时器2中断标志

ET1=0;         //关闭定时器2
TR1=0;

SWITCH=0;
ACCESS2=0;
}
/*------------------------------------
         外部INT0中断服务程序
------------------------------------*/
void int0() interrupt 0 using 1
{
  RESET ();
}

/*------------------------------------
         外部INT1中断服务程序
------------------------------------*/
void int1() interrupt 3 using 1
{
ACCESS1=0;

ET1=0;     //关闭定时器2
TR1=0;
}

/*------------------------------------
         系统接口初始化子程序
------------------------------------*/
void SystemIoInit(void) using 0
{
  IE = 0x00;//关闭中断
  P2 = 0xff;//P2口初始化
  P0 = 0xff;//P0口初始化
  P1 = 0xff;//P1口初始化
  P3 = 0xff;//P3口初始化
}






⌨️ 快捷键说明

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