发 帖  
原厂入驻New
[问答]

单片机STM32f101控制四位共阴数码管显示数字程序

365 单片机
分享
请问:


单片机STM32f101控制四位共阴数码管显示数字的程序具体是什么呢,需要一套完整的程序。

感谢大家帮忙!


0
奖励5积分
2020-10-3 16:56:30   评论 分享淘帖 邀请回答
4个回答
自己编吧,有问题大家再帮你
2020-10-9 13:31:30 评论

举报

需要完整的程序,前提是有完整的硬件。你用啥驱动数码管?
问问题都不会问的人,一般都是老师留的作业。
2020-10-10 16:58:14 评论

举报

uint8_t NumCode(uint8_t *a)//Êý×Ö½âÂë
{
        uint8_t i=*a;
        switch (i)
        {
                case '0':
                        return zero;
               
                case '1':
                        return one;
       
                case '2':
                        return two;
                case '3':
                        return three;
                case '4':
                        return four;
                case '5':
                        return five;
                case '6':
                        return six;
                case '7':
                        return seven;
                case '8':
                        return eight;
               
                case '9':
                        return nine;
               
                default:
                        return 0;
        }
       
}

uint8_t *TubeRead(uint8_t *TubeTab,uint8_t *a)//Êý¾Ý¶ÁÈë
{
        int i;
        for(i=0;i<4;i++)
        {
                *(TubeTab+i)=NumCode((a+i));       
        }
        return TubeTab;
}
/* USER CODE END 0 */

int main(void)
{

  /* USER CODE BEGIN 1 */
        uint8_t TubeTab[]={two,zero,one,eight};
        uint8_t a[]="12345";//自定义的一串数字
        uint8_t b[]={0x00};
        uint8_t n;
       
       
       
//                     
  /* USER CODE END 1 */

  /* MCU Configuration----------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* Configure the system clock */
  SystemClock_Config();

  /* Initialize all configured peripherals */
  MX_GPIO_Init();

  /* USER CODE BEGIN 2 */
        ALIX_Delay_init();
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
  /* USER CODE END WHILE */
       
   
  /* USER CODE BEGIN 3 */
                for(n=0;n<9;n++)//¹ö¶¯ÏÔʾ
                {
                       
                TubeRead(TubeTab,(a+n));
                TMSegDisplay(TubeTab);
                ALIX_Delay_us(1000000);
                }
               
                TMSegDisplay(b);//½áÊøÇåÆÁ
                ALIX_Delay_us(2000000);
               
                 
                 
               
//                HAL_GPIO_TogglePin(led_GPIO_Port,led_Pin);
//                ALIX_Delay_us(90000);
  }
  /* USER CODE END 3 */

}
2020-10-11 16:29:56 评论

举报

答案仅供参考,先查查显示原理,编程并不难,加油
2020-10-11 16:31:15 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
我要提问
关闭

站长推荐 上一条 /7 下一条

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