📄 main.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 + -