c语言数码管,数码管原理
1.分类
数码管分 共阳数码管 和 共阴数码管。
数码管其实就是8个段的发光二极管,只点亮其中的几个段即可显示出数字或字母用来表达信息。
共阳数码管:把8段LED的正极并在一起作为公共端连接在5V上(共阳极),然后8个LED通过单片机的8个IO端口输出高低电平使其决定点亮哪几个段。原理跟第二章的8盏LED硬件连接一样。
共阴数码管的介绍参考《手把手教你学51单片机》文档5.3.1节即可,因为我们的开发板用的是共阳数码管,所以共阴数码管在这里就不讲解了。
2.硬件连接
我们先拿一个数码管进行简单讲解
上图是开发板上6个数码管中最右端那个的硬件连接简化图,我们叫它数码管0以好区分。引脚1和6(也就是A A)做为所有内部LED的公共端,此时IO0输出低电平三极管导通,那么这个公共端就接上了5V,而通过P0的8个IO端口中哪几个IO端口输出0数码管中的哪几个段就被点亮。
3.代码分析
我们把第二章第4讲的代码复制过来,修改三八译码器的逻辑选择,使IO0输出为0,也就是P1.2输出0,P1.1输出0,P1.0输出0。但这样之前讲的8盏小灯就不能被点亮了,因为三八译码器一次只能使其中的IOx输出低电平,其他7个IO都输出高电平了。
如果我们要让数码管显示数字0,那么看到上图所示,只需a,b,c,d,e,f段的LED点亮,剩下g段和dp段不点亮即可。
对应的二进制值为 11000000,十六进制就为0xC0。把0xC0赋值给P0即可点亮最右端的数码管0显示数字0。#include
sbit ADDR2 = P1^2;
sbit ADDR1 = P1^1;
sbit ADDR0 = P1^0;
sbit ENLED = P1^4;
sbit ADDR3 = P1^3;
void main()
{
ADDR3 = 1;//使能三八译码器
ENLED = 0;//
ADDR2 = 0;//*****************************************************************************
ADDR1 = 0;//让三八译码器的IO0输出低电平。此时的小灯是不可能被点亮了,因为IO6输出高电平了
ADDR0 = 0;//*****************************************************************************
P0=0xC0; //使最右端的数码管0显示数字0
while (1);
}
c语言数码管,数码管原理相关推荐
- tm1650中文资料_[STM8入门资料]第53讲 TM1650 LED数码管驱动芯片工作原理
刘洋[剑齿虎]STM8开发板学习笔记 第53讲TM1650 LED数码管驱动芯片工作原理 目 录 53.1 特性描述 TM1650是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路.内部 ...
- 嵌入式硬件入门——LED数码管(工作原理+静态驱动)
LED数码管是一种半导体发光器件,其基本单元是发光二极管(LED) 文章目录 数码管介绍 1.数码管的分类 2.数码管内部构造及原理 数码管硬件知识 1.数码管电压与电流 2.数码管典型电路 数码管的 ...
- atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97
atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97 1. 实现html5化界面的要解决的策略1 1.1. Js交互1 1.2. 动态参 ...
- java swing调用H5_atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97...
atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97 1.实现html5化界面的要解决的策略 1.1.Js交互 Firefox与Chro ...
- C语言学习笔记---001C语言的介绍,编译过程原理,工具等
C语言学习笔记---001C语言的介绍,编译过程原理,工具等 创梦技术交流平台:资源下载,技术交流,网络赚钱: 交流qq群:1群:248318056 2群:251572072 技术交流平台:cre.i ...
- c语言单片机驱动数码管程序,51单片机IO口直接驱动LED数码管方法
1.实验任务 如图13所示,利用AT89S51单片机的P0端口的P0.0-P0.7连接到一个共阴数码管的a-h的笔段上,数码管的公共端接地.在数码管上循环显示0-9数字,时间间隔0.2秒. 2.电路原 ...
- c语言共阴极数码管数字6,共阴数码管 显示数字 C语言程序
共阴数码管显示数字C语言程序#include void Delay(unsigned char a) { unsigned char i; while( --a != 0) { for(i = 0; ...
- c语言 不用锁存器 数码管倒计时,倒计时器课程设计.doc
倒计时器课程设计精选 河南机电高等专科学校 课程设计报告书 课程名称: 单片机原理及系统设计 课题名称: 倒计时器课程设计 专 业: 计算机控制技术 班 级: 学 号: 姓 名: 成 绩: 2013 ...
- 两位数码管秒表c语言,两位数码管显示计时器.doc
两位数码管显示计时器 一.题目 用定时0的方式1实现数码管两位59S循环计时(计时器) 二.思路方案 本实验利用单片机的定时器/计数器定时和计数的原理,通过proteus 仿真软件来实现模拟实现.模拟 ...
最新文章
- 1小时学会:最简单的iOS直播推流(十)librtmp使用介绍
- 2021-03-01 Matlab 多项式的根求解
- 安装 | Anaconda3下载链接
- 学习《送东阳马生序》
- Android Annotation注解详解
- wxWidgets:stream流类概述
- 第二阶段团队项目冲刺第三天
- WebIDE discovery when destination is selected from dropdown list
- 【遥感物候】C#遥感数据GIMMS 3G NDVI头文件批量生成器(几何校正)
- springboot项目 tomcat8.x 频繁宕机 原因分析
- php 内容编码错误,PHP输出缓冲,ob_gzhandler引起的内容编码错误?
- Spring的入门学习笔记 (注解)
- spring-aop 的注释用法
- javaweb简单的登录增删改查系统_国产化之路统信UOS /Nginx /Asp.Net Core+ EF Core 3.1/达梦DM8实现简单增删改查操作...
- android UI进阶之布局的优化
- 执行stap测试例报错:“insmod: can‘t insert ‘xx.ko‘: invalid module format”
- openwrt的源码下载及其编译 (一)
- JSP常用内置对象方法
- 小甲鱼PE详解之资源(PE详解11)
- 学习总结——按下按键灯亮,再次按下按键,灯灭