基于Proteus学习单片机系列(二)——驱动数码管
获取更多资源,请关注微信公众号:嵌入式基地
获取项目资源:公众号后台回复:单片机仿真
基于Proteus学习单片机系列(一)——点亮LED
基于Proteus学习单片机系列(二)——驱动数码管
基于Proteus学习单片机系列(三)——按键
基于Proteus学习单片机系列(四)——中断
基于Proteus学习单片机系列(五)——定时器实现电子表
基于Proteus学习单片机系列(六)——I2C总线AT24C04
基于Proteus学习单片机系列(七)——实时时钟DS1302
基于Proteus学习单片机系列(八)——AD转换及其应用--TLC549
基于Proteus学习单片机系列(九)——DA转换及其应用--TLC5615
基于Proteus学习单片机系列(十)——LCD1602
基于Proteus学习单片机系列(十一)——LCD12864
本文程序以及仿真下载
例程下载
1. 数码管显示原理
1.1 数码管结构原理
单片机系统常用的数码管有共阳和共阴两种。两种类型的数码管外形和结构类似,只是数码管内部组成数码段和标点的LED接法不同,两种极性的数码管内部电路结构见图3-3-1所示,其中(a)为数码管引脚排列。共阳型数码管的内部所有LED的正极接在一起为公共极引脚 COM,称为位选端,负极分别引出,依次命名为a、b、c、d、e、f、g、dot,称为段选端。
共阳型数码管使用时,其公共极接电源负极或加低电平电平,段选端分别接驱动电路,段选端加低电平时,对应的段发光二极管才亮。
共阴型数码管与共阳型数码管解法刚好相反,由于内部所有LED的负极接在一起,所以数码管显示时需要在数码管的公共端接电源正极或加高电平,段选高电平有效。
(a)
(b)
(c)
1.2 数码管的字型码
数码管可以显示0到9共十个数字,如果加上小数点的显示,驱动一个数码管显示的段选信号共需要8位数据。驱动数码管显示数字所需的8位段选数据编码见图1-2-1和1-2-2所示,其中图1-2-1为共阳型数码管数字编码,图1-2-2为共阴型编码。图中dot为高位,a为低位。在单片机系统中,一组I/O的输出(如P0)刚好可以作为数码管的段选信号。
(1-2-1)
(1-2-2)
1.3 数码管驱动原理
小尺寸数码管的每一段都是由1个LED组成,段驱动电流一般较小,如SM11050K型0.56英寸的数码管寸每段电流在5毫安左右即可点亮,其驱动与LED一样可以直接由单片机的I/O口驱动。利用P0口直接驱动共阳型数码管电路见图3-3-2所示,其中数码管的共阳极(位选端)接电源正极,段选端a~dot依次接P0.0~P0.7,R0~7是限流电阻,一般取几百欧姆。只要段选端出现有低电平,数码管对应的段就会亮,通过组合就可以形成一定的数字。例如,让数码管显示1,即让数码管b、c段亮,程序控制让P0输出0xbe十六进制编码即可,因此共阳数码管显示0~9十进制数字,需要把显示0~9的10个数字编码放在一个数组中,如seven_seg[10] = {0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80, 0x90}。
(单只数码管驱动)
2. Protuess 设计电路
3.程序设计
#include<reg51.h>
unsigned char code seven_seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳数码管 0 - 9
unsigned char i = 0;
void delay(unsigned int x)//延时函数
{while(x--);
}
void main()
{while(1){P0 = seven_seg[i];//显示数字delay(50000);//延时i++;if(i>9)i = 0;}
}
基于Proteus学习单片机系列(二)——驱动数码管相关推荐
- 基于Proteus学习单片机系列(七)——实时时钟DS1302
获取更多资源,请关注微信公众号:嵌入式基地 获取项目资源:公众号后台回复:单片机仿真 基于Proteus学习单片机系列(一)--点亮LED 基于Proteus学习单片机系列(二)--驱动数码管 基于P ...
- 基于Proteus学习单片机系列(六)——I2C总线AT24C04
获取更多资源,请关注微信公众号:嵌入式基地 获取项目资源:公众号后台回复:单片机仿真 基于Proteus学习单片机系列(一)--点亮LED 基于Proteus学习单片机系列(二)--驱动数码管 基于P ...
- 基于Proteus学习单片机系列(七)——AD转换及其应用--ADC0832
获取更多资源,请关注微信公众号:嵌入式基地 获取项目资源:公众号后台回复:单片机仿真 项目下载 点击下载 1.电路图 2.程序 只在这里贴出主函数,其余的请点击上面(点击下载)进行下载,实在太麻烦. ...
- 74hc164驱动数码管c语言程序,基于51单片机的74HC164驱动数码管显示程序与仿真
基于51单片机的74HC164驱动数码管显示程序与仿真 基于51单片机的74HC164驱动一位数码管显示程序与仿真 #include #include #define uchar unsigned c ...
- proteus如何添加stm32_【Proteus】单片机H桥驱动24V直流有刷电机
前言 一般有关直流有刷电机的仿真都是直接高低电平驱动,或者ULN2003,这种电路是只能驱动小电压小功率的电机的,如果碰到电压稍高一些,电流大一些的电机,2003驱动是驱动不起来的,这时候对于大电流的 ...
- 基于深度学习的推荐(二):基于FM初始化的FNN
公众号 关注公众号:推荐算法工程师,输入"进群",加入交流群,和小伙伴们一起讨论机器学习,深度学习,推荐算法. 前言 论文地址:https://arxiv.org/pdf/1601 ...
- 从0开始学习GitHup系列 (二)
加入 GitHub 看完上篇文章,估计不少人已经开始期待我继续更新了,这不赶紧马不停蹄,加班加点给你 们更新了第二篇.在更新本篇文章之前先回答昨天大家留言的两个问题: GitHub 需要翻墙么? 印象 ...
- 基于深度学习的简单二分类(招聘信息的真假)
招聘数据真假分类 此次机器学习课程大作业-招聘数据真假分类,是一个二分类问题.训练集中共有14304个样本,每个样本有18个特征,目标是判断不含有标签的招聘信息的真假性. 利用Pandas读取训练集和 ...
- 基于 Proteus 的单片机仿真
最近又要用proteus进行仿真51单片机-- 1.元器件的放置: 里面都是些英文,找起来头大,下面的一些表都是常见的单片机仿真使用的原件,很方便的就能找到了. 2.电源和地的放置 反正我在元件库中找 ...
最新文章
- JavaScript window.document的属性、方法和事件小结
- 东鹏马桶上水下水之谜
- php5.0 aes加解密,PHP的aes加解密算法
- 通过运行示例从WSO2 ESB开始
- php删除文见,php如何删除文件夹
- python读取txt中的一列称为_python读取中文txt文本的方法
- Ubuntu:高效工作环境搭建
- 此电脑怎么放在桌面上_电脑内部与麦克风的声音怎么同时录制?详细教程在此...
- 为什么在Excel文档单元格中输入长段数字就变为公式?干货来啦!如何解决在excel单元格中输入数字变为公式的问题?
- Xiph基金会成员:Timothy B. Terriberry
- rocketdock_如何为USB闪存驱动器创建RocketDock便携式版本
- View inflate 原理
- android定制离线地图,在Android上创建离线地图
- 色阶、灰度色彩模式、灰度等级
- PAP认证与CHAP认证的区别
- 详解服务器CPU和GPU技术区别和联系
- 陪你一起去看 iSO27001 Foundation 学习手册 【初生】
- 一个依赖搞定Spring Boot 配置文件脱敏
- Matlab中legend的位置
- 等价输入干扰补偿的思想
热门文章
- 互联网商业模式:小s和大S
- OpenCV计算机图像处理 —— 凸性缺陷 + 点多边形测试 + 形状匹配 + 轮廓分层与cv.findContours()
- “茶界茅台”竹叶青的数字化营销玩法 | 案例
- Docker安装(Alibaba Cloud Linux 3)
- asp.net 生命周期
- 示波器界面的中英文切换
- 2022年1111/双11淘宝/天猫/京东任务自动助手,分享源码学习
- Ubuntu18.04切换镜像源时出错
- js实现在微信中下载app
- python登录微信pc版_腾讯TIM iOS版2.5.6重大更新:新增支持微信帐号登录、语音进度条...