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

📄 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.
//======================================================================

//======================================================================
//	工程名称:	TNRFDriver.spj
//	功能描述:	测量环境温度和目标温度,并用键盘控制播放温度值,利用61板上自带三个按键控制测温
//              按K1,连续播放目标温度和环境温度
//              按K2,仅播放目标温度
//              按K3,仅播放环境温度
//  IDE环境:   SUNPLUS u'nSPTM  IDE 2.0.0(or later)
//	涉及的库:	CMacro1016.lib
//              sacmv26e.lib
//	组成文件:	main.c/PlayData.c/Key.c/TNDriverUser.c
//              hardware.asm/isr.asm/TNRFDriver.asm
//              s480.h/hardware.h/
//              SPCE061A.inc/s480.inc
//	硬件连接:	
//              IOA13接红外测温模块A
//              IOA14接红外测温模块CLK
//              IOA15接红外测温模块D(Data)
//              V接VCC,G接GND
//	维护记录:	2006-4-20	v1.0    by hongyan.Feng
//======================================================================

//======================================================================
//	文件名称:	main.c
//	功能描述:	取测量数据,并根据键值进行播报
//              按K1,连续播放目标温度和环境温度
//              按K2,仅播放目标温度
//              按K3,仅播放环境温度
//	维护记录:	2006-4-20	v1.0
//======================================================================
#define P_Watchdog_Clear		(volatile unsigned int *)0x7012 

extern unsigned int TN_Data_Buff[5];		      //保存测量结果的数组
extern void TN_InitalIO(void);
extern void Key_Init(void);
extern unsigned int TN_IR_GetData(unsigned int Item);
extern unsigned int KeyScan(void);
extern void PlaySnd_Auto(unsigned int uiSndIndex);
extern void F_TempplayAndShow(float temp);

float iTemp;                                       //保存温度值
//========================================================
//	语法格式:	int main(void)
//	实现功能:	键盘控制测量环境温度和目标温度
//	参数:		无
//	返回值:	无
//========================================================
int main(void)
{
	unsigned int Key,iFlag = 1;	
	
	Key_Init();                                     //初始化键盘
	TN_InitalIO();                                  //初始化红外测温模块

	while(1)
	{
		Key = KeyScan();                             //扫描键盘

		switch(Key)
		{
			case 0:                                  //没有键按下				       
				break;
			case 0x0001:                             //第一个键K1按下
				while(iFlag)                         //判断是否测量出正确数据
				{
					iFlag = TN_IR_GetData(0x004c);   //测量目标温度,取温度值和iFlag
					*P_Watchdog_Clear = 0x0001; 
				}
				PlaySnd_Auto(16);                    //播放"OK"
				PlaySnd_Auto(15);                    //播放"目标温度"
				F_TempplayAndShow(iTemp);            //播放"测得目标温度值"
				iFlag = 1;                           //iFlag置1
				while(iFlag)                         //判断是否测量出正确数据
				{
					iFlag = TN_IR_GetData(0x0066);   //测量环境温度,取温度值和iFlag
					*P_Watchdog_Clear = 0x0001; 
				}
				PlaySnd_Auto(14);                    //播放"环境温度" 
				F_TempplayAndShow(iTemp);            //播放"测得环境温度值"
				iFlag = 1;                           //iFlag置1
				break;
			case 0x0002:                             //第二个键按下
				while(iFlag)                         //判断是否测量出正确数据
				{
					iFlag = TN_IR_GetData(0x004c);   //测量目标温度,取温度值和iFlag
					*P_Watchdog_Clear = 0x0001; 
				}
				PlaySnd_Auto(16);                    //播放"OK"
				PlaySnd_Auto(15);                    //播放"目标温度"
				F_TempplayAndShow(iTemp);            //播放"测得目标温度值"
				iFlag = 1;
				break;
			case 0x0004:                             //第三个键盘按下
				while(iFlag)                         //判断是否测量出正确数据
				{
					iFlag = TN_IR_GetData(0x0066);   //测量环境温度,取温度值和iFlag
					*P_Watchdog_Clear = 0x0001; 
				}
				PlaySnd_Auto(16);                    //播放"OK"
				PlaySnd_Auto(14);                    //播放"环境温度"
				F_TempplayAndShow(iTemp);            //播放"测得环境温度值"
				break;
			default:
				break;
		}
	}	
}
//====================================================================================
//main.c end
//====================================================================================

⌨️ 快捷键说明

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