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

📄 main.c

📁 凌阳61源码
💻 C
📖 第 1 页 / 共 2 页
字号:
#include "SPCE061V004.H"
#include "lab_parameter.h"
#include"splc501user.h"
#include"chinese.h"
#include"key.h"
#define		P_IOB_Data				(volatile unsigned int *)0x7005
#define		P_IOB_Buffer			(volatile unsigned int *)0x7006
	
	
#define		P_IOB_Dir				(volatile unsigned int *)0x7007
#define		P_IOB_Attrib			(volatile unsigned int *)0x7008

typedef  unsigned char uchar;
#define HaveKey  1
#define NoKey    0
#define reference    2.500                                   //内部参考电压值
unsigned int  KeyFlag; 
unsigned int  KeyVal;
char b0="0",b1="1",b2="2",b3="3",b4="4",b5="5",b6="6",b7="7",b8="8",b9="9",b=".";
char bb ,*p=0;
unsigned  int k0=0,u=0,a11=0,a22=0,a33=0,b11=0,b22=0,b33=0,cc=0;
unsigned int key_value=0,ooo=0,tm0=0,tm1=0,tm2=0,tm3=0,tm[7]={0};
int key=0,i=0,value_h=0,j=0,k=0;
int key_in_value=2000,j0=0,binary=0,xx=0;
float value=0,Zvalue=0,Xvalue=0,Rvalue=0;
float  set_value;
unsigned int key_in[10]={0},key_i=0;
unsigned int Da_data1=0x7ee0,Da_data2=0x7ee0,Da_data_flag=0,Ad_data=0;
float Ad_data_f=0,Data_f=0,Data_i_f=0;
float n=3.47,Ns=2.7285,Nb=30,R=0.334;//R=0.3157;
void Shift(void);
void Delay(void);
void ad5664_output(unsigned int channal,float votage);
int DataConversion(void);
float Tpower(int x);
void LCD_ini(void);
//=========================================================================================
//描述:主函数
//edit by  Spring             维护记录:2007.01.12
//=========================================================================================
main()
{
   	int Ent_Flag = 0;
	unsigned int uiKey;
	unsigned int uxKey;
    LCD_ini();
    
    Key_Init() ;
	while(1)
	{	
		uiKey = Key_Get();
		i=0;
		switch(uiKey)
		{
			case KEY_0:                                                  //置确认键
				if(Ent_Flag == 0)                                
				{
					Ent_Flag=1;
		            *P_Watchdog_Clear = 0x0001;                             //清看门狗
				}
				break;
			case KEY_1:                                                    //该键保留
				if(Ent_Flag == 0)                                          
				{
				                                           
				}
				break; 
			case KEY_2:                                                     //该键保留
				if(Ent_Flag == 0)                                
				{  
					                
				}
				break;
			case KEY_3:                                                     //实现手动输入功能
		    	if(Ent_Flag == 0)
		    	{
		  	        LCD501_Bitmap(0,40,(unsigned int *)encoding_23); 	//显示"手"
					LCD501_Bitmap(16,40,(unsigned int *)encoding_24); 	//显示"动"
		    		LCD501_Bitmap(32,40,(unsigned int *)encoding_1f); 	//显示"输"
					LCD501_Bitmap(48,40,(unsigned int *)encoding_20); 	//显示"入"
					LCD501_PutChar(64,40,'.');
					LCD501_PutChar(80,40,'.');
					LCD501_PutChar(96,40,'.');
					
					for(j=0;j<=0x003f;j++)           	//延时 
           	 			for(i=0;i<0xffff;i++)
          					*P_Watchdog_Clear = 0x0001;
					
							LCD501_ClrScreen(0);								//清屏
							LCD501_Bitmap(0,0,(unsigned int *)encoding_19); 	//显示"预"
        					LCD501_Bitmap(16,0,(unsigned int *)encoding_1a);    //显示"设"
       					 	LCD501_Bitmap(32,0,(unsigned int *)encoding_1b);    //显示"电"
        					LCD501_Bitmap(48,0,(unsigned int *)encoding_1c);    //显示"压"
        					LCD501_PutChar(64,0,':');
        					LCD501_PutChar(112,16,'V');	
        					*P_Watchdog_Clear = 0x0001;                                     //清看门狗操作		
		    	}	 
				break;
			case KEY_4:                                                     //输出"."
				if(Ent_Flag == 0)                                
				{ 
			        Shift();
			        tm[0]=10;
			        for(i=0;i<7;i++)
			        {   
			        	bb=*(&b0 + tm[i]);
			            LCD501_PutString(112-(i+1)*8,16,bb);
			        }
                    *P_Watchdog_Clear = 0x0001;                                     //清看门狗操作
            	}
				break;
			case KEY_5:                                                     //输出3
				if(Ent_Flag == 0)                               
				{
	       	 		Shift();
			        tm[0]=3;
			        for(i=0;i<7;i++)
			        {   
			        	bb=*(&b0 + tm[i]);
			            LCD501_PutString(112-(i+1)*8,16,bb);
			        }
                    *P_Watchdog_Clear = 0x0001;                                     //清看门狗操作
				}			
				break;
			case KEY_6:	                                                //输出6
				if(Ent_Flag == 0)                                 
				{
			        Shift();
			        tm[0]=6;
			        for(i=0;i<7;i++)
			        {   
			        	bb=*(&b0 + tm[i]);
			            LCD501_PutString(112-(i+1)*8,16,bb);
			        }
                    *P_Watchdog_Clear = 0x0001;                                     //清看门狗操作
                }
				break;
			case KEY_7: 
			if(Ent_Flag == 0)                                            //输出9
				{
					Shift();
			        tm[0]=9;
			        for(i=0;i<7;i++)
			        {   
			        	bb=*(&b0 + tm[i]);
			            LCD501_PutString(112-(i+1)*8,16,bb);
			        }
                    *P_Watchdog_Clear = 0x0001;                                     //清看门狗操作
				}                                                   
				break;
			case KEY_8:                                                  //输出0                           
				if(Ent_Flag == 0)                                
				{			
			        Shift();
			        tm[0]=0;
			        for(i=0;i<7;i++)
			        {   
			        	bb=*(&b0 + tm[i]);
			            LCD501_PutString(112-(i+1)*8,16,bb);
			        }
                    *P_Watchdog_Clear = 0x0001;                                     //清看门狗操作
				}
				break;
			case KEY_9:                                                   //输出2            
				if(Ent_Flag == 0)                                
				{					
			        Shift();
			        tm[0]=2;
			        for(i=0;i<7;i++)
			        {   
			        	bb=*(&b0 + tm[i]);
			            LCD501_PutString(112-(i+1)*8,16,bb);
			        }
                    *P_Watchdog_Clear = 0x0001;                                     //清看门狗操作  
				}
				break;
			case KEY_A:                                                     //输出5  
				if(Ent_Flag == 0)                              
				{					
			        Shift();
			        tm[0]=5;
			        for(i=0;i<7;i++)
			        {   
			        	bb=*(&b0 + tm[i]);
			            LCD501_PutString(112-(i+1)*8,16,bb);
			        }
                    *P_Watchdog_Clear = 0x0001;                                     //清看门狗操作
				}
				break;
			case KEY_B:                                                         //输出8
			if(Ent_Flag == 0)                              
				{  					
			        Shift();
			        tm[0]=8;
			        for(i=0;i<7;i++)
			        {   
			        	bb=*(&b0 + tm[i]);
			            LCD501_PutString(112-(i+1)*8,16,bb);
			        }
                    *P_Watchdog_Clear = 0x0001;                                  //清看门狗操作
				}                                         
			    break;
			case KEY_C:                                                          //清零                                      
				if(Ent_Flag == 0)                                
				{
					tm[0]=tm[1]=tm[2]=tm[3]=tm[4]=tm[5]=tm[6]=0;
		    		for(i=0;i<7;i++)
			        {   
			        	bb=*(&b0 + tm[i]);
			            LCD501_PutString(112-(i+1)*8,16,bb);
			        }
			        *P_Watchdog_Clear = 0x0001;                                   //清看门狗操作
				}
				break;
			case KEY_D:                                                           //输出1
				if(Ent_Flag == 0)                                 
				{					
			        Shift();
			        tm[0]=1;
			        for(i=0;i<7;i++)
			        {   
			        	bb=*(&b0 + tm[i]);
			            LCD501_PutString(112-(i+1)*8,16,bb);
			        }
                    *P_Watchdog_Clear = 0x0001;                                     //清看门狗操作
				}
				break;
			case KEY_E:                                                          //输出4
			if(Ent_Flag == 0)                                 
				{  					
			        Shift();
			        tm[0]=4;
			        for(i=0;i<7;i++)
			        {   
			        	bb=*(&b0 + tm[i]);
			            LCD501_PutString(112-(i+1)*8,16,bb);
			        }
                    *P_Watchdog_Clear = 0x0001;                                     //清看门狗操作
				}                                          
				break;
			case KEY_F:                                                            //输出7
			if(Ent_Flag == 0)                                 
				{ 					
			        Shift();
			        tm[0]=7;
			        for(i=0;i<7;i++)
			        {   
			        	bb=*(&b0 + tm[i]);
			            LCD501_PutString(112-(i+1)*8,16,bb);
			        }
                    *P_Watchdog_Clear = 0x0001;                                     //清看门狗操作  
				}                                     
			
				break;
			default:
				break;
		}							
		*P_Watchdog_Clear = 0x0001;                                //清看门狗
		if(Ent_Flag==1)
		{
			Rvalue=DataConversion();
			if(Rvalue>4)
			{
				value=0;
				LCD501_ClrScreen(0);									//清屏
				LCD501_Bitmap(16,26,(unsigned int *)encoding_1f); 		//显示"输"
				LCD501_Bitmap(32,26,(unsigned int *)encoding_20); 		//显示"入"
				LCD501_Bitmap(48,26,(unsigned int *)encoding_1b);    	//显示"电"
        		LCD501_Bitmap(64,26,(unsigned int *)encoding_1c);    	//显示"压"
        		LCD501_Bitmap(80,26,(unsigned int *)encoding_27);    	//显示"过"
        		LCD501_Bitmap(96,26,(unsigned int *)encoding_28);  	  	//显示"高"
        		LCD501_Bitmap(24,52,(unsigned int *)encoding_29); 	   	//显示"请"
        		LCD501_Bitmap(40,52,(unsigned int *)encoding_2a);  	  	//显示"重"

⌨️ 快捷键说明

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