亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? uart0.lst

?? 串口通信例程源代碼 單片機使用的是新華龍的F020
?? LST
?? 第 1 頁 / 共 2 頁
字號:
 271   1              ES0 = 1;        // 使能串口中斷
 272   1              
 273   1      
 274   1      }
 275          
 276          //-------------------------------
 277          // 功能:    初始化單片機內部資源
 278          // 輸入參數:無
 279          // 輸出參數:無
 280          //-------------------------------
 281          void Init_Device(void)
 282          {
 283   1          Timer_Init();
 284   1      
 285   1          Port_IO_Init();
 286   1      
 287   1          Oscillator_Init();
 288   1              
 289   1              UART0_Init();
 290   1      
 291   1          Interrupts_Init();
 292   1      }
 293          
 294          //------------------------------------------------
 295          // 函數名稱:InitVariable()
 296          // 函數功能:初始化系統全局變量
 297          //------------------------------------------------
 298          void InitVariable()
 299          {
 300   1              g_cMainSignal = 0;
 301   1      
 302   1              g_sTime.base  = 0;
C51 COMPILER V7.05   UART0                                                                 08/18/2007 20:00:10 PAGE 6   

 303   1              g_sTime.second= 0;
 304   1              g_sTime.minute= 0;
 305   1              
 306   1              g_cRecvPointer =0;
 307   1              g_cRecvLength  =0;
 308   1      
 309   1      
 310   1      }
 311          
 312          //-------------------------------------------------------------
 313          // 函數名稱:定時器0中斷入口函數,完成計時功能,定時時間為25ms
 314          // 輸入參數: 無
 315          // 輸出參數: 無
 316          //-------------------------------------------------------------
 317          
 318          void timer0() interrupt 1
 319          {
 320   1              TH0=TMR0H;
 321   1              TL0=TMR0L;
 322   1      
 323   1              // 程序時基信號
 324   1              if(++g_sTime.base>=TICKS_PER_SEC)
 325   1              {// 1s到
 326   2                      g_sTime.base = 0;
 327   2      
 328   2                      g_cMainSignal|=SECD_SIGNAL;      // 產生秒信號
 329   2      
 330   2                      if(++g_sTime.second>59)
 331   2                      {// 1分鐘到
 332   3                              g_sTime.second = 0;
 333   3      
 334   3                              g_cMainSignal|=MINU_SIGNAL;  // 產生分信號
 335   3      
 336   3                              if(++g_sTime.minute>59) g_sTime.minute=0;
 337   3                      }
 338   2              }
 339   1      
 340   1      
 341   1      
 342   1      }
 343          
 344          //..................................................
 345          // 串口0中斷服務程序
 346          // 
 347          //.................................................
 348          void Uart0() interrupt 4
 349          {
 350   1              BYTE cRecvData;
 351   1      
 352   1              if(RI0)                                                         // 如果收到數據
 353   1              {
 354   2                      RI0=0;                                                  // 清除收到數據標志
 355   2                      
 356   2                      cRecvData = SBUF0;                      // 讀取數據
 357   2                      SBUF0 = cRecvData;              // 回顯
 358   2      
 359   2                      if(cRecvData=='\r')
 360   2                      {// 回車符作為結束標志
 361   3                              g_cRecvBuffer[g_cRecvPointer]=0; // 接收結束
 362   3                              g_cRecvPointer = 0;
 363   3      
 364   3                              g_cMainSignal|=UART0RECV_SIGNAL; // 接收完成信號
C51 COMPILER V7.05   UART0                                                                 08/18/2007 20:00:10 PAGE 7   

 365   3                              
 366   3                      }
 367   2                      else if(cRecvData==0x08)
 368   2                      {// CTRL+H控制鍵,退格
 369   3                              if(g_cRecvPointer>0) g_cRecvPointer--;
 370   3                      }
 371   2                      else                    
 372   2                      {
 373   3                              if(g_cRecvPointer<RECVBUF_LEN)
 374   3                              {
 375   4                                      if(isupper(cRecvData))
 376   4                                      {// 大寫字符轉換為小寫
 377   5                                              cRecvData = _tolower(cRecvData);
 378   5                                      }
 379   4                                      g_cRecvBuffer[g_cRecvPointer++]=cRecvData;
 380   4                              }
 381   3                              else
 382   3                              {// 數據長度錯誤
 383   4                                      g_cRecvPointer = 0;
 384   4                              }
 385   3                      }
 386   2                      
 387   2      
 388   2              }
 389   1      
 390   1              if(TI0)                                                         // 如果數據發送結束
 391   1              {
 392   2                      TI0=0;          
 393   2              }
 394   1              
 395   1      }
 396          
 397          
 398          //------------------------------------------------------------------
 399          // 主函數開始
 400          //-------------------------------------------------------------------
 401          void main()
 402          {
 403   1              Init_Device();        // 初始化系統
 404   1              InitVariable();       // 初始化變量
 405   1              
 406   1              EA=0;                             // 禁止看門狗
 407   1              WDTCN = 0xDE;         // 實驗中不使用看門狗
 408   1              WDTCN = 0xAD;   
 409   1      
 410   1              EA = 1;               // 
 411   1               
 412   1          TR0  = 1;             // 啟動定時器0
 413   1      
 414   1              SendString("C8051F02x core Module EC1,v1.0\r\n");
 415   1      
 416   1              while(1)
 417   1              {
 418   2      
 419   2                      if(g_cMainSignal&SECD_SIGNAL)
 420   2                      {// 秒信號
 421   3                              g_cMainSignal&=~SECD_SIGNAL;
 422   3                      
 423   3                      }
 424   2      
 425   2                      if(g_cMainSignal&MINU_SIGNAL)
 426   2                      {// 分信號
C51 COMPILER V7.05   UART0                                                                 08/18/2007 20:00:10 PAGE 8   

 427   3                              g_cMainSignal&=~MINU_SIGNAL;
 428   3      
 429   3                              
 430   3                      }
 431   2      
 432   2                      if(g_cMainSignal&UART0RECV_SIGNAL)
 433   2                      {// UART0接收完成信號
 434   3                              g_cMainSignal&=~UART0RECV_SIGNAL;
 435   3                              
 436   3                              // 確保接收緩沖區內的字符串有結尾
 437   3                              g_cRecvBuffer[RECVBUF_LEN-1] = 0;
 438   3                              // 分析接收的命令
 439   3                              CommandProc(g_cRecvBuffer);
 440   3      
 441   3                      }
 442   2      
 443   2              }
 444   1      
 445   1      }
 446          
 447          //......................................
 448          // 功能:分析接收的命令
 449          // 輸入參數:
 450          //    pRecvString,char *:輸入字符串
 451          // 輸出參數:無
 452          // 命令格式說明:
 453          // setled=燈序號,開關狀態 \r
 454          // 燈序號:   1,LED1;2,LED2
 455          // 開關狀態:ON,打開燈;OFF,關閉燈
 456          // 命令字符不區分大小寫
 457          //.......................................
 458          void CommandProc(char *pRecvString)
 459          {
 460   1              BYTE cRet=0;
 461   1              int  iPos;
 462   1      
 463   1              
 464   1              if(strncmp(pRecvString,"setled=",7)==0)
 465   1              {// 設置LED狀態命令
 466   2                      
 467   2                      pRecvString+=7;
 468   2                      
 469   2                      iPos=strpos(pRecvString,',');
 470   2      
 471   2                      if(iPos==-1)
 472   2                      {// 無效命令
 473   3                              cRet = 0;
 474   3                      }
 475   2                      else
 476   2                      {
 477   3                      
 478   3                  if(strncmp(pRecvString,"2",1)==0)
 479   3                              {// 控制LED2
 480   4                                      pRecvString+=2;
 481   4      
 482   4                                      if(strcmp(pRecvString,"on")==0)
 483   4                                      {// 打開LED
 484   5                                              P_LED2 = 1;
 485   5      
 486   5                                              cRet = 1;
 487   5                                      }
 488   4                                      else if(strcmp(pRecvString,"off")==0)
C51 COMPILER V7.05   UART0                                                                 08/18/2007 20:00:10 PAGE 9   

 489   4                                      {// 關閉LED
 490   5                                              P_LED2 = 0;
 491   5      
 492   5                                              cRet = 1;
 493   5                                      }
 494   4                                      else
 495   4                                      {
 496   5                                              cRet = 0;
 497   5                                      }
 498   4                              }
 499   3                      }
 500   2      
 501   2              }
 502   1              else
 503   1              {// 無效命令
 504   2                      cRet = 0;
 505   2              }
 506   1              
 507   1              // 向主機發送應答
 508   1              if(cRet)
 509   1              {
 510   2                      SendString("\r\nOK\r\n");
 511   2              }
 512   1              else SendString("\r\nError\r\n");
 513   1      
 514   1      }
 515          
 516          //-----------------------------------------------------
 517          // 函數功能:循環方式發送字符串
 518          // 輸出參數:pSendString,char*:欲發送的字符串的緩沖區
 519          // 輸出:無
 520          //-----------------------------------------------------
 521          void SendString(char *pSendString)
 522          {
 523   1              
 524   1              // 循環發送,首先關閉中斷
 525   1              ES0 =0;
 526   1              
 527   1              while(*pSendString!=0)
 528   1              {
 529   2                      SBUF0 = *pSendString++;
 530   2                      while(TI0==0);
 531   2                      TI0=0;
 532   2              }
 533   1      
 534   1              ES0 = 1;
 535   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    621    ----
   CONSTANT SIZE    =     67    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      6       8
   IDATA SIZE       =     20    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  1 WARNING(S),  0 ERROR(S)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91丨porny丨国产| 国产精品毛片高清在线完整版| 中文字幕精品—区二区四季| 成人黄色777网| 亚洲国产精品久久人人爱| 91同城在线观看| 亚洲3atv精品一区二区三区| 777久久久精品| 成人午夜精品一区二区三区| 亚洲综合一区二区三区| 日韩一区二区电影在线| 成av人片一区二区| 久久91精品国产91久久小草| 国产精品美女久久久久久| 欧美日韩国产一级片| 国产一区二区三区四区五区美女| 亚洲欧洲日韩综合一区二区| 69av一区二区三区| 91首页免费视频| 成人一区二区三区中文字幕| 丝袜亚洲另类丝袜在线| 精品美女被调教视频大全网站| 色综合天天性综合| 99久久精品国产网站| 国产精品一区二区三区99| 免费人成网站在线观看欧美高清| 中文字幕一区三区| 国产视频一区二区在线| 日韩精品一区二区三区中文不卡| 欧美日韩在线观看一区二区 | 欧美本精品男人aⅴ天堂| 一本到不卡精品视频在线观看| 国产成人小视频| 国产精品一区二区你懂的| 美国三级日本三级久久99| 视频一区在线播放| 日韩成人免费电影| 九九国产精品视频| 国产盗摄精品一区二区三区在线| 国产精品18久久久久久vr| 成人一级片网址| 一本大道av一区二区在线播放 | 国产成人精品三级| 成人v精品蜜桃久久一区| 97久久精品人人爽人人爽蜜臀 | 91国产免费看| 日韩欧美在线综合网| 国产欧美一区视频| 国产精品久久久久久久久免费桃花| 亚洲欧洲成人av每日更新| 亚洲精品欧美综合四区| 久久99在线观看| 91在线精品一区二区三区| 欧美一区三区二区| 亚洲欧洲无码一区二区三区| 日韩精品色哟哟| 色屁屁一区二区| 国产天堂亚洲国产碰碰| 天天色图综合网| av男人天堂一区| 久久精品人人做人人爽人人| 亚洲免费资源在线播放| 国产成人免费视频精品含羞草妖精| 一本大道久久精品懂色aⅴ| 欧美高清在线精品一区| 麻豆精品视频在线观看视频| 日本道色综合久久| 日韩毛片高清在线播放| 97久久精品人人做人人爽50路| 亚洲精品在线免费观看视频| 视频一区二区欧美| 欧美日韩精品一区二区三区蜜桃 | 亚洲大片在线观看| 国产一区二区三区久久悠悠色av| 欧美乱妇20p| 久久精品国产精品青草| 欧美精品久久99久久在免费线| 亚洲永久免费视频| 欧美喷潮久久久xxxxx| 日本sm残虐另类| 久久免费精品国产久精品久久久久| 奇米777欧美一区二区| 欧美日韩一本到| 青娱乐精品在线视频| 久久免费午夜影院| eeuss鲁一区二区三区| 一区二区三区在线观看动漫| 欧美色网一区二区| 国产美女精品在线| 一区二区三区四区在线播放| 欧美精品黑人性xxxx| 国产成人综合在线| 午夜视频一区在线观看| 久久久久久久国产精品影院| 日本韩国一区二区三区视频| 婷婷丁香久久五月婷婷| 国产精品久久久久久久久久免费看 | 99久久精品免费精品国产| 亚洲va欧美va人人爽午夜| 精品国产三级a在线观看| 91国产成人在线| 99re66热这里只有精品3直播| 日韩成人av影视| 亚洲激情图片一区| 国产精品女主播在线观看| 欧美zozo另类异族| 欧美日韩国产精品自在自线| 99久精品国产| 成人av网址在线| 国产在线乱码一区二区三区| 国产精品成人在线观看| 国产午夜精品一区二区三区嫩草| 欧美丰满嫩嫩电影| 欧美男生操女生| 日韩视频免费直播| 日韩一级视频免费观看在线| 7777精品伊人久久久大香线蕉经典版下载| 成人开心网精品视频| 成人av网站在线| 色婷婷激情综合| 欧美精品亚洲二区| 欧美成人乱码一区二区三区| 日韩欧美一二三四区| 精品国产三级a在线观看| 久久久久久久电影| 亚洲人成精品久久久久| 一区二区国产视频| 无码av免费一区二区三区试看| 日韩精品电影一区亚洲| 青青国产91久久久久久| 国产精品自拍网站| 欧洲国内综合视频| 久久日一线二线三线suv| 1024国产精品| 毛片av一区二区| av成人老司机| 日韩欧美国产综合一区 | 日本一区二区成人| 性做久久久久久久免费看| 国产一区二区三区在线看麻豆| av电影在线观看不卡| 7777精品伊人久久久大香线蕉完整版 | 91美女片黄在线| 精品成人在线观看| 天天综合天天做天天综合| www.在线成人| 国产精品电影一区二区| 麻豆精品一区二区综合av| 欧美亚洲国产一卡| 国产精品传媒视频| 成人黄色综合网站| 久久久777精品电影网影网| 麻豆成人综合网| 91麻豆精品91久久久久同性| 亚洲一级电影视频| 色婷婷激情久久| 亚洲综合在线电影| 91久久精品一区二区二区| 国产片一区二区| 国产成人av一区二区三区在线观看| 日韩欧美一区二区三区在线| 亚洲一区二区三区爽爽爽爽爽| 色哟哟一区二区| 亚洲丰满少妇videoshd| 欧美日韩小视频| 欧美aaaaaa午夜精品| 欧美mv日韩mv国产网站app| 免费欧美日韩国产三级电影| 日韩欧美一级精品久久| 国产福利一区在线| 亚洲欧洲无码一区二区三区| 91丨九色丨尤物| 亚洲午夜影视影院在线观看| 欧美美女一区二区| 国产99精品在线观看| 亚洲欧美一区二区三区久本道91| 91久久精品国产91性色tv| 蜜臀精品久久久久久蜜臀| 中文字幕欧美国产| 色美美综合视频| 狠狠久久亚洲欧美| 亚洲电影你懂得| 亚洲欧美一区二区三区孕妇| 欧美一区二区三区性视频| 99久久精品情趣| 国产精品自拍网站| 免费观看成人鲁鲁鲁鲁鲁视频| 国产精品美女久久久久高潮| 日韩一级二级三级精品视频| a在线欧美一区| www.亚洲人| 国产一区 二区| 国产成人精品三级| 狠狠色狠狠色合久久伊人| 免费人成网站在线观看欧美高清| 一区二区三区在线影院| 国产精品网站在线观看| 久久久久久麻豆| 国产欧美日韩三级| 国产夜色精品一区二区av|