点阵显示汉字课程设计.doc_第1页
点阵显示汉字课程设计.doc_第2页
点阵显示汉字课程设计.doc_第3页
点阵显示汉字课程设计.doc_第4页
点阵显示汉字课程设计.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课 程 设 计 说 明 书课程名称: 单片机原理及接口技术设计课题:8 8点 阵 显 示 汉 字专 业: 计 算 机 控 制 技 术班 级: Z 1 1 0 4 5 5姓 名: 凌 春 光2013年 5 月 20 日目录第一章 系统概述1.1 设计任务及目的4第2章 系统硬件设计与分析2.1 电源电路52.2 复位电路52.3 主体电路62.4 硬件电路连线62.5 显示部分72.5.1 LED点阵内容结构92.5.2 等效电路图92.5.3 点阵LED扫描法介绍.10 第3章 单片机的配置及简介3.1 单片机介绍11第4章 系统软件设计4.1 汉字的编码124.2 字母的编码124.3 完整程序12第5章 有关软件的介绍5.1 PROTE电路设计及PCB图制作 15 5.1.1 原理图设计15 5.1.2 PCB图制作16 5.1.3 印制板的制作165.2 Keil C51 介绍及使用 165.3 烧录器的使用1结束语 18参考文献 18附录一 PCB图19附录二 运行截图.23第一章 系统概述LED点阵显示系统中各模块的显示方式有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的脉冲信号,反复循环以上操作,就可显示各种图形或文字信息。本文将介绍一种采用单片机AT89C51进行控制的8*8LED点阵。该点阵可实现动态显示任意四个数字、字母或汉字的功能,如动态显示“凌”“春”“光”LCG”。1.1设计任务及目的利用8*8LED点阵显示数字09和26个英文字符的字样。采用AT89C51单片机作为整个控制搭电路的核心,并编制软件程序,实现动态轮流显示。通过此设计来巩固单片机硬件系统的设计及软件系统的编程,通过设计将平时所学知识付诸实践,提高动手能力。第二章 系统硬件设计与分析本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机AT89C51、电阻10K和100欧、三极管8550、按钮开关、共阳8*8LED点阵显示块、稳压块7805。2.1 电源电路本设计实验所需电源为直流五伏电压源,采用的是固定式三端稳压器7805还实现。其线路接线图如图1所示:图1 电源电路2.2 复位电路单片机在启动运行时需要复位,使CPU以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作,另外,在单片机工作过程中,如果出现死机时,也必须对单片机进行复位,使其重新开始工作。本设计中采用按键复位电路,复位电路如图2所示:图2 复位电路2.3 主体电路通过单片机AT89C51的P0口和P1口去驱动点阵LED芯片块。电路如图3所示:2.4 硬件电路连线 1. 把“单片机系统”区域中的P0.0P0.7端口分别通过八个100欧电阻连接到“点阵模块”区域中的“L1L8”端口上;2. 把“单片机系统”区域中的P1.0P1.7端口通过三极管8550和10K电阻连接到“点阵模块”区域中的“S1S8”端口上。 2.5 显示部分计算机中显示汉字大部分是采用“点阵”的形式,通过LED点阵显示屏显示的。为在88 LED 发光二极管点阵上显示汉字,首先要把汉字表示成为88像素点图。如图5.2所示为汉字“出”的88像素点图。图5.2 8X8汉字像素点图如果用“1”表示点亮的像素,“0”表示暗像素,则8X8的一个汉字可以用8个字节表示像素,称为该汉字的字模。“光”的字模为:0x48,0x49,0x2a,0xff,0x18,0x14,0x92,0xF1要在LED点阵显示器上显示汉字,只要按该汉字的字模点亮相应的像素点就行。 图3 主体电路2.5.1 LED点阵的内部结构 图5-3 8X8LED点阵屏实物图 图5-4 LED点阵屏内部结构 图5.5 8X8 LED点阵屏外观及引脚图从图5-4中可以看出,LED点阵屏就是发光二极管按行、列排列而成。8X8屏有64个LED管(点)。每8个管共阳极为一行,共阴极为一列。所以有8行8列。有8X2 只引脚,其中8只引脚为行线,分别为DC1(0)、DC2(1)、DC3(2)、DC4(3)、DC5(4)、DC6(5)、DC7(6)、DC8(7),8只引脚为列线,分别为DR1(A)、DR2(B)、DR3(C)、DR4(D)、DR5(E)、DR6(F)、DR7(G)、DR8(H)。如图5-5所示。2.5.2其等效电路图如下: 图5 88点阵LED等效电路2.5.3点阵LED扫描法介绍点阵LED一般采用扫描式显示,实际运用分为三种方式:(1)点扫描; (2)行扫描;(3)列扫描。若使用第一种方式,其扫描频率必须大于1664=1024Hz,周期小于1ms即可。若使用第二和第三种方式,则频率必须大于168=128Hz,周期小于7.8ms即可符合视觉暂留要求。此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。第3章 单片机的配置及简介3.1 单片机介绍所谓单片机,就是将CPU,RAM,ROM,定时/计数器和多种I/O接口电路都集成在一块集成芯片上的微型计算机。MCS-51系列单片机是美国Intel公司在1980年推出的8位单片 微型计算机 ,包含51和52两个子系列。51子系列的典型产品有8031,8051和8751三种机型 52子系列包括8032,8052二种主要机型。 51子系列的配置如下:(1)8位CPU;(2)振荡频率1.212MHZ;(3)128个字节的片内数据存储器(片内RAM);(4)21个专用寄存器;(5)4KB的片内程序存储器(8031无);(6)8位并行I/O口P0,P1,P2,P3;(7)一个全双工串行I/O口;(8)2个16位定时器/计数器; (9)5个中断源,分为2个优先级; 第4章 系统软件设计4.1汉字的编码0x10,0x39,0x11,0x7e,0x98,0x75,0x29,0x55;/凌0x10,0x7E,0x3C,0xff,0x24,0x7E,0xBD,0x3C;/春0x48,0x49,0x2a,0xff,0x18,0x14,0x92,0xF1;/光4.2字母的编码 0xF9,0x25,0x25,0x25,0xE5,0xA5,0xE5,0x9B;/LCG4.3 完整程序 #include unsigned char code taba=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/行选unsigned char code tabb=0x10,0x39,0x11,0x7e,0x98,0x75,0x29,0x55;/选列凌unsigned char code tabc =0x10,0x7E,0x3C,0xff,0x24,0x7E,0xBD,0x3C;/春unsigned char code tabd=0x48,0x49,0x2a,0xff,0x18,0x14,0x92,0xF1;/光unsigned char code tabe=0xF9,0x25,0x25,0x25,0xE5,0xA5,0xE5,0x9B;/LCGunsigned char i,j;void delay(void)/延时5ms unsigned char i,j; for(i=10;i0;i-) for(j=248;j0;j-);void delay1(void)/延时10ms unsigned char i,j,k; for(k=10;k0;k-) for(i=20;i0;i-) for(j=248;j0;j-);void main(void) while(1) for(j=0; j10; j+) /from 上 to 下 3 time for(i=0;i8;i+) P2=tabai; P3=tabbi; /P1=0xff; delay(); /for(j=0; j2; j+) /from 下 to 上 3 time / for(i=0;i8;i+) P2=tabai; /P3=tabbi; P3=0xff; delay1(); / for(j=0; j10; j+) /from 上 to 下 3 time for(i=0;i8;i+) P2=tabai; P3=tabci; /P1=0xff; delay(); for(i=0;i8;i+) delay1(); for(j=0; j10; j+) /from 上 to 下 3 time for(i=0;i8;i+) P2=tabai; P3=tabdi; /U /P1=0xff; delay(); for(i=0;i8;i+) P2=taba7-i; /P3=tabbi; P3=0xff; delay1(); for(i=0;i8;i+) delay1(); for(j=0; j10; j+) /from 上 to 下 3 time for(i=0;i8;i+) P2=tabai; P3=tabei; /P1=0xff; delay(); for(i=0;i8;i+) delay1(); /*for(i=0;i8;i+) P2=taba7-i; /P3=tabbi; P1=0xff; delay1(); */ 第5章 有关软件的介绍5.1 PROTEL电路设计及PCB图制作Protel99SE是桌面环境下第一个以设计管理和协作技术为核心的全方位印刷电路板设计系统,它集强大的设计能力,复杂工艺的可生产性和设计过程管理于一体,可完整实现电子产品从概念设计到生成物理生产数据的全过程,以及中间的所有分析,仿真和验证。整个过程包括以下几个步骤:(1)构想电路模型(2)设计电路原理图(3)校对后输出原理图(4)产生网络表(5)设计印刷电路板(6)检查后输出PCB板图5.1.1 原理图设计先进入PROTEL99SE主界面。执行File/New命令,进入一个新的项目设计,新建一个设计管理数据库文件。在Document 下新建一个原理图文件然后进入编辑窗口,进行原理图的设计与编辑。本设计绘制好的原理图见附录所示。在调用元器件时,如果需要用到一些现存库中没有的元件,要对原理图设计软件包中的库做些补充,添加一些新的元件。以使原理图上的所有元件都能在库中找到。绘制完原理图需要对各个元件进行封装,一般器件封装库内都有相应的封装,没有适当的封装时应当自己进行封装图设计,并将该封装图设计调入封装库中,以便自己对元器件封装时可以用到。然后对所设计的电路图进行ERC检查,不通过检查的话根据提示进行修改,例如没有接好线,封装不当,引脚定义设定不正确等。如果通过ERC检查,则可以执行Design/Create Netlist命令生成网络表。5.1.2 PCB图制作对原理图生成网络表后,就可以在PCB编辑环境下进行PCB图的设计与编辑了,在PCB环境下导入网络表,这时在PCB设计界面内将出现所有器件的封装图,将所有的元件拖入布线区进行手动布局,布局之后设定好连线宽度,单面或双面板设定(本设计仅需要单面板即可完成设计)等设定布线规则后再KEEPOUT LAYER将所有器件框在内,然后在BOTTOM LAYER进行连线。一般使用Auto Route命令进行进行自动布线了,自动布线之后再进行手工的修改。PCB图见附录一。5.1.3 印制板的制作用转印纸打印出PCB图,将PCB图熨烫到电路板上,熨烫时要注意受热均匀完整,然后用三氯化铁溶液腐蚀电路板,为加快速度可以加少量热水和适当的进行晃动;用天那水把油墨洗干净,最后焊接元件。焊接前涂上酒精松香溶液,以便到时候焊接板子更容易和防止铜线被腐蚀。制作好电路板以后要仔细检查电路,看看有没有虚焊、漏焊、短路、断路等等常见问题,为以后的总体调试打好基础。5.2 Keil C51 介绍及使用本设计中源程序程序的编写与调试是在Keil C51集成环境uVision中进行的。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面,界面友好,操作简单。另外重要的一点是只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。(1)建立一个新的工程::单击“Ptoject”菜单,在弹出的下拉菜单中选择“New Project”选项。然后选择你要保存的路径,输入工程的名字然后点击保存。这时会弹出一个对话框,要求你选择单片机的型号,根据你所用的单片机来选择,Keil C51几乎支持所有的51内核的单片机,在本设计中选择的是AT89S51。(2)编写程序:单击“File”菜单,在下拉菜单中选择“New”,这时编辑窗口会出现一个Text1窗口,光标在该窗口中闪烁,首先保存该空白文档,单击菜单上的“File”, 在弹出的下拉菜单中选择“Save As”选项,在出现的对话框中键入欲使用的文件名并同时键入正确的后缀名(本设计中为.asm),然后保存。回到编辑界面后,单击“Target 1”前面的“+”,然后在“Source Group 1”上单击右键,在弹出菜单中选择“Add Files to Group Source Group 1”,选中设计所需要的源程序文件,然后单击“Add”,这时注意到“Source Group 1”文件夹中多了若干个子项,子项的多少跟所增加的源程序的多少相同。这时就可以键入应用程序了。Keil C51 会自动识别关键字,并以不同的颜色提醒用户加以注意,这样会使用户少犯错误,有利于提高编程效率。(3) 编译并生成HEX文件:程序编写完成以后,单击“Ptoject”菜单,在下拉菜单中选择“Built Target”选项,或者使用快捷键F7。编译成功后右击“Target 1”在弹出菜单中选择“Options For Target Target 1”,在弹出的对话框中选择“Output”选项中的“Creat HEX File”选项使程序编译后产生HEX代码,供下载器软件使用。然后单击“自动完成”选项,烧写完毕后如果显示“0个单元不对”就说明程序烧写成功了。当然在烧录过程中会碰到一些问题,比如检测器件时,时有时无,这是下载线不稳定的表现,如果不能检测到器件,但是却可以正常读写,并且效验无误,这个就是单片机的问题了,可能单片机已经坏了,如果写器件时总是写到某个地址就停顿,然后报告失败;或者可以顺利写完,但效验时显示有单元不正确,最可能的原因是电源不稳定,电缆太长,线路没焊好,器件质量问题等,也可能与电脑性能有关,特别是开启了很多程序的时候。当遇到问题的时候就要根据这些来判断问题的根源并想办法解决,这样程序烧写就没有问题了。5.3 烧录器的使用本设计中程序是用Easy 51Pro编程器烧写的。Easy 51Pro编程器是一款操作简单、容易自制、容易扩充、非常稳定、灵活的ISP编程器。它支持hex文件,有重载的文件对话框,让你不必到处去找文件而且有热键支持,让我们调试程序时效率更高。接好编程器的硬件电路后,在最上方选择你要编程的器件后点击“检测器件”,如果检测到了器件,左边的状态栏就会显示“检测到器件”并显示该器件的ROM与编程电压的大小特性。检测到器件以后单击“操作”中的“自动打开文件”选项,在弹出的对话框中打开要烧录的程序的HEX文件。最

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论