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

下载本文档

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

文档简介

目 录一、 绪论 41.1设计意义提出及研究背景41.2国内外研究现状及发展趋势41.3本设计所做的主要工作61.4方案实现6二、系统硬件部分设计72.1整体模块设计72.2单片机最小系统电路82.3行扫描电路92.4列扫描电路92.5LED显示屏电路102.6LED按键电路与电源显示电路102.7总体硬件电路 10三、系统软件部分设计113.1系统主程序设计 113.2显示驱动程序 11四、系统调试与测试结果分析 124.2结果及分析(遇到的问题及解决方案)124.3实习心得 12 五、附录附录一、系统总程序 13附录二、系统总体原理图 42一、绪论1.1设计意义提出及研究背景八十年代以来出现了组合型LED点阵显示器,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成。具有高亮度、功耗低、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。点阵显示器有单色和双色两类,可显示红,黄,绿,橙等。LED点阵有44、48、57、58、88、1616、2424、4040等多种;根据像素的数目分为双基色、三基色等,根据像素颜色的不同所显示的文字、图像等内容的颜色也不同,单基色点阵只能显示固定色彩如红、绿、黄等单色,双基色和三基色点阵显示内容的颜色由像素内不同颜色发光二极管点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极管的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示。LED点阵显示器单块使用时,既可代替数码管显示数字,也可显示各种中西文字及符号,如57点阵显示器用于显示西文字母,58点阵显示器用于显示中西文,88点阵用于显示中文文字,也可用于图形显示。用多块点阵显示器组合则可构成大屏幕显示器,一般这类实用点阵显示器常通过微机或单片机控制驱动。1.2国内外研究现状及发展趋势LED点阵显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,它利用发光二极管构成的点阵模块或像素单元组成在面积显示屏幕,以可靠性高、使用寿命长、环境适应能力强、价格性能比高、使用成本低等特点,在短短的十来年中,迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。LED点阵显示屏发展的简要回顾:发光二极管(LED)是六十年代未发展起来的一种半导体显示器件,七十年代,随着半导体材料合成技术、单晶制造技术和P-N结形成技术的研究进展,发光二极管在发光颜色、亮度等性能得以提高并迅速进入批量化和实用化。进入八十年代后,LED在发光波长范围和性能方面大大提高,并开始形成平板显示产品即LED点阵显示屏。2LED点阵显示屏发展经历了三个阶段:1)1990年以前LED点阵显示屏的成长形成时期。一方面,受LED材料器件的限制,LED点阵显示屏的应用领域没有广泛展开,另一方面,显示屏控制技术基本上是通讯控制方式,客观上影响了显示效果。这一时期的LED点阵显示屏在国外应用较广,国内很少,产品以红、绿双基色为主,控制方式为通讯控制,灰度等级为单点4级调灰,产品的成本比较高。2)1990-1995年,这一阶段是LED点阵显示屏迅速发展的时期。进入九十年代,全球信息产业高速增长,信息技术各个领域不断突破,LED点阵显示屏在LED材料和控制技术方面也不断出现新的成果。蓝色LED晶片研制成功,全彩色LED点阵显示屏进入市场,电子计算机及微电子领域的技术发展,在显示屏控制技术领域出现了视频控制技术,显示屏灰度等级实现16级灰度和64级灰度调灰,显示屏的动态显示效果大大提高。这一阶段,LED点阵显示屏在我国发展速度非常迅速,从初期的几家企业、年产值几千万元发展到几十家企业、年产值几亿元,产品应用领域涉及金融证券、体育、机场、铁路、车站、公路交通、商业广告、邮电电信等诸多领域,特别是1993年证券股票业的发展更引发了LED点阵显示屏市场的大幅增长。LED点阵显示屏在平板显示领域的主流产品局面基本形成,LED点阵显示屏产业成为新兴的高科技产业。3)1995年以来,LED点阵显示屏的发展进入一个总体稳步提高产业格局调整完善的时期。1995年以来,LED点阵显示屏产业内部竞争加剧,形成了许多中小企业,产品价格大幅回落,应用领域更为广阔,产品在质量、标准化等方面出现了一系列新的问题,有关部门对LED点阵显示屏的发展予以重视并进行了适当的规范和引导,目前这方面的工作正在逐步深化。我国LED点阵显示屏的发展现状:产业发展初期规模:我国的LED点阵显示屏产业经过几年的发展,基本形成了一批具有一定规模的骨干企业。据不完全统计,至1998年底,年度销售总额在1000万元以上的企业有20多家,其销售总额达6亿元左右,占行业市场总额的85%以上。全国从事LED点阵显示屏的各类企业有100余家,从业人员近6000人,行业年度销售总额近8亿元人民币,1996年、1997年的增长速度均保持40%左右,1998年略有回落。在国内市场上,国产LED点阵显示屏的市场占有率近100%,国外同类产品基本没有市场,四十三届世乒赛主会场天津体育中心、京九铁路、北京西客站、首都机场、浦东机场等,均由国内代表企业中标。技术水平相对领先:我国LED点阵显示屏产业在规模发展的同时,产品技术推陈出新,一直保持比较先进的水平。90年代初即具备了成熟的16级灰度256色视频控制技术及无线遥控等国际先进水平技术,近年在全彩色LED点阵显示屏、256级灰度视频控制技术、集群无经线控制、多级群控技术等方面均有国内先进、达到国际水平的技术和产品出现;LED点阵显示屏控制专用大规模集成电路也已由国内企业开发生产并得到应用。1.3本设计所做的主要工作本文要求设计一个由单片机驱动的1616点阵LED图文显示屏,并且在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰。根据任务要求,需做的工作如下:1、查阅点阵的相关文献资料,学习最简单的点阵的使用方法;2、将简单点阵进行扩展,设计成1616LED点阵,使用Keil uVision软件对硬件试验箱进行调试,确保硬件电路的完好;3、利用Keil uVision软件编写单片机程序,编译链接生成Hex文件,然后下载到试验箱中进行硬件仿真;4、仿真调试成功后,对16*16点阵模块做进一步的了解跟认识,确保设计完美成功。1.4方案实现从理论上说,不论显示图形还是文字,只要控制组成这些图形或文字的各个点所在的位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。1616的点阵共有256个发光二极管,显然单片机没有这多的端口,如果我采用锁存器来扩展端口,按8位的锁存器来计算,1616的点阵需要256/8=32个锁存器。这个数字很庞大,因为我们仅仅是1616的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套驱动器。具体就1616的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;以此类推,第16行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。采用扫描方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并列传输的方案是不可取的。采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下留给行显示的时间就太少了,以致影响到LED的亮度。解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一列数据。为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。经过上述分析,就可以归纳出列驱动器电路应具有的功能。对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。二、系统硬件部分设计系统硬件部分电路大致上可以分成电源电路、单片机最小系统电路及外围电路、列扫描电路、行扫描电路和LED显示屏电路五部分。2.1整体模块设计本设计行、列驱动电路,显示屏电路,运用单片机的智能化,系统的将每个功能电路模块连接在一起,总体结构设计如下图11所示:电源指示电路 键盘控制模块时钟电路行驱动列驱动主控制芯片80C51LED点阵显示模块图11系统结构设计总图2.2单片机最小系统电路80C51单片机最小系统电路由复位电路、晶振电路两部分组成。复位电路工作原理:上电瞬间RST引脚的电位与VCC等电位,RST引脚为高电平,随着电容C3充电电流的减少,RST引脚的电位不断下降,其充电时间常数为T=R3*C3,此时间常数足以RST引脚在保持为高电平的时间内完成复位操作。当单片机已在运行当中时,按下复位键S5后再松开,也能使RST引脚为一段时间的高电平,从而实现80C51单片机复位。晶振电路:XTAL1和XTAL2是片内振荡电路输入端,这两个端子用来外接石英晶体和微调电容,即用来连接80C51单片机片内OSC的定时反馈回路。晶振起振后要能在XTAL2端输出一个3V左右的正弦波,以便使片内OSC电路按晶振相同频率自激振荡。通常,OSC的输出时钟频率FOSC为6MHZ16MHZ,典型值为12MHZ或11.0592MHZ。电容C1和C2帮助晶振起振,典型值为30pf,调节它们可以达到微调FOSC的目的。本系统中,晶振为12MHZ,C1=C2=20pf。2.3行扫描电路行扫描电路由集成电路74HC595构成如图22所示,列的处理信号有三个,SER、SRCLK、RCLK,SER做为列移位寄存器的输入,SRCLK是移位时钟,RCLK做为锁存时钟当将16个位数据在SRCLK的脉冲作用下移位寄存器后,就可以开启RCLK时钟,使寄存器的数据存入锁存器,因使能脚接0使能,数据直接输出Q端,Q端数据经接入点阵行脚位,即一行的数据显示。图222.4列扫描电路单片机P2口高4位输出的行号经4/16线译码器74HC154译码后生成16条列选通信号线,构成的系统原理图33,再经过驱动器驱动对应的行线。一条行线上要带动16列的LED进行显示。图332.5LED显示屏电路如图44为点阵插入模块,R2为亮度调节电阻。图442.6LED按键电路与电源显示电路如图55在灯LED的显示下可以了解电路通电是否正常,按键S1、S2分别控制字库的选择与字之间的间隔时间。图552.7总体硬件电路在整个电路设计中,用两片8位输出锁存移位寄存器74HC595作为行扫描,用一片74HC164芯片作为列扫描,用单片机80C51对74HC595和74HC154进行控制和驱动(总电路原理图如附录二所示)。三、系统软件部分设计本设计的软件的主要功能是向显示屏提供显示数据,并产生各种控制信号,使屏幕显示汉字。根据软件分层次设计的原理,可把显示屏的软件系统分成两大层:第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生列扫描信号和其它控制信号,配合完成LED显示屏的扫描显示工作。系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。从有利于实现较复杂的算法(显示效果处理)和有利于程序结构化考虑,显示屏程序适宜采用C语言编写。3.1系统主程序设计系统主程序的总体结构如图66所示。系统的主程序开始以后,首先是对系统环境初始化,然后LED显示屏进入开机状态,转入正常的显示,每次显示一个汉字,连续实现汉字循环显示效果。本次设计共有3个字库,在按键S2的控制下可以选择循环显示不同的字库,在按键S1的控制下可控制字与字之间的间隔时间。主程序系统框图66开始系统初始化字库循环显示3.2显示驱动程序显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。void DataOut(uchar dat) /发送数据 uchar x; for(x=0;x=1; /所以dat=1也就是dat = dat1相当于dat除以2 return; 四、系统调试与测试结果分析4.2结果及分析(遇到的问题及解决方案)遇到问题1:无法用按键来选择字库解决方法:用单片机的外部中断1遇到问题2:无法用按键控制延时解决方法:用单片机外部中断24.3实习心得在整个设计的调试中遇到很多问题,首先是实现了每个字库单独显示,到后面要实现字库在按键控制下调用时,程序调试了一天都没什么成果,后来在同学的帮助下知道了要用单片机芯片的外部中断来实现控制,可是我本人是不太会用中断的,可是问题还是要解决的,所以在这实践周我学习到了很多,特别是在大家的帮助下学会了用单片机的中断部分,在用按键控制字与字之间的显示间隔时间是同样遇到了难题,自己感觉程序没什么错,可是字库单独显示没什么问题,但在加上延时后,在点阵上看到的是一行一行往下显示的一下亮点,后来找学长帮忙才知道,是我把延时的程序语句放错了地方,所以在加上延时后,把程序扫描一个字的过程慢慢的显示了出来,所以会看到一行一行的错乱亮点往下一排一排显示。五、附录附录一、系统总程序#include #include #define uchar unsigned char #define uint unsigned int void delayms(uint t); void time_key1(); void select_key2(); void T0_time(); void max_1(); void max_2(); void max_3(); sbit LIN_A=P00 ; sbit LIN_B=P01 ; sbit LIN_C=P02 ; sbit LIN_D=P03 ;sbit key1=P20 ; sbit key2=P21; sbit DIN =P06; sbit CLK =P05; /移位时钟,上升沿触发 sbit R_CLK=P04; uint t=0; uint q=0; uint p=0;/中断按下标志uchar code tab1 = /浙0xFD,0xF7,0xBD,0xE3,0xDD,0x9F,0xDD,0xBF,0xF0,0x3F,0x7D,0xBF,0xBD,0x81,0xAD,0x3,0xEC,0xB7,0xD1,0xB7,0x1D,0xB7,0xDD,0xB7,0xDD,0xB7,0xDD,0xB7,0xD5,0x77,0xFA,0xF;uchar code tab2 = /江0xFF,0xFF,0xDF,0xFF,0xE8,0x03,0xEF,0xBF,0x7F,0xBF,0xBF,0xBF,0xB7,0xBF,0xF7,0xBF,0xEF,0xBF,0xEF,0xBF,0x1F,0xBF,0xDF,0xBF,0xDF,0xBF,0xD0,0x01,0xDF,0xFF,0xFF,0xFF;uchar code tab3 = /传0xF7,0xBF,0xF7,0xBF,0xF7,0xBF,0xEC,0x07,0xEF,0xBF,0xCF,0x7F,0xC8,0x01,0xAF,0x7F,0x6E,0xFF,0xEC,0x07,0xEF,0xF7,0xEE,0xEF,0xEF,0x5F,0xEF,0xBF,0xEF,0xDF,0xEF,0xDF;uchar code tab4 = /媒0xEF,0x77,0xEF,0x77,0xEC,0x01,0xEF,0x77,0x03,0x77,0xDB,0x07,0xDB,0x77,0xDB,0x77,0xDB,0x07,0xB7,0xDF,0xD4,0x01,0xEF,0x8F,0xD7,0x57,0xBA,0xDB,0x79,0xDD,0xFF,0xDF;uchar code tab5 = /电 0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xC0,0x07,0xDE,0xF7,0xDE,0xF7,0xDE,0xF7,0xC0,0x07,0xDE,0xF7,0xDE,0xF7,0xDE,0xF7,0xC0,0x07,0xDE,0xF5,0xFE,0xFD,0xFE,0xFD,0xFF,0x01;uchar code tab6 = /子0xFF,0xFF,0x80,0x07,0xFF,0xEF,0xFF,0xDF,0xFF,0xBF,0xFE,0x7F,0xFE,0xFF,0x00,0x01,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFA,0xFF,0xFD,0xFF;uchar code tab7 = /科0xF7,0xEF,0xE2,0xEF,0x0F,0x6F,0xEF,0x6F,0xEF,0xEF,0x02,0xEF,0xEF,0x6F,0xC7,0x6F,0xCB,0xEF,0xAF,0xE1,0xAC,0x0F,0x6F,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF ;uchar code tab8 =/学0xDD,0xF7,0xEE,0xF7,0xEE,0xEF,0xFF,0xDF,0x80,0x01,0xBF,0xFD,0x7F,0xFB,0xE0,0x1F,0xFF,0xBF,0xFE,0x7F,0x00,0x01,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFA,0xFF,0xFD,0xFF; uchar code tab9 =/祝0xDF,0xF7,0xEC,0x03,0xED,0xF7,0xFD,0xF7,0x01,0xF7,0xF5,0xF7,0xED,0xF7,0xC4,0x07,0xA9,0x57,0x6F,0x5F,0xEF,0x5F,0xEE,0xDF,0xEE,0xDD,0xED,0xDD,0xEB,0xE1,0xE7,0xFF;uchar code tab10 =/大0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFB,0x00,0x01,0xFE,0xFF,0xFD,0x7F,0xFD,0x7F,0xFD,0xBF,0xFB,0xBF,0xFB,0xDF,0xF7,0xEF,0xEF,0xF1,0x9F,0xFB,0xFF,0xFF;uchar code tab11 =/家0xFD,0xFF,0xFE,0xFF,0x80,0x01,0xBF,0xFD,0x7F,0xFB,0xC0,0x07,0xFB,0xFF,0xE5,0xEF,0x9C,0xCF,0xFA,0xBF,0xE6,0x7F,0x9C,0xBF,0xFA,0xCF,0xE6,0xF1,0x9A,0xFB,0xFD,0xFF;uchar code tab12 =/身0xFE,0xFF,0xFD,0xEF,0xF0,0x07,0xF7,0xEF,0xF0,0x0F,0xF7,0xEF,0xF0,0x0D,0xF7,0xEB,0xF7,0xE7,0x80,0x0F,0xFF,0xAF,0xFF,0x6F,0xFC,0xEF,0xE3,0xEF,0x1F,0xAF,0xFF,0xDF;uchar code tab13 =/体0xEF,0x7F,0xEF,0x7F,0xEF,0x7F,0xDF,0x77,0xD0,0x03,0x9D,0x5F,0x5D,0x5F,0xDB,0x6F,0xDB,0x6F,0xD7,0x77,0xD4,0x11,0xCF,0x7B,0xDF,0x7F,0xDF,0x7F,0xDF,0x7F,0xDF,0x7F;uchar code tab14 =/健0xEF,0xDF,0xEF,0xDF,0xEF,0x03,0xD1,0xDB,0xDC,0x01,0x9D,0xDB,0x5B,0x03,0xD7,0xDF,0xD0,0x01,0xDD,0xDF,0xCD,0xDB,0xD2,0x01,0xDB,0xDF,0xD5,0xDF,0xCE,0xD9,0xDF,0x0;uchar code tab15 =/康0xFE,0xFF,0xFF,0x7B,0xC0,0x01,0xDF,0x7F,0xD0,0x07,0xDF,0x77,0xC0,0x01,0xDF,0x77,0xD0,0x07,0xD7,0x7F,0xDB,0x3B,0xDD,0x57,0xBB,0x6F,0xB7,0x71,0x6D,0x7B,0xFE,0xFF;uchar code tab16 =/工0xFF,0xFF,0xFF,0xF7,0x80,0x03,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFB,0x00,0x01,0xFF,0xFF,0xFF,0xFF;uchar code tab17 =/作0xF6,0xFF,0xF6,0xFF,0xF6,0xFB,0xEE,0x01,0xED,0x7F,0xCD,0x7F,0xAB,0x6F,0x67,0x07,0xEF,0x7F,0xEF,0x7F,0xEF,0x77,0xEF,0x03,0xEF,0x7F,0xEF,0x7F,0xEF,0x7F,0xEF,0x7F;uchar code tab18 =/顺0xFF,0xFB,0xB8,0x01,0xAB,0xDF,0xAB,0xBB,0xAA,0x01,0xAA,0xFB,0xAA,0xDB,0xAA,0xDB,0xAA,0xDB,0xAA,0xDB,0xAA,0xDB,0xAA,0xDB,0xAB,0xDF,0xBB,0xA7,0x7B,0x7B,0xFC,0xFD;uchar code tab19 =/利0xFE,0xFB,0xF8,0x7B,0x83,0xFB,0xFB,0xDB,0xFB,0xDB,0xFA,0xDB,0x00,0x5B,0xF3,0xD,0xF1,0xDB,0xEA,0x5B,0xEB,0x5B,0xDB,0xDB,0xBB,0xFB,0xFB,0xFB,0xFB,0xEB,0xFB,0xF7; uchar code tab20 =/基0xF7,0xDF,0xF7,0xD7,0x80,0x03,0xF7,0xDF,0xF0,0x1F,0xF7,0xDF,0xF0,0x1F,0xF7,0xDB,0x00,0x01,0xFB,0xBF,0xF6,0xCF,0xCE,0xB1,0x30,0x1B,0xFE,0xFF,0xFE,0xEF,0xC0,0x07;uchar code tab21 =/于0xFF,0xEF,0xC0,0x07,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFB,0x00,0x01,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFA,0xFF,0xFD,0xFF;uchar code tab22 =/单0xEF,0xEF,0xF7,0xDF,0xFB,0xB7,0xC0,0x03,0xDE,0xF7,0xDE,0xF7,0xC0,0x07,0xDE,0xF7,0xDE,0xF7,0xC0,0x07,0xDE,0xFF,0xFE,0xFB,0x00,0x01,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF;uchar code tab23 =/片0xFF,0x7F,0xDF,0x7F,0xDF,0x7F,0xDF,0x7F,0xDF,0x7B,0xC0,0x01,0xDF,0xFF,0xDF,0xFF,0xC0,0x3F,0xDF,0xBF,0xDF,0xBF,0xDF,0xBF,0xDF,0xBF,0xDF,0xBF,0xBF,0xBF,0x7F,0xBF;uchar code tab24 =/机0xEF,0xFF,0xEF,0xEF,0xEE,0x07,0xEE,0xEF,0x02,0xEF,0xEE,0xEF,0xCE,0xEF,0xC6,0xEF,0xAA,0xEF,0xAE,0xEF,0x6E,0xEF,0xEE,0xEF,0xEE,0xED,0xED,0xED,0xEB,0xF1,0xE7,0xFF;uchar code tab25 =/控0xEF,0xBF,0xEF,0xDF,0xEC,0x01,0xED,0xFD,0x03,0xAB,0xEF,0x77,0xEA,0xFB,0xE7,0xFF,0xCF,0xF7,0x2C,0x03,0xEF,0xDF,0xEF,0xDF,0xEF,0xDF,0xEF,0xDB,0xA8,0x01,0xDF,0xFF;uchar code tab26 =/制0xFB,0xFB,0xDB,0xFB,0xDA,0xFB,0xC0,0x5B,0xDB,0xDB,0xBB,0x5B,0x00,0x1B,0xFB,0xDB,0xC0,0x5B,0xDB,0x5B,0xDB,0x5B,0xDB,0x7B,0xD9,0x7B,0xDA,0xFB,0xFB,0xEB,0xFB,0xF7;uchar code tab27 =/的0xEF,0xBF,0xEF,0xBF,0xDD,0xBB,0x80,0x81,0xBD,0x7B,0xBC,0xFB,0xBD,0xFB,0xBD,0xB,0x81,0x9B,0xBD,0xDB,0xBD,0xFB,0xBD,0xFB,0xBD,0xFB,0x81,0xFB,0xBD,0xD7,0xFF,0xEF;uchar code tab28 =/ L0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x81,0xFF,0xE3,0xFF,0xE3,0xFF,0xE3,0xFF,0xE3,0xFF,0xE3,0xFF,0xE3,0xFF,0xE3,0xFF,0xE3,0xFC,0xE3,0xF9,0x80,0x01,0xFF,0xFF,0xFF,0xFF;uchar code tab29 =/E0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x03,0xE3,0xF1,0xE3,0xFD,0xE3,0xEF,0xE0,0x0F,0xE0,0x0F,0xE3,0xEF,0xE3,0xFF,0xE3,0xFD,0xE3,0xF9,0x80,0x03,0xFF,0xFF,0xFF,0xFF;uchar code tab30 =/D0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x0F,0xE7,0xC3,0xE7,0xF1,0xE7,0xF1,0xE7,0xF1,0xE7,0xF0,0xE7,0xF1,0xE7,0xF1,0xE7,0xF3,0xE7,0xC7,0x80,0x1F,0xFF,0xFF,0xFF,0xFF;uchar code tab31 =/显0xFF,0xEF,0xE0,0x07,0xEF,0xEF,0xEF,0xEF,0xE0,0x0F,0xEF,0xEF,0xEF,0xEF,0xE0,0x0F,0xEB,0xAF,0xBB,0xBB,0xCB,0xB3,0xEB,0xAF,0xFB,0xBF,0xFB,0xBB,0x00,0x01,0xFF,0xFF;uchar code tab32 =/示0xFF,0xEF,0xC0,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFB,0x00,0x01,0xFE,0xFF,0xFE,0xFF,0xF6,0xDF,0xE6,0xE7,0xDE,0xF3,0xBE,0xFB,0xFE,0xFF,0xFA,0xFF,0xFD,0xFF;/ 数据传输void DataOut(uchar dat) uchar x; for(x=0;x=1; /所以dat=1也就是dat = dat1相当于dat除以2 return; /设计行线void SetLin(uchar x) switch(x) case 0 : LIN_A = 0; LIN_B = 0; LIN_C = 0; LIN_D = 0; break; case 1 : LIN_A = 1; LIN_B = 0; LIN_C = 0; LIN_D = 0; break; case 2 : LIN_A = 0; LIN_B = 1; LIN_C = 0; LIN_D = 0; break; case 3 : LIN_A = 1; LIN_B = 1; LIN_C = 0; LIN_D = 0; break; case 4 : LIN_A = 0; LIN_B = 0; LIN_C = 1; LIN_D = 0; break; case 5 : LIN_A = 1; LIN_B = 0; LIN_C = 1; LIN_D = 0; break; case 6 : LIN_A = 0; LIN_B = 1; LIN_C = 1; LIN_D = 0; break; case 7 : LIN_A = 1; LIN_B = 1; LIN_C = 1; LIN_D = 0; break; case 8 : LIN_A = 0; LIN_B = 0; LIN_C = 0; LIN_D = 1; break; case 9 : LIN_A = 1; LIN_B = 0; LIN_C = 0; LIN_D = 1; break; case 10 : LIN_A = 0; LIN_B = 1; LIN_C = 0; LIN_D = 1; break; case 11 : LIN_A = 1; LIN_B = 1; LIN_C = 0; LIN_D = 1; break; case 12 : LIN_A = 0; LIN_B = 0; LIN_C = 1; LIN_D = 1; break; case 13 : LIN_A = 1; LIN_B = 0; LIN_C = 1; LIN_D = 1; break; case 14 : LIN_A = 0; LIN_B = 1; LIN_C = 1; LIN_D = 1; break; case 15 : LIN_A = 1; LIN_B = 1; LIN_C = 1; LIN_D = 1; break; default : break; return;/字库一 void max_1() uchar dat1,dat0,x,y,i; for(i=0; i100; i+) for(x=0; x16; x+) R_CLK =0; y =(x1); DataOut(0xff); DataOut(0xff); R_CLK=1; _nop_(); R_CLK =0; dat1 =tab1y+1; dat0 =tab1y; DataOut(dat1); DataOut(dat0); SetLin(x); R_CLK =1; _nop_(); delayms(t); for(i=0; i100; i+) for(x=0; x16; x+) R_CLK=0; y =(x1); DataOut(0xff); DataOut(0xff); R_CLK=1; _nop_(); R_CLK =0; dat1=tab2y+1; dat0=tab2y; DataOut(dat1); DataOut(dat0); SetLin(x); R_CLK=1; _nop_(); delayms(t); for(i=0; i100; i+) for(x=0; x16; x+) R_CLK=0; y=(x1); DataOut(0xff)

温馨提示

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

评论

0/150

提交评论