单片机交流
直播中

ningkui

12年用户 831经验值
擅长:电源/新能源
私信 关注
[问答]

关于51单片机系列STC89C52数码管静态显示实验教程有木有?

以清翔51单片机的数码管静态显示实验教程有木有啊,实验原理是什么?有没有可参考的代码?

回帖(3)

田野

2021-10-13 10:48:28
1.参考教程:

清翔51单片机教程
2.基本原理 :

1)数码管位数:几个数码管连在一起,就是几位。
2)数码管共级:共阴极-数码管中间的线是GND。共阳极-数码管中间的线是VCC。用万用表测:黑表笔放GND(中间)处,红表笔放a处,若a灯亮起则是共阴极。



3)控制每段的亮灭,亮输入高电平,灭低电频。例:数码管显示数字1。对应二进制排列:00000110.


举报

杜美娜

2021-10-13 10:49:12
关于静态显示:

每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直达送入新字形码为止。
1)锁存器原理



2)位选和段选
用两个锁存器分别进行位选和位选。



位选流程:
①P27赋高定平(也就是位选锁存器的LE脚打开)-——使得输入端D与输出端Q能够互通数据。
②输入端D(也就是P0口)输入数据–控制数码管每位的点亮和熄灭。
③P27赋低电平(也就是位选锁存器的LE脚关闭)——使得输入端D与输出端不互通数据,Q端的位选数据被保存。
段选流程:
①P26赋高定平(也就是段选锁存器的LE脚打开)-——使得输入端D与输出端Q能够互通数据。
②输入端D(也就是P0口)输入数据–控制数码管每位的点亮和熄灭。
③P26赋低电平(也就是段选锁存器的LE脚关闭)——使得输入端D与输出端不互通数据,Q端的位选数据被保存。
举报

h1654155275.5809

2021-10-13 10:49:55
参考C代码:


  #include 《reg52.h》
  #include 《intrins.h》//标准库函数
  #define uint unsigned int
  #define uchar unsigned char
  ***it DU = P2^6; //数码管段选
  ***it WE = P2^7; //数码管位选
  void main()//main函数自身会循环
  {
  WE = 1;//打开位选锁存器
  P0 = 0XFE;//1111 1110
  WE = 0;//锁存位选数据
  DU = 1;//打开段选锁存器
  P0 = 0X06;//0000 0110
  DU = 0;//锁存段选数据
  }
显示效果:
举报

更多回帖

发帖
×
20
完善资料,
赚取积分