注册 登录
编程论坛 单片机编程

求助:关于74ls164

云月 发布于 2010-05-30 12:27, 982 次点击
74ls164连接数码管,如何编码0到9的编码?
3 回复
#2
软编小虫2010-05-30 15:23
晕倒,74LS164是移位寄存器,干嘛用它来编写0~9的编码呢?没事儿呀,但也不是不可,因为它是以串行形式输入的,你必须以一组有序的CP驱动脉冲把串行的数据打入内部寄存器中,然后才可读取它们的驱动信号,那将是非一般人可轻松解决的。。。。
用7446编,它的输入端口是BCD码形式输入,用一个数组放入BCD码就行,然后它的输出端口便输出驱动数码管的8位驱动信号。
#3
云月2010-05-30 21:48
可是我的一个实验必须要用74ls164,怎么办?
#4
软编小虫2010-06-01 09:20
呵呵,兄弟,不好意思,前几天考虑错了,还以为你用的74164的CP时钟是用自已自制的振荡电路产生的呢。如果是用C51,那事情就简单多了,首先你把C51的RXD引脚做为串口输出(输出你所要的数码)接到74164的A引脚,TXD做为CP脉冲,接到74164的CLOCK。编个程序,把你所要显示的数据反映到P2寄存器上,然后把P2上的数据存入SCON串行寄存器中,用一个WHILE(TI==0);循环进行P2数据传出便可,当SUON的数据完全输出后,系统将对TI置1,些时你必清除TI(TI=0,清除便可),然后结束一个字节的数据输出。
1