《基于单片机的点阵图形显示设计课程设计(14页).doc》由会员分享,可在线阅读,更多相关《基于单片机的点阵图形显示设计课程设计(14页).doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-基于单片机的点阵图形显示设计课程设计-第 - 12 - 页单 片 机 课 程 设 计 题 目 基于单片机的点阵图形显示设计 摘要单片机是计算机技术,大规模集成电路技术和控制技术的综合产物,经过30多年的发展历程,单片机应用已十分广泛和深入,所以可以毫不夸张的说,任何设备和产品的自动化,数字化和智能化都离不开单片机。如果说微型计算机的出现使现代科学研究得到了质的飞跃,那么可以毫不夸张他说,单片机技术的出现则是给现代工业测控领域带来了一次新的技术革命。由于单片机技术在各个领域正得到越来越广泛的应用,世界上许多集成电路生产厂家相继推出了各种类型的单片机,在单片机家族的众多成员中,MCS-51系列单
2、片机以其优越的性能、成熟的技术及高可靠性和高性能价格比,迅速占领了工业测控和自动化工程应用的主要市场,成为国内单片机应用领域中的主流。半导体发光二极管(LED),是指在半导体PN结通以正向电流时能发光的半导体显示器件。它具有寿命长、功耗低、体积小、多色显示、工作温度稳定性好,响应时间快等优点,已广泛用于各种仪器仪表、计算机、家用电器等领域也可用于光纤通信、信息处理和自动控制。随着技术的发展,LED显示得到了日益广泛的应用,将单色或彩色发光二极管排列成矩阵板即构成LED显示屏,利用单片机或微机来进行控制,使显示内容变得丰富多彩。本文将介绍一种采用单片机AT89C51进行控制的8*8LED点阵显示
3、,该点阵可实现简单的图形、形状显示功能。 目录第一章 系统功能要求第二章 设计方案的确定 第三章 系统硬件电路的设计 3.1.1 单片机的时钟电路 3.1.2单片机的复位电路 3.1.3 AT89C51的最小应用系统 3.2.1 8*8点阵LED显示器的组成原理及控制方式 3.2.2 88点阵LED显示器与单片机的接口 3.3 电源电路的设计 3.4单片机芯片的性能及功能分析 第四章 系统程序的设计 第五章 调试及性能分析 5.1 软件调试 5.2 性能分析 参考文献 附录 第一章 系统功能要求本系统采用单片机AT89C51为LED显示屏的控制核心,制造一种简单的88显示屏,能够在目测条件下L
4、ED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字稳定、清晰无串扰,图形或文字显示有静止、移入移出等显示方式。本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。系统框图:本文设计行、列驱动电路,显示屏电路,运用单片机的智能化,系统的将每个功能电路模块连接在一起,总体结构设计如下图所示:点阵显示器行 驱动电路 单片机89C518*8点阵LED显示器电路PC上位机点阵显示器列驱动电路 第二章 设计方案的确定一,单片机采用STC89C52RC芯片。二,点阵显示器的驱动电路:由P0.0-P0.7控制点阵的列代码,由P2.0-P2.7控制点阵的行代码,先送列扫描码,然后再送行
5、扫描数据。三,点阵采用8*8LED单色点阵。四,利用keil软件编写相应的程序代码,并生成HEX文件。将HEX文件下载到单片机芯片中,最后实现显示相应图形的目的。 第三章 系统硬件电路的设计3.1.1 单片机的时钟电路 AT89C51单片机内部的振荡电路是一个高增益反向放大器,引线X1和X2分别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。AT89C51的时钟产生方式有两种:内部时钟电方式和外部时钟方式。由于外部时钟方式用于多片单片机组成的系统中,所以此处选用内部时钟方式。 内部时钟方式:利用其内部的振荡电路在X1和X2引线上外接定时元件,内部振荡电路产生
6、自激振荡。最常用的是在 X1和X2之间接晶体振荡器与电路构成稳定的自激振荡器,如图电路所示为单片机最常用的时钟振荡电路的接法,其中晶振可选用振荡频率为12MHz的石英晶体,电容器一般选择30PF左右。3.1.2 单片机的复位电路单片机在启动运行时需要复位,使CPU以及其它功能部件处于一个确定的初始状态,并从这个状态开始工作,另外,在单片机工作过程中,如果出现死机时,也必须对单片机进行复位,使其重新开始工作。本设计中采用按键复位电路,其中电容选择10uf、电阻大小为10K。复位电路如下图所示:3.1.3 AT89C51的最小应用系统 AT89C51是片内有程序存储器的单片机,要构成最小应用系统时
7、只要将单片机接上外部的晶体或时钟电路和复位电路即可,如下图所示。这样构成的最小系统简单可靠,其特点是没有外部扩展,有可供用户使用的大量的IO线。3.2.1 8*8点阵LED显示器的组成原理及控制方式 本次设计中采用88点阵LED显示器,简称LED点阵板或LED矩阵板。它是以发光二极管为像素,按照行与列的顺序排列起来,用集成工艺制成的显示器件。有单色和双色之分,设计中用到的是单色显示器。其内部结构图如下所示:8X8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1电平,某一列置0电平,则相应的二极管就亮;如要将第一个点点亮,则9脚接高电平13脚接低电平
8、,则第一个点就亮了;如果要将第一行点亮,则第9脚要接高电平,而(13、3、4、10、6、11、15、16)这些引脚接低电平,那么第一行就会点亮;如要将第一列点亮,则第13脚接低电平,而(9、14、8、12、1、7、2、5)接高电平,那么第一列就会点亮。3.2.2 88点阵LED显示器与单片机的接口 单片机的P0口经限流电阻与点阵的行控制引脚相连,P2口则直接与点阵的列控制引脚相连。3.3 电源电路的设计电源电路采用普通集成稳压电路,在本设计中,由于考虑到成本问题,这部分电路就以输出+5V的稳压电源代替。3.4单片机芯片的性能及功能分析 32条可编程I/O线 两个16位定时器/计数器 6个中断源
9、 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 管脚说明: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上
10、拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双
11、向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SF
12、R8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL
13、1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 第四章 系统程序的设计 本实验的目的是实现菱形和椭圆两个图形在8*8LED点阵上的轮流显示。图形的编码分别为:菱形 行代码:0x10,0x28,0x44,0x82,0x44,0x28,0x10,0x00 列代码:0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe椭圆 行代码:0x18,0x24,0x42,0x42,0x42,0x24,0x18,0x00 列代码:0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe另外,由于本实验是两个图形的轮流显示,所以
14、主程序中加入了延时程序,延时程序采用的是1MS基准延时。void delay1ms(unsigned int i)unsigned char j; while(i-) for(j=0;j115;j+) /1ms基准延时程序 主程序内容如下:#includevoid delay1ms(unsigned int i)unsigned char j; while(i-) for(j=0;j115;j+) /1ms基准延时程序 Unsignedcharconstx8=0x10,0x28,0x44,0x82,0x44,0x28,0x10,0x00,0x18,0x24,0x42,0x42,0x42,0x2
15、4,0x18,0x00;unsigned char code y=0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe;void delay(unsigned int cnt) while(-cnt);void main() unsigned char i,j; while(1) for(i=0;i2;i+) delay1ms(1000); for(j=0;j8;j+) P0=xij; P2=yj; delay(300); 第五章 调试及性能分析5.1 软件调试 调试分为用KEIL软件进行调试以及使用protues仿真软件进行调试。KEIL软件调试:Protues仿真
16、软件调试:5.2 性能分析 此次系统设计结果较好,LED显示屏能很好的显示信息。这个方案设计的8*8的点阵LED图文显示屏,电路简单,成本较低,且较容易扩展成更大的显示屏;显示屏各点高度均匀、充足;显示图形或文字稳定、清晰无串拢;可用静止、移入移出等多种显示方式显示图形或文字。参考文献1李朝青.单片机原理及接口技术(第三版).北京航空航天大学出版社,20062李小坚,等.Protel DXP电路设计与制版实用教程(第二版).人民邮电出版社,20123蒋清明.C语言程序设计.人民邮出版社,20084康华光.电子技术基础(第五版).高等教育出版社,2005附录一:仿真图附录二:电路图附录三:源程序
17、#includevoid delay1ms(unsigned int i)unsigned char j; while(i-) for(j=0;j115;j+) /1ms基准延时程序 Unsignedcharconstx8=0x10,0x28,0x44,0x82,0x44,0x28,0x10,0x00,0x18,0x24,0x42,0x42,0x42,0x24,0x18,0x00;unsigned char code y=0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe;void delay(unsigned int cnt) while(-cnt);void main() unsigned char i,j; while(1) for(i=0;i2;i+) delay1ms(1000); for(j=0;j8;j+) P0=xij; P2=yj; delay(300);