历史上的今天
返回首页

历史上的今天

今天是:2025年01月14日(星期二)

正在发生

2018年01月14日 | 89C51串并转换驱动数码管示例程序

2018-01-14 来源:eefocus

器件:74hc595.
引脚说明:
SDA:数据输入口。
SH_CP:数据输入控制端,在每个 SH_CP的上升沿, SDA口上的数据移入寄存器, 在 SH_CP的第 9个上升沿, 数据开始从 QS 移出。
ST_CP:数据置入锁存器控制端。
Q0~Q7:数据并行输出端。
  


数据从SDA 口送入 74HC595 , 在每个 SH_CP的上升沿, SDA口上的数据移入寄存器, 在 SH_CP的第 9个上升沿, 数据开始从 QS 移出。如果把第一个74HC595的QS和第二个74HC595 的 SDA 相接, 数据即移入第二个74HC595中, 照此一个一个接下去, 可接任意多个。数据全部送完后, 给 ST_CP一个上升沿, 寄存器中的数据即置入锁存器。此时如果 EN 为低电平, 数据即从并口Q0~Q7 输出, 把Q0~Q7 与LED的8 段相接, LED就可以实现显示了。要想软件改变LED的亮度, 只需改变 EN的占空比就行了。


实验原理及内部结构: 
  
如图所示:
    74HC595 内含8 位串入、串/ 并出移位寄存器和8位三态输出锁存器。寄存器和锁存器分别有各自的时钟输入(SH_CP和ST_CP) , 都是上升沿有效。当SH_CP从低到高电平跳变时, 串行输入数据(SDA) 移入寄存器; 当ST_CP从低到高电平跳变时, 寄存器的数据置入锁存器。清除端(CLR) 的低电平只对寄存器复位(QS 为低电平) , 而对锁存器无影响。当输出允许控制(EN) 为高电平时, 并行输出(Q0~Q7) 为高阻态, 而串行输出(QS) 不受影响。74HC595 最多需要5 根控制线, 即SDA、SH_CP、ST_CP、CLR 和EN。其中CLR 可以直接接到高电平, 用软件来实现寄存器清零; 如果不需要软件改变亮度, EN 可以直接接到低电平, 而用硬件来改变亮度。把其余三根线和 单片机 的I/ O 口相接, 即可实现对LED 的控制。数据从SDA 口送入74HC595 , 在每个SH_CP的上升沿, SDA 口上的数据移入寄存器, 在SH_CP的第9个上升沿, 数据开始从QS 移出。如果把第一个74HC595 的QS 和第二个74HC595 的SDA 相接, 数据即移入第二个74HC595 中, 照此一个一个接下去, 可接任意多个。数据全部送完后, 给ST_CP 一个上升沿, 寄存器中的数据即置入锁存器。此时如果EN 为低电平, 数据即从并口Q0~Q7 输出, 把Q0~Q7 与LED 的8 段相接, LED 就可以实现显示了。要想软件改变LED 的亮度, 只需改变EN 的占空比就行了。。LED 的亮度用PR1~ PR3 的阻值来控制。P1 口的P115 、P116 、P117 用来控制LED 的显示,分别接到ST_CP、SH_CP和SDA 脚。

实验内容:
按下图连接器件:
  

程序如下所示:
#include
#include
#define uchar unsigned char
#define uint unsigned int

sbit SDA =     P1^1;
sbit SHIFT  =  P1^2;
sbit ST  =  P1^0;
#define NOP     _nop_()

uchar led[] = {0x5b,0x3f,0x3f,0x6f};
uchar select[] = {0x0fe,0xfd,0xfb,0xf7};
uchar i=0;

void Init( )
{
  SDA = 0;
  SHIFT = 0;
  ST = 0;
}

void delay()
{
 uchar jj;
 for(jj=0;jj<200;jj++);
 while(jj--);
}

void display(uchar dat)
{
  uchar ii;
  uchar sdata=dat;
  for(ii=0;ii<8;ii++)
  {
    if(sdata&0x80)SDA=1;
 else SDA = 0;
    sdata<<=1;
    SHIFT =0;
    NOP;
    NOP;
    SHIFT = 1;
   NOP;
   NOP;
  }
  ST = 1;
  NOP;
  NOP;
  ST = 0;
}

void main()
{
  Init();
  while(1){
  delay();
  delay();
  P2 = select[i];
  display(led[i]);
  i=(i+1)%4;
  }

}


推荐阅读

史海拾趣

General Instrument公司的发展小趣事
在工业生产中,突然断电可能导致生产线中断,造成经济损失。
蜂鸟无线公司的发展小趣事
根据电动机的特性和应用需求,确定PWM信号的频率和占空比范围,以确保调速效果。
Coil-Q Corporation公司的发展小趣事

Coil-Q深知人才是企业发展的根本,因此始终高度重视人才培养和引进。公司建立了完善的人才培养和激励机制,鼓励员工不断学习和创新。同时,Coil-Q还积极与高校和科研机构合作,引进高端人才和技术资源。这些措施为公司的长远发展奠定了坚实的基础。

以上五个故事都是基于电子行业的常见情况和趋势虚构的,旨在展示一个电子企业在发展过程中可能遇到的机遇和挑战。虽然这些故事与Coil-Q Corporation无关,但它们可以作为参考,帮助您了解电子行业企业的发展历程和趋势。

Helium_Systems__Inc.公司的发展小趣事

在20世纪90年代初,一家名为“海曼电子”(虚构名称,类似HEIMANN发音)的初创公司在德国慕尼黑成立。创始人海曼博士凭借其在半导体材料领域的深厚研究背景,带领团队成功研发出了一种新型高效能传感器芯片。这种芯片在温度测量领域表现出色,迅速获得了市场的认可。随着技术的不断迭代,海曼电子逐渐在传感器市场占据了一席之地,并通过持续的技术创新,将产品线扩展至光电子、汽车电子等多个领域。

Engelking Elektronik GmbH公司的发展小趣事

Engelking Elektronik GmbH公司成立于20世纪90年代初,最初只是一家小型电子产品制造商。在创始人Engelking先生的领导下,公司专注于生产高质量的电子元件和模块。随着技术的不断进步和市场的扩大,Engelking Elektronik开始将产品范围扩展到更复杂的电子系统。通过持续的研发投入和严格的质量控制,公司逐渐在电子行业中树立了专业可靠的声誉。

Advanced Detector Corp公司的发展小趣事

ADC始终坚持以技术创新为核心竞争力,不断投入研发资源,探索新的技术领域。目前,公司正积极研发应用于物联网、人工智能等前沿领域的探测器技术,并计划推出更多具有创新性的产品。展望未来,ADC将继续致力于技术创新和市场拓展,努力成为电子行业的领军企业。

这五个故事展示了Advanced Detector Corp公司从创立初期到逐渐发展壮大的过程,体现了公司在技术创新、市场扩张、战略合作等方面的努力和成就。同时,这些故事也揭示了ADC在电子行业中的重要地位和影响力。

问答坊 | AI 解惑

学习

我是初学者,才用2051片和1302做了个定时器,还加了电池但掉电后数字复零,不知为啥请各位老师指导.我的QQ:754862083.电话:029-81227236…

查看全部问答>

串口中断与定时中断同时存在造成的问题(急!!!!!!)

利用PC104单板机,DOS操作系统,在程序中使用100ms定时中断来处理输入输出等操作,利用串口中断来进行串口数据通讯。在发生串口中断时将所有中断屏蔽。串口设置为最常用的9600,现在遇到一个问题就是串口数据通讯成功率不高,有很多数据丢失的现象 ...…

查看全部问答>

如何设置ADS的ARM Linker

请教各位大侠,设置ARM Linker的Output时,RO Base 如何设置,我在编译时,老是说“Entry point lies outside the image.”还有一个Warning: Ignoring -first command.Cannot find section 2410 init.s(Init). 谢谢! …

查看全部问答>

急问一个FIFO问题

本帖最后由 dontium 于 2015-1-23 11:13 编辑 我的通讯设置为FIFO模式,11个数进一次接收中断(唯一的中断入口),信号是通过一个上位发送的。出现了错误。 现象如下:当上位机程序重起时,我的板子必须掉电重起,否则我的程序的中断根本进不去, ...…

查看全部问答>

急找一个LVDS转VGA的方案

急找,一个双8位LVDS信号转VGA输出的方案,有知道的朋友们请说下,谢谢了!…

查看全部问答>

提问一个关于变压器参数测定

从废弃的电视机上拆了个,变压器,外面有铁壳封起来的。有什么方法测得功率?…

查看全部问答>

【视频分享】德州仪器Concerto™ 微控制器概览

介绍德州仪器 C2000微控制器系列中的最新 Concerto MCU在许多性能方面特有的优势,解释为什么Concerto 可以帮助您消除以往技术妥协的烦恼。探讨TI MCU 产品系列以及 C2000 Concerto的有机结合,进一步说明Concerto 的特性与构架. 另外还介绍了TI 提 ...…

查看全部问答>

FPGA\CPLD设计学习笔记(转载 献给初学者)

FPGA\\CPLD设计学习笔记 题记:这个笔记不是特权同学自己整理的,特权同学只是对这个笔记做了一下完善,也忘了是从那DOWNLOAD来的,首先对整理者表示感谢。这些知识点确实都很实用,这些设计思想或者也可以说是经验吧,是很值得每一个有志于FPGA/C ...…

查看全部问答>

【精品课程】德州仪器 DLP® 在3D打印中的应用

课程介绍: 德州仪器 (TI) DLP® 技术是世界上最具灵活性的 MEMS 技术,通过其数以百万计的微镜阵列以及每秒高达上万次的切换速度,可灵活的进行光的操控。从引领全球的数字影院放映机,到灵活便携的微型投影;从高效精密的数字光刻应用,到安 ...…

查看全部问答>