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

📄 function.c

📁 采用MPS430控制的项目
💻 C
📖 第 1 页 / 共 3 页
字号:
#define   _Function_
#include  "..\Inc\includes.h"
extern unsigned char TX_Byte(unsigned char);
extern void Init_Sys(void);
extern void TA0_ISR(void);

void sendsound(unsigned char k,unsigned char const *p)
{
	unsigned char i;
 	for(i=0;i<k;i++)	TX_Byte(p[i]);
}

void sound_txt(unsigned char *p)
{
	 uchar l;
	 l=strlen((char *)p);
	 TX_Byte(0xfe);
	 TX_Byte(0x01);
	 TX_Byte(0x00);
	 TX_Byte(l);
	 sendsound(l,p);
}
/***************************************************************************
* 函数名称: ON_face 
*
* 功能描述: 显示 图标 东电通信连接未来 维持约2S
*
* 入口参数: 无
*
* 出口参数: 无
*
* 全局变量: Dode,Dodem
* 
* 调用模块:  write_word();
*
* 作    者: Cache
* 创建时间: 2006年1月16日
**************************************************************************/
void      ON_face(void)
{
	Uint8  x1=0,k,y1=43;
	Uint32 z=0;
	write_word(50,8,Dode,32,16);  			// 东电标志、上半部分
    write_word(50,24,&Dode[64],32,16);  	// 东电标志、下半部分     
    for(k=0; k<8; k++)
    {
		write_word(x1+k*15,y1,Dodem[k],16,16);     
     	for(z=0;z<15000;z++)	;
    }
   //for(z=0;z<100000;z++);          // 时间等待
}
/*********************************************************************************************************
* 函数名称:ON_1_face
*
* 功能描述: 显示系统主菜单(系统设置实时显示及报警)
*
* 入口参数: 无
*
* 出口参数: 无
*
* 全局变量: XitongShezhi,  Menu_ID
* 
* 调用模块:write_word;   write_number;
*
* 作    者: Cache
* 创建时间: 2006年1月16日
********************************************************************************************************/
void      ON_1_face(void)
{
Uint8 k,x1=32,y1=6;
clear();
	for(k=0;k<4;k++)
	{   
		write_word(x1+k*16,y1,XitongShezhi[k],16,16);
	    write_word(x1+k*16,y1+18,XitongShezhi[k+4],16,16);
    	write_word(x1+k*16,y1+18+18,XitongShezhi[k+8],16,16);
 	} 
  	write_number(x1-12,y1,1);
  	write_number(x1-12,y1+18,2);
  	write_number(x1-12,y1+36,3);
  	Menu_ID=0;
}    

/*********************************************************************************************************
* 函数名称:ON_SET_FACE
*
* 功能描述: 系统设置界面("通信设置","通道设置","时间设置","密码修改")
*
* 入口参数: 无
*
* 出口参数: 无
*
* 全局变量: TongxinShezhi Menu_ID
* 
* 调用模块:write_word;   write_number;
*
* 作    者: Cache
* 创建时间: 2006年1月16日
********************************************************************************************************/
void ON_SET_FACE(void)
{ 
	Uint8 k,x1=32,y1=0;
	clear();
	for(k=0;k<4;k++)
 	{  
 		write_word(x1+k*16,y1,TongxinShezhi[k],16,16);
	    write_word(x1+k*16,y1+16,TongxinShezhi[k+4],16,16);
	    write_word(x1+k*16,y1+16+16,TongxinShezhi[k+8],16,16);
	    write_word(x1+k*16,y1+16+16+16,TongxinShezhi[k+12],16,16);
	    write_number(x1-12,y1+16*k,k+1);
	} 
	write_word(x1+79,48,Arrow[0],16,16);
	Menu_ID=2;
}

/*********************************************************************************************************
* 函数名称:ON_SET_BDTX
*
* 功能描述: "通信设置"界面
*
* 入口参数: 无
*
* 出口参数: 无
*
* 全局变量: YuanduanIP, Menu_ID,IP
* 
* 调用模块:write_word;   write_number;
*
* 作    者: Cache
* 创建时间: 2006年1月16日
********************************************************************************************************/
void ON_SET_BDTX(void)
{ 
	Uint8 k,x1=32,y1=0;
	clear();
	for(k=0;k<2;k++)
   	{
   		write_word(x1+k*16,y1,YuanduanIP[k],16,16);
	    write_word(x1+k*16,y1+16,YuanduanIP[k],16,16);
	    write_word(x1+32+k*16,y1+16,YuanduanIP[k+4],16,16);
	    write_word(x1+k*16,y1+32,YuanduanIP[k+2],16,16);   
	    write_word(x1+k*16,y1+48,YuanduanIP[k+2],16,16);   
	    write_word(x1+32+k*16,y1+48,YuanduanIP[k+4],16,16);   
	}
 	for(k=0;k<2;k++)
   	{
    	write_word(x1+k*8+32,y1,IP[k],8,16); 
	    write_word(x1+k*8+32,y1+32,IP[k],8,16);
   	} 
	for(k=0;k<4;k++) 
  		write_number(x1-12,y1+16*k,k+1);
	Menu_ID=3;
}
/*********************************************************************************************************
* 函数名称:ON_SET_TongDao
*
* 功能描述: 本地通道设置界面
*
* 入口参数: 无
*
* 出口参数: 无
*
* 全局变量: MoniShuru  Menu_ID
* 
* 调用模块:write_word;   write_number;
*
* 作    者: Cache
* 创建时间: 2006年1月16日
********************************************************************************************************/
void ON_SET_TongDao(void)
{
	Uint8 k,x1=32,y1=0;
	clear();

	for(k=0;k<4;k++)
 	{  
 		write_word(x1+k*16,y1,MoniShuru[k],16,16);
	    write_word(x1+k*16,y1+16,MoniShuru[k+4],16,16);
    	write_word(x1+k*16,y1+16+16,MoniShuru[k+8],16,16);
	    if(k<3)write_number(x1-12,y1+16*k,k+1);
 	} 
 	Menu_ID=4;
}
/*********************************************************************************************************
* 函数名称:ON_EnterPsw
*
* 功能描述: 密码输入界面
*
* 入口参数: 无
*
* 出口参数: 无
*
* 全局变量: QingshuruMima Set_array_count Menu_ID
* 
* 调用模块:write_word;   write_number;
*
* 作    者: Cache
* 创建时间: 2006年1月16日
********************************************************************************************************/
void ON_EnterPsw(void)
{
Uint8 k,x1=20,y1=10;

	clear();
	for(k=0;k<5;k++)
   		write_word(x1+k*16,y1,QingshuruMima[k],16,16);
	write_number(x1+5*16,y1,11);    
	for(k=0;k<6;k++)
    	write_number(x1+k*8+16,y1+25,15);   
	Set_array_count=0;   
 	Menu_ID=1;
}
/*********************************************************************************************************
* 函数名称:ON_EnterYuanIP
*
* 功能描述: 远端IP设置界面
*
* 入口参数: 无
*
* 出口参数: 无
*
* 全局变量: QingshuruMima YuanduanIP Set_array_count Set_temp  Menu_ID
* 
* 调用模块:write_word;   write_number;
*
* 作    者: Cache
* 创建时间: 2006年1月16日
********************************************************************************************************/
void      ON_EnterYuanIP(void)
{
	Uint8 k,x1=2,y1=10,Mid;
	clear();
	for(k=0;k<3;k++)
   		write_word(x1+k*16,y1,QingshuruMima[k],16,16);//请输入
	for(k=0;k<2;k++)
   	{
   		write_word(x1+48+k*16,y1,YuanduanIP[k],16,16);//远端
   		write_word(x1+k*8+5*16,y1,IP[k],8,16);
   	}//ip
 	write_number(x1+5*16+2*8,y1,11);
 	x1=2;
	for(k=0;k<15;k++)
    	write_number(x1+k*8,y1+25,15);//_   
	write_number(x1+3*8,y1+25,12);//.
	write_number(x1+7*8,y1+25,12);//.
	write_number(x1+11*8,y1+25,12);//.
	
	Mid = Yuan_IP/0x1000000;
   	write_number_black(x1,y1+22,Mid/100);
   	write_number(x1+1*8,y1+22,Mid/10%10);
   	write_number(x1+2*8,y1+22,Mid%10);
   	Set_array[0]=Mid/100;Set_array[1]=Mid/10%10;Set_array[2]=Mid%10;
   	
   	x1+=7;
   	Mid = Yuan_IP/0x10000%256;
   	write_number(x1+3*8,y1+22,Mid/100);
   	write_number(x1+4*8,y1+22,Mid/10%10);
   	write_number(x1+5*8,y1+22,Mid%10);
   	Set_array[3]=Mid/100;Set_array[4]=Mid/10%10;Set_array[5]=Mid%10;
   	
   	x1+=7;
   	Mid = Yuan_IP/0x100%256;
	write_number(x1+6*8,y1+22,Mid/100);
   	write_number(x1+7*8,y1+22,Mid/10%10);
   	write_number(x1+8*8,y1+22,Mid%10);
   	Set_array[6]=Mid/100;Set_array[7]=Mid/10%10;Set_array[8]=Mid%10;
   	
   	x1+=6;
   	Mid = Yuan_IP%256;
	write_number(x1+9*8,y1+22,Mid/100);
	write_number(x1+10*8,y1+22,Mid/10%10);
   	write_number(x1+11*8,y1+22,Mid%10);
   	Set_array[9]=Mid/100;Set_array[10]=Mid/10%10;Set_array[11]=Mid%10;
	x1+=7;
	
	Set_array_count=0;    
	Set_temp=0;   
	Menu_ID=5;
}
/*********************************************************************************************************
* 函数名称:ON_EnterYuanDK
*
* 功能描述: 远端端口设置界面
*
* 入口参数: 无
*
* 出口参数: 无
*
* 全局变量: QingshuruMima YuanduanIP Set_temp  Menu_ID
* 
* 调用模块:write_word;   write_number;
*
* 作    者: Cache
* 创建时间: 2006年1月16日
********************************************************************************************************/
void      ON_EnterYuanDK(void)
{
	Uint8 k,x1=2,y1=10;
	clear();

	for(k=0;k<3;k++)
   		write_word(x1+k*16,y1,QingshuruMima[k],16,16);
 	for(k=0;k<2;k++)
   		write_word(x1+48+k*16,y1,YuanduanIP[k],16,16);//远端  
 	for(k=0;k<2;k++)
   		write_word(x1+5*16+k*16,y1,YuanduanIP[k+4],16,16);//端口    
 	write_number(x1+7*16,y1,11);    
 
 	x1=40;
 	for(k=0;k<5;k++)
    	write_number(x1+k*8,y1+25,15);   
    if(Yuan_dk>=10000)	write_number(x1+0*8,y1+22,Yuan_dk/10000);   else	write_number(x1+0*8,y1+22,30);
    if(Yuan_dk>=1000)	write_number(x1+1*8,y1+22,Yuan_dk/1000%10); else	write_number(x1+1*8,y1+22,30);
    if(Yuan_dk>=100)	write_number(x1+2*8,y1+22,Yuan_dk/100%10);  else	write_number(x1+2*8,y1+22,30);
    if(Yuan_dk>=10)		write_number(x1+3*8,y1+22,Yuan_dk/10%10);   else	write_number(x1+3*8,y1+22,30);
   	write_number(x1+4*8,y1+22,Yuan_dk%10);
 	Set_temp=0;   
 	Menu_ID=6;
}
/*********************************************************************************************************
* 函数名称:ON_EnterIP
*
* 功能描述: 本地IP设置界面
*
* 入口参数: 无
*
* 出口参数: 无
*
* 全局变量: QingshuruMima YuanduanIP Set_temp  Menu_ID IP
* 
* 调用模块:write_word;   write_number;
*
* 作    者: Cache
* 创建时间: 2006年1月16日
********************************************************************************************************/
void      ON_EnterIP(void)
{
	Uint8 k,x1=2,y1=10,Mid;
	clear();
	for(k=0;k<3;k++)
   		write_word(x1+k*16,y1,QingshuruMima[k],16,16);//请输入
	for(k=0;k<2;k++)
   	{
   		write_word(x1+48+k*16,y1,YuanduanIP[k+2],16,16);//本地
		write_word(x1+k*8+5*16,y1,IP[k],8,16);
	}//ip
	write_number(x1+5*16+2*8,y1,11);  
 	x1=2;
	for(k=0;k<15;k++)
    	write_number(x1+k*8,y1+25,15);//_   
	write_number(x1+3*8,y1+25,12);//.
	write_number(x1+7*8,y1+25,12);//.
	write_number(x1+11*8,y1+25,12);//.

	Mid = Bendi_IP/0x1000000;
	write_number_black(x1,y1+22,Mid/100);
	write_number(x1+1*8,y1+22,Mid/10%10);
   	write_number(x1+2*8,y1+22,Mid%10);
   	Set_array[0]=Mid/100;Set_array[1]=Mid/10%10;Set_array[2]=Mid%10;
   	
   	x1+=7;
   	Mid = Bendi_IP/0x10000%256;
	write_number(x1+3*8,y1+22,Mid/100);
	write_number(x1+4*8,y1+22,Mid/10%10);
   	write_number(x1+5*8,y1+22,Mid%10);
   	Set_array[3]=Mid/100;Set_array[4]=Mid/10%10;Set_array[5]=Mid%10;
   	
   	x1+=7;
   	Mid = Bendi_IP/0x100%256;
	write_number(x1+6*8,y1+22,Mid/100);
	write_number(x1+7*8,y1+22,Mid/10%10);
   	write_number(x1+8*8,y1+22,Mid%10);
   	Set_array[6]=Mid/100;Set_array[7]=Mid/10%10;Set_array[8]=Mid%10;
   	
   	x1+=7;
   	Mid = Bendi_IP%256;
	write_number(x1+9*8,y1+22,Mid/100);
   	write_number(x1+10*8,y1+22,Mid/10%10);
   	write_number(x1+11*8,y1+22,Mid%10);
   	Set_array[9]=Mid/100;Set_array[10]=Mid/10%10;Set_array[11]=Mid%10;
	x1+=7;
	Set_array_count=0;    
	Set_temp=0; 
	Menu_ID=7;
}
/*********************************************************************************************************
* 函数名称:ON_EnterDK
*
* 功能描述: 本地端口设置界面
*
* 入口参数: 无
*
* 出口参数: 无
*
* 全局变量: QingshuruMima YuanduanIP Set_temp  Menu_ID
* 
* 调用模块:write_word;   write_number;
*
* 作    者: Cache
* 创建时间: 2006年1月16日
********************************************************************************************************/
void      ON_EnterDK(void)
{
	Uint8 k,x1=2,y1=10;
	clear();
	for(k=0;k<3;k++)
   		write_word(x1+k*16,y1,QingshuruMima[k],16,16);
	for(k=0;k<4;k++)
   		write_word(x1+3*16+k*16,y1,YuanduanIP[k+2],16,16);//端口    
	write_number(x1+7*16,y1,11);    
	x1=40; 
 	for(k=0;k<5;k++)
    	write_number(x1+k*8,y1+25,15);  
    if(Bendi_dk>=10000)	write_number(x1+0*8,y1+22,Bendi_dk/10000);   else	write_number(x1+0*8,y1+22,30);
    if(Bendi_dk>=1000)	write_number(x1+1*8,y1+22,Bendi_dk/1000%10); else	write_number(x1+1*8,y1+22,30);
    if(Bendi_dk>=100)	write_number(x1+2*8,y1+22,Bendi_dk/100%10);  else	write_number(x1+2*8,y1+22,30);
    if(Bendi_dk>=10)	write_number(x1+3*8,y1+22,Bendi_dk/10%10);   else	write_number(x1+3*8,y1+22,30);
   	write_number(x1+4*8,y1+22,Bendi_dk%10); 
	Set_temp=0;   
 	Menu_ID=8;
}
/*********************************************************************************************************
* 函数名称: ON_EnterTD_AI
*
* 功能描述: 模拟输入通道设置界面
*
* 入口参数: 无
*
* 出口参数: 无
*

⌨️ 快捷键说明

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