avr多位数码管原理及其操作
- 格式:pdf
- 大小:303.59 KB
- 文档页数:5
数码管的工作原理数码管是一种能够显示数字和一些特定符号的显示装置,它由七段LED(Light Emitting Diode)组成。
每个七段LED包含七个独立的LED,可以分别显示数字0-9和一些字母、符号等。
数码管的工作原理主要包含三个方面:输入信号的转换、显示七段LED的控制和电流限制。
首先,数码管需要通过输入信号将待显示的数据转换为根据数码管的特定编码来控制的信号。
常用的输入信号是BCD码(Binary-coded Decimal),即二进制编码的十进制数字。
对于一个四位数的数码管,需要四个输入信号,每个信号控制一个七段LED的显示。
接下来,根据输入信号的控制,数码管将相应的七段LED点亮或熄灭来显示出不同的数字或符号。
每个七段LED由多个发光二极管组成,分别称为a、b、c、d、e、f和g段。
通过控制这些段的点亮或熄灭,可以实现不同数字和符号的显示。
例如,当需要显示数字1时,a、b、c、d和g段点亮,其余段熄灭;当需要显示数字2时,b、c、e、f和g段点亮,其余段熄灭。
最后,为了保证数码管的正常工作,还需要通过电流限制来控制每个发光二极管的电流。
LED是一种电流驱动的器件,对于七段LED来说,每个段都需要有合适的电流通过才能正常发光。
通常,使用电流限流器或分压电阻来控制电流的大小,以避免过大的电流损坏LED,同时也能保证亮度的一致性。
总之,数码管通过将输入信号转换为特定编码来控制七段LED的点亮和熄灭,从而显示出不同的数字和符号。
它的工作原理涉及输入信号的转换、七段LED 的控制和电流的限制。
数码管因其低功耗、亮度高、寿命长等特点而被广泛应用于计算器、电子表、计数器等各种电子设备中。
简述数码管的驱动原理和应用一、驱动原理数码管是一种能够显示数字、字母和符号等信息的显示器件,广泛应用于计算机、电子仪器仪表、计时器和计算器等电子设备中。
数码管的驱动原理是通过控制不同的电流流经不同的LED管来显示不同的字符。
数字数码管主要由7个LED管组成,每个LED管被称为一个“段”,由a、b、c、d、e、f和g七个片段组成。
通过不同的LED管组合可以显示0-9、A-F等字符。
数码管的驱动采用共阳极和共阴极两种方式。
共阳极数码管中,电源连接到所有的阳极上,各个LED片段被接到各个阴极上。
当需要点亮某个片段时,对应的阴极接通电流,而阳极接通地。
共阴极数码管则恰好相反。
二、驱动应用1. 计时器和钟表数码管广泛应用于计时器和钟表等设备中,用于显示时间和计时功能。
计时器通常使用共阳极数码管,通过控制各个阴极来显示不同的数字。
通过组合不同的数码管,可以实现小时、分钟和秒的显示。
2. 电子仪器仪表在电子仪器仪表中,数码管常被用于显示各种测量参数,如电压、电流、温度等。
通过将数码管与传感器连接,可以将传感器获取的物理量转换为数字信号,并通过数码管进行直观显示。
3. 计算器和电子屏在计算器和电子屏幕中,数码管被广泛用于显示数字和算式。
通过控制不同组合的数码管,可以显示各种数字和算符,实现数字输入、运算和显示。
4. 游戏机和娱乐设备数码管也常被用于游戏机和娱乐设备中,用于显示分数、倒计时和游戏信息等。
通过控制数码管的显示,可以提供更加直观和有趣的游戏体验。
5. 路灯和信号灯在路灯和信号灯中,数码管通常被用于显示信号状态和倒计时功能。
通过控制数码管的显示,可以提供更加清晰和直观的信息,方便行人和车辆观察和判断。
6. 信息显示数码管在信息显示设备中也有一定的应用,如价格显示器、公告牌等。
通过使用数码管显示信息,可以提供更加直观和醒目的展示效果,吸引观众的注意力。
三、总结数码管通过控制LED管的点亮与熄灭来显示数字、字母和符号等信息。
多位数码管原理
多位数码管是一种用来显示多个数字和字符的电子显示器件。
它由若干个七段数码管组成,每个七段数码管可以显示0到9
之间的数字和一些特殊符号,如字母和符号等。
多位数码管采用共阳或共阴的方式进行驱动。
在共阳驱动中,数码管的阳极连接在高电平上,通过控制多位数码管的阳极的亮灭来显示不同的数值。
在共阴驱动中,数码管的阴极连接在低电平上,通过控制多位数码管的阴极的亮灭来显示不同的数值。
多位数码管的驱动需要使用特定的驱动芯片来实现。
芯片内部包含了一个译码器,它可以将输入的数字和字符数据转换成相应的控制信号,然后通过多路选择器将不同的控制信号发送到不同的七段数码管上,以实现多位数码管的显示。
控制多位数码管显示的数字或字符需要通过数码管的引脚来进行数据输入。
数据输入可以通过按键、外部输入信号、微处理器等方式实现。
驱动芯片会接收到输入的数据后进行译码,并通过特定的时序控制信号将译码结果发送到相应的数码管上。
多位数码管可以用于很多应用领域,如计时器、温度显示器、电子秤等。
它具有显示效果突出、可视性好、操作简单等特点,被广泛应用于各种电子设备中。
数码管实验试验报告成员:2014年11月25日一、实验要求:1.实验1:编程实现30倒计时, 时间归零峰鸣器应能发声;二、硬件原理图1. 硬件原理图A 1A 2A 3A 4A4A3A2A1D1D2SPSPD1D2PB0/ICP114PB1/OC1A 15PB2/SS/OC1B 16PB3/MOSI/OC217PB4/MISO 18PB5/SCK19PB6/TOSC1/XTAL19PB7/TOSC2/XTAL210PC6/RESET 1PD0/RXD 2PD1/TXD 3PD2/INT04PD3/INT15PD4/T0/XCK6PD5/T111PD6/AIN012PD7/AIN113PC0/ADC023PC1/ADC124PC2/ADC225PC3/ADC326PC4/ADC4/SDA 27PC5/ADC5/SCL28AREF 21AVCC 20U1ATMEGA812U2:A74LS0434U2:B74LS0456U2:C74LS041312U2:D74LS04R11kR21kLS1SPEAKERQ12N3905R310kR410原理图分析:三、软件设计系统.1.软件设计思想与流程图软件代码:/** GccApplication1.c** Created: 2014/11/24 19:38:50* Author: tiger */#include <avr/io.h>#include <util/delay.h>unsigned char led_7[10]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X8 0,0X90};unsigned char position[4]={0xEF,0xDF,0xBF,0x7F};unsigned char time[2];unsigned char dis_buff[6];unsigned char time_counter; unsigned char point_on = 0xff;;void display(void){unsigned char i;for (i=0;i<=3;i++){PORTB = led_7[dis_buff[i]];if(point_on && (i == 2) )PORTB &= 0x7F;PORTD = position[i];_delay_ms(2);PORTD=0XFF;}}void time_to_disbuffer(void){unsigned char i,j=0;for (i=0;i<=1;i++){dis_buff[j++] = time[i] % 10;dis_buff[j++] = time[i] /10;}}void main(void){PORTB = 0xFF;DDRB = 0xFF;PORTD = 0x0F;DDRD = 0xFF;time[1] = 00;time[0] = 30;time_to_disbuffer();while(1){display();if (++time_counter >= 40){time_counter = 0;point_on = ~point_on;if (--time[0] >= 30){time[0] = 0;if((time[0]==00)) //当当前时间等于闹钟时间时, 蜂鸣器工作{PORTC=0X01;DDRC=0X01;PORTC=0X00;}}time_to_disbuffer();}_delay_ms(2);}}四.成员分工及完成情况硬件原理图:软件设计思想与流程图:软件代码:五.意见及建议。
A VR单片机595驱动数码管显示一、电路实现8位数码管的电路如下图所示数码管是一种半导体发光器件,其基本单元是发光二极管。
数码管按段数分为七段数码管和八段数码管(还有一种“米”字型的数码管,其段数更多),八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示),其基本原理是:将所有LED的一端(正极、负极均可)连在一起作为一个公共端,然后通过分别控制这组LED的另一个端口来使部分LED点亮,从而达到显示一定字形的目的。
数码管的分类:按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,相应字段就不亮。
我们在实际使用中一定要搞清楚数码管是共阴极的还是共阳极的。
数码管段、位引脚的确定(以4位8段数码管为例),我们在实际应用中购买的数码管不像电阻、电容、集成等元件那样有数据手册或者直接在元件上标明管脚序号和用途,并且市场上数码管的管脚排列顺序并不是一致的,所以我们购买回来的数码管一般都要亲自测量一下各个引脚的用途,怎么测量呢?数码管引脚测量分三步:极性判断(共阳极还是共阴极)、公共端判断(位选端口)、段码端判断(段选端口)。
首先要确定数码管是共阴极还是共阳极的:找一个3到5V的直流电源,准备几个1K或者几百欧姆的电阻。
将电源的正极串接一个电阻后连在数码管的任意一个脚上,然后将电源的负极逐个接到数码管的其余引脚上,观察数码管的某一段是否会点亮,如果全部引脚试过都没有亮的,那么将电源正极(串电阻)换一个引脚再试,直到有一个LED发光,这时固定电源负极不动,电源正极(串电阻)逐个接到数码管的其余引脚上,如果有8段LED都亮,说明该数码管是共阴极的。
AVR单片机学习(五)按键与数码管的程序设计按键与数码管的程序设计AVR IO口的输入模式与上拉电阻选择结构语句与按键的查询方式程序设计数码管基本原理扫描方式显示多位数码管一、输入状态IO寄存器设置1、DDRx某一位置0,相应位的IO口被设置为输入2、PORTx某一位置1,使能对应IO口相应位的上拉电阻3、PINx的对应位是输入的数据,0或1选择结构语句一、关系运算符和关系表达式小于; 大于或等于== 不等于!=二、逻辑运算符和逻辑表达式逻辑与&&逻辑或||逻辑非!三、if 语句结构if(表达式1)语句1elseif(表达式2)语句2else 语句3四、switch语句结构switch(表达式){case常量1:表达式1case常量2:表达式2.........default:表达式n}按键的查询方式程序设计一、PIND & (1第一个是PD2 上一段接VCC 其他都是一段接IO(PD3 PD6 PD7)口另一端接地线。
所以当按键闭合时候相应IO都输入一个0,当按键抬起来的时候IO输入多少呢?所以这些IO口必须将上拉电阻进行使能,将按键打开相当于输入一个1.所以我们判断这3个按键按没按下去的话,就判断输入是不是0就行了。
对于第一个按键如果按下输入是1,当抬起来时候由于AVR内部不带下拉电阻的,所以按键打开时候输入是0.所以就需要判断某一位是0,还是1.某一位是0还是1就用到了& 与运算了。
1 跟1与就1 1 与0 就是0上面代码(temp& (1(temp & 0b01000000) temp本身值不变,只是结果来判断某一位是0还是1比如:PD6上的K3因为PD6 所以 PIND&(1三、PIND & (1除非你上电之前一直讲按键按下,否则上电的一瞬间程序就执行到while(1);了所以要将他们加入到死循环里面如下图这样就实现了按键的不停的检测。