LED点阵汉字显示屏_第1页
LED点阵汉字显示屏_第2页
LED点阵汉字显示屏_第3页
LED点阵汉字显示屏_第4页
LED点阵汉字显示屏_第5页
已阅读5页,还剩6页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、LED点阵汉字显示屏LED点阵汉字显示屏设计文档苏州大学飞思卡尔DSPMCU研发中心2006年1月25日-2006年4月10日1 LED点阵汉字显示屏开发备忘录时间内容完成情况2006年4月8日完成PC方高端程序的 候,接收线和地线接错,以后要细心2006年3月18日编写小灯闪烁程序,并且完成最小系统的调试一定要保证软件正确,然后再去测硬件2006年3月15日完成单片机方软件的编写(JL8)要注意JL8的编译器要加中断向量缓冲区2006年3月10日做第一个测试模块,按行扫描各个LED,看是否有损坏2006年3月9日整理资料2006年1月25日讨论LED点阵显示屏的设计方案第1章概述LED点阵显

2、示屏是通过PC机将要显示的汉字字模提取出来,并发送给单片机、然后显示在点阵屏上,主要适用于室内外汉字显示.LED点阵显示屏按照显示的内容可以分为图文显示屏,图像显示屏和视频显示屏.与图像显示屏相比、图文显示屏的特点就在于无论是单色还是彩色显示屏都没有颜色上的灰度差别、因此图文显示屏也就体现不出色彩的丰富性,而视频显示屏不仅能够显示运动,清晰和全彩色的图像,还能够播放电视和计算机信号.虽然这三者有一些区别、但它们最基础的显示控制原理都是相似的.第2章硬件设计2.1主要器件介绍LED点阵条屏是由12个88的LED点阵块组成,形成1648矩形点阵,以摩托罗拉的08系列单片机M68HC908JL8为控

3、制核心.显示屏的其他主要硬件有:带锁存输出的8位移位寄存器74HC595,作为LED的列线驱动输入;四六译码器74LS154,作为LED行线的译码选择;三极管TIP127,连接四六译码器的十六个输出端,作为开关使用,驱动LED的行线芯片MAX232起到与PC机进行通讯的作用具体的连接方式见附图.2.2主要器件详细连接说明:MOTOLOLA的JL8芯片相关器件连接的接脚如下:PA0-PA3连接4-16译码器的输入口A,B,C,D;PB0-PB3连接74HC595的输入口SI,SCK,RCK;PD6-PD7作串口通信使用连接RxD,TxD四六译码器74LS154的16个输出端连接16个TIP127

4、的三极管的基极B,发射极E连接5V电源,集电极C连接到三个汉字点阵的16个行线控制端.点阵的48列数据线驱动由6片74HC595级联组成,前一片74HC595的QH引脚连接下一片的SI引脚,各片的引脚分别并联.2.3 LED点阵块88的LED点阵为单色行共阳模块,单点的工作电压为正向(Vf)=1.8v,正向电流(IF)= 8-10 mA .静态点亮器件时(64点全亮)总电流为640mA,总电压为1.8 v,总功率为1.15W.动态时取决于扫描频率(18或116秒),单点瞬间电流可达80-160 mA.1616点阵静态时161610mA,动态时单点电流80-160mA.接线方式:当某一行线打高时

5、,某一列线为低时,其行列交叉的点就被点亮;某一列线为高时,其行列交叉的点为暗;当某一行线打低时,无论列线如何,对应这一行的点全部暗.上下1 控制第五行显示接高9 控制第一行显示接高2 控制第七行显示接高10 控制第四列显示接低3 控制第二列显示接低11 控制第六列显示接低4 控制第三列显示接低12 控制第四行显示接高5 控制第八行显示接高13 控制第一列显示接低6 控制第五列显示接低14 控制第二行显示接高7 控制第六行显示接高15 控制第七列显示接低8 控制第三行显示接高16 控制第八列显示接低IRQ1【1脚】PTA0【2脚】,PTA1【6脚】,PTA2【8脚】,PTA3【9脚】接四六译码器

6、的A,B,C,D四个输入脚(两片3-8译码器的A,B,C和第一片的E1与第二片的E3),用来选择LED的行线PTA4【23脚】PTA5【27脚】PTA6【5脚】:已经接晶振,不可用.与OSC1共同接晶振,并与晶振并联相接一10M电阻,电阻两端分别接20pF电容到地.PTB0【21脚】:接74HC595的SI脚.PTB1【20脚】:接74HC595的SCK脚.PTB2【18脚】:接74HC595的RCK脚.PTB3【17脚】PTB4【15脚】PTB5【12脚】PTB6【11脚】PTB7【10脚】PTD6,PTD7 串行口发送和接受脚.PTD0【16脚】PTD1【19脚】PTD2【24脚】PTD3

7、【22脚】PTD4【26脚】PTD5【25脚】PTD6【14脚】:(O)串行口发送脚TXD,接MAX232的11脚.PTD7【13脚】:(I)串行口接收脚RXD,接MAX232的12脚.(5) 其他OSC1【4脚】:同5脚.Vss 【3脚】:电源地.5 Vdd 【7脚】:同Vcc.RST 【28脚】:复位脚.过10K电阻接VCC,过0.1uF的电容C2接地;复位按钮与51欧姆电阻串连并将它们并联接到电容C2两端.2.5 移位寄存器74HC595 74HC595是带锁存输出的8位移位寄存器,其管脚见下图,其中SI是串行数据的输入端;VCC,GND分别为电源和地;RCK是存储寄存器的输入时钟,SC

8、K是移位寄存器的输入时钟,SCLR是移位寄存器的输入清除,QH是串入数据的输出、G是对输入数据的输出使能控制,QAQH串入数据的并行输出.从SI口输入的数据在移位寄存器的SCK脚上升沿的作用下输入到74HC595中、在RCK脚的上升沿作用下将输入的数据锁存在74HC595中、当G为低电平时时,数据并行输出.SCLR为移位寄存器的输入清除端.74HC595与JL8的连接:SI【14脚】,SCK【11脚】,RCK【12脚】分别接到JL8的B0【21脚】,B1【20脚】和B2【18脚】上.其他脚连接:G【13脚】接地,使其始终输出;SCLR【10脚】接5V,使输入数据永不清除;QH【9脚】是连接下一

9、片74HC595的SI脚;QA,QB到QH分别连接到LED点阵的1至8列的列线脚上,是第一列【13脚】,第二列【3脚】,第三列【4脚】,第四列【10脚】,第五列【6脚】,第六列【11脚】,第七列【15脚】,第八列【16脚】.2.6 四六译码器74LS154 6 4-16线译码器,其管脚如图所示、A,B,C,D为译码的输入端,值的区间从0000到1111,Y1Y15是对应A,B,C,D四个输入引脚的输出脚,其中选中的线用输出低电平,没有选中的输出高电平,1G,2G是使能端,只有输入相应D低电平才能使译码器正常工作.74LS154与JL8的连接:A【23脚】,B【22脚】,C【21脚】,D【20脚

10、】分别接到JL8的A0【2脚】,A1【6脚】,A2【8脚】和A3【9脚】上.其他脚连接:G1【18脚】,G2【19脚】接地,使芯片工作;Y1【1脚】Y15【17脚】连接到电阻上;其中GND【12脚】,VCC【24脚】.2.7 三极管TIP127 三极管TIP127的基极B连接到译码器的输出端的电阻上,发射极E接5V,集电极C接到LED的分别连接到LED点阵的行线脚上.各个三极管分别连接到LED的第一行【9脚】,第二行【14脚】,第三行【8脚】,第四行【12脚】,第五行【1脚】,第六行【7脚】,第七行【2脚】,第八行【3脚】.电气特性如下图:第4章软件设计4.1单片机方的程序设计单片机在LED点

11、阵汉字显示系统中主要负责数据的接收,存储和扫描显示LED点阵屏三大主要功能.4.1.1 主程序设计刚开机时主程序主要完成整个硬件系统的初始化,包括对CONFIG的初始化,堆栈初始化,IO口的定义和初始化,串行口的定义和设置,擦写程序的初始化设置和默认显示时各个参数的设置.主程序从上电一开始显示的是原来设置好的汉字,然后根据接收的数据,调用相应子程序显示、程序流程如图3-7所示.4.1.2 串行通信子程序设计1,单片机的串行通信简介M68HC08JL8单片机串行通讯接口(Serial Communication Interface,SCI)是异步通信接口,硬件接线上M68HC08JL8的复用脚分

12、别连接到MAX232的引脚R1IN和R1OUT上,通过MAX232就能将其电平转换成标准RS-232电平与PC机进行串行异步通信.与M68HC05系列MCU的SCI系统相比、MC68HC908JL8的SCI系统功能更加强大,如具有硬件奇偶校验、噪声检测等功能.另外,MC68HC908 JL8的SCI系统是一个通用异步接收发送器,通过串行通信协议(如RS-232,RS-485等协议)同主机(PC机、终端等)系统通信.在一般的应用中、CPU简单的把数据写入并行数据寄存器即可实现发送一个格式化的串行字符,SCI系统完成发送数据的所以细节工作,包括附加起始位和停止位以符合串行格式.发送器有一个两字节的

13、发送队列(即所谓的双缓冲),这样CPU就有更多的时间8 准备其他字节了.SCI的接收器自动探测一个字节的起始位、并通过采样接收数据.接收串行数据并转换成并行数据的所有工作均由SCI系统完成,不需要CPU的干预.接收到数据后,CPU简单的从数据接收寄存器读取数据即可.正确使用SCI的前提是熟悉SCI系统7个寄存器和SCBR)的使用方法.现将最常用的寄存器介绍如下:(1)波特率寄存器(SCBR)该寄存器用来选择SCI系统的波特率.波特率由MCU总线时钟分频而来,且发送器和接收器具有相同的波特率和数据格式.SCBR的格式如下:0019 通过设置预分频位SCP1 SCP2和波特率选择位SCR2 SCR

14、1 SCR0来决定波特率的大小,公式为:波特率=fBUS(64×PD ×BD), fBUS为总线频率.(2)串行通信控制寄存器1(SCC1)该寄存器是用来初始化数据长度,输出格式,选择唤醒方式,是否校验等、格式如下:0013 (3)串行通信控制寄存器2(SCC2)该寄存器是SCI系统的主控制寄存器.这个寄存器可以允许和禁止发送器或接收器,允许和禁止系统中断、唤醒功能和送中止码功能和ILIE位是局部中断控制,决定SCI系统是查询状态标志还是发出硬件中断请求,其格式如下:0014 (4)串行通信控制寄存器3(SCC3)该寄存器的功能是设置接收器多种溢出中断、用查询方式可以不对该

15、寄存器进行初始化,其格式如下:0015 (5)串行通信状态寄存器1(SCS1)该寄存器是用来标志发送缓冲区、接收缓冲区和接收器的各种状态.其格式如下:LOOPS ENSCI TXINVMWAKE ILTY PEN PTYSCTIE TCIE SCRIE ILIE TE RE RWU SBKR8 T8 DMARE DMATE ORIE NEIE FEIE PEIE0016 (6)串行通信状态寄存器2(SCS2)该寄存器中的BKF和RPF分别表示终止码标志位和正在接收标志位、其格式如下:0017 (7)串行通信数据寄存器(SCDR)SCDR是SCI系统最常用的寄存器,地址为0018.该寄存器具有双

16、重功能,读出时是接收寄存器,写入时是发送寄存器.根据以上介绍、单片机中的串口初始化设置如下:串行口初始化LDA %D6(ENSCI)=1,允许SCI.其它位为0,STA SCC1 ;即正常码输出、8位数据,无校验等LDA %D3(TE)=1,允许发送器;D2(RE)=1,允许接收器.STA SCC2 ;D5(SCRIE)=1,中断方式接收数据STA SCC3 ;暂定为全零LDA %例如取PD=1(即 SCBR ;BD=2(即;则波特率= 9600串行口初始化结束2,串口通信程序编制每当向PC机方应用程序里输入新显示内容并发送给单片机时,单片机就产生串行中断、接收待显示的点阵数据.单片机接收数据

17、则采用)查询接收的工作方式.进入中断后,首先关闭中断、防止接收数据出错,然后将收到的显示信息数据存入变量,接收到的点阵数据在反馈给PC机确认后依次写入指定FLASH空间内、同时根据标记位判断数据接收是否全部结束,最后开中断返回主程序.程序流程如图3-8所示.SCTE TC SCRF IDLE OR NF FE PEBKF RPF上电复位IO口定义及初始化默认显示方式的设置系统初始化串口的初始化设置擦写子程序初始化打开中断根据参数调用显示子程序图3-7 主程序流程关中断是接收到从PC机发来的数接收点阵数据调用擦写FLASH的子程序图3-8 串行中断程序流程中断返回更改点阵显示起始地址接收点阵显示

18、类型信息点阵数据是否接收结束否11 4.1.3 串行移动的子程序设计这是一个通用子程序,在显示子程序中都要被调用,功能是移位寄存器74HC595接收单片机发出的点阵行数据,逐位移动到对应位置后再进行锁存和输出工作,同时对四六译码器进行开关工作,控制屏幕的显示、流程图如图3-9所示.4.1.4 显示子程序设计静止显示是所有显示方式中最简单的一种.在发送点阵数据给单片机时,根据已经制作好的显示屏的结构特征、即一屏能显示3个汉字,将汉字每3个分为一组,按组发送.而单片机接收汉字时是将一组汉字按行的顺序存储后再按组依次存储下去,其存储的结构如图3-10所示.显示时是将按组顺序存储的点阵数据,按行扫描依

19、次取出、逐行点亮LED.在一屏汉字显示完毕后,循环显示一段时间后,点阵地址偏移96个字节,接着显示下一屏数据,其流程图如图3-11所示.图3-9 串行传送数据子程序压栈保护输出移位时钟8位发送完6字节发完开四十六译码器并选中对应行移一位数据输出退栈子程序返回关四十六译码器输出锁存时钟12 图3.11 静止显示子程序调用串行移动数据子程序点阵地址偏移6个字节6行是否全部扫完四六译码器选择下一行选中显示屏第一行点阵地址向后偏移96个字节整屏刷新次数计数器减1整屏刷新次数计数器是否等于0文字显示是否结束第一组3个汉字的第一行点阵数据第二行点阵数据第十六行点阵数据第一组十六行点阵数据第二组3个汉字的第

20、二N组行点阵数据图3-10 静止显示时FLASH中汉字字模的存储结构13 4.2 PC机方主控软件的设计主控软件主要进行两个方面的设计:一个是对汉字字库的提取显示;另一个是串口通过主控计算机对显示屏的控制显示功能主要是通过计算机的串口实现4.2.1 汉字字库的提取1,汉字的表示及编码原理计算机用编码的方式来处理和使用字符,英文在计算机机内是用一个ASCII码来表示、而中文汉字则由两个ASCII码表示.1981年我国正式发布国家标准-信息交换用汉字编码字符集-基本集GB在这个标准中共收录简化汉字及符号,字母、日文假名等共7445个图形字符,其中汉字占6763个.另外,GB2312规定对任意一个图

21、形字符都采用两个字节表示、每个字节均采用七位编码表示、GB2312将汉字分为94个区、每个区用一个区码表示;每个区又对应有94个汉字,用位码加以表示、因此也称为区位码.01-09区为符号,数字区、16-87区为汉字区、10-15区、88-94区是有待进一步标准化的空白区.GB2312还将收录的汉字分成两级:第一级是常用汉字计3755个,置于16-55区、按汉语拼音字母笔形顺序排列;第二级汉字是次常用汉字计3008个,置于56-87区、按部首笔画顺序排列,故而GB2312最多能表示6763个汉字.为了解决区位码与西文字符相混淆的问题,就规定汉字在计算机中用内码表示、内码为两个字节,而且为了保证中

22、西文兼容、即与ASCII码的使用不发生冲突、所以汉字的两个字节的最高位均为1 .所以汉字内码与区位码之间的关系公式为:机内码高位=区码A0H;机内码低位=位码A0H.只要通过某个汉字的内码就可得到该汉字的区位码、也就得到了该汉字的字模.在软件设计中选用了UCDOS 5.0汉字系统中的16×16点阵字库Hzk16作为提取汉字字模的标准字库,其中每个汉字占有32个字节的空间,汉字在字库中位置的计算公式为:Location = (机内码高位-HA1)×94 (机内码低位-HA1)×32.2,提取汉字的软件设计及实现汉字点阵的提取程序是用VB实现的.其中以何种方式从字库文

23、件中读取这32个字节也是一个关键问题.由于二进制(Binary)方式访问文件可以直接查看文件中指定的字节,而且二进制方式也是唯一支持用户到文件的任何位置读写任意长度数据的方法,因而以二进制方式打开汉字字库文件是最适合的.而且程序也支持西文字符的显示、显示时也让其占用一个汉字的空间,不过它的点阵16x8的,所以不足部分就补零数据,流程图如图3-15所示.14 4.2.1 串口通信的简介与软件设计1,串口通信简介串行通讯端口在系统控制范畴中一直占有极重要的地位、不仅没有因为时代的进步而淘汰,反而在规格上愈来愈向其极限挑战,而且它具有连接设备种类多,实际操作简单,价格便宜等许多优点.现在计算机上的串

24、行通讯端口(RS-232)是必要配备,通常有COM1与COM2两个信道,一般的计算机将COM1以9Pin的公头接出.RS-232的讯号传输模式如图3-16所示.串行通讯的方式可以分为同步式及异步式两种.同步式在通讯的两端使用同步讯号作为通讯的依据;而异步式则使用起始位(Start Bit)及停止位(Stop Bit)作为通讯的判断.而RS-232是美国电子工业协会正式公布的,也是在异步串行通信中应用传送端接收端讯号电压接地端接地端图3-16 RS232讯号传输模式图图3-15 汉字点阵的提取判定输入字符是否汉字打开HZK16和ASC16文件转换为机内码计算出区位码计算出所处位置将连续32个字节

25、存入数组判定是否全部识别结束转换成对应显示类型所需的点阵数组转换为ASCII码取出连续16个字节并补充16个字节的零数据存入数组15 最广的标准总线.该标准适用于DCE和DTE间的串行二进制通信,最高数据传输速率可达19.2kbps,最长传送电缆可达15米.无论是9针还是25针的标准,对于一般的双向通信, 只需使用串行输入RxD,串行输出TxD和地线GND.在RS-232中任何一条信号线的电压均为负逻辑关系,即逻辑1-5-15V;逻辑0,515V.噪声容限为2V,即要求接收器能使别低至3V的信号作为逻辑0,高到-3V的信号作为逻辑1,其与TTL和CMOS电平是不同的.因为在接口电路和计算机接口

26、芯片中大都为TTL或CMOS电平,所以在通信时,必须进行电平转换,以便与RS-232标准的电平匹配、MAX232芯片可以完成电平转换工作.现在一般以异步传输较多,采用9针接头,定义如下:引脚号意义1 CD 载波侦测2 RXD 接收数据线3 TXD 发送数据线4 DTR 数据终端准备就绪5 GND 地线6 DSR 数据准备就绪7 RTS 请求发送线8 CTS 清除发送9 RI 振铃指示2,VB下的具体实现Windows的操作系统与DOS是迥然不同的,Windows采用了全新的对象化观念,把所有的程序都对象化.VB的串行通信对象是将RS-232的低阶动作予以封装、使用者以高阶的Basic语法就可与

27、外界通讯,而并不需要了解其它有关的低阶动作,其串行组件为MsComm.由于MsComm属性众多,现对其重要属性说明如下:CommPort:设定或传回通讯连接端口的代号,程序必须指定所要使用的串行端口号,Windows系统会使用指定的通讯端口与外接通讯,要注意的是MsComm控件的最大值为16,否则会报出错信息.Settings:设定初始化参数,以字符串形式设定或传回波特率,奇偶校验、数据位、停止位参数四个参数,其格式为 为波特率,P 为奇偶校验、D 为数据位数,S 为停止位数.value 的缺省值是:9600,N,8,116 PortOpen:设定或传回通讯连接端口的状态、在使用串行端口之前必

28、须先打开端口,使用完毕之后也必须关掉端口.Input:返回并删除输入缓冲区的数据,是一种FIFO机制.InputLen:指定串行口读入的字符串长度.Output:将字符串写入传输缓冲区.HandShaking:指定通讯双方采用的握手协议.Rthreshold:设定或返回引发接收事件的字符数,默认值为0,即无论缓冲区有多少字符均不引发接收事件.InBufferCount:返回在接收缓冲区的字符数,可以设定为0用来清除接收缓冲区.InputMode:设定或返回Input属性取回的数据类型串口初始化程序如下:If = True Then = = 9600,N,8,1 定义传输格式 = 数据格式-二进制 =0收到数引发OnComm事件 =0一次读缓冲区全部数据 = True 打开串行口 =0在其后的程序设计中、

温馨提示

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

最新文档

评论

0/150

提交评论