基于单片机AT89S52RC控制的点阵屏的设计与实现
2018-09-18孙龙龙
孙龙龙
(山西晋城无烟煤矿业集团有限责任公司, 山西 晋城 048000)
1 系统硬件结构与组成
AT89S52RC系列单片机的结构组成部分包括:中央处理器CPU、存储器、输入/输出口、定时/计数器、中断、数据通讯口等等[1-2]。
利用AT89S52RC单片机作为本系统的中控模块,外围系统有5 V电源接口、LED驱动电路、LED显示屏电路、晶振电路、RS232/RS485通讯口。系统框图如图1所示。
图1 点阵屏系统框图
2 系统工作原理及电路图
单片机的工作原理为通过上位机传送程序指令,指令执行过程是由单片机CPU中心自动完成的,在本次设计中通过指令以达到传送数字信号的目的,显示在外围电路上就是点阵屏幕有的是灯亮,有的是灯灭。不同的图像需要不同的代码输入,同时写入延时程序实现文字滚动等功能及其外围电源、晶振电路如图2所示。
此显示电路采用扫描方式进行显示,每行有一个三极管放大电路作为驱动。单片机通过程序指令的执行,输出对应的数字信号,数字信号对应每行每列的二极管灯的亮灭。驱动电路提供整个屏幕二极管的额电流量。
点阵屏及其外围驱动电路如图3所示,图中左侧8个三极管为驱动电路,由于每个二极管工作电流为20 mA,而且电源提供的回路电流不能满足8行二极管同时使用,所以需要加驱动电路,利用三极管的电流放大作用提供更大的回路电流。点阵屏信号的传输格式为数字信号,数字信号编码通过子模软件提取,再通过C语言编程写进程序中,最后下载到单片机处理传送[4]。
图2 单片机及其外围电路图
图3 点阵屏及其外围驱动电路
3 系统软件设计
单片机89C52RC编程软件为KEILuVision4,采用C语言编程。程序中涉及到单片机多功能板的功能选择程序编写,如图4中的前四句,就是点阵功能选择程序,不同的单片机板可以有不同的设计,程序也不是固定的。其中unsigned char后面的代码即为子模软件中提取出来的代码[5]。
图4 主要程序
取模软件工作原理为,反显51单片机取模,提取点阵代码输入到程序中,最后调试单片机,保存下载程序,最终实现屏幕文字滚动。软件取模图形如图5所示。
4 结论
本次设计采用AT89C52RC作为核心控制器,74系列的驱动器,外围通讯口使用了RS458口。通过这次设计得出以下结论:
1)设计电路之前必须有清晰简单的电路设计思路,二极管点阵的排列采用横纵交错设计,实现了数字信号的传输和编码;
图5 软件取模
2)通讯口德选择可以是多种的,主要看和上位机的连接设置;然后,单片机在调试过程中会有下载程序失败的情况,要多检查对应的数据线口是否松动,是否有断路,接口的松动会导致输入电压不稳定,最终导致通讯不畅通,无法下载程序;
3)本次的成品在文字输入部分还没有做到最便捷,最实用,下一步需要开发VB系统的字母输入软件,以便于让不同水平的人操作。在查阅了大量的大屏幕显示屏资料后,计划拓展做大屏幕显示设计[6],大屏幕的实现有更高的利用价值。