找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3371|回复: 0
收起左侧

51单片机入门之五:数码管(动态)

[复制链接]
ID:117358 发表于 2016-4-30 05:14 | 显示全部楼层 |阅读模式
本文旨在介绍单片机入门的基础知识,为初接触或即将接触单片的新手提供一个入门指导。本文章会陆续推出,隔几天一个章节。希望对广大即将接触单片机的人有所帮助,如果有错误欢迎回帖指出与本人交流或加入QQ143586739.
由于电脑系统重装,PROTEUS没有找到破解版,本章就不做仿真了,直接上电路图和程序讲解。
上一章简单介绍了数码管的静态显示,主要是讲解数码管显示数据的原理,这种方法的优点是硬件电路简单编程思路明晰,但是却浪费单片机的IO口。数码管的动态显示(使用专用芯片)可以做到节省IO的目的。
动态显示的原理:动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。

图中使用两片74HC595驱动4位数码管(本例其实可以驱动8位),DAT,RCK,CLK是直接连接到单片机引脚的,由此可以看出只需要使用3个IO接口驱动8位数码管,大大节省了IO资源。本例中使用共阳数码管,调节R38,R39,R40,R41可以改变字段的亮度。
硬件分析:
数码管的段选都是连在一起的,显示的时候通过片选来确定要点亮哪一片数码管,然后让片选要依次选通就可以实现数据动态显示。

这里用的是LPC11C14单片机,图中的宏定义使用了三目运算符。


第52行,写数据前将CLK拉低;
第53行,先判断高位,高位有数据则将数据送至74HC595;
第55行,数据移位;

该函数的目的是让RCK产生一个上升沿,因为74HC595在RCK处于上升沿的时候才将数据锁存并显示。

第91,92,93,94,95行,分离数据的个,十,百位;
第97,98行,控制片选;
动态显示就是这个效果:

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表