下载此文档

八位共阴极数码管动态显示时间,可调节,调节的数闪烁显示.doc


文档分类:通信/电子 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
8位共阴极数码管动态显示时间,可调节,调节的数闪烁显示//本例程为共阴极数码管;//在普中单片机上通过实验;//8位数码管动态显示时间,可调节,//调节时间时,调节的数闪烁显示;//比较两种闪烁的方法;#include<>#defineuintunsignedint#defineucharunsignedcharsbittiaojie=P3^0;sbitjia=P3^1;sbitjian=P3^2;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};uchara,b,num1,num2,flag100ms,flag1s,flagtj;ucharmiao,fen,shi,flagjia,flagjian;bitflag_1s;ucharcodewela[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};uchardula[8]={0,0,1,1,2,2,3,3};voiddelay(uintz);voidintc();voidkeyscan();voiddisp();voidmain(){intc();while(1){keyscan();disp();}}//================voidintc(){TMOD=0x01;TH0=(65536-10000)/256;TL0=(65536-10000)%256;ET0=1;EA=1;TR0=1;}voidtimer0()interrupt1{TH0=(65536-10000)/256;TL0=(65536-10000)%256;a++;if(a==10){flag100ms=1;}if(a==100){a=0,flag1s=1,miao++;flag_1s=~flag_1s;}if(miao==60){miao=0,fen++;}if(fen==60){fen=0,shi++;if(shi>12)shi=1;}}//====================voiddisp(){uchari;dula[7]=miao%10;dula[6]=miao/10;dula[5]=10;dula[4]=fen%10;dula[3]=fen/10;dula[2]=10;dula[1]=shi%10;dula[0]=shi/10;/*switch(flagtj)//第一种方法实现闪烁显示{case1:if(flag_1s==1){dula[7]=11;dula[6]=11;}else{dula[7]=miao%10;dula[6]=miao/10;}break;case2:if(flag_1s==1){dula[4]=11;dula[3]=11;}else{dula[4]=fen%10;dula[3]=fen/10;}break;case3:if(flag_1s==1){dula[1]=11;dula[0]=11;}else{dula[1]=shi%10;dula[0]=shi/10;}break;case0:break;}for(i=0;i<8;i++){P0=table[dula[i]];P2=wela[i];delay(10);P0=0;}*/for(i=0;i<8;i++)//第二种闪烁显示方法{switch(flagtj){case1:if(i>5&&i<8){if(flag_1s==1)P0=0;elseP0=table[dula[i]];}elseP0=table[dula[i]];break;case2:if(i>2&&i<5){if(flag_1s==1)P0=0;elseP0=table[dula[i]];}elseP0=table[dula[i]];break;case3:if(i>=0&&i<2){if(flag_1s==1)P0=0;elseP0=table[dula[i]];}elseP0=table[dula[i]];break;case0:P0=table[dula[i]];break;}P2=wela[i];delay(10);P0=0;}}//=====================voiddelay(uintz){uintx;uchary;for(x=0;x<z;x++)for(y=0;y<112;y++);}//===========================voidkeyscan(){if(tiaojie==0)delay(100);if(tiaojie==0){while(!tiaojie);flagtj++;if(flagtj>3)flagtj=0;}if(jia==0)delay(1

八位共阴极数码管动态显示时间,可调节,调节的数闪烁显示 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数12
  • 收藏数0 收藏
  • 顶次数0
  • 上传人iris028
  • 文件大小25 KB
  • 时间2019-11-19