欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13043|回復(fù): 5
收起左側(cè)

error C142: 'SFR': invalid base address keil編譯錯(cuò)誤問題(獨(dú)立按鍵和外部中斷)

[復(fù)制鏈接]
ID:428588 發(fā)表于 2018-11-18 11:28 | 顯示全部樓層 |閱讀模式
新手學(xué)習(xí)中報(bào)錯(cuò)后找不到哪里錯(cuò)了大神幫忙看一下,想做一個(gè)簡單的獨(dú)立按鍵和外部中斷

錯(cuò)誤點(diǎn):main.c(5): error C142: 'SFR': invalid base address
main.c(60): error C202: 'y': undefined identifier
main.c(61): error C202: 'y': undefined identifier
main.c(111): error C141: syntax error near 'void'

單片機(jī)源碼:
  1. #include <stc15f2k60s2.h>

  2. #include <intrins.h>
  3. #define GPIO_LED P2
  4. sbit k1=P5^5;   
  5. sbit y=3^2;       //這里不明白是哪里錯(cuò)了 ,和高低位有關(guān)系嗎???
  6. void  keypros();
  7. void Delay1ms() ;
  8. void Delay500ms();
  9. void Delay1000ms() ;



  10. void Int1Init()
  11. {
  12. IT0=1;
  13. EX0=1;
  14. EA=1;
  15. }
  16. void Delay1ms()  //@11.0592MHz
  17. {
  18. unsigned char i, j;
  19. _nop_();
  20. _nop_();
  21. _nop_();
  22. i = 11;
  23. j = 190;
  24. do
  25. {
  26.   while (--j);
  27. } while (--i);
  28. }




  29. void main()
  30. {
  31.   GPIO_LED=1;
  32.   keypros();
  33.   Int1Init();
  34. while(1)
  35. {
  36.    
  37.    if(k1==0)
  38. {Delay1ms() ;
  39.   if(k1==0)
  40.   {
  41.   y=1;
  42.    y=0;
  43. }
  44.   while(!k1);
  45. }
  46.   
  47.   
  48.   
  49. }
  50. }









  51. void keypros()//
  52. {
  53.   if(k1==0)
  54. {
  55. Delay1ms();
  56. if(k1==0)
  57. {
  58. unsigned char n;
  59. GPIO_LED=0xfe;
  60. while(1){
  61. for(n=0;n<7;n++)
  62. {
  63. GPIO_LED=_crol_(GPIO_LED,1);
  64. Delay500ms();
  65. }
  66. for(n=0;n<7;n=n++)
  67. {
  68. GPIO_LED=_cror_(GPIO_LED,1);
  69. Delay500ms();}
  70. }
  71. }
  72. while(!k1);
  73. }  
  74.   
  75.   


  76. void Int1() interrupt 0
  77. {
  78.    
  79. while(1){
  80.    unsigned char n;
  81. GPIO_LED=0xfe;
  82.   for(n=0;n<7;n++)
  83. {GPIO_LED=_crol_(GPIO_LED,1);
  84.   Delay1000ms();}

  85. for(n=0;n<7;n=n++)
  86. {GPIO_LED=_cror_(GPIO_LED,1);
  87. Delay1000ms();
  88. }
  89. }
  90. }
  91. void Delay1000ms()  //@11.0592MHz
  92. {
  93. unsigned char i, j, k;
  94. _nop_();
  95. _nop_();
  96. i = 43;
  97. j = 6;
  98. k = 203;
  99. do
  100. {
  101.   do
  102.   {
  103.    while (--k);
  104.   } while (--j);
  105. } while (--i);
  106. }

  107. void Delay500ms()  //@11.0592MHz
  108. {
  109. unsigned char i, j, k;
  110. _nop_();
  111. _nop_();
  112. i = 22;
  113. j = 3;
  114. k = 227;
  115. do
  116. {
  117.   do
  118.   {
  119.    while (--k);
  120.   } while (--j);
  121. } while (--i);
  122. }
復(fù)制代碼




回復(fù)

使用道具 舉報(bào)

ID:303383 發(fā)表于 2018-11-18 14:44 | 顯示全部樓層
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
回復(fù)

使用道具 舉報(bào)

ID:428712 發(fā)表于 2018-11-18 15:27 | 顯示全部樓層
sbit k1=P5^5;   
sbit y=3^2;       //這里不明白是哪里錯(cuò)了 ,和高低位有關(guān)系嗎???


這兩行代碼,為什么不在函數(shù)中呢,還有,K1與y是常量嗎,常量直接定義成宏就可以了啊
回復(fù)

使用道具 舉報(bào)

ID:428730 發(fā)表于 2018-11-18 16:05 | 顯示全部樓層
首先你定義引腳的時(shí)候少了P,然后你的60行出現(xiàn)的y變量沒有定義,最后是語法錯(cuò)誤,再那行仔細(xì)檢查下。祝你好運(yùn)!
回復(fù)

使用道具 舉報(bào)

ID:164602 發(fā)表于 2018-11-19 08:35 | 顯示全部樓層
我還發(fā)現(xiàn)一個(gè)錯(cuò)誤:你的編譯報(bào)錯(cuò)最后一項(xiàng),是因?yàn)?11行的上一行,缺少一個(gè)大括號}的原因。
回復(fù)

使用道具 舉報(bào)

ID:88606 發(fā)表于 2020-4-7 14:31 | 顯示全部樓層
sbit y=3^2;       改為sbit y=P3^2;      
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表