原创 74HC164驱动数码管

2009-11-12 13:19 4209 10 10 分类: MCU/ 嵌入式

          74HC164是串行输入,并行输出接口器件,可用在单向的并行输出/并行地址锁存等. 74HC164因为价格便宜,容易使用特别适合使用在在需要用到数码管显示IO口又比较紧张的电子产品中,这次用em78p153做了个东西,正好用74hc164外扩的数码管,下面浅谈使用方法:


1. 首先先了解他的引脚功能和逻辑图,如下图:


122158817857.jpg
图1  引脚名称和用途


点击看大图


图2 真值表


通过真值表我们可以了解到,A,B两个输入端是互锁的,CLK上升沿时数据移入移位寄存器中,CLEAR为清零用的,接低电平时所有端口都输出低电平,了解了真值表之后开始运用。


注意:通过查看164的规格书发现,164输出高电平电流比输出低电平电流要小,亦称灌电流大,扇出电流弱,所以适合选用共阳数码管。


send_data_164:


         mov     dat_164,a         ; 存入数据
         mov     a,@8
         mov     temp,a            ; 8位
send_164_loop:
         bc      port6,hc164_sck   ; scl="0"
         bs      port6,hc164_sda   ; sda="1"
         bc      psw,c             ; c="0"
         rlc     dat_164           ; 1<<dat_164
         jbs     psw,c             ; c?
         bc      port6,hc164_sda   ; c="0"  sda="0"
         ;rising edge
         bs      port6,hc164_sck   ; c="1"  scl="1"
         djz     temp              ; cnt_164=cnt_164-1
         jmp     Send_164_loop   
send_data_164_end:
ret

文章评论0条评论)

登录后参与讨论
相关推荐阅读
412922521_325344472 2009-11-15 00:44
通用按键消抖函数 -- 数据与过程分离
AUTO:  nicksean 不务正业          项目里经常处理按键消抖, 本来这个消抖的过程是与具体按下的键无关的, 可以前的代码总是在消抖的同时处理具体的按键值, 再加上长按 短按 组合...
412922521_325344472 2009-11-13 13:16
液晶ST7920串行显示
液晶显示128*64以7920为主控制器,采用3线制,比较经济简单。代码如下.....
412922521_325344472 2009-11-13 13:11
DS18B20 C51完整版
使用WINBOND W78C516单片机,11.0592MHZ晶振,用共阳LED数码管P0口输出段码,P1口扫描/*******************************************...
412922521_325344472 2009-11-10 20:13
at24c512多字节读写函数 欢迎测试
刚写的at24c512多字节读写函数,欢迎测试。/********************************************************************函数功能:EE...
412922521_325344472 2009-11-10 19:59
旋转编码器
    很好的旋转编码器的读码程序,设旋转编码器的输出波形如下                 ______        ______        ______        ______正转时:...
我要评论
0
10
1
2
3
4
5
6
7
8
9
0
关闭 热点推荐上一条 /4 下一条