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

📄 090410.c

📁 C51/S52单片机的互锁开关程序 P2为按键输入 P1为输出,P0可接指示灯,显示是输出状态.P3.1为继电器驱动端. 还有些详细的功能,具体看代码吧..很简单
💻 C
字号:
//初始化
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
//初始化端口
sfr p0=0x80;
sfr p1=0x90;
sfr p2=0xA0;
sfr p3=0xB0;
//领狗
sfr wdtrst=0xa6;
//按键初始化
sbit key1=p2^0;
sbit key2=p2^1;
sbit key3=p2^2;
sbit key4=p2^3;
sbit key5=p2^4;
sbit key6=p2^5;
sbit key7=p2^6;
sbit key8=p2^7;
sbit key9=p3^3;
//显示初始化
sbit led1=p0^7;
sbit led2=p0^6;
sbit led3=p0^5;
sbit led4=p0^4;
sbit led5=p0^3;
sbit led6=p0^2;
sbit led7=p0^1;
sbit led8=p0^0;
sbit led9=p3^2;
//输出初始化
/*sbit out1=p1^0;
sbit out2=p1^1;
sbit out3=p1^2;
sbit out4=p1^3;
sbit out5=p1^4;
sbit out6=p1^5;
sbit out7=p1^6;
sbit out8=p1^7;*/
sbit out9=p3^0;
sbit outl=p3^4;
sbit outr=p3^5;
sbit jdq=p3^1;
//结束初始化
//声明延时函数(供key9用)
void delay(uint);
//void drvled9();
//开工
void main()
	{
		p0=0xff;
		p1=0x00;
		p2=0xff;
		p3=0xfe;
		key9=1;
		jdq=1;
//养狗
		wdtrst=0x1e;
		wdtrst=0xe1;

		while(1)
			{
//喂狗开始
				wdtrst=0x1e;
				wdtrst=0xe1;
//喂狗结束,开工
				if(key1==0)
					{
						p1=0x11;
						p0=0xfe;
						outl=0;
						outr=0;
						led9=0;
						jdq=1;
					}
				else
				if(key2==0)
					{
						p1=0x22;
						outl=0;
						outr=0;
						led9=0;
						jdq=1;
					}
				else
				if(key3==0)
					{
						p1=0x44;
						outl=0;
						outr=0;
						led9=0;
						jdq=1;
					}
				else
				if(key4==0)
					{
						p1=0x88;
						outl=0;
						outr=0;
						led9=0;
						jdq=1;
					}
				else
				if(key5==0)
					{
						p1=0x55;
						outl=0;
						outr=0;
						led9=0;
						jdq=1;
					}
				else
				if(key6==0)
					{
						p1=0x00;
						outl=1;
						outr=0;
						led9=0;
						jdq=1;
					}
				else
				if(key7==0)
					{
						p1=0x00;
						outl=0;
						outr=1;
						led9=0;
						jdq=1;
					}
				else
				if(key8==0)
					{
						p1=0x00;
						outl=0;
						outr=0;
						led9=1;
						jdq=0;
					}
				else
				if(key9==0)
					{
						delay(20);
						if(key9==0)
							{
								p1=0x00;
//								drvled9();
								jdq=0;
						}
					}
			}

	}
void delay(uint z)
{
	uint x,y;
	for(x=z;x>0;x--)
		for(y=254;y>0;y--);	
}

⌨️ 快捷键说明

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