Proteus七段数码管的使用(STM32F4)

元器件

Proteus中要是用七段数码管显示数字,可以选择7SEG-BCD元器件有4个引脚对应BCD码,该器件将七段译码器和七段数码管封装到一起,只需要输入BCD码即可显示对应数组。可以通过操作寄存器一次性修改四个引脚。如图所示的电路,可以用以下函数使得数码管显示想要的数字。

代码及解释

//将七段数码管设置为num
void setSEG(int num)
{ 
	//重置数码管
	GPIOA->BSRRH = 0x7800;
	//设置BCD码,用移位操作即可
    num = num%16;
	GPIOA->BSRRL = num<<11;
}

七段数码管直接用寄存器操作进行赋值即可,每次更新前先将数码管清空,注意要保持其他IO接口不变,在本系统中将GPIOA->BSRRH(BSRR高16位,置1对应IO口重置,置0对应IO口不变)置为0x7800即可(PA11-PA14重置)。赋值时直接对GPIOA->BSRRL(BSRR低16位,置1则对应IO口输出高电平,置0对应IO口不变)操作,只需要将PA11-PA14设置为对应数字的BCD码即可:GPIOA->BSRRL=num<<11。

原理图

《Proteus七段数码管的使用(STM32F4)》

    原文作者:飘飘飄飘
    原文地址: https://blog.csdn.net/qq_53191711/article/details/124587714
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞