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

📄 rf_test.c

📁 基于msc单片机仿真机的仿真程序
💻 C
字号:
#include"reg51.h"
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define  nop  _nop_()       /* 定义空操作指令 */
sbit in=P3^4;
sbit out=P3^6;
uchar dat_1,dat_2;
bit inter_psw=0;
/**********************************************/
void delay(uint v)
{
  while(v!=0)v--;
 }
/**********************************************/
void DL(void)
{
  uchar i;
  for(i=0;i<7;i++)
    {
     delay(7000);
     }
 }
/*********************************************/     
void process(void)
{
 uchar i;
 EA=0;
 for(i=0;i<8;i++)
   {
    delay(102);
    if(in)goto pro_end;
    }
 while(!in)nop;   
 delay(544);
 for(i=0;i<8;i++)
   {
     while(!in)nop;  
     delay(102);
     if(!in){dat_1=dat_1>>0x01;}
     else {delay(114);dat_1=(dat_1>>0x01)|0x80;}
    }
 delay(544);
 for(i=0;i<8;i++)
   {
     while(!in)nop;  
     delay(102);
     if(!in){dat_2=dat_2>>0x01;}
     else {delay(114);dat_2=(dat_2>>0x01)|0x80;}
    }
 if(dat_1==0xc4)
   {EA=0;if(dat_2==0x05)out=~out;SBUF=dat_2;while(TI==0);TI=0;EA=1;DL();}  
 pro_end:;  
 EA=1; 
 }             
/*************************************************************/   
void T0_count(void)interrupt 1 using 1
{
 inter_psw=1;
}

/*************************************************************/
void main(void)
{
 dat_1=0x00;
 dat_2=0x00;
 TMOD=0x26;                            //T1工作方式2
 TH1=0xfd;                             //串口波特率为9600
 TH0=0xff;
 TL0=0xff;
 SCON=0x40;                           //串口工作与方式1并禁止接受 
 EA=1;
 ET0=1;
 TR0=1;
 TR1=1;
 while(1)
  {
    if(inter_psw){process();inter_psw=0;}
   }  
}
/**************************************************************/ 

⌨️ 快捷键说明

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