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

📄 main.lst

📁 利用SMALL RTOS51做的一个项目
💻 LST
📖 第 1 页 / 共 5 页
字号:
 180          {
 181   1              uint8 i;
 182   1          //"系统初始化"
 183   1              init();
 184   1      
 185   1      
 186   1              Write728x(0x12,SCN|INV|BMS);
 187   1              Write728x(0x11,0x80);
 188   1              Write728x(0x10,0xFF);
 189   1              Write728x(0x19,0xFF);
 190   1                              
 191   1              _Flag_DispChanged=1;
 192   1      
 193   1              PS2_CLK=1;
 194   1              PS2_DATA=1;
 195   1      
 196   1              _Flag_AutoMode=TRUE;                                                                                    //自动模式      :TRUE          手动模式  :FALSE
 197   1              LED_NUM_ON();   
 198   1      
 199   1              _Flag_KeyLock=FALSE;                                                                                    //键盘锁
 200   1              _Flag_Set=TRUE;                                                                                                 //设置目标产量  :TRUE          设置当前产量  :FALSE
 201   1      
 202   1              _Flag_State_Producing=FALSE;                                                                            //工作状态
 203   1              
 204   1              _Flag_State_Error=FALSE;
 205   1                      
 206   1              _Flag_State_Finish=FALSE;       
 207   1      
 208   1              _Flag_State_TaskAccepted=FALSE;
 209   1      
 210   1              _IdleTimer=180;
 211   1      
 212   1      
 213   1              SERIAL_DIRECTION_CTRL=0;
 214   1      
 215   1              _Beep=0;
 216   1      
 217   1              for(i=0;i<12;i++)
 218   1              {
 219   2                      Write728x(i,0xFF);
 220   2              }
 221   1                                                                                                                      
 222   1              _CurrentValue=0;
 223   1              _TargetValue=0;
 224   1              DispNum(1,_CurrentValue);
 225   1              DispNum(0,_TargetValue);
 226   1      
 227   1      
 228   1              _Flag_DispSpeed=1;
 229   1              DispNum(2,_ProduceSpeed);
 230   1              _LedProduceSpeed=1;
 231   1              _LedProducedPersent=0;
 232   1      
 233   1      }
 234          
 235          
 236          /*********************************************************************************************************
 237          ** 函数名称: main
 238          ** 功能描述: 主函数,用户程序从这里执行
C51 COMPILER V7.50   MAIN                                                                  12/29/2004 20:23:49 PAGE 5   

 239          ** 输 入: 无
 240          ** 输 出: 无
 241          ** 全局变量: 无
 242          ** 调用模块: init(),OSStart(),LCMIni(),LCMClr();
 243          **
 244          ** 作 者: 龚树强
 245          ** 日 期: 2004年10月15日
 246          **-------------------------------------------------------------------------------------------------------
 247          ** 修改人:  
 248          ** 日 期:
 249          **------------------------------------------------------------------------------------------------------
 250          ********************************************************************************************************/
 251          
 252          
 253                          void main(void)
 254          {
 255   1      
 256   1          SystemInit();
 257   1      
 258   1                                                          
 259   1      
 260   1          //DispNum(2,500);
 261   1      
 262   1      //      串口测试
 263   1      /*      SERIAL_DIRECTION_CTRL=1;
 264   1              ES=0;
 265   1              for(;;)
 266   1              {
 267   1                      
 268   1                      SBUF=0X01;
 269   1                      while(!TI);
 270   1                      TI=0;
 271   1              }*/
 272   1              
 273   1      //      LED_NUM_ON();
 274   1      
 275   1      //      LED_NUM_OFF();
 276   1              
 277   1          OSStart(); 
 278   1      }
 279          
 280          
 281          
 282          /*********************************************************************************************************
 283          ** 函数名称: ISR_Serial
 284          ** 功能描述: 一个任务,Serial的中断处理函数
 285          **
 286          ** 输 入: 无
 287          ** 输 出: 无
 288          ** 全局变量: 无
 289          ** 调用模块: OSSemCreate(),DispStr(),OSWait(),DispClr(),OSSemPost(),
 290          **
 291          ** 作 者: 龚树强
 292          ** 日 期: 2004年10月15日
 293          **-------------------------------------------------------------------------------------------------------
 294          ** 修改人:
 295          ** 日 期:
 296          **------------------------------------------------------------------------------------------------------
 297          ********************************************************************************************************/
 298                  void ISR_Serial(void)           interrupt       SERIAL_ISR
 299          {
 300   1          uint8 data temp;
C51 COMPILER V7.50   MAIN                                                                  12/29/2004 20:23:49 PAGE 6   

 301   1              if (RI == 1)
 302   1              {
 303   2      #if EN_OS_INT_ENTER >0
 304   2              OS_INT_ENTER();
 305   2      #endif
 306   2                      RI = 0;
 307   2                      RB8 = 0;
 308   2      
 309   2              OSQIntPost(SerialInData,SBUF);
 310   2              OSIntExit();
 311   2                      return;
 312   2              }
 313   1              if (TI == 1)
 314   1              {
 315   2                      TI = 0;
 316   2                      if ((OSQNMsgs(SerialOutData)%7)!=0)
 317   2                      {
 318   3                              SERIAL_DIRECTION_CTRL=1;
 319   3      
 320   3                              OSQAccept(&temp,SerialOutData);
 321   3      
 322   3                              _ResendBuffer[_BufferIndex]=temp;
 323   3      
 324   3                              _BufferIndex++;
 325   3      
 326   3                              TB8=0;
 327   3      
 328   3                          SBUF = temp;
 329   3                      }
 330   2                      else
 331   2                      {
 332   3                          
 333   3                              //OSSemIntPost(SEM_SendBuffer);
 334   3      
 335   3              //              if( OSQNMsgs(SerialOutData) > 0 )
 336   3              //              {
 337   3              //                      OSQAccept(&temp,SerialOutData);
 338   3      
 339   3              //                      _BufferIndex=0;
 340   3      
 341   3              //                      _ResendBuffer[_BufferIndex]=temp;
 342   3      
 343   3              //                      TB8=1;
 344   3      
 345   3              //              SBUF = temp;
 346   3      
 347   3              //              }
 348   3              //              else
 349   3              //              {       
 350   3                                      SERIAL_DIRECTION_CTRL=0;
 351   3              //              }
 352   3                              if(!_Flag_RequestAccept)
 353   3                              {
 354   4                                      _Flag_RequestAccept=1;
 355   4                                      OSIntSendSignal(1);
 356   4                              }
 357   3                      }
 358   2              }
 359   1             
 360   1      }
 361          
 362          
C51 COMPILER V7.50   MAIN                                                                  12/29/2004 20:23:49 PAGE 7   

 363          /*********************************************************************************************************
 364          ** 函数名称: ISR_Counter_Int
 365          ** 功能描述: 一个任务,计数器的中断处理函数
 366          **
 367          ** 输 入: 无
 368          ** 输 出: 无
 369          ** 全局变量: 无
 370          ** 调用模块: OSSemCreate(),DispStr(),OSWait(),DispClr(),OSSemPost(),

⌨️ 快捷键说明

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