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

时间:2019-02-19
本文章向大家介绍蓝桥杯单片机CT107D 数码管显示,主要包括蓝桥杯单片机CT107D 数码管显示使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

蓝桥杯单片机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)  //参数dat即为要显示的数字 若要显示其他内容,修改相应内容即可
{
	uint8 i;
	uint8 str[8];
	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;
	
	for(i=0;i<8;i++)		//通过控制i的值改变显示的位数
	{
		P2=P2&0x1f|0xc0;
		P0=wei[i];
		P2=P2&0x1f|0xe0;
		P0=duan[str[i]];
		
		P2=P2&0x1f;
		delay_ms(1);
	}
	P2=P2&0x1f|0xc0;		//关闭位选,消除最后一位过亮
	P0=0;
	P2=P2&0x1f;	
}