获取更多资源,请关注微信公众号:嵌入式基地

获取项目资源:公众号后台回复:单片机仿真

基于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学习单片机系列(二)——驱动数码管相关推荐

  1. 基于Proteus学习单片机系列(七)——实时时钟DS1302

    获取更多资源,请关注微信公众号:嵌入式基地 获取项目资源:公众号后台回复:单片机仿真 基于Proteus学习单片机系列(一)--点亮LED 基于Proteus学习单片机系列(二)--驱动数码管 基于P ...

  2. 基于Proteus学习单片机系列(六)——I2C总线AT24C04

    获取更多资源,请关注微信公众号:嵌入式基地 获取项目资源:公众号后台回复:单片机仿真 基于Proteus学习单片机系列(一)--点亮LED 基于Proteus学习单片机系列(二)--驱动数码管 基于P ...

  3. 基于Proteus学习单片机系列(七)——AD转换及其应用--ADC0832

    获取更多资源,请关注微信公众号:嵌入式基地 获取项目资源:公众号后台回复:单片机仿真 项目下载 点击下载 1.电路图 2.程序 只在这里贴出主函数,其余的请点击上面(点击下载)进行下载,实在太麻烦. ...

  4. 74hc164驱动数码管c语言程序,基于51单片机的74HC164驱动数码管显示程序与仿真

    基于51单片机的74HC164驱动数码管显示程序与仿真 基于51单片机的74HC164驱动一位数码管显示程序与仿真 #include #include #define uchar unsigned c ...

  5. proteus如何添加stm32_【Proteus】单片机H桥驱动24V直流有刷电机

    前言 一般有关直流有刷电机的仿真都是直接高低电平驱动,或者ULN2003,这种电路是只能驱动小电压小功率的电机的,如果碰到电压稍高一些,电流大一些的电机,2003驱动是驱动不起来的,这时候对于大电流的 ...

  6. 基于深度学习的推荐(二):基于FM初始化的FNN

    公众号 关注公众号:推荐算法工程师,输入"进群",加入交流群,和小伙伴们一起讨论机器学习,深度学习,推荐算法. 前言 论文地址:https://arxiv.org/pdf/1601 ...

  7. 从0开始学习GitHup系列 (二)

    加入 GitHub 看完上篇文章,估计不少人已经开始期待我继续更新了,这不赶紧马不停蹄,加班加点给你 们更新了第二篇.在更新本篇文章之前先回答昨天大家留言的两个问题: GitHub 需要翻墙么? 印象 ...

  8. 基于深度学习的简单二分类(招聘信息的真假)

    招聘数据真假分类 此次机器学习课程大作业-招聘数据真假分类,是一个二分类问题.训练集中共有14304个样本,每个样本有18个特征,目标是判断不含有标签的招聘信息的真假性. 利用Pandas读取训练集和 ...

  9. 基于 Proteus 的单片机仿真

    最近又要用proteus进行仿真51单片机-- 1.元器件的放置: 里面都是些英文,找起来头大,下面的一些表都是常见的单片机仿真使用的原件,很方便的就能找到了. 2.电源和地的放置 反正我在元件库中找 ...

最新文章

  1. JavaScript window.document的属性、方法和事件小结
  2. 东鹏马桶上水下水之谜
  3. php5.0 aes加解密,PHP的aes加解密算法
  4. 通过运行示例从WSO2 ESB开始
  5. php删除文见,php如何删除文件夹
  6. python读取txt中的一列称为_python读取中文txt文本的方法
  7. Ubuntu:高效工作环境搭建
  8. 此电脑怎么放在桌面上_电脑内部与麦克风的声音怎么同时录制?详细教程在此...
  9. 为什么在Excel文档单元格中输入长段数字就变为公式?干货来啦!如何解决在excel单元格中输入数字变为公式的问题?
  10. Xiph基金会成员:Timothy B. Terriberry
  11. rocketdock_如何为USB闪存驱动器创建RocketDock便携式版本
  12. View inflate 原理
  13. android定制离线地图,在Android上创建离线地图
  14. 色阶、灰度色彩模式、灰度等级
  15. PAP认证与CHAP认证的区别
  16. 详解服务器CPU和GPU技术区别和联系
  17. 陪你一起去看 iSO27001 Foundation 学习手册 【初生】
  18. 一个依赖搞定Spring Boot 配置文件脱敏
  19. Matlab中legend的位置
  20. 等价输入干扰补偿的思想

热门文章

  1. 互联网商业模式:小s和大S
  2. OpenCV计算机图像处理 —— 凸性缺陷 + 点多边形测试 + 形状匹配 + 轮廓分层与cv.findContours()
  3. “茶界茅台”竹叶青的数字化营销玩法 | 案例
  4. Docker安装(Alibaba Cloud Linux 3)
  5. asp.net 生命周期
  6. 示波器界面的中英文切换
  7. 2022年1111/双11淘宝/天猫/京东任务自动助手,分享源码学习
  8. Ubuntu18.04切换镜像源时出错
  9. js实现在微信中下载app
  10. python登录微信pc版_腾讯TIM iOS版2.5.6重大更新:新增支持微信帐号登录、语音进度条...