51单片机控制4个数码管显示09999//使用AT89c51单片机控制四个数码管动态显示0-9999 ,12MHz
#include
void jiayi();//加1函数
void chufa();//除法函数
void xianshi();//显示函数
void delay();//延时函数
sbit P2_0=P2^0;//个位位码
sbit P2_1=P2^1;//十位位码
sbit P2_2=P2^2;//百位位码
sbit P2_3=P2^3;//千位位码
unsigned char qianwei,baiwei,shiwei,gewei...
//使用AT89c51单片机控制四个数码管动态显示0-9999 ,12MHz
#include
void jiayi();//加1函数
void chufa();//除法函数
void xianshi();//显示函数
void delay();//延时函数
sbit P2_0=P2^0;//个位位码
sbit P2_1=P2^1;//十位位码
sbit P2_2=P2^2;//百位位码
sbit P2_3=P2^3;//千位位码
unsigned char qianwei,baiwei,shiwei,gewei;
unsigned int count=0;
unsigned char code dis[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //共阳极0-9
void main()
{
while(1)
{
jiayi();
chufa();
xianshi();
}
}
void chufa()//将数字的各个位拆开
{
qianwei=count/1000;//千位数
baiwei=count%1000/100; //百位数
shiwei=count%100/10; //十位数
gewei=count%10; //个位数
}
void jiayi()
{
count=count+1;
if(count==10000)
count=0;
}
void delay()//延时
{
unsigned int i,j;
for(i=0;i<10;i++)
{
for(j=0;j<200;j++);
}
}
void xianshi()//显示当前数值
{
P2_0=1; //显示个位
P1=dis[gewei];
delay();
P2_0=0;
P2_1=1;//显示十位
P1=dis[shiwei];
delay();
P2_1=0;
P2_2=1; //显示百位
P1=dis[baiwei];
delay();
P2_2=0;
P2_3=1; //显示千位
P1=dis[qianwei];
delay();
P2_3=0;
}
本文档为【51单片机控制4个数码管显示09999】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。