- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
avr多位数码管原理及其操作
PSoC 联合实验室
ATmega16 单片机第三课
多位数码管的静态与动态显示
编写人:柳晟
时间:2013 年4 月6 日
1
一.多位数码管的原理
在此,我们用常见的四位数码管作为我们的研究元
件,常见的也有2 位数码管,8 位数码管。其道理都是
一样的。
这是一个四位数码管的标准封装方式,数字1 到4
表示数码管的 1 到4 位,同一位数码管一样,a~dp 是
代表不同段。
在此段位我就不多讲了。
可能会有人问为什么没有VCC ?或者GND ?
答:1~4 就是它的VCC 或者GND ;
我们要学的就是怎么样去用芯片点亮它。
二.多位数码管的发光方式
大家都知道,数码管和二极管一样,只有在有电势差时
会有电流流过而点亮。由于没有国际化的标准,所以数码管
2
也分共阳和共阴,我不给大家科普共阳和共阴是什么玩意,
这个实在不知道的说明你真的有点掉队了,解决方法就是自
己 百度。
在这我们要让它发光,很简单,和一位数码管一样。只
不过它多了一个选位。顾名思义就是让第几位亮,让第几位
不亮。或者几位一起亮。
看这个例子。
假设:这个电路中我们将数码管段选(a~dp )接在芯片 PA0~7,位选 (1~4)接
在芯片 PB (0~3 );☞这个数码管是共阳极,也就是位选必须输出+,段选-才能
工作。
先让第一位亮一个0 吧,其实对比一位管子,就多了个位选。
#includeiom16v.h //头文件 不解释
void main()
{
DDRA=0xff;
DDRB=0xff;
While(1)
{
PORTB=0x01; //让位选在PB0 也就是位选1 上输出一个高电压(共阳)
PORTA=0xc0;
}
}
好了,这个功能实现了。很简单。是吧。自己试着改改让它随你想让第几位
输出一个数字。然后你发现了么,你若2 位以上输出好几位都是同一个数字。
这怎么办。你若想给你女朋友输出个520 岂不没希望了?
希望还是有滴,这就牵扯到数码管的动态扫描
☞好,继续往下走
三.多位数码管的动态扫描
刚才上面说了那么多,也就是说了一个静态的显示
方式,但是它不能每一位数码管都显示一个不同的数字,
3
因为你没有让他 “动起来”。
什么?动起来?
什么叫动态。就是一直在不停的动,让你的肉眼分
辨不来,所以你看起来就是静止的几个数。
让我们来仔细分析下。
如果在刚才的程序里。我在后面加上让第二位打开,
然后输出一个1,怎么,能实现数码管显示一个0 1 么?
答案当然不能,你可以看看现在数码管的状态。
位选1.2 都是高电平,段选输出的是一个数字1.
那么你的开发板是显示的肯定是。2 个1 咯。
你还没有让它动起来。
所谓动,就是:
1. 打开第一位数码管 输出0
2. 关闭第一位数码管 打开第二位数码管 输出1
3. 重复执行1
4. 重复执行2.
所以我们可以while(1){1.2}
你会想,这也可以?
我们都是宏观的看待问题,细分一下,芯片的处理速度很快
的,也就是说,你的数码管上1 位显示一个 2 位显示一个,
分别去做,很快很快的执行,你就能看到 1,2 位上显示不同
4
的数字了。
☞程序实例:
#include
文档评论(0)