蓝桥ROS机器人之51单片机C代码编译和下载

举报
zhangrelay 发表于 2022/03/22 00:11:42 2022/03/22
【摘要】 https://blog.csdn.net/zhangrelay/category_6638850.html zhangrelay / Linux_C51 · GitCode 开启环境: 使用终端,升级并安装sdcc: sudo apt install sdcc 安装仿真工具: sudo apt install&n...

https://blog.csdn.net/zhangrelay/category_6638850.html

zhangrelay / Linux_C51 · GitCode


开启环境:

使用终端,升级并安装sdcc:

sudo apt install sdcc

安装仿真工具:

sudo apt install  mcu8051ide 


测试如下案例:

单片机补充案例--数字IO口呼吸灯_zhangrelay的博客-CSDN博客 


  
  1. #include<8052.h>
  2. #define LSA P1_5
  3. #define LSB P1_6
  4. #define LSC P1_7
  5. #define Led P0
  6. char brightness=0,a=0;
  7. void EXint_Init(void);
  8. void Delayms(unsigned int);
  9. void EXINT0() __interrupt 0;
  10. void main()
  11. {
  12. EXint_Init();
  13. LSA=0;
  14. LSB=0;
  15. LSC=0;
  16. while(1)
  17. {
  18. Led = 0x00;
  19. a=brightness;
  20. while(a--);
  21. Led = 0xff;
  22. a=255;
  23. while(a--);
  24. }
  25. }
  26. void EXint_Init()
  27. {
  28. IT0=1;
  29. IT1=0;
  30. // IPH=0x40;
  31. PX1=1;
  32. EA=1;
  33. EX0=1;
  34. EX1=1;
  35. }
  36. void Delayms(unsigned int xms)
  37. {
  38. unsigned int i,j;
  39. for(i = xms;i > 0;i--)
  40. {
  41. for (j = 110;j > 0;j--);
  42. }
  43. }
  44. void EXINT0() __interrupt 0
  45. {
  46. brightness++;
  47. }

编译出现警告:

sdcc -mmcs51 led.c

将char 改为 int;(注意位置)

再次编译,一切ok。

 

使用如下功能,将led.ihx下载到本地连接到单片机使用即可。


 


 


  
  1. shiyanlou:~/ $ sudo apt update [21:28:00]
  2. \u547d\u4e2d:1 http://mirrors.cloud.aliyuncs.com/ubuntu xenial InRelease
  3. \u83b7\u53d6:2 http://mirrors.cloud.aliyuncs.com/ubuntu xenial-updates InRelease [99.8 kB]
  4. \u83b7\u53d6:3 http://mirrors.cloud.aliyuncs.com/ubuntu xenial-security InRelease [99.8 kB]
  5. \u83b7\u53d6:4 http://mirrors.cloud.aliyuncs.com/ubuntu xenial-updates/main Sources [665 kB]
  6. \u83b7\u53d6:5 http://mirrors.cloud.aliyuncs.com/ubuntu xenial-updates/universe Sources [548 kB]
  7. \u83b7\u53d6:6 http://mirrors.cloud.aliyuncs.com/ubuntu xenial-updates/main amd64 Packages [2,560 kB]
  8. \u83b7\u53d6:7 http://mirrors.cloud.aliyuncs.com/ubuntu xenial-updates/universe amd64 Packages [1,544 kB]
  9. \u83b7\u53d6:8 http://mirrors.cloud.aliyuncs.com/ubuntu xenial-security/main Sources [311 kB]
  10. \u83b7\u53d6:9 http://mirrors.cloud.aliyuncs.com/ubuntu xenial-security/universe Sources [256 kB]
  11. \u83b7\u53d6:10 http://mirrors.cloud.aliyuncs.com/ubuntu xenial-security/main amd64 Packages [2,051 kB]
  12. \u83b7\u53d6:11 http://mirrors.cloud.aliyuncs.com/ubuntu xenial-security/universe amd64 Packages [984 kB]
  13. \u83b7\u53d6:12 http://packages.ros.org/ros/ubuntu xenial InRelease [4,692 B]
  14. \u9519\u8bef:12 http://packages.ros.org/ros/ubuntu xenial InRelease
  15. \u7531\u4e8e\u6ca1\u6709\u516c\u94a5\uff0c\u65e0\u6cd5\u9a8c\u8bc1\u4e0b\u5217\u7b7e\u540d\uff1a NO_PUBKEY F42ED6FBAB17C654
  16. \u83b7\u53d6:13 http://packages.ros.org/ros2/ubuntu xenial InRelease [4,668 B]
  17. \u9519\u8bef:13 http://packages.ros.org/ros2/ubuntu xenial InRelease
  18. \u7531\u4e8e\u6ca1\u6709\u516c\u94a5\uff0c\u65e0\u6cd5\u9a8c\u8bc1\u4e0b\u5217\u7b7e\u540d\uff1a NO_PUBKEY F42ED6FBAB17C654
  19. \u5df2\u4e0b\u8f7d 9,129 kB\uff0c\u8017\u65f6 1\u79d2 (5,611 kB/s)
  20. \u6b63\u5728\u8bfb\u53d6\u8f6f\u4ef6\u5305\u5217\u8868... \u5b8c\u6210
  21. \u6b63\u5728\u5206\u6790\u8f6f\u4ef6\u5305\u7684\u4f9d\u8d56\u5173\u7cfb\u6811
  22. \u6b63\u5728\u8bfb\u53d6\u72b6\u6001\u4fe1\u606f... \u5b8c\u6210
  23. \u6709 423 \u4e2a\u8f6f\u4ef6\u5305\u53ef\u4ee5\u5347\u7ea7\u3002\u8bf7\u6267\u884c \u2018apt list --upgradable\u2019 \u6765\u67e5\u770b\u5b83\u4eec\u3002
  24. W: \u6821\u9a8c\u6570\u5b57\u7b7e\u540d\u65f6\u51fa\u9519\u3002\u6b64\u4ed3\u5e93\u672a\u88ab\u66f4\u65b0\uff0c\u6240\u4ee5\u4ecd\u7136\u4f7f\u7528\u6b64\u524d\u7684\u7d22\u5f15\u6587\u4ef6\u3002GPG \u9519\u8bef\uff1ahttp://packages.ros.org/ros/ubuntu xenial InRelease: \u7531\u4e8e\u6ca1\u6709\u516c\u94a5\uff0c\u65e0\u6cd5\u9a8c\u8bc1\u4e0b\u5217\u7b7e\u540d\uff1a NO_PUBKEY F42ED6FBAB17C654
  25. W: \u6821\u9a8c\u6570\u5b57\u7b7e\u540d\u65f6\u51fa\u9519\u3002\u6b64\u4ed3\u5e93\u672a\u88ab\u66f4\u65b0\uff0c\u6240\u4ee5\u4ecd\u7136\u4f7f\u7528\u6b64\u524d\u7684\u7d22\u5f15\u6587\u4ef6\u3002GPG \u9519\u8bef\uff1ahttp://packages.ros.org/ros2/ubuntu xenial InRelease: \u7531\u4e8e\u6ca1\u6709\u516c\u94a5\uff0c\u65e0\u6cd5\u9a8c\u8bc1\u4e0b\u5217\u7b7e\u540d\uff1a NO_PUBKEY F42ED6FBAB17C654
  26. W: \u65e0\u6cd5\u4e0b\u8f7d http://packages.ros.org/ros/ubuntu/dists/xenial/InRelease \u7531\u4e8e\u6ca1\u6709\u516c\u94a5\uff0c\u65e0\u6cd5\u9a8c\u8bc1\u4e0b\u5217\u7b7e\u540d\uff1a NO_PUBKEY F42ED6FBAB17C654
  27. W: \u65e0\u6cd5\u4e0b\u8f7d http://packages.ros.org/ros2/ubuntu/dists/xenial/InRelease \u7531\u4e8e\u6ca1\u6709\u516c\u94a5\uff0c\u65e0\u6cd5\u9a8c\u8bc1\u4e0b\u5217\u7b7e\u540d\uff1a NO_PUBKEY F42ED6FBAB17C654
  28. W: \u90e8\u5206\u7d22\u5f15\u6587\u4ef6\u4e0b\u8f7d\u5931\u8d25\u3002\u5982\u679c\u5ffd\u7565\u5b83\u4eec\uff0c\u90a3\u5c06\u8f6c\u800c\u4f7f\u7528\u65e7\u7684\u7d22\u5f15\u6587\u4ef6\u3002
  29. shiyanlou:~/ $ sudo apt install sdcc [21:28:08]
  30. \u6b63\u5728\u8bfb\u53d6\u8f6f\u4ef6\u5305\u5217\u8868... \u5b8c\u6210
  31. \u6b63\u5728\u5206\u6790\u8f6f\u4ef6\u5305\u7684\u4f9d\u8d56\u5173\u7cfb\u6811
  32. \u6b63\u5728\u8bfb\u53d6\u72b6\u6001\u4fe1\u606f... \u5b8c\u6210
  33. \u5c06\u4f1a\u540c\u65f6\u5b89\u88c5\u4e0b\u5217\u8f6f\u4ef6\uff1a
  34. gputils gputils-common gputils-doc sdcc-doc sdcc-libraries
  35. \u5efa\u8bae\u5b89\u88c5\uff1a
  36. sdcc-ucsim
  37. \u4e0b\u5217\u3010\u65b0\u3011\u8f6f\u4ef6\u5305\u5c06\u88ab\u5b89\u88c5\uff1a
  38. gputils gputils-common gputils-doc sdcc sdcc-doc sdcc-libraries
  39. \u5347\u7ea7\u4e86 0 \u4e2a\u8f6f\u4ef6\u5305\uff0c\u65b0\u5b89\u88c5\u4e86 6 \u4e2a\u8f6f\u4ef6\u5305\uff0c\u8981\u5378\u8f7d 0 \u4e2a\u8f6f\u4ef6\u5305\uff0c\u6709 423 \u4e2a\u8f6f\u4ef6\u5305\u672a\u88ab\u5347\u7ea7\u3002
  40. \u9700\u8981\u4e0b\u8f7d 3,582 kB \u7684\u5f52\u6863\u3002
  41. \u89e3\u538b\u7f29\u540e\u4f1a\u6d88\u8017 55.5 MB \u7684\u989d\u5916\u7a7a\u95f4\u3002
  42. \u60a8\u5e0c\u671b\u7ee7\u7eed\u6267\u884c\u5417\uff1f [Y/n] y
  43. \u83b7\u53d6:1 http://mirrors.cloud.aliyuncs.com/ubuntu xenial/universe amd64 sdcc-libraries all 3.5.0+dfsg-2 [658 kB]
  44. \u83b7\u53d6:2 http://mirrors.cloud.aliyuncs.com/ubuntu xenial/universe amd64 sdcc amd64 3.5.0+dfsg-2 [1,296 kB]
  45. \u83b7\u53d6:3 http://mirrors.cloud.aliyuncs.com/ubuntu xenial/universe amd64 sdcc-doc all 3.5.0+dfsg-2 [526 kB]
  46. \u83b7\u53d6:4 http://mirrors.cloud.aliyuncs.com/ubuntu xenial/universe amd64 gputils-common all 1.4.0-0.1 [355 kB]
  47. \u83b7\u53d6:5 http://mirrors.cloud.aliyuncs.com/ubuntu xenial/universe amd64 gputils amd64 1.4.0-0.1 [379 kB]
  48. \u83b7\u53d6:6 http://mirrors.cloud.aliyuncs.com/ubuntu xenial/universe amd64 gputils-doc all 1.4.0-0.1 [368 kB]
  49. \u5df2\u4e0b\u8f7d 3,582 kB\uff0c\u8017\u65f6 0\u79d2 (3,714 kB/s)
  50. \u6b63\u5728\u9009\u4e2d\u672a\u9009\u62e9\u7684\u8f6f\u4ef6\u5305 sdcc-libraries\u3002
  51. (\u6b63\u5728\u8bfb\u53d6\u6570\u636e\u5e93 ... \u7cfb\u7edf\u5f53\u524d\u5171\u5b89\u88c5\u6709 185892 \u4e2a\u6587\u4ef6\u548c\u76ee\u5f55\u3002)
  52. \u6b63\u51c6\u5907\u89e3\u5305 .../sdcc-libraries_3.5.0+dfsg-2_all.deb ...
  53. \u6b63\u5728\u89e3\u5305 sdcc-libraries (3.5.0+dfsg-2) ...
  54. \u6b63\u5728\u9009\u4e2d\u672a\u9009\u62e9\u7684\u8f6f\u4ef6\u5305 sdcc\u3002
  55. \u6b63\u51c6\u5907\u89e3\u5305 .../sdcc_3.5.0+dfsg-2_amd64.deb ...
  56. \u6b63\u5728\u89e3\u5305 sdcc (3.5.0+dfsg-2) ...
  57. \u6b63\u5728\u9009\u4e2d\u672a\u9009\u62e9\u7684\u8f6f\u4ef6\u5305 sdcc-doc\u3002
  58. \u6b63\u51c6\u5907\u89e3\u5305 .../sdcc-doc_3.5.0+dfsg-2_all.deb ...
  59. \u6b63\u5728\u89e3\u5305 sdcc-doc (3.5.0+dfsg-2) ...
  60. \u6b63\u5728\u9009\u4e2d\u672a\u9009\u62e9\u7684\u8f6f\u4ef6\u5305 gputils-common\u3002
  61. \u6b63\u51c6\u5907\u89e3\u5305 .../gputils-common_1.4.0-0.1_all.deb ...
  62. \u6b63\u5728\u89e3\u5305 gputils-common (1.4.0-0.1) ...
  63. \u6b63\u5728\u9009\u4e2d\u672a\u9009\u62e9\u7684\u8f6f\u4ef6\u5305 gputils\u3002
  64. \u6b63\u51c6\u5907\u89e3\u5305 .../gputils_1.4.0-0.1_amd64.deb ...
  65. \u6b63\u5728\u89e3\u5305 gputils (1.4.0-0.1) ...
  66. \u6b63\u5728\u9009\u4e2d\u672a\u9009\u62e9\u7684\u8f6f\u4ef6\u5305 gputils-doc\u3002
  67. \u6b63\u51c6\u5907\u89e3\u5305 .../gputils-doc_1.4.0-0.1_all.deb ...
  68. \u6b63\u5728\u89e3\u5305 gputils-doc (1.4.0-0.1) ...
  69. \u6b63\u5728\u5904\u7406\u7528\u4e8e man-db (2.7.5-1) \u7684\u89e6\u53d1\u5668 ...
  70. \u6b63\u5728\u8bbe\u7f6e sdcc-libraries (3.5.0+dfsg-2) ...
  71. \u6b63\u5728\u8bbe\u7f6e sdcc (3.5.0+dfsg-2) ...
  72. \u6b63\u5728\u8bbe\u7f6e sdcc-doc (3.5.0+dfsg-2) ...
  73. \u6b63\u5728\u8bbe\u7f6e gputils-common (1.4.0-0.1) ...
  74. \u6b63\u5728\u8bbe\u7f6e gputils (1.4.0-0.1) ...
  75. \u6b63\u5728\u8bbe\u7f6e gputils-doc (1.4.0-0.1) ...
  76. shiyanlou:~/ $ sudo apt install mcu8051ide [21:28:29]
  77. \u6b63\u5728\u8bfb\u53d6\u8f6f\u4ef6\u5305\u5217\u8868... \u5b8c\u6210
  78. \u6b63\u5728\u5206\u6790\u8f6f\u4ef6\u5305\u7684\u4f9d\u8d56\u5173\u7cfb\u6811
  79. \u6b63\u5728\u8bfb\u53d6\u72b6\u6001\u4fe1\u606f... \u5b8c\u6210
  80. \u5c06\u4f1a\u540c\u65f6\u5b89\u88c5\u4e0b\u5217\u8f6f\u4ef6\uff1a
  81. bwidget itcl3 libtk-img tcl-signal tcllib tdom
  82. \u5efa\u8bae\u5b89\u88c5\uff1a
  83. itcl3-doc libtk-img-doc rxvt-unicode doxygen hunspell
  84. \u4e0b\u5217\u3010\u65b0\u3011\u8f6f\u4ef6\u5305\u5c06\u88ab\u5b89\u88c5\uff1a
  85. bwidget itcl3 libtk-img mcu8051ide tcl-signal tcllib tdom
  86. \u5347\u7ea7\u4e86 0 \u4e2a\u8f6f\u4ef6\u5305\uff0c\u65b0\u5b89\u88c5\u4e86 7 \u4e2a\u8f6f\u4ef6\u5305\uff0c\u8981\u5378\u8f7d 0 \u4e2a\u8f6f\u4ef6\u5305\uff0c\u6709 423 \u4e2a\u8f6f\u4ef6\u5305\u672a\u88ab\u5347\u7ea7\u3002
  87. \u9700\u8981\u4e0b\u8f7d 8,854 kB \u7684\u5f52\u6863\u3002
  88. \u89e3\u538b\u7f29\u540e\u4f1a\u6d88\u8017 33.2 MB \u7684\u989d\u5916\u7a7a\u95f4\u3002
  89. \u60a8\u5e0c\u671b\u7ee7\u7eed\u6267\u884c\u5417\uff1f [Y/n] y
  90. \u83b7\u53d6:1 http://mirrors.cloud.aliyuncs.com/ubuntu xenial/universe amd64 bwidget all 1.9.10-1 [167 kB]
  91. \u83b7\u53d6:2 http://mirrors.cloud.aliyuncs.com/ubuntu xenial/universe amd64 itcl3 amd64 3.4.3-1 [48.5 kB]
  92. \u83b7\u53d6:3 http://mirrors.cloud.aliyuncs.com/ubuntu xenial/universe amd64 libtk-img amd64 1:1.4.2+dfsg-2 [120 kB]
  93. \u83b7\u53d6:4 http://mirrors.cloud.aliyuncs.com/ubuntu xenial/universe amd64 tcllib all 1.17-dfsg-1 [4,011 kB]
  94. \u83b7\u53d6:5 http://mirrors.cloud.aliyuncs.com/ubuntu xenial/universe amd64 tdom amd64 0.8.3-1 [239 kB]
  95. \u83b7\u53d6:6 http://mirrors.cloud.aliyuncs.com/ubuntu xenial/universe amd64 tcl-signal amd64 1.4-3 [8,990 B]
  96. \u83b7\u53d6:7 http://mirrors.cloud.aliyuncs.com/ubuntu xenial/universe amd64 mcu8051ide all 1.4.7-2 [4,259 kB]
  97. \u5df2\u4e0b\u8f7d 8,854 kB\uff0c\u8017\u65f6 2\u79d2 (4,366 kB/s)
  98. \u6b63\u5728\u9009\u4e2d\u672a\u9009\u62e9\u7684\u8f6f\u4ef6\u5305 bwidget\u3002
  99. (\u6b63\u5728\u8bfb\u53d6\u6570\u636e\u5e93 ... \u7cfb\u7edf\u5f53\u524d\u5171\u5b89\u88c5\u6709 188371 \u4e2a\u6587\u4ef6\u548c\u76ee\u5f55\u3002)
  100. \u6b63\u51c6\u5907\u89e3\u5305 .../bwidget_1.9.10-1_all.deb ...
  101. \u6b63\u5728\u89e3\u5305 bwidget (1.9.10-1) ...
  102. \u6b63\u5728\u9009\u4e2d\u672a\u9009\u62e9\u7684\u8f6f\u4ef6\u5305 itcl3:amd64\u3002
  103. \u6b63\u51c6\u5907\u89e3\u5305 .../itcl3_3.4.3-1_amd64.deb ...
  104. \u6b63\u5728\u89e3\u5305 itcl3:amd64 (3.4.3-1) ...
  105. \u6b63\u5728\u9009\u4e2d\u672a\u9009\u62e9\u7684\u8f6f\u4ef6\u5305 libtk-img:amd64\u3002
  106. \u6b63\u51c6\u5907\u89e3\u5305 .../libtk-img_1%3a1.4.2+dfsg-2_amd64.deb ...
  107. \u6b63\u5728\u89e3\u5305 libtk-img:amd64 (1:1.4.2+dfsg-2) ...
  108. \u6b63\u5728\u9009\u4e2d\u672a\u9009\u62e9\u7684\u8f6f\u4ef6\u5305 tcllib\u3002
  109. \u6b63\u51c6\u5907\u89e3\u5305 .../tcllib_1.17-dfsg-1_all.deb ...
  110. \u6b63\u5728\u89e3\u5305 tcllib (1.17-dfsg-1) ...
  111. \u6b63\u5728\u9009\u4e2d\u672a\u9009\u62e9\u7684\u8f6f\u4ef6\u5305 tdom\u3002
  112. \u6b63\u51c6\u5907\u89e3\u5305 .../tdom_0.8.3-1_amd64.deb ...
  113. \u6b63\u5728\u89e3\u5305 tdom (0.8.3-1) ...
  114. \u6b63\u5728\u9009\u4e2d\u672a\u9009\u62e9\u7684\u8f6f\u4ef6\u5305 tcl-signal\u3002
  115. \u6b63\u51c6\u5907\u89e3\u5305 .../tcl-signal_1.4-3_amd64.deb ...
  116. \u6b63\u5728\u89e3\u5305 tcl-signal (1.4-3) ...
  117. \u6b63\u5728\u9009\u4e2d\u672a\u9009\u62e9\u7684\u8f6f\u4ef6\u5305 mcu8051ide\u3002
  118. \u6b63\u51c6\u5907\u89e3\u5305 .../mcu8051ide_1.4.7-2_all.deb ...
  119. \u6b63\u5728\u89e3\u5305 mcu8051ide (1.4.7-2) ...
  120. \u6b63\u5728\u5904\u7406\u7528\u4e8e libc-bin (2.23-0ubuntu10) \u7684\u89e6\u53d1\u5668 ...
  121. \u6b63\u5728\u5904\u7406\u7528\u4e8e man-db (2.7.5-1) \u7684\u89e6\u53d1\u5668 ...
  122. \u6b63\u5728\u5904\u7406\u7528\u4e8e shared-mime-info (1.5-2ubuntu0.1) \u7684\u89e6\u53d1\u5668 ...
  123. \u6b63\u5728\u5904\u7406\u7528\u4e8e desktop-file-utils (0.22-1ubuntu5.1) \u7684\u89e6\u53d1\u5668 ...
  124. \u6b63\u5728\u5904\u7406\u7528\u4e8e mime-support (3.59ubuntu1) \u7684\u89e6\u53d1\u5668 ...
  125. \u6b63\u5728\u8bbe\u7f6e bwidget (1.9.10-1) ...
  126. \u6b63\u5728\u8bbe\u7f6e itcl3:amd64 (3.4.3-1) ...
  127. \u6b63\u5728\u8bbe\u7f6e libtk-img:amd64 (1:1.4.2+dfsg-2) ...
  128. \u6b63\u5728\u8bbe\u7f6e tcllib (1.17-dfsg-1) ...
  129. \u6b63\u5728\u8bbe\u7f6e tdom (0.8.3-1) ...
  130. \u6b63\u5728\u8bbe\u7f6e tcl-signal (1.4-3) ...
  131. \u6b63\u5728\u8bbe\u7f6e mcu8051ide (1.4.7-2) ...
  132. \u6b63\u5728\u5904\u7406\u7528\u4e8e libc-bin (2.23-0ubuntu10) \u7684\u89e6\u53d1\u5668 ...
  133. shiyanlou:~/ $ [21:29:14]

文章来源: zhangrelay.blog.csdn.net,作者:zhangrelay,版权归原作者所有,如需转载,请联系作者。

原文链接:zhangrelay.blog.csdn.net/article/details/123621947

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。