“第十四课--Microduino 数码管实验一-数码管骰子/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
调试
设备
第8行: 第8行:
  
 
==设备==
 
==设备==
*'''[[Microduino-Core]]'''
+
*'''[[Microduino-Core/zh]]'''
*'''[[Microduino-FT232R]]'''
+
*'''[[Microduino-USBTTL/zh]]'''
 
*其他硬件设备
 
*其他硬件设备
 
**面包板跳线  一盒   
 
**面包板跳线  一盒   

2014年10月29日 (三) 04:32的版本

Language English

目的

本教程将教大家如何在Microduino上使用数码管,用来显示数字

设备

数码管

第十四课-数码管.jpg

简介:

  led数码管(LED Segment Displays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。

  当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的2个8数码管字样了。如:显示一个“2”字,那么应当是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。LED数码管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸数码管的显示笔画常用一个发光二极管组成,而大尺寸的数码管由二个或多个发光二极管组成,一般情况下,单个发光二极管的管压降为1.8V左右,电流不超过30mA。发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,发光二极管的阴极连接到一起连接到电源负极的称为共阴数码管。常用LED数码管显示的数字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。

如何测量引脚:

LED数码管是我们经常用到的元件,但型号众多却又没有统一的命名方法,这确实给一些初学者造成了不少困惑。 其实,LED数码就是把多个LED发光二极管装在一起,并没什么高科技的。 一个LED就叫一段。

共阴和共阳:

  LED数码有共阳和共阴两种,把这些LED发光二极管的正极接到一块(一般是拼成一个8字加一个小数点)而作为一个引脚,就叫共阳的,相反的,就叫共阴的,那么应用时这个脚就分别的接VCC和GND。 再把多个这样的8字装在一起就成了多位的数码管了。很简单吧。

找共阴共阳:

  首先,我们找个电源(3到5伏)和1个1K(几百的也欧的也行)的电阻, VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的找到一个就够了,然后用GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阴的了。

  相反用VCC不动,GND逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阳的了。

原理图

共阳:

第十四课-Microduino控制数码管原理图.jpg

引脚表

Microduino引脚 数码管引脚序号 数码管引脚字符
D4 1 e
D5 2 d
5V 3 GND
D2 4 c
D7 5 dp
D1 6 b
D0 7 a
不接 8 GND
D5 9 f
D6 10 g

共阴:

引脚表

Microduino引脚 数码管引脚序号 数码管引脚字符
D11 1 e
D2 2 d
不接数码管用来接开关 3 GND
D4 4 c
D5 5 dp
D6 6 b
D7 7 a
GUN 8 GND
D9 9 f
D10 10 g


注意:

1. 将数码管的a~g段,分别接到Arduino的D0~D6上面。如果你手上的数码管未知的话,可以通过通电测量它哪个引脚对应哪个字段,然后找出a~g即可。

2. 分清共阴还是共阳。共阴的话,接220Ω电阻到电源负极;共阳的话,接220Ω电阻到电源+5v。3. 220Ω电阻视数码管实际工作亮度与手头现有原件而定,不一定需要准确。

程序

共阳: https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Advanced/MicroduinoDigitalTubeExperiments1

共阴: https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Advanced/Microduino7Segment1

调试

步骤一:复制代码到IDE中编译

在源代码中,由于偷懒不用写循环,使用了部分AVR语句。

PORTD这个是AVR的端口输出控制语句,8位对应D7~D0,PORTD=00001001就是D3和D0是高电平。

PORTD = a;就是找出相应的段码输出到D7~D0。

DDRD这个是AVR语句中控制引脚作为输出/输入的语句。DDRD = 0xFF;就是D0~D7全部作为输出脚了。

步骤二:连接电路图,下图为连接完后的照片

共阳:

第十四课-Microduino控制数码管连接图.jpg



共阴:

步骤三:运行代码

结果

数码管会一直非常快的从0到9显示,直到用手按下开关停止到一个数字上,可以当骰子用。

视频

http://v.youku.com/v_show/id_XNjc2NjcxOTYw.html