74hc595和74ls164一样,也是串入并出的移位寄存器。
它们经常出现在单片机系统中,用来扩充并行输出接口。
看过一些资料,送往74hc595的串行信号,基本上都是用单片机并行接口的某个位,模拟spi的时序,输出出来的。
这种方法,灵活性是它的优点,速度低是它的缺点。
如果使用51单片机的串口方式0,就可以得到更高的速度和更简练的编程方法。
在一般的单片机教材上,讲到串口方式0的时候,都给出了用164扩充并口的方法。但是对595这个后起之秀,介绍甚少。
其实,595和164的功能是一样的,只是多了一个“更新输出”的控制引脚。
下面,做而论道介绍使用四片74hc595扩充四个8位接口、驱动数码显示器的方法。
电路如下所示:
注意:电路图中省略了限流电阻。实际制作时,在每个段,串联1k左右的电阻即可。
这个显示电路,是属于静态显示的方法,不需要经常的调用显示子程序,使用起来非常方便。
这个显示电路,仅仅画出了四片595,实际上,可以仿照现在电路的结构,继续级连下去。当然,级连过多,会导致信号不稳定,那就要加上驱动电路了。
这个显示电路,实际上也就是led点阵屏幕上,“显示一行”的驱动电路。如果配上16行的译码电路,就可以驱动16×32的点阵屏幕了。
用74hc595驱动数码管的程序如下。
;用595并行输出带动4个数码显示器。
;=============================================
org 0000h
sjmp start
;-----------------------------------------------------------------
start:
mov scon, #0 ;设置串口方式0
mov 30h, #1 ;在显示缓冲区写入数字:8031
mov 31h, #3
mov 32h, #0
mov 33h, #8
call txd_595 ;显示
ljmp $ ;此处可以执行其它程序,不必经常调用显示程序
;-----------------------------------------------------------------
;串口发送到595的子程序。
;-----------------------------------------------------------------
txd_595:
mov r0, #30h ;显示缓冲区首址
txd_b:
mov a, @r0 ;取来待显示的数据
add a, #(tab - $ - 3)
movc a, @a+pc ;查出七段码
mov sbuf, a ;串口输出8位数
inc r0
jnb ti, $ ;等待输出完毕
clr ti ;很快,8us(@12mhz)即可输出完8位数
cjne r0, #34h, txd_b ;共输出4字节
clr p3.2 ;令595更新显示
setb p3.2 ;用164,这两行就免了
ret
tab:
db 0c0h,0f9h,0a4h,0b0h, 99h, 92h, 82h,0f8h ;共阳极0-7显示代码
db 80h, 90h, 88h, 83h,0c6h,0a1h, 86h, 8eh ;共阳极8-f显示代码
可编程直流电源DP5000系列的特点
轮速传感器的分类以及工作原理解析
马斯克称特斯拉造出了全世界最先进的自动驾驶计算机
Call短路触发版本SIP对讲求助终端SV-2701VP介绍
5G室内和室内的同频组网测试分析
三分钟完全掌握利用74HC595在串行口扩充8位的并行输出接口
红外收发工作原理
协作机器人或将在10年内成市场主流
无人机与热成像的结合的定点巡检监控应用案例
堵住电流泄漏:摩尔定律在晶体管发展中继续有效
莱迪思半导体推出适用于无线光纤应用的千兆级基带处理器
TI 汽车用电源参考设计
人形机器人或将成为未来机器人主流
华宇电子与您相约IC China 2022
光敏电阻具有什么特点
防倾倒开关倾倒断电保护的应用及选型
三星树立现代家居新标准,重构家用电器用途
Silicon Labs推出相对湿度单芯片感测器Si7005
高集成SMBus电池充电器MAX17435/MAX17535
OPPO预计2017年出货量达1.2亿台 在东南亚市场受欢迎