标题:
89c52单片机数码管的动态显示,求思路
[打印本页]
作者:
MF梦醒时分
时间:
2021-3-21 14:35
标题:
89c52单片机数码管的动态显示,求思路
由于本论坛禁止直接求程序,禁止伸手党,所以向大家请教一下大致的实现方法与思路,理清头绪后我自己来写程序去实现
一:流水灯从D1开始到D8依次延时1s并保持常亮,同时数码管从左到右依次显示“520-1314”并保持常亮,此时打开蜂鸣器,2s后关闭蜂鸣器,同时流水灯再从D1到D8依次延时1s并依次熄灭,同时数码管从左到右依次熄灭,2s后循环上述程序。
二:数码管首先显示00-00 延时1s左右,秒自动加1,显示变成 00-01,依次自加,直到00-59,1s 以后变成 01- 00。然后秒继续自加当时间到达59-59之后,再来一秒,显示又从00-00开始。每次跳秒的时候蜂鸣器叫一下,尝试使数码管在常亮的情况下使用蜂鸣器。延时时间1s精确度不做要求
作者:
人人学会单片机
时间:
2021-3-21 17:54
数码管开辟一个缓存空间,根据缓存里面的数字,找到对应的字模包括黑屏,这样 你需要在什么位置、什么时间点、显示什么东西,都跟数码管的代码无关。这样可以更方便程序的移植。建议你看看 人人学会单片机 的资料,
作者:
天ノ忆
时间:
2021-3-23 17:04
流水灯用一组IO口控制,8个数码管数码管用一组io口控制段选,一组控制位选,动态刷新数码管就能达到1的效果;开个计时器,计数在计时器里,控制在main里,就能达到2的效果
作者:
xianfajushi
时间:
2021-3-23 17:13
可参
https://blog.csdn.net/xianfajushi/article/details/82281075
作者:
lwh999995
时间:
2021-3-23 18:11
如果是STC89C52单片机,led接在P2口,低电平点亮,那么初始化P2=0XFF; 此时用>>1的方法,是不是就把led依次点亮了,并保持亮了呢。
数码管结构分:
段 (由abcdefgh 8个LED组成的图形,如1,2,3,4,5,6,7,8,9,A,B,C,D,E,F等等图形)和 位 (其实就是数码管的共阳或共阴的公共点)。数码管极性分:共阴(位共低电平),共阳(位共高电平)
如果是共阳数码管,那么位就是阳极(电源正极或单片机IO输出高电平),段就是8个LED的阴极,如果把段接到P1口(abcdefgh->P10~P17),P1=0X00; 数码管就是显示一个8,并且右下角有个小数点。如果要显示一个8,不显小数点,那么就是给h段一个高电平,P1=0x80;(1000 0000),一个数码管显示8的数码管就亮了。代码实现就是:
P37=1;// (接通数码管位电源) P1=0X80;// (给段数据显示8) 。然后延时一下,保持数码管亮1MS左右,P37=0;//位关闭,消除鬼影。
要其它数码管亮起来,根据数码管数量就不停地重复上面的代码,每个数码管都会显示8。
不同的IO控制不同的位为1就显示对应的一位数码管,给段不同的数据,那么数码管就显示不同的图形了。
共阳数码管.jpg
(39.78 KB, 下载次数: 79)
下载附件
2021-3-23 18:06 上传
共阳数码管
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1