下载此文档

第2讲LED显示.ppt


文档分类:通信/电子 | 页数:约21页 举报非法文档有奖
1/21
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/21 下载此文档
文档列表 文档介绍
第2讲LED显示
#include <>
#include <>
flash char led_7[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
0x7F第2讲LED显示
#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
11
六位LED 数码管动态扫描控制显示设计(一)
1) 硬件设计电路:
图6-15 给出硬件接口电路图。图中仅采用了6 个共阴极的LED 数码管。所有数码管段位a 的引脚并接,由PA0 控制;段b 并接,由PA1 控制;因此类推。既仍然用ATmega16 的PA 口作为段码输出。ATmega16 的PC0-PC5 分别与LED0-LED5 的共公端COM 引脚连接,既
PC 口的低6 位作为位扫描控制口。
12
13
根据硬件电路,我们可以看出,在任何一个时刻,PC0-PC5 中只能有一个I/O 口输出低电平,即只有一位数码管亮。而且,MCU 必须循环轮流控制PC0-PC5 中的一位输出“0”,同时PA 口要输出该位相应的段码值。即使显示的内容没有变化,MCU 也要进行不停的循环扫描处理。
软件的设计应保证从在外表看数码管显示的效果要连续(即在人眼里各个数码管全部亮),亮度均匀,同时没有拖尾现象。
通常,每个数码管点亮的持续时间为1-2ms。我们将每个数码管的点亮持续时间定为2ms,那么6 个数码管扫描一遍的时间为12ms,因此MCU 还有13ms 的时间处理其它事件
14
为了保证各个数码管的显示的效果不产生闪烁情况,表象上全部点亮的话,则首先必须在1 秒中内循环扫描6 个数码管的次数应大于25 次,这里是利用了人眼的影像滞留效应。
本例中我们选择40 次,既每隔1000/40=25ms 将6 个数码管循环扫描一遍。第二要考虑的是,在25ms 时间间隔中,要逐一轮流点亮6 个数码管,那么每个数码管点亮的持续时间要相同,这样亮度才能均匀。第三个要考虑的要点为每个数码管点亮的持续时间,这个时间长一些的话,数码管的亮度高一些,反之则暗一些。
15
#include <>
#include <>
flash char led_7[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
flash char position[6]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
char time[3]; // 时、分、秒计数
char dis_buff[6]; // 显示缓冲区,存放要显示的6 个字符的段码值
char time_counter; // 1 秒计数器
bit point_on; // 秒显示标志
void display(void

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

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数21
  • 收藏数0 收藏
  • 顶次数0
  • 上传人电离辐射
  • 文件大小1.24 MB
  • 时间2022-06-22