除单片机DS80C320外,显示屏控制器的硬件电路部分由三个部分组成:外部存储器的扩展、串行通信接口和LED显示驱动及接口。控制器的组成框图如图2所示,采用DS80C320作为中央控制器,完成与PC机的通信,实现对显示屏显示数据和显示状态的控制。数据存储器使用一片静态RAM62256和一片FLASH存储器29F040。29F040容量很大,可以用于存储显示的内容,也可根据需要存储汉字的点阵库。控制器与计算机的连接根据通信距离的远近选用RS-232或RS-485标准总线接口。
在系统设计中,选用容量为4Mbit的29F040。该芯片内部由8个64Kbyte的读写块组成,可分块进行读、写和擦除的操作。采用单电源+5V供电。 29F040与单片机的接口电路如图3所示。29F040有19条地址线(A0~A18),三位(A16~A18)由P2口作为地址送出,通过74HC377八个D型锁存器进行锁存。由于62256与29F040的低位地址重叠,所以需要片选控制。片选信号和三位地址一样,也由P2口送出,74HC377锁存输出。寻址时采用两次寻址方法,先将地址的三位地址线A16~A18和片选信号送出,锁存,然后再寻址低16位地址。需要特别提出的是,系统中接有外部程序存储器,对外部程序存储器的操作连续不断,P2口需要不断地送出高八位地址,这时P2口不可能再作通用I/O口使用,所以片选信号和三位地址线只能一并作为地址线锁存起来。用P3.4控制74HC377的片选,用单片机的读信号作为74HC377的锁存信号。这样在一次读操作后即可将放入高位地址的数据锁存在74HC377的输出端。
软件程序 软件程序是整个控制系统的核心部分,是用汇编语言编写的。整个软件设计分为两大功能块:显示部分和通信部分。显示部分采用动态扫描的方式,实现对显示屏要显示的汉字、图象、字符等数据信息进行传输控制以及显示等功能。与PC机的实时通信部分主要是利用单片机串口中断接收和发送数据信息,实现与计算机的实时数据信息传输。其程序功能框图如图4所示。 图 4 程序功能框图 程序中将数据存储器分为三个区:显示缓冲区、数据存储区和接收缓冲区。单片机通过串口中断接收PC机传来的数据(包括显示内容、显示方式和显示状态),暂时存放在接收缓冲区,经分析处理后按一定的规律放入数据存储区保存起来,然后再根据显示方式依次从数据存储器中取出数据放入显示缓冲区中用于显示。显示采用逐行扫描的方式,因此扫描频率需达到60HZ以上。多种显示方式(左移﹑右移﹑上移﹑下移和替换等)的实现取决于从数据存储区取出数据放入显示缓冲区时取数的顺序,左右移时每次从数据存储区取出一位数移入显示缓冲区,上下移动时则每次取出一行数据移入,替换时每次取出整屏数据放入显示缓冲区。扫描显示时并不识别显示缓冲区中的数据,只...