无线电电子与电气工程百科全书 矩阵LED显示屏。 无线电电子电气工程百科全书 在开发基于微控制器的设备时,几乎总是会出现选择信息显示设备的问题。 如果要在指示器上显示字母、数字和其他大尺寸高亮度字符,那么通常最好的解决方案是矩阵LED显示屏。 本文讨论了作者开发的用于八熟悉度的显示模块。 它可以处理各种信息源,从它们接收数据并通过 TWI 接口(I2C)。 MAX6953芯片作为LED矩阵控制单元的原型。 所描述的模块被设计作为LCD模块的替代品,其主要缺点是由于字符尺寸小和图像对比度不足而导致显示信息的可读性差。 除了 LED 矩阵外,该模块还具有一个微控制器控制单元,可将从外部设备接收到的字符代码和控制信息转换为 LED 控制信号。 模块的字符生成器包含代码为 $20-$7F 的字符,根据 ASCII 代码表(标点符号、数字、拉丁字母和一些其他字符),以及代码为 $A8、$B8、$00-$FF(俄语)的字符。字母,符合代码表CP1251)。 如果需要,可以通过将新符号的图像添加到位于微控制器程序中的字符生成器表来补充显示的符号集。 在八个熟悉度中的任何一个上实现了角色的“闪烁”。 熟悉的次数和眨眼的频率决定了信息的来源。 提供了根据外部照明自动地和手动地调节发光二极管的发光亮度。 该模块通过TWI接口(I2C)。 如果没有连接,则会显示消息“无数据!”。 TWI 总线上的模块地址是$A0。 如果有必要(例如,如果具有相同地址的其他设备连接到同一总线),可以更改。 为此,在模块微控制器程序(MATRIX_8D.asm 文件)中,您需要找到以下行 .equ 地址TWI = $A0 将其中的地址$A0替换为另一个地址,然后重新编译程序。 LED控制单元由两个节点组成,其示意图如图1所示。 2 和图 3 12. 节点板通过连接器 X4 和 X9、X6 和 X7、X2 和 X1 互连。 来自信息源的电缆连接至连接器 X1。 模块制造完成后,通过X8连接器对DD16微控制器(ATmega8-1PU)进行编程。 MATRIX_XNUMXD.hex 文件中的代码必须加载到微控制器的闪存中,并且其配置必须根据表进行编程。 XNUMX,其中与微控制器制造商设置的位值不同的位值以颜色突出显示。
表1
注。0 - 位已编程,1 - 位未编程. 该板有八个(每个显示字符一个)节点 A1-A8,它们在微控制器的控制下形成提供给矩阵字符的每行 LED 的组合阴极的信号。 所有这些节点都是相同的,并根据图 3 所示的方案进行组装。 74、各有一个MC595HC2803AD芯片,将微控制器输出的串行代码转换为并行代码,以及一组基于复合晶体管的集电极开路电流放大器(ULN1ADW芯片)。 相应熟悉的LED行的阴极连接到节点A1-A8的每个XXNUMX连接器。
单片机程序交替选择节点A1-A8加载代码,将0到2(比熟悉的数字少7)的代码输出到单片机的输出PC3-PC2,并向输出PC1输出一个信号,允许解码器DD1的操作(参见图3)。 结果,在与该代码相对应的解码器输出处设置了低逻辑电平,这使得与其连接的DD3芯片(图XNUMX)能够在微控制器的PBXNUMX输出处接收程序生成的串行代码。 在输出PD3-PD7和放大晶体管VT2-VT6处生成的信号交替地向组合矩阵LED列的阳极的五个电路中的每一个提供电压。 相同数量的八个字符的扬声器并联并同时打开,这使得显示闪烁不那么明显。 晶体管 VT1 由微控制器输出 PB0 的信号控制,允许您同时关闭所有显示 LED。 为了给显示模块供电,X8 提供 9 V、50 Hz 的电源。 它可以从任何合适的降压变压器获得。 作者使用了变压器TP-132-3,在负载电流为9A时,次级绕组上的电压为0,5V。交流电压对VD2二极管电桥进行整流。 集成稳定器 DA1 为模块的微电路提供 5 V 电压。 由VT8场效应管和DA2并联稳压器组成输出电压可调的稳压器。 使用了 I. Nechaev 在“具有较小最小电压降的稳定器”一文中描述的电路。 使用调谐电阻R17设置电压U明亮的 通过晶体管VT1-VT6进入LED的阳极并决定其发光的亮度。 另外,场效应晶体管VT7控制亮度。 其栅极由可变电阻器R11、固定电阻器R12、R13和分压器光敏电阻器R16供电。 光敏电阻的阻值随着显示器安装地点的照度增加而减小。 结果,晶体管VT7的栅极电压增大并打开,从而降低了电压U明亮的 以及 LED 显示屏的亮度。 可变电阻器 R11 设置自动亮度变化的最佳限制。 通过移除跳线 S1,可以禁用自动亮度控制。 LED矩阵位于按照图4所示组装的两块相同的板上。 1 方案。 第一个 LED 板的连接器 X5 与该板的连接器 X1 连接,其示意图如图 2 所示。 5,连接器X1-X1与同一板上节点A4-A2的连接器X11。 同样,将第二个 LED 板连接到电路如图 5 所示的 LED 板。 图8中使用节点AXNUMX-AXNUMX的连接器XXNUMX和连接器XXNUMX。 为了构建显示器,您可以使用现成的 LED 符号合成矩阵,而不是离散 LED,该矩阵由 5x8 或 5x7 元素组成,阳极连接到矩阵列。 请注意,5x7 矩阵不会完全显示所有俄语字母。 该模块的所有印刷电路板均采用厚度为 1,5 毫米的箔玻璃纤维双面制成。 微控制器和节点A1-A4所在的电路板的印刷电路导体图如图5所示。 6、以及其上零件的位置 - 如图所示。 XNUMX.
具有节点A5-A8的板是根据图7所示的图纸制作的。 8、其上的零件按图1排列。 8. 在两块板上,与节点 A8-A1(包括连接器)相关的部件的项目名称均带有与节点编号匹配的前缀,例如 5DD11。 连接器 X1、X1 和 8X1-9XXNUMX 位于板的与其余部件安装位置相对的一侧。 这样做是为了方便它们与 LED 矩阵板上的连接器直接对接。 这些板的图纸(其中两个是相同的)如图 XNUMX 所示。 XNUMX. 它们上的连接器安装在 LED 对面的一侧。 所有板均使用单排 PBS(母)和 PLS(公)连接器。
控制板上的两排 X1、X2 (PLD-6) 和 X10 (PBD-4) 除外。 DD1单片机程序将从信息源接收到的字符代码存储在RAM中,然后在字符生成表中分析并搜索与所需显示的字符图像对应的代码。 表中给出了字符生成器的片段,由十个块组成,每个块有 16 个字符。 2、每个符号由XNUMX个(根据矩阵列数)XNUMX位(根据矩阵行数)二进制码描述。 这些代码中的单位对应于 LED 亮起、零对应于熄灭。 表2
该程序重写 RAM 单元中字符的显示代码,这些代码在显示之前暂时存储在其中。 微控制器的SPI硬件模块将这些代码一一推送到它们所针对的节点A74-A595的1HC8微电路的串行寄存器中。 从这里,它们通过微控制器 PB2 输出处生成的信号传输到存储寄存器。 八位显示器中 LED 列的总数为 5x8=40。 需要以至少100Hz的频率更新其上的信息,否则可能会出现闪烁。 因此,在一列中写入信息所花费的时间不会超过 1/100/40 = 0,00025 s - 这是等于 4000 MHz 的微控制器时钟频率的 16 个周期。 大约这个周期的程序中断请求是由单片机的八位定时器产生的,其时钟频率预分频器为64。定时器重新计算因子设置为62。实际的信息更新率为16000000/64/ 62/40=100,8 赫兹。 每当需要更改显示的信息时,其源必须通过 TWI 接口向模块发送一个包含地址和 7 个信息字节的数据包。 地址字节必须包含模块的地址,且最低有效位为零(写入标志)。 前八个信息字节包含必须按从左到右顺序显示的字符代码。 第九个字节的高四位必须包含比显示屏上闪烁的熟悉度大1个单位的数字(数字从左到右从8到50数)。 当该字节设置为零时,闪烁被禁用。 闪烁周期指定第XNUMX个字节中的数字,每个单位对应XNUMXms。 显示模块向源确认它已收到正确的地址,后跟九个数据字节。 第十个信息字节的接收没有被确认,这表明数据包接收完成。 之后,模块再次准备好接收下一个数据包。 在接收之前,先前接收到的信息会显示在显示屏上。 不执行微控制器程序中接收错误的处理。 如果接收到的字符代码不在字符生成器中,则会在相应的熟悉度上显示矩形框中的问号。 没有清除显示的命令。 相反,应发送包含八个空格字符($20)的信息包。 为了防止显示模块死机,在其微控制器中激活了一个看门狗定时器,如果在32 ms内从未调用过显示控制子程序,则微控制器将被强制复位,并且程序将重新开始,就像电源打开时一样。 LED 侧面不带外壳的显示模块外观如图 10 所示。 11,以及从微电路安装的侧面 - 图 XNUMX。 XNUMX、首次开启组装结构前,需要设置最小电压值U明亮的。 自动亮度控制单元根据显示器的工作条件进行调整。
模块外壳来自飞利浦视频播放器。 SDA 和 SCL 线通过两路两位开关连接到模块。 在某一位置,信息通过安装在模块外壳上的四针连接器来自任何外部源。 第二个 - 来自位于同一外壳中的电子时钟,根据图所示的方案组装。 12.
该时钟基于 ATmega8535-16PU (DD1) 微控制器和 DS1307 (DD2) 微电路 - 带有 I 接口的实时时钟2C. 为了与 DD2 微控制器通信,DD1 微控制器使用相同的两线总线将信息传输到显示模块。 但总线上芯片($D0)和模块($A0)的地址不同,这使得手表微控制器能够区分它们。 将显示模块连接到其他信息源时,必须注意地址不匹配。 MasterDevice.hex 文件中的代码被输入到手表微控制器的闪存中,并根据表对配置进行编程。 3.如表所示。 1、与制造商设置的位状态不同的位状态以颜色突出显示。 表3
注。 0 - 位已编程,1 - 位未编程. 手表有七个控制按钮。 他们的目的: SB1 - 将微控制器设置为其原始状态,重新启动程序; SB2 - 切换到时间和日期设置模式。 显示屏短暂显示“时间”。 然后显示要更改内容的寄存器的名称以及写入的值; SB3——从当前时间显示模式转换到日期显示模式。 在时间和日期设置模式下 - 转换到具有较低地址的寄存器,该地址显示在显示屏上; SB4 - 从时间和日期设置模式转换到当前时间显示模式。 按下此按钮启动内部时钟发生器,从零开始计数秒。 显示屏短暂显示“完成”; SB5——向寄存器写入新值,显示屏短暂显示“Write”字样; SB6 - 增加写入所选寄存器的值,当您按下 SB5 按钮时,录音本身就会发生; SB7——从日期显示模式转换到当前时间显示模式。 在时间和日期设置模式下 - 减少写入所选寄存器的值,按下 SB5 按钮时会自动进行记录。 显示模块和时钟的微控制器程序可以从 ftp://ftp.radio.ru/pub/2014/06/disp.zip 下载。 作者:N.萨利莫夫 查看其他文章 部分 采光. 读和写 有帮助 对这篇文章的评论. 科技、新电子最新动态: 用于触摸仿真的人造革
15.04.2024 Petgugu全球猫砂
15.04.2024 体贴男人的魅力
14.04.2024
其他有趣的新闻: ▪ Imagination Technologies 的首款 PowerVR Series6 GPU
免费技术图书馆的有趣材料: ▪ 文章信号放大器转换器 ESL。 无线电电子电气工程百科全书 本页所有语言 www.diagram.com.ua |