电子工程师技术服务社区
- 社区首页
- 下载
- 数码管静态显示程序.zip
资料描述
51单片机学习8--数码管静态和动态显示
1.静态显示f
数码管 分共阴和共阳
protues仿真图用的是共阴的数码管 数码管的段码接在p0口上
要显示f 如下图
相当于 把a f g e 点亮,其他关闭。
p0口的8位
p07 p06 p05 p04 p03 p02 p01 p00
对应
dp g f e d c b a
那f的段码表就是
01110001=0x71 跟上图软件取值出来的一样
仿真图如下:
程序如下:
#include
#define uint unsigned int
#define uchar unsigned char
void main()
{
while(1)
{
p2=0xfe; //选中数码管
p0=0x71; //显示f
}
}
2 动态显示:fe
动态显示:一个一个驱动,利用人眼视觉滞留,看上去就像都显示一样
仿真原理图:
程序如下:
#include
#define uint unsigned int
#define uchar unsigned char
void delay_ms(uint z);
void main()
{
while(1)
{
p2=0xfd; //选中数码管
p0=0x71; //显示f
delay_ms(5);
p2=0xfb; //选中数码管
p0=0x79; //显示e
delay_ms(5);
}
}
void delay_ms(uint z) //ms级延时子程序
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}