两个数码管循环显示00

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

两个数码管循环显示00—99(P2口接数码管段码,P00接数码管个位阴极,P01接十位)KeilC程序:

#include

sbit P0_0=P0^0; //个位数字

sbit P0_1=P0^1; //十位数字

void delay(int k); //Tab为数码管显示值,存入一个数组内

unsigned char code Tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,

0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};

unsigned char i,shi,ge,num,count; //num为被显示的数字

void main()

{

P2=Tab[0];

P0_0=0;

P0_1=0;//显示00

num=0; //被显示的数置0

count=20;

while(1)

{

for(i=1;i

{

shi=num/10; //取出十位数

ge=num%10; //取出个位数

P0_0=1;P0_1=1; //关闭显示

P2=Tab[shi]; //P2口送出十位数据显示代码

P0_0=0; //打开十位显示

delay(10); //延时

P0_0=1; //关闭显示

P2=Tab[ge]; //P2口送出个位数据显示代码

P0_1=0; //打开个位显示

delay(10); //延时

}

if(++num==100) //num自加1,然后判断是否等于100,等于则置0 num=0;

}

}

void delay(int k) //最简单的C延时程序

{

unsigned char i;

while(k--) //直至K减为0则跳出

{

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

}

}

相关文档
最新文档