下载此文档

第3讲LED显示.ppt


文档分类:通信/电子 | 页数:约21页 举报非法文档有奖
1/21
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/21 下载此文档
文档列表 文档介绍
主讲人:施保华
AVR单片机C程序设计
电子设计与创新实验室(32学时)
1
LED 数码显示器的应用
LED 数码显示器是单片机嵌入式系统中经常使用的显示器件。一个“8”字型的显示模块用“a、b、c、d、e、f、g、h” 8 个发光二极管组合而成,如图6-12a 所示。每个发光二极管称为一字段。LED 数码显示器有共阳极和共阴极两种结构形式,电路设计时不要混淆。
2
3
单个LED 数码管字符显示控制
我们以共阴极的数码管为例,先介绍如何控制一个8 段数码管显示“0”-“F”16 个十六进制的数字。
1) 硬件电路设计:
很明显,用AVR 的一个I/O 口控制共阴极数码管的8 个段位,分别置“1”或“0”,让某些段的LED 发光,其它的熄灭,就可以显示不同的字符和图符号,硬件电路如图6-13。
4
5
6
在单片机嵌入式系统软件设计中,经常要考虑二进制、十六进制、十进制、BCD 码、压缩BCD 码、八段码、ASCII 码之间的相互转换问题。人们计数习惯采用十进制,而单片机的计算、存储则为二进制形式最方便。此外传送字符用ASCII码,LED 数码显示要转化成相应的7 段码等等。因此对与各种不同数制的使用和相互转换在软件设计中尤其重要,设计使用得当,可以简化程序设计和优化程序代码。
7
#include <>
#include <>
flash char led_7[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
bit point_on = 0;
void main(void)
{
char i = 0;
PORTA=0xFF;
DDRA=0xFF;
while (1)
{
for (i=0;i<=15;i++)
{
PORTA = led_7[i];
if (point_on) PORTA |= 0x80;
delay_ms(1000);
}
point_on = ~point_on;
};
}
8
多位LED 数码管的显示
多位LED 数码管显示电路按驱动方式可分为静态显示和动态显示两种方法。
一个数码管要使用AVR 的8 个I/O 口线输出段码(共公端接GND)。当使用多个数码管时,显然采用这样的控制方式有些问题,因为AVR 是不能提供太多的I/O 控制引脚的。
9
图6-14 是一个采用串行传送数据的8 位数码管静态显示接口。设计中将8 片八位串行输入/并行输出移位寄存器74HC164 串接,数码管为共阳极型。MCU 将8 个要显示字符的段码字准备好,通过Data Out 引脚,在Clk Out 引脚产生的cp 移位脉冲的作用下,一位一位
地移入74HC164 的QA-QH 端(串行输入)。QA-QH 的输出(并行输出)直接作为数码管的
段位控制。由于左边74HC164 芯片的QH(最低位)和右边74HC164 芯片的数据串入端连,
经过Clk Out 时钟线64 个cp 脉冲后,要显示的8 个字符将会在8 个数码管上显示,最先发送的显示字符段码将显示在最右边。
10

第3讲LED显示 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数21
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wz_198613
  • 文件大小471 KB
  • 时间2017-06-22