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

📄 keytask.lst

📁 cs5460a做功率表用 cs5460a做功率表用 cs5460a做功率表
💻 LST
📖 第 1 页 / 共 4 页
字号:
   1               		.file	"KeyTask.c"
   2               		.arch atmega8
   3               	__SREG__ = 0x3f
   4               	__SP_H__ = 0x3e
   5               	__SP_L__ = 0x3d
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  11               		.text
  12               	.Ltext0:
 101               	.global	TaskID
 102               	.global	TaskID
 103               		.section .bss
 106               	TaskID:
 107 0000 00        		.skip 1,0
 108               	.global	KeyTask
 109               		.section	.progmem.data,"a",@progbits
 112               	KeyTask:
 113 0000 00        		.byte	0
 114 0001 00        		.byte	0
 115 0002 00        		.byte	0
 116 0003 00        		.byte	0
 117 0004 00        		.byte	0
 118 0005 00        		.byte	0
 119 0006 11        		.byte	17
 120 0007 10        		.byte	16
 121 0008 23        		.byte	35
 122 0009 23        		.byte	35
 123 000a 10        		.byte	16
 124 000b 12        		.byte	18
 125 000c 10        		.byte	16
 126 000d 10        		.byte	16
 127 000e 20        		.byte	32
 128 000f 26        		.byte	38
 129 0010 25        		.byte	37
 130 0011 20        		.byte	32
 131 0012 14        		.byte	20
 132 0013 28        		.byte	40
 133 0014 27        		.byte	39
 134               		.data
 135               	.LC0:
 136 0000 2020 7074 		.string	"  pt "
 136      2000 
 137               	.LC1:
 138 0006 2020 6374 		.string	"  ct "
 138      2000 
 139               	.LC2:
 140 000c 682D 616C 		.string	"h-alr"
 140      7200 
 141               	.LC3:
 142 0012 6C2D 616C 		.string	"l-alr"
 142      7200 
 143               	.LC4:
 144 0018 2062 6175 		.string	" baud"
 144      6400 
 145               	.LC5:
 146 001e 2061 6464 		.string	" addr"
 146      7200 
 147               	.LC6:
 148 0024 2061 6C72 		.string	" alr "
 148      2000 
 149               	.global	first_menu
 150               		.section	.progmem.data
 153               	first_menu:
 154 0015 0000      		.word	.LC0
 155 0017 0000      		.word	.LC1
 156 0019 0000      		.word	.LC2
 157 001b 0000      		.word	.LC3
 158 001d 0000      		.word	.LC4
 159 001f 0000      		.word	.LC5
 160 0021 0000      		.word	.LC6
 161               		.text
 166               	.global	ValAdd
 168               	ValAdd:
   1:task/KeyTask.c **** /********************************************
   2:task/KeyTask.c **** 公司名称:
   3:task/KeyTask.c **** 文 件 名:
   4:task/KeyTask.c **** 版 本 号:
   5:task/KeyTask.c **** 程序设计:
   6:task/KeyTask.c **** 说    明:
   7:task/KeyTask.c **** 完成日期:
   8:task/KeyTask.c **** 修改日期:
   9:task/KeyTask.c **** 功能摘要:
  10:task/KeyTask.c **** **********************************************/        
  11:task/KeyTask.c **** 
  12:task/KeyTask.c **** #define   _KeyTaskv20
  13:task/KeyTask.c **** #include  "includes.h"
  14:task/KeyTask.c **** //---------------------------------------------------
  15:task/KeyTask.c **** #define   Menu_set				0x10
  16:task/KeyTask.c **** 
  17:task/KeyTask.c **** const char *first_menu[] PROGMEM = {"  pt ","  ct ","h-alr","l-alr"," baud"," addr"," alr "}; 
  18:task/KeyTask.c **** 
  19:task/KeyTask.c **** //-----------------------------------------------------            
  20:task/KeyTask.c ****                                   			//0   dn   up   u+d   s   s+d   s+u 
  21:task/KeyTask.c **** const uint8  KeyTask[3][7] PROGMEM = {    
  22:task/KeyTask.c **** 											{0x00,0x00,0x00,0x00,0x00,0x00,0x11},
  23:task/KeyTask.c ****                                   			{0x10,0x23,0x23,0x10,0x12,0x10,0x10},
  24:task/KeyTask.c ****                                   			{0x20,0x26,0x25,0x20,0x14,0x28,0x27}
  25:task/KeyTask.c **** 
  26:task/KeyTask.c **** 
  27:task/KeyTask.c **** 
  28:task/KeyTask.c ****                                				}; 
  29:task/KeyTask.c **** uint8  MenuID;  					//菜单项,
  30:task/KeyTask.c **** uint8  TaskID = 0;
  31:task/KeyTask.c **** uint8  fDOKEY; 
  32:task/KeyTask.c **** 
  33:task/KeyTask.c **** 
  34:task/KeyTask.c **** void    KeyTask_MainLoop(void);
  35:task/KeyTask.c **** uint16    ValAdd(uint16 ValTemp,uint8 AddCount,uint16 MaxVal);
  36:task/KeyTask.c **** uint16    ValDec(uint16 ValTemp,uint8 DecCount,uint16 MaxVal);
  37:task/KeyTask.c **** void    MenuDis(uint8 DisNum);
  38:task/KeyTask.c **** void    Dis_info(uint8 *LedBuf,uint8 *pLed);
  39:task/KeyTask.c **** 
  40:task/KeyTask.c **** //---------------------------------------
  41:task/KeyTask.c **** void   KeyTask_MainLoop(void)
  42:task/KeyTask.c **** {
  43:task/KeyTask.c ****    uint8   TaskTemp;       
  44:task/KeyTask.c ****    uint8   m;    
  45:task/KeyTask.c ****    
  46:task/KeyTask.c ****    if (KeyVal > 0x06) return;
  47:task/KeyTask.c ****    m = TaskID & 0xf0;
  48:task/KeyTask.c ****    m >>= 4;
  49:task/KeyTask.c ****    if (m > 3) return; 
  50:task/KeyTask.c ****    TaskTemp = pgm_read_byte(&KeyTask[m][KeyVal]);      
  51:task/KeyTask.c ****    TaskID = TaskTemp & 0xf0;             //保存次态
  52:task/KeyTask.c ****    
  53:task/KeyTask.c ****    switch (TaskTemp & 0x0f)              //按任务号查询
  54:task/KeyTask.c ****    {
  55:task/KeyTask.c ****      case 0:                          //无效键返回
  56:task/KeyTask.c ****       return;
  57:task/KeyTask.c ****       break; 
  58:task/KeyTask.c ****             
  59:task/KeyTask.c ****      case 1:
  60:task/KeyTask.c ****       MenuID = Menu_set;              		   //进入参数设定初始化显示
  61:task/KeyTask.c ****       break;
  62:task/KeyTask.c ****             
  63:task/KeyTask.c ****      case 2:                          		   //SET键一级菜单显示项递增
  64:task/KeyTask.c ****        fDOKEY = 1;                   		   //防止连击       
  65:task/KeyTask.c ****        MenuID++;
  66:task/KeyTask.c ****        if ((MenuID & 0x0f) == MENU_MAX) 	   //在功能参数设置状态下
  67:task/KeyTask.c **** 	      { MenuID &= 0xf0; } 
  68:task/KeyTask.c ****        break;     
  69:task/KeyTask.c ****                
  70:task/KeyTask.c ****      case 3:
  71:task/KeyTask.c ****      		fDOKEY = 1;
  72:task/KeyTask.c ****      		MenuID += 0x10;						//UP、DN键菜单级数跳转     		
  73:task/KeyTask.c ****      	break;
  74:task/KeyTask.c ****      	
  75:task/KeyTask.c ****      case 4:
  76:task/KeyTask.c ****      		fDOKEY = 1;
  77:task/KeyTask.c ****      		MenuID -= 0x10;						 //SET键菜单级数递减
  78:task/KeyTask.c ****      	break;
  79:task/KeyTask.c ****      	
  80:task/KeyTask.c ****      case 5:                                  
  81:task/KeyTask.c ****        switch (MenuID & 0x0f)         				
  82:task/KeyTask.c ****        {
  83:task/KeyTask.c ****           case 0x00:            
  84:task/KeyTask.c ****             PtVal = ValAdd(PtVal,STEP,PT_MAX_VAL);                
  85:task/KeyTask.c ****             break;
  86:task/KeyTask.c **** 
  87:task/KeyTask.c ****           case 0x01:            
  88:task/KeyTask.c ****             CtVal = ValAdd(CtVal,STEP,CT_MAX_VAL);                
  89:task/KeyTask.c ****             break;         										  
  90:task/KeyTask.c **** 			        										  
  91:task/KeyTask.c **** 
  92:task/KeyTask.c ****           case 0x02:
  93:task/KeyTask.c ****           	H_Alarm = ValAdd(H_Alarm,STEP,PT_MAX_VAL);   
  94:task/KeyTask.c ****           	break;
  95:task/KeyTask.c **** 
  96:task/KeyTask.c ****           case 0x03:
  97:task/KeyTask.c **** 			L_Alarm = ValAdd(L_Alarm,STEP,PT_MAX_VAL);  
  98:task/KeyTask.c ****           	break;
  99:task/KeyTask.c ****           	
 100:task/KeyTask.c ****           case 0x04:
 101:task/KeyTask.c ****             fDOKEY = 1;
 102:task/KeyTask.c ****             BaudAndData ^= 0x10;                    
 103:task/KeyTask.c ****             break;
 104:task/KeyTask.c ****             
 105:task/KeyTask.c ****           case 0x05:            
 106:task/KeyTask.c ****             AddrVal = ValAdd(AddrVal,STEP,ADDR_MAX_VAL);                
 107:task/KeyTask.c ****             break;         
 108:task/KeyTask.c ****           
 109:task/KeyTask.c ****           case 0x06:
 110:task/KeyTask.c ****           	fDOKEY = 1;
 111:task/KeyTask.c ****           	AlarmSwitch ^= 0x01;
 112:task/KeyTask.c ****           	break;
 113:task/KeyTask.c ****           	
 114:task/KeyTask.c ****           default:
 115:task/KeyTask.c ****             break;
 116:task/KeyTask.c ****         }        
 117:task/KeyTask.c ****         break;                                    
 118:task/KeyTask.c ****             
 119:task/KeyTask.c ****       case 6:           
 120:task/KeyTask.c ****         switch (MenuID & 0x0f)        //DN键数值减一
 121:task/KeyTask.c ****         {
 122:task/KeyTask.c ****            case 0x00:
 123:task/KeyTask.c ****              PtVal = ValDec(PtVal,STEP,PT_MAX_VAL);                   
 124:task/KeyTask.c ****              break;
 125:task/KeyTask.c **** 
 126:task/KeyTask.c ****            case 0x01:
 127:task/KeyTask.c ****              CtVal = ValDec(CtVal,STEP,CT_MAX_VAL);                   
 128:task/KeyTask.c ****              break;
 129:task/KeyTask.c **** 
 130:task/KeyTask.c ****            case 0x02:
 131:task/KeyTask.c **** 			 H_Alarm = ValDec(H_Alarm,STEP,PT_MAX_VAL);             	                 
 132:task/KeyTask.c ****              break;
 133:task/KeyTask.c ****              
 134:task/KeyTask.c ****            case 0x03:
 135:task/KeyTask.c **** 			 L_Alarm = ValDec(L_Alarm,STEP,PT_MAX_VAL);
 136:task/KeyTask.c ****              break;
 137:task/KeyTask.c ****              
 138:task/KeyTask.c ****            case 0x04:
 139:task/KeyTask.c ****              fDOKEY = 1;                   
 140:task/KeyTask.c ****              BaudAndData ^= 0x10;                   
 141:task/KeyTask.c ****              break;  
 142:task/KeyTask.c ****              
 143:task/KeyTask.c ****            case 0x05:
 144:task/KeyTask.c ****              AddrVal = ValDec(AddrVal,STEP,ADDR_MAX_VAL);                  
 145:task/KeyTask.c ****              break;                 
 146:task/KeyTask.c ****            		 	
 147:task/KeyTask.c ****            case 0x06:
 148:task/KeyTask.c ****           	fDOKEY = 1;
 149:task/KeyTask.c ****           	AlarmSwitch ^= 0x01;
 150:task/KeyTask.c ****           	break;
 151:task/KeyTask.c ****           	
 152:task/KeyTask.c ****            default:
 153:task/KeyTask.c ****            break;
 154:task/KeyTask.c ****        }
 155:task/KeyTask.c ****         break;
 156:task/KeyTask.c ****         
 157:task/KeyTask.c ****     case 7:
 158:task/KeyTask.c ****       switch (MenuID & 0x0f)         				
 159:task/KeyTask.c ****         {
 160:task/KeyTask.c ****            case 0x00:            
 161:task/KeyTask.c ****             PtVal = ValAdd(PtVal,FAST_STEP,PT_MAX_VAL);                 
 162:task/KeyTask.c ****             break; 
 163:task/KeyTask.c **** 			
 164:task/KeyTask.c ****            case 0x01:            
 165:task/KeyTask.c ****             CtVal = ValAdd(CtVal,FAST_STEP,CT_MAX_VAL);                 
 166:task/KeyTask.c ****             break;         
 167:task/KeyTask.c **** 
 168:task/KeyTask.c ****           case 0x02:
 169:task/KeyTask.c **** 			H_Alarm = ValAdd(H_Alarm,FAST_STEP,PT_MAX_VAL);
 170:task/KeyTask.c ****           	break;
 171:task/KeyTask.c ****           	
 172:task/KeyTask.c ****           case 0x03:
 173:task/KeyTask.c **** 			L_Alarm = ValAdd(L_Alarm,FAST_STEP,PT_MAX_VAL);   
 174:task/KeyTask.c ****           	break;        
 175:task/KeyTask.c ****             
 176:task/KeyTask.c ****           case 0x04:            
 177:task/KeyTask.c ****             AddrVal = ValAdd(AddrVal,FAST_STEP,ADDR_MAX_VAL);                
 178:task/KeyTask.c ****             break;         
 179:task/KeyTask.c ****           
 180:task/KeyTask.c ****           default:
 181:task/KeyTask.c ****           break; 
 182:task/KeyTask.c ****         }       
 183:task/KeyTask.c ****     	break;
 184:task/KeyTask.c ****     	
 185:task/KeyTask.c ****     case 8:
 186:task/KeyTask.c ****        switch (MenuID & 0x0f)        //DN键数值减一
 187:task/KeyTask.c ****          {
 188:task/KeyTask.c ****            case 0x00:
 189:task/KeyTask.c ****              PtVal = ValDec(PtVal,FAST_STEP,PT_MAX_VAL);                   
 190:task/KeyTask.c ****              break;
 191:task/KeyTask.c **** 
 192:task/KeyTask.c ****            case 0x01:
 193:task/KeyTask.c ****              CtVal = ValDec(CtVal,FAST_STEP,CT_MAX_VAL);                   
 194:task/KeyTask.c ****              break;
 195:task/KeyTask.c **** 
 196:task/KeyTask.c ****            case 0x02:
 197:task/KeyTask.c **** 			 H_Alarm = ValDec(H_Alarm,FAST_STEP,PT_MAX_VAL);                       
 198:task/KeyTask.c ****              break;
 199:task/KeyTask.c ****              
 200:task/KeyTask.c ****            case 0x03:
 201:task/KeyTask.c **** 			 L_Alarm = ValDec(L_Alarm,FAST_STEP,PT_MAX_VAL);
 202:task/KeyTask.c ****              break;          
 203:task/KeyTask.c ****              
 204:task/KeyTask.c ****            case 0x04:
 205:task/KeyTask.c ****              AddrVal = ValDec(AddrVal,FAST_STEP,ADDR_MAX_VAL);                  
 206:task/KeyTask.c ****              break;                 
 207:task/KeyTask.c ****            		 	
 208:task/KeyTask.c ****            default:
 209:task/KeyTask.c ****            break;
 210:task/KeyTask.c ****           }
 211:task/KeyTask.c ****     	 break;     
 212:task/KeyTask.c ****                             
 213:task/KeyTask.c ****      default:
 214:task/KeyTask.c ****      return;
 215:task/KeyTask.c ****     }         
 216:task/KeyTask.c ****    MenuDis(MenuID);
 217:task/KeyTask.c ****    fDispNow = 1;                          //立即显示
 218:task/KeyTask.c ****  }     
 219:task/KeyTask.c ****   //------------------------------------------------------
 220:task/KeyTask.c **** uint16    ValAdd(uint16 ValTemp,uint8 ValCount,uint16 MaxVal)
 221:task/KeyTask.c ****   {
 170               	.LM1:
 171               	/* prologue: frame size=0 */
 172               	/* prologue end (size=0) */

⌨️ 快捷键说明

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