这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » 最笨的镜子里的屏幕

共5条 1/1 1 跳转至

最笨的镜子里的屏幕

菜鸟
2019-01-13 22:10:43     打赏

学习STM32有几天了,眼看时间要到了没空做出更加完美的镜子里的屏幕遂采取了最笨的办法,具体如下:

用到GPIO口 PB1~PB11共12个引脚因为是共阳所以12,9,8,6为电源输入,其他引脚均为接地,所以对于芯片来说12,9,8,6高位输出,其他设定为低位即可。

初始化GPIO B

void SHUMAG_Init(void)
{
GPIO_InitTypeDef     GPIO_InitStructure;
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB,ENABLE);
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; 
GPIO_InitStructure.GPIO_OType= GPIO_OType_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure);
}

根据镜像数码管自己写的共阳极代码,太费事,先用PS作了张图,然后一个一个写的,太累了。

void DisPlayNum(int n)
{
if (n < 9999)
{ int i;
int s;
s = n;
i=0;
for (i=0;i<2;i++)
{
GPIO_ResetBits(GPIOB,GPIO_Pin_All);
switch (i)
{
                                case 0:
GPIO_SetBits(GPIOB,GPIO_Pin_9);
break;
case 1:
GPIO_SetBits(GPIOB,GPIO_Pin_8);
break;
case 2:
GPIO_SetBits(GPIOB,GPIO_Pin_10);
break;
case 3:
GPIO_SetBits(GPIOB,GPIO_Pin_11);
break;
                        }
switch (s % 10)
{
case 0:
GPIO_SetBits(GPIOB,GPIO_Pin_7); 
break;
case 1:
GPIO_SetBits(GPIOB,GPIO_Pin_1|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7);
break;
case 2:
GPIO_SetBits(GPIOB,GPIO_Pin_2|GPIO_Pin_5);
break;
case 3:
GPIO_SetBits(GPIOB,GPIO_Pin_6|GPIO_Pin_5);
break;
case 4:
GPIO_SetBits(GPIOB,GPIO_Pin_1|GPIO_Pin_6|GPIO_Pin_4);
break;
case 5:
GPIO_SetBits(GPIOB,GPIO_Pin_6|GPIO_Pin_3);
break;
case 6:
GPIO_SetBits(GPIOB,GPIO_Pin_3);
break;
case 7:
GPIO_SetBits(GPIOB,GPIO_Pin_1|GPIO_Pin_7|GPIO_Pin_6|GPIO_Pin_5);
break;
case 8:
GPIO_SetBits(GPIOB,GPIO_Pin_2);
break;
case 9:
GPIO_SetBits(GPIOB,GPIO_Pin_6);
break;
}
s = s / 10;
Delay_Ms(1);
if (s==0)
break;
} 
}
}

int count;
int TimeCheck;
 
int main(void)
{
SHUMAG_Init();
count =0;
TimeCheck = 0;
while(1)
{
DisPlayNum(count);
TimeCheck++;
Delay_Ms(5);
if (TimeCheck > 100)
{ 
TimeCheck=0;
count++;
}
}
}

有没有大神能教教我的,自学有点困难 啊!!

zp1.jpg




专家
2019-01-14 09:36:01     打赏
2楼

可以试试用micropython编程,比用C简单


专家
2019-01-14 10:24:31     打赏
3楼

学习下


管理员
2019-01-14 10:47:28     打赏
4楼

在代码语言上点击->C/C++,如图:

image.png

然后把点击如下所示位置,粘贴或者打入代码。

image.png


管理员
2019-01-14 10:49:24     打赏
5楼

有什么问题都可以发帖子的  大家看到了都会帮忙的


共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]