蓝桥杯单片机CT107D 数码管显示

本文介绍了蓝桥杯竞赛中单片机CT107D控制数码管显示的方法,通过定义display.h头文件,实现了一个能够将32位数据转换为8位数码管显示的函数。该函数首先将输入数据分解为8位数字,然后通过P2和P0端口控制数码管的段和位,实现动态显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

蓝桥杯单片机CT107D 数码管显示
定义display.h

#ifndef  _display_h
#define _display_h

#include "common.h"  //包含通用的头文件

void display(uint32 dat);

#endif

定义相应的.c文件

#include "display.h"

uint8 wei[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; 
uint8 duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

void display(uint32 dat)
{
	uint8 str[8];
	static uint8 i;
	
	str[0]=dat%100000000/10000000;  
	str[1]=dat%10000000/1000000;
	str[2]=dat%1000000/100000;
	str[3]=dat%100000/10000;
	str[4]=dat%10000/1000;
	str[5]=dat%1000/100;
	str[6]=dat%100/10;
	str[7]=dat%10;

	P2=P2&0x1f|0xc0;//y6
	P0=wei[7-i];
	
	P2=P2&0x1f|0xe0;//y7
	P0=duan[str[7-i]];
	P2=P2&0x1f;
	
	i++;
	if(i>=8)
		i=0;
}	

工程模板:https://download.youkuaiyun.com/download/qq_41676952/11126460

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值