数码管的静态显示

这篇具有很好参考价值的文章主要介绍了数码管的静态显示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先说一下数码管,其实就是7个led灯,加上一个小数点正好8位,和51单片机的一个端口连接。

proteus静态数码管显示,51单片机,c语言,开发语言,51单片机,proteus,单片机,Powered by 金山文档

使不同的灯亮起,就可以实现显示0到9这几个数字。

proteus静态数码管显示,51单片机,c语言,开发语言,51单片机,proteus,单片机,Powered by 金山文档
proteus静态数码管显示,51单片机,c语言,开发语言,51单片机,proteus,单片机,Powered by 金山文档
proteus静态数码管显示,51单片机,c语言,开发语言,51单片机,proteus,单片机,Powered by 金山文档

以上都是图片,下面把对应的值给到大家,0到9的十六进制值复制粘贴就好了:{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}

下面说一下数码管的静态显示(下一篇说动态显示)

proteus静态数码管显示,51单片机,c语言,开发语言,51单片机,proteus,单片机,Powered by 金山文档

接下来就实际操作一下,打开proteus,如图导入元器件并连线,数码管搜索SEG。

proteus静态数码管显示,51单片机,c语言,开发语言,51单片机,proteus,单片机,Powered by 金山文档

下面就是编写c文件,之后编译,源码和注释看下面:

#include"reg51.h"

unsigned char dat[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//  点        g        f        e        d        c        b        a
// 显示0      0        1        1        1        1        1        1   除了点和g不亮其他的灯都亮就是0。  十六进制就是0x3f
// 显示1      0        0        0        0        1        1        0   只有b和c亮,其他的都不亮。        十六进制就是0x06
// 按照上面的方式依次类推得到 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f


void delay(unsigned int n){       //延时函数   不是很精确
    unsigned int i=0, j=0;
    for(i=0; i<n; i++){
        for(j=0; j<120; j++);
    }
}

void seg(){                       // 自己命名的子函数,proteus中数码管叫seg,我这里就取名叫seg好了
    unsigned int i;
    for(i=0; i<10; i++){          //  循环10次,得到i的值从0到9都能取到
        P2=dat[i];                    // 51单片机的P2口得到的值就是数组dat中的每一个值,也就是从0到9分别亮
        delay(500);               // 延时, 由于单片机的运行速度太快,所以要加延时,也就是等一会,不然人眼看不到
    }
}

void main(){                      // 主函数   加一个无限循环  只调用了子函数seg
    while(1){
        seg();
    }
}

最后打开proteus把生成的hex文件导入,模拟仿真就可以看到从0到9不停地显示数字了文章来源地址https://www.toymoban.com/news/detail-741997.html

proteus静态数码管显示,51单片机,c语言,开发语言,51单片机,proteus,单片机,Powered by 金山文档

到了这里,关于数码管的静态显示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 51单片机“独立按键”控制静态数码管———显示数字0-9

    (1).独立按键模块电路图可以清楚的看到,所有从引脚JP1出来的电流都会接到GND,且当所有按键按下时被执行链接GND。所以,当JP1引脚各端口----识别----到“电流为低电平为0时”,说明按键被按下,否则为高电平按键没有被按下。 ( 2).按键的原理其是需要我们单片机有检

    2024年02月11日
    浏览(34)
  • 51单片机DS18B20测温数码管显示例程(Proteus仿真+程序)

          本设计由STM32单片机+DS18B20温度传感器+四段数码管显示模块组成。 1、主控制器是51单片机 2、DS18B20温度传感器采集温度,精度0.1摄氏度 3、数码管显示温度,由三极管驱动。 4、测温范围-55~110摄氏度,误差±0.1℃ 注意:Proteus7.8以上版本打开 19、51单片机DS18B20测温数码管

    2023年04月08日
    浏览(35)
  • 【普中】基于51单片机简易计算器数码管显示设计( proteus仿真+程序+实物演示+讲解视频)

    【普中开发板】基于51单片机简易计算器数码管显示设计( proteus仿真+程序+实物演示+讲解视频) Proteus 仿真:Proteus 8.16(有低版本) 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:P04 普中开发板实验设计 本设计旨在设计一个基于51单片机的简易计算器仿真设计。 功能要求

    2024年02月02日
    浏览(44)
  • 51单片机简易时钟闹钟八位数码管显示仿真( proteus仿真+程序+原理图+报告+讲解视频)

    51单片机简易时钟闹钟八位数码管显示仿真( proteus仿真+程序+原理图+报告+讲解视频) 仿真图proteus7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0046 本设计旨在设计一个基于51单片机的多功能数字时钟闹钟proteus仿真设计,可以显示时、分、秒,并且可以设置时

    2024年02月09日
    浏览(30)
  • 【Proteus仿真】| 51单片机——MAX7219 驱动数码管

    系列文章 todo: 该文章目的:让大家快速上手——知道如何使用MAX7219。故MAX7219就不做详细介绍了(需要了解的话可以看其他博文及数据手册)。 max7219是一个串行输入/输出 共阴极 数码管(点阵)驱动芯片。1个MAX7219最多可以驱动8位数码管。它具有自动扫描(切换位),BCD译码器(即

    2024年02月15日
    浏览(30)
  • 51单片机通过两片74HC595级联,用8位LED数码管,分别显示当前日期,如:“2”、“0”、“-”、“0”、“5”、“-”、“2”、“6”,用Proteus仿真实现。

    1.先上仿真图,但这么连仿真图是不太正确的,要注意。展示的话能用就行。 2.从上到下依次放上数据手册上的引脚解释和逻辑功能和时序图    3.贴上代码:写了发送一字节数据函数,发送全部字节函数,加上一些写了很久的解释(求赞)。

    2024年02月08日
    浏览(48)
  • 51单片机静态数码管原理及代码

    单个数码管有 8个LED灯 ,通过输入电平点 亮a~g可显示数字 ,以下为原理图:   数码管原理图分为共阴极与共阳极两种 : ① 共阴极 :a~dp位于发光二极管的阳极(即高电平的一端)部分,左接GND端 ② 共阳极 :a~dp位于发光二极管的阴极(即低电平的一端)部分,右接VCC电源

    2024年02月06日
    浏览(52)
  • 51单片机入门————数码管显示

    我们在马路上看到的红绿灯,就是由数码管来实现的,就是其中可能加入了一些延时和转换 数码管是通过控制138译码器与74HC245来控制数码管的亮灭与数字的显示 我们先讨论一个数码管 数码管有共阳极和共阴极,我们现在使用的STC89C52是共阴极的,说明数码管共用阴极 上面是

    2024年02月13日
    浏览(31)
  • 51单片机数码管显示(三)

    目录 一、静态数码管显示 1、一位数码管 (1)LED数码管各段名称 (2)数码管引脚定义 (3) 共阴极(89C52RC单片机LED数码管采用共阴极方式) (4)共阳极 2、四位一体数码管 (1)四位一体数码管引脚定义 (2)上面共阴极和下面共阳极  3、数码管模块原理图详解 4、编写

    2024年02月08日
    浏览(32)
  • 51单片机控制数码管动态显示

    首先打开proteus,导入8位数码管和89c51。 然后如图连线,分清断码和位码, 断码就是一个数码管的7个LED灯。 位码:就是第几位显示,由于是共阴极,所以哪位接地就显示哪位。 下面通过改变位码的接线就可以看出不同的效果 下面就编写程序,从第1位到第8位显示从0到7的八

    2023年04月21日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包