標題: 關(guān)于STC單片機的紅外遙控程序移植到錦銳MCU [打印本頁]

作者: 金滿堂    時間: 2022-10-18 20:35
標題: 關(guān)于STC單片機的紅外遙控程序移植到錦銳MCU
我用STC單片機的紅外遙控搬到錦銳MCU CA51F5513S上就不行,哪位用過錦銳MCU的幫忙看看,謝謝。

單片機源程序如下:
  1. #ifndef _MAIN_C_
  2. #define _MAIN_C_
  3. /*********************************************************************************************************************/

  4. #include "include/delay.h"
  5. #include "include/time.h"
  6. #include "include/ca51f5_config.h"               
  7. #include "include/ca51f5sfr.h"
  8. #include "include/ca51f5xsfr.h"
  9. #include "include/gpiodef_f5.h"
  10. #include "include/system_clock.h"
  11. #include "include/uart.h"
  12. #include <intrins.h>

  13. #define nop()           _nop_();
  14. #define LED1                  P03                                       
  15. #define LED2                  P02
  16. #define LED3                  P00                                       
  17. #define LED4                  P01
  18. #define LED5                  P34
  19. #define LED6                  P33
  20. #define BEE1                  P05
  21. ////////////////////////////////////////////
  22. #define KEY1                  P07                                       
  23. #define KEY2                  P30
  24. #define KEY3                  P31                                       
  25. #define KEY4                  P35
  26. #define IR                          P32        //IR&RF遙控輸入
  27. #define RF_OUT                P04




  28. /**************************************************************************
  29. *函數(shù)名:IOInit(void) //
  30. *功  能:IO口初始化
  31. *-------------------------------------------------------------------------

  32. **************************************************************************/
  33. void IO1Init(void)
  34.         {


  35.          P03F = OUTPUT;
  36.          P02F = OUTPUT;        
  37.          P01F = OUTPUT;
  38.          P00F = OUTPUT;
  39.          P34F = OUTPUT;
  40.          P33F = OUTPUT;
  41.                
  42.          P07F = INPUT;        
  43.          P30F = INPUT;
  44.          P31F = INPUT;
  45.          P35F = INPUT;        
  46.                         
  47.          P04F = OUTPUT;        
  48.          P05F = OUTPUT;        
  49.          nop();
  50.          LED1 = 0;
  51.          LED2 = 0;        
  52.          LED3 = 0;
  53.          LED4 = 0;
  54.          LED5 = 0;
  55.          LED6 = 0;
  56.          nop();
  57.         }


  58. ///**************************************************************************
  59. //*函數(shù)名:Key_Scan(void)
  60. //*功  能:按鍵掃描
  61. //**************************************************************************/
  62. void pow_key(void)
  63. {

  64.         if(KEY1==0)
  65.         {
  66.                 Delay_ms(5);
  67.                 if(KEY1==0)
  68.                 {
  69.               while(!KEY1);   
  70.                            LED1=1;         
  71.                           BEE1=1; Delay_ms(50);BEE1=0;


  72.                 }
  73.         }

  74.                 if(KEY2==0)
  75.         {
  76.                 Delay_ms(5);
  77.                 if(KEY2==0)
  78.                 {
  79.               while(!KEY2);        
  80.                         BEE1=1; Delay_ms(50);BEE1=0;
  81.                          LED2=1;nop();
  82.                         Delay_ms(300);LED4=1;
  83.                   
  84.                 }
  85.         }
  86.         
  87.                 if(KEY4==0)
  88.         {
  89.                 Delay_ms(5);
  90.                 if(KEY4==0)
  91.                 {
  92.               while(!KEY4);
  93.                         BEE1=1; Delay_ms(50);BEE1=0;
  94.         LED1=0;nop();
  95.                                 LED2=0;nop();
  96.                                 LED3=0;nop();
  97.                                 LED4=0;nop();
  98.                                 LED5=0;
  99.                                 LED6=0;
  100.                 }
  101.         }
  102.         
  103.                 if(KEY3==0)
  104.         {
  105.                 Delay_ms(5);
  106.                 if(KEY3==0)
  107.                 {
  108.               while(!KEY4);
  109.                         BEE1=1; Delay_ms(50);BEE1=0;
  110.         LED3=1;
  111.                           Delay_ms(300);
  112.         LED5=1;
  113.                 }
  114.         }
  115. }



  116. //****************************************************************




  117. /**************************************************************************
  118. *函數(shù)名:void main(void)
  119. *功  能:主程序入口
  120. *輸入量:
  121. *輸出量:
  122. *-------------------------------------------------------------------------
  123. *說  明:
  124. **************************************************************************/
  125. void main(void)
  126. {        
  127.   IO1Init();
  128.         Timer1Init();          //初始化定時器0        
  129.         EX0_init();             //INT0初始化
  130.         EA = 1;                                                                        //開全局中斷

  131.         while(1)
  132.         {        
  133.                 pow_key();        
  134.     rem_key();
  135. }
  136. }




  137. #endif
復制代碼


IR_DEC1.rar

129.66 KB, 下載次數(shù): 13

源程序


作者: yzwzfyz    時間: 2022-10-19 09:41
學會看芯片手冊,比較一下兩者的硬件、軟件區(qū)別。
作者: wufa1986    時間: 2022-10-20 11:42
怎么可能有人幫你看這個,我們只能講下思路,關(guān)鍵是時序,涉及時間精確的地方一定要搞清楚
作者: 大漠落日    時間: 2022-10-21 08:13
開發(fā)平臺不一樣,會有細節(jié)異
作者: 大漠落日    時間: 2022-10-21 11:24
你的型號寫錯了吧,我找到有CA51F551S3




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1