单片机数码管从00到99C语言_51单片机c语言编程序让两位数码管显示0-99,求指导!!急用!...

这篇博客主要介绍了如何使用C语言编程,让51单片机控制两位数码管从00到99循环显示。通过定义段码和位码数组,初始化和延时函数,实现了数字的滚动展示。
摘要由CSDN通过智能技术生成

#include#defineucharunsignedchar#defineuintunsignedintsbitdula=P2^1;//ÉêÃ÷U1Ëø´æÆ÷µÄËø´æ¶...

#include

#define uchar unsigned char

#define uint unsigned int

sbit dula = P2^1; //ÉêÃ÷U1Ëø´æÆ÷µÄËø´æ¶Ë

sbit wela = P2^2; //ÉêÃ÷U2Ëø´æÆ÷µÄËø´æ¶Ë

uchar code table1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x40}; //¶¨Òå¶ÎÏÔʾÊý×é0-9

uchar code table2[]={0x20,0x10}; //¶¨ÒåλÊý×éλÏÔʾ1£¬2

uchar num1,num2;

void init(); //µ÷Óóõʼ»¯º¯Êý

void delay(uint); //µ÷ÓÃÑÓʱº¯Êý

void main()

{

num1=0;

while(1)

{

init(); //³õʼ»¯ÊýÂë¹Ü

wela = 1;

P0 = table2[1]; //Ñ¡ÖÐ2λ

wela = 0;

dula = 1;

P0 = table1[num1]; //ÏÔʾ0-9

num1++;

delay(500);

dula = 0;

while(num1>9)

{

wela = 1;

P0 = table2[0]; //Ñ¡ÖÐһλ

wela=0;

dula = 1;

P0 = table1[num1];

dula = 0;

num1++;

delay(500);

dula = 0;

}

}

}

void init()

{

wela=1; //´ò¿ªU2Ëø´æÆ÷¶Ë

P0 = 0; //¹Ø±ÕËùÓÐλ

wela = 0; //¹Ø±ÕU2Ëø´æÆ÷

dula = 1;

P0 = 0xff; //¹Ø±ÕÏÔʾ

dula=0;

}

void delay(uint z)

{

uint i,j;

for(i=z;i>0;i--)

for(j=110;j>0;j--);

}

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值