51单片机汉字显示-论文(5)

2020-02-21 18:00

进入Proteus的ISIS,鼠标左键点击菜单“Debug”, 选中“use romote debuger monitor”,如图所示。此后,便可实现KeilC与Proteus连接调试。

f、KeilC与Proteus连接仿真调试

单击仿真运行开始按钮

,我们能清楚地观察到每一个引脚的电频变化,

红色代表高电频,蓝色代表低电频。

5 控制系统硬件设计

5.1 硬件电路图

5.2 显示屏主体显示

5.2.1 显示屏主体显示

本设计采用LED点阵显示屏设计方案,初步实现了在同一公交站牌显示不同公交车次,以及动态和静态的显示。

程序在初始化后将存储在ROM内部的站点信息读出,送至单片机的RAM,初步的进行汉字点阵转换,转换后的数据再经过显示效果处理,比如站点信息的左移显示、右移显示、上下移动显示、滚动显示、等等。最后送入数据缓冲区,调用显示子程序,完成广告信息的显示。主程序的流程图如图12所示。

显示子程序的任务是将缓冲区的数据读出,然后送到点阵屏显示。点阵显示的原理是按照列进行选择,然后通过串并转换,将一列的显示数据送至选择的列排点阵中,然后选择下一列,重复这样的步骤,就可以实现数据的显示。显示子程序的流程图如图所示。

5.2.2 显示屏显示效果

显示添加上效果处理后,增添了动态效果,能达到更好的显示效果。主程序在开始的时候设置要显示的效果,在显示效果子程序中,程序判断需要显示的效果后调用不同的显示效果处

理程序,对缓冲区内的数据进行效果处理,最后再送入显示缓冲区,等待显示调用。其程序流程图如图所示。

5.2.3 远程通信设计

在远程通信程序中单片机主要完成接收PC机通过串口发送过来的公交车站点数据。采用中断接收方式。在中断服务子程序中,为了区别所接收的信号是联络信号还是字节数、是数据还是校验和,需要对接收到的数据进行辨别。首先在主程序开始中进行设定,若接受到的是01H,则判定为接收联络信号;接收到的是02H,则判定为接收命令信号;若接收到的是03H,则判定为接收数据信号;接收到的是04H,判定为接收数据开始标志信号;接收到05H,判定为结束接收数据标志信号[13]。

程序在初始化后,首先调用单片机内部ROM区存储的站点信息,当有远程通信的数据到来时候,先将接收到的数据送到单片机内部的数据缓冲区,进行数据辨别和处理之后,再送到外部的E2 ROM中,将这些处理之后,再开始调用外部存储器的站点信息。 单片机远程通信程序的流程图如图16所示。

设置STC89C516RD+的串行口工作于第3种方式:9位异步传输,波特率由定时器1的溢出率决定。数据帧共12位,四个用于起停和命令标志位,8位数据放在四位标志位之后,接收时存入RB8,发送时取TB8中的值,由硬件自动完成。波特率设定为9600bps,串行口初始化后,需有一个时间延迟再接收数据,数据接收完后也需一个时间延迟后再转入接收状态。

在串行通信RS232收发器控制方面,平时置P1.0为低,使串行口处于侦听状态,当有串行中断时,则置P1.0为高,发送应答信息,然后再置P1.0为低接收控制指令,继续保持Pl.0为低,使串行收发器处于接收状态,在这些过程中,涉及收、发等功能转换。

6 软件设计

6.1 程序仿真

远程通信流程图

从proteus里可以看到程序的运行效果很令人满意

7 系统测试结果

系统在测试的过程中,硬件电路相比较复杂,加上对点阵电路的研究不够深

入,刚开始设计的时候,走了很多的弯路。尽管没有出现大的异常情况。但在软件调试过程中,出现一些问题:

(1)单片机输出的信号在点阵屏幕上显示为乱码,不能正确显示字符,通过示波器的跟踪观察,确定为输入锁存芯片74SC244信号选择端没有正确连接所致,通过将电路修改后解决问题。

(2)芯片编程出现错误,更换芯片后仍不能解决问题,经仔细查找后发现刚开始选用的AT89S52的ROM空间不够所致,所烧写的程序代码已经超过AT89S52内部的4KB的ROM空间,选用宏晶科技的STC89C516RD+单片机并且外加一片AT24C256芯片后解决问题。


51单片机汉字显示-论文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:[解析版]2014-2015年盐城市景山中学七年级上月考数学试卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: