你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32驱动TM1616程序加原理图

[复制链接]
STMCU小助手 发布时间:2022-4-21 21:46
一、TM1616原理图

2020092419240874.png

二、驱动程序


  1. #include "led.h"


  2. void led_init(void)
  3. {
  4.         GPIO_InitTypeDef  GPIO_InitStructure;

  5.         RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC|RCC_AHB1Periph_GPIOD|RCC_AHB1Periph_GPIOE, ENABLE);

  6.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
  7.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  8.         GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  9.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
  10.         GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
  11.         GPIO_Init(GPIOC, &GPIO_InitStructure);
  12.         
  13.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
  14.         GPIO_Init(GPIOD, &GPIO_InitStructure);
  15.         
  16.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
  17.         GPIO_Init(GPIOE, &GPIO_InitStructure);

  18.         GPIO_SetBits(GPIOC,GPIO_Pin_0);
  19.         GPIO_SetBits(GPIOD,GPIO_Pin_13);
  20.         GPIO_SetBits(GPIOE,GPIO_Pin_6);
  21. }

  22. void led_delay(u8 i)
  23. {
  24.         while(i>0)
  25.                 i--;
  26. }

  27. void led_write_data(u8 data)
  28. {
  29.         u8 i;
  30.         for(i=0;i<8;i++)
  31.         {
  32.                 led_clk=0;
  33.                 if(data&0x01)
  34.                         led_dio=1;
  35.                 else
  36.                         led_dio=0;
  37.                 data>>=1;
  38.                 led_delay(2);
  39.                 led_clk=1;
  40.         }
  41. }

  42. void led_show_data(u8 *showData)
  43. {
  44.         led_stb=0;
  45.         led_delay(2);
  46.         led_write_data(0x00);                                //设置数据命令
  47.         led_stb=1;
  48.         led_delay(2);
  49.         led_stb=0;
  50.         led_delay(2);
  51.         led_write_data(0x40);                                //设置数据命令
  52.         led_stb=1;
  53.         led_delay(2);
  54.         led_stb=0;
  55.         led_delay(2);
  56.         led_write_data(0xc0);                                //设置显示地址
  57.         

  58.         led_write_data(showData[0]);                //设置显示数据
  59.         led_write_data(0X00);                //设置显示数据
  60.         led_write_data(showData[1]);                //设置显示数据
  61.         led_write_data(0X00);                //设置显示数据
  62.         led_write_data(showData[2]);                //设置显示数据
  63.         led_write_data(0X00);                //设置显示数据
  64.         led_write_data(showData[3]);                //设置显示数据
  65.         
  66.         led_stb=1;
  67.         led_delay(2);
  68.         led_stb=0;
  69.         led_delay(2);
  70.         led_write_data(LED_ON|LED_BRIGHTNESS_3);                //设置显示控制命令
  71.         led_stb=1;
  72.         led_delay(2);
  73. }



复制代码

收藏 评论0 发布时间:2022-4-21 21:46

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版