




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西安电力高等专科学校计算机工程_系_2010届毕业设计(论文)题目: led显示系统设计 学号: 姓名: 专业: 计算机控制技术专业 班级: 44071 指导教师: 完成时间: 2010年6 月 日 目录摘要2第一章 led点阵显示的背景和控制技术状况2 1.1 led点阵显示的背景3 1.2 led显示的控制技术状况3第二章 开发环境简介4 2.1 单片机的发展4 2.2 stc89c52的硬件结构52.2.1 stc89c52芯片引脚介绍52.2.2 stc89c52单片机的存储器结构62.2.3 stc89c52单片机的输入/输出端口82.2.4 stc89c52单片机的复位电路112.3 vc6.0简介122.4 keilc51简介12第三章 点阵汉字编码和汉字显示原理163.1 汉字字模163.2 汉字显示原理17第四章 led显示系统硬件设计18 4.1 列扫描模块18 4.2 硬件设计19第五章 led显示系统软件的设计225.1 设计流程235.2 软件程序实现23第六章 程序下载调试32设计总结35参考文献36摘要随着电子信息技术和智能化的不断深入,人们的生活、工作等各个方面发生了巨大的变化。近些年,单片机的开发应用已成为高科技和工程领域的一项重要内容。因为它具有集成度高、体积小、功耗低、控制功能强、速度快、抗干扰能力强、易于开发等诸多优点。因此,从导弹的导航装置到飞机上各种仪表的控制;从计算机的网络通讯与数据传输到工业自动化过程的实时控制和数据处理;以及我们生活中广泛使用的各种智能ic卡、电子宠物等都离不开单片机。在发达国家单片机技术开发应用发展很快,并取得了明显的经济效益和社会效益。在我国,单片机的应有进展也很快,特别是在工业控制、通信、智能化仪器、仪表、产品自动化、分布式控制系统中已取得了可喜的成果。近几年来我国led显示的相关技术也取得了较快和较大的发展,早期时曾因led材料器件的限制,led显示屏的应用领域没有广泛展开,另一方面,显示屏控制技术基本上是通信控制方式,客观上影响了显示效果。所以导致早期的led显示屏在国内很少,产品以红、绿双基色为主,控制方式为通信控制,灰度等级为单点四级调灰,产品的成本比较高。后来led显示屏迅速发展,进入九十年代,全球信息产业高速增长,信息技术各个领域不断突破,led显示屏在led材料和控制技术方面也不断出现新的成果。蓝色led镜片研制成功,全彩色led显示屏进入市场;电子计算机及微电子领域的技术发展,在显示屏控制技术领域出现了视频控制技术,显示屏的动态显示效果大大提高。这个阶段,led显示屏在我国发展迅速,led显示屏产业成为新兴的高科技产业。今天,led显示屏应用领域更为广阔。第一章 led点阵显示的背景和控制技术状况1.1 led点阵显示的背景在当今现代信息化高速发展过程中,大屏幕显示已经从公共信息展示等商业应用向消费多媒体类渗透。随着宽带网络的发展,数字化的多媒体内容将在信息世界中占据主流,新型的大屏幕显示设备将代替传统的电视机成为人们享受和多媒体内容的中心。与传统显示设备相比,这种未来的巨大需求让大屏幕显示技术成为众人目光的焦点:(1)、led显示屏色彩丰富,显示方式变化多样(图形、文字、三维、二维动画、电视画面等)、亮度高、寿命长,是信息传播设施化的产品。(2)、led显示屏是集光电子技术、微电子技术、计算机技术、信息处理技术于一体的高技术产品。可用来显示文字、计算机屏幕同步的图像。它以其超大画面、超强视觉、灵活多变的显示方式等独具一格的优势成为目前国际上使用最广泛的显示系统。(3)、led显示屏广泛应用在金融证券、银行利率、商业广告、文化娱乐等方面,有巨大的社会效益和丰厚的经济效益。led点阵显示屏的发展历史背景,其发展主要经历了三个阶段:(1)、1990年以前led显示屏的成长时期。一方面,收led灯材料的限制,led显示屏的应用领域没有广泛展开;另一方面,显示屏控制技术基本上是通讯控制方式,客观上影响了显示效果。这一时期的led在国外应用较广,产品以红、绿双色为主,控制方式为通讯控制方式,灰度等级为4级调灰,成本较高。(2)、1990年1995年,这一段时led迅速发展的时期,进入90年代,全球信息产业高速增长,信息技术各个领域不断突破,led显示屏在led材料和控制技术方面也不断出现新成果。蓝色led晶研制成功、全色彩led进入市场。电子计算机和微电子技术的发展,在显示屏控制领域出现了视频控制技术,显示屏灰度等级实现16级灰度和64级灰度调灰,显示屏的动态显示效果大大提高,产品设计领域更加广泛,特别是1993年的证券股票业的发展更引发了led显示屏市场的大幅增长,led显示屏在平板显示领域的主流产品局面基本形成。led技术产业成为新兴的高科技产业。(3)、1995年以来,led显示屏的发展进入一个总体稳步提高产业格局调整完善的时期。进入新世纪,光电子产业得到广泛重视。中国加入wto、北京申奥成功等成为led显示产业发展的契机。1.2 led显示屏控制技术的情况 显示屏的控制系统包括输入接口电路、信号控制、转换和数字化处理电路及输出接口电路等,涉及的技术很多,其关键技术包括串行传输与并行传输技术、动态扫描与静态锁存技术、自动检测与远程控制技术等。1.2.1 串行传输与并行传输技术led显示屏的数据传输方式主要有串行和并行两种。目前普遍采用串行控制技术。显示屏每个单元内部的不同驱动电路和各级联单元之间,每个时钟仅传送一位数据。采用这种方式的驱动ic种类较多,不同显示单元之间的连线较少,可减少显示单元的数据传输驱动元件,从而提高整个系统的可靠性和性价比。1.2.2 动态扫描与静态锁存技术led显示屏控制系统实现显示信息的刷新技术有动态扫描和静态锁存两种方式。根据共用一行驱动寄存器的发光二极管像素数目,分为1/4,1/16扫描等。室外显示屏基本上采用静态锁存技术,即每一个发光二极管都对应有一个驱动寄存器,无需分时工作,从而保证了每一个发光二极管的亮度占空比为100%。动态扫描法可以大大减少控制器的i/o口,因此应用较广。第二章 stc89c52单片机简介2.1 单片机的发展单片机是单片微型计算机(single chip microcomputer)的简称。单片机是把微型计算机的各个功能部件(中央处理器cpu、随机存储器ram、只读存储器rom、i/o接口、定时/计数器以及串行通信接口)集成在一块芯片上,构成一个完整的计算机。其发展经过了以下几个阶段:(1)、1971年intel公司首次推出4位机。(2)、1976年intel公司推出8位机。(3)、1980年inter公司推出mcs-51单片机,其后inter、philips、siemens、atmel等公司相继推出名目繁多的单片机。(4)、1983年inter公司推出16位机。(5)、20世纪末32位单片机已进入使用阶段。 2.2 stc89c52的硬件结构2.2.1 stc89c52芯片引脚介绍stc89c52 是一种低功耗、高性能cmos8位微控制器,其基本特征如下:1)、8位cpu,含片内振荡器。2)、4kb的程序存储器rom.3)、128b的数据存储器ram.4)、64kb的外部程序存储器寻址能力。5)、64kb外部数据存储器寻址能力。6)、32根输入输出(i/o)线。7)、2个16位定时、计数器。8)、1个全双工异步串行口。9)、21个特殊功能寄存器。10)、5个中断源、2个优先级。11)、具有位寻址功能。其内部主要由片内ram(128*8)、片内rom(4k*8)、串行口、定时器、p0-p3组成的i/o端口以及由运算器和控制器组成的中央处理器组成。其中,中央处理器(cpu)、存储器(rom和ram)和输入输出端口这三部分则由内部总线紧密的联系在一起。可以看出,单片机的组成与一般微型计算机是相同的。以下是单片机的外部引脚及其功能:40个引脚按其功能可分为以下三部分:1)、电源及时钟引脚vcc(40脚):接+5v电源;vss(20脚):接地。xtal1(19脚):接外部晶 体的一个脚。在单片机内 部,它是一个反相放大器 的输入端。这个放大器构 成了片内振荡器。当采用 外接晶体振荡器时,此引 脚应接地。xtal2(18脚):接外部晶体的另一端,在单片机内部接反相放大器的输出端。若采用外部振荡器时,该引脚接收振荡器的信号,即把此信号直接接入内部时钟发生器的输入端。2)、控制引脚rst/vpd(9脚):当振荡器运行时,在此引脚外加上两个机器周期的高电平将使单片机复位(rst)。掉电期间,此引脚可接上备用电源(vpd),以保持内部ram的数据。ale/prog(30脚):党访问单片机外部存储器时,ale(地址锁存允许)输出脉冲的负跳沿用于16位地址的低8位的锁存信号。即使不访问外部锁存器,ale仍然有正脉冲信号输出,此频率约为时钟振荡频率的1/6。psen(29脚):此脚的输出是单片机访问外部程序存储器的读选通信号。再由外部程序存储器取指令(或常数)期间,每个机器周期psen两次有效。但在此期间,每当访问外部数据存储器时(即从程序存储器取来的指令是movx类指令),这两次有效的psen信号将不出现。ea/vpp(31脚):当ea端保持高电平时,单片机访问内部程序存储器,当ea保持低电平时,则只访问外部程序存储器,不管是否有内部程序存储器。2.2.2 stc89c52单片机的存储器结构 stc89c52 的存储器可划分为五类:1)、程序存储器:用于存放编好的程序和表格常数。在mcs-51指令系统中,同外部程序存储器打交道的指令仅有两条: movc a,a+dptr movc a,a+pc2)、内部数据存储器:mcs-51单片机的内部数据存储器在物理上和逻辑上都分为两个地址空间,即:数据存储器空间(低128单元);特殊功能寄存器空间(高128单元);这两个空间是相连的,从用户角度而言,低128单元才是真正的数据存储器。下面我们就来详细的与大家讲解一下: 低128单元:片内数据存储器为8位地址,所以最大可寻址的范围为256个单元地址,对片外数据存储器采用间接寻址方式,r0、r1和dptr都可以做为间接寻址寄存器,r0、r1是8位的寄存器,即r0、r1的寻址范围最大为256个单元,而dptr是16位地址指针,寻址范围就可达到64kb。也就是说在寻址片外数据存储器时,寻址范围超过了256b,就不能用r0、r1做为间接寻址寄存器,而必须用dptr寄存器做为间接寻址寄存器。 从上图中我们可以看到,8051单片机片内ram共有256个单元(00h-ffh),这256个单元共分为两部分。其一是地址从00h7fh单元(共128个字节)为用户数据ram。从80hffh地址单元(也是128个字节)为特殊寄存器(sfr)单元。从图1中可清楚地看出它们的结构分布。 a、通用寄存器区(00h-1fh) 在00h1fh共32个单元中被均匀地分为四块,每块包含八个8位寄存器,均以r0r7来命名,我们常称这些寄存器为通用寄存器。这四块中的寄存器都称为r0r7,那么在程序中怎么区分和使用它们呢?聪明的intel工程师们又安排了一个寄存器程序状态字寄存器(psw)来管理它们,cpu只要定义这个寄存的psw的d3和d4位(rs0和rs1),即可选中这四组通用寄存器。对应的编码关系如下表所示。惹程序中并不需要用4组,那么其余的可用做一般的数据缓冲器,cpu在复位后,选中第0组工作寄存器。 b、位寻址区(20h-2fh)片内ram的20h2fh单元为位寻址区,既可作为一般单元用字节寻址,也可对它们的位进行寻址。位寻址区共有16个字节,128个位,位地址为00h7fh。c、用户ram区(30h-7fh)在片内ram低128单元中,通用寄存器占去32个单元,位寻址区占去16个单元,剩下的80个单元就是供用户使用的一般ram区了,地址单元为30h-7fh。d、特殊功能寄存器特殊功能寄存器(sfr)的地址范围为80hffh。在mcs51中,除程序计数器pc和四个工作寄存器区外,其余21个特殊功能寄存器都在这sfr块中。其中5个是双字节寄存器,它们共占用了26个字节。各特殊功能寄存器的符号和地址见附表2。其中带号的可位寻址。特殊功能寄存器反映了8051的状态,实际上是8051的状态字及控制字寄存器。用于cpu psw便是典型一例。这些特殊功能寄存器大体上分为两类,一类与芯片的引脚有关,另一类作片内功能的控制用。与芯片引脚有关的特殊功能寄存器是p0p3,它们实际上是4个八位锁存器(每个i/o口一个),每个锁存器附加有相应的输出驱动器和输入缓冲器就构成了一个并行口。mcs51共有p0p3四个这样的并行口,可提供32根i/o线,每根线都是双向的,并且大都有第二功能。其余用于芯片控制的寄存器中,累加器a、标志寄存器psw、数据指针dptr等的功能。2.2.3 stc89c52单片机的输入/输出端口8051有4组8位i/o口:p0、p1、p2和p3口,p1、p2和p3为准双向口,p0口则为双向三态输入输出口,下面我们分别介绍这几个口线:p0口和p2口:图为p0口和p2口其中一位的电路图,由图可见,电路中包含一个数据输出锁存器和两个三态数据输入缓冲器,另外还有一个数据输出的驱动和控制电路。这两组口线用来作为cpu与外部数据存储器、外部程序存储器和i/o扩展口,而不能象p1、p3直接用作输出口。它们一起可以作为外部地址总线,p0口身兼两职,既可作为地址总线,也可作为数据总线。如下图:p2口作为外部数据存储器或程序存储器的地址总线的高8位输出口ab8-ab15,p0口由ale选通作为地址总线的低8位输出口ab0-ab7。外部的程序存储器由psen信号选通,数据存储器则由wr和rd读写信号选通,因为216=64k,所以8051最大可外接64kb的程序存储器和数据存储器。p1口:右图为p1口其中一位的电路图,p1口为8位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时,1写入锁存器,q(非)=0,t2截止,内上拉电阻将电位拉至1,此时该口输出为1,当0写入锁存器,q(非)=1,t2导通,输出则为0。作为输入口时,锁存器置1,q(非)=0,t2截止,此时该位既可以把外部电路拉成低电平,也可由内部上拉电阻拉成高电平,正因为这个原因,所以p1口常称为准双向口。需要说明的是,作为输入口使用时,有两种情况,其一是:首先是读锁存器的内容,进行处理后再写到锁存器中,这种操作即读修改写操作,象jbc(逻辑判断)、cpl(取反)、inc(递增)、dec(递减)、anl(与逻辑)和orl(逻辑或)指令均属于这类操作。其二是:读p1口线状态时,打开三态门g2,将外部状态读入cpu。p3口的电路如下图所示,p3口为准双向口,为适应引脚的第二功能的需要,增加了第二功能控制逻辑,在真正的应用电路中,第二功能显得更为重要。由于第二功能信号有输入输出两种情况,我们分别加以说明。p3口的输入输出及p3口锁存器、中断、定时/计数器、串行口和特殊功能寄存器有关,p3口的第一功能和p1口一样可作为输入输出端口,同样具有字节操作和位操作两种方式,在位操作模式下,每一位均可定义为输入或输出。我们着重讨论p3口的第二功能,p3口的第二功能各管脚定义如下:p3.0 串行输入口(rxd)p3.1 串行输出口(txd)p3.2 外中断0(int0)p3.3 外中断1(int1)p3.4 定时/计数器0的外部输入口(t0)p3.5 定时/计数器1的外部输入口(t1)p3.6 外部数据存储器写选通(wr)p3.7 外部数据存储器读选通(rd)对于第二功能为输出引脚,当作i/o口使用时,第二功能信号线应保持高电平,与非门开通,以维持从锁存器到输出口数据输出通路畅通无阻。而当作第二功能口线使用时,该位的锁存器置高电平,使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出。对于第二功能为输入的信号引脚,在口线上的输入通路增设了一个缓冲器,输入的第二功能信号即从这个缓冲器的输出端取得。而作为i/o口线输入端时,取自三态缓冲器的输出端。这样,不管是作为输入口使用还是第二功能信号输入,输出电路中的锁存器输出和第二功能输出信号线均应置“1”。p3口:。2.2.4 stc89c52单片机的复位电路 单片机在启动时都需要复位,以使cpu及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从rst引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果rst引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则cpu就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位 1、手动按钮复位手动按钮复位需要人为在复位输入端rst上加入高电平。一般采用的办法是在rst端和正电源vcc之间接一个按钮。当人为按下按钮时,则vcc的+5v电平就会直接加到rst端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。 2、上电复位at89c51的上电复位电路只要在rst复位输入引脚上接一电容至vcc端,下接一个电阻到地即可。对于cmos型单片机,由于在rst端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1f。上电复位的工作过程是在加电时,复位电路通过电 容加给rst端一个短暂的高电平信号,此高电平信号随着vcc对电容的充电过程而逐渐回落,即rst端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,rst端的高电平信号必须维持足够长的时间。上电时,vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10mhz,起振时间为1ms;晶振频率为1mhz,起振时间则为10ms。在图2的复位电路中,当vcc掉电时,必然会使rst端电压迅速下降到0v以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序计数器pc将得不到一个合适的初值,因此,cpu可能会从一个未被定义的位置开始执行程序。3、积分型上电复位常用的上电或开关复位电路上电后,由于电容c3的充电和反相门的作用,使rst持续一段时间的高电平。当单片机已在运行当中时,按下复位键k后松开,也能使rst为一段时间的高电平,从而实现上电或开关复位的操作。2.3 vc6.0简介 vc+6.0是microsoft公司推出的一个基于windows系统平台、可视化的集成开发环境,它的源程序按c+语言的要求编写,并加入了微软提供的功能强大的mfc(microsoft foundation class)类库。mfc中封装了大部分windows api函数和windows控件,它包含的功能涉及到整个windows操作系统。mfc不仅给用户提供了windows图形环境下应用程序的框架,而且还提供了创建应用程序的组件,这样,开发人员不必从头设计创建和管理一个标准windows应用程序所需的程序,而是从一个比较高的起点编程,故节省了大量的时间。另外,它提供了大量的代码,指导用户编程时实现某些技术和功能。因此,使用vc+提供的高度可视化的应用程序开发工具和mfc类库,可使应用程序开发变得简单。 2.4 keilc51简介 keil c51是美国keil software公司出品的51系列兼容单片机c语言软件开发系统,与汇编相比,c语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用c来开发,体会更加深刻 。keil c51软件提供丰富的库函数和功能强大的集成开发调试工具,全windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到keil c51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。uvision2集成开发环境:1)、项目管理 工程(project)是由源文件、开发工具选项以及编程说明三部分组成的。 一个单一的uvision2工程能够产生一个或多个目标程序。产生目标程序的源文件构成“组”。开发工具选项可以对应目标,组或单个文件。 uvision2包含一个器件数据库(device database),可以自动设置汇编器、编译器、连接定位器及调试器选项,来满足用户充分利用特定微控制器的要求。此数据库包含:片上存储器和外围设备的信息,扩展数据指针(extra data pointer)或者加速器(math accelerator)的特 性。 uvision2可以为片外存储器产生必要的连接选项:确定起始地址和规模。 2)、集成功能 uvision2的强大功能有助于用户按期完工。 a.集成源极浏览器利用符号数据库使用户可以快速浏览源文件。用详细的符号信息来优化用户变数存储器。 b.文件寻找功能:在特定文件中执行全局文件搜索。 c.工具菜单:允许在v2集成开发环境下启动用户功能。 d.可配置svcs接口:提供对版本控制系统的入口。 e.pclint接口:对应用程序代码进行深层语法分析。 f.infineon的easycase接口:集成块集代码产生。 g.infineon的dave功能:协助用户的cpu和外部程序。dave工程可被直接输入uvision2 编辑器和调试器 :1)、源代码编辑器 uvision2编辑器包含了所有用户熟悉的特性。彩色语法显像和文件辩识都对c源代码进行和优化。可以在编辑器内调试程序,它能提供一种自然的调试环境,使你更快速地检查和修改程序。 2)、断点 uvision2允许用户在编辑时设置程序断点(甚至在源代码未经编译和汇编之前)。用户启动v2调试器之后,断点即被激活。断点可设置为条件表达式,变量或存储器访问,断点被触发后,调试器命令或调试功能即可执行。在属性框(attributes column)中可以快速浏览断点设置情况和源程序行的位置。代码覆盖率信息可以让你区分程序中已执行和未执行的部分。 3)、调试函数语言 uvision2中,你可以编写或使用类似c的数语言进行调试。 a.内部函数:如printf, memset, rand及其它功能的函数。 b.信号函数:模拟产生cpu的模拟信号和脉冲信号(simulate analog and digital inputs to cpu)。 c.用户函数:扩展指令范围,合并重复动作。 4)、变量和存储器 用户可以在编辑器中选中变呈来观察其取值。双层窗口显示,可进行以下调整: a.当前函数的局部变量 b.用户在两个不同watch窗口页面上的自定义变量 c.堆栈调用(call stack)页面上的调用记录(树)(call tree) d.不同格式的四个存储区 c51编译器 :keil c51编译器在遵循ansi标准的同时,为8051微控制器系列特别设计。语言上的扩展能让用户使用应用中的所有资源。 1)、存储器和特殊功能寄存器的存取 c51编译器可以实现对8051系列所有资源的操作。sfr的存取由sfr和sbit两个关键字来提供。变量可旋转到任一个地址空间。用关键字at还能把变量放入固定的存储器存储模式(大,中,小)决定了变量的存储类型。 连接定位器支持的代码区可达32个,这就允许用户在原有64krom的8015基础上扩展程序。在v2的编译器和许多高性能仿真器中,可以支持应用程序的调试。 2)、中断功能 c51允许用户使用c语言编写中断服务程序,快速进、出代码和寄存器区的转换功能使c语言中断功能更加高效。可再入功能是用关键字来定义的。多任务,中断或非中断的代码要求必须具备可再入功能。 3)、灵活的指针 c51提供了灵活高效的指针。通用指针用3个字节来存储存储器类型及目标地址,可以在8051的任意存储区内存取任何变量。特殊指针在声明的同时已指定了存储器类型,指向某一特定的存储区域。由于地址的存储只需12字节,因此,指针存取非常迅速。 测试程序:uvision2调试器具备所有常规源极调试,符号调试特性以及历史跟踪,代码覆盖,复杂断点等功能dde界面和shift语言支持自动程序测试 1)、和外设模拟装置 uvision2为8051及衍生产品提供了高速模拟功能和片上扩展口在对话框内可直接观察和修改值,也可以用预装的c-like宏指令书写符号函数来提供动态输入。 2)、目标监控器 uvision2含一个可配置的监控器,可测试目标器件上的软件体。监控器用uvision2的调试器直接工作,可支持代码区。它要求目标系统具备6字节堆栈空间,6kb的代码和256字节xdata ram。 3)、mcb517/251启动工具包 在开始一项8051工程时,mcb启动工具会对你有很大帮助。每一个启动工具包括一套2k字节的开发工具和许多可快速运行的举例程序。用户可在检测8051性能的同时,查看开发工具的可行性。mcb517ac板含高性能infineonc517a单片机,它提供标准8052外围设备和a/d转换器,pwm,搜索比较,8位数据指针,一个高速运算单元。同时包含对81c90can控制器和代码区的支持。 第三章 点阵汉字编码和汉字显示原理3.1 汉字字模我们以ucdos中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字, 也可以显示在256像素范围内的任何图形。用8位的at89c51单片机控制, 由于单片机的总线为8位,一个字需要拆分为2个部分。一般我们把它拆分为上部和下部,上部由8*16点阵组成, 下部也由8*16点阵组成。在本例中单片机首先显示的是左上角的第一列的上半部分,即第0列的p00-p07口。方向为p00到p07 ,显示汉字“大”时,p05点亮,由上往下排列,为p0.0 灭,p0.1 灭, p0.2 灭p0.3 灭, p0.4 灭, p0.5 亮,p0.6 灭,p0.7 灭。即二进制00000100,转换为16进制为 04h.。上半部第一列完成后,继续扫描下半部的第一列,为了接线的方便,我们仍设计成由上往下扫描,即从p27向p20方向扫描,从上图可以看到,这一列全部为不亮, 即为00000000,16进制则为00h。然后单片机转向上半部第二列,仍为p05点亮,为00000100,即16进制04h.这一列完成后继续进行下半部分的扫描,p21点亮,为二进制00000010,即16进制02h.依照这个方法,继续进行下面的扫描,一共扫描32个8位, 可以得出汉字“大”的扫描代码为:04h,00h,04h,02h,04h,02h,04h,04h04h,08h,04h,30h,05h,0c0h,0feh,00h05h,80h,04h,60h,04h,10h,04h,08h04h,04h,0ch,06h,04h,04h,00h,00h由这个原理可以看出, 无论显示何种字体或图像, 都可以用这个方法来分析出它的扫描代码从而显示在屏幕上。但在国标16汉字库里,汉字的代码是横向取得的,所以在编写汉字提取程序时要将所要显示的汉字通过矩阵转置编程转换成与硬件电路图相符的代码,即转换成以以上方法取出来的字模代码。因此可以得到“大“的扫描代码如下:;大db 0x04,0x00,0x04,0x02,0x04,0x02,0x04,0x04db 0x04,0x08,0x04,0x30,0x05,0xc0,0xfe,0x00db 0x05,0x80,0x04,0x60,0x04,0x10,0x04,0x08db 0x04,0x04,0x0c,0x06,0x04,0x04,0x00,0x00-1-1-1-1-1-1-1-1-1-1-11-1-111-1111111-1-11-1-11-1-1-1-1-1-1-11-11-1-1-由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出他的扫描代码从而显示在屏幕上。3.2字模提取原理 使用汉字的点阵显示,需要提取汉字字模。汉字的点阵字模是从点阵字库文件中提取出来的。例如常用的1616点阵hzkl6文件,1212点阵hzkl2文件等等,下面以hzkl6文件为例,分析取得汉字点阵字模的方法。hzkl6文件是按照gb2312-80标准,也就是通常所说的国标码或区位码的标准排列的。国标码分为94个区,每个区94个位,所以也称为区位码。其中ol09区为符号、数字区,1687区为汉字区。而1015区、8894区是空白区域。在计算机处理汉字和ascii字符时,使每个ascii字符占用1个字节,而一个汉字占用两个字节,其值称为汉字的内码。其中第一个字节的值为区号加上32(20h),第二个字节的值为位号加上32(20h)。为了与ascii#符区别开,表示汉字的两个字节的最高位都是1,也就是两个字节的值都又加上了128(80h)。这样,通过汉字的内码,就可以计算出汉字的区位码。它与区位码的关系为:高字节一160=区码,低字节一160=位码再由区位码获得汉字字模。根据区号和位号可以得到汉字字模在文件中的位置起始地址)位置=(94+(区码一1)+(位码一1)一个点阵字模的字节数使用1616点阵。字模中每一点使用一个二进制位(bit)表示,如果是1,则说明此处有点,若是0,则说明没有。这样,一个1616点阵的汉字总共需要16168=32个字节表示。字模的表示顺序为:先从左到右,再从上到下,也就是先画左上方的8个点,再是右上方的8个点,然后是第二行左边8个点,右边8个点,依此类推,画满1616个点,例如上面的“大“字就是这样提取出来的。第四章 led显示系统硬件设计4.1 列扫描模块本设计的列扫描驱动电路采用74hc154芯片实现。本芯片是一个有24个引脚的4-16译码器。该译码器采用先进的cmos技术,并适合内存地址译码和数据路由应用。它抗噪声能力强,低功耗,并与低电压ttl电路兼容。其管脚图如下: 引脚说明如下:1-11 13-17 :输出端。(outputs (active low)) 12:gnd电源地 (ground (0 v)) 18-19:使能输入端 (enable inputs (active low) 20-23地址输入端 (address inputs) 24:vcc电源正 (positive supply voltage)其输入、输出对应表如下:其中: h = 高电平(high voltage level) l = 低电平(low voltage level) x = 任意电平(dont care) 只要控制端g1、g2任意一个为高电平,a、b、c、d任意电平输入都无效。4.2 硬件设计本产品采用以stc89c52单片机为核心芯片的电路来实现,主要由at89c51芯片、时钟电路、复位电路、列扫描驱动电路(74hcl54)、1616led点阵5部分组成,如图1所示。其中,at89c51是一种带4kb闪烁可编程可擦除只读存储器(falsh programmable and erasable read onlymemory,fperom)的低电压、高性能cmos型8位微处理器,俗称单片机。该器件采用atmel高密度非易失存储器制造技术制造,工业标准的mcs一5l指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,能够进行1 000次写擦循环,数据保留时间为10年。他是一种高效微控制器,为很多嵌人式控制系统提供了一种灵活性高且价廉的方案。因此,在智能化电子设计与制作过程中经常用到at89c51芯片。时钟电路由at89c5l的18,19脚的时钟端(xtai l及xtal2)以及12 mhz晶振x、电容c2、c3组成,采用片内振荡方式。复位电路采用简易的上电复位电路,主要由电阻r,r2,电容c,开关k组成,分别接至at89c51的rst复位输入端。led点阵显示屏采用1616共256个象素的点阵,可通过万用表检测发光二极管的方法测试判断出该点阵的引脚分布。 我们把行列总线接在单片机的i0口,然后把上面分析到的扫描代码送入总线,就可以得到显示的汉字了。但是若将led点阵的行列端口全部直接接入89s5 1单片机,则需要使用32条i0口,这样会造成i0口资源的耗尽,系统也再无扩充的余地。因此,我们在实际应用中只是将led点阵的16条行线直接接在p0口和p2口,至于列选扫描信号则是由416线译码器74hcl54来选择控制,这样一来列选控制只使用了单片机的4个io口,节约了很多io口资源,为单片机系统扩充使用功能提供了条件。考虑到p0口必需设置上拉电阻,我们采用47 k排电阻作为上拉电阻。汉字扫描显示的基本过程是这样的:通电后由于电阻r,电容c1的作用,使单片机的rst复位脚电平先高后低,从而达到复位;之后,在c、c3、x以及单片机内部时钟电路的作用下,单片机89c51按照设定的程序在p0和p2接口输出与内部汉字对应的代码电平送至led点阵的行选线(高电平驱动),同时在p11,p12,p13,p14接口输出列选扫描信号(低电平驱动),从而选中相应的象素led发光,并利用人眼的视觉暂留特性合成整个汉字的显示。再改变取表地址实现汉字的滚动显示。其硬件线路图和实物连接图如下:实物连接图在实物连线图中,p1口的p1.0-p1.4接列选信号,其中p1.0接译码器的g2信号、p1.1、p1.2、p1.3、p1.4分别接译码器的a、b、c、d端。p0、p2口控制行选信号。由usb口转串口提供电源。第五章 led显示系统软件的设计5.1 设计流程图主程序的流程图如下图所示:开始设1帧显示时间设片选信号及其数字指针查汉字上部数据及其显示查汉字下部数据及其显示延时100ms关显示并调整指针是否显示完汉字1帧时间是否到结束nnyy5.2 软件程序实现1)、在汉字库中提取汉字程序/*16*16点阵汉字库转led点阵*/#include #include unsigned char s9,b3;void change2_16() int i=0,j=0,k=1,result=0;for(i=7; i=0; i-)if(si = 1) result += 1 (k-1);if(k = 4 | i = 0)switch(result)case 10: bj+=a;break;case 11: bj+=b;break;case 12: bj+=c;break;case 13: bj+=d;break;case 14:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 荐销售工作计划
- 自动控制原理第二版吴麒习题
- 设备清扫标准样本
- 2025年四川省遂宁市中考地理真题(原卷版)
- 从中草药萃取液制备制药油的研发实践解析
- 道德与法治(广东卷)(考试版A3)
- 2025年android线程!Android开发你需要了解的那些事吊打面试官系列!-安卓线程沙箱
- 2024-2025学年下学期高一生物人教版期末必刷常考题之协同进化与生物多样性的形成
- 建筑施工特种作业-建筑起重机械司机(施工升降机)真题库-2
- 山东中考坑人题目及答案
- 造纸厂的管理规章制度
- 生命体征PPT精品课件
- Q∕SY 02098-2018 施工作业用野营房
- 会计工作证明
- 物流公司超载超限整改报告
- 高中必备古诗文75篇高中古诗大全必背
- 起重机安装施工记录表
- 声门下吸引技术ppt课件
- 测控电路课程设计报告--信号采集调理电路的设计
- 法律英语单词分单元汇总
- 江苏省高中学生学籍卡
评论
0/150
提交评论