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

📄 main.c

📁 环境测量系统 环境测量系统
💻 C
字号:
//====================================================================================
//	The information contained herein is the exclusive property of
//	Sunnnorth Technology Co. And shall not be distributed, reproduced,
//	or disclosed in whole in part without prior written permission.
//	(C) COPYRIGHT 2003 SUNNORTH TECHNOLOGY CO.
//	ALL RIGHTS RESERVED
//	The entire notice above must be reproduced on all authorized copies.
//====================================================================================
//====================================================================================
//工 程 名: Envi_Measure.spj
//功能描述: 环境测量系统毕业设计大礼包
//          系统一直监测环境光线状况,如果光线太强或者太弱,系统会自动提示
//          利用61板的KEY3键控制温度测量及语音播报,每按一次KEY3键,61板播放一次温度值及温馨提示,如果光线柔和,同样会播放"光线柔和"
//包含文件: main.c\Tem_Meature.c\Lig_Measure\PlayVoice.c
//          isr.asm\hardware.asm\AD.asm
//          SPCE061A.h
//          SPCE061A.inc
//硬件连接: 用10pin排线连接IOA的低8位与传感器模组的J2
//维护记录: 2006年8月21     v1.0    by hongyan.Feng
//====================================================================================

//====================================================================================
//文 件 名: main.c
//功能描述: 环境测量系统主函数文件,进行光线检测和温度测量
//维护记录: 2006年8月21         by hongyan.Feng
//====================================================================================
#include "SPCE061A.h"
extern void Key_Init(void);						//键盘初始化函数,在Key.c中定义
extern unsigned int KeyScan(void);				//键盘扫描函数,在Key.c中定义
extern unsigned int Temp_Measure(void);			//温度测量函数,在Tem_Meature.c中定义
extern unsigned int Light_Measure(void);		//光线测量函数,在Lig_Measure.c中定义
extern void PlaySnd(unsigned int SndIndex);		//申明语音播放指定段语音的函数
extern void PlayData(unsigned int iData);		//申明语音播放某一个3位数字的函数 

unsigned int SFlag = 0;							//作为温度或者光线测量标志,测量温度时,此标志置为1;测量温度时,此标志置为2.
//====================================================================================
//语法格式:int main(void)
//功能描述: 主函数,监测光线,并根据按键与否进行温度测量
//入口参数: 无
//出口参数: 无
//维护记录: 2006年8月21         by hongyan.Feng
//====================================================================================
int main(void)
{
	unsigned int Key,Temp,Result;				//Key保存键值,Temp,Result分别保存温度和光线测量返回值
	Key_Init();									//键盘初始化
	
	while(1)                      
	{ 	
		SFlag = 2;
		Result = Light_Measure();				//测量并播放光线状况,这个函数在Lig_Measure.c文件中定义
		if(Result == 1)							//光敏电阻为>15K,太暗
		{
			PlaySnd(20);						//播放"光线"
			PlaySnd(23);						//播放"太弱"
			PlaySnd(24);						//播放"请"
			PlaySnd(25);						//播放"注意保护眼睛"
		}
		if(Result == 2)							//光敏电阻为<2K,光线太刺眼
		{
			PlaySnd(20);						//播放"光线"
			PlaySnd(22);						//播放"太强"
			PlaySnd(24);						//播放"请"
			PlaySnd(25);						//播放"注意保护眼睛"	
		}
		if(Result == 0)
		{										//光敏电阻为2K<R<15K,光线柔和   		                                    
			*P_Watchdog_Clear = 0x0001;			//清看门狗
		}
		Key = KeyScan();						//键盘扫描,取键值
		if(Key == 0x0004)						//如果是KEY3键按下
		{
			SFlag = 1;
			Temp = Temp_Measure();				//测量并播放温度
//			PlaySnd(20);						//播放"现在" 
			PlaySnd(13);						//播放"温度"	
			PlayData(Temp);						//播放温度值,PlayData()函数在PlayVoice.c文件中定义
			PlaySnd(12);						//播放"摄氏度"
			if(Temp>32)
			{
				PlaySnd(13);					//播放"温度"
				PlaySnd(14);					//播放"太高"
				PlaySnd(16);					//播放"请"
				PlaySnd(17);					//播放"调大"
				PlaySnd(19);					//播放"空调"
			}
			if(Temp<15)
			{
				PlaySnd(13);					//播放"温度"
				PlaySnd(15);					//播放"太低"
				PlaySnd(16);					//播放"请"
				PlaySnd(18);					//播放"调小"
				PlaySnd(19);					//播放"空调"
			}
			if(Result == 0)
			{
				PlaySnd(20);					//播放"光线"
				PlaySnd(21);					//播放"柔和"
			}
		}
		*P_IOA_Data &= 0xfffb;					//IOA2口回低电平 
		*P_Watchdog_Clear = 0x0001;				//清看门狗
	}
}

⌨️ 快捷键说明

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