技术文档

单片机数码管时间显示 单片机实例:六位显示数码管时钟((附闹钟设置,源码,原理图)

小编 2024-11-25 技术文档 23 0

单片机实例:六位显示数码管时钟((附闹钟设置,源码,原理图)

从左到右的开关控制分别为:秒设置、分设置、时设置、进入时间设置(设置时间需要按一下这个再按前面3个按键设置)、闹钟设置(通过前面3个按键设置)、保存设置(设置完成后按下保存并退出)。

时钟可以显示到秒位

数码管用的是共阴,共阳的话加三极管闲麻烦,没加。数码管a~g接的P0口,没用10K排阻上拉,试了下觉得亮度太低了,就都换成了2K的作为上拉。

有兴趣的可以给加上温度传感器,可以显示温度(我这里面就没加了)初学单片机没多久,欢迎大佬指导。材料如下:89C52*1 4位数码管*1+2位数码管*1(当然如果有六位的也可以直接用,找不到其他数码管了就这么混搭了) 有源蜂鸣器*1(试过无源,但时间计算过于占用资源导致发声不是很完美,大佬可以改一下) 轻触开关*7(1个用于复位,其余六个用于设置) + 自锁开关*1 电池*1 + 5V稳压*1

单 片 机 时 钟 源 码 程 序--戳可见--->51单片机六位显示数码管时钟实例(带闹钟设置,源码,原理图)

详解数码管显示控制

数码管种类繁多,按外观来划分,可以分为七段数码管、米字型数码管、点阵块等。图8-5所示为各种不同形状的数码管。

图8-5 各种不同形状的数码管

LED数码管结构与工作原理

单片机系统中常用的是七段数码管,它由8个发光二极管(以下简称字段)构成,如图8-6(a)图所示(注:由于小数点字段不常用,所以一般称为七段),通过不同的组合可以显示数字0~9、字符A~F、H、L、P、U、符号“-”及小数点“.”。

根据发光二极管物理连接的不同,七段数码管可以分为共阴极和共阳极两种结构。共阴极型数码管如图8-6(b)所示,所有字段的阴极均连接低电平,因此在使用共阴极数码时,需要在相应字段上加高电平,才会使其发光。共阳极数码管如图8-6(c)所示,所有字段的阳极均连接高电平,在使用时,需要在相应字段上加低电平。

图8-6 7段数码管结构

LED数码管字型编码

在单片机与数码管组成的应用系统中,一般将单片机的一个并口与数码管的8个段控制引脚连接,且按照口线位的顺序由低到高与a、b、c、d、e、f、g、h连接,这样,若要显示不同字符,只需应用单片机的口线输出相应的控制的电平就可以实现。向口线送的数据就是LED的字型编码。共阴和共阳的字型编码如表8-2所示。

表8-2 共阴和共阳的字型编码表

LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可以分为静态显式和动态显式两类。

LED数码管静态显示

静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O口线进行驱动,或者使用如BCD码、二–十进位解码器解码进行驱动。

静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O口较多,如驱动5个数码管静态显示则需要5×8=40根I/O口线来驱动,而1个89S51单片机可用的I/O口线才32个。

2位共阳极数码管的静态显示电路如图8-7所示。

图8-7 2位共阳极数码管的静态显示电路原理图

显示数字12的C51程序如下:

LED数码管动态显示

数码管动态显示是单片机中应用最为广泛的显示方式,动态驱动是将所有数码管的8个同名端“a,b,c,d,e,f,g,h”连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制。

当单片机输出字形码时,所有数码管都接收到相同的字形码,究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制。通过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示。

在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示,不会有闪烁感,动态显示的效果和静态显示相同,并且能够节省大量的I/O口线,降低功耗。

2位共阳极数码管动态显示电路如图8-8所示。

显示数字12的C51程序如下:

图8-8 2位共阳极数码管动态显示电路原理图

相关问答

51 单片机 编程制作电子钟 时间 问题.后两位 数码管显示 到59后,直...

[最佳回答]ucharsec=0,min=0,tnum;把它放到主函数里面看看,并且tnum=0

单片机数码管 动态 显示 0-100?

给你简单的修改了一下,如果你的数码管编码没错,应该可以显示0~99的没添加百位显示,所以只有0~99//数码管动态显示+1,显示范围0-100,定时时间1s#include...

普中 单片机数码管 动态 显示 实验,为什么最后一位数码管总是不亮?

首先硬件上检查有没有问题,比如说管子本身有没问题,再次看你程序,比如说驱动口错了或者程序跑飞了,或者扫描时间不正确导致首先硬件上检查有没有问题,比如说...

EDA数字钟设计电路图 显示 时分秒日期星期能整点报...- 汇财吧...

[回答]EDA实验报告——多功能数字钟的设计学号:姓名:院系:自动化学院指导教师:时间:2010.5.9目录摘要……………………………………………………………3二...

如何知道 单片机 程序运行一周 时间 ?

进入DEBUG状态,右下角有显示。你需要开始计时时,右击选择reset,然后执行你需要测试的程序部分就可以了。进行软件仿真前需要设置正确你的晶振频率,在option,...

功能单一,而且大都采用LED 数码管 作为 显示 器件,功耗大,不能...

[最佳回答]AbstractAtpresentthenumberofhouseholdelectronicbell,themajoritycanonlydisplayhours,minut...

要用AT89S51 单片机 的定时器实现,用4位 数码管显示 ,用点的...

用21134位数码管显示,用点的闪烁表示秒,就是共有52615位,7段;那么用一整个4102PIO口(8位)去对应7段数据,1653再用另外一个PIO口的部分(全部)管脚去...

什么是 单片机 的数字时钟信号?

单片机的数字时钟信号是指用于驱动单片机(微控制器)执行各种操作和计算的时钟信号。这些时钟信号通常由外部晶振或内部电路产生,并以固定的频率和周期性脉冲的...

51 单片机 怎么样用键盘控制 数码管显示 -ZOL问答

如果不加这个while(1){}的话,显示函数执行完后定时器会重新初始化,这样定时器永远不能连续的工作一秒,于是时间久不会走动,这就是问题所在了delay函数的x删掉吧...

单片机 从PC端读取当前 时间 ?

用VB的Now函数读取当前时间,再用MMSCOM控件实现数据从PC传到单片机(串的口通信)用VB的Now函数读取当前时间,再用MMSCOM控件实现数据从PC传到单片机(串的口通信)

猜你喜欢