[活动专区] 【赛元95F】+3.DIY拓展1:LED+DC外部供电

[复制链接]
1494|7
 楼主| 一路向北lm 发表于 2020-3-22 13:46 | 显示全部楼层 |阅读模式
本帖最后由 一路向北lm 于 2020-3-22 13:48 编辑

没有LED指示灯,板子就没有灵魂,来吧开始焊接一个最小系统的拓展板,一步一步来吧!先焊接两颗LED吧,蓝色配红色,翻箱倒柜找了一块万能板子,先凑合着用吧。
250135e76fbe06b74b.png
绿色配绿色,绝配!



 楼主| 一路向北lm 发表于 2020-3-22 13:48 | 显示全部楼层
LED永远离不来电阻,它们是世界上最让人羡慕的一对!
94395e76fc308a439.png
 楼主| 一路向北lm 发表于 2020-3-22 13:49 | 显示全部楼层
3min之后............成品,没有PCB高大上,但我喜欢这个过程!
501905e76fc4c27848.png
 楼主| 一路向北lm 发表于 2020-3-22 13:49 | 显示全部楼层
怕电流不够,我又加了一个外部dc供电口,顺便加了一个LED指示灯。
173155e76fc68a5d42.png
 楼主| 一路向北lm 发表于 2020-3-22 13:49 | 显示全部楼层
焊接后的成品,哈哈,板子上的东西会越来越多的!
177755e76fc7e39d2c.png
 楼主| 一路向北lm 发表于 2020-3-22 13:50 | 显示全部楼层
赶紧撸串代码把点亮个流水灯吧,不然怎么好意思睡觉啊,SOC keil插件安装和keil配置部分不再啰嗦了,直接上代码:
红蓝流水灯代码:你爱我我爱你,流水似情,永远不分离......................
  1. /************************** led.c文件*************************************/
  2. #include "bsp/led.h"
  3. sbit Led_R = P4^6;
  4. sbit Led_B = P4^7;

  5. // LED点亮
  6. // 参数:LED_R LED_B
  7. void Led_ON(Led_TypeDef led)
  8. {
  9.         if(led ==LED_R)
  10.       Led_R = 0;
  11.         else if(led ==LED_B)
  12.              Led_B = 0;
  13. }
  14. // LED熄灭
  15. // 参数:LED_R LED_B
  16. void Led_OFF(Led_TypeDef led)
  17. {
  18.   if(led ==LED_R)
  19.       Led_R = 1;
  20.         else if(led ==LED_B)
  21.              Led_B = 1;
  22. }

  23. //LED翻转操作
  24. // 参数:LED_R LED_B
  25. void Led_Toggle(Led_TypeDef led)
  26. {
  27.   if(led ==LED_R)
  28.         {
  29.            Led_R==1?(Led_R=0):(Led_R=1);
  30.         }
  31.         else if(led ==LED_B)
  32.         {
  33.            Led_B?(Led_B=0):(Led_B=1);
  34.         }          
  35. }

  36. /************************** led.h文件*************************************/
  37. Led.h文件
  38. #ifndef _LED_H_
  39. #define _LED_H_
  40. #include "H/SC95F861x_C.H"

  41. typedef enum
  42. {
  43.    LED_R = 0,
  44.          LED_B = 1
  45. }Led_TypeDef;

  46. void Led_ON(Led_TypeDef led);
  47. void Led_OFF(Led_TypeDef led);
  48. void Led_Toggle(Led_TypeDef led);
  49. #endif

  50. /************************** main.c文件*************************************/
  51. #include "H/Function_Init.H"
  52. #include "bsp/led.h"

  53. void main(void)
  54. {
  55.         IO_Init();
  56.         Timer_Init();
  57.         while(1)
  58.         {          
  59.         }
  60. }
  61. /************************************************/
  62. //定时器0中断
  63. void timer0() interrupt 1
  64. {
  65.         unsigned int count;
  66.   TL0 = (65536 - 16000)%256;
  67.         TH0 = (65536 - 16000)/256;       
  68.         count++;
  69.         if(count == 1000)
  70.         {
  71.           count = 0;
  72.           Led_Toggle(LED_R);
  73.           Led_Toggle(LED_B);
  74.         }
  75. }


 楼主| 一路向北lm 发表于 2020-3-22 13:51 | 显示全部楼层
实验现象,LED交替闪烁........
232975e76fcd1a3ddc.png

21ic小喇叭 发表于 2020-3-24 10:13 | 显示全部楼层
感谢分享,奖励您100家园币。家园币可以兑换礼品或抽奖~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

293

主题

3837

帖子

81

粉丝
快速回复 在线客服 返回列表 返回顶部