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

📄 lufang.c

📁 单片机为AT89S52
💻 C
字号:
#include<reg52.h>
//*************************//
#define uchar unsigned char
#define uint  unsigned int
#define ulong  unsigned long
//*******管脚定义************//
#define ad P0
sbit ad16=P2^0;
sbit ad17=P2^1;
sbit ale_l=P2^2;
sbit ale_h=P2^3;
#define key P1
sbit clk=P3^4;
sbit aden=P2^6;
sbit wr=P3^6;
sbit daen=P2^7;
sbit rd=P3^7;
//***********全局变量*************//
uchar key_value=0;
uchar state=0;
uchar ad_h=0;
uchar ad_l=0;
//*********MS延时子程序*************//
void mdelay(uchar j)
{
 uchar i;
 for(;j>0;j--)
  {
   for(i=170;i>0;i--);
  }
}
//***********初始化子程序************//
void inis(void)
{
 ad=0;                 //地址初始化//
 ad16=0;
 ad17=0;
 ale_l=0;
 ale_l=1;
 ale_l=0;
 ale_h=0;
 ale_h=1;
 ale_h=0;
 clk=1;
 wr=1;                   //控制信号初始化//
 rd=1;
 aden=1;
 daen=1;
 IT0=1;                  //外部中断0初始化//
 EX0=1;
 TMOD=0x02;              //定时器0初始化//
 TH0=0xc2;
 TL0=0xc2;
 ET0=1;
 PT0=1;
 TR0=1;
 EA=1;                   //开中断//
}
//***********外部中断0*************//
void int0() interrupt 0
{
 EX0=0;
 key=0xff;
 mdelay(50);
 key_value=~(key&0x0f);
 key_value=key_value-240;
 switch(key_value)
 {
  case 1: state=1;break;
  case 2: state=2;break;
  case 3: state=0;break;
  default: break;
 }
 EX0=1;
}
//***********定时器中断0*************//
void timer0() interrupt 1
{
 clk=~clk;
 if(!clk)
  {
   if(state)
    {
     if(state == 1)
       {
         aden=0;
         wr=0;
         ;
         aden=1;
         wr=1;
       }
     else
       {
         rd=0;
         daen=0;
         ;
         rd=1;
         daen=1;
       }
    }
  }
 else
  {
   if(state)
     {ad=ad_l;
      ale_l=1;
      ale_l=0;
      ad=ad_h;
      ale_h=1;
      ale_h=0;
	  ad_l++;
	  if(ad_l == 0)
	    {
		 ad_h++;
		 if(ad_h == 0)
		   {
		    ad16=!ad16;
			if(!ad16)
			  ad17=!ad17;
		   }
		}
     }
  }
}
//********主程序*************//
void main(void)
{
 inis();
 while(1)
 {
  if(ad17&ad16 && (~ad_h&0xff))
    {
	 state=0;
	}
  if(state == 0)
    {
	 ad_l=0;
	 ad_h=0;
	 ad16=0;
	 ad17=0;
	}
 }
}

⌨️ 快捷键说明

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