单片机数码管动态显示,4位,8段,12线单片机数码管动态显示,4位,8段,12线
#include
#define unchar unsigned char
sbit we1=P2^0;
sbit we2=P2^1;
sbit we3=P2^2;
sbit we4=P2^3;
unchar t,i,j,k,l;
unchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
0xf8,0x80,0x90};
void delayUS(unchar s){
while(--s);
}
void dela...
单片机数码管动态显示,4位,8段,12线
#include
#define unchar unsigned char
sbit we1=P2^0;
sbit we2=P2^1;
sbit we3=P2^2;
sbit we4=P2^3;
unchar t,i,j,k,l;
unchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
0xf8,0x80,0x90};
void delayUS(unchar s){
while(--s);
}
void delayMS(unchar s){
while(s--)
delayUS(50);
delayUS(50);
}
void main()
{
i=0;j=0;k=0;l=0;
EA=1; //开开中断
TMOD=0X01; //开开开开开开定器工作模式
ET0=1; //开开开开开定器中断0
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
TR0=1;//开开开启定器0
while(1)
{
P0=table[i];
we1=1;
we2=1;
we3=1;
we4=0;
delayMS(40);
if(i>=10)
{
i=0; j++;
}
P0=table[j];
we1=1;
we2=1;
we3=0;
we4=1;
delayMS(40);
if(j>=10)
{
j=0; k++;
}
P0=table[k];
we1=1;
we2=0;
we3=1;
we4=1;
delayMS(40);
if(k>=10)
{k=0; l++;}
P0=table[l];
we1=0;
we2=1;
we3=1;
we4=1;
delayMS(40);
if(l>=10)
{l=0; i=0;j=0;k=0;t=0;}
}
}
void timing(void) interrupt 1{
t++;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
if(t==20)
{i++; t=0;}
}
本文档为【单片机数码管动态显示,4位,8段,12线】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。