16X16LED点阵课程设计报告

合集下载

单片机课程设计16×16led点阵显示

单片机课程设计16×16led点阵显示

16×16LED点阵显示摘要单片微型计算机(single chip microcomputer)简称单片机,它是为各类专用控制器而设计的通用或专用微型计算机系统,高密度集成了普通计算机微处理器,一定容量的RAM和ROM以及输入/输出接口,定时器等电路于一块芯片上构成的。

单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。

单片机的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。

在现代工业控制和一些智能化仪器仪表中,越来越多的场所需要用点阵图形显示器显示汉字,汉字显示屏也广泛应用到汽车报站器,广告屏等。

所以研究LED显示有实用的意义。

LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成. LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。

本设计是4个16×16点阵LED电子显示屏的设计。

整机以美国ATMEL公司生产的40脚单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。

通过该芯片控制一个行驱动器74LS154和八个列驱动器74HC595来驱动显示屏显示。

该电子显示屏可以显示各种文字或单色图像,全屏能显示4个汉字,采用16块8 x 8点阵LED显示模块来组成4个16x16点阵显示模式。

显示采用动态显示,使得图形或文字能够实现静止、移入移出等多种显示方式。

文中详细介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用说明等。

关键词:AT89C51单片机 LED 16*16点阵显示动态显示目录第一章绪论 (1)1.1 设计课题背景知识 (1)1.2 问题提出 (3)1.3 LED显示屏的发展 (4)第二章功能要求及方案论证 (6)2.1 功能要求 (6)2.1 功能要求 (6)第三章系统电路的设计 (9)3.1 设计框图及介绍 (9)3.2 51系列单片机简介 (9)3.3 单片机最小应用系统电路设计 (13)3.4 LED点阵介绍 (14)3.5 LED显示方式 (14)3.6 点阵的移动 (17)3.7 点阵的颜色 (21)3.8 LED阵列驱动电路 (21)3.9 单片机延时子程序 (22)第四章系统程序的设计 (24)4.1 显示驱动程序 (24)4.2 系统主程序 (25)第五章调试及性能分析 (32)5.1 开发环境介绍 (32)5.2 理论性能分析 (32)5.3 系统调试 (33)第六章总结 (34)致谢 (35)附录 (36)一. 程序代码 (36)系统主程序 (37)二.主要芯片介绍 (42)三.点阵左移显示的流程图 (46)四.元件清单 (47)五.参考文献 (47)六.仿真电路图 (48)第一章绪论1.1 设计课题背景知识单片微型计算机(single chip microcomputer)简称单片机,它是为各类专用控制器而设计的通用或专用微型计算机系统,高密度集成了普通计算机微处理器,一定容量的RAM和ROM以及输入/输出接口,定时器等电路于一块芯片上构成的。

16x16点阵显示实验报告

16x16点阵显示实验报告

16*16点阵显示实验报告一、实验目的(1)学习点阵显示字符的基本原理。

(2)掌握用数控分频控制速度,实现点阵扫描的基本方式。

(3)会使用Quartus II软件中的Verilog HDL语言实现点真的行列循环显示。

二、实验设备与器件Quartus II 软件、EP2C8Q208C8实验箱三、实验方案设计1.实验可实现的功能可通过编写Verilog HDL语言,实现点阵的行列交替扫描。

先是行扫描,扫描间隔为1s,16行都扫描完之后开始列扫描,扫描间隔仍然为1s,16列扫描完之后,行继续扫描,依次循环。

2.点阵基本知识16*16扫描LED点阵只要其对应的X、Y轴顺向偏压,即可使LED发亮。

例如如果想使左上角LED点亮,则Y0=1,X0=0即可。

应用时限流电阻可以放在X轴或Y轴。

它有16个共阴极输出端口,每个共阴极对应有16个LED显示灯。

LED点阵每个点都有一个红色的发光二极管。

点阵内的二极管间的连接都是行共阳,列共阴。

本实验采用共阴,当二极管的共阳极为高电平,共阴极为低电平时,所接点发光;反之处于截止状态,不放光。

3.系统工作原理本系统用了两个模块,其中dianzhen.v是顶层文件,而hangsaomiao.v和liesaomiao.v是两个子模块,总体的系统功能框图如图3.3.1所示。

图3.3.1 系统功能图示通过流程图可以看到,体统是先将试验箱的50MHz时钟信号分频为1s,因为要实现16*16的点阵扫描,所以用一个16s的计时器计时,每经过16s行扫描与列扫描的状态转换一次,通过点阵显示出来。

4.模块化程序设计(1)点阵显示顶层程序设计module dianzhen (clk50mhz,row,sel0,sel1,sel2,sel3,line);input clk50mhz; //实验箱提供50MHz时钟信号output sel0,sel1,sel2,sel3; //设置引脚选通点阵output reg [15:0] row; //行output reg [3:0] line; //列wire [15:0] row1,row2;wire [3:0] line1,line2;reg [24:0] cnt=0; //1Hz计数子reg [4:0] cnt1=0; //16s计数子assign sel0=1'b0;assign sel1=1'b1;assign sel2=1'b0;assign sel3=1'b0;always@(posedge clk50mhz)beginif(cnt>=25'd5*******)begincnt<=25'b0; //1Hz计时器cnt1<=cnt1+1; //16s计时器endelsecnt<=cnt+1;endhangsaomiao u1(.clk50mhz(clk50mhz),.row(row1),.line(line1)); liesaomiao u2(.clk50mhz(clk50mhz),.row(row2),.line(line2));always@(*)if(cnt1<=5'd15)beginrow<=row1; //行扫描line<=line1;endelsebeginrow<=row2; //列扫描line<=line2;endendmodule(2)行扫描模块hangsaomiao.v程序设计module hangsaomiao(clk50mhz,line,row);input clk50mhz; //实验箱输入50MHz时钟信号output reg [15:0] row; //列output reg [3:0] line; //行reg [24:0] cnt1,cnt2; //计数子reg clkrow,clkline; //行脉冲、列脉冲always@(posedge clk50mhz)beginif(cnt1>=25'd5*******)begincnt1<=25'b0;clkrow=~clkrow; //1s列脉冲endelsecnt1<=cnt1+1;endalways@(posedge clk50mhz)beginif(cnt2>=25'd500)begincnt2<=25'b0;clkline=~clkline; //50KHz行脉冲endelsecnt2<=cnt2+1;endalways@(posedge clkline)begincase(line)4'd0:line<=4'd1; //高速行扫描4'd1:line<=4'd2;4'd2:line<=4'd3;4'd3:line<=4'd4;4'd4:line<=4'd5;4'd5:line<=4'd6;4'd6:line<=4'd7;4'd7:line<=4'd8;4'd8:line<=4'd9;4'd9:line<=4'd10;4'd10:line<=4'd11;4'd11:line<=4'd12;4'd12:line<=4'd13;4'd13:line<=4'd14;4'd14:line<=4'd15;4'd15:line<=4'd0;default:line<=4'd0;endcaseendalways@(posedge clkrow) //时间间隔为1s的列扫描begincase(row)16'b0000000000000001: row<=16'b0000000000000010;16'b0000000000000010: row<=16'b0000000000000100;16'b0000000000000100: row<=16'b0000000000001000;16'b0000000000001000: row<=16'b0000000000010000;16'b0000000000010000: row<=16'b0000000000100000;16'b0000000000100000: row<=16'b0000000001000000;16'b0000000001000000: row<=16'b0000000010000000;16'b0000000010000000: row<=16'b0000000100000000;16'b0000000100000000: row<=16'b0000001000000000;16'b0000001000000000: row<=16'b0000010000000000;16'b0000010000000000: row<=16'b0000100000000000;16'b0000100000000000: row<=16'b0001000000000000;16'b0001000000000000: row<=16'b0010000000000000;16'b0010000000000000: row<=16'b0100000000000000;16'b0100000000000000: row<=16'b1000000000000000;16'b1000000000000000: row<=16'b0000000000000001;default : row<=16'b0000000000000001;endcaseendendmodule(3)列扫描模块liesaomiao.v程序设计module liesaomiao(clk50mhz,row,line);input clk50mhz; //实验箱输入50MHz 时钟信号output reg [15:0] row; //行output reg [3:0] line; //列reg [24:0] cnt; //计数子reg clk;always@(posedge clk50mhz)beginif(cnt>=25'd5*******)begincnt<=25'b0;clk=~clk; //1sendelsecnt<=cnt+1;endalways @ (posedge clk) //列扫描begincase(line)4'h0:begin row=16'b1111111111111111;line<=4'h1; end4'h1:begin row=16'b1111111111111111;line<=4'h2; end4'h2:begin row=16'b1111111111111111;line<=4'h3; end4'h3:begin row=16'b1111111111111111;line<=4'h4; end4'h4:begin row=16'b1111111111111111;line<=4'h5; end4'h5:begin row=16'b1111111111111111;line<=4'h6; end4'h6:begin row=16'b1111111111111111;line<=4'h7; end4'h7:begin row=16'b1111111111111111;line<=4'h8; end4'h8:begin row=16'b1111111111111111;line<=4'h9; end4'h9:begin row=16'b1111111111111111;line<=4'ha; end4'ha:begin row=16'b1111111111111111;line<=4'hb; end4'hb:begin row=16'b1111111111111111;line<=4'hc; end4'hc:begin row=16'b1111111111111111;line<=4'hd; end4'hd:begin row=16'b1111111111111111;line<=4'he; end4'he:begin row=16'b1111111111111111;line<=4'hf; end4'hf:begin row=16'b1111111111111111;line<=4'h0; enddefault:line<=4'h0;endcaseendendmodule5.下载电路及引脚分配设计设计中用实验箱自带的50MHz时钟信号作为输入端,用sel0、sel1、sel2、sel3四个使能端选通点阵,EP2C8Q208C8就会工作在给点阵下命令的状态,并用line和row分别作为点阵的行、列选通端,最终使得点阵正常工作,如图3.5.1所示。

电子线路课程设计报告(16X16LED点阵屏)..

电子线路课程设计报告(16X16LED点阵屏)..

江西理工大学应用科学学院微机控制系统课程设计报告题目:LED电子屏设计姓名:学号:专业班级:指导教师:完成时间:2016年6月日目录1 设计任务和性能指标 (1)1.1 设计任务 (1)1.2 性能指标 (1)2 设计方案 (2)2.1 需求分析 (2)2.2 方案论证 (2)3 系统硬件设计 (3)3.1硬件电路组成 (3)3.2 单片机系统及外围电路 (3)3.3 LED的显示方式 (4)3.4 LED阵列的驱动电路 (5)4系统软件设计 (6)4.1 点阵左移显示的流程图及分析 (6)4.2系统各单元电路设计 (9)4.3 字符的点阵显示原理及字库代码获取方法 (10)5调试及性能分析 (11)5.1 调试步骤 (11)5.2 仿真结果 (12)6 总结 (12)参考文献 (13)附录1 系统硬件电路图 (13) (14)附录2 程序清单 (15)1 设计任务和性能指标1.1 设计任务1、显示屏为16×16点阵(由四块8×点阵模块组成),可显示各种图文。

2、掉电时能保存显示的信息。

3、上电后在显示屏上顺序显示“江西理工大学应用科学学院”,当按下按键后显示屏停在对应的汉字上,再次按下时,重复循环显示。

4、写出详细的设计报告。

1.2 性能指标LED是英文light emitting diode(发光二极管)的缩写,发光二极管的核心部分是由p型半导体和n型半导体组成的晶片,在p型半导体和n型半导体之间有一个过度层p-n结,注入的少数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。

LED在我们日常生活的电器中随处可见,极为普通也广为人知。

LED具有效率高、光线质量高、能耗小、寿命长等特点,主要可用于平面显示领域、便携设备显示屏、照明以及红外线LED领域等下游应用产品市场。

LED点阵显示器,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成。

LED1616点阵显示课程设计

LED1616点阵显示课程设计

16*16LED点阵滚动显示屏课程设计专业:班级:姓名:学号:指导教师:题目LED16*16点阵显示系统设计一、任务设计一款基于AT89C51单片机的汉字LED16*16点阵显示块,实现汉字循环左移。

二、设计要求[1] 通过对AT89C51单片机的编程,实现点阵循环左移显示“测控技术与仪器”7个汉字。

[3] 写出详细的设计报告。

[4] 给出全部电路和源程序。

三、参考资料[1]李忠国.单片机应用技能实训[M] .北京:人民邮电出版社,2006.[2]康华光.电子技术基础数字部分[M] .北京:清华大学出版社,2005.[3]张义和.例说51单片机[M] .北京:人民邮电出版社,2008.[4]王让定.汇编语言与接口技术[M] .北京:清华大学出版社, 2005.[5]蒋芳芳.单片机智能数字设计[J].计算机教育,2001,(6).[6]孙玉艳.实现PC机与单片机通信与控制 [J].电站设备自动化,2002 ,(4).[7]李海涛.关于如何提高单片机系统可靠性的探讨 [J].宁夏机械,2003 ,(2)目录第1章绪论 (3)1.1 LED电子显示屏简介 (3)1.2 LED显示屏的发展趋势 (4)1.3设计任务 (5)第2 章总体方案论证与设计 (6)2.1 LED驱动模块 (6)2.2 数据存储模块 (6)2.3 总体硬件组成框图 (7)第3章系统硬件设计 (8)3.1 LED动态显示原理 (8)3.2 AT89C51单片机 (9)3.3 驱动电路的设计 (10)3.4 数据存储电路设计 (11)第4章系统的软件设计 (12)4.1 程序流程图 (12)4.2 驱动显示子程序设计 (13)第5章系统调试与测试结果分析 (14)5.1 使用的仪器仪表 (14)5.2 系统调试 (14)5.3 测试结果 (14)结论 (15)参考文献 (16)附录1 程序 (17)附录2 仿真效果图 (20)第1章绪论LED是发光二极管英文Light Emitting Diode的简称,是六十年代末发展起来的一种半导体显示器件,七十年代,随着半导体材料合成技术、单晶制造技术和P-N结形成技术的研究进展,发光二极管在发光颜色、亮度等性能得以提高并迅速进入批量化和实用化。

16乘16点阵设计课程设计

16乘16点阵设计课程设计

16X16点阵设计摘要本设计利用简单单片机AT89C51作为主操纵模块,利用简单的外围电路来驱动16×16的点阵LED显示屏。

在本设计中要紧用两个74HC595来驱动16×16点阵显示屏的列,用AT89C51来驱动16×16点阵显示屏的行,能够最终实现——“十六乘十六点阵可调速显示屏设计” 十五个汉字的自动左移,而且它们的“进”和“出”是以转动形式设计的。

也确实是说,硬件电路大致上能够分成单片机系统及外围电路、列驱动电路和行驱动电路三部份。

从而能够实现一个室内用的16×16点阵LED图文显示屏,在目测条件下LED显示屏各点亮度均匀、充沛,可显示图形和文字,显示图形或文字应稳固、清楚无串扰,图形或文字显示有静止、移入移出等显示方式。

最后,利用烧录器能够很方便的实现单片机与PC机等外围存储设备的数据传输,并能利用软件方便的进行显示内容的多样转变,它在实际生活中具有普遍的应用。

关键词:单片机,16x16点阵,转动显示目录1 绪论 0课题描述 0功能要求 0方案论证 02 系统整体方案及硬件设计 (1)显示屏整体设计方案 (1)AT89C51的原理及说明 (1)列驱动电路 (2)行驱动电路 (2)3 系统硬件电路的设计 (6)单片机 (7)单片机系统及外围电路 (8)4 系统程序的设计 (8)系统主程序 (9)显示驱动程序 (9)单片机汇编程序 (10)总结 (18)致谢 (18)参考文献 (18)附录1.硬件原理图 (19)附录2.元器件清单表 (23)1 绪论课题描述随着LED显示技术日趋成熟和普遍公共场合需求量增大,现代工业操纵和一些智能化仪器仪表中,愈来愈多的场合所需要用点阵图形显示器显示汉字,广告屏等。

因此研究LED显示有有效意义。

功能要求设计一个室内用16×16点阵LED图文显示屏,要求在目测条件下LED显示屏各点亮度均匀、充沛,可显示图形和文字,显示图形或文字应稳固、清楚无串扰,图形或文字显示有静止、移入移出等显示方式。

16X16LED点阵课程设计报告

16X16LED点阵课程设计报告
8.EEPROM功能
9.看门狗
10.内部集成MAX810专用复位电路(D版本才有),外部晶体20M以下时,可省外部复位电路
11.共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用
12.外部中断4路,下降沿中断或低电平触发中断,Power Down模式可由外部中断低电平触发中断方式唤醒
显示屏刷新率(帧频)与T0初值关系表(24MHz晶振时)
刷新率/Hz
25
50
62.5
75
85
100
120
T0初值
ec78
f63c
f830
f97e
fa42
fb1e
fbee
从理论上来说,24Hz以上的刷新率就能看到连续稳定的显示,刷新率越高,显示越稳定,但显示驱动程序占用的CPU时间越多。实验证明,在目测条件下,刷新率在40Hz以下的画面看起来闪烁严重;刷新率在50Hz以上的已基本觉察不出画面闪烁;刷新率达到85Hz以上时,即使再增加刷新率,画面闪烁也没有明显改善。
所谓动态扫描,简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(如16行)的同名列共用一套列驱动器。以16X16点阵为例,把所有同一行发光管的阳极连在一起,把所有同一列发光管的阴极连在一起(共阳的接法),先送出第一行发光管亮灭的数据并锁存,然后选通第一行使其点亮一定的时间,然后熄灭;再送出对应第二行的数据并锁存,然后选通第二行使其点亮相同的时间,然后熄灭……第十六行之后又重新亮第一行,这样反复轮回。当这样轮回的速度足够快(每秒24次以上)时,由于人眼的视觉暂留现象,我们就能看到显示屏上稳定的图形了。
采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时,要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并行方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并行传输的方案是不可取的。

16x16LED点阵屏设计

16x16LED点阵屏设计

2009级电子信息工程单片机原理课程设计报告书设计题目LED点阵屏的设计制作姓名学号学院工程技术学院专业电子信息工程班级指导教师2012年5月3日目录一、引言 (1)1、设计意义 (1)2、系统功能要求 (1)二、方案设计 (2)1、总体设计 (2)图1 (2)2、设计论证 (2)三、硬件设计 (5)1、单片机系统及其管脚 (5)2、16x16点阵的级联实现 (6)3、点阵驱动部分 (8)4、电源部分 (10)四、软件设计 (11)1、显示驱动程序 (11)2、系统主程序 (12)五、系统调试 (13)1、调试主要分为硬件调试和软件调试 (13)2、程序仿真 (13)六、总结 (14)七、参考文献 (15)八、附录A;原理图 (16)九、附录B;源程序 (16)十、附录B;作品实物图、PCB、清单如下: (19)一、引言1、设计意义LED 就是Light Emitting Diode(发光二极管)的缩写。

在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。

PN结加反向电压,少数载流子难以注入,故不发光。

发光二极管是由p 型和n 型半导体组成的二极管。

在LED 的p - n 结附近,n 型材料中多数载流子是电子,p 型材料中多数载流子是空穴。

LED显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、录像信号等各种信息的显示屏幕。

图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息。

LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。

它的优点:亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。

16×16点阵LED电子显示屏的设计

16×16点阵LED电子显示屏的设计

16×16点阵LED电子显示屏的设计机器人创新设计课程设计报告书题目:16×16点阵LED电子显示屏的设计姓名:张津学号:1613010320专业:国际经济与贸易指导老师:于大泳设计时间:2017年3月管理学院目录1. 引言 (3)1.1 设计意义 (3)1.2 系统功能要求 (3)2. 方案设计 (4)3. 硬件设计 (5)4. 软件设计 (8)5. 系统调试 (9)6. 设计总结 (11)7. 附录A.:源程序 (11)8. 附录B.:作品实物照片 (16)9. 参考文献 (17)16×16点阵LED电子显示屏的设计1.引言1.1 设计意义目前广告牌具有显示内容丰富、信息量大、信息更换速度快等特点。

因此传统的LED显示屏控制系统已经越来越不能满足现代广告宣传业的需要。

而利用PC机通信技术控制LED显示屏,则具有显示内容丰富,信息更换灵活等优点。

1.2 系统功能要求本设计是一16×16点阵LED电子显示屏的设计。

整机以40脚单片机AT89C51为核心,通过该芯片控制列驱动器74HC595来驱动显示屏显示。

该电子显示屏可以显示各种文字或单色图像,全屏能显示1个汉字。

显示可以采用动态显示,使得图形或文字能够实现静止、移入移出等多种显示方式。

开关控制显示“矿大电气五班”、“电子综合设计”的字幕。

同时还要实现的功能:5V的电压输入,时钟电路的设置,复位电路的设置,单片机给74HC154芯片同时给E1和E2低电平,74LS154才能正常的工作。

例如如果想使左上角LED点亮,则Y0=1,X0=0即可。

应用时限流电阻可以放在X轴或Y,16*16LED点阵如图1.2.1所示。

图1.2.12.方案设计16X16点阵LED工作原理说明 : 16X16点阵共需要256个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:一根竖柱:对应的列置1,而行则采用扫描的方法来实现。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

清远职业技术学院课程设计报告《4个16X16点阵LED电子显示屏》姓名何渊乾班级07电子(2)班专业电子信息工程技术报告主体参考《单片机课程设计指导》一、功能设计要求 (3)二、方案论证 (3)三、系统硬件电路的设计 (4)四、系统程序的设计 (6)五、调试及性能分析 (7)六、控制源程序清单 (7)七、收获、体会、建议 (7)八、焊接成品 (7)九、附件附件1 (8)附件2 (15)附件3 (15)附件4 (16)附件5 (17)课题:4个16X16LED点阵电子显示屏一、功能设计要求设计一个能显示4个16X16点阵图文LED显示屏(由于经济问题,由4个8X8的LED 焊接成一个16X16的LED),要求能显示图形或文字,显示图形或文字应稳定、清晰,图形或文字显示有静止、左移或右移等显示方式。

二、方案论证从理论上讲,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在位置相对应的LED器件发光,就可以得到想要的显示结果。

这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。

每个16X16的点阵共有256个发光二极管,显然单片机没有这么多端口。

如果采用锁存器来扩展端口,那么按8位锁存器来计算,一个16X16的点阵需要256/8=32个锁存器。

这个数字很庞大,因为这里仅仅是16X16的点阵,而在实际应用中的显示屏往往还要大得多,这样在锁存器上花的成本将是一个很庞大的数字。

因此在实际应用中,显示屏几乎都不采用这种设计,而采用另一种称为动态扫描的显示方法。

所谓动态扫描,简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(如16行)的同名列共用一套列驱动器。

以16X16点阵为例,把所有同一行发光管的阳极连在一起,把所有同一列发光管的阴极连在一起(共阳的接法),先送出第一行发光管亮灭的数据并锁存,然后选通第一行使其点亮一定的时间,然后熄灭;再送出对应第二行的数据并锁存,然后选通第二行使其点亮相同的时间,然后熄灭……第十六行之后又重新亮第一行,这样反复轮回。

当这样轮回的速度足够快(每秒24次以上)时,由于人眼的视觉暂留现象,我们就能看到显示屏上稳定的图形了。

采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。

显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。

显示时,要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。

从控制电路到列驱动器的数据传输可以采用并行方式或串行方式。

显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。

当列数很多时,并行传输的方案是不可取的。

采用串行传输的方法,控制电路可以只用一根信号线,将列数据逐位地传往列驱动器,在硬件方面无疑是十分经济的。

但是,串行传输过程较长,数据按顺序逐位地输出给列驱动器,只有当一行中的各列数据都已经传输到位之后,这一行的各列才能并行地进行显示。

这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分。

对于串行传输方式来说,列数据准备时间相对要长一些,在行扫描周期确定的情况下,行显示的时间就会缩短,以致会影响到LED的亮度效果。

解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方式来解决。

即在显示本行各列数据的同时,传送下一行的列数据。

为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。

经过上述分析,可以归纳出列驱动器电路应具备的主要功能:对于列数据准备来说,应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。

这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示时间。

下图为显示屏电路实现的结构框图:显示屏电路框图三、系统硬件电路的设计硬件电路大致可分成单片机系统及外围电路、STC—ISP串口下载电路、行驱动电路和列驱动电路4个部分。

具体元器件见附件4。

1、单片机系统及外围电路单片机采用STC89C52芯片,在系统可编程时,无需编程器,无需仿真器,可直接在个人电脑上烧录程序到单片机。

STC89C51单片机的介绍如下:STC89C51RC/RD+系列单片机是宏晶科技推出的新一代超强抗干扰/高速/低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择,最新的D版本内部集成MAX810专用复位电路。

特点:1.增强型6时钟/机器周期,12时钟/机器周期8051 CPU2.工作电压:5.5V -3.4V(5V单片机)/ 3.8V - 2.0V(3V单片机)3.工作频率范围:0 - 40 MHz,相当于普通8051的~080MHz.实际工作频率可达48MHz.4.用户应用程序空间4K / 8K / 13K / 16K / 20K / 32K / 64K字节5.片上集成1280字节/ 512字节RAM6.通用I/O口(32/36个),复位后为:P1/P2/P3/P4是准双向口/弱上拉(普通8051传统I/O 口)口是开漏输出P0 ,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。

7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器可通过串口(P3.0/P3.1)直接下载用户程序,8K程序3秒即可完成一片8.EEPROM功能9.看门狗10.内部集成MAX810专用复位电路(D版本才有),外部晶体20M以下时,可省外部复位电路11.共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用12.外部中断4路,下降沿中断或低电平触发中断,Power Down模式可由外部中断低电平触发中断方式唤醒13.通用异步串行口(UART),还可用定时器软件实现多个UART14.工作温度范围:0 - 75℃/ -40 - +85℃系统采用12MHz或更高频率的晶振,以获得较高的刷新频率,使显示更稳定。

单片机的串口与列驱动器相连,用来送显示数据。

P1口低4位与行驱动器相连,送出行选信号;P1.5~P1.7口则用来发送控制信号。

P0和P2口空闲,在必要时,可以扩展系统的ROM 的RAM。

16X16点阵显示屏的硬件原理图见附件2.1及2.2。

2、STC—ISP串口下载电路STC—ISP串口下载电路主要采用MAX232AESE芯片及RS232通讯串口组成的电路,可实现在系统可编程时直接在个人电脑上烧录程序到单片机。

STC—ISP串口下载电路图见附件3。

3、行驱动电路单片机P1口低4位的行信号经4/16线译码器74LS154译码后生成16条行选通信号线,再经过驱动器驱动对应的行线。

一条行线上要带动16列4的LED进行显示,按每一LED器件mA电流计算,64个LED同时发光时,需要320mA的电流,选用三极管8550作为驱动管可满足要求。

4、列驱动电路列驱动电路由集成电路74LS595构成,它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的空制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的。

74LS595的外形如图所示。

它的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。

74LS595外形:四、系统程序的设计显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。

根据软件分层次设计的原理,可把显示屏的软件系统分成两大层:第一层是底层的显示驱动程序;第二层是上层的系统应用程序。

显示驱动负责向屏体送显示数据,并负责产生行扫描信号和其他控制信号,配合完成LED 显示屏的扫描显示工作。

显示驱动程序由定时器T0中断程序实现。

系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。

1、显示驱动程序显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定。

16行扫描格式和显示屏刷新率(帧频)的计算公式如下:)65536(1216116100t fosc T )(-⨯=⨯=溢出率帧频刷新率其中:fosc 为晶振频率;0t 为定时器初值(工作在16位定时器模式)。

其次,显示驱动程式查询当前点亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。

为消除在切换行显示数据时产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据输入输出锁存器并锁存后,再输出新的行号,重新打开显示。

图(1)为显示驱动程序(显示屏扫描函数)流程图。

显示驱动程序流程图 系统主程序流程图图(1) 图(2)2、系统主程序系统主程序开始后,首先对系统环境初始化,包括设置串口、定时器、中断和端口。

然后以“卷帘出”效果显示文字或图案,停留几秒钟,接着向上滚动显示汉字或图形,停留几秒后,再左移显示汉字或图形、右移显示等。

最后以“卷帘入”效果隐去文字。

显示效果可以根据需要进行设置,系统程序会不断地循环执行显示效果。

图(2)为系统主程序和流程图。

五、调试及性能分析LED显示屏硬件电路只要器件质量可靠,引脚焊接正确,一般列须调试即可正常工作。

软件部分需要调试的主要有显示屏刷新频率及显示效果两部分。

显示屏刷新率由定时器T0的溢出率和单片机的晶振频率决定,下表给出了实验调试时采用的频率及其对应的定时器TO初值。

从理论上来说,24Hz以上的刷新率就能看到连续稳定的显示,刷新率越高,显示越稳定,但显示驱动程序占用的CPU时间越多。

实验证明,在目测条件下,刷新率在40Hz以下的画面看起来闪烁严重;刷新率在50Hz以上的已基本觉察不出画面闪烁;刷新率达到85Hz以上时,即使再增加刷新率,画面闪烁也没有明显改善。

该方案设计的4个16X16点阵LED图文显示屏,电路简单,成本较低,且可方便地扩展成多字的显示屏。

显示屏各点亮度均匀、充足,显示图形或文字稳定、清晰,可用静止、移入移出等多种显示方式显示图形或文字。

六、控制源程序清单4个16X16点阵LED电子显示屏的源程序采用汇编源程序,单片机汇编源程序清单见附件1七、收获、体会、建议通过这个电路设计实验,我们体会到购买元件时使我们了解了市场的行情,为以后进行实验购买元件打下了基础。

而电路焊接又进一步提高了我们的动手能力,让我们认识到,理论和实践的结合,并不是一件简单的事。

这次实验使我们认识到,做任何事都要有一丝不苟的精神,不能马马虎虎。

另外,动手能力不同于一般的课堂学习,是必须经过一个比较艰苦的训练过程。

是提高我们水平的可行方法之一。

八、焊接成品制作成品的实物图见附件5参考文献楼然苗,李光飞编著.《单片机课程设计指导》北京航空航天大学出版社,2007.7附件1单片机汇编源程序清单; **********************************; * *; * 四字16*16点阵电子屏字符显示器*; * STC89C52 12MHZ晶振*; *; **********************************;显示字用查表法,不占内存,用四个16*16共阳LED点阵显示,;效果:向上滚动显示字,每次四个,重复循环。

相关文档
最新文档