基于单片机的8255动态显示设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
物理与电气工程学院课程设计报告基于单片机的8255动态显示设计
姓名王秋雨
学号 111102042
专业电子信息工程
指导教师李艾华
成绩
日期 2013.06.22
基于单片机的8255动态显示设计
王秋雨
(安阳师范学院物理与电气工程学院河南安阳455002)
摘要:数码管是非常常见的东西,他能显示数字以及字母,应用非常的广泛。本文和大家谈谈如何用单片机来驱动数码管以及用扩展芯片来实现单片机对数码管的管理。本文以显示06:18:52开始。
关键字:单片机AT89S52 ,电子时钟,汇编语言,8255,动态显示
1 引言
随时代的发展,生活节奏的加快,人们的时间观念愈来愈强;随自动化、智能化技术的发展,机电产品的智能度愈来愈高,用到时间提示、定时控制的地方也会愈来愈多,因此,设计开发数字时钟具有良好的应用前景。由于单片机价格的低成本、高性能,在自动控制产品中得到了广泛的应用。本设计利用Atmel公司的AT89S52单片机对电子时钟进行开发,设计了实现所需功能的硬件电路,应用汇编语言进行软件编程,并用实验板进行演示、验证。在介绍本单片机的发展情况基础上,说明了本设计实现的功能,以及实验板硬件情况,并对各功能电路进行了分析。主要工作放在软件编程上,用实验板实现时间、日期、定时及它们的设定功能,详细对软件编程流程以及调试进行了说明,并对计时误差进行了分析及校正,提出了定时音与显示相冲突问题及解决方案。实验证明效果良好,可以投入使用。
动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。其接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共COM是各自独立地受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以我们就可以自行决定何时显示哪一位了。而所谓动态扫描就是指我们采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
2 技术要求
用单片机和8255扩展芯片实现数码管的显示。
3 方案论证
3.1单片机设计
这种方案采用AT89C52单片机作为系统的控制核心。用8255做扩展,显示出六个代显数据。进行加一的运算。而且单片机具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制。液晶显示器具有体积小、外形薄、重量轻、耗能少、工作电压低、无辐射,特别是视域宽、显示信息量大等优点。
3.2LED数码显示模块
方案一:静态显示方式。
静态显示方式是指当显示器显示某一字符时,发光二极管的位选始终选中。在这种显示方式下,每一个LED数码管显示器都需要一个8位的输出口进行控制。由于单片机本身提供的I/O口有限,实践使用中,通常通过扩展I/O口的形式解决输出口数量不足的问题。
静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。其不足之处是占用硬件资源较多,每个LED 数码管需要独占8条输出线。随着显示器位数的增加,需要的I/O口线也将增加。
方案二:动态显示方式。
动态显示方式是指一位一位得轮流点亮每位显示器,即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。通过调整时间和时间参数,可以既保证亮度,又保证显示。若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态扫描,控制每位显示器所显示的字形也需一个8位口。
为使设计板面尽量简单,本次设计采用方案二。
4 总体设计
4.1设计目的
1.加强对单片机和汇编语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。
2.用单片机模拟实现具体应用,使个人设计能过真正使用。
3.把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。
4.提高利用已学知识分析和解决问题的能力。
5.提高实践动手能力。
4.2设计内容
编写程序并将调试好的程序固化到单片机中。开始仿真,运行程序,现实相应的结果。
4.3硬件模块
整个设计以AT89C51单片机为核心,由数码管显示,LED数码管显示,复位电路三部分组成。
图1 硬件设计方框图
4.3.1复位电路
复位方式有许多种,本设计采用按键复位,接线图如图2所示。
图2 复位电路
在设定时间内,89C51必须在RST引脚产生一个由高到低的电平变化,以清内部定时器。
4.3.2晶振电路
晶振电路原理图如图3所示。
选取原则:传统做法,但能够实现所需,即最简单也是实用。电容选取33pF,晶振为12MHz。
4.3.3硬件连接图
各硬件连接方式如图4所示。
4.4软件模块
软件设计方框图如图5所示。
图3 晶振电路
图4 硬件连接图
图5 软件设计方框图
4.4.1程序流程图
主程序流程图如图7所示,子程序流程图如图8所示。
图6 主程序流程图
4.4.2数码管显示子程序:
disp0: mov r0,#52h mov r1,#30h mov r3,#3 lll: mov a,@r0 mov b,#10 div ab mov @r1,b