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

📄 key.c

📁 温度控制PWM
💻 C
字号:
/*
*********************************************************
*Header:
*File Name:
*Author: 陈培炜,杨帆
*Data;2007
*Function:
********************************************************
*/
#include <REG52.h>
#include "Lcd.h"
#include "key.h"

unsigned char ut = 50;
unsigned char dt = 30;
sbit keyu = P3^4;
sbit keyd = P3^3;
sbit keyc = P3^2;
/*
*********************************************************
*Header:
*File Name:
*Author: 陈培炜,杨帆
*Data;2007
*Function: 按键中断初始化
********************************************************
*/
void Ext0Initial(void)
{
	IT0 = 1;  // 设外部中断0为下降沿触发 //
//	IE0 = 1;  // 设置最高中断级别,其余自然级别排序 //
	EX0 = 1;  // 开中断0 //
}
/*
/*********************************************************
*/
void Ext0Interrupt(void)	interrupt 0		 //按键中断程序
{
	unsigned char flag = 0;
	EX0 = 0;   	// 一般进中断就关中断,除非你需要被中断 //
				// 中间功能函数//
	if(keyc == 0)
	DelayUS(10000);	 //去抖动
	if( keyc == 0 )
	{
		cls();
		while(1)
		{
			if(flag == 2)
			{
		 		flag = 0;
				break;
			}
			else
			{
		 		if( keyu == 0 )		  //判断+按键是否按下
				DelayUS(10000);
				if( keyu == 0 )
		 		{
		 			if(flag == 0)
					{
						dt++;
						if(dt == 100)
						{
							dt = 30;
						}	
					}
					else
					{
				   		ut++;
						if(ut == 100)
						{
							ut = 50;
						}
					}		
		  		}

				if( keyd == 0 )		   //判断-按键是否按下
				DelayUS(10000);
		 		if( keyd == 0 )
		 		{
			 		if(flag == 0)
					{
						dt--;
						if(dt == 0)
						{
							dt = 30;
						}					
					}
					else
					{
				   		ut--;
						if(ut == 0)
						{
							ut = 50;
						}
					}		
			
		  		}

				if( keyc == 0 )		 //判断"位选"按键是否按下
				DelayUS(10000);
		 		if( keyc == 0 )
		 		{
					flag++;	
		  		} 	
			}
			disp2(dt,ut,flag);	   //显示设定的温度上下限值
		}
		cls();
	} 
	EX0 = 1;   	// 一般出中断就开中断 //
}
/**********************************************************

*********************************************************/


⌨️ 快捷键说明

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