资源描述:
《74HC164应用实例:驱动数码管两例(电路图和源程序)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、4HC164应用实例:驱动数码管两例(电路图和源程序) 文章编号:100816210758文章分类:电路 > 电子元件点击:...关键词:74HC164文章来源:百合电子工作室收集整理摘要:74HC164应用实例:驱动数码管的两个实例分别提供了汇编源程序和C源程序...实例1 74HC164是串行输入,并行输出接口器件,可用在单向的并行输出/并行地址锁存等.74HC164因为价格便宜,容易使用特别适合使用在在需要用到数码管显示IO口又比较紧张的电子产品中,下面浅谈使用方法:1.首先先了解他的引脚功能和逻辑图,如下图:图1 引
2、脚名称和用途 图2真值表通过真值表我们可以了解到,A,B两个输入端是互锁的,CLK上升沿时数据移入移位寄存器中,CLEAR为清零用的,接低电平时所有端口都输出低电平,了解了真值表之后开始运用了,先给出如下原理图: 图3原理图图中,采用义隆的EM78P153作为控制芯片,P50作为CLK时钟信号,注意平时数据不传输时,时钟信号是不发送的应一直保持低电平或者高电平,数据需要传输的时候才输出时钟信号^_^,继续P51作为移位数据输出端,接到74HC164的B端,A端接高电平,当然也可以AB端短路,然后连接到DATA移位数据端,P52
3、作为数码管的选通信号(也可以叫消隐^_^),作用是使数据传输过程暂时关闭显示,以免显示出不需要的数据,原因是应为164不带锁存功能,数据传输过程是一位一位的向高位移位输出的,所以要等数据全部移入后才打开始点亮数码管.注意了哦,通过查看164的规格书发现,164输出高电平电流比输出低电平电流要小,亦称灌电流大,扇出电流弱,所以适合选用共阳数码管,如图,本人偷懒没有画出那个数码管的8字该介绍的介绍的差不多了,废话少说,该开始干活了,任务是: 显示0-9每秒+1,到9后又返回0,一直循环显示,根据任务得到如下流程图:1. 显示部分:
4、将需要显示的数值送入A==>查表求得显示段码==>将段码逐位移入164==>8位移完后点亮数码管==>延时==>返回第一步执行2.中断部分: 进入中断==>保存现场(以备调查取证,送你入狱^_^)==>重置TCC==>够1秒钟将需要显示的数据+1,并重置,不够就退出;根据以上要求就开始写代码调试了,要注意一点,数据移位时一定要记得高位在前哦,否则显示错误别怪我没有说清楚,我当年实验时就因为这个数据移位方向反了排查了半天,甚至以为是时钟频率不对,又以为时许不对.....搞了半天,NND后来重看DATASHEET才发现,原来是低
5、级错误啊,呜呼哀哉.......,希望你不要重蹈我覆辙,哎哟!!谁!谁!谁扔砖头上来? 啥?你扔的?我废话太多.........,那俺少来两句,继续上菜,咦好像没啥可说的了,上源程序吧 1.;中断部分: 2. 3.;;;;;;;;;;中断;;;;;;;; 4.INTPUT: 5. MOV TEMPA, A; 6. MOV A,@130; 7. MOV TCC,A;255-130=125 8. CLR RF; 9. ;;;;;此处填写250Us处理程序 10. BS WKREG,T500US 11.
6、;;;;;;;;;;;;;;;;;;;;;;;;; 12. DJZ R1MS 13. JMP INTEXT; 14. MOV A,@4 15. MOV R1MS,A;重置 16. BS WKREG,T1MS 17. ;;;;;;;此处填写1ms处理程序 18. 1. ;;;;;;;;;;;;;;;;;;;;;;;;;; 2. DJZ R20MS 3. JMP INTEXT; 4. MOV A,@20 5. MOV R20MS,A;重置 6. ;;;此处填写1秒处理程序
7、 7. BS WKREG,T20MS 8. ;;;;;;;;;;;;;; 9. DJZ R1S 10. JMP INTEXT; 11. MOV A,@50 12. MOV R1S,A; 13. ;;;;;;;;; 14. INC NUMBER 15. MOV A,NUMBER 16. SUB A,@10 17. JBS SR,2 18. JMP INTEXT 19. MOV A,@0 20. MOV NUMBER,A 21. 22. 23. INTEXT: 24.
8、 MOV A,TEMPA; 25. RETI;;;;;;;;;;;;;;;;;;;;; 26. 27. 28. 29. 30. 31.;显示部分: 32. 33.;==============TXDATA============== 34.TXDA