【精选】51单片机LED显示接口电路及仿真 您所在的位置:网站首页 led灯电路图 【精选】51单片机LED显示接口电路及仿真

【精选】51单片机LED显示接口电路及仿真

2023-11-07 12:10| 来源: 网络整理| 查看: 265

LED显示接口电路 1 LED的工作原理1.1 LED流水灯1.11 CODE 2 LED显示器动态显示在动态显示中需要用到的芯片74HC245D74HC138 动态显示电路动态显示CODE

1 LED的工作原理

LED的符号:LED的工作是有方向性的,只有当正极接到LED阳极,负极接到LED阴极的时候才能工作,反接LED是不能正常工作的。 在这里插入图片描述 开发板上原理图:LED的阳极串联一个电阻,然后连接到电源VCC(高电平),而阴极连接到单片机的I/O口。想点亮一盏LED就把单片机相对应的I/O口赋为低电平。 pai 排阻需要上电使用。

1.1 LED流水灯 1.11 CODE #include//包含头文件 #include//包含循环左移函数_crol_()和循环右移函数_cror_() #define LED P1//将P1口定义位LED void delay(int i)//延时函数 { while(i--);//i=1时,大约延时10us } int main(void)//主函数 { char i; LED = 0xfe;//点亮第一盏LED while(1)//无限循环 { for(i=0;i LED=_cror_(LED,1);//将LED的值右移一位 delay(50000); } } } 2 LED显示器

LED显示器是由发光二极管作为显示字段的数码型显示器件,具有显示清晰、成本低廉、配置灵活、与单片机接口简单。 LED显示

段显示:8段:7段数码管+一个小数点;米字段。点阵显示:5x8,8x8点阵。

LED数码管

共阴极:各二极管的阴极连接在一起,公共端接低电平时,某段阳极加上高电平则该段发光二极管就导通发光。共阳极:各二极管的阳极连接在一起,公共端接高电平时,某段阴极加上低电平则该段发光二极管就导通发光。

LED显示的段码

字型共阳极段码共阴极断码字型共阳极段码共阴极段码0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF8EH71H7F8H07H灭FFH00H880H7FH

静态显示 静态显示就是当数码管显示某一个字符时,相应的发光二极管一直处于发光或熄灭状态。具有程序简单,亮度高,CPU工作效率高等优点。一般应用于显示位数较少的系统中。

动态显示

动态显示采用扫描的方式轮流点亮LED数码管的个位。通常将多个数码管的段选线并联在一起,用一个8位I/O口控制;各个数码管的位选线(数码管的公共端)由另外的I/O口控制。通过控制公共端是否有效,逐个循环点亮各位显示器。由于人眼具有视觉暂留效应。虽然任一时刻只有一位数码管被点亮,但因为每个数码管点亮的时间间隔很短,看起来数码管都在同时显示。

在动态显示中需要用到的芯片 74HC245

一种三态输出、八路信号收发器,主要应用于大屏显示,以及其他的消费类电子产品中增加驱动。 工作电压: 3.0V-5.0V 管脚定义

符号管角名称说明A0-A7数据输入/输出B0-B7数据输入/输出OE输出使能(低电平有效)DIR方向控制DIR=1,从A到B;DIR=0,从B到AGND逻辑地VDD逻辑电源

功能真值表

输出使能输出控制工作状态OEDIRLLBn输入An输出LHAn输入Bn输出HX高阻态 D74HC138

一种三通道输入、八通道输出译码器,主要应用于消费类电子产品。 工作电压:3.0V-5.0V 管脚说明

名称功能说明Yn数据输出An数据输入En使能控制VDD逻辑电源GND逻辑地

功能真值表 在这里插入图片描述

动态显示电路

在这里插入图片描述 在这里插入图片描述

动态显示CODE #include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器 sbit A=P2^0; sbit B=P2^1; sbit C=P2^2; unsigned char code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//显示0~F的值 void delay(unsigned int i) { while(i--); } void smgDisplay() { unsigned char i; for(i=0;i case(0): A=1;B=1;C=1; break;//显示第0位 case(1): A=0;B=1;C=1; break;//显示第1位 case(2): A=1;B=0;C=1; break;//显示第2位 case(3): A=0;B=0;C=1; break;//显示第3位 case(4): A=1;B=1;C=0; break;//显示第4位 case(5): A=0;B=1;C=0; break;//显示第5位 case(6): A=1;B=0;C=0; break;//显示第6位 case(7): A=0;B=0;C=0; break;//显示第7位 } P0=smgduan[i];//发送段码 delay(100); //间隔一段时间扫描 P0=0x00;//消隐 } } void main() { while(1) { smgDisplay(); //数码管显示函数 } }

在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有