C51单片机:使用十个数码管显示十位数的学号

仿真图:


代码:

#include <reg52.h>
#define uchar unsigned char
unsigned char dm[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//数码管段码
void delay();//延时函数
void main()//主函数
{		
		P1=~0x01;//开千万位,位码
		P2=dm[3];//千万位赋值3
		delay();

		P1=~0x02;//开百万位,位码
		P2=dm[1];//百万位赋值1		
	   	delay();

		P1=~0x04;//开十万位,位码
		P2=dm[2];//十万位赋值2		
	   	delay();

		P1=~0x08;//开万位,位码
		P2=dm[1];//万位赋值1		
	   	delay();
	
		P1=~0x10;//开千位,位码
		P2=dm[0];//千位赋值3		
	   	delay();

		P1=~0x20;//开百位,位码
		P2=dm[0];//百位赋值0		
	   	delay();		

		P1=~0x40;//开十位,位码
		P2=dm[0];//十位赋值0		
	   	delay();
	
		P1=~0x80;//开个位,位码
		P2=dm[8];//个位赋值8	
	   	delay();
		
		P3=~0x40;//开第二个数码管十位,位码
		P0=dm[2]; //赋值二位数码管十位
		delay();
 
		P3=~0x80;//开第二个数码管个位,位码
		P0=dm[3]; //赋值二位数码管个位
		delay();			
}

void delay()//延时函数
{
	unsigned int i,j;//变量i,j
	for(i=0;i<100;i++);
		for(j=0;j<50;j++);
}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值