123.c

来自「基于2262的发射模块的驱动程序」· C语言 代码 · 共 68 行

C
68
字号
#include<reg51.h>
sbit DISABLE=P3^3;     //取消
sbit ENABLE=P3^2;		//呼叫
sbit VC1=P3^6;
sbit VC2=P3^7;
#define SW  P2        //开关状态
#define OUT  P0        //送到2262
#define ERR  0xff
//----------初始化程序----------------
void init()
{
	IE=0x84;
	IT1=0;
	SW=0xff;
	VC1=1;
	VC2=1;
	}
//-----------延时程序-----------------
void debouncer()                         //-------------去抖--------------
{
	int i;
	for(i=0;i<1000;i++);
	}
void debouncer_0(unsigned int y)         //-------------可控延时----------
{
	int t;
	int z;
	for(t=0;t<y;y++)
		for(z=0;z<2400;z++);
}
	//----------------主程序-------------
main()
{
	init();
	while(1)
	{
		if(ENABLE==0)
			{
				debouncer();
				if(ENABLE==0)           //---------去抖动----------
				{
					OUT=SW;
					VC1=0;
				//	OUT=SW;
					debouncer();
					VC2=0;
				//	OUT=SW;
						}
				 while(ENABLE==0);      //---------等等松手---------
				 debouncer_0(200);
				 VC1=1;
				 VC2=1;
				 }
		}
	}
	//-------------中断服务-------------
	void my_int()     interrupt     2
	{
		EX1=0;
		VC1=0;
		VC2=0;
		OUT=ERR;
	    while(DISABLE==0);         //-------等待松手-----------
		debouncer_0(200);
	 	VC1=1;
		VC2=1;
		EX1=1;
		}

⌨️ 快捷键说明

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