基于STM32的十进制转二进制数码管LED显示proteus仿真

硬件设计

链接:https://pan.baidu.com/s/1cbEHNQxUz-lhB2CW6cosKA
提取码:yub9

仿真图如下所示:

在这里插入图片描述

#include "stm32f10x.h"
#include "Delay.h"
#include "smg.h"
#include "sys.h"
#include "timer.h"
#include "led.h"
#include "fmq.h"
#include "key.h"
#include "stm32f10x_tim.h"
uint16_t table[] = {
/*   0,    1,    2,    3,    4,     5,   6,    7,    8,     */  

0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F,   

/*   9,    A,    B,    C,    D,    E,    F,    .,  none    */  

0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71, 0x80, 0x00  

};
uint16_t t;
uint16_t  num[3],inc = 0x00;
int main(void)
{
 	SMG_Init();
	GPIO_Write(GPIOA, 0x3f3f);
	GPIO_Write(GPIOB, 0xff3f);
	while (1)
	{
		t=KEY_Scan_KEY_INC();		//得到键值
	  if(t)   //if(条件)t!=0真
		{
			 inc++;
			 if(inc <= 0xff)
			 {
				  num[2]=inc%10;
				  num[1]=inc/10%10;
				  num[0]=inc/100;
					GPIO_Write(GPIOB,((~inc) <<8) + table[num[2]]);
					GPIO_Write(GPIOA,(table[num[1]] <<8) + table[num[0]]);
			 }
			 else
			 {
				 inc = 0xff;
			 }
		}
	}
}

.

.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值