版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西安航空职业技术学院毕业设计(论文)论文题目: 点阵led多功能系统设计与制作所属系部:电子工程系指导老师:洪云飞职称:讲师学生姓名:刘欣灵班级、学号:10201234专业:应用电子技术西安航空职业技术学院制2012年12月2日重庆xx学院 毕业设计(论文)任务书题目:点阵led多功能系统设计与制作任务与要求:采用51单片机作为微控制器通过1个16x16的点阵led进行文字显示学号和姓名在目测条件下led显示屏各点亮度均匀、充足、稳定、清晰无串扰.文字显示具有每排字有滚动和逐排等显示方式.时间:连日至_年_月 _共周所属系部:机电工程系学生姓名:xxx学号:xxxxxxxx专业:机电一体化指导
2、单位或教研室:指导教师:xxxx职称:教师重庆xx学院制毕业设计(论文)进度计划表日期工作内容执行情况指导教师 签 字教师对进 度计划实 施情况总 评签名年 月日本表作评定学生平时成绩的依据之一点阵led多功能系统设计与制作【摘要】本论文阐述了基于单片机stc89c51的16x16点阵led电子显示屏的设 计。分别阐述了显示屏显示的基本原理,硬件设计、控制方法及其程序的实 现。经过调试和分析,设计的结果能够实现对汉字的静态和动态显示,动态 显示的内容有多种方式,同时乂可通过上位机更新显示的内容。本文给出了 一种基于at89c52单片机的16*16点阵的设计方案,包括系统具体的硬件设 让方案,软
3、件流程图和部分汇编语言程序等方面。在负载范围内,只需通过 简单的级联就可以对显示屏进行扩展,是一种成木低廉的图文显示方案。可 广泛应用于各种公共场合,如车站、码头、银行、学校、火车、公共汽车显 示等。关键字:stc89c51; 16x16点阵;led:显示屏abstract: this paper based on single chip stc89c51 16 and lattice led electronic display design. are described respectively, and the screen shows the basic principle, hard
4、ware design, control methods and the realization of the program. through testing and analysis, the results of the design can realize the static and dynamic characters, according to the content of the dynamic display a varicty of ways, emd at the same time, but also through the upper machine update d
5、isplay content. this paper presents a method based on the microcontroller of at89c52 16 * 16 lattice design scheme, including the system of concrete hardware desig n, soft ware flow chart and part of assembly language progreim, etc. in the load :range, only through the simple cascade can be extended
6、 to screen, is a kind of cheap graphic display scheme. can be widely used in all kinds of public places, such as railway stations, docks, banks, schools, train, bus display, etc.key words: stc89c51;16*16 lattice; screen目录1功能要求和论证的方案-1-u 方案论证1l1. 1动态扫描简介-2-1. 1. 2串行传输的方式-2-=3显示模块论证-1l_4数据传输论证-1-2显示原理
7、及显示方式-3-2. 1 静态显示方式- 3-2. 2 动态显示方式- 3-乙3点阵显示原理-4-3系统硕件部分设计-4-31单片机系统及外围电路-4-32列驱动电路-4-33行驱动电路-6-34单片机最小系统电路-7-35电源电路-8-4系统软件部分设计-8-£1系统主程序设计-8-4. 2 显示驱动程序-9-5系统调试及性能、程序分析-9 -匸1调试及性能分析-9 -匸2程序介绍及流程- 10 -52. 1 定义端口-10 -5.2.2汉字子模-10 -匸3开中断一13 -53. 1延时程序-13 -5.3.2 主程序-17 -53.3控制点亮程序-10 -6制作成果和调试结果-
8、19 -61制作成果-19 -6. 2调试结果-20 -参考文献1功能要求和论证的方案要求采用51单片机作为微控制器.通过1个16x16的点阵led进行文字显 示学号和姓名.在目测条件下led显示屏各点亮度均匀、充足、稳定、清晰无串 扰.文字显示具有每排字有滚动和逐排等显示方式.1.1方案论证从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的 各个点所在位置相对应的led器件发光,就可以得到我们想要的显示结果,这种 同吋控制各个发光点亮灭的方法称为静态驱动显示方式。16x16的点阵共有256 个发光二极管,显然单片机没冇这么多端口,如果我们采用锁存器來扩展端口, 按8位的锁存器來
9、计算,16x16的点阵需要256/8=32个锁存器。这个数字很庞 大,因为我们仅仅是16x16的点阵,在实际应用中的显示屏往往要犬的多,这 样在锁存器上花的成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎 都不采用这种设计,而采用另一种称为动态扫描的显示方法。1.1.1动态扫描简介动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现 多行(比如16行)的同名列共用一套列驱动器。具体就16x16的点阵来说,我 们把所有同一行的发光管的阳极连在一起,把所冇同一列的发光管的阴极连在一 起(共阳的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第一 行使其燃亮一定的时间,然
10、后熄灭;再送岀第二行的数据并锁存,然后选通第二 行使其燃亮相同的时间,然后熄灭;第十六行z后又重新燃亮第一行,这 样反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留 现象,我们就能看到显示屏上稳定的图形了。釆用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列 驱动器。显示数据通常存储在单片机的存储器屮,按8位一个字节的形式顺序排 放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个 显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并行方式或串 行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的 硕件数目多。当列
11、数很多时,并行传输的方案是不可取的。1.1.2串行传输的方式采用串行传输的方法,控制电路可以只用一根信号线,将列数据-位-位传 往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按 顺序一位一位地输出给列驱动器,只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数 据准备(传输)和列数据显示两个部分。对于串行传输方式來说,列数据准备时 间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以至 影响到led的亮度。解决吊行传输中列数据准备和列数据显示的时间孑盾问题,可以采用重叠处 理的方法。即在显示本行各列
12、数据的同时,传送下一行的列数据。为了达到重叠 处理的目的,列数据的显示就需要具有锁存功能。经过上述分析,可以归纳出列 驱动器电路应具备的主要功能。对于列数据准备来说,它应能实现串入并出的移 位功能;对于列数据显示來说,应具有并行锁存的功能。这样,本行己准备好的 数据打入并行锁存器进行显示时,串并移位寄存器就可以准备卜一行的列数据, 而不会影响木行的显示。图1-1为显示屏电路实现的结构框图。列驱动器单片机电源行驱动器led显示点阵图1-11.3显示模块论证(1)点亮led数码管的方式有静态和动态2种方法。木文以8段led作为示 例来论证方案(2)这种模块由64个发光led芯片以8x8的形式构成一
13、个正方形模块,然后川 2列8针引脚将内部电路接口引出,供駆动电路使用。行对应的给led的阳极,先给第一行以高电平,如呆送给16列的代码为efff, 则第一行的第4个led被点亮,再给第二行以高电平,如果送给16列的代码为 ef07,则第二行的第4、9、10、11、12、13个被点亮,接着给第三行以高电平, 同时给列以驱动代码,这样不断地进行行行的扫描,只要速度够快,由于人的视 觉暂留作用,就不会感觉到明显的闪烁感。1 4数据传输论证采用动态显示方式进行显示时,每一行有一个行驱动器,各行的同名列共用 一个駆动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺 序排放。显示时要把一行屮
14、各列的数据都传送到相应的列驱动器上去,这就存在 一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并列方式 或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件 数日多。当列数很多时,并列传输的方案是不可取的。采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传 往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按 顺序一位一位地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这 一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数 据准备(传输)和列数据显示两部分。对于串行传输方式來说,列数据准备时
15、间 可能相当长,在行扫描周期确定的情况下留给行显示的时间就太少了,以致影响 到led的亮度。解决串行传输中列数据准备和列数据显示的时间孑盾问题,可以采用重叠处 理的方法。即在显示本行各列数据的同时,传送下一列数据。为了达到重叠处理 的目的,列数据的显示就需要具有所存功能。经过上述分析,就可以归纳出列驱 动器电路应具有的功能。对于列数据准备來说,它应能实现串入并处的移位功能; 对于列数据显示來说,应具有并行锁存的功能。这样,本行已准备好的数据打入 并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影 响本行的显示。2显7f原理及显乔方式下面重点介绍点阵led数码灯的原理和方式2
16、.1静态显示方式静态显示方式,即8段led数码管在显示某一个数码时,加在数码管上的段 码保持不变,直至换显其他数码为止。这样数码管的每一段均应由一条输出线来 控制,每显示以为数码需要8根输出线,当n位显示则需nx8根输出控制线。 占用较多1/0资源。2. 2动态显示方式为解决静态显示占用较多t/0资源的问题,在多位显示时通常采用动态显示 方式,动态显示是将所有数码管的段码线对应并联在一起,由一个8位的输出口 控制,每位数码管的公共端分别出一位t/0线控制。显示不同数码吋,由位线控 制各位轮流显示。位线控制某位选通吋,该位应显示数码的段码同时加在段码线 上,即每一时刻仅仅有一位数码管是被点亮的,
17、当轮流显示的速度较快(每秒 24次以上),由于人眼的视觉暂留现彖,看起來就像所有位同时显示一样,这时, 我们就能看到稳定的图像了2. 3点阵显示原理点阵显示器实际上就是led显示器,构成显示器的所有led都依矩阵形式 排列。从内部结构看,点亮led的方法就是要让该led所对应的y线、x线加上 高、低电平,使led处于正向偏置状态。使用多行扫描的方式,可以实现很多动 态效果,点阵显示器常采用扫描法,扫描方式包括:行扫描和列扫描。行扫描就 是控制点阵显示器的行线依次输岀有效驱动电平,当每行行线状态有效时,分别 输出对应的行扫描码之列线驱动该行led点亮。列扫描控制列线依次输出有效驱 动电平,当第n
18、列有效吋,输出列扫描至行线,驱动该列led点亮。 行扫描和 列扫描都要求点阵显示器依次驱动一行或一列(8个led)o具体就8x8的点阵來说,把所有同1行的发光管的阳极连在一起,把所有 同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮 灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行 的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;以此类推,第 8行z后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快(每秒24 次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。3系统硬件部分设计硬件电路人致上可以分成单片机系统及外围屯路、
19、列驱动电路和行驱动电路 三部分。3.1单片机系统及外围电路单片机采用89c51或其兼容系列的芯片,釆用24m或更高频率的晶振,以获 得较高的刷新频率,使显示更稳定。单片机的串口与列驱动器相连,用来送显示 数据。p1 口低4位与行驱动器相连,送岀行选信号;p1.5>1.7 口则用來发送控 制信号。p0和p2 口空着,在有必耍时可以扩展系统的rom和ram。3. 2列驱动电路列驱动电路由集成电路74hc595构成,它具有一个8位串入并出的移位寄存 器和一个8位输出锁存器的结构,而h移位寄存器和输出锁存器的控制是各自独 立的,可以实现在显示木行各列数据的同时,传送下一行的列数据,即达到重叠 处
20、理的目的。74i1c595的外形及内部结构如图2所示。它的输入侧有8个串行移位寄存器, 每个移位寄存器的输出都连接一个输出锁存器。引脚si是串行数据的输入端。 引脚sck是移位寄存器的移位吋钟脉冲,在其上升沿发生移位,并将si的下一 个数据打入最低位。移位后的各位信号出现在各移位寄存器的输出端,也就是输 出锁存器的输入端。rck是输出锁存器的打入信号,其上升沿将移位寄存器的输 出打入到输出锁存器。引脚g是输出三态门的开放信号,只有当其为低吋锁存器 的输出才开放,否则为高阻态。sclr信号是移位寄存器的清零输入端,当其为 低时移位寄存器的输出全部为零。由于sck和rck两个信号是互相独立的,所以
21、 能够做到输入串行移位与输出锁存互不干扰。芯片的输出端为qaqii,最高位 qii可作为多片74i1c595级联应用时,向上一级的级联输出。但因qii受输出锁存 器打入控制,所以还从输出锁存器前引出了 qh,,作为与移位寄存器完全同步 的级联输出。3. 3行驱动电臨单片机p1 口低4位输出的行号经4/16线译码器74ls154译码后生成16条 行选通信号线,再经过苏动器苏动对应的行线。一条行线上要带动16列的led 进行显示,按每一 led器件20ma电流计算,16个led同时发光时,需要320ma 电流,选用三极管8550作为驱动管可满足要求。+5va u1974hc138d4g5+5v&l
22、t;&a1b2c3g.4d1_l6g2ag2bg1abcg2ab2 1 ggqz0u2 74hc138y0qz0y0y1y2y3y4y5y6y714y213y312y411y510y69y77y8y114y1013y1112y1211y1310y149y157y1615y1 y2y3y4y5y6y7y9h2h3h4h6h7h8h9hph1;hkhvh11图3-2行控制及驱动34单片机最小系统电路复位是单片机的初始化操作。其主要功能是把pc初始化为0000h,使单片 机从0000h单元开始执行程序。除了进入系统的止常初始化之外,当由于程序运 行出错或操作错误使系统处于死锁状态时,为摆脱困
23、境,也需按复位键重新启动。 rst引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24 个振荡周期(即二个机器周期)以上。若使用颇率为6mhz的晶振,则复位信号持 续时间应超过4us才能完成复位操作。rst/vrovocvss图3-3复位信号的电路逻辑图整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(rst)送至 施密特触发器,再由片内复位电路在每个机器周期的s5p2时刻对施密特触发器 的输出进行采样,然后才得到内部复位操作所需要的信号。复位操作有上电自动复位相按键手动复位两种方式。上电自动复位是通过外 部复位电路的电容充电来实现的,其电路如图4 (a)所示。这佯,只要
24、电源vcc 的上升时间不超过ims,就可以实现自动上电复位,即接通电源就成了系统的复 位初始化。按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复 位端经电阻与vcc电源接通而实现的,其电路如图4 (b)所示;而按键脉冲复 位则是利用rc微分电路产生的正脉冲來实现的,其电路如图4 (c)所示:(a)上电复位(b)按键电平复位 图3-4复位电路(c)按键脉冲复位上述电路图屮的电阻、电容参数适用于6mhz晶振,能保证复位信号高电平 持续时间大于2个机器周期。3.5电源电路r8 <7k3 led倶£电部分 < 必、纟页保i正5vf共屯>图3-5电源电路4系
25、统软件部分设计这部分重点介绍主程序和显示駆动程序的设计和要求。4. 1系统主程序设计系统主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、 中断和端口;接着自左到右以“滚动”效果显示班级姓名,停留约0.5s;,由于 单片机没有停机指令,所以町以设置系统程序不断的循环执行上述显示效果。led显示屏硬件电路只要硬件质量可靠,引脚焊接正确,一般无需调试即可 正常工作。软件部分需要调试的主要有显示屏刷新频率及显示效果两部分。显示 屏刷新率出定时器t0的溢出率和单片机的晶振频率决定,。从理论上來说,24iiz以上的刷新频率就能看到稳定的连续的显示,刷新率 越高,显示越稳定,同时刷新频率越高,
26、显示驱动程序占用的cpu时间越多。试 验证明,在fi测条件下刷新频率40iiz -下的画面看起來闪烁较严重,刷新频率 50iiz以上的已基木察觉不出画面的闪烁,刷新频率达到85iiz以上时再增加画面 闪烁没有明显的改善显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏 幕按设计的要求显示。根据软件分层次设计的原理,我们町把显示屏的软件系统 分成两人层:第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显 示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其它控制信号,配 合完成led显示屏的扫描显示工作。显示驱动程序由定时器t0中断程序实现。系统应用程序完成系统坏境设
27、置(初始化)、显示效果处理等工作,由主程序来 实现。从有利于实现较复杂的算法(显示效果处理)和有利于程序结构化考虑,显 示屏程序适宜采用c语言编写。4. 2显乔驱动程序显示駆动程序在进入中断后首先要对定时器to重新赋初值以保证显示屏刷 新率的稳定,1/16扫描的显示屏的刷新率(帧频)的计算公式如下:刷新率(帧频)x 溢出率16x 1612 (65536- r0)其中心为晶振频率,力为定时器to初值(工作在16位定时器模式)。然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示 数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾 现象,驱动程序先要关闭显示屏,即
28、消隐,等显示数据打入输出锁存器并锁存, 然后再输出新的行号,重新打开显示。5系统调试及性能、程序分析最后程序是否能正常的工作,led灯是否能正常的显示出来,都要看调试是 否得当,下面就主要介绍系统的调试及性能,程序的分析。5.1调试及性能分析ifd显示屏硬件电路只要器件质量可靠,管脚焊接正确,-般无需调试即可 正常工作。软件部分需要调试的主要有显示屏刷新频率及显示效果两部分。显示 屏刷新率市定时器to的溢出率和单片机的晶振频率决定,下表给出了实验调试 吋采用的频率及其对应的定时器to初值。显示屏刷新率(帧频)与to初值关系表(24m晶振)刷新率(hz)255062.57585100120to初
29、值0xec780xf63c0xf8300xf97e0xfa42oxfbleoxfbee5. 2程序介绍及流程/*头文件*/include <rcg52. h>#inelude intrins.h>#dcfinc uint unsigned intdefine uchar unsigned char wdefine nop () _nop_ ()5.2.1定义端口sbit enport 二 pl 3;sbit da_in_port = pl 2;sbit clkport = pl 1;sbit latchport 二 pl 0;define abcd_port pl /hc13
30、8 abcd 端口定义 /sbit dport 二 pl 7;/sbit cport 二 pl 6;/sbit b_port = pl 5;/sbit aport 二 pl 4;5. 2. 2汉字子模uchar code ziku tablc=oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff ,oxff, oxff, /*显示8彳亍空白*/oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff,
31、 oxff, oxff ,oxff, oxff,oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff ,oxff, oxff, /*显示8彳亍空白*/oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff ,oxff, oxff,oxff, oxff, oxlf, oxfc, oxef, oxfb, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x
32、f7, 0xf7,0xf7, 0xf7,0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, oxef, oxfb, oxlf, oxfc ,oxff, oxff, /*x,0*/oxff, oxff, oxlf, oxfc, oxef, oxfb, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7,oxef, 0xf3,ox if, 0xf4, oxff, 0xf7, oxff, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, oxef, oxfb, oxlf, oxfc
33、 ,oxff, oxff, /*x,1*/oxff, oxff, oxof, 0xf8, 0xf7, 0xf7, 0xf7, 0xf7, oxff, 0xf7, oxff, oxfb, oxff, oxfd,0x7f, oxfe,oxff, oxfd, oxff, oxfb, oxff, 0xf7, oxff, 0xf7, 0xf7, 0xf7, 0xf7, oxfb, oxof, oxfc ,oxff, oxff, /*x,2*/oxff, oxff, 0x7f, oxfe, oxbf, oxfe, oxbf, oxfe, oxbf, oxfe, oxdf, oxfe, oxdf, oxfe
34、 ,oxef, oxfe,oxef, oxfe, 0xf7, oxfe, oxfb, oxfe, 0x03, oxfo, oxff, oxfe, oxff, oxfe, 0x3f, 0xf8 ,oxff, oxff, /*x,3*/oxff, oxff, 0x7f, oxff, 0x3f, oxff, 0x5f, oxff, 0x7f, oxff, 0x7f, oxff, 0x7f, oxff,0x7f, oxff,0x7f, oxff, 0x7f, oxff, 0x7f, oxff, 0x7f, oxff, 0x7f, oxff, 0x7f, oxff, oxlf, oxfc ,oxff,
35、oxff, /*x,4*/oxff, oxff, oxof, 0xf8, 0xf7, 0xf7, 0xf7, 0xf7, oxff, 0xf7, oxff, oxfb, oxff, oxfd,0x7f, oxfe,oxff, oxfd, oxff, oxfb, oxff, 0xf7, oxff, 0xf7, 0xf7, 0xf7, 0xf7, oxfb, oxof, oxfc ,oxff, oxff, /*x,2*/oxff, oxff, oxof, 0xf8, 0xf7, 0xf7, 0xf7, 0xf7, oxff, 0xf7, oxff, oxfb, oxff, oxfd ,0x7f,
36、oxfe,oxff, oxfd, oxff, oxfb, oxff, 0xf7, oxff, 0xf7, 0xf7, 0xf7, 0xf7, oxfb, oxof, oxfc ,oxff, oxff, /*x,2*/oxff, oxff, oxof, 0xf8, 0xf7, 0xf7, 0xf7, 0xf7, oxff, 0xf7, oxff, oxfb, oxff, oxfd ,0x7f, oxfe,oxff, oxfd, oxff, oxfb, oxff, 0xf7, oxff, 0xf7, 0xf7, 0xf7, 0xf7, oxfb, oxof, oxfc ,oxff, oxff, /
37、*x,2*/oxbd, oxff, oxbb, 0x83, oxdb, oxbb, oxef, oxdb, 0x01, oxda, oxef, oxeb, oxef, oxeb ,0x00, oxda,oxef, oxbb, oxcf, oxbb, 0xb7, oxbb, 0x77, 0xa3, 0x7b, oxdb, oxfc, oxfb, oxff, oxfb ,oxff, oxfb, /*x, 0*/0x7f, oxff, 0x77, 0xf7, 0x6f, oxfb, 0x03, 0x80, oxfb, oxdf, oxfd, oxef, oxof, 0xf8 ,oxef, oxfb,
38、oxef, oxfb, oxof, 0xf8, oxdf, oxfd, oxdf, oxdd, oxef, oxdd, oxef, oxdd, 0xf7, 0xc3 ,0xf9, oxff, /*x,1*/oxff, oxff, 0x03, 0x80, oxbb, oxbf, 0x3d, oxdf, oxdd, 0xf7, 0x03, oxeo, oxdf, oxff ,0x6f, oxff,0x6f, 0xf7, 0x07, oxeo, 0x7f, oxff, 0x7f, oxdf, 0x01, 0x80, 0x7f, oxff, 0x7f, oxff ,0x7f, oxff, /*x,2*
39、/oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff ,oxff, oxff, /*显示 8 行空白*/oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff ,oxff, oxff,oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff ,oxff, oxff,
40、/*显示8彳亍空白*/oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff, oxff ,oxff, oxff,;5.3开中断t图5-1中断流程图uchar data disp buff 32; /32 个显示数据缓存数据格式为第1级第1行高八位,低八位,第1级第2行高八位oooooo uchar data disp_han;/目前显示到第几行,第1行数值为0,第2行数值为 1 0 o o o void to set ()j/*定义中断方式*/tmod = 0x01;tro 二 1;ea = 1
41、;eto = 1;return;/定吋0,工作在方式1/启动计数开总中断开定吋器0中断5. 3.1延时程序图5-2延时程序流程void delay 1ms(uchar x) uchar j;wh i1e (x-) for(j=0;j<125;j+);5. 3. 2主程序tiichari;4r i-odlp_buttl 订一oxff; . '1 ri十十to_seu);hianziom u icfiplex hhiinni十十图5-3主程序流程void main()uchar i;uint data_temp3;uint temp, tempi;uchar hanzi;uchar
42、han;uchar shift;for(i=0;i<32;i+) disp_buffi=oxff;to set ();while(1) for (hanzi =0; hanzi< 15; heinzi +) /最多显示多少个字for (shift 二 0;shift16;shift+) /一个字移位 16 位 for(han=0;han<16;han+) /一个字有 16 行数据data_temp0=ziku_table(hanzi*32) + (han*2)+1*0x100+ziku table(hanzi*32)+(han*2);data tcmpl=ziku table
43、t(hanzi+1)*32) + (han*2)+1*0x100+ziku_table(hanzi+1) *32) + (han*2);右往左移动temp = data tcmp0;tempi 二 data_templ;for(i=shift;i>0;i) temp = (temp>>l);辻(templ&oxoool)!=0) temp 二 temp + 0x8000;tempi = (templ>>l);disp_buffhem*2+1二temp/0x100;disp_buffhem*2+0=temp%0x100;delay_lms (60) ; /移位速度)5. 3. 3控制点亮程序+图5-4点亮流程void sled_disp() interrupt 1 using 3 uchar i;uchar data_buff;uchar temp;uchar han;ti10 = (65536-1000)/256;tlo = (65536-1000)/256;latch_port = 0;/iic595锁定输出,避免数据传输过程中,屏数据变化从而显示闪烁clk_port 二 0;han二disp_han;/temp = disp hem*2 + 1;data_buff 二 disp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 造价工程师工作总结范文
- 小学班主任自我工作总结
- 拒绝平庸的800字议论文范文-拒绝平庸议论文范文五篇
- 顶岗实习报告范文汇编8篇
- 观电影《绿皮书》有感
- 企业应聘自我介绍9篇
- 2022年青年大学习网上主题团课学习心得
- 大学的素质拓展活动策划书
- 指南培训心得体会
- 文明校园创建活动工作总结
- 大学生就业21问-知到答案、智慧树答案
- 2024年普法学法知识竞赛题库及答案1套
- 一年级数学20以内计算练习凑十法、破十法、借十法、平十法
- 中国痔病诊疗指南(2020版)
- 创办精神病医院申请
- 国际标准《风险管理指南》(ISO31000)的中文版
- (完整版)外研版高中英语必修三单词表(带音标)
- MOOC 国际商务-暨南大学 中国大学慕课答案
- 特征值与特征向量
- 作家协会2024年下半年工作计划3篇
- 2024征信考试题库(含答案)
评论
0/150
提交评论