历史上的今天
今天是:2025年10月27日(星期一)
2022年10月27日 | 【51单片机】STC89C52数码管静态显示实验,含c代码(5)
2022-10-27 来源:csdn
1.参考教程:
清翔51单片机教程
2.基本原理 :
1)数码管位数:几个数码管连在一起,就是几位。
2)数码管共级:共阴极-数码管中间的线是GND。共阳极-数码管中间的线是VCC。用万用表测:黑表笔放GND(中间)处,红表笔放a处,若a灯亮起则是共阴极。

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

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

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

位选流程:
①P27赋高定平(也就是位选锁存器的LE脚打开)-——使得输入端D与输出端Q能够互通数据。
②输入端D(也就是P0口)输入数据–控制数码管每位的点亮和熄灭。
③P27赋低电平(也就是位选锁存器的LE脚关闭)——使得输入端D与输出端不互通数据,Q端的位选数据被保存。
段选流程:
①P26赋高定平(也就是段选锁存器的LE脚打开)-——使得输入端D与输出端Q能够互通数据。
②输入端D(也就是P0口)输入数据–控制数码管每位的点亮和熄灭。
③P26赋低电平(也就是段选锁存器的LE脚关闭)——使得输入端D与输出端不互通数据,Q端的位选数据被保存。
3.参考C代码:
#include #include #define uint unsigned int #define uchar unsigned char sbit DU = P2^6; //数码管段选 sbit WE = P2^7; //数码管位选 void main()//main函数自身会循环 { WE = 1;//打开位选锁存器 P0 = 0XFE;//1111 1110 WE = 0;//锁存位选数据 DU = 1;//打开段选锁存器 P0 = 0X06;//0000 0110 DU = 0;//锁存段选数据 } 4.显示效果:
史海拾趣
|
实现目的: 当管脚设定为输入时,了解如何可以编程设定上拉电阻,以达到简化硬件的目的。 如何使用软件控制取样频率及时间,达到抗干扰目的. 为了让程序运行更稳定,防止跑飞,了解如何使用看门狗. 电路、软件原理描述: 为简化代码及线路 ...… 查看全部问答> |
|
《阿凡达》中人类总部对潘多拉大树的3D影像模拟是对物体全真显示的高科技应用。随着3D显示产业的兴起,这将离人们不会太远。 在CES拉斯维加斯会展中心,整个3D电视展区占据了中央大厅最多的位置。中日韩厂商在这一领域纷纷使出了绝杀。 做为 ...… 查看全部问答> |
|
市场上的单片机开发板,谁处可见,大都是几百元,给大家学习带来了一定的困难,我把上次的STC单片机最小系统改善了一下,搭了一个最小开发板,该最小开发板将单片机的所有引脚均引出,方便大家第二次开发,加上外设几乎可以做所有的实验,也很方便 ...… 查看全部问答> |
|
我是个菜鸟,学习调试消息邮箱的时候有个问题不知道错在哪里了: int *s; int *t; int err; while(1){ &nb ...… 查看全部问答> |
|
RT,无法抓取,打印任务文件名是中文的文件名. 我在打印处理器里面的,PrintDocumentOnPrintProcessor事件里面,去取打印作业文件名,代码如下: 在最后一行,取文件名,如果打印文件的文件名是英文的,DebugPrint输出正确;如果打印文件的文件名是中 ...… 查看全部问答> |
|
刚画完原理图,先发上来请大家帮我检查一下.天又快亮了.还没布线.我花了将近2个月时间,只申请了MAX16832驱动芯片.由于没有申请(当初我也没考虑)充电电路,只好用7815和LM358做了个充电电路,还不知道行不行.… 查看全部问答> |




