两个数码管循环显示00
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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--); } }