驱动数码管.doc

上传人:scccc 文档编号:13962735 上传时间:2022-01-28 格式:DOC 页数:4 大小:24KB
返回 下载 相关 举报
驱动数码管.doc_第1页
第1页 / 共4页
驱动数码管.doc_第2页
第2页 / 共4页
驱动数码管.doc_第3页
第3页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《驱动数码管.doc》由会员分享,可在线阅读,更多相关《驱动数码管.doc(4页珍藏版)》请在三一文库上搜索。

1、器件:74hc595.引脚说明:SDA :数据输入口。SH_CP :数据输入控制端,在每个 SH_CP的上升沿,SDA 口上的数据移入寄存器 在SH_CP的第9个上升沿,数据开始从 QS移出。ST_CP :数据置入锁存器控制端。Q0Q7 :数据并行输出端。数据从SDA 口送入74HC595 ,在每个SH_CP的上升沿,SDA 口上的数据移入寄 存器,在SH_CP的第9个上升沿,数据开始从 QS移出。如果把第一个 74HC595的 QS和第二个74HC595的SDA相接,数据即移入第二个 74HC595中,照此一个一个接 下去,可接任意多个。数据全部送完后,给ST_CP 一个上升沿,寄存器中的数

2、据即置入锁存器。此时如果EN为低电平,数据即从并口 Q0Q7输出,把Q0Q7与LED的8 段相接,LED就可以实现显示了。要想软件改变LED的亮度,只需改变EN的占空比就行了。实验原理及内部结构:如图所示:74HC595内含8位串入、串/并出移位寄存器和 8位三态输出锁存器。寄存器和锁存器分别有各自的时钟输入(SH_CP和ST_CP),都是上升沿有效。当SH_CP从低到高电平跳变时,串行输入数据(SDA)移入寄存器;当ST_CP从低到高电平跳变时,寄存器的数据置入锁存器。清除端(CLR)的低电平只对寄存器复位 (QS为低电平),而对锁存器无影响。当输出允许控制(EN)为高电平时,并行输出(Q0

3、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 中,照 此一个一个接

4、下去,可接任意多个。数据全部送完后,给ST_CP 一个上升沿,寄存器中的 数据即置入锁存器。此时如果EN为低电平,数据即从并口 Q0Q7输出,把Q0Q7与LED的8段相接,LED就可以实现显示了。要想软件改变LED的亮度,只需改变EN 的占空比就行了。 。LED的亮度用PR1PR3的阻值来控制。P1 口的P115、P116、 P117用来控制LED的显示,分别接到 ST_CP、SH_CP和SDA脚。实验内容:按下图连接器件:程序如下所示:#in elude #i nclude vintrin s.h#define uchar unsigned char#define uint unsigned

5、 intsbit SDA = P1A1;sbit SHIFT = PM2;sbit ST = P1A0;#defi ne NOP _nop_()uchar led = 0x5b,0x3f,0x3f,0x6f;uchar select = 0x0fe,0xfd,0xfb,0xf7;uchar i=0;void In it()SDA = 0;SHIFT = 0;ST = 0;void delay()uchar jj;for(jj=0;jj200;jj+); while (jj-);void display(uchar dat)uchar ii;uchar sdata=dat;for (ii=0;ii8;ii+)if (sdata&0x80)SDA=1;elseSDA = 0; sdata=1; SHIFT =0; NOP; NOP; SHIFT = 1; NOP; NOP;ST = 1;NOP;NOP;ST = 0;void main()In it();while (1)delay();delay();P2 = selecti; display(ledi); i=(i+1)%4;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1