STM32控制数码管从0显示到99

02-28 阅读 0评论

首先 先画电路图吧!打开proteus,导入相关器件,绘制电路图。如下:(记得要保存啊!发现模拟一遍程序就自动退出了,有bug,我是解决不了,所以就是要及时保存,自己重画几次就长记性了,我是不想重画了,所以我及时保存了。)

STM32控制数码管从0显示到99,STM32控制数码管从0显示到99,词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,最后,配置,修改,第1张
(图片来源网络,侵删)

STM32控制数码管从0显示到99

第二步打开CubeMX,新建工程,配置时钟和GPIO,如下:

STM32控制数码管从0显示到99

STM32控制数码管从0显示到99

第三步先来了解一下数码管的十六进制码的来源,我自己画了个图,我看着挺明白的,不明白的自己想,想明白了画出来就明白了,其实很简单的,就是给电就亮,断电就灭而已。废话不说了,看图:

STM32控制数码管从0显示到99

STM32控制数码管从0显示到99,STM32控制数码管从0显示到99,词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,最后,配置,修改,第6张
(图片来源网络,侵删)

最后得出共阳极的断码为:{0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90}

接下来就是修改keil工程中的main文件中的内容了,其实主要就那么点东西,只不过放在了不同的地方而已:

void duanxuan(uint8_t num);  //声明断选函数,传入每个数字的码值

void led_clear(void);    //  清屏函数, 主要将所有的数码管都关闭。

STM32控制数码管从0显示到99

uint8_t duan[]={0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};  //断码数组

STM32控制数码管从0显示到99,STM32控制数码管从0显示到99,词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,最后,配置,修改,第8张
(图片来源网络,侵删)

uint8_t num= 0;         // 定义变量num

STM32控制数码管从0显示到99

for(num=0; numODR = 0x0002;     //  GPIOB的值为0x0002     0000 0000 0000 0010  也就是PB1为高电平
          duanxuan(duan[num%10]);  //  断选的值为  数组断中的  num模10 也就是个位的数字
          HAL_Delay(2);            //  延时2ms
          
          led_clear();             // 清屏
          GPIOB->ODR = 0x0004;     //  GPIOB的值为0x0004     0000 0000 0000 0100  也就是PB2为高电平   
          duanxuan(duan[num/10]);  //  断选的值为  数组断中的  num除10 也就是十位的数字 
          HAL_Delay(8);            //  延时8ms   控制数码管中的数字增加的快慢?
      }

STM32控制数码管从0显示到99

void duanxuan(uint8_t num)   //断码显示函数

{

    GPIOA->ODR = num;   // A端口要显示几就传入几的断码

}

void led_clear(void)   // 清屏函数

{

    GPIOA->ODR = 0x00FF;  //  清屏函数 A端口的值:都是1,就是都不亮

}
STM32控制数码管从0显示到99

好了,所有需要添加的代码都在这里了,只需要按位置填进去编译就行了,不按位置,填对了也可以,就是下次CubeMX有改动重新生成时自己写的代码是否还存在,需不需要重新写,估计都不想重新写的,那就按照样式固定写代码的位置吧!

STM32控制数码管从0显示到99


免责声明
本网站所收集的部分公开资料来源于AI生成和互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,人围观)

还没有评论,来说两句吧...

目录[+]