0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

专题74ls138控制8位数码管

74LS138

74LS138介绍,关于138译码器的引脚,内部结构以及其工作时的情况
35次下载 2016-04-29 58KB 柚子咖

基于89c51的74ls138模块的四位数码管动态显示

基于89c51的74ls138模块的四位数码管动态显示简介 本人的开发板上只有八位数码管,因此是将p2口的三位接在138的输入上,输出口的前四位接在八位数码管的位选段上以实现四位数码管的显示。 动态数码管的显示原理是利用余辉效应,又被称作视觉暂留效应。(人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的...
34次下载 2021-11-24 0.12 MB wanen001

74LS138数据手册

310次下载 2013-06-19 xgwan

如何对74LS138译码进行实验

51单片机:74LS138译码实验一、实验内容通过单片机P1.2P1.0控制74LS138译码器的使能及译码输入端口,控制其译码输出端口(Y7Y0)。(74LS138译码单元C、B、A分别连接P1.2、P1.1、P1.0。)把译码输出端口Y7Y0连接到L7L0八位LED电平指示输入端口,验证74LS138的逻辑译码功能。二、仿真图三、代码C语言实现:在这里插入代码片```#include #include void
57次下载 2021-07-14 denxinan

基于89c51的74ls138模块的四位数码管动态显示简介

基于89c51的74ls138模块的四位数码管动态显示简介本人的开发板上只有八位数码管,因此是将p2口的三位接在138的输入上,输出口的前四位接在八位数码管的位选段上以实现四位数码管的显示。动态数码管的显示原理是利用余辉效应,又被称作视觉暂留效应。(人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的...
16次下载 2021-12-07 h1654155957.9185

74ls138真值表_74ls138功能表

本资料有74ls138真值表_74ls138功能表。
0次下载 2011-03-20

74LS138/54LS138 pdf datasheet

54LS138/DM54LS138/DM74LS138,54LS139/DM54LS139/DM74LS139Decoders/DemultiplexersGeneral DescriptionThese Schottky-clamped circuits are designed to be used inhigh-performance memory-decoding or data-routing applications,
100次下载 2008-08-06 133 腻害

74LS138英文手册

74LS138英文手册,感兴趣的小伙伴们可以瞧一瞧。
18次下载 2016-11-22 132KB faklsjflakjf

74LS138译码器应用

154次下载 2013-08-08 44KB 450533865

74LS138中文资料pdf

74LS138中文资料
2376次下载 2007-12-17 230 gaozm

74LS138 英版数据手册

74LS138 datashee—英版数据手册,感兴趣的可以看看哦。
0次下载 2016-08-29 165KB 小天王123

74LS138译码器应用

基础的电子类资料,电子工程师必备文档,快来学习吧
14次下载 2016-07-05 8KB tiesto

74LS138译码器应用_Keil C

基础的电子类资料,电子工程师必备文档,快来下载学习吧
16次下载 2016-07-06 23KB tiesto

74LS138译码器应用

以前寫論文收集的一些資料,學習單片機、C語言、Proteus的好資料!!!!
7次下载 2016-10-13 8KB Lightair

8位数码管51显示实验

本帖最后由 eehome 于 2013-1-5 10:04 编辑 见附件!
50次下载 2012-11-12 loveinmail22

2片74HC595控制8位数码管显示数据,超省CPU资源。

#include//PIC16F877A#define uint unsigned int#define uchar unsigned char#define SH_CP RB0#define DS RB1#define ST_CP RB3#define _XTAL_FREQ 16000000UL__CONFIG(HS);const uchar table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,};void delayus(uint z){uint x,y;for(x=z;x>0;x--) for(y=10;y>0;y--);}void delayms(uint z){uint x,y;for(x=z;x>0;x--) for(y=100;y>0;y--);} void serial_input_595(uint dat){for(uchar i=0;i
0次下载 2013-11-22 bright2013ok

基于8051的Proteus仿真-74LS138译码器应用

基于8051的Proteus仿真-74LS138译码器应用
42次下载 2022-05-11 0.02 MB qiaobin231

74ls138二进制译码器

  74LS138的逻辑功能   三个译码输入端(又称地址输入端)A2、A1、A0,八个译码输出端 ,以及三个控制端(又称使能端) 、 、 。   、 , 是译码器的控制输入端,当
0次下载 2010-08-26 490 mlr87

动态8位数码管显示更多位数的方案介绍

第三篇:动态8位数码管显示 —亚龙236电路上一篇中已经实现了数码管的静态显示,如果按照上一篇的思路89s52芯片最多可以驱动4位数码管。这一节我们来看看其它显示更多位数的方案。目前最常用的是 595驱动的串转并静态驱动电路,如下图(来源于淘宝):只需要占用2个端子,可扩展显示位数,使用也不麻烦,建议在自己的作品里使用。但是,学校的亚龙236实验台电路是给定的,是比较麻烦的一种----。这个电路里面ls377老版本的proteus可能没有仿真模型,如果搞不定可以不用自己画,使用我的电路即可。这个
3次下载 2022-02-23 吴与伦比

74LS138译码器应用--基于8051+Proteus仿真

74LS138译码器应用--基于8051+Proteus仿真
228次下载 2010-11-02 18 f8023m

74ls138中文资料免费下载

74LS138为3线-8线译码器,共有54/74S138和54/74LS138两种线路结构型式,其74LS138工作原理如下:   当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。
49次下载 2017-10-31 0.04 MB Goodtimes

51单片机:74LS138译码实验

51单片机:74LS138译码实验一、实验内容通过单片机P1.2P1.0控制74LS138译码器的使能及译码输入端口,控制其译码输出端口(Y7Y0)。(74LS138译码单元C、B、A分别连接P1.2、P1.1、P1.0。)把译码输出端口Y7Y0连接到L7L0八位LED电平指示输入端口,验证74LS138的逻辑译码功能。二、仿真图三、代码C语言实现:在这里插入代码片```#include <reg52.h>#include <intrins.h&
28次下载 2021-11-12 0.16 MB 王的男人

74HC595驱动2位数码管的方法

74HC595驱动2位数码管驱动芯片:74HC595,74LS595,单片机:AT89C52,或者STC89C52都可以实例代码#include //#include#include "intrins.h"***it ST=P2^0;***it SH=P2^2;***it DS=P2^1;typedef unsigned int u16; //对数据类型进行声明定义typedef unsigned char u
16次下载 2021-12-07 werywer

【AWorks试用体验】动态扫描4位数码管

在AP-283Demo 板上有个4位的数码管,这次就用 C 语言 点亮这4位数码管。 最终效果视频:滚动显示"HELLO. ELECFANS"电路原理: 由原理图可知道 MCU 的 SPI 接口控制 2 片 74HC595 带锁存的移位寄存器驱动共阴式的 LN3461BS 数码管,其中 U4 控制 8 位数据管的位选位,U6 控制 4 位数码管的段选位,也就是说只要给数码管的位选位输送低电平,给数码管的段选位输送高电平,即可点亮数码管。在 74HC595 芯片中, 如果要将 8 位串行输入数据并行输出到 QA、 QB、 QC、 QD、 QE、QF、QG、QH,则需要满足以下条件:首先必须保证在 SCK 引脚输入连续的时钟信号;在 SCK 引脚输入信号的上升沿, 在 SI 引脚输入的数据被送入 QA 的第 1 级移位寄存器,QA 移位寄存器原有的值移入 QB 移位寄存器,QB 移位寄存器原有的值移入 QC 移位寄存器,以此类推;在 RCK 引脚输入信号的上升沿,移位寄存器中的数据被送入锁存器;若 OE 引脚输入低电平,则锁存器的值将在 QA~QH 引脚输出。 编程思路(1) 发送 8 位“位选”数据,且被保存在 U6 的移位寄存器中;(2) 紧接再发送“段选”数据时,刚才发送的“位选”数据将通过级联方式移位到 U4的移位寄存器中,后发送的“段选”数据则被保存在 U6 的移位寄存器;(3) 当数据移位完成后, 在 RCK 产生一个上升沿将移位寄存器中的数据移位到锁存器;(4) 由于 OE 为低电平,锁存器的数据送到 U4、U6 的 QA~QH 数据引脚上。其中 U4、U6 的 RCK 引脚连接到 i.MX283 处理器的 GPIO3.21 引脚。硬件跳线接法SPI_2 -> COM 全部接上。P3.21 -> COM.程序代码SPI 和 P.21 初始化 int SPI1_Init( void ){unsigned long mode = 0;unsigned long speed = 10000;unsigned long bits = 8;int fd;DIR *dir;dir = opendir( GPIO_RCK_PATH );if( dir == NULL ){fd = open( "/sys/class/gpio/export", O_WRONLY );if( fd ) {if( write( fd, "117", strlen( "117") ) == -1 ){close( fd );printf( "GPIO 3.21 export fail" );return -1;}}close( fd );} closedir( dir );fd = open( GPIO_RCK_PATH"/direction", O_WRONLY );write( fd, "out", strlen( "out" ) );close( fd );RCK_fd = open( GPIO_RCK_PATH"/value", O_RDWR ); spi_fd = open( "/dev/spidev1.0", O_RDWR );if( spi_fd < 0 ){printf( "can not open spi device\n" );return -1;}if( ioctl( spi_fd, SPI_IOC_WR_MODE, &mode ) == -1 ){printf( "can not set SPI mode\n" );return -1;}if( ioctl( spi_fd, SPI_IOC_WR_BITS_PER_WORD, &bits ) ){printf( "can not set bits per word\n" );}if( ioctl( spi_fd, SPI_IOC_WR_MAX_SPEED_HZ, &speed ) == -1 ){printf( "can not set max speed HZ\n" );return -1;}return 0;}大循环中 动态扫描4位数码管,每隔 0.5 s 向左移动一个字符。 实现滚动显示 "HELLO. ELECFANS"unsigned char led_table[] = { 0x89, 0x86, 0xc7, 0xc7, 0x40, 0xFF, 0xFF, 0x86, 0xc7, 0x86, 0xc6, 0x8E, 0x88, 0xc8, 0x92, 0xFF, 0xFF, 0xFF };int main( void ){unsigned char LedValueIndex = 0;unsigned char LedDig = 0; unsigned int Times = 0;unsigned char tx_buffer[2];struct spi_ioc_transfer tx[] ={{.tx_buf = ( unsigned long ) tx_buffer,.rx_buf = 0,.len = 2,.delay_usecs = 0,.speed_hz = 10000,.bits_per_word = 8,},};if( SPI1_Init() == -1 ){return 0;}while( 1 ){tx_buffer[0] = led_table[LedValueIndex + LedDig];tx_buffer[1] = 13 )LedDig = 0;if( ++Times > 500 ){Times = 0;if( ++LedValueIndex > 14 )LedValueIndex = 0;}}return 0;}程序源代码attach://278532.rar
10次下载 2015-08-25 moonyuan

使用单片机实现74LS138选通8位LED数码管动态显示的仿真文件免费下载

本文档的主要内容详细介绍的是使用单片机实现74LS138选通8位LED数码管动态显示的仿真文件免费下载。
25次下载 2021-03-22 0.05 MB Wildesbeast

4位数码管计时器

4位数码管计时器
328次下载 2013-04-12 zpwingame

位数码管的相关资料推荐

我们在了解八位数码管的时候,提到了定时器的概念,因为后面很多情况都会涉及到,所以就来认真学习一下啦基本介绍MCS51系列的单片机通常有2个16位可编程定时/计数器,即定时器0和1(MCS52系列还有一个定时/计数器2)可编程的意思是指其功能(如工作模式、定时时间、启动方式等)可由指令来确定和改变。通常都是赋值指令给相关的寄存器。与定时/计数器相关的有两个特殊功能寄存器(模式控制寄存器...
3次下载 2021-12-01 uwjfuwer

PIC16F676使用74HC5951驱动8位数码管时钟

//基于pic16f676宝贵的IO,本程序使用2片74HC595//驱动8位数码管的小时钟。可做成实物,特附PROTEUS仿真图。//小弟初学,水平有限,大家多多指点,不吝赐教。//QQ交流:271344691#include//PIC16F676-SOP14#define uint unsigned int#define uchar unsigned char#define SH_CP RC0//595端口#define DS RC1#define ST_CP RC2#define key0 RC3//按键端口#define key1 RC4#define key2 RC5#define _XTAL_FREQ 16000000UL//16MHZ时钟,指令周期0.25微秒const uchar table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};//0-9共阳数码管代码 uchar sec=0;uchar min=0,hour=0;uchar count=0; __CONFIG(0X0002);//外接16MHZ晶振void delayms(uint z)//1ms延时函数{uint x,y;for(x=z;x>0;x--)for(y=100;y>0;y--); }void delayus(uint z){uint x,y;for(x=z;x>0;x--) for(y=10;y>0;y--);}void serial_input_595(uint dat){for(uchar i=0;i>8;TMR1L=(uint)(65536-_XTAL_FREQ/4/8*0.01)&0XFF;TMR1IF=0;}}
101次下载 2013-11-22 bright2013ok

74LS13874LS161组成流水灯数电课程设计

81次下载 2013-07-26 621KB write_data

74ls47与数码管的连接

88次下载 2013-03-23 192KB

74ls164串转并的数码管显示应用

基础的电子类资料,电子工程师必备文档,快来下载学习吧
26次下载 2016-07-04 92KB tiesto

138和595控制数码管驱动头文件的程序分享

Nixie_Tubesmg.h138和595控制数码管驱动头文件#ifndef __SMG_H#define __SMG_H#include "reg52.h"#include "delay.h"//---重定义关键词---//#ifndef u8#define u8 unsigned char#endif#ifndef u16 #define u16 unsigned int#endif#ifndef uchar#define uchar unsigned char#e
0次下载 2022-02-23 iiiegsd

74LS138 有些图片看不到,在附件中

74ls138引脚图 74HC138管脚图:74LS138 为3 线-8 线译码器,共有 54/74S138和 54/74LS138 两种线路结构型式,其工作原理如下: 当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。 利用 G1、/(G2A)和/(G2B)可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。 若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器用与非门组成的3线-8线译码器74LS1383线-8线译码器74LS138的功能表无论从逻辑图还是功能表我们都可以看到74LS138的八个输出引脚,任何时刻要么全为高电平1—芯片处于不工作状态,要么只有一个为低电平0,其余7个输出引脚全为高电平1。如果出现两个输出引脚同时为0的情况,说明该芯片已经损坏。当附加控制门的输出为高电平(S=1)时,可由逻辑图写出由上式可以看出,同时又是这三个变量的全部最小项的译码输出,所以也把这种译码器叫做最小项译码器。71LS138有三个附加的控制端、和。当、时,输出为高电平(S=1),译码器处于工作状态。否则,译码器被禁止,所有的输出端被封锁在高电平,如表3.3.5所示。这三个控制端也叫做“片选”输入端,利用片选的作用可以将多篇连接起来以扩展译码器的功能。带控制输入端的译码器又是一个完整的数据分配器。在图3.3.8电路中如果把作 为“数据”输入端(同时),而将作为“地址”输入端,那么从送来的数据只能通过所指定的一根输出线送出去。这就不难理解为什么把叫做地址输入了。例如 当=101时,门的输入端除了接至输出端的一个以外全是高电平,因此的数据以反码的形式从输出,而不会被送到其他任何一个输出端上。【例3.3.2】 试用两片3线-8线译码器74LS138组成4线-16线译码器,将输入的4位二进制代码译成16个独立的低电平信号。解:由图3.3.8可见,74LS138仅有3个地址输入端。如果想对4位二进制代码,只能利用一个附加控制端(当中的一个)作为第四个地址输入端。取第(1)片74LS138的和作为它的第四个地址输入端(同时令),取第(2)片的作为它的第四个地址输入端(同时令),取两片的、、,并将第(1)片的和接至,将第(2)片的接至,如图3.3.9所示,于是得到两片74LS138的输出分别为图3.3.9 用两片74LS138接成的4线-16线译码器式(3.3.8)表明时第(1)片74LS138工作而第(2)片74LS138禁 止,将的0000~0111这8个代码译成8个低电平信号。而式(3.3.9)表明时,第(2)片74LS138工作,第(1)片74LS138禁止,将 的1000~1111这8个代码译成8个低电平信号。这样就用两个3线-8线译码器扩展成一个4线-16线的译码器了。同理,也可一用两个带控制端的4线-16线译码器接成一个5线-32线译码器。例2. 74LS138 3-8译码器的各输入端的连接情况及第六脚()输入信号A的波形如下图所示。试画出八个输出引脚的波形。解:由74LS138的功能表知,当(A为低电平段)译码器不工作,8个输出引脚全为高电平,当(A为高电平段)译码器处于工作状态。因所以其余7个引脚输出全为高电平,因此可知,在输入信号A的作用下,8个输出引脚的波形如下:即与A反相;其余各引脚的输出恒等于1(高电平)与A的波形无关。2.译码器译码器是组合电路的一部分。所谓译码,就是把代码的特定含义“翻译”出来的过程,而实现译码操作的电路称为译码器。译码器分成三类:(1)二进制译码器:如中规模2-4线译码器74LS139,3-8线译码器74LS138等。(2)二-十进制译码器:实现各种代码之间的转换,如BCD码-十进制译码器74LS145等。(3)显示译码器:用来驱动各种数字显示器,如共阴数码管译码驱动74LS48(或74LS248)共阳数码管译码驱动74LS47(或74LS247)等。2.译码器实验(1)将二进制2-4线译码器74LS139插入IC空插座中,管脚排列图见图13。输入端G、A、B接逻辑开关,输出端Y0、Y1、Y2、Y3 接LED发光二极管,接通电源,按表5输入各逻辑电平,观察输出结果并填入表4.6中。图13 74LS139管脚排列图 图14 74LS138管脚排列图表5 74LS139 2-4线译码器功能表输入输出GBAY0Y1Y2Y31 0 0 0 0x 0 0 1 1x 0 1 0 1注: 表中×为状态随意表6 74LS138 3线-8线译码器功能表输入输出使能选择Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7G1 G2C B Ax 1 0 x 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0x x x x x x 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1注:G2 = G2A + G2B ,表中×为状态随意 将74LS138集成片插入IC空插座中,输入端G1、G2A、G2B、A、B、C接逻辑开关,输出端Y0 ~ Y7接LED发光二极管,接通电源,按表6输入各逻辑电平,观察输出结果并填入表6中。使能端信号G1、G2A、G2B满足表6条件时,译码器选通。译码器扩展,用74LS139双2-4线译码器可接成3-8线译码器。用74LS138两片3-8线译码器可组成4-16线译码器。图15 74LS145管脚排列图 (2)将BDC码-十进制译码器74LS145插入IC插座中,管脚排列图见图15,输入端A、B、C、D接8421码拨码开关,输出端“0~9”接LED发光二极管。接通电源,拨动拨码开关,观察输出LED发光二极管是否和拨码开关所指示的十进制数字一致。(3)将译码驱动器74LS48(或74LS248)和共阴极数码管LC5011-11(547R)插入IC空插座中,按图16接线。接通电源后,观察数码管显示结果是否和拨码开关指示数据一致。如无8421码拨码开关,可用四位逻辑开关(即普通拨动开关)代替。图16 译码显示电路图 四、注意事项插入或拔取集成片时须切断电源,不能带电操作。译码器原理及常用译码器简介一. 译码器 译码器的功能是对具有特定含义的输入代码进行"翻译",将其转换成相应的输出信号。 译码器的种类很多,常见的有二进制译码器、二-十进制译码器和数字显示译码器。1.二进制译码器(1) 定义二进制译码器:能将n个输入变量变换成2n个输出函数,且输出函数与输入变量构成的最小项具有对应关系的一种多输出组合逻辑电路。(2) 特点● 二进制译码器一般具有n个输入端、2n个输出端和一个(或多个)使能输入端。● 在使能输入端为有效电平时,对应每一组输入代码,仅一个输出端为有效电平,其余输出端为无效电平(与有效电平相反)。● 有效电平可以是高电平(称为高电平译码),也可以是低电平(称为低电平译码)。(3) 典型芯片 常见的MSI二进制译码器有2-4线(2输入4输出)译码器、3-8线(3输入8输出)译码器和4-16线(4输入16输出)译码器等。图7.7(a)、(b)所示分别是T4138型3-8线译码器的管脚排列图和逻辑符号。图7.7 T4138译码器的管脚排列图和逻辑符 图中,A2、A1、A0 ------ 输入端; Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7------- 输出端; S1,S2,S3 -------- 使能端,作用是禁止或选通译码器。 该译码器真值表如表7.1所示。表7.1 T4138译码器真值表 由真值表可知,当s1=1,s2+s3=0 时,无论A2、A1和A0取何值,输出Y0 、…、Y7中有且仅有一个为0(低电平有效),其余都是1。? 2 .二-十进制译码器二-十进制译码器的功能:将4位BCD码的10组代码翻译成10个十进制数字符号对应的输出信号。例如,常用芯片T331是一个将8421码转换成十进制数字的译码器,其输入A3~A0为8421码,输出Y0~Y9分别代表十进制数字0~9。该译码器的输出为低电平有效。其次,对于8421码中不允许出现的6个非法码(1010~1111),译码器输出端Y0~Y9均无低电平信号产生,即译码器对这6个非法码拒绝翻译。这种译码器的优点是当输入端出现非法码时,电路不会产生错误译码。(该译码器的逻辑电路图和真值表见教材中有关部分)? 3. 数字显示译码器 数字显示译码器是不同于上述译码器的另一种译码器。在数字系统中,通常需要将数字量直观地显示出来,一方面供人们直接读取处理结果,另一方面用以监视数字系统工作情况。 因此,数字显示电路是许多数字设备不可缺少的部分。数字显示译码器是驱动显示器件(如荧光数码管、液晶数码管等)的核心部件,它可以将输入代码转换成相应数字,并在数码管上显示出来。 常用的数码管由七段或八段构成字形,与其相对应的有七段数字显示译码器和八段数字显示译码器。例如,中规模集成电路74LS47,是一种常用的七段显示译 码器,该电路的输出为低电平有效,即输出为0时,对应字段点亮;输出为1时对应字段熄灭。该译码器能够驱动七段显示器显示0~15共16个数字的字形。输 入A3、A2、A1和A0接收4位二进制码,输出Qa、Qb、Qc、Qd、Qe、Qf和Qg分别驱动七段显示器的a、b、c、d、e、f和g段。(74LS47逻辑图和真值表可参见教材中有关部分。) 七段译码显示原理图如图7.8(a)所示,图7.8(b)给出了七段显示笔画与0~15共16个数字的对应关系。? 图7.8 七段译码显示原理及笔画与数字关系 4.译码器应用举例 译码器在数字系统中的应用非常广泛,它的典型用途是实现存储器的地址译码、控制器中的指令译码、代码翻译、显示译码等。除此之外,还可用译码器实现各种组合逻辑功能。下面 举例说明在逻辑设计中的应用。?例1 用3-8线译码器T4138和适当的与非门实现全减器的功能。 解 全减器:能实现对被减数、减数及来自相邻低位的借位进行减法运算,产生相减得到的差及向高位借位的逻辑电路。令: 被减数用Ai表示、减数用Bi表示、来自低位的借位用Gi-1表示、差用Di表示、向相邻高位的借位用Gi表示。可得到全减器的真值表如表7.2所示。 表7.2 全减器真值表 输入S1S2+S3A2A1A0输出Y0Y1Y2Y3Y4Y5Y6Y7100 00100 01100 10100 11101 00101 01101 10101 110dd ddd1d dd01111111101111111101111111101111111101111111101111111101111111101111111111111111 输入输出输入输出AiBiGi-1DiGiAiBiGi-1DiGi0000010010001111010001011110000110111111 由表7.2可写出差数Di和借位Gi的逻辑表达式为?? ?? ?? 用译码器T4138和与非门实现全减器功能时,只需将全减器的输入变量Ai Bi Gi-1分别与译码器的输入A2、A1、A0相连接,译码器使能输入端S1S2S3接固定工作电平,便可在译码器输出端得到3个变量的8个最小项的"非"。根据全减器的输出函数表达式,将相应最小项的"非"送至与非门输入端,便可实现全减器的功能。逻辑电路图如图7.9所示。 ? 图7.9 逻辑电路图 例2 用译码器和与非门实现逻辑函数?? ?F(A,B,C,D)=∑m(2,4,6,8,10,12,14)?? 解 给定的逻辑函数有4个逻辑变量,显然可采用上例类似的方法用一个4-16线的译码器和与非门实现。 此外,也可以充分利用译码器的使能输入端,用3-8线译码器实现4变量逻辑函数。用3-8线译码器实现4变量逻辑函数的方法:用译码器的一个使能端作为变量输入端,将两个3-8线译码器扩展成4-16线译码器。用两片T4138实现给定函数时,可首先将给定函数变换为 然后,将逻辑变量B、C、D分别接至片Ⅰ和片Ⅱ的输入端A2、A1、A0,逻辑变量A接至片Ⅰ的使能端和片Ⅱ的使能端S1。这样,当输入变量A=0时,片Ⅰ工作,片Ⅱ 禁止,由片Ⅰ产生m0~m7 ;当A=1时,片Ⅱ工作,片Ⅰ禁止,由片Ⅱ产生m8~m15。将译码器输出中与函数相关的项进行"与非"运算,即可实现给定函数F的功能。逻辑电路图如图7.10所示。 ?图7.10 逻辑电路图
29次下载 2011-05-18 inghosthell111

单片机学习笔记 —— 8位数码管动态扫描 精选资料分享

我们知道,依次只能让一个数码管/led灯亮起来,但是我们可以通过高频动态扫描得到8位数码管同时亮起来,这里介绍如何实现。一、八位数码管八位数码管原理图下图为原理图:段选信号:P0[7…0]位选信号:P2[2…0]译码使能:P2.3非 (图中已用蓝色框圈出)控制信号段选信号:一位数码管包含8个二极管,a-g,如图:8个二极管共阴极,以位选信号作为使能信号位选信号:位选信号...
2次下载 2021-07-15 小华同学

基于labview的并口8位数码管显示模拟程序

基于labview的并口8位数码管显示模拟程序
165次下载 2015-12-18 ferriteemi5149

74LS164串行控制显示数码管

128次下载 2013-01-20 40KB 陨落-布达拉

74HC595/四按键驱动四位数码管的方法

一、主要元器件和原理GD32F303RCT6 74HC595共阳数码管按键(图片数码管名字有误)风中凌乱的笔记:A1A2A3A4下拉工作模式。给A1A2A3A4一个低电平。当abcdefg来一个高电平时,数码管亮。GPIO_CTL0(GPIOB) &= 0x0FFFF000;表示配置PA3,PA4,PA5,PA6脚GPIO_CTL0(GPIOB) |= 0x03333000;表示PA3,PA4,PA5,PA6的工作模式為推挽輸出0011=0x3(00為推挽輸出,11為50M
6次下载 2021-12-07 guotong1984

单片机74LS138扩展中断的相关资料推荐

单片机74LS138扩展中断硬件连接:代码:#include #include #define uchar unsigned char#define uint unsigned int***it LED = P1^0;void EX_INT0() interrupt 0{uchar bi = P2 & 0x07;P0 = _cror_(0x7f,bi);}void main(){uint i;
0次下载 2022-01-06 哼小曲

设计74hc164控制数码管显示系统

4次下载 2017-09-21 chenyuchenyucy

4位数码管模块

此模块是iic数码管,对其写地址,写数据。很方便控制,大大地节约了io资源,并且不影响单片机速度。
25次下载 2016-05-06 498KB wz1997

位数码管动态扫描八位数码管+流水灯的相关资料分享

我们已经了解了最简单的流水灯模型,我们就开始学习数码管啦!我们可以慢慢的循序渐进学习这些神奇的现象,从这篇开始我们重点只介绍实验原理和代码八位数码管实际上很多的案例,这里主要介绍八位数码管动态扫描八位数码管+流水灯八位数码管滚动显示可变亮度的数码管显示八位数码管动态扫描其实验现象为:从左到右8个数码管分别显示1、2、3、4、5、6、7、8我们就直接进入到其电路图先放图:...
45次下载 2021-12-03 wanglq2011

4位数码管驱动

157次下载 2012-09-03 21KB

主要描述STM32控制4位数码管显示

本文主要描述STM32控制4位数码管显示,为了节省MCU引脚,用了两个594级联,一个控制段选,一个控制位选,总共占用3个IO口。
9次下载 2021-12-06 felixbury

51单片机-流水灯(74LS13874HC154)

#include&lt;reg51.h&gt;#define uchar unsigned char#define uint unsigned intsbit EXT0_interrupt = P3^2;sbit EXT1_interrupt = P3^3;void _74HC154();void _74LS138();//延时函数 i=1时,大约延时10usvoid delay(uint ms){ uchar i; while(ms--) for(i=0;i&lt;
15次下载 2021-11-21 0.23 MB leexiuhua

基于STM32F103C8T6的74HC595驱动8位数码管模块学习资料分享

基于STM32F103C8T6的74HC595驱动8位数码管模块学习相信很多玩STM32的小伙伴都用过数码管来做什么数字时钟、数字秒表、数字计数器等等数显的有趣好玩的东西;我这里就简单说明一下对数码管的理解和应用吧。先上图给大家看看我的数字字母滚动显示屏效果吧!简要介绍对于初学者来说,数码管是一个很简单却又不简单的东西,应用场景非常多,对于一些普通的数码管我了解到的大概有以下这些:那...
9次下载 2021-12-07 香奈儿苦苦奶茶

74ls164_动态驱动多位数码管

voiddisplay()//数码显示 { SCON=0;//初始化串行口方式 SBUF=dispcode[ge]; while(!TI); TI=0; led4=0; delay(2); led4=1; SBUF=dispcode[shi]; while(!TI); TI=0; led3=0; delay(2); led3=1;
104次下载 2013-09-09 283 KB 黄汉华

使用74LS13874LS151数据选择器在非扩展状态下进行多变量函数运算的功能

  在数字电路中,常用的中等规模集成二进制译码器种类很多,为了便于扩展译码器的输入变量,集成译码器常带有若干个选通控制端(使能端或控制端)。本文在非扩展状态下,研究了充分利用74LS138和74LS151的特点实现多变量函数的运算功能,明显削弱了电路的复杂性,有效地降低了生产成本。
48次下载 2017-11-30 1.20 MB maye2900

位数码管的使用

八位数码管原理图如下:通过原理图,我们可以知道,数码管和led灯存在公用的线路。要使led灯能发亮,P2.3引脚就要置“1”,但是P2.3引脚为“1”时,数码管是不能正常显示的,所以要使数码管正常显示,要对P2.3引脚置“0”。同时P2.0、P2.1和P2.2引脚对数码管显示也很重要(位置选择),三个引脚的状态(0或1)对应的三位二进制数可以表示0~7(分别对应从左到右的数码管)。与led灯一样,只要通过对P0口赋不同的值就可以显示不同的字符。不同的段(A、B、C、D、E、F、G、D..
7次下载 2021-12-31

8位数码管秒表程序

24次下载 2012-06-24 17KB

8位数码管显示时间

8位数码管显示时间 keil源程序+protues仿真   采用8位数码管显示,DS1302时钟芯片,89S51单片机。 四个输入按键,已加入调时程序。电路已运行测试走时稳定。
17次下载 2017-11-21 91KB jiugujia

8位数码管秒表程序

基础的电子类资料,电子工程师必备文档,快来下载学习吧
4次下载 2016-07-07 17KB tiesto

数码管3实验下载

一、日志(2019.3.4完成)1.1、数码管3位实验下载:在下载时首先要查看芯片的状态,是否与实际芯片相符,通过assignment->device进行查看,由于我的板子是cyclone||-ep2c5t144c8,便设置。如果不设置的话,在下载的过程中会报错,提示板子的型号不正确。选好板子后再通过assignment->pins进行针脚设置。之后再进行全编译,为process...
1次下载 2021-07-28 凤求凰

共阴数码管是什么

注意:共阴数码管位选是“选哪位就哪位为低电平。数码管采用两个74HC573芯片作为位选和段选的锁存器分别由wela和dula控制(高电平有效);原理图如下:定时器的代码如下:#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器typedef unsigned int u16;//对数据类型进行声明定义typedef unsigned char u8;//***it WE1=P0^0;//***it WE2=P0...
0次下载 2021-07-19 blueshine

protues里4位7段数码管与单位数码管相关问题的分析

最近给一个工厂做的一个转速显示小板子,程序很简单,原理图如下: 在给这个原理图做protues仿真时候,开始调用了6段一体数码管,没有达到仿真要求,其中PNP三极管一直处于导通状态,查了一天驱动电路和程序 ,都是很简单的东西 ,实在没错,故最后换了单位独立的共阳数码管仿真没有问题: 总结:不知道是不是我不了解还是本身软件原因,在用多位一体数码管时候会出现PNP不按程序时序导通,而是一直导通!过几天板子就到了,回来焊板子测试
16次下载 2017-10-09 0.1 MB Wildesbeast

74LS138译码器的Multisim仿真实例电路图免费下载

本文档的主要内容详细介绍的是74LS138译码器的Multisim仿真实例电路图免费下载。
172次下载 2020-09-04 0.07 MB Wildesbeast

Proteus之74LS164驱动数码管显示时间

Proteus之74LS164驱动数码管显示时间,很好的Proteus资料,快来下载不学习吧。
0次下载 2016-04-19 70KB yimissck

如何实现多位数码管的显示

AVR单片机实验二 数码管显示与外部中断实验1 实验目的掌握动态扫描与外部中断原理,以实现多位数码管显示及单一按键控制的应用。2 实验内容(1)实现4位数码管的动态扫描。(2)设定外部中断,实现按下按键累加计数,并显示于数码管。实验电路:3 实现四位数码管的动态扫描显示;通过动态扫描的方式让四位数码管分别显示个人学号后4码;写出动态扫描函数的实验代码。原始程序码:、、实训2 数码管 先显示学号 然后可依次累加数字#include #in
5次下载 2021-11-18 倪love

基于AT89C51单片机74LS138译码器应用Proteus仿真及程序

基于AT89C51单片机74LS138译码器应用Proteus仿真及程序
1次下载 2023-05-04 0.87 MB 好纠结哦

74LS138译码器应用的仿真电路图免费下载

本文档的主要内容详细介绍的是74LS138译码器应用的仿真电路图免费下载。
50次下载 2020-03-19 0.04 MB Wildesbeast

位数码管按键计数

自己做了个简单的两位数码管按键计数;效果不太好,按键时十位数码管一闪一闪的,晃眼。应该是程序问题。发出来大家看看。下面是程序:#include#define uchar unsigned char#define uint unsigned intuchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴数码管0~9段码***it K1=P1^6;***it K2=P1^7;void delayms(uint);void key();void display();uchar num;/********主函数**********/void main(){while(1){ key(); display();}}/*******按键函数*******/void key(){ if(K2==0) {delayms(10);if(K2==0){if(num==0)num=100;num--;while(!K2);} } if(K1==0) {delayms(10);if(K1==0){num++;if(num==100)num=0;while(!K1);} } }/******延时函数******/void delayms(uint x){ uint i,j; for(i=x;i>0;i--)for(j=110;j>0;j--);}/**********显示函数**********/void display(uchar shi,uchar ge){ shi=num/10; ge=num%10; P3=0xfe; P2=table[shi]; delayms(5); P3=0xfd; P2=table[ge]; delayms(5);}
88次下载 2013-11-26 杨宝顺

单片机驱动多位数码管

接上一条单片机实验笔记(汇编、Proteus仿真)第五节课第五节课 内容为驱动多位数码管。和驱动一位数码管大同小异。ORG 0000HLJMP MAINORG 0100HMAIN:MOV R2,#0MOV R3,#8LOOP:MOV DPTR,#TAB1MOV A,R2MOVC A,@A+DPTRMOV P3,#0ffh ;如果没有这条指令则会出现叠加显示MOV P2,A;段选MOV P3,R2;位选INC R2DJNZ R3,LOOP
10次下载 2021-12-01 Lucia_nie

·多位数码管动态扫描程序

本帖最后由 eehome 于 2013-1-5 09:44 编辑 ·多位数码管动态扫描程序,用实板调试通过
22次下载 2012-06-27 andirong

[求助]有谁有动态四位数码管的元件库和封装?

本帖最后由 eehome 于 2013-1-5 09:58 编辑 求助!谁能提供4位动态数码管的元件库和封装?protel *** 2004 sp2版,万分感谢!
93次下载 2009-10-30 sdlilian

VHDL实现SM4位数码管+按键

32次下载 2019-02-28 bigbangboom

基于stm32f1xx的四位数码管小数显示实验

文章目录基于stm32f1xx的四位数码管小数显示实验一、实验目的:1.1 IO分配1.2 GPIO相关1.2.1 GPIO初始化1.2.2GPIO常用置高置低函数(以PB5为例)二、数四位码管实验主体2.1实现单个任意数字的显示2.1.1定义数字表以及数码管段选表2.1.2 消影2.1.3 主体代码如下2.2 数据处理2.2.1 记录小数点位置2.2.2浮点数变为整数,并限制为四位2.2.3 整数变为整数型数组2.2.4 放入小数点2.2.5 数据处理代码2.3数码管显示浮点数三、
15次下载 2021-07-21 安徒生童话

如何利用外部中断实现4位数码管动态扫描呢

前言首先此源码设计知识点少,更容易供路人/初学者参考;要点讲解1.设置外部中断初始化.(我放在了一个函数里用来调用)void intinit(){IT0 = 1;//设置外部中断0的触发方式为跳沿触发。EX0 = 1;//开启外部中断0IT1 = 1;//设置外部中断1的触发方式为跳沿触发。EX1 = 1;//开启外部中断1EA = 1; //中断总开关}2.设置按钮函数void button(){if(K0==0)//按钮--加
0次下载 2021-11-29 早知

位数码管+流水灯设计实现

程序设计目标及程序运行效果说明从左到右8个数码管分别显示1、2、3、4、5、6、7、8。LED灯从右往左依次亮起。工作原理P0口的8位输出分别控制8个发光二极管L0~L7的阳极;而P2.3经反相器U4C控制8个发光管阴极E3;当阳极为高(对应P0口位为1)、阴极为低时,对应的二极管将会发光。而P2.3经反相器U4C控制74HC138的使能信号E3,结合P2.0、P2.1、P2.2这3个位选控制信号确定8个LED数码管中的哪个被点亮;电阻R15~R22为限流电阻。当段选为高、使能信号有效时,对应的LE
0次下载 2022-02-18 挽你何用

7脚5位数码管驱动程序使用说明

7脚5位数码管驱动程序使用说明下载后解压有三个文件:分别是脚位图,.c和.h文件,这个程序我是用stm8s208驱动的,要移植程序的话只要修改这7个引脚就可以,在.h文件里//引脚GPIOB 0-7#define P1GPIO_PIN_7#define P2GPIO_PIN_6#define P3GPIO_PIN_5#define P4GPIO_PIN_4#define P5GPIO_PIN_2#define P6
29次下载 2021-12-01 幽默

TM1650芯片是如何驱动4位数码管

文章目录自言自语一、芯片图二、通讯协议开始信号终止信号发送一字节数据获取TM1650的应答三、TM1650的各个功能数码管显示数码管关闭数码管显示数字自言自语今天上班被丢了块4位数码管过来,还有一份驱动数码管的芯片资料。还好只有十几页,哈哈哈。大致浏览下手册,了解到这个芯片叫TM1650,然后是使用模拟IIC协议的。那也就是说,只需要SDA和SCL两条线就能驱动4位数码管!!!想想好像比那种74HC595节省IO资源多了。所以记录下,哈哈哈~一、芯片图其中:SCL:IIC的时钟线SDA.
34次下载 2021-12-06 juanll5

数码管动态显示如何让某一位数值闪烁

以51单片机为例,数码管动态显示如何让某一位数值闪烁,考虑到有新人不一定能熟练运用定时器和中断,这里提供两种简单的思路。 本次示例中让数码管某一位亮起的函数为 XianShi(数码管位置,显示的字符)。1.利用if语句让需要闪烁的一位先显示一段时间(或次数),再让其显示“空”一段时间。 数码管是不能同时显示多位字符的,我们可以先让某一位显示,再让其显示空字符,其他位置的数码管不变,利用main函数的刷新原理和人眼的视觉暂留就可以实现闪烁,本次示例均令第一位数码管闪烁,示例代码如下:...
5次下载 2021-12-06 doublelove

如何去实现一种七位数码管的数字显示呢

开发板使用的是普中科技的A2开发板,数码管是共阴数码管,听说共阳和共阴数码管显示字段不同~俺也不知道,只是做个学习记录ps:没听课找了百度找了好久呜呜呜~根据原理图上边的,一共分有a,b,c,d,f,g七个字段就给他一个低电平就可以电亮了按照dp,g,f,e,d,c,b,a这个顺序编码,再转化为十六进制即可/**************************************************************************************实验现象:下载程序
0次下载 2022-01-24 lhhgff

2片HC595怎样驱动四位数码管

MicroPython-On-ESP8266——数码管的使用,2片HC595驱动四位数码管1. 背景前面在使用四位数码管时,需要用来12个GPIO接口,结果咱micropython能驱动的esp8266开发板只有9个口能用,导致只能驱动两位数码管。还好动态扫描的机制是用到了。这回来学习第三个数码管,由两片72HC595位移寄存器芯片驱动的四位数码管。2. 位移寄存器芯片74HC595先了解一下这个74HC595芯片(收下简称595)是个什么东西又是如何工作的。2.1. 595原理图
24次下载 2022-02-17 linlin10

位数码管滚动显示相关资料分享

程序运行效果说明程序设计目标:8个数码管数值从右往左循环移动显示。测试方法说明:只需要一个电路板,将程序下载到STC板子上后,看到8个数码管从左到右分别显示0到7的八个数字,隔一段时间后显示1到8,接着是2到9,再接着是3到0……重复这样的规律显示,达到的效果是0到9这10个数字循环向左移动。程序相关电路及工作原理说明本电路图由8个数码管及相应的控制电路组成。图中LED部分不属于本程序控制范围。但是由于P2^3是数码管与发光二极管的共用引脚,因此在此列出。8个LED数码管是否显示由位选线决定。要控
0次下载 2022-02-18 caokyo

位数码管+流水灯设计原理图相关资料推荐

八位数码管+流水灯原理图思路:要使数码管和led亮起都与使能端E3相关,要使数码管与流水灯同时运行,需要在两者间快速切换,初始化先让数码管亮起,进入循环,每次循环先让使能端E3置0,进行数码管的动态扫描,然后使能E3置1,LED显示,计数并延时,计数达到50时,使LED左移,并将计数归零,重复这个过程。#define uint unsigned int#define uchar unsigned charuchar arrSeg7Select[] = {0x3f, 0x06, 0x5b,
22次下载 2022-02-18 茶缸子

74LS138译码器的应用程序和电路图免费下载

本文档的主要内容详细介绍的是74LS138译码器的应用程序和电路图免费下载。
14次下载 2020-05-27 0.03 MB Wildesbeast

74LS138高速的硅栅CMOS器件芯片学习参考手册

74LS138高速的硅栅CMOS器件芯片学习参考手册免费下载。
14次下载 2021-05-25 0.16 MB 姚小熊27

如何对八位数码管时钟电路进行仿真

电路图文件以及详细视频介绍请到B站评论区拿取仿真电路图系统设计1、方案(系统结构框图、器件选型)器件选型有:AT89C51模块,八位阳极数码管显示模块,两个独立按键模块,还有P1口作为I/O口需要外加上拉电阻的电阻排,由于仿真的单片机模块内有时钟电路以及复位电路,这里省略了。2、硬件设计与分析电路原理图如图所示,P0口作为I/O口时需要外加上拉电阻,外接了一个电阻排,P2口接两个锁存器,分别控制数码管的
1次下载 2021-07-21 河神大人

位数码管动态扫描原理图相关资料下载

八位数码管动态扫描原理图理解流水灯的基础上理解数码管就会比较简单了数码管的显示由段选和位选控制,P0-P7对应控制段选A-G和右下角的小数点(即H段,如下图),以数码管显示0为例,要显示0即除G段和H段都需亮起,即设置P0(7-0)为0x3F(0011 1111)8位数码管的位选由P2控制,P2.0,P2.1,P2.2组成的三位二进制数转化为位选,如第3个数码管(从1开始计数)对应P2设置为0x02代码中段选及位选分别保存在两个数组中,延时低,故快速扫描,看起来就是8个数码管同时亮#incl
5次下载 2022-02-18 Shype

arduino学习笔记13 - 4位数码管实验

这次我们进行的实验是使用arduino驱动一块共阳四位数码管。驱动数码管限流电阻肯定是必不可少的,限流电阻有两种接法,一种是在d1-d4阳极接,总共接4颗。这种接法好处是需求电阻比较少,但是会产生每一位上显示不同数字亮度会不一样,1最亮,8最暗。另外一种接法就是在其他8个引脚上接,这种接法亮度显示均匀,但是用电阻较多。本次实验使用8颗220Ω电阻(因为没有100Ω电阻,所以使用220Ω的代替,100欧姆亮度会比较高)。下图为4位数码管 4位数码管总共有12个引脚,小数点朝下正放在面前时,左下角为1,其他管脚顺序为逆时针旋转。左上角为最大的12号管脚。 下图为数码管的说明手册 下面是硬件连接图 。ARDUINO 代码复制打印//设置阴极接口int a = 1;int b = 2;int c = 3;int d = 4;int e = 5;int f = 6;int g = 7;int p = 8;//设置阳极接口int d4 = 9;int d3 = 10;int d2 = 11;int d1 = 12;//设置变量int del = 100;int buttoncount = 0;int loopcount = 0;void setup(){pinMode(d1, OUTPUT);pinMode(d2, OUTPUT);pinMode(d3, OUTPUT);pinMode(d4, OUTPUT);pinMode(a, OUTPUT);pinMode(b, OUTPUT);pinMode(c, OUTPUT);pinMode(d, OUTPUT);pinMode(e, OUTPUT);pinMode(f, OUTPUT);pinMode(g, OUTPUT);pinMode(p, OUTPUT);digitalWrite(a, HIGH);digitalWrite(b, HIGH);digitalWrite(c, HIGH);digitalWrite(d, HIGH);digitalWrite(e, HIGH);digitalWrite(f, HIGH);digitalWrite(g, HIGH);digitalWrite(p, HIGH);}void loop(){roulette(4);//轮转效果delay(100);zigzag(2); //Z字型效果delay(100);circles(4);//圈状效果delay(100);}void pickDigit(int x)//定义pickDigit(x),其作用是开启dx端口{digitalWrite(d1, LOW);digitalWrite(d2, LOW);digitalWrite(d3, LOW);digitalWrite(d4, LOW);switch(x){case 1: digitalWrite(d1, HIGH); break;case 2: digitalWrite(d2, HIGH); break;case 3: digitalWrite(d3, HIGH); break;default: digitalWrite(d4, HIGH); break;}}void clearLEDs()//清屏{digitalWrite(a, HIGH);digitalWrite(b, HIGH);digitalWrite(c, HIGH);digitalWrite(d, HIGH);digitalWrite(e, HIGH);digitalWrite(f, HIGH);digitalWrite(g, HIGH);digitalWrite(p, HIGH);}void roulette(int x)//设置轮转效果{loopcount = 0;while (loopcount < x){ digitalWrite(a, LOW); pickDigit(1); delay(del); pickDigit(2); delay(del); pickDigit(3); delay(del); pickDigit(4); delay(del); digitalWrite(a, HIGH); digitalWrite(b, LOW); delay(del); digitalWrite(b, HIGH); digitalWrite(c, LOW); delay(del); digitalWrite(c, HIGH); digitalWrite(d, LOW); delay(del); pickDigit(3); delay(del); pickDigit(2); delay(del); pickDigit(1); delay(del); digitalWrite(d, HIGH); digitalWrite(e, LOW); delay(del); digitalWrite(e, HIGH); digitalWrite(f, LOW); delay(del); clearLEDs(); loopcount++;}}void zigzag(int x)//设置Z字形效果{loopcount = 0;while(loopcount < x){ digitalWrite(a, LOW); pickDigit(1); delay(del); pickDigit(2); delay(del); pickDigit(3); delay(del); pickDigit(4); delay(del); digitalWrite(a, HIGH); digitalWrite(b, LOW); delay(del); digitalWrite(b, HIGH); digitalWrite(g, LOW); delay(del); pickDigit(3); delay(del); pickDigit(2); delay(del); pickDigit(1); delay(del); digitalWrite(g, HIGH); digitalWrite(e, LOW); delay(del); digitalWrite(e, HIGH); digitalWrite(d, LOW); delay(del); pickDigit(2); delay(del); pickDigit(3); delay(del); pickDigit(4); delay(del); digitalWrite(d, HIGH); digitalWrite(c, LOW); delay(del); digitalWrite(c, HIGH); digitalWrite(g, LOW); delay(del); pickDigit(3); delay(del); pickDigit(2); delay(del); pickDigit(1); delay(del); digitalWrite(g, HIGH); digitalWrite(f, LOW); delay(del); clearLEDs(); loopcount++;}}void circles(int x)//设置圈状效果{loopcount = 0;while (loopcount < x){ digitalWrite(a, LOW); digitalWrite(b, LOW); digitalWrite(f, LOW); digitalWrite(g, LOW); pickDigit(1); delay(250); digitalWrite(a, HIGH); digitalWrite(b, HIGH); digitalWrite(f, HIGH); digitalWrite(c, LOW); digitalWrite(d, LOW); digitalWrite(e, LOW); pickDigit(2); delay(250); digitalWrite(a, LOW); digitalWrite(b, LOW); digitalWrite(f, LOW); digitalWrite(c, HIGH); digitalWrite(d, HIGH); digitalWrite(e, HIGH); pickDigit(3); delay(250); digitalWrite(a, HIGH); digitalWrite(b, HIGH); digitalWrite(f, HIGH); digitalWrite(c, LOW); digitalWrite(d, LOW); digitalWrite(e, LOW); pickDigit(4); delay(250); clearLEDs(); loopcount++;}}再把下面代码复制下载到控制板中,看看效果。ARDUINO 代码复制打印//设置阴极接口int a = 1;int b = 2;int c = 3;int d = 4;int e = 5;int f = 6;int g = 7;int p = 8;//设置阳极接口int d4 = 9;int d3 = 10;int d2 = 11;int d1 = 12;//设置变量long n = 0;int x = 100;int del = 55;//此处数值对时钟进行微调void setup(){pinMode(d1, OUTPUT);pinMode(d2, OUTPUT);pinMode(d3, OUTPUT);pinMode(d4, OUTPUT);pinMode(a, OUTPUT);pinMode(b, OUTPUT);pinMode(c, OUTPUT);pinMode(d, OUTPUT);pinMode(e, OUTPUT);pinMode(f, OUTPUT);pinMode(g, OUTPUT);pinMode(p, OUTPUT);}void loop(){clearLEDs();pickDigit(1);pickNumber((n/x/1000)%10);delayMicroseconds(del);clearLEDs();pickDigit(2);pickNumber((n/x/100)%10);delayMicroseconds(del);clearLEDs();pickDigit(3);dispDec(3);pickNumber((n/x/10)%10);delayMicroseconds(del);clearLEDs();pickDigit(4);pickNumber(n/x%10);delayMicroseconds(del);n++;if (digitalRead(13) == HIGH){ n = 0;}}void pickDigit(int x)//定义pickDigit(x),其作用是开启dx端口{digitalWrite(d1, LOW);digitalWrite(d2, LOW);digitalWrite(d3, LOW);digitalWrite(d4, LOW);switch(x){case 1: digitalWrite(d1, HIGH); break;case 2: digitalWrite(d2, HIGH); break;case 3: digitalWrite(d3, HIGH); break;default: digitalWrite(d4, HIGH); break;}}void pickNumber(int x)//定义pickNumber(x),其作用是显示数字x{switch(x){default: zero(); break;case 1: one(); break;case 2: two(); break;case 3: three(); break;case 4: four(); break;case 5: five(); break;case 6: six(); break;case 7: seven(); break;case 8: eight(); break;case 9: nine(); break;}}void dispDec(int x)//设定开启小数点{digitalWrite(p, LOW);}void clearLEDs()//清屏{digitalWrite(a, HIGH);digitalWrite(b, HIGH);digitalWrite(c, HIGH);digitalWrite(d, HIGH);digitalWrite(e, HIGH);digitalWrite(f, HIGH);digitalWrite(g, HIGH);digitalWrite(p, HIGH);}void zero()//定义数字0时阴极那些管脚开关{digitalWrite(a, LOW);digitalWrite(b, LOW);digitalWrite(c, LOW);digitalWrite(d, LOW);digitalWrite(e, LOW);digitalWrite(f, LOW);digitalWrite(g, HIGH);}void one()//定义数字1时阴极那些管脚开关{digitalWrite(a, HIGH);digitalWrite(b, LOW);digitalWrite(c, LOW);digitalWrite(d, HIGH);digitalWrite(e, HIGH);digitalWrite(f, HIGH);digitalWrite(g, HIGH);}void two()//定义数字2时阴极那些管脚开关{digitalWrite(a, LOW);digitalWrite(b, LOW);digitalWrite(c, HIGH);digitalWrite(d, LOW);digitalWrite(e, LOW);digitalWrite(f, HIGH);digitalWrite(g, LOW);}void three()//定义数字3时阴极那些管脚开关{digitalWrite(a, LOW);digitalWrite(b, LOW);digitalWrite(c, LOW);digitalWrite(d, LOW);digitalWrite(e, HIGH);digitalWrite(f, HIGH);digitalWrite(g, LOW);}void four()//定义数字4时阴极那些管脚开关{digitalWrite(a, HIGH);digitalWrite(b, LOW);digitalWrite(c, LOW);digitalWrite(d, HIGH);digitalWrite(e, HIGH);digitalWrite(f, LOW);digitalWrite(g, LOW);}void five()//定义数字5时阴极那些管脚开关{digitalWrite(a, LOW);digitalWrite(b, HIGH);digitalWrite(c, LOW);digitalWrite(d, LOW);digitalWrite(e, HIGH);digitalWrite(f, LOW);digitalWrite(g, LOW);}void six()//定义数字6时阴极那些管脚开关{digitalWrite(a, LOW);digitalWrite(b, HIGH);digitalWrite(c, LOW);digitalWrite(d, LOW);digitalWrite(e, LOW);digitalWrite(f, LOW);digitalWrite(g, LOW);}void seven()//定义数字7时阴极那些管脚开关{digitalWrite(a, LOW);digitalWrite(b, LOW);digitalWrite(c, LOW);digitalWrite(d, HIGH);digitalWrite(e, HIGH);digitalWrite(f, HIGH);digitalWrite(g, HIGH);}void eight()//定义数字8时阴极那些管脚开关{digitalWrite(a, LOW);digitalWrite(b, LOW);digitalWrite(c, LOW);digitalWrite(d, LOW);digitalWrite(e, LOW);digitalWrite(f, LOW);digitalWrite(g, LOW);}void nine()//定义数字9时阴极那些管脚开关{digitalWrite(a, LOW);digitalWrite(b, LOW);digitalWrite(c, LOW);digitalWrite(d, LOW);digitalWrite(e, HIGH);digitalWrite(f, LOW);digitalWrite(g, LOW);}下面的代码与上面的效果一样,但是使用了数组方法进行简写,大家对比一下看看哪里不易一样。ARDUINO 代码复制打印//设置阴极接口int a = 1;int b = 2;int c = 3;int d = 4;int e = 5;int f = 6;int g = 7;int p = 8;//设置阳极接口int d4 = 9;int d3 = 10;int d2 = 11;int d1 = 12;//设置变量long n = 0;int x = 100;int del = 55;//此处数值对时钟进行微调byte segs[7 = { a, b, c, d, e, f, g };byte seven_seg_digits[10[7 = { { 0,0,0,0,0,0,1 },// = 0{ 1,0,0,1,1,1,1 },// = 1{ 0,0,1,0,0,1,0 },// = 2{ 0,0,0,0,1,1,0 },// = 3{ 1,0,0,1,1,0,0 },// = 4{ 0,1,0,0,1,0,0 },// = 5{ 0,1,0,0,0,0,0 },// = 6{ 0,0,0,1,1,1,1 },// = 7{ 0,0,0,0,0,0,0 },// = 8{ 0,0,0,0,1,0,0 }// = 9};void setup(){pinMode(d1, OUTPUT);pinMode(d2, OUTPUT);pinMode(d3, OUTPUT);pinMode(d4, OUTPUT);pinMode(a, OUTPUT);pinMode(b, OUTPUT);pinMode(c, OUTPUT);pinMode(d, OUTPUT);pinMode(e, OUTPUT);pinMode(f, OUTPUT);pinMode(g, OUTPUT);pinMode(p, OUTPUT);}void loop(){clearLEDs();pickDigit(1);lightSegments((n/x/1000)%10);delayMicroseconds(del);clearLEDs();pickDigit(2);lightSegments((n/x/100)%10);delayMicroseconds(del);clearLEDs();pickDigit(3);dispDec(3);lightSegments((n/x/10)%10);delayMicroseconds(del);clearLEDs();pickDigit(4);lightSegments(n/x%10);delayMicroseconds(del);n++;if (digitalRead(13) == HIGH){ n = 0;}}void pickDigit(int x)//定义pickDigit(x),其作用是开启dx端口{digitalWrite(d1, LOW);digitalWrite(d2, LOW);digitalWrite(d3, LOW);digitalWrite(d4, LOW);switch(x){case 1: digitalWrite(d1, HIGH); break;case 2: digitalWrite(d2, HIGH); break;case 3: digitalWrite(d3, HIGH); break;default: digitalWrite(d4, HIGH); break;}}void dispDec(int x)//设定开启小数点{digitalWrite(p, LOW);}void clearLEDs()//清屏{digitalWrite(a, HIGH);digitalWrite(b, HIGH);digitalWrite(c, HIGH);digitalWrite(d, HIGH);digitalWrite(e, HIGH);digitalWrite(f, HIGH);digitalWrite(g, HIGH);digitalWrite(p, HIGH);}// 点亮对应数字的数码管void lightSegments(int x) {for (int i = 0; i < 7; i++) { digitalWrite(segs[i, seven_seg_digits[x[i);}}
0次下载 2014-10-24 goyuqinghua

位数码管显示的制作。很简单。很容易实现。

`三位数显式电子计时器由NE555、CD40110构成:如图所示的电子计时器用于四驱式赛车的电子计时,赛车启动的同时将计时器启动,赛车停止时又立即将计时器停止。计时器所显示的数值即是赛车所消耗的时间。电路组成如图所示。电路由控制开关和电子计时器两大部分组成。其中电子计时器是由时基发生器和数显式电子计数器组成。(a)为原理图;(b)为控制开关电路。IC1、IC2、IC3为CD40110。 `
70次下载 2012-07-14 hukaipanwenjing

位数码管进行数字和字母的显示相关资料推荐

#include ***it dula=P2^6;//数码管段选 ***it wela=P2^7; //共阴数码管段选表0-9和A到Funsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void delay(unsigned int i...
0次下载 2022-03-01 vewwerwr

采用四位数码管实现时间的倒计时

目录实验目的:问题总结:实验目的:作为一个共享项目中的一部分,采用四位数码管实现时间的倒计时。问题总结:因为赠送的资料是arduino的程序,所以需要自己移植到stm32中。一开始以为TM1637用的是IIC通信协议,就在IIC的基础上进行更改。在csdn中找到的程序存在少许错误,如:两处的引脚定义不同(也不知道是不是故意的)经过修改后,修改的程序...
15次下载 2022-01-12 七上八下

51单片机的八位数码管的仿真

51单片机八位数码管1到F动态滚动显示仿真及程序动态滚动显示仿真及程序#include#define uchar unsigned char#define uint unsigned intuchar code DSY_CODE[]= {0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0x80,0x...
0次下载 2021-11-18 chunhuahua

超声波测距数码管显示四位数

#include #include//包涵了_nop_()函数声明typedef unsigned int unint;typedef unsigned char unchar;unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};***it dula = P2^6; ***it wela = P2^7;//TRIG 为控制端***it TRIG = P1^6; //超声波的 TRIG端插在了P1.6口//ECHO 为接收端***it ECHO = P1^7; //超声波的 ECHO端插在了P1.7口/*还有vcc,gnd 就直接插在了单片机 vcc 和gnd 端口了*也可以将其插在I/O引脚中 将插 vcc的引脚置高电平,gnd置低电平*/unchar flag = 0; //标志定时器是否溢出void delayed(unsigned int x); //延时xmSvoid delay_50us(); // 延时20msvoid init_time();//初始化定时器的函数void display(int num); //数码管显示函数 void main(){ int x;//用到就知道干什么用了//写程序时也不用急着将所有变量都定义了用到一个定义一个 unint time_data,out_TH0,out_TL0; TRIG = 0; // 先给控制端初始化为0 while(1) { /*超声波传感器的使用方法: 控制口发一个10US 以上的高电平,就可以在接收口等待高电平输出. 一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的, 此时就为此次测距的时间,方可算出距离.如此不断的周期测, 就可以达到你移动测量的值了*/init_time(); //初始化定时器flag = 0; //置溢出标志位为0//控制口发一个10US 以上的高电平TRIG = 1; delay_50us();TRIG = 0;//等待接收端出现高电平while(!ECHO);TR0 = 1; //启动计时器 开始计时while(ECHO); //等待高电平结束TR0 = 0; //关闭低电平out_TH0 = TH0; //取定时器的值out_TL0 = TL0;out_TH00; i--) {for(j = 113; j >0; j--); }}void init_time(){ TMOD = 0x01; //选择定时器0工作 工作方式为方式1 TH0 = 0; //装初值0 TL0 = 0; TF0 = 0; //中断溢出标志位 ET0 = 1; //开定时器中断 EA = 1; // 开总中断}void display(int num) //显示函数{ if(num == -1) //当超出范围 显示999 {dula = 1;P0 = table[6];dula = 0;P0 = 0xff;wela = 1;P0 = 0xc0; wela=1;P0 = 0xf7;wela = 0; } el…………限于本文篇幅 余下代码请从电子发烧友下载附件…………
18次下载 2018-10-20 顾凉城

位数码管动态显示学号

八位数码管动态显示学号,这个程序实现的效果是将程序下载到STC板子上后,可以看到8个数码管从左到右分别显示0到7的八个数字,隔一段时间后显示1到8,接着是2到9,再接着是3到0以此循环向左移动。首先我们先来看看数码管和发光二极管的硬件电路图需要明确的是,这个程序的是实现需要:LED灯亮且不会数码管同时亮。要让LED灯亮,首先需要将P0的8个引脚以及P2.3设置成推挽输出(工作模式)(这里对工作模式的设置方...
43次下载 2021-07-14 红粉小Q猪

如何用四位数码管显示外部中断的计数设计

用四位数码管显示外部中断的计数设计要求程序设计硬件设计知识补充P3端口中断IETCON设计要求  分别用两个开关使用中断操作实现计数和清零。目的就是搞清楚中断是如何工作的。CSDN文本编辑实现首行缩进的方法程序设计/*********************************************************************************...
4次下载 2021-11-23 overheat

位数码管的分类及其引脚

一、四位数码管1.四位数码管的分类四位数码管使一种半导体发光器件,其基本单元为发光二极管。按照发光二极管连接方式可以分为共阳极数码管和共阴极数码管。共阳数码管使指将所有发光二极管的阳极接在一起形成公共阳极的数码管。当某一字段发光二极管的阴极为高电平时,相应字段被点亮,当某一字段的阳极为低电平时,相应字段不亮。共阴数码管是指将所有发光二极管阴极接在一起形成公共阴极的数码管。当某一字段发光二极管的阳极为高电平时,相应字段被点亮,当某一字段的阳极为低电平时,相应字段不亮。2.四位数码管的引脚图引脚排
20次下载 2021-11-29 五斤麻辣油

如何实现74HC595驱动数码管显示

​4、数码管显示数码管驱动电路采用2片74HC595芯片进行IO扩展,仅仅只需3Pin即可驱动需要16位引脚的数码管。74HC595是一个8位串行输入、并行输出的位移缓存器。只有对74HC595的工作原理和时序要了解清楚,才能更好的理解和编程。工作原理:Ø1、74HC595是串行输入,即将一个字节Byte的数据通过8次以高低电平的形式送到数据引脚DS,且高字节先入,低字节***,类似于堆栈;Ø2、那么数据什么时候进入呢?需要SCK(SH_CP)时钟上升沿来讲8位bit数据移入到移位寄存器中
32次下载 2021-12-07 维生素B2

数码管动态显示四共阳极数码管

数码管动态显示四位共阳极数码管,段码给0显示main.c#include "sys.h"#include "delay.h"//#include "led.h"#include "num.h"int main(void){RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//系统时钟设置PLL作为系统时钟delay_init(); ...
8次下载 2021-08-04 hfgdf

138驱动数码管驱动程序(四-八)

Nixie_Tubesmg.h138和595控制数码管驱动头文件#ifndef __SMG_H#define __SMG_H#include "reg52.h"#include "delay.h"//---重定义关键词---//#ifndef u8#define u8 unsigned char#endif#ifndef u16 #define u16 unsigned int#endif#ifndef uchar#define uchar unsigned char#e
2次下载 2021-12-29

SN54LS138,SN54S138,SN74LS138,S

These Schottky-clamped TTL MSI circuits are designed to be used in high-performance memory decoding or data-routing applications requiring very short propagation delay times. In high-performance memory systems, these decoders can be use
8次下载 2010-08-12 896 wowhao

如何利用两个74HC595D驱动芯片控制位数码管显示

两个74HC595D驱动芯片控制三位数码管显示概述一.数码管引脚及使用概述1.1位数码管显示方式2.3位数码管3.3位数码管电路图二.74HC595D引脚及使用概述1. 74HC595引脚图2.两个74HC595D级联电路图三.利用程序控制三位数码管概述74HC595D芯片主要用于驱动点阵屏或者多位数码管显示等。如果不加驱动芯片,单纯用单片机来控制点阵屏或者数码管来显示,那就会浪费很多资源。拿数码管为例,控制一个数码管需要8个io引脚,如果是N个数码管,则需要用到N*8个io口,对于单片机来说占用
18次下载 2021-12-07 gXDhn

CCS和proteus联动仿真msp430控制位数码管显示数字相关资料分享

文章目录前言一、软件基础二、CCS生成需要的hex文件1.建立工程和设置2.写代码三、proteus搭建电路与载入hex总结前言又是一年电子信息杯,每年单片机都有很多人放弃,我那时在环境搭建上耗了很多时间这里分享一个我很早写的一个数码管显示的代码和整体流程,希望能对后来人有所帮助一、软件基础proteus和CCS(我用的是CCS9.3.0和proteus8.6)下载和安装破解只要在CSDN上搜索就行,这里给出两个链接,如果你按流程安装有问题欢迎评论区指出CCSproteus二、CCS.
7次下载 2022-02-15 南海姑娘

如何利用stm32的两片74hc595芯片控制2个4共阳极数码管

基于stm32的两片74hc595芯片控制2个4位共阳极数码管程序基于stm32的两片74hc595芯片控制2个4位共阳极数码管程序#include "stm32f10x.h"void delay2ms(void){unsigned char i,j;for(i=133;i>0;i--)for(j=6;j>0;j--);}void GPIO_Init666(){GPIO_InitTypeDefGPIO_InitStructure;/* 初始化IO接口
21次下载 2021-12-07 小香干

Labview数码管硬件控制

26次下载 2018-11-21 寒生秋水

析动态数码管控制的原理

文章目录分析动态数码管控制的原理编码实现效果数码管计数器数码管流水灯显示0~65535的数字计数器升级版模拟时钟分析动态数码管控制的原理可以看出来,P0寄存器的每一个bit分别与输入a~dp联系起来,当对应的引脚为高电平时,对应的LED则点亮。但是我们也可以发现每个8位数码管都是由输入a~dp进行控制的,那岂不是我们输入一个值,每个LED都呈现相同的内容了?但其实除了P0寄存器之外,P2的第2-4位作为了动态数码管的使能位,例如当这三位为1,1,1时,此时编号为0的寄存器处于使能状态,它可以输出发光
1次下载 2022-02-25 回头太晚

按键控制数码管的方法

/*****************按key1加一,按key2减一,按key3清零*******************/#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器typedef unsigned int u16; //对数据类型进行声明定义typedef unsigned char u8;***it LSA=P2^2;***it L...
0次下载 2022-01-07 joereil

位数码管显示模块

100次下载 2013-09-26 3335KB grc522
查看更多

暂无数据

上传资料赚积分

7天热门专题

换一换