资源描述:
《单片机动态显示数字递减程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、#include//从765432一直减到000000#include#defineucharunsignedchar#defineuintunsignedintsbitdula=P2^6;sbitwela=P2^7;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};unsignedlongintaa,temp,shi,ge,bai,qian,wan,s
2、w;voiddisplay(ucharbai,ucharshi,ucharge);voiddelay(uintz);voidinit();voidmain(){init();//初始化子程序while(1){display(bai,shi,ge);}}voidinit()//初始化只针对中断{temp=765432;//wela=0;//dula=0;TMOD=0X01;TH0=(65536-10000)/256;TL0=(65536-10000)%256;EA=1;ET0=1;TR0=1;}voidtimer0()interrupt1{
3、TH0=(65536-10000)/256;TL0=(65536-10000)%256;aa++;if(aa==10){aa=0;temp--;}sw=temp/100000;wan=temp%100000/10000;qian=temp%10000/1000;bai=temp%1000/100;shi=temp%100/10;ge=temp%10;//自加一之后自动分配到geshibai位里面去}voiddisplay(ucharbai,ucharshi,ucharge){wela=1;P0=0xfe;wela=0;dula=1;dul
4、a=0xff;//加上可消除后几位暗亮的情况。P0=table[sw];dula=0;delay(1);wela=1;P0=0xfd;wela=0;dula=1;dula=0xff;//加上可消除后几位暗亮的情况。P0=table[wan];dula=0;delay(1);wela=1;P0=0xfb;wela=0;dula=1;dula=0xff;//加上可消除后几位暗亮的情况。P0=table[qian];dula=0;delay(1);wela=1;P0=0xf7;wela=0;dula=1;//dula=0xff;加上可消除后几位
5、暗亮的情况。P0=table[bai];dula=0;delay(1);wela=1;P0=0xef;wela=0;dula=1;//dula=0xff;P0=table[shi];dula=0;delay(1);wela=1;P0=0xdf;wela=0;dula=1;//dula=0xff;P0=table[ge];dula=0;delay(1);}voiddelay(uintz){intx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}