标题:
自创电风扇调速系统(仅按键选择三种速度-函数调用)含单片机程序
[打印本页]
作者:
ppgun
时间:
2018-11-15 15:46
标题:
自创电风扇调速系统(仅按键选择三种速度-函数调用)含单片机程序
风速选择(仅按键选择三种速度-函数调用),目前并不完善,还望高手们指点。
单片机源程序如下:
/***********************************************************
文件名:FanSpeedControl.c
作者: Puqingmin
描述: 风扇的风速选择控制(按键"SPEED/ON"选择三种速度)
***********************************************************/
#include <reg51.h> //包含头文件
sbit P3_0=P3^0; //P3.0引脚控制风扇高速运行
sbit P3_1=P3^1; //P3.1引脚控制风扇中速运行
sbit P3_3=P3^3; //P3.3引脚控制风扇低速运行
sbit P1_7=P1^7; //定义可位寻址的变量P1_7
sbit P3_5=P3^5; //定义可位寻址的变量P3_5
sbit P3_7=P3^7; //定义可位寻址的变量P3_7
#define SpeedOrONChoiceKey ((P1_7==1)&&(P3_5==1)&&(P3_7==0)) //宏定义“风扇开及风速选择”按键
#define FanOffKey ((P1_7==0)&&(P3_5==1)&&(P3_7==1)) //宏定义“风扇关”按键
unsigned char FlagSpeedChoice=0; //定义风速选择控制变量
unsigned int Counter=0; //定义全局变量用于计数
/**********************************************************
函数名:Delay_ms
描述: 延时kms子程序
输入: 无
输出: 无
返回: 无
**********************************************************/
void Delay_ms(unsigned int k)
{
unsigned char i;
while(k--)
{
for(i=0;i<125;i++);
}
}
/**********************************************************
函数名:KeyChoiceControl
描述: 按键扫描函数
输入: 无
输出: 无
返回: 无
**********************************************************/
void KeyChoiceControl(void)
{
/*----以下程序扫描“SPEED/ON”键----*/
if(SpeedOrONChoiceKey) //“SPEED/ON”键被按下
{
Delay_ms(10); //延时10ms
if(SpeedOrONChoiceKey) //再次判断风速调节键是否被按下
{
while(SpeedOrONChoiceKey); //等待按键松开
++FlagSpeedChoice;
if(FlagSpeedChoice>3)
FlagSpeedChoice=1;
}
}
}
/**********************************************************
函数名:FanSpeedControl
描述: 速度选择控制函数
输入: 无
输出: 无
返回: 无
**********************************************************/
void FanSpeedControl(void)
{
/*----以下程序选择风扇的速度----*/
switch(FlagSpeedChoice)
{
case 1:
{
P3_3=0;
P3_1=1;
P3_0=1;
break;
}
case 2:
{
P3_3=1;
P3_1=0;
P3_0=1;
break;
}
case 3:
{
P3_3=1;
P3_1=1;
P3_0=0;
break;
}
}
}
/**********************************************************
函数名:main
描述: 主函数
输入: 无
输出: 无
返回: 无
**********************************************************/
void main(void)
{
P3=0xFF; //初始化P3口
P1=0xFF; //初始化P1口
while(1)
{
KeyChoiceControl();
FanSpeedControl();
}
}
复制代码
所有资料51hei提供下载:
风速选择(仅按键选择三种速度-函数调用)-3.zip
(13.27 KB, 下载次数: 47)
2018-11-15 15:46 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
iyuyii
时间:
2019-1-4 02:06
谢谢楼主的分享
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1