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

【经验分享】STM32驱动TM1639点亮数码管和LED,原理图、PCB

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

8~0EZAXX{LSO3P[_U2UT7%K.png

二、程序代码


  1. #include "led.h"
  2. #include "delay.h"

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

  6.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO, ENABLE);         //使能PB,PE端口时钟

  7.         GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
  8.         
  9.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_4|GPIO_Pin_5;                                 
  10.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                  
  11.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                 
  12.         GPIO_Init(GPIOA, &GPIO_InitStructure);                                       
  13.         GPIO_SetBits(GPIOA,GPIO_Pin_0|GPIO_Pin_4|GPIO_Pin_5);        
  14. }


  15. void led_write_data(u8 data)
  16. {
  17.         u8 i;
  18.         for(i=0;i<8;i++)
  19.         {
  20.                 led_clk=0;
  21.                 if(data&0x01)
  22.                         led_dio=1;
  23.                 else
  24.                         led_dio=0;
  25.                 data>>=1;
  26.                 led_clk=1;
  27.         }
  28. }

  29. void led_show_data(u8 *showData,u8 length)
  30. {
  31.         u8 i;
  32.         led_stb=0;
  33.         led_write_data(0x40);                                //设置数据命令
  34.         led_stb=1;
  35.         led_stb=0;
  36.         led_write_data(0xc0);                                //设置显示地址
  37.         
  38.         for(i=0;i<length;i++)
  39.                 led_write_data(showData<i>);                //设置显示数据

  40.         
  41.         led_stb=1;
  42.         led_stb=0;
  43.         led_write_data(LED_ON|LED_BRIGHTNESS_3);                //设置显示控制命令
  44.         led_stb=1;
  45. }</i>
复制代码
  1. int main(void)
  2. {        
  3.         u8 ledData[16];
  4.         delay_init();        
  5.         led_init();        
  6.         
  7.         while(1)
  8.         {        
  9.                 ledData[0]=0xff;
  10.                 ledData[1]=0xff;
  11.                 ledData[2]=0xff;
  12.                 ledData[3]=0xff;
  13.                 ledData[4]=0xff;
  14.                 ledData[5]=0xff;
  15.                 ledData[6]=0xff;
  16.                 ledData[7]=0xff;
  17.                 ledData[8]=0xff;
  18.                 ledData[9]=0xff;
  19.                 ledData[10]=0xff;
  20.                 ledData[11]=0xff;
  21.                 ledData[12]=0xff;
  22.                 ledData[13]=0xff;
  23.                 ledData[14]=0xff;
  24.                 ledData[15]=0xff;
  25.                
  26.                 led_show_data(ledData,sizeof(ledData));
  27.                 delay_ms(1000);
  28.                 ledData[0]=0x00;
  29.                 ledData[1]=0x00;
  30.                 ledData[2]=0x00;
  31.                 ledData[3]=0x00;
  32.                 ledData[4]=0x00;
  33.                 ledData[5]=0x00;
  34.                 ledData[6]=0x00;
  35.                 ledData[7]=0x00;
  36.                 ledData[8]=0x00;
  37.                 ledData[9]=0x00;
  38.                 ledData[10]=0x00;
  39.                 ledData[11]=0x00;
  40.                 ledData[12]=0x00;
  41.                 ledData[13]=0x00;
  42.                 ledData[14]=0x00;
  43.                 ledData[15]=0x00;
  44.                
  45.                 led_show_data(ledData,sizeof(ledData));
  46.                 delay_ms(1000);        

  47.         }
  48. }


复制代码

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

举报

0个回答

所属标签

相似技术帖

官网相关资源

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