电路连接
由于数码管品种多样,还有共阴共阳的,下面我们使用一个数码管段码生成器(在文章结尾) 去解决不同数码管的问题:
本例作者利用手头现有的一位不知品牌的共阳数码管:型号D5611 A/B,在Eagle 找了一个 类似的型号SA56-11,引脚功能一样可以直接代换。所以下面电路图使用SA56-11 做引脚说明。
注意:
1. 将数码管的a~g 段,分别接到Arduino 的D0~D6 上面。如果你手上的数码管未知的话,可以通过通电测量它哪个引脚对应哪个字段,然后找出a~g 即可。
2. 分清共阴还是共阳。共阴的话,接220Ω电阻到电源负极;共阳的话,接220Ω电阻到电源+5v。
3. 220Ω电阻视数码管实际工作亮度与手头现有原件而定,不一定需要准确。
4. 按下按钮即停。
源代码
由于我是按照段码生成器默认接法接的,所以不用修改段码生成器了,直接在段码生成器选择共阳极,再按“自动”生成数组就搞定。
下面是源代码,由于偷懒不用写循环,使用了部分AVR 语句。
PORTD 这个是AVR 的端口输出控制语句,8 位对应D7~D0,PORTD=00001001 就是D3 和D0 是高电平。
PORTD = a;就是找出相应的段码输出到D7~D0。
DDRD 这个是AVR 语句中控制引脚作为输出/输入的语句。DDRD = 0xFF;就是D0~D7 全部
作为输出脚了。
ARDUINO CODECOPY
/*
Arduino 单数码管骰子
Ansifa 2011-12-28
*/
//定义段码表,表中十个元素由LED 段码生成器生成,选择了共阳极。
inta[10] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
voidsetup()
{
DDRD = 0xFF; //AVR 定义PortD 的低七位全部用作输出使用。即0xFF=B11111111对
应D7~D0
pinMode(12, INPUT); //D12用来做骰子暂停的开关
}
voidloop()
{
for(int i = 0; i < 10; i++)
{
//将段码输出PortD 的低7位,即Arduino 的引脚D0~D6,这样需要取出PORTD 最高位,即
D7的状态,与段码相加,之后再输出。
PORTD = a[i];
delay(50); //延时50ms
while(digitalRead(12)) {} //如果D12引脚高电平,则在此死循环,暂停LED 跑
动
}
}
资源简介:电路连接 由于数码管品种多样,还有共阴共阳的,下面我们使用一个数码管段码生成器(在文章结尾) 去解决不同数码管的问题: 本例作者利用手头现有的一位不知品牌的共阳数码管:型号D5611 A/B,在Eagle 找了一个 类似的型号SA56-11,引脚功能一样可以直接代...
上传时间: 2013-10-15
上传用户:baitouyu
资源简介:功能:数码管动态显示实验 为了有更多实用的实验程序供大家学习,部分程序参考网上的资源, 在此谢谢这些无私奉献的朋友
上传时间: 2016-12-18
上传用户:chenjjer
资源简介:数码管和键盘电路在单片机上的应用,C语言源码,Keil uVision3工程文件,附原理图及说明学习文档 数码管和键盘电路都可以直接利用单片机的管脚进行控制,但因为单片机的管脚通常很有限,在设计开发一个稍微大一点的电子产品的时候,你会痛苦的发现需要极其小心...
上传时间: 2013-11-30
上传用户:busterman
资源简介:avrmega128显示程序。对于新学习版的数码管调试有用处。
上传时间: 2014-01-15
上传用户:xwd2010
资源简介:Arduino学习笔记。一步一步教你学习Arduino。从不懂变为编程专家
上传时间: 2017-12-27
上传用户:中国男孩
资源简介:Arduino学习笔记V8时钟连接模块,基础知识学习
上传时间: 2018-01-01
上传用户:molei01
资源简介:ME300\ME300B实验例程的数码管显示电子钟实验.有年月日和时分秒的显示.对于51的初学者有很大帮助
上传时间: 2014-01-13
上传用户:lmeeworm
资源简介:8位数码管驱动显示实验,适用于初学单片机的朋友,了解单片机驱动数码管的方法.同时想结识学单片机的朋友,共同进步.所用编辑环境是KEIL 2.0 在WINXP上通过.
上传时间: 2014-08-17
上传用户:无聊来刷下
资源简介:此程序为数码管的滚动实验程序,单片机采用的是STC89c51,源程序为C。。
上传时间: 2014-01-27
上传用户:xlcky
资源简介:六位数码管知识学习
上传时间: 2014-12-26
上传用户:Breathe0125
资源简介:我自己编的一个一位数码管减计数的学习程序,在pic16f73已经验证了。
上传时间: 2015-04-06
上传用户:851197153
资源简介:使用FPGA控制数码管,在数码管上动态的显示数字,很使用,可以直接作为其他模块的子模块,直接调用
上传时间: 2014-01-25
上传用户:13160677563
资源简介:一个数码管的驱动IP for SOPC BUILDER. 是学习SOPC的一个参考范例.
上传时间: 2014-01-26
上传用户:wqxstar
资源简介:本软件是一款方便51单片机初学者学习使用的工具集合. 它包括:进制转换,数码管字型码生成,并能在不要外部字库文件的情况下生成C51,ASM字模数据的功能
上传时间: 2014-01-16
上传用户:LouieWu
资源简介:学习c语言对单片机的编程:数码管驱动;键盘驱动;低频频率计;电子表;串行口应用
上传时间: 2013-12-24
上传用户:ruixue198909
资源简介:TEC6122芯片数码管动态扫描模块,C51编写,已经用在产品中了,对学习LED动他扫描很有帮助的
上传时间: 2013-12-23
上传用户:小宝爱考拉
资源简介:此实验实现简易的数字钟,通过数码管显示出来学习数码管的动态扫描原理及方法
上传时间: 2015-10-22
上传用户:love_stanford
资源简介:新型数码管驱动芯片BC7281应用笔记,有原理图,和驱动程序。性价比良好!
上传时间: 2014-01-04
上传用户:417313137
资源简介:我认为很经典的供初学者学习的数码管显示程序
上传时间: 2015-12-13
上传用户:王小奇
资源简介:用M48做的万年历 对于AVR的学习是一个不错的素材 既可以实现定时控制还有数码管的控制等功能
上传时间: 2013-12-29
上传用户:epson850
资源简介:这是马潮老师最新力做<<AVR单片机潜入式系统原理与应用实践>>中有关数码管显示时间的C程序,用CVAVR编译,对想熟悉和学习AVR单片机的朋友一定有用.注释详细,一看就懂.
上传时间: 2013-12-20
上传用户:shinesyh
资源简介:这是马潮老师最新力做<<AVR单片机潜入式系统原理与应用实践>>中有关数码管显示时间的C程序,用CVAVR编译,对想熟悉和学习AVR单片机的朋友一定有用.注释详细,一看就懂.
上传时间: 2013-12-23
上传用户:来茴
资源简介:LED 数码管学习程序,对于初学单片机或电子技术的朋友有帮助
上传时间: 2016-04-01
上传用户:wlcaption
资源简介:ATmega的闹钟源码.适合初学者学习AVR的时钟,计数器,中断模块,及数码管控制.
上传时间: 2016-04-24
上传用户:ecooo
资源简介:7219显示驱动7段数码管程序,希望给与大家方便 学习之用
上传时间: 2014-01-01
上传用户:ccclll
资源简介:一位数码管计数器--74HC164编程学习 用74HC164驱动LED 此程序可以联系对74HC164的应用
上传时间: 2016-07-06
上传用户:liansi
资源简介:一个介绍七段数码管的驱动程序。初学者可以当作学习之用。
上传时间: 2014-01-11
上传用户:z754970244
资源简介:这是一个用keil C做的动态扫描7段LED数码管程序,是用proteus做的仿真.适合初学者学习使用.
上传时间: 2016-10-25
上传用户:chenjjer
资源简介:51单片机全套学习资料 提供电路原理图 各种C语言实验程序 包括LED流水灯,数码管显示,中断,定时器,串口通信,DS18B20温度显示,液晶1602,12864显示,看门狗,按键检测,音乐播放等程序.
上传时间: 2013-12-11
上传用户:maizezhen
资源简介:基于AVR的数码管显示程序。是学习单片机入门级程序。 本程序出自高手之手,通俗易懂。
上传时间: 2017-03-20
上传用户:hgy9473