51单片机如何利用4个七段数码管采用动态显示显示4位数字,如2035
发布网友
发布时间:2022-05-14 07:30
我来回答
共2个回答
热心网友
时间:2023-10-09 21:17
//***************************************
//显示函数 函数名:display56()
//***************************************
//变量定义:
unsigned char qian,,shi,ge; //定义显示缓冲区
unsigned char table[]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xa7};
//表:共阳数码管 0 1 2 3 4 5 6 7 8 9 c
//延时子函数,短暂延时
void delay56()
{
unsigned char i56=210;
while(i56--);
}
void display56()
{
P0=table[qian]; // 查得千位,送P0
SMG_q=0; // 打开千位数码管
delay56(); // 延时
P0 = 255; // 防止数码管脏乱
SMG_q=1; // 关闭数码管
P0=table[];// 选择百位数码管
SMG_b=0;
delay56(); //延时
P0 = 255;
SMG_b=1; //
P0=table[shi];// 选择十位数码管
SMG_s=0;
delay56(); //
P0 = 255;
SMG_s=1; //
P0=table[ge];//选择个位数码管,
SMG_g=0;
delay56(); //
P0 = 255;
SMG_g=1; //
}
你想显示什么,分别为qian,,shi ,ge
热心网友
时间:2023-10-09 21:18
控制位选 和段选,如果IO口够用 就用IO操作 不够用就加上 138 595 。 别忘了加限流电阻。
相关代码你动手百度一下。这里给你贴出来 也是百度的。学知识 自己动手才能有收获。相关数据手册 百度文库有好多。加油追问多谢!