关于单片机毕业设计.docx

上传人:b****5 文档编号:8358773 上传时间:2023-01-30 格式:DOCX 页数:24 大小:176.41KB
下载 相关 举报
关于单片机毕业设计.docx_第1页
第1页 / 共24页
关于单片机毕业设计.docx_第2页
第2页 / 共24页
关于单片机毕业设计.docx_第3页
第3页 / 共24页
关于单片机毕业设计.docx_第4页
第4页 / 共24页
关于单片机毕业设计.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

关于单片机毕业设计.docx

《关于单片机毕业设计.docx》由会员分享,可在线阅读,更多相关《关于单片机毕业设计.docx(24页珍藏版)》请在冰豆网上搜索。

关于单片机毕业设计.docx

关于单片机毕业设计

毕业设计说明书

课题名称:

单片机控制的LED点阵显示

学生姓名王振

专业机电一体化

班级2016.10~2016.12

指导老师叶茎

 

电子学院

摘要

由于单片机技术的不断发展和高度的LED发光管的出现使得大屏幕高亮度LED电子广告屏成为可能,与传统的霓虹灯广告在显示效果以及可修改性上都有着无法比拟的优势,而且单片机的日益平民化以及LED技术的不断创新,使得高亮度高清晰的LED点阵广告牌与传统霓虹灯广告的成本牌日益接近。

为了能简单的实现基于单片机的LED显示系统的控制,我将设计一个单片机控制的LED点阵显示系统,此系统是8*8点阵LED实现简单中文汉字、字母、数字的显示,显示方式有逐字显示、向上滚动显示、向下滚动显示,用按键切换显示方式,并用按键控制系统复位;最后还可以使用双色LED控色其颜色的变化,让64个LED灯实现跑马灯的功能。

我会根据控制要求进行LED点阵显示的硬件设计和软件设计,用Keil软件进行C语言程序设计,并用Protues仿真结果;利用51系列单片机和点阵的LED显示模块实现汉字的动态变化,再利用按键实现其功能的转换,从而实现一个完整的单片机控制系统。

基于单片机的LED点阵显示屏与普通的平面静态广告相比,可以动态显示信息,可以随时更换显示信息,与视频广告相比,造价低,信息显示地点随意性提高。

因此,无论商业广告,还是一般的信息公告显示,LED点阵显示屏都有着广泛的应用。

关键词:

单片机;LED显示屏;Protues仿真;动态显示;Keil程序设计

 

 

一概述

1.1引言

微型计算机技术使用上,单片机主要用于工业测控,如家用电器,计算机外围设备,工业智能化仪表,机器人,生产过程的自动控制,农业,化工,军事,航空航天等领域等,都有着巨大的作用。

点阵显示是集微电子技术、计算机技术、信息处理于一体的新型显示方式,由于其具有色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点。

目前大多数的招牌都是采用固定的板块显示,显示的信息量少,内容固定,修改站点信息比较麻烦,不能快速、便捷的更新站点信息,本文提出一种方案,采用LED点阵显示模块,克服了上述缺点,不仅可以静态的显示信息,而且也可以通过动态滚动,从而增加信息显示的容量。

为了醒目,还可以产生诸如闪动、滚动等显示效果。

显示信息也从固定内容发展到任意内容的多种显示方式,对显示信息的编辑、修改,也由遥控键盘有线通讯模式发展到用计算机编辑文字,在经专用无线控制器将其发射到各站点的通讯模式。

8*8点阵LED字符显示器系统在工业、各种比赛场合及日常生活应用中占有十分重要的地位,多年来,研究此项目的工程技术人员曾为简化电路、提高可靠性、降低成本,付出了很大的努力,做出不少成绩。

如今,美观、价廉、体积小、高可靠性8*8点阵LED字符显示器的出现,为这一领域的技术打开了新的天地。

LED字符显示器发发展到今天已经从模拟化、分立化迈进数字化、集成化LED系统。

以后的发展趋势是卫星定位系统站点显示器,客车内站牌显示器由天线、卫星定位模块、微处理器、LED点阵驱动电路、LED点阵站牌和电可擦写存储器构成。

  目前在广泛的显示器由LED点阵显示器和LCD液晶显示器,还有部分CRT显示器,由于CRT显示器耗电量多、体积较大,且本质量较重,与LED点阵显示器和LCD液晶显示器相比,已处于下风,目前LED和LCD显示器成为现代人们选择之一,它们各有优缺点。

LCD液晶显示器具有图像清晰、体积小、功耗低等优点,但它的成本高、亮度低、寿命短、可视距离和角度很有限。

而LED显示屏具有亮度高、故障低、能耗少、使用寿命长、显示内容多样、显示方式丰富等优点。

 

1.2设计目的和意义

1、设计意义

(一)、有利于本专业所学知识理解,通过在学校学习,学生掌握了一些信息时代生存与发展必需的信息技术基础知识和基本技能,具备了在日常生活与学习中应用信息技术解决问题的基本态度与基本能力。

(二)有利于逻辑思维的锻炼,做任何事情都有一定的步骤,整个过程学生都需要有条理地构思,这中间有猜测设想、判断推理的抽象思维训练,也有分析问题、解决问题、预测目标等能力的培养。

(三)、LED点阵显示器具有亮度高、发光均匀、可靠性好、接线简单、拼装方便等优点,能构成各种尺寸的显示屏。

而在当今时代背景的影响下,LED显示屏的研究意义也尤为明显:

一是节能(直接功耗,间接耗能),二是基本无电离辐射,三是提高空间利用率。

现代社会智能化日渐普遍,使用单片机实现对电路的控制是时代的要求。

因此基于单片机的LED点阵系统不仅在当代社会有着非常大的用途,其应用前景也十分广阔。

目前,LED正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性、可靠性、全色化方向发展。

二、设计目的

(一)、利用8*8LED点阵显示数字“毕业设计”字样。

采用STC89C52单片机作为整个控制搭电路的核心,并编制软件程序,实现动态轮流显示。

通过此设计来巩固单片机硬件系统的设计及软件系统的编程,通过设计将平时所学知识付诸实践,提高动手能力。

(二)、通过理论课的学习和实训,我们已经掌握了不少理论知识和生产实际知识,运用所学知识去分析和解决实际问题才是最终目的。

 

二PROTUES模拟仿真

2.1Protues介绍

单片机是现代电子技术的新兴领域,他的出现极大推动了电子工业的发展,已成为电子系统中最为普遍的应用手段。

近年来单片机技术得到了突飞猛进的发展,各种单片机开发工具层出不穷。

虚拟仿真就是近年来兴起的一种新型应用技术,采用虚拟仿真技术,在原理图设计阶段就可以对单片机应用设计进行评估,验证所设计电路是否达到所要求的技术指标,还有通过改变元器件参数使整个电路性能所达到最优化。

这样就无须多次购买元器件及制作印刷电路板,节省了设计时间与经费,提高了设计效率与质量。

英国Labcenter公司推出的Protues软件是一款极好的单片机应用开发平台,它以特有的虚拟仿真技术很好地解决了单片机及其外围电路的设计和协同仿真问题,可以在没有单片机实际硬件的条件下,利用PC以虚拟仿真方式实现单片机系统的软、硬件同步仿真调试,使单片机应用系统变的简单。

Protues软件涵盖了PIC、AVR、MCS8051、68HC11、ARM等微处理器模型,以及多种常用电子元器件,包括74系列、CMOS4000系列集成电路、A/D和D/A转换器、键盘、LED显示器,还提供示波器、逻辑分析仪、通信终端、电压/电流表、I2C/SPI终端等各种虚拟仪表,这些都可以直接用于仿真设计,极大提高了设计效率和设计水平。

Protues软件已有20多年的历史,在国外应用较为普遍,尤其在教育界的口碑极佳。

近年来Protues软件被进入国内,在多所工科院校中得到成功应用。

在单片机教学中采用Protues软件,使单片机的学习过程变得直观形象,可以直接在基于原理图的虚拟模拟型上进行编程,并实现源码级的程序仿真调试,如有显示及输出,还能看到程序运行后的输出结果,配合各种虚拟仪表来展现整个单片机系统的运行过程,很好地解决了长期以来困扰单片机教学过程中软件和硬件无法很好结合的难题。

采用PC进行虚拟仿真实验要比采用单片机试验箱更为有效,因为用户可以根据需要随时对电路图进行修改,并立即获得仿真效果。

由于PC上修改原理电路图要比实验箱上修改硬件电路容易的多,而且还可以根据设计要求采用不同的元器件,或者修改元器件参数来获得不同的输出结果,在成功进行虚拟仿真并获得期望结果的条件下再制作实际硬件进行在线调试,可以获得事半功倍的效果。

学生普遍反映,在Protues软件平台上学习单片机知识,比以往单纯学习书本知识更容易接受,以原理图虚拟模型进行程序仿真调试,更容易提高单片机编程能力,还可以通过绘制和修改原理电路图增加更多的额实践经验。

Protues组合了高级原理布图、混合模式SPICE仿真、PCB设计以及自动布线来实现一个完整的电子设计系统。

此系统收益于15年的持续开发,被《电子世界》在其对PCB设计系统的比较文章中评为最好产品。

Protues产品系列也包括了我们革命性的VSM技术,用户可以对基于微控制器的设计连同周围的电子器件一起仿真。

用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外形模型来对设计进行交互仿真。

其功能模块:

一个易用而用功能强大的ISIS原理布图工具;Protues混合

模型SPICE仿真:

ARESPCB设计。

PROSPICE仿真器的一个扩展ProtuesVSM:

便于包括所有相关器件的基于微处理器设计的协同仿真。

此外,还可以结合微控制器软件使用的动态键盘、开关、按钮、LED,甚至LCD显示CPU模型。

支持许多通用的微控制器,如PIC、AVR、HC11以及8051;交互和装置模型包括:

LED和LCD显示,RS232Z终端,通用键盘;强大的调试工具:

包括寄存器和存储器,断点和单步模式;IARC-SPY和KeiluVision2等开发工具的源层调试;应用特殊模型的DLL界面提供有关元件库的全部文件。

2.2仿真电路

本次设计采用如图2.1所示,我们采用了AT89C51芯片,8x8的LED显示屏,按键设置各种功能,还有以按键控制的复位装置,但省略了时钟电路以及晶振电路等。

图2.1用单片机控制LED点阵显示原理图

2.3原理图功能说明

基本功能:

用单片机设计一个LED的点阵显示,要求8*8点阵LED实现简单中文汉字、字母、数字的显示,显示方式有逐字显示、向上滚动显示和向下滚动显示,用按键切换显示方式,并用按键控制系统复位。

特色功能:

最后还可以使用双色LED控色其颜色的变化和让64个LED灯实现跑马灯的功能。

具体说明如下:

一、按键K1按下后,LED会逐字显示“机械电子”四个字。

二、按键K2按下后,等上一个显示模式运行完后,LED会向上滚动显示“机械电子”四个字。

三、按键K3按下后,等上一个显示模式运行完后,LED会向下滚动显示“机械电子”四个字。

四、按键RST按下后,等上一个显示模式运行完后,实现跑马灯功能。

三Keil设计C语言程序

3.1KeiluVision2介绍

KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。

运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。

如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

KeilμVision2是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统C语言的语法来开发,与汇编相比,C语言易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。

KeilC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。

C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。

C51已被完全集成到μVision2的集成开发环境中,这个集成开发环境包含:

编译器,汇编器,实时操作系统,项目管理器,调试器。

μVision2IDE可为它们提供单一而灵活的开发环境。

1系统概述

KeilC51软件提供丰富的库函数和强大功能的集成开发调试工具,全Windows界面。

另外重要一点,只要看一下编译后的汇编代码,就能体会到KeilC51生成的目标代码效率非常高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

2KeilC51单片机软件开发系统的整体结构

C51工具包的整体结构,uVision与Ishell分别是C51forWindows和forDos的集成开发环境,可以完成编辑、编译、连接、测试、仿真等整个开发流程。

开发人员可用IDE本身或其他编译器编辑C或汇编源文件。

然后分别由C51及C51编译器编译生成目标文件(.OBJ)。

目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(ABS)。

ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

3.2C语言程序设计

3.2.1字模提取的说明与使用

用LCD液晶屏、LED点阵以及LED摇摇棒显示汉字或图形的时候,需要用取模软件来完成将汉字或图形转化成一定规律的代码的这一复杂工作。

由于不同的取模软件支持的取模规律和输出方式不同,导致每种取模软件都有一定的局限性,所以有时候你会发现取模软件跟自己的硬件或软件不匹配。

本文提供了我用过的一种取模软件,这种取模软件综合起来可以涵盖所有的取模规律及输出方式,不管是汉字、字母、图片以及自定义图片的取模。

取模软件的使用步骤:

如图3.1,1、设置取模规律(取模方式),需要根据具体的硬件软件而定,比方说数据排列是从左往右还是从上到下,字节是否倒序等。

2、设置输出方式,比方是C语言还是汇编,生成数据的格式等。

3、设置字体、大小,设置图片大小等。

输出代码。

图3.1字模提取图

汉字编码:

1.区位码在国标GD2312—80中规定,所有的国标汉字及符号分配在一个94行、94列的方阵中,方阵的每一行称为一个“区”,编号为01区到94区,每一列称为一个“位”,编号为01位到94位,方阵中的每一个汉字和符号所在的区号和位号组合在一起形成的四个阿拉伯数字就是它们的“区位码”。

区位码的前两位是它的区号,后两位是它的位号。

用区位码就可以唯一地确定一个汉字或符号,反过来说,任何一个汉字或符号也都对应着一个唯一的区位码。

汉字“母”字的区位码是3624,表明它在方阵的36区24位,问号“?

”的区位码为0331,则它在03区3l位。

2.机内码汉字的机内码是指在计算机中表示一个汉字的编码。

机内码与区位码稍有区别。

如上所述,汉字区位码的区码和位码的取值均在1~94之间,如直接用区位码作为机内码,就会与基本ASCII码混淆。

为了避免机内码与基本ASCII码的冲突,需要避开基本ASCII码中的控制码(00H~1FH),还需与基本ASCII码中的字符相区别。

为了实现这两点,可以先在区码和位码分别加上20H,在此基础上再加80H(此处“H”表示前两位数字为十六进制数)。

我们可以通过这个软件将我们所要的使用的“机械电子”这四个字的代码给得出来,方便我们进行C语言编程。

3.2.2程序编写

以下是8*8点阵LED字符显示器完整的C程序清单:

#include

#definecharunsignedchar

#defineintunsignedint

/***********机械电子代码********/

charkey,keytmp;

charcodedistab[40]=

{/*--文字:

机--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x10,0x00,0x11,0xF0,0x11,0x10,0x11,0x10,0xFD,0x10,0x11,0x10,0x31,0x10,0x39,0x10,

0x55,0x10,0x55,0x10,0x91,0x10,0x11,0x12,0x11,0x12,0x12,0x12,0x12,0x0E,0x14,0x00

/*--文字:

械--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x10,0x10,0x10,0x14,0x10,0x12,0x10,0x10,0xFB,0xFE,0x10,0x10,0x31,0x50,0x39,0x54,

0x57,0xF4,0x51,0x54,0x91,0x54,0x11,0x48,0x12,0x4A,0x12,0x5A,0x14,0x26,0x10,0x42

/*--文字:

电--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,0x21,0x08,0x21,0x08,0x21,0x08,0x3F,0xF8,

0x21,0x08,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x0A,0x01,0x02,0x01,0x02,0x00,0xFE

/*--文字:

子--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x00,0x7F,0xF8,0x00,0x10,0x00,0x20,0x00,0x40,0x01,0x80,0x01,0x00,0xFF,0xFE,

0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x00};

/***********绕行跑马灯代码********/

charcodedistac[512]=

{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,//*****1****//

0x7f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,//*****2****//

0x7f,0x7f,0x7f,0xff,0xff,0xff,0xff,0xff,//*****3****//

0x7f,0x7f,0x7f,0x7f,0xff,0xff,0xff,0xff,//*****4****//

0x7f,0x7f,0x7f,0x7f,0x7f,0xff,0xff,0xff,//*****5****//

0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0xff,0xff,//*****6****//

0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0xff,//*****7****//

0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,//*****8****//

0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x3f,//*****9****//

0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x1f,//*****10****//

0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x0f,//*****11****//

0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x07,//*****12****//

0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x03,//*****13****//

0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x01,//*****14****//

0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,//*****15****//

0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7e,0x00,//*****16****//

0x7f,0x7f,0x7f,0x7f,0x7f,0x7e,0x7e,0x00,//*****17****//

0x7f,0x7f,0x7f,0x7f,0x7e,0x7e,0x7e,0x00,//*****18****//

0x7f,0x7f,0x7f,0x7e,0x7e,0x7e,0x7e,0x00,//*****19****//

0x7f,0x7f,0x7e,0x7e,0x7e,0x7e,0x7e,0x00,//*****20****//

0x7f,0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,0x00,//*****21****//

0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,0x00,//*****22****//

0x7c,0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,0x00,//*****23****//

0x78,0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,0x00,//*****24****//

0x70,0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,0x00,//*****25***//

0x60,0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,0x00,//*****26****//

0x40,0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,0x00,//*****27****//

0x00,0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,0x00,//*****28****//

0x00,0x3e,0x7e,0x7e,0x7e,0x7e,0x7e,0x00,//*****29****//

0x00,0x3e,0x3e,0x7e,0x7e,0x7e,0x7e,0x00,//*****30****//

0x00,0x3e,0x3e,0x3e,0x7e,0x7e,0x7e,0x00,//****31****//

0x00,0x3e,0x3e,0x3e,0x3e,0x7e,0x7e,0x00,//*****32****//

0x00,0x3e,0x3e,0x3e,0x3e,0x3e,0x7e,0x00,//*****33****//

0x00,0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x00,//*****34****//

0x00,0x3e,0x3e,0x3e,0x3e,0x3e,0x1e,0x00,//*****35****//

0x00,0x3e,0x3e,0x3e,0x3e,0x3e,0x0e,0x00,//*****36****//

0x00,0x3e,0x3e,0x3e,0x3e,0x3e,0x06,0x00,//*****37****//

0x00,0x3e,0x3e,0x3e,0x3e,0x3e,0x02,0x00,//*****38****//

0x00,0x3e,0x3e,0x3e,0x3e,0x3e,0x00,0x00,//*****39****//

0x00,0x3e,0x3e,0x3e,0x3e,0x3c,0x00,0x00,//*****40****//

0x00,0x3e,0x3e,0x3e,0x3c,0x3c,0x00,0x00,//*****41****//

0x00,0x3e,0x3e,0x3c,0x3c,0x3c,0x00,0x00,//*****42****//

0x00,0x3e,0x3c,0x3c,0x3c,0x3c,0x00,0x00,//*****43****//

0x00,0x3c,0x3c,0x3c,0x3c,0x3c,0x00,0x00,//*****44****//

0x00,0x38,0x3c,0x3c,0x3c,0x3c,0x00,0x00,//*****45****//

0x00,0x30,0x3c,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1