AT89x51控制下LED汉字移动与点阵显示编程

需积分: 44 11 下载量 147 浏览量 更新于2024-09-10 3 收藏 5KB TXT 举报
本文档主要介绍了如何使用LED点阵显示器进行汉字移动显示的编程实现,以AT89x51单片机为核心处理器。以下是详细的知识点解析: 1. 编程环境与头文件引入: 首先,程序使用了`#include <AT89x51.H>`头文件,这表明它是在基于AT89系列单片机的开发环境中编写的,这是一种常用的51系列微控制器的标准库。 2. 变量定义: - `unsigned int zimo` 和 `unsigned int xx` 是两个计数器,`zimo` 用于字模显示,`xx` 用于分屏显示时控制显示的字符数。 - `unsigned char yid` 和 `unsigned char h` 分别是移动计数器和行段计数器,用于控制汉字在屏幕上的移动和行的切换。 - `unsigned char code hanzi[]` 定义了一个数组,存储汉字的字模数据。 - `BUFF` 和 `BUFF2` 是两个字符数组,用于存储左移显示的缓存数据。 3. 函数声明: - `qing()` 和 `xianshi()`:可能是清屏和显示字符的函数,它们可能负责处理显示前的准备工作以及字符的绘制。 - `fen()`:函数用于分屏操作,将屏幕分为两部分,交替显示内容。 - `zuo()`:可能是上移操作,负责将显示内容向上移动一格。 - `in_data()` 和 `rxd_data()`:这两个函数可能是用于数据输入和左移数据发送,可能涉及到与外部设备的数据交互。 - `out_rxd(unsigned char*)`:这是一个输出函数,可能是向串行口发送数据,用于驱动LED点阵显示。 4. 主程序流程: 主程序进入一个无限循环,首先调用 `fen()` 进行分屏操作,然后在两个独立的循环中分别执行 `qing()` 清屏,再调用 `zuo()` 上移。这种设计使得屏幕内容不断更新,实现了汉字的移动显示效果。 5. 具体函数实现细节: - `qing()` 函数可能是通过 `out_rxd()` 发送一个全屏清除的命令到LED点阵,然后设置端口以驱动74HC595和74LS138等位移寄存器。 - `fen()` 函数则在循环中调用 `xianshi()`,在限定次数内显示字符,然后重置计数器 `xx` 以便下一轮循环显示新的内容。 - `xianshi()` 负责遍历每个字符的字模,并将其逐个显示到LED阵列。 6. 字模编码: `char codesw[]` 定义了一个字模编码表,通常用于映射汉字的二进制编码到实际的LED点阵显示。 7. 硬件接口: 提及的74HC595和74LS138可能是外设芯片,分别用于串行到并行的数据转换和多路选择功能,以驱动大型LED点阵。 这个程序是基于AT89x51单片机的LED点阵汉字移动显示系统,通过精心设计的函数来管理字符显示、分屏、移动和数据传输,以实现动态的汉字显示效果。这对于学习和理解嵌入式系统、微控制器编程以及LED点阵显示技术具有很高的实用价值。
1694 浏览量
LED点阵显示屏(完整源程序版) 目 录 引言 ……………………………………………………………………1 1 系统的设计与分析 ………………………………………………2 1.1 LED点阵控制原理………………………………………………………………3 1.1.1 LED简介 ……………………………………………………………………3 1.1.2 LED点阵 ……………………………………………………………………4 1.1.3 显示原理 ……………………………………………………………………5 1.1.4显示屏的原理图及结构 ……………………………………………………6 1.2 单片机小系统 …………………………………………………………………8 1.2.1 51系列单片机的概述 ………………………………………………………8 1.2.2单片机的组成 ………………………………………………………………8 2 程序设计 ………………………………………………………10 2.1 系统程序的框架………………………………………………………………10 2.1.1 串口通讯协议………………………………………………………………10 2.1.2 显示处理效果函数…………………………………………………………10 2.1.3 显示函数……………………………………………………………………10 2.2 程序流程图……………………………………………………………………9 3 总结 ………………………………………………………………11 谢辞 …………………………………………………………………13 参考文献 ……………………………………………………………14 附录(所有的源程序)………………………………………………15