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

📄 yt_key.lst

📁 完成数据的采集
💻 LST
📖 第 1 页 / 共 3 页
字号:
###############################################################################
#                                                                             #
#                                                       04/Dec/2008  16:07:57 #
# IAR ARM ANSI C/C++ Compiler V5.11.0.20622/W32 EVALUATION                    #
# Copyright 1999-2007 IAR Systems. All rights reserved.                       #
#                                                                             #
#    Cpu mode     =  thumb                                                    #
#    Endian       =  little                                                   #
#    Source file  =  E:\ELE\yten\pro\app\yt_key.c                             #
#    Command line =  E:\ELE\yten\pro\app\yt_key.c -D EMB_FLASH -lcN           #
#                    E:\ELE\yten\pro\Release\List\ -o                         #
#                    E:\ELE\yten\pro\Release\Obj\ --no_cse --no_unroll        #
#                    --no_inline --no_code_motion --no_tbaa --no_clustering   #
#                    --no_scheduling --debug --endian little --cpu Cortex-M3  #
#                    -e --fpu None --dlib_config "C:\Program Files\IAR        #
#                    Systems\Embedded Workbench 5.0                           #
#                    Evaluation\ARM\INC\DLib_Config_Normal.h" -I              #
#                    E:\ELE\yten\pro\ -I E:\ELE\yten\pro\..\LIBRARY\INC\ -I   #
#                    "C:\Program Files\IAR Systems\Embedded Workbench 5.0     #
#                    Evaluation\ARM\INC\" -On                                 #
#    List file    =  E:\ELE\yten\pro\Release\List\yt_key.lst                  #
#    Object file  =  E:\ELE\yten\pro\Release\Obj\yt_key.o                     #
#                                                                             #
#                                                                             #
###############################################################################

E:\ELE\yten\pro\app\yt_key.c
      1          #include"includes.h"
      2          #include"ytep.h"
      3          #include"ytepfunction.h"
      4          #define  yt_Key_file
      5          #define		C_keyID1			4
      6          #define		C_keyID2			2
      7          #define		C_keyID3			1
      8          #define		C_keyID4			8
      9          #define		C_keyID5			0x10
     10          #define		C_keyID6			0x11
     11          const	Int16U	Year_TAB[]={0,0x31,0x28,0x31,0x30,0x31,0x30,0x31,0x31,0x30,0x31,0x30,0x31};
     12          const			Int16U	BAUD_TAB1[]={19500-50,9600,4800-50};
     13          //--------------------------------------
     14          //keyword  scan
     15          //--------------------------------------
     16          void		Set_UART()
     17          {
     18          	
     19          	USART_InitTypeDef  UART_InitStructure;
     20            UART_InitStructure.USART_BaudRate = BAUD_TAB1[_YT._Rate&7];//[_YT._Rate]; 
     21            UART_InitStructure.USART_WordLength = USART_WordLength_8b;
     22            UART_InitStructure.USART_StopBits = USART_StopBits_1;
     23            UART_InitStructure.USART_Parity = USART_Parity_No ;
     24            UART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
     25            UART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
     26            UART_InitStructure.USART_Clock = USART_Clock_Disable;
     27            UART_InitStructure.USART_CPOL = USART_CPOL_Low;
     28            UART_InitStructure.USART_CPHA = USART_CPHA_1Edge;
     29            UART_InitStructure.USART_LastBit = USART_LastBit_Disable;
     30            
     31             UART_InitStructure.USART_Parity = USART_Parity_No;  
     32              USART_DeInit(USART1);
     33          }
     34          Int8U	scankey(KEY *KEYA)
     35          {
     36          	Int8U i,k;
     37                  k=0;
     38          	i=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_4);
     39          	if(i!=0)k|=1;
     40          	i=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_5);
     41          	if(i!=0)k|=2;
     42          	i=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_6);
     43          	if(i!=0)k|=4;
     44          	i=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_7);
     45          	if(i!=0)k|=8;
     46          	i=GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_4);
     47          	if(i!=0)k|=0x10;
     48          		
     49          	if(k==0x1F)
     50          	{
     51          		KEYA->counter=0;
     52          		KEYA->execute=0;
     53          		return     0;
     54          	}	
     55          	if(k!=0x1F)
     56          	{	 
     57          		if(((++KEYA->counter)>=10)&&(KEYA->execute==0))
     58          		{
     59          			KEYA->execute=1;
     60          			KEYA->ID=k^0x1F;
     61          		}else
     62                          if((KEYA->counter>=10)&&(KEYA->execute!=0)&&(k==0xe))
     63                          {
     64                              History[0].SpaceCount=100;
     65          		    Set_HISTORY(&History[0].ATemper[0]);
     66                              Set_HISTORY(&History[0].BTemper[0]);
     67                              Set_HISTORY(&History[0].CTemper[0]);
     68                          }
     69          	}
     70          	return 0;
     71          }
     72          //***********************************************
     73          Int8U key_setion(KEY *KEYA,_LCD *LCM)
     74          {
     75            switch (LCM->Mode)
     76            {
     77            	case C_LCM_ALA_REG0:
     78          		case C_LCM_ALA_REG1:
     79          		case C_LCM_ALA_REG2:	
     80          		case C_LCM_ALA_REG3:
     81          		case C_LCM_ALA_REG4:
     82          		case C_LCM_ALA_REG5:
     83          		case C_LCM_ALA_REG6:	
     84          	  case C_LCM_ALAMC:		     
     85          		case	C_LCM_TEMRH: 
     86          		case C_LCM_Mode0:
     87          		case C_LCM_Mode1:
     88          		case C_LCM_Mode2:
     89          		case C_LCM_Mode3:	
     90          		case C_LCM_Mode4:
     91          		case C_LCM_Mode5:
     92          		case C_LCM_Mode6:					
     93          		case C_LCM_Mode7:
     94          		case C_LCM_Mode8:
     95          		case C_LCM_Mode9:	
     96          		case C_LCM_Mode10:
     97          		case C_LCM_Mode11:
     98          		case C_LCM_Mode12:
     99          		case C_LCM_Mode13:
    100          		case C_LCM_Mode14:
    101          		case C_LCM_Mode15:
    102          		
    103          			if(KEYA->counter>=200)
    104          			{
    105          				LCM->Mode=C_LCM_SET;
    106          				LCM->Timer=0;
    107          				LCM->FLAG=1;
    108          				return	0;
    109          			}else	 
    110          			break;
    111          		case	C_LCM_SET:	
    112          		case	C_LCM_SET1:	
    113          		case	C_LCM_SET2:	
    114          		case	C_LCM_SET3:	
    115          		case	C_LCM_SET4:
    116          		case	C_LCM_SET5:	
    117          		case	C_LCM_SET6:	
    118          		case	C_LCM_SET7:		
    119          			if(KEYA->counter==10)
    120          		{		
    121          			++LCM->Mode;
    122          			LCM->Timer=0;
    123          			LCM->FLAG=1;
    124          			LCM->Lcd_add=0;
    125          			if(LCM->Mode>C_LCM_SET7)LCM->Mode=C_LCM_SET;			 	
    126          		}
    127          			if(KEYA->counter>=200)
    128          			{
    129          				LCM->Mode=C_LCM_TEMRH;
    130          				LCM->Timer=0;
    131          				LCM->FLAG=1;
    132          				return	C_FM24C04;
    133          			}
    134          		
    135          			break;		
    136            }  
    137          			return KEYA->ID;
    138          }
    139          //***********************************************
    140          Int16U key_up(KEY *KEYA,_LCD *LCM,_yt *Data)
    141          {
    142                  Int16U    a,b;
    143          	switch(LCM->Mode)
    144          	{
    145          		case C_LCM_ALA_REG0:
    146          		case C_LCM_ALA_REG1:
    147          		case C_LCM_ALA_REG2:	
    148          		case C_LCM_ALA_REG3:
    149          		case C_LCM_ALA_REG4:
    150          		case C_LCM_ALA_REG5:
    151          		case C_LCM_ALA_REG6:	
    152          			LCM->FLAG=1;
    153          			LCM->Mode=C_LCM_Mode0;
    154          			break;	
    155              case C_LCM_ALAMC:		     
    156          		case	C_LCM_TEMRH: 
    157          		case C_LCM_Mode0:
    158          		case C_LCM_Mode1:
    159          		case C_LCM_Mode2:
    160          		case C_LCM_Mode3:	
    161          		case C_LCM_Mode4:
    162          		case C_LCM_Mode5:
    163          		case C_LCM_Mode6:		
    164          			
    165          		case C_LCM_Mode7:
    166          		case C_LCM_Mode8:
    167          		case C_LCM_Mode9:	
    168          		case C_LCM_Mode10:
    169          		case C_LCM_Mode11:
    170          		case C_LCM_Mode12:
    171          		case C_LCM_Mode13:
    172          		case C_LCM_Mode14:
    173          		case C_LCM_Mode15:	
    174          		
    175          			if((++LCM->Mode)>=C_LCM_SET)
    176          				LCM->Mode=C_LCM_ALAMC;
    177          				LCM->Timer=0;
    178          				LCM->FLAG=1;
    179          			//CHK_DISP_MODE(Data->_Channal,&LCM->Mode);	
    180          			
    181          												  
    182          			 	  	
    183          				 if(LCM->Mode==C_LCM_Mode0)
    184          					{
    185          						if((Data->_Channal&0X70)==0x70)LCM->Mode=C_LCM_Mode1;//if(Data->_Channal&1)LCM->Mode=C_LCM_Mode1; 
    186          					}
    187          				 if(LCM->Mode==C_LCM_Mode1)
    188          			  	{
    189          			  		if((Data->_Channal&0X380)==0x380)LCM->Mode=C_LCM_Mode2;//if(Data->_Channal&2)LCM->Mode=C_LCM_Mode2; 
    190          			  	}						
    191          			    if(LCM->Mode==C_LCM_Mode2)
    192          			  	{
    193          			  		if((Data->_Channal&0X1c00)==0x1c00)LCM->Mode=C_LCM_Mode3;//if(Data->_Channal&4)LCM->Mode=C_LCM_Mode3; 
    194          			  	}
    195          			    if(LCM->Mode==C_LCM_Mode3)
    196          			  	{
    197          			  		if((Data->_Channal&0Xe000)==0xe000)LCM->Mode=C_LCM_Mode4;//if(Data->_Channal&8)LCM->Mode=C_LCM_Mode4; 
    198          			  	}
    199          			  	
    200          			  	if(LCM->Mode==C_LCM_Mode4&&Data->_Channal&0x10)LCM->Mode=C_LCM_Mode5;
    201          			  	if(LCM->Mode==C_LCM_Mode5&&Data->_Channal&0x20)LCM->Mode=C_LCM_Mode6;
    202          			  	if(LCM->Mode==C_LCM_Mode6&&Data->_Channal&0x40)LCM->Mode=C_LCM_Mode7;
    203          			  	if(LCM->Mode==C_LCM_Mode7&&Data->_Channal&0x80)LCM->Mode=C_LCM_Mode8;	
    204          			  	if(LCM->Mode==C_LCM_Mode8&&Data->_Channal&0x100)LCM->Mode=C_LCM_Mode9;	
    205          			  	if(LCM->Mode==C_LCM_Mode9&&Data->_Channal&0x200)LCM->Mode=C_LCM_Mode10;		
    206          			  	if(LCM->Mode==C_LCM_Mode10&&Data->_Channal&0x400)LCM->Mode=C_LCM_Mode11;		
    207          			  	if(LCM->Mode==C_LCM_Mode11&&Data->_Channal&0x800)LCM->Mode=C_LCM_Mode12;	
    208          			  	if(LCM->Mode==C_LCM_Mode12&&Data->_Channal&0x1000)LCM->Mode=C_LCM_Mode13;	
    209          			  	if(LCM->Mode==C_LCM_Mode13&&Data->_Channal&0x2000)LCM->Mode=C_LCM_Mode14;	
    210          			  	if(LCM->Mode==C_LCM_Mode14&&Data->_Channal&0x4000)LCM->Mode=C_LCM_Mode15;
    211          			  	if(LCM->Mode==C_LCM_Mode15&&Data->_Channal&0x8000)LCM->Mode=C_LCM_ALAMC;					
    212          			  		
    213          #if 0			  	
    214          			  	if(LCM->Mode==C_LCM_Mode6||LCM->Mode==C_LCM_Mode5||LCM->Mode==C_LCM_Mode4)
    215          					{
    216          						if((Data->_Channal&0X70)==0x70)LCM->Mode=C_LCM_Mode7;//if(Data->_Channal&1)LCM->Mode=C_LCM_Mode7; 
    217          					}	
    218          			  	if(LCM->Mode==C_LCM_Mode9||LCM->Mode==C_LCM_Mode8||LCM->Mode==C_LCM_Mode7)
    219          					{
    220          						if((Data->_Channal&0X380)==0x380)LCM->Mode=C_LCM_Mode10;//if(Data->_Channal&2)LCM->Mode=C_LCM_Mode10; 
    221          					}
    222          			  	if(LCM->Mode==C_LCM_Mode12||LCM->Mode==C_LCM_Mode11||LCM->Mode==C_LCM_Mode10)
    223          					{
    224          						if((Data->_Channal&0X1c00)==0x1c00)LCM->Mode=C_LCM_Mode13;//if(Data->_Channal&4)LCM->Mode=C_LCM_Mode13; 
    225          					}	
    226          			  	if(LCM->Mode==C_LCM_Mode15||LCM->Mode==C_LCM_Mode14||LCM->Mode==C_LCM_Mode13)
    227          					{
    228          						 if((Data->_Channal&0Xe000)==0xe000)LCM->Mode=C_LCM_ALAMC;//if(Data->_Channal&8)LCM->Mode=C_LCM_ALAMC; 
    229          					}	
    230          #endif			  
    231          			break;
    232          		case C_LCM_SET:			
    233          				if(++(Data->Sensor[LCM->Lcd_add].Type)>=22)Data->Sensor[LCM->Lcd_add].Type=0;			
    234          			break;
    235          	  case C_LCM_SET1:
    236          	  	if(LCM->Lcd_add==0)
    237          	  	{	
    238          	  		++Data->_TemOver;
    239          	  		if((Data->_TemOver>=Data->_TemFault)||(Data->_TemOver>69))Data->_TemOver=10;
    240          	  	}
    241          	  	if(LCM->Lcd_add==1)
    242          	  	{	
    243          	  		++Data->_TemFast;
    244          	  		if(Data->_TemFast>20)Data->_TemFast=2;
    245          	  	}
    246          	  	if(LCM->Lcd_add==2)
    247          	  	{	
    248          	  		++Data->_TemTime;
    249          	  		if(Data->_TemTime>99)Data->_TemTime=5;
    250          	  	}
    251          	  	if(LCM->Lcd_add==3)
    252          	  	{	
    253          	  		++Data->_TemRoom;
    254          	  		if(Data->_TemRoom>50)Data->_TemRoom=1;
    255          	  	}	  	
    256          	  	break;
    257          	  case C_LCM_SET2:
    258          	 	  if(++Data->_TemFault>99)Data->_TemFault=Data->_TemOver+5;
    259          			break;
    260          	case C_LCM_SET3:	  	
    261          		  if(LCM->Lcd_add==0)
    262          	 	{
    263          		  if(++Data->_Yorder>=18)Data->_Yorder=0;
    264          		} 
    265          		else
    266          		{
    267          			Data->_Channal^=0x1;
    268          		}	
    269          		  	
    270          		  break;
    271          	 case C_LCM_SET4:
    272          	 	  if(LCM->Lcd_add==0)
    273          	 	  Data->_Rate^=8;
    274                            if(LCM->Lcd_add==1)
    275                            {
    276                              a=Data->_Rate&7;
    277                              if(++a>=3)a=0;
    278                              Data->_Rate&=0xfff8;
    279                              Data->_Rate|=a;
    280                              Uart1Init();
    281                              Init2515(Data->_Rate&3);
    282                            }
    283                            if(LCM->Lcd_add==2)
    284                            {
    285                              ++Data->_Address;
    286                              if(Data->_Address>=255)Data->_Address=1;
    287                            }
    288          	 	  break;
    289          	 case	C_LCM_SET5:
    290          	 	if(LCM->Lcd_add==0)
    291          	 		{
    292          	 			if(Year[6]>0x99)Year[6]=0x99;
    293          	 			++Year[6];
    294          	 			a=Year[6];
    295          	 			if((a&0x0f)>=10)Year[6]+=0x10,Year[6]&=0xf0;
    296          	 			if(Year[6]>0x99)Year[6]=0x0;
    297          	 			 b=Year[5]>>4;
    298                   b=b*10+Year[5]&0x0f;
    299          	 			if(Year[4]>Year_TAB[b])
    300          	 			Year[4]=1;	 			
    301          	 		}
    302          	 		if(LCM->Lcd_add==1)
    303          	 		{
    304          	 			if(Year[5]>0x12)Year[6]=0x12;
    305          	 			++Year[5];
    306          	 			a=Year[5];
    307          	 			if((a&0x0f)>=10)Year[5]+=0x10,Year[5]&=0xf0;
    308          	 			if(Year[5]>0x12)Year[5]=0x1;
    309          	 			b=Year[5]>>4;
    310                  b=b*10+Year[5]&0x0f;	
    311          	 			b=Year_TAB[b];
    312          	 			if(Year[4]>=b)
    313          	 			Year[4]=b;
    314          	 					
    315          	 			if(Year[5]==2&&Year[4]>=0x28)
    316          	 			{
    317          	 				a=Year[5]>>4;
    318                                                  a=a*10+Year[5]&0x0f;
    319                                                  if((a&0x3)==0)
    320          	 				{
    321          	 					if(Year[4]>0x29)Year[4]=0x29;
    322          	 				}else
    323          	 				{
    324          	 					if(Year[4]>0x28)Year[4]=0x28;
    325          	 				}	 					
    326          	 			} 			
    327          	 		}
    328          	 	if(LCM->Lcd_add==2)

⌨️ 快捷键说明

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