单片机实验六 动态数码管实验

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

实验六 动态数码管实验

一、实验目的

1.熟悉实验软件和硬件,进行正确的接线;
2.编程使得数码管排依次显示01234567

二、实验软硬件

1.Keil uVision4
2.PZISP自动下载软件
3.HC6800S开发板

三、实验原理

单片机实验六 动态数码管实验

动态数码管实验整体图
通过P22、P23、P24控制3-8译码器来对数码管进行位选,通过P0口经过573的驱动控制数码管的段选,通过P13控制573的使能端,为低电平时573才会有输出。
单片机实验六 动态数码管实验

动态数码管硬件图
当一个选通端(E1)为高电平,另二个选通端((/E2))和(/E3))为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。输出为Y0至Y7的非,比如:A2A1A0=110时,则Y6输出端输出低电平信号。
单片机实验六 动态数码管实验

138译码器硬件

四、软件流程图

单片机实验六 动态数码管实验

动态数码管实验程序流程图

五、实验代码

1.#include<reg51.h>  
2.  
3.#define GPIO_DIG P1  
4.  
5.sbit LSA=P2^2;  
6.sbit LSB=P2^3;  
7.sbit LSC=P2^4;  
8.  
9.unsigned char DisplayData[17]={  
10.0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,  
11.0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};  
12.  
13.void DigDisplay()  
14.{  
15.    unsigned char i;  
16.    unsigned int j;  
17.    for(i=0;i<8;i++)  
18.    {  
19.        switch(i)      
20.        {  
21.            case(0):LSA=0;LSB=0;LSC=0; break;//显示第0位  
22.            case(1):LSA=1;LSB=0;LSC=0; break;//显示第1位  
23.            case(2):LSA=0;LSB=1;LSC=0; break;//显示第2位  
24.            case(3):LSA=1;LSB=1;LSC=0; break;//显示第3位  
25.            case(4):LSA=0;LSB=0;LSC=1; break;//显示第4位  
26.            case(5):LSA=1;LSB=0;LSC=1; break;//显示第5位  
27.            case(6):LSA=0;LSB=1;LSC=1; break;//显示第6位  
28.            case(7):LSA=1;LSB=1;LSC=1; break;//显示第7位      
29.        }  
30.        GPIO_DIG=DisplayData[i];//发送段码  
31.        j=1000;          //控制显示位的保留的时间                        
32.        while(j--);   
33.        GPIO_DIG=0x00;  
34.    }  
35.}  
36.void main(void)  
37.{  
38.    while(1)  
39.    {  
40.        DigDisplay();  
41.    }                 
42.}

六、实验步骤

1.连接实验相关模块连线
单片机实验六 动态数码管实验

硬件线路图
2.编写动态数码管程序
用三根LSA、LSB和LSC 输出到38译码器中,比如输入000,选中第一个数码管。然后把数据通过P1送出给数码管,然后改数码管显示相应的数字。其后,开始循环选中第二个数码管,送数字,然后第三个…依次循环,每次显示之间间隔一段时间,间隔时间合适便可达到数码管排依次显示01234567的效果。
3.下载动态数码管程序

程序下载界面
4.观察实验现象
实验现象就是随着延时的增加,第一个数码管显示0,然后第一个数码管灭,第二个显示1,之后第二个数码管灭,第三数码管显示2… 间隔时间过小的话的,呈现的效果是8个数码管同时显示01234567。

七、实验思考

有人说,静态数码管是动态的,动态数码管是静态的。其实这里面的静态动态并不是那样理解的,静态数码管直接是使能的,之后可以往里面写入数值对应的段码,这时就可以显示出相应的数值。动态数码管是一排,通常应该有八个,要用一个38译码器连接它们的使能端。它们的连接相同的数据总线,通过选择,相应的数码管将数字读入显示。它其实是在不停的动作的,只是扫描的比较快,人眼看到的是“静态”的。
这样就可以用3根控制线和8根数据线完成8个数码管的显示。如果这8个数码管用静态的方式显示就需要8*8根线,但51单片机很难可以有这么多IO口资源。即使对于其它种类的单片机来说,64个IO口也是一个不小的开销。
本实验要求并38译码器转换不同状态是时间延长多一点,就出现了第一个数码管显示0,然后灭。第二个数码管显示1,然后灭…这样的效果。文章来源地址https://www.toymoban.com/news/detail-487363.html

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

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

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

相关文章

  • 【STC15单片机】动态数码管

    目录 点亮一位数码管 动态数码管 100s倒计时 动态数码管封装代码 段选:选中哪一位数码管 位选:选中的数码管要显示的内容 这是我对段选位选的理解,就是选中某个位置,赋值字形码,显示想要的图形 如果只想让第一个数码管显示,就只需要让com1 = 1即可,其他comx都=0 如

    2024年02月13日
    浏览(27)
  • 单片机-如何让数码管动态显示

    单片机IO口输出难稳定,需要数码管与单片机连接需要增加驱动电路, 使用 74HC245 abcdefgDP并联导出  74HC245 对数码管进行驱动,P0 是输出电流 来驱动各个段的 驱动芯片 增加电阻 是为了防止电流过大烧坏数码管 。P0输出段选的 共阴 就是所有阴极 连接 在一起,连接在公共端

    2024年02月09日
    浏览(36)
  • 51单片机动态数码管显示自己学号

    实验题目:使用51单片机实现动态数码管显示自己8位学号,例如20220018 在此原理图又分两种连接方式: 第一种是8位数码管接38译码器来减少端口使用。 第二种是,没有端口要求接好就可以那就是,把位选端接P3口,段选端接P0口,这样占用端口多,一般实验都是使用第一种接

    2024年02月13日
    浏览(44)
  • 【51单片机实验笔记】2. 数码管的基本控制

    本节内容我们学习如何控制 数码管 ,先尝试点亮一个 数码管 ,并实现 倒计时 效果。 本节涉及到的 封装源文件 可在《模块功能封装汇总》中找到。 本节 完整工程文件 已上传 GitHub ,仓库地址,欢迎下载交流! 数码管 的英文为 Nixie Tube ,又称 辉光管 或 LED数码管 。其基

    2023年04月23日
    浏览(77)
  • 【51单片机】数码管的静态与动态显示(含消影)

    数码管在现实生活里是非常常见的设备,例如 这些数字的显示都是数码管的应用。 注意 :数码管有 共阴 和 共阳 的区分。 在自己设计电路时,应当选用一种数码管时需要选用相应的译码器(共阴配共阴,共阳同理) 数码管的使用: 数码管其实就是一段一段LED构成的,51单

    2024年01月19日
    浏览(31)
  • 【51单片机】EEPROM-IIC实验(按键控制数码管)

    目录   🎁I2C总线 ​编辑 🎁代码 🏳️‍🌈main.c 🏳️‍🌈i2.c 🎆代码分析   I2C总线是Philips公司在八十年代初推出的一种串行、半双工的总线,主要用于近距离、低速的芯片之间的通信;I2C总线有两根双向的信号线,一根 数据线SDA 用于收发数据,一根 时钟线SCL 用于通信

    2024年02月11日
    浏览(38)
  • 51单片机实验三:数码管显示时钟 按键调节时间时闪烁提示

    功能效果:1.时分秒的动态显示。2.用三个按键实现时分秒的修改,调节的数字闪烁提示。  

    2024年02月11日
    浏览(30)
  • 单片机原理及应用 实验四 指示灯数码管的中断控制

    单片机原理及应用(C51 版) 功能: 开机后D1灭灯,LED1黑屏,随后单击K1→D1状态反转,单击K2→LED1从0开始循环显示0~F字符。 实验目的及要求: 1.掌握外部中断的工作原理,学会中断程序设计; 2.按照实验报告要求图,绘制本实验电路原理图; 3.要求采用外部中断原理完成

    2024年02月07日
    浏览(30)
  • C51单片机-共阳极数码管循环显示数字0至9,共阴极数码管循环显示5201314(动态)

    keil uVision4界面: proteus仿真界面:

    2024年02月06日
    浏览(47)
  • 51单片机的串口实验之数码管显示与按键实验(8位数字任意传输)

    目标效果: 1、电脑发送任意小于=8位数字( SUBF只有8位最大只能发送255,但是可以通过数组进行临时存储来实现传输多字节 )数字,在数码管上显示对应的数字且同时满足高位是0可以不显示  2、矩阵按键按下后,电脑接收所按下的按钮 实验器材: 1、普中51单片机。2、ST

    2024年02月02日
    浏览(38)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包