2011毕业设计实例(论文正文)(20)

时间:2026-01-22

路板空间。

本电路采用共阳极数码管5461BH进行动态显示,通过动态显示可轮流显示实时温度与设定时间,这有利于节省I/O口。用P2.0~P2.3口作为位选控制,P0.0~P0.7口传输要显示的数据,数据线和位选线直接AT89C52单片机的I/O口即可,因为I/O输出电流很小所以可以用9012(PNP)三极管对LED做一下驱动。

动态显示,通常是将所有位的段选线相应的并联在一起,由一个8位I/O口控制,形成段选线的多路复用,而各位的共阳极分别由相应的 I/O口控制,实现各位的分时复用。由于各位的段选线并联,段码的输出对各位来说都是相同的。因此,同一时刻,如果各位位选都处于选通状态的话,所有位LED将显示相同的字符。若要各位LED能够显示出与本位相应的数字,就必须采用扫描的方式,即在某一时刻只让某一位的位选线选通,而其他各位的位选线处于关闭状态,同时,段选位上输出相应位要显示字符的段码。这样在同一时刻只有一个数码管显示字符,而其它数码管则是熄灭的。同样,在下一时刻,只让下一位数码管显示,其它数码管熄灭。如此循环下去,就可以使各位数码管显示出将要显示的字符,虽然这些字符不是同时出现的,在同一时刻,只有一位数码管显示,其它各位熄灭,但由于LED数码管的余晖和人眼的视觉暂留作用,只要每位显示时间间隔足够短则可造成多位同时亮的假象。但每一位的显示时间不能太短,因为发光二极管从导通到发光有一定的延时,导通时间太短,发光太弱人眼无法看清。但也不能太长,因为毕竟要受限于临界闪烁频率,而且此时间越长,占用的CPU时间也多。

此电路就是当传感器检测到温度后传给单片机,单片机经过判断输出脉冲,然后调用数码管内的程序,最后显示当前温度及时间。为了区分数码管轮流显示的是时间还是实时温度在数码管的最后一位做了区分,当最后一位显示C时,则表示当前显示的是实时温度,当最后一位显示的是F时,则表示当前数码管显示的是时间。从DS18B20读取出的二进制值必须先转换成十进制值,才能用于字符的显示。DS18B20的转换精度为9~12位可选项的,为了提高精度采用12位,在采用12位转换精度时,温度寄存器里的值是以0.0625为步进的,即温度值为温度寄存器里的二进制值乘以0.625,就是实际的二进制温度值。其电路图如3.6所示。

- 20 -

2011毕业设计实例(论文正文)(20).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:4.9 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:19元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219