c语言编程在数码管上显示00~59,每隔一秒显示数字加一

如题所述

第1个回答  2016-06-02
/*******************************************************************************************************//*******************************************************************************************************/#include//通用89C52头文件sbitAA=P3^4;//数码管显示用IO端口sbitBB=P3^5;sbitCC=P3^6;sbitDD=P3^7;ints,n,u;chartable[10]={0xd7,0x14,0xcd,0x5d,0x1e,0x5b,0xdb,0x15,0xdf,0x5f};//共阴数码管//P1口0-A,1-F,2-B,3-G,4-C,5-dp,6-D,7=Echark,m;charled[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//跑马灯voidYS(intx);//延迟函数声明voidXS(intd);//显示函数声明voidMScomm(void);//初始化/*******************************************************************************************************//*******************************************************************************************************/voidmain(void)//主函数{k=m=0;MScomm();//初始化while(1){XS(s);//显示P2=led[k];//跑马灯}}/*******************************************************************************************************//*******************************************************************************************************/voidint1()interrupt1//T0中断,时间是5ms{TH0=(65536-922)/256;//定时器0初值5msTL0=(65536-922)%256;n++;u++;if(n>100){n=0;s++;if(s>9999){s=0;}}if(u>50){u=0;if(m==0){k++;if(k>7){k=7;m=1;}}if(m==1){k--;if(k0;x--)for(y=100;y>0;y--);}/*******************************************************************************************************//*******************************************************************************************************/voidXS(intd)//显示子函数{chard1,d2,d3,d4;d4=d%10;//取个位%求余d3=(d/10)%10;//取十位d2=(d/100)%10;d1=(d/1000)%10;P1=table[d4];AA=0;YS(1);AA=1;//个位显示P1=table[d3];BB=0;YS(1);BB=1;//十位显示P1=table[d2];CC=0;YS(1);CC=1;//百位显示P1=table[d1];DD=0;YS(1);DD=1;//千位显示}/*******************************************************************************************************//*******************************************************************************************************/数码管的编码部分,你需要改一改,改成适合你的以及定时器中断内的变量u和n的值
第2个回答  2016-06-01
你好!数码管是怎么和单片机连接的?有按键控制吗
相似回答