4位数码管protues模拟

实验目的及内容

这次我们进行的实验是使用arduino驱动一块共阴四位数码管。实验的目的是:第一位显示1,第二位显示2,第三位显示3,第四位显示4,每次只显示一位,显示间隔0.5秒。
我们开始准备实验用元器件:
四位数码管1
220Ω直插电阻
8
面包板1
面包板跳线
1 扎
管脚顺序:
4位数码管总共有12个引脚,从正面看小数点朝下正放在面前时,左下角为1,其他管脚顺序为逆时针旋转。左上角为最大的12号管脚。

实验所需器件

模拟接线图

源代码

#define SEG_A 2  //Arduino Pin2--->SegLed Pin11
#define SEG_B 3  //Arduino Pin3--->SegLed Pin7
#define SEG_C 4  //Arduino Pin4--->SegLed Pin4
#define SEG_D 5  //Arduino Pin5--->SegLed Pin2
#define SEG_E 6  //Arduino Pin6--->SegLed Pin1
#define SEG_F 7  //Arduino Pin7--->SegLed Pin10
#define SEG_G 8  //Arduino Pin8--->SegLed Pin5
#define SEG_H 9  //Arduino Pin9--->SegLed Pin3#define COM1 10  //Arduino Pin10--->SegLed Pin12
#define COM2 11  //Arduino Pin11--->SegLed Pin9
#define COM3 12  //Arduino Pin12--->SegLed Pin8
#define COM4 13  //Arduino Pin13--->SegLed Pin6
unsigned char table[10][8] =
{{0,    0,  0,  0,  0,  0,  1,  1}, //0{1,  0,  0,  1,  1,  1,  1,  1}, //1{0,  0,  1,  0,  0,  1,  0,  1}, //2{0,  0,  0,  0,  1,  1,  0,  1}, //3{1,  0,  0,  1,  1,  0,  0,  0}, //4{0,  1,  0,  0,  1,  0,  0,  1}, //5{0,  1,  0,  0,  0,  0,  0,  1}, //6{0,  0,  0,  1,  1,  1,  1,  1}, //7{0,  0,  0,  0,  0,  0,  0,  1}, //8{0,  0,  0,  0,  1,  0,  0,  1}  //9
};
void setup()
{pinMode(SEG_A,OUTPUT);     //设置为输出引脚pinMode(SEG_B,OUTPUT);pinMode(SEG_C,OUTPUT);pinMode(SEG_D,OUTPUT);pinMode(SEG_E,OUTPUT);pinMode(SEG_F,OUTPUT);pinMode(SEG_G,OUTPUT);pinMode(SEG_H,OUTPUT);pinMode(COM1,OUTPUT);pinMode(COM2,OUTPUT);pinMode(COM3,OUTPUT);pinMode(COM4,OUTPUT);
}
void loop()
{Display(1,1);          //第1位显示1delay(500);Display(2,2);            //第2位显示2delay(500);Display(3,3);            //第3位显示3delay(500);Display(4,4);            //第4位显示4delay(500);
}
void Display(unsigned char com,unsigned char num)
{digitalWrite(SEG_A,LOW);           //去除余晖digitalWrite(SEG_B,LOW);digitalWrite(SEG_C,LOW);digitalWrite(SEG_D,LOW);digitalWrite(SEG_E,LOW);digitalWrite(SEG_F,LOW);digitalWrite(SEG_G,LOW);digitalWrite(SEG_H,LOW);switch(com)                       //选通位选{case 1:digitalWrite(COM1,HIGH);      //选择位1digitalWrite(COM2,LOW);digitalWrite(COM3,LOW);digitalWrite(COM4,LOW);break;case 2:digitalWrite(COM1,LOW);digitalWrite(COM2,HIGH);     //选择位2digitalWrite(COM3,LOW);digitalWrite(COM4,LOW);break;case 3:digitalWrite(COM1,LOW);digitalWrite(COM2,LOW);digitalWrite(COM3,HIGH);     //选择位3digitalWrite(COM4,LOW);break;case 4:digitalWrite(COM1,LOW);       //选择位1digitalWrite(COM2,LOW);digitalWrite(COM3,LOW);digitalWrite(COM4,HIGH);            //选择位4break;default:break;}digitalWrite(SEG_A,table[num][0]);           //a查询码值表digitalWrite(SEG_B,table[num][1]);digitalWrite(SEG_C,table[num][2]);digitalWrite(SEG_D,table[num][3]);digitalWrite(SEG_E,table[num][4]);digitalWrite(SEG_F,table[num][5]);digitalWrite(SEG_G,table[num][6]);digitalWrite(SEG_H,table[num][7]);
}

实验效果




4位数码管protues模拟相关推荐

  1. c语言数码管数字时钟程序,数码管显示模拟8位时钟C语言程序设计

    原标题:数码管显示模拟8位时钟C语言程序设计 //数码时钟设计 #include // 包含寄存器定义的头文件 unsigned char Tab[ ]={0xc0,0xf9,0xa4,0xb0,0x ...

  2. protues用一片74hc595控制两位数码管

    前面的博文中我们介绍了一个arduino中用一片595来控制一位数码管,这里我们介绍一个595来控制两位数码管.两位数码管是应用最广泛的,如交通灯倒计时,计数器等都将用到两位数码管. 两位数码管的动态 ...

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

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

  4. 基于51单片机实现4位数码管动态显示

    单片机入门学习记录(一) 硬件配置: 主控:STC89C52单片机 显示器件:四位一体数码管 操作器件:点动式独立按键SB1.SB2.SB3.SB4 *选配器件:蜂鸣器 功能要求: 1)开机自检:四位 ...

  5. 4位数码管显示模块TM1637芯片C语言驱动程序

    一.概述 TM1637 是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部集成有MCU 数 字接口.数据锁存器.LED 高压驱动.键盘扫描等电路.芯片手册已上传到资源,需要的可以下 ...

  6. Arduino基础之十一 74HC595的使用------控制1位数码管

    一 硬件 74HC595是一种8位串行输入,并行输出的寄存器芯片,一共有16个引脚,如下图. 首先需要理解串行和并行的概念,这个比较容易,串行输入就是一个一个数地输入,并行输出就是8位一道输出,见下图 ...

  7. 两位数码管秒表c语言,两位数码管显示计时器.doc

    两位数码管显示计时器 一.题目 用定时0的方式1实现数码管两位59S循环计时(计时器) 二.思路方案 本实验利用单片机的定时器/计数器定时和计数的原理,通过proteus 仿真软件来实现模拟实现.模拟 ...

  8. proteus仿真arduino控制两位数码管

    前面我们用arduino控制一位数码管,知道了控制数码管的原理.这里我们增加了一位,其显示的原理基本一样.只不过本质上不是两位同时点亮,而是轮换点亮.下面是原理图: 我们来看看代码的实现: int P ...

  9. c语言595驱动数码管,使用74hc595驱动一位数码管

    本帖最后由 darknight 于 2018-7-20 22:42 编辑 74hc595是一种常用的I/O拓展芯片,今天我尝试用一个74hc595来驱动一个一位七段数码管,效果还行 功能:数码管循环显 ...

最新文章

  1. fusioncharts相关问题
  2. 网络通信-1(InetAddress、UDP、TCP、DatagramPacket、DatagramSocket、UDP通信示例)
  3. python列表索引超出范围 等于啥_python中的“列表索引超出范围”
  4. 猫和老鼠java下载安装_tomcat(Java服务器)
  5. perl CGI::Session
  6. c语言中整型数组如何初始化,C语言数组空间的初始化详解
  7. 转:硬盘结构简介的好文(转)---MBR、分区表、CHS等概念
  8. Oracle 11g r2 下载地址
  9. 无法保存关闭文件 苹果电脑 显示正在保存_??Linux文件编辑 - 给你骨质唱疏松
  10. linux面板带csf防火墙,linux csf 防火墙 防止少量的ddos cc攻击很有效
  11. PCL入门系列 —— 加载obj格式mesh模型、点云数据并作纹理模型TextureMesh可视化
  12. android获取设备码,获取Android设备唯一标识码
  13. 有没有和作业帮一样的计算机,学霸君、学习宝和作业帮哪个好【对比】
  14. alpha对冲(股票+期货)——Python量化
  15. buuctf:Ping Ping Ping(命令执行)
  16. Coursera Algorithm Ⅱ week4 编程作业 Boggle
  17. windows下hadoop的部署和使用
  18. JS CSS 超出字符省略号,获取字符串实际所占长度,显示文字提示tooltip
  19. 数据分析:基于Pandas的全球自然灾害分析与可视化
  20. 计算机文化与计算思维基础课后题答案,第章 计算机文化与计算思维基础.pdf

热门文章

  1. 如何使用css实现三角形
  2. VASP 6.1.0 + VTST + intel新OneAPI 安装编译
  3. 移动办公平台企业该如何选择
  4. #GMIC第一天#G49号展位上发生着这样的事er...
  5. php7 iconv函数,分析php中iconv函数使用方法
  6. Ubuntu18.04下安装(1080Ti)NVIDIA驱动、CUDA9.2、cuDNN7.3进行GPU加速
  7. php计算百分比值,请教一个计算百分比的语句
  8. java ftpclient quit_java ftpclient问题
  9. 输入docker命令不用加sudo
  10. 【人工智能】python图像风格迁移,来欣赏梵高风格的石原里美吧!