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

📄 按键调速控制程序.c

📁 按键调速控制
💻 C
字号:
                 	//AT89C52制作的LED彩灯的调速控制程序
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,//左右循环流水灯!
				  0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
uchar lede,t,a;//定义全局变量参数名
uchar speed,flag;
sbit K1=P2^1;//定义按键
sbit K2=P2^2;
sbit K3=P2^3;
void delay(uint z) //延时函数
{
	uint x,y;
	for(x=z;x>0;x--)
		for(y=110;y>0;y--);
}
void timer0() interrupt 1
{
	TH0=(65536-10000)/256;
	TL0=(65536-10000)%256;
	t++;
	if(t==speed)
	{
		t=0;
		lede=1;
	}
}
void init() //初始化函数
{
	TMOD=0X01;
	TH0=(65536-10000)/256;//定义进入中断时间为1MS
	TL0=(65536-10000)%256;
	EA=1;//开总中断
	ET0=1;
	TR0=1;//启动T0定时器
	lede=0;
	a=0;
	t=0;
	speed=100;
}
void main()//主函数
{
	init();
	while(1)
	{
		if(lede)
		{
			lede=0;
			P1=tab[a];
			a++;
			if(a==16)
			{
				a=0;
			}
		}
           	if(!K1)speed=100;//按键1是LED以1S的时速来回闪动!
			if(!K2)speed=50;//按键2是LED以50MS的时速来回闪动!
			if(!K3)speed=10;//按键1是LED以1MS的时速来回闪动!
	}
}

⌨️ 快捷键说明

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