4位数码管protues模拟
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模拟相关推荐
- c语言数码管数字时钟程序,数码管显示模拟8位时钟C语言程序设计
原标题:数码管显示模拟8位时钟C语言程序设计 //数码时钟设计 #include // 包含寄存器定义的头文件 unsigned char Tab[ ]={0xc0,0xf9,0xa4,0xb0,0x ...
- protues用一片74hc595控制两位数码管
前面的博文中我们介绍了一个arduino中用一片595来控制一位数码管,这里我们介绍一个595来控制两位数码管.两位数码管是应用最广泛的,如交通灯倒计时,计数器等都将用到两位数码管. 两位数码管的动态 ...
- 51单片机数码管交通灯倒计时c语言,51单片机数码管倒计时模拟交通灯汇编程序...
/********************************************************************** 51单片机数码管倒计时模拟交通灯汇编程序 LED数码管为 ...
- 基于51单片机实现4位数码管动态显示
单片机入门学习记录(一) 硬件配置: 主控:STC89C52单片机 显示器件:四位一体数码管 操作器件:点动式独立按键SB1.SB2.SB3.SB4 *选配器件:蜂鸣器 功能要求: 1)开机自检:四位 ...
- 4位数码管显示模块TM1637芯片C语言驱动程序
一.概述 TM1637 是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部集成有MCU 数 字接口.数据锁存器.LED 高压驱动.键盘扫描等电路.芯片手册已上传到资源,需要的可以下 ...
- Arduino基础之十一 74HC595的使用------控制1位数码管
一 硬件 74HC595是一种8位串行输入,并行输出的寄存器芯片,一共有16个引脚,如下图. 首先需要理解串行和并行的概念,这个比较容易,串行输入就是一个一个数地输入,并行输出就是8位一道输出,见下图 ...
- 两位数码管秒表c语言,两位数码管显示计时器.doc
两位数码管显示计时器 一.题目 用定时0的方式1实现数码管两位59S循环计时(计时器) 二.思路方案 本实验利用单片机的定时器/计数器定时和计数的原理,通过proteus 仿真软件来实现模拟实现.模拟 ...
- proteus仿真arduino控制两位数码管
前面我们用arduino控制一位数码管,知道了控制数码管的原理.这里我们增加了一位,其显示的原理基本一样.只不过本质上不是两位同时点亮,而是轮换点亮.下面是原理图: 我们来看看代码的实现: int P ...
- c语言595驱动数码管,使用74hc595驱动一位数码管
本帖最后由 darknight 于 2018-7-20 22:42 编辑 74hc595是一种常用的I/O拓展芯片,今天我尝试用一个74hc595来驱动一个一位七段数码管,效果还行 功能:数码管循环显 ...
最新文章
- fusioncharts相关问题
- 网络通信-1(InetAddress、UDP、TCP、DatagramPacket、DatagramSocket、UDP通信示例)
- python列表索引超出范围 等于啥_python中的“列表索引超出范围”
- 猫和老鼠java下载安装_tomcat(Java服务器)
- perl CGI::Session
- c语言中整型数组如何初始化,C语言数组空间的初始化详解
- 转:硬盘结构简介的好文(转)---MBR、分区表、CHS等概念
- Oracle 11g r2 下载地址
- 无法保存关闭文件 苹果电脑 显示正在保存_??Linux文件编辑 - 给你骨质唱疏松
- linux面板带csf防火墙,linux csf 防火墙 防止少量的ddos cc攻击很有效
- PCL入门系列 —— 加载obj格式mesh模型、点云数据并作纹理模型TextureMesh可视化
- android获取设备码,获取Android设备唯一标识码
- 有没有和作业帮一样的计算机,学霸君、学习宝和作业帮哪个好【对比】
- alpha对冲(股票+期货)——Python量化
- buuctf:Ping Ping Ping(命令执行)
- Coursera Algorithm Ⅱ week4 编程作业 Boggle
- windows下hadoop的部署和使用
- JS CSS 超出字符省略号,获取字符串实际所占长度,显示文字提示tooltip
- 数据分析:基于Pandas的全球自然灾害分析与可视化
- 计算机文化与计算思维基础课后题答案,第章 计算机文化与计算思维基础.pdf
热门文章
- 如何使用css实现三角形
- VASP 6.1.0 + VTST + intel新OneAPI 安装编译
- 移动办公平台企业该如何选择
- #GMIC第一天#G49号展位上发生着这样的事er...
- php7 iconv函数,分析php中iconv函数使用方法
- Ubuntu18.04下安装(1080Ti)NVIDIA驱动、CUDA9.2、cuDNN7.3进行GPU加速
- php计算百分比值,请教一个计算百分比的语句
- java ftpclient quit_java ftpclient问题
- 输入docker命令不用加sudo
- 【人工智能】python图像风格迁移,来欣赏梵高风格的石原里美吧!