(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)

目录

静态数码管

1.数码管是如何显示出字符

显示器及其接口

共阴数码管码表

开发板数码管电路图

2.数码管静态显示原理

3.74HC573芯片的使用

4.编写程序

动态数码管

1.数码管动态显示原理

2.芯片的使用

74HC245芯片

74HC138芯片

3.编写动态数码管程序


静态数码管

1.数码管是如何显示出字符

显示器及其接口

单片机系统中常用的显示器有:发光二极管LED(Light Emitting Diode)显示器、液晶LCD(Liquid Crystal Display)显示器、TFT液晶显示器等。

LED显示器有两种显示结构:段显示(7段、米字型等)和点阵显示(5×8、8×8点阵等)。

LED数码管根据LED的不同接法可以分为2类:共阴和共阳。

上图(a)为数码管,(b)为两种接法:左边为共阴接法,右边为共阳接法 ,开发板使用的就是共阴接法

共阴数码管码表

使用LED显示器时,要注意区分这两种不同的接法。为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。因此为LED显示器提供的编码正好是一个字节。我们实验板用共阴LED显示器,根据电路连接图显示16进制数的编码已列在下表。

我们可以用0来举例,当数码管显示0时 ,如下图所示:其中除了g和dp,其余都要点亮,共阴接法二进制则表示为11111100,将其转换为16进制则表示为0x3f

                                            

开发板数码管电路图

2.数码管静态显示原理

LED显示器工作方式有两种:静态显示方式和动态显示方式。

静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。

3.74HC573芯片的使用

1.OE为使能端,当他为低电平的时候, 锁存器开始工作

2.VCC和GND为电源和地端

3.LE为锁存端,当LE为高电平的时候,Q0~Q7都跟D0~D7状态一样,当LE为低电平的时候,Q0~Q7都锁存数据,无论D0~D7怎么变化,Q0~Q7都保持锁存之前的那个状态。

4.编写程序

让8位一体的数码管最后一个显示为0

//让8位一体的数码管最后一个显示为0
#include"reg51.h"
typedef unsigned char u8;
typedef unsigned int u16;sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;u8 code smgduan[]={0x3f,0x05,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39 , 0x5e , 0x79 , 0x71};
void main()
{   //选择最后一个数码管显示  LSA=0;LSB=0;LSC=0;P0=smgduan[0]; //  输入字码,使其显示为0while(1);  //通过循环实现按键控制LED
}

动态数码管

1.数码管动态显示原理

动态显示的特点是将所有数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的

2.芯片的使用

74HC245芯片

是一种三态输出、八路信号收发器,主要应用于大屏显示,以及其他的消费类电子产品中增加驱动

采用CMOS工艺

宽电压工作范围:3.0V-5.0V

双向三态输出

八线双向收发器

封装形式:SOP20、SOP20-2、TSSOP20、DIP20

适用于显示屏及其他数字电路的驱动

74HC138芯片

是一种三通道输入,八通道输出的译码器,主要用于消费类电子产品

采用CMOS工艺

低功耗

工作电压:3.0V-5.0V

封装形式:SOP16

适用于数字电路中的3-8译码功能

3.编写动态数码管程序

//实现数码管的动态显示
#include"reg51.h"
typedef unsigned char u8;
typedef unsigned int u16;sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;u8 code smgduan[]={0x3f,0x05,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39 , 0x5e , 0x79 , 0x71};void delay(u16 i)
{while(i--);
}void DigDisplay()
{u8 i;for(i=0;i<8;i++){switch(i){case 0:   //点亮第一个LSA=0;LSB=0;LSC=0;break;case 1:   //点亮第二个LSA=1;LSB=0;LSC=0;break;case 2:LSA=0;LSB=1;LSC=0;break;case 3:LSA=1;LSB=1;LSC=0;break;case 4:LSA=0;LSB=0;LSC=1;break;case 5:LSA=1;LSB=0;LSC=1;break;case 6:LSA=0;LSB=1;LSC=1;break;case 7:LSA=1;LSB=1;LSC=1;break;}P0=    smgduan[i];//点亮后显示相应的字码delay(100);//短暂延迟,实现动态效果P0=0x00;  //对P0口清零,防止重影}
}void main()
{   P0=~smgduan[0]; //  输入字码,使其显示为0while(1)  //通过循环实现按键控制LED{DigDisplay();}
}

C语言课设项目-51单片机-数码管相关推荐

  1. C语言课设项目-51单片机-定时器和计数器

    (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 一.定时器的原理 1.CPU时序的有关知识 2.在学习定时器之前需要明白的 3.定时/计数器的工作原理 ...

  2. 单片机课设基于51单片机的波形发生器(公开资源)(四种波形)(同时输出两种波形)

    单片机课设-波形发生器 前言 一.课设任务是什么? 二.如何解决这几个任务? 三.仿真原理图 四.代码 4.1 LCD1602代码 4.2 波形输出以及8*8点阵显示代码 4.3 波形选择 五.仿真源 ...

  3. 【优秀课设】51单片机LCD1602显示的温度控制系统设计 包括时间显示 校时、设置最值温度报警功能

    1.将DS18B20温度传感器的温度读出来,并在LCD1602上显示出来. 2.在LCD上分别切换显示,软件设计时钟(时.分.秒),和当前温度值,和温度上下控制值.并可以通过按键进行修改设置,温度高于 ...

  4. 51单片机数码管显示60秒倒计时(C语言)

    51单片机数码管显示60秒倒计时(C语言) 基于普中51单片机开发板,运用定时器/计数器0和1,实现60秒的倒计时和LED灯0.5s间隔闪烁 文章目录 51单片机数码管显示60秒倒计时(C语言) 前言 ...

  5. 单片机c语言数码管显示5,51单片机数码管显示实验报告(5页)-原创力文档

    51单片机数码管显示实验 实验内容: 编写程序让8只数码管初始显示0,每隔大约1s加1显示(可以用延时函数实现),到数码管显示9后,再从0开始显示,如此循环反复. C语言程序 #include #de ...

  6. 51单片机数码管交通灯倒计时c语言,51单片机数码管倒计时模拟交通灯汇编程序...

    /********************************************************************** 51单片机数码管倒计时模拟交通灯汇编程序 LED数码管为 ...

  7. c语言学生成绩查询课设报告,C语言课设报告(学生考试成绩查询程序)【荐】.doc...

    C语言课设报告(学生考试成绩查询程序)[荐].doc 学生考试成绩查询程序 学号:******** 姓名:***** 完成日期:****年月 通过键盘输入学生的考试信息,包括:学号.姓名.课程名称.学 ...

  8. Java毕业课设项目名称

    Java毕业课设项目名称 毕业设计题目 1 网上校友录设计 2 辅导员之家网站设计与开发 3 B/S结构下的OA流程可视化的研究与实现 4 B2C的电子商务系统(J2EE) 5 C/S架构的在线开始系 ...

  9. c语言建筑工地管理系统,C语言课设之建筑工地信息管理系统.doc

    C语言课设之建筑工地信息管理系统 C 语 言 课 程 实 习 报 告 建筑工地信息管理系统 题目要求 <建筑工地信息管理系统>要求要建立与建筑相关的四个文件信息:1)项目2)工地 3)配件 ...

最新文章

  1. 使用此代码可以解决python包导入路径问题?
  2. 无法捕获的ChuckNorrisException
  3. RocketMq消息队列使用
  4. 函数式编程 - 组合compose
  5. oracle 报错3113,内存不足导致安装时报错ORA-3113(一)
  6. linux traceroute命令详解_详解Linux系统路由跟踪指令traceroute语法、工作原理和实例说明...
  7. 就等android了
  8. 进程栈大小 与 线程栈大小-转
  9. maven3实战之设置HTTP代理
  10. 时间进度表html,网页的设计进度表.doc
  11. 红外图像高低温校正【待补充】
  12. 保存网页内容为PDF,支持文本复制,链接跳转
  13. 权健和束昱辉传销为啥这么多?
  14. 泰勒公式(泰勒展开式,泰勒中值定理)使用基本技巧
  15. Tomcat7源码环境搭建
  16. php形状特征提取方法,LowB沙箱-PHP动态特征提取
  17. C++if嵌套语句判断闰年
  18. puzzle(0921)HueBots
  19. [战略]对空间_日志风格_日志分类_日志标记_的整体说明
  20. 出租车数据的地图展示

热门文章

  1. python 号码归属地查询
  2. 将.pkl文件转化为.csv
  3. matlab显示格式,Matlab基础学习-----数据显示格式(设置)
  4. 什么是商业模式,创业者为什么要学习商业模式?
  5. delmia机器人工具_DELMIA机器人仿真教程.ppt
  6. 托福培训大连百家外语托福托福各个科目的词汇量有什么要求
  7. 博弈论-斐波那契博弈
  8. matlab 编程计算θ0的变化对三相短路电流的影响(电力系统暂态分析)
  9. 【板栗糖GIS】如何在CASS软件中输出PDF
  10. 【调剂】985四川大学视觉合成图形图像技术国防重点学科实验室关于接收2020年调剂生参加研究生入学复试的通知...