基于AT89S52单片机控制的上位机软件开发

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于AT89S52单片机控制的上位机软件开发

项目设计报告

题目:基于AT89S52单片机的上位机软件开发

姓名:袁扬

学号:2009821135

专业:嵌入式系统方向

指导老师:杨小来

设计时间:2011-6-26

基于AT89S52单片机的上位机软件开发

设计报告

[项目概述]

随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。

本设计是数据采集及处理,显示系统与单片机有效结合,本设计是通过在“单片机原理及应用”课堂上学习的知识的综合应用,以及查阅资料,培养一种自学的能力。并且引导一种创新的思维,把学到的知识应用到日常生活当中。在设计的过程中,不断的学习,思考和同学间的相互讨论,运用科学的分析问题的方法解决遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,充分发挥教学与实践的结合。全能提高个人系统开发的综合能力,开拓了思维,为今后能在相应工作岗位上的工作打下了坚实的基础。

LED显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维动画、录像、电视、VCD节目以及现场实况。LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。

它的优点:亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。

[项 目 要 求]

设计一个能显示16X64点阵图文LED 显示屏,要求能显示文字和温度,显示文字和温度应稳定、清晰,文字和温度显示,以循环左移或右移的方式显示。我设计的LED 显示屏系统是由中央控制器、1302、16*64LED 点阵、串口通信部分组成。LED 显示屏作为一种新型的显示器件,是由多个发光二极管按矩阵形式排列封装而成,通常用来显示时间、图文等信息。本设计是基于AT89S52单片机的16x64显示屏,其中包含了硬件、软件、调试等方案的设计。此外、该设计只需简单的级联就能实现显示屏的拓展,但级联时要注意不要超过驱动负载范围。

[关键字]:AT89S52;LED 点阵;DS1302;串口通信

一 系统设计

LED 显示屏系统总体设计

初步确定设计系统由单片机主控模块、时间模块、LED 显示模块、显示驱动模块、串口接收模块共5个模块组成,电路系统框图如下图所示。

LED 显示屏系统总体框架图

列驱动器

电源

16X64LED 显示点阵

行驱动器

单 片 机

1302 读取时间

串口 接收数据

二.硬件设计部分

1、电路原理图

LED点阵显示屏设计原理电路图

2、物品实物图

LED点阵显示屏设计实物图

3、元件清单

LED点阵显示屏设计元件清单1

LED点阵显示屏设计元件清单2

三.软件设计部分

本系统的软件系统主要分为主程序、LED显示程序、温度程序、点阵驱动程序。

3.1系统主程序

本设计的系统软件能使系统LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。

系统主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断和端口;然后以“卷帘出”效果显示图形,停留约几秒;接着向上滚动显示“--------”这几个汉字及一个图形,然后以“卷帘入”效果隐去图形。由于单片机没有停机指令,所以可以设置系统程序不断的循环执行上述显示效果。

单元显示屏可以接收来自控制器(主控制电路板)或上一级显示单元模块传输下来的数据信息和命令信息,并可将这些数据信息和命令信息不经任何变化地再传送到下一级显示模块单元中,因此显示板可扩展至更多的显示单元,用于显示更多的显示内容。如果想改变些事内容,先用字模产生字代码,将用这段代码覆盖原来的代码,即可显示你想要的内容。简单流程图如下:

开始

系统初始化

“卷帘出”显示效果

“上滚屏”显示效果

“卷帘入”显示效果

系统主程

序流程图

3.2 LED 点阵显示程序

显示程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算公式如下:

刷频率(帧频)=1/16×T0溢=1/16×f/12(65536-t )

其中f 位晶振频率,t 为定时器T0初值(工作在16位定时器模式)。 然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。下图为显示驱动程序(显示屏扫描函数)流程图

图文显示一般有静态和动态显示两种方案,静态方案虽然设计简单,但其使用的管脚太多,如本设计中16x64的点阵共有1024个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口,按8位的锁存器来计算,16x16的点阵需要1024/8=128个锁存器。这个数字很庞大,因为我们仅仅是16x64的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。

动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套驱动器。具体就16x64的点阵来说,把

进入中断

定时器赋初值 读取行号并增加1

送新行显示数据

消 隐

切换显示数据

发送新行号,打开显示

退出中断

相关文档
最新文档