找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1425|回复: 0
打印 上一主题 下一主题
收起左侧

STM8S-LED源码

[复制链接]
跳转到指定楼层
楼主
ID:268765 发表于 2018-1-3 09:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM8S-LED

单片机源程序如下:
  1. #include "stm8s.h"
  2. #include "sysclock.h"


  3. /* Private defines -----------------------------------------------------------*/
  4. /* LED 端口定义 */
  5. #define LED_PORT        GPIOA       


  6. #define LED_1       GPIO_PIN_3
  7. #define LED_2       GPIO_PIN_4
  8. #define LED_3       GPIO_PIN_5
  9. #define LED_4       GPIO_PIN_6

  10. #define ON  0                /* 定义LED灯亮 -- 低电平*/
  11. #define OFF 1                /* 定义LED灯灭 -- 高电平*/
  12. /* Private function prototypes -----------------------------------------------*/
  13. /* Private functions ---------------------------------------------------------*/

  14. /*******************************************************************************
  15. * 名称: Delay
  16. * 功能: 简单的延时函数
  17. * 形参: nCount -> 延时时间数
  18. * 返回: 无
  19. * 说明: 无
  20. ******************************************************************************/
  21. void Delay(u32 nCount)
  22. {
  23.         u32 i;
  24.         for(i=0;i<nCount;i++);      
  25. }


  26. /*******************************************************************************
  27. * 名称: LED_Init
  28. * 功能: LED外设GPIO引脚初始化操作
  29. * 形参: 无
  30. * 返回: 无
  31. * 说明: 无
  32. ******************************************************************************/
  33. void LED_Init(void)
  34. {      
  35.         //定义LED的管脚为输出模式
  36.         GPIO_Init(LED_PORT, LED_1, GPIO_MODE_OUT_PP_HIGH_FAST );
  37.         GPIO_Init(LED_PORT, LED_2, GPIO_MODE_OUT_PP_HIGH_FAST );
  38.         GPIO_Init(LED_PORT, LED_3, GPIO_MODE_OUT_PP_HIGH_FAST );       
  39.         GPIO_Init(LED_PORT, LED_4, GPIO_MODE_OUT_PP_HIGH_FAST );       
  40. }

  41. /*******************************************************************************
  42. * 名称: LED_Operation
  43. * 功能: LED 灯亮灭设置操作
  44. * 形参: led -> 要操作的led灯
  45. *                  state -> 亮还是灭
  46. * 返回: 无
  47. * 说明: 无
  48. ******************************************************************************/
  49. void LED_Config(GPIO_Pin_TypeDef led, u8 state)
  50. {
  51.     if(ON == state)
  52.     {
  53.         GPIO_WriteLow(LED_PORT, led);
  54.     }
  55.     else
  56.     {
  57.         GPIO_WriteHigh(LED_PORT, led);
  58.     }
  59. }


  60. /*******************************************************************************
  61. * 名称: LED_Show
  62. * 功能: 现流水灯
  63. * 形参: 无
  64. * 返回: 无
  65. * 说明: 无
  66. ******************************************************************************/
  67. void LED_Show(void)
  68. {
  69.     LED_Config(LED_1, ON);
  70.     LED_Config(LED_2, OFF);
  71.     LED_Config(LED_3, OFF);
  72.     LED_Config(LED_4, OFF);
  73.     Delay(0x1ffff);
  74.     LED_Config(LED_1, OFF);
  75.     LED_Config(LED_2, ON);
  76.     LED_Config(LED_3, OFF);
  77.     LED_Config(LED_4, OFF);
  78.     Delay(0x1ffff);
  79.     LED_Config(LED_1, OFF);
  80.     LED_Config(LED_2, OFF);
  81.     LED_Config(LED_3, ON);
  82.     LED_Config(LED_4, OFF);
  83.     Delay(0x1ffff);
  84.     LED_Config(LED_1, OFF);
  85.     LED_Config(LED_2, OFF);
  86.     LED_Config(LED_3, OFF);
  87.     LED_Config(LED_4, ON);
  88.     Delay(0x1ffff);
  89.    
  90. }


  91. int main(void)
  92. {
  93.   
  94.   /* 系统时钟初始化 */
  95.   SystemClock_Init();
  96.   LED_Init();

  97.   while (1)
  98.   {
  99.     /*放置你的代码*/
  100.     LED_Show();
  101.   }
  102.   
  103. }

  104. #ifdef USE_FULL_ASSERT
  105. void assert_failed(u8* file, u32 line)
  106. {
  107.   while (1)
  108.   {
  109.   }
  110. }
  111. #endif
复制代码

所有资料51hei提供下载:
STM8S_LED.zip (252.8 KB, 下载次数: 12)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表