文档视界 最新最全的文档下载
当前位置:文档视界 › EDA 16x16点阵显示.

EDA 16x16点阵显示.

EDA 16x16点阵显示.
EDA 16x16点阵显示.

课程设计报告

课程名称数字系统与逻辑设计

课题名称16*16点阵显示

专业通信工程

班级

学号

姓名

指导教师乔汇东胡瑛

2012年7月2日

湖南工程学院课程设计任务书

课程名称数字系统与逻辑设计课题16*16点阵显示

专业班级通信工程1001班

学生姓名

学号

指导老师乔汇东胡瑛

审批乔汇东

任务书下达日期2012 年6月23日

任务完成日期2012 年7月2日

《数字系统与逻辑设计》课程设计任务书

一、设计目的

全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。

二、设计要求

1、设计正确,方案合理。

2、程序精炼,结构清晰。

3、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。

4、上机演示。

5、有详细的文档。文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。

三、进度安排

第二十周星期一:课题讲解,查阅资料

星期二:总体设计,详细设计

星期三:编程,上机调试、修改程序

星期四:上机调试、完善程序

星期五:答辩

星期六-星期天:撰写课程设计报告

附:

课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。

正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、系统调试与仿真;五、总结与体会;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。

目录

一. 16*16点阵显示的总体设计 (1)

1.116*16点阵显示 (1)

1.2基本设计思想 (1)

二. 16*16点阵显示的功能实现 (3)

2.1系统的总体框图 (3)

2.2系统的流程图 (3)

2.3系统各功能模块实现 (4)

三.系统的调试与仿真 (8)

四.总体与体会 (9)

五附件 (10)

六评分表 (16)

一. 16*16点阵显示的总体设计

1.1 16*16点阵显示

本实验主要完成汉字字符在LED 上的显示,16*16 扫描LED 点阵的工作原理与8 位扫描数码管类似,只是显示的方式与结果不一样而已。下面就本实验系统的16*16 点阵的工件原理做一些简单的说明。16*16 点阵由此256 个LED 通过排列组合而形成16 行*16 列的一个矩阵式的LED 阵列,俗称16*16 点阵。

本实验的示例程序依次显示的是“湖南工程学院”,要求每隔一秒换下一个字显示。

1.2 基本设计思想

单个的LED 的电路如下图11-1 所示:

图11-1 单个LED 电路图

由上图可知,点阵内的二极管间的连接都是行共阳,列共阴。本实验采用共阴,当二极管的共阳极为高电平,共阴极为低电平时,所接点发光;反之处于截止状态,不放光。本实验采取行扫描方式,用列给文字信息,利用周期为1s的脉冲来控制所显示的字。即对于单个LED 的电路图当Rn 输入一个高电平,同时Cn 输入一个低电平时,电路形成一个回路,LED 发光。也就是LED 点阵对应的这个点被点亮。16*16 点阵也就是由16 行和16 列的LED 组成,其中每一行的所有16 个LED的Rn 端并联在一起,每一列的所有16 个LED 的Cn 端并联在一起。通过给Rn 输入一个高电平,也就相当于给这一列所有LED 输入了一个高电平,这时只要某个LED 的Cn 端输入一个低电平时,对应的LED 就会被点亮。具体的电路如下图11-2所示:

图11-2 16*16 点阵电路原理图

在点阵上显示一字符是根据其字符在点阵上的显示的点的亮灭来表示的,如下图11-3 所示:

图11-3 字符在点阵上的显示

在上图中,显示的是一个“汉”字,只要将被“汉”字所覆盖的区域的点点亮,则在点阵中就会显示一个“汉”字。根据前面我们所介绍的点阵显示的原理,当我们选中第一列后,根据要显示汉字的第一列中所需要被点亮的点对应的Rn 置为高电平,则在第一列中需要被点亮的点就会被点亮。依此类推,显示第二列、第三列……第N 列中需要被点亮的点。然后根据人眼的视觉原理,将每一列显示的点的间隔时间设为一定的值,那么我们就会感觉显示一个完整的不闪烁的汉字。同时也可以按照这个原理来显示其它的汉字。下图11-4 是一个汉字显示所需要的时序图:

图11-4 显示时序图

二. 16*16点阵显示的功能实现

2.1 系统的总体框图

2.2 系统的流程图

2.3 系统各功能模块实现

1.六进制计数器当每一个时钟上升沿到来时,计数器就记一次数。其程序如

下:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity jy is

port(clk,rst:in std_logic;

din:buffer std_logic_vector(3 downto 0));

end jy;

architecture b of jy is

begin

process(clk,rst)

begin

if rst='1' then din<="0000";

elsif clk'event and clk='1' then

if din=7 then din<="0000" ;

else din<=din+1;

end if;

end if;

end process;

end b;

其仿真波形:

2.A为列驱动控制器,该模块控制所亮的行,当输出为1000000000000000时,给点阵的第一行高电平,输出为0100000000000000时,给点阵的第二行高电平,依次类推,逐次给每行高电平。

其程序:

A:process(hl)

begin

case hl is

when "0000"=> row<="1000000000000000";

when "0001"=> row<="0100000000000000";

when "0010"=> row<="0010000000000000";

when "0011"=> row<="0001000000000000";

when "0100"=> row<="0000100000000000";

when "0101"=> row<="0000010000000000";

when "0110"=> row<="0000001000000000";

when "0111"=> row<="0000000100000000";

when "1000"=> row<="0000000010000000";

when "1001"=> row<="0000000001000000";

when "1010"=> row<="0000000000100000";

when "1011"=> row<="0000000000010000";

when "1100"=> row<="0000000000001000";

when "1101"=> row<="0000000000000100";

when "1110"=> row<="0000000000000010";

when "1111"=> row<="0000000000000001";

when others=> row<="0000000000000000";

END case;

end process A ;

其仿真波形:

3.B为行驱动控制器din控制的是所显示的字。例如当din为000时,表示显示第一个字;当为001时,表示显示第二个字,依次类推。hl控制所显示的为字的第几行,例如当hl为全是0时,表示输出字的第一行文字信息,依次类推。其中包括两种花样的显示方式,其描述如下:

B:process(clk,rst,din)

begin

if rst='1' then dout<="0000000000000000";

hl<="0000" ;din<="000";

elsif clk'event and clk='1' then

if din>6 then din<="000";

else din<=din +1;

if hl>15 then hl<="0000" ;

else hl<=hl+1;

end if;

case din is

when "000"=>

case hl is

when "0000" =>dout<="1000000000011111";

when "0001" =>dout<="0100001000010001";

when "0010" =>dout<="0010111110010001";

when "0011" =>dout<="0010001000010001";

when "0100" =>dout<="0001001000011111";

when "0101" =>dout<="1000001000010001";

when "0110" =>dout<="0100111111010001";

when "0111" =>dout<="0010100001010001";

when "1000" =>dout<="0001100001011111";

when "1001" =>dout<="0000100001010001";

when "1010" =>dout<="0001100001010001";

when "1011" =>dout<="0001111111010001";

when "1100" =>dout<="0010000000010001";

when "1101" =>dout<="0100000000100001";

when "1110" =>dout<="0100000001000111";

when "1111" =>dout<="0000000010000001";

when others=>dout<=null;

end case;

when "001"=>

case hl is

when "0000" =>dout<="0000000000000000";

when "0001" =>dout<="0000000100000000";

when "0010" =>dout<="0001111111111000";

when "0011" =>dout<="0000000100000000";

when "0100" =>dout<="0000000100000000";

when "0101" =>dout<="0000000100000000";

when "0110" =>dout<="0111111111111110";

when "0111" =>dout<="0100010010000010";

when "1000" =>dout<="0100001100000010";

when "1001" =>dout<="0100111111000010";

when "1010" =>dout<="0100000100000010";

when "1011" =>dout<="0100000100000010";

when "1100" =>dout<="0101111111111010";

when "1101" =>dout<="0100000100000010";

when "1110" =>dout<="0100000100000110";

when "1111" =>dout<="0000000000000011";

when others=>dout<=null;

end case;

when "010"=>************

其仿真波形:

三.系统的调试与仿真

整个系统的调试与仿真如下图:

调试成功:

仿真波形成功:

部分生成的电路图如下:

四.总体与体会

这次EDA课程设计历时三晚上。三个晚上在实验室里做EDA,虽然这的课程设计只有短短的三晚,但是这依旧是身体和精神上的折磨,经过了各种挣扎,才完成了这次“艰难的实验”。

有了这次课程设计设计,进一步加深了对EDA的了解,懂得了一些以前书本上没有搞懂的东西。让我对它兴趣盎然,不再认为它是一门非常无聊的学科,你知道的,当程序做出来并且仿真成功的那一刻你是多么的开心。这次实验我明白了点阵显示的原理和一些EDA的基本东西,同时也对它的基本思想有了本质的区别认识,懂得了led的显示以及二极管发光与汉字显示的关系。了解一些仿真软件的使用,明白仿真波形的对电路的涵义。这也锻炼了我作为一个新时代的大学生做事应该有的基本素质和基本能力。首先,我知道了做实验之前应该有个对实验的整体认识,实验的大体了解以及基本知识的储备。其次,要对整体的实验进行分解处理,要有层次性,从整体到部分的分散,“大事化小,小事化了”的基本思想这里得以充分应用。再次。根据各个部分的的功能进行“各个击破”,对各个功能模块分类,分别管理设计。最后,整合各个部分的功能,对整体进行仿真调试。

实验过程难免会出现错误,无数次的理解错误,无数次的程序错误,无数次的仿真错误,无数次的报告修改错误,这些都无可厚非,这本来就是发现错误,更改错误的过程,通过错误你才能理解的更加深刻,你才明白的更加彻底。成功等于无数的失败(错误)加上一次的正确。只有经历了你才知道成功的可贵之处,才会有更多的成就感与喜悦感。

总而言之,这次设计的16×16点阵显示汉字还是比较成功的,就是报告阶段产生了小插——报告不通过,因为自己的懒惰就无知的从网上拷贝了一篇非自

己的心得的心得,可是乔老师是什么人,怎么逃过他的法眼,这点小聪明被拆穿了,聪明反被聪明误,唉,得不偿失。不过,真的要感谢乔老师,让我明白了这些,清楚地认识了自己,是您让我明白了诚实的重要性。再次感谢乔老师和胡老师的辛勤付出。谢谢你们。

五附件

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity eda1 is

port(clk,rst:in std_logic;

din : buffer std_logic_vector(2 downto 0);

dout:out std_logic_vector(15 downto 0);

row:out std_logic_vector(15 downto 0);

hl:buffer std_logic_vector(3 downto 0));

end eda1;

architecture a of eda1 is

begin

A:process(hl)

begin

case hl is

when "0000"=> row<="1000000000000000";

when "0001"=> row<="0100000000000000";

when "0010"=> row<="0010000000000000";

when "0011"=> row<="0001000000000000";

when "0100"=> row<="0000100000000000";

when "0101"=> row<="0000010000000000";

when "0110"=> row<="0000001000000000";

when "0111"=> row<="0000000100000000";

when "1000"=> row<="0000000010000000";

when "1001"=> row<="0000000001000000";

when "1010"=> row<="0000000000100000";

when "1011"=> row<="0000000000010000";

when "1101"=> row<="0000000000000100";

when "1110"=> row<="0000000000000010";

when "1111"=> row<="0000000000000001";

when others=> row<="0000000000000000";

END case;

end process A ;

B:process(clk,rst,din)

begin

if rst='1' then dout<="0000000000000000";

hl<="0000" ;din<="000";

elsif clk'event and clk='1' then

if din>6 then din<="000";

else din<=din +1;

if hl>15 then hl<="0000" ;

else hl<=hl+1;

end if;

case din is

when "000"=>

case hl is

when "0000" =>dout<="1000000000011111";

when "0001" =>dout<="0100001000010001";

when "0010" =>dout<="0010111110010001";

when "0011" =>dout<="0010001000010001";

when "0100" =>dout<="0001001000011111";

when "0101" =>dout<="1000001000010001";

when "0110" =>dout<="0100111111010001";

when "0111" =>dout<="0010100001010001";

when "1000" =>dout<="0001100001011111";

when "1001" =>dout<="0000100001010001";

when "1010" =>dout<="0001100001010001";

when "1011" =>dout<="0001111111010001";

when "1100" =>dout<="0010000000010001";

when "1110" =>dout<="0100000001000111";

when "1111" =>dout<="0000000010000001";

when others=>dout<=null;

end case;

when "001"=>

case hl is

when "0000" =>dout<="0000000000000000";

when "0001" =>dout<="0000000100000000";

when "0010" =>dout<="0001111111111000";

when "0011" =>dout<="0000000100000000";

when "0100" =>dout<="0000000100000000";

when "0101" =>dout<="0000000100000000";

when "0110" =>dout<="0111111111111110";

when "0111" =>dout<="0100010010000010";

when "1000" =>dout<="0100001100000010";

when "1001" =>dout<="0100111111000010";

when "1010" =>dout<="0100000100000010";

when "1011" =>dout<="0100000100000010";

when "1100" =>dout<="0101111111111010";

when "1101" =>dout<="0100000100000010";

when "1110" =>dout<="0100000100000110";

when "1111" =>dout<="0000000000000011";

when others=>dout<=null;

end case;

when "010"=>

case hl is

when "0000" =>dout<="0000000000000000";

when "0001" =>dout<="0001111111111000";

when "0010" =>dout<="0001111111111000";

when "0011" =>dout<="0000000110000000";

when "0100" =>dout<="0000000110000000";

when "0101" =>dout<="0000000110000000";

when "0110" =>dout<="0000000110000000";

when "1000" =>dout<="0000000110000000";

when "1001" =>dout<="0000000110000000";

when "1010" =>dout<="0000000110000000";

when "1011" =>dout<="0000000110000000";

when "1100" =>dout<="0000000110000000";

when "1101" =>dout<="0111111111111110";

when "1110" =>dout<="0111111111111110";

when "1111" =>dout<="0000000000000000";

when others=>dout<=null;

end case;

when "011"=>

case hl is

when "0000" =>dout<="0000010000000000";

when "0001" =>dout<="0000100000000000";

when "0010" =>dout<="0001000111111000";

when "0011" =>dout<="0011000100001000";

when "0100" =>dout<="1001000100001000";

when "0101" =>dout<="0001000111111000";

when "0110" =>dout<="0001000000100000";

when "0111" =>dout<="0111110000100000";

when "1000" =>dout<="0011100000100000";

when "1001" =>dout<="0101010000100000";

when "1010" =>dout<="1001001000100000";

when "1011" =>dout<="1001000011111000";

when "1100" =>dout<="1001000000100000";

when "1101" =>dout<="0001000000100000";

when "1110" =>dout<="0001011111111100";

when "1111" =>dout<="0000000000000000";

when others=>dout<=null;

end case;

when "100"=>

case hl is

when "0001" =>dout<="0001000100001000";

when "0010" =>dout<="0000101001100000";

when "0011" =>dout<="0111111111111100";

when "0100" =>dout<="0100000000000010";

when "0101" =>dout<="0100111111100110";

when "0110" =>dout<="0000000000100000";

when "0111" =>dout<="0000001110000000";

when "1000" =>dout<="0000000010000000";

when "1001" =>dout<="0001111111111000";

when "1010" =>dout<="0000000001000000";

when "1011" =>dout<="0000000001000000";

when "1100" =>dout<="0000010001000000";

when "1101" =>dout<="0000001001000000";

when "1110" =>dout<="0000000110000000";

when "1111" =>dout<="0000000000000000";

when others=>dout<=null;

end case;

when "101"=>

case hl is

when "0000" =>dout<="0000000000000000";

when "0001" =>dout<="0111100011000000";

when "0010" =>dout<="0100100001100000";

when "0011" =>dout<="0101001111111100";

when "0100" =>dout<="0110010000000010";

when "0101" =>dout<="0110000011100100";

when "0110" =>dout<="0101000000000000";

when "0111" =>dout<="0110101111111000";

when "1000" =>dout<="0101000100000000";

when "1001" =>dout<="0100001010000000";

when "1010" =>dout<="0100010010000000";

when "1011" =>dout<="0100100010000000";

when "1100" =>dout<="0101000010001000";

when "1101" =>dout<="0100000001000110";

when "1111" =>dout<="0000000000000000";

when others=>dout<=null;

end case;

when others=>null;

end case;end if;

end if;

end process;

end a;

六评分表

计算机与通信学院课程设计评分表课题名称:16*16点阵显示

教师签名:

日期:

汉字点阵显示屏设计报告

广西交通职业技术学院信息工程系 作品设计报告书 课程名称电子电路设计与制作_____________ 题目16*16 汉字点阵显示屏 _________________ 班级___________ 电信2011-1班_____________ 学号007 032 ____________________ 姓名_________________ 范杰________________

任课老师_____________ 韦家正 _______________ 二O 一三年一月 目录 摘要 一、系统方案选择和论证 (2) 1.1设计要求 (2) 2.1系统基本方案 (2) 2.1.1.主控电路选择 (2) 2.1.2.点阵显示屏部分 (2) 2.1.3.显示屏控制部分 (3) 二、电路模块的设计与分析 (3) 2.1.系统程序的设计 (3) 2.2.单片机系统及外围电路 (4) 23 LED点阵显示 (6) 24.汉字扫描的原理 (7) 25.方案的实现 (7) 三、系统软件设计 (8) 四、系统测试与分析 (10) 4.1点阵显示屏的仿真与程序调试 (10) 4.2整机测试 (10) 4.3系统主程序............................... 错误!未定义书签。 4.4系统测试结果分析 (21) 五、设计制作总结 (21) 5.1 总结 (21) 5.2 致谢词 (22) 六、参考文献 (22)

附录一:系统主要元件清单 (14)

摘要 摘要 LED点阵显示屏作为一种新兴的显示器件,是由多个独立的高亮度的LED发光二极管封装而成。LED点阵显示屏可以显示数字或符号,通常用来显示时间、速度、系统状态等灵活的动态显示。文章给出了一种基于MCS-51/52单片机的 16X16点阵LED显示屏的设计方案,包括系统具体的硬件设计方案,软件流程图和汇编语言程序等方面内容。在负载范围内,只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉、亮 度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定的图文显示方案。 Abstract LED dot matrix display, as a new display device, by a nu mber of in depe ndent high- bright ness LED light-emitt ing diode packages. LED dot matrix display can display nu mbers or symbols, usually used to display time, speed, system status, and a flexible dyn amic display. Pap er, a microcomputer-based MCS-51/52 16 16 dot matrix LED display desig n, in cludi ng the system specific hardware desig n, software flowcharts and assembly Ian guage programs and other aspects. Withi n the load range, by simply cascad ing Jiu expa nsion can right display Jin Xin g, is a low cost, high brightness, low voltage Gong Hao Xiao, miniaturization, Yi Yu IC match, Qu Dong simple, Shou Ming Ion g, impact resista nee, stable performa nee, graphics and display opti ons.

微机接口实验-16x16点阵显示

实验04·LED显示器 王梦硕 0930******* 实验目的: 在理解LED点阵工作原理的基础上,实践使用点阵显示字符。 实验原理: 1·点阵式显示器: 发光二级管排列成矩阵,由亮与暗来产生字符或图形。 每一样的阳极连在一起,每一列的阴极连在一起,如右图所 示。 点阵显示器每一列的阴极连在一起,对每一列而言相当 于一个共阴显示器。同时每一行的阳极连在一起,相当于七 段显示器的比划。可采用动态显示电路,以笔画锁存器控制 行信号,以位锁存器控制列信号。 2·74HC595 实验中使用两片8位输出锁存移位寄存器74HC595(三态输出、串入并出),将单片机I/O口发出的串行数据转换为并行数据LD_QA~LD_QP,作为16x16 LED点阵显示器的行线,使用另外两片8位74HC595作为16x16 LED点阵显示器的列线LD_1~LD_16。当行输出高电平、列输出低电平时,可以点亮点阵。74HC595的工作时序图和推荐的连接方法如下: 下图中: ?LD-QA~LD-QP:点阵行控制信号 ?LD-1~LD-16:点阵列控制信号 ?SER(14脚):串行数据输入端 ?-SCLR(10脚):低电平时将移位寄存器的 数据清零。通常将它接Vcc。 ?SCK(11脚):上升沿时将串行数据移入移 位寄存器。 ?RCK(12脚):上升沿时移位寄存器的数据 锁存入数据寄存器。 ?-G(13脚): 高电平时禁止输出(高阻态)。

实验内容: 在16×16LED点阵上分别用静态方式和滚屏方式显示自己的姓(行扫描)。 两个实验部分的电原理图是相同的,如下所示:

1·静态方式: 流程图: 程序代码: L_DAT_H BIT P1.0 L_DAT_L BIT P1.1 L_STR BIT P1.2 L_CLK BIT P1.3 L_OE BIT P1.4 ROWH EQU 40H ;字模信号(顺向取膜,高位在前)ROWL EQU 41H SELH EQU 42H ;行扫描信号

基于FPGA的LED16×16点阵汉字显示设计(VHDL版)

毕业设计(论文)开题报告 设计(论文)题目基于FPGA的LED 16×16点阵汉字显示设计 一、选题的背景和意义: LED点阵显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。它以其色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点而成为众多显示媒体以及户外作业显示的理想选择。受到体育场馆用LED显示屏需求快速增长的带动,近年来,中国LED 显示屏应用逐步增多。目前,LED已经广泛应用在银行、火车站、广告、体育场馆之中。而随着奥运会、世博会的临近,LED显示屏将广泛的应用在体育场馆以及道路交通指示中,LED显示屏在体育广场中的应用将出现快速增长。 因此,本设计是很有必要的,之所以基于FPGA设计是因为现场可编程门阵列(FPGA)设计周期小,灵活度高,适合用于小批量系统,提高系统的可靠性和集成度。并且采用编写灵活的VHDL 语言编写主程序。本设计可以方便的应用到各类广告宣传中。 二、课题研究的主要内容: 1. 实现16×16点阵的汉字显示; 2. 实现有限汉字显示; 4. 实现汉字的滚动显示; 5. 完成方案论证。 三、主要研究(设计)方法论述: 通过去图书馆查阅书籍收集资料,同时在搜索引擎上检索资料,分析借鉴已有类似产品、设计方案与成功经验,选择几种可行方案比对,最后确定最切实可行的方案展开设计。 通过Multisim或Quartus软件对系统进行模拟仿真,对电路功能进行改进与完善。 在EDA试验箱上进行调试。 四、设计(论文)进度安排:

时间(迄止日期)工作内容 2010.5.17-5.23 理解并确认毕业设计任务书,撰写完成毕业设计开题报告(第1周) 2010.5.24-5.30 完成调研与资料收集、整理 (第2周) 2010.5.31-6.6 设计方案及原理框图确定 (第3周) 2010.6.7-7.4 电路资料收集,单元电路设计 (第4、5、6、7周) 2010.7.5-7.18 电路仿真与改进、完善 (第8、9周) 2010.19-8.1 资料整理 (第10、11周) 2010..8.2-8.8 书写毕业设计报告 (第12周) 2010.8.9-8.16 (第13周)修改毕业设计报告并整理装订 五、指导教师意见: 指导教师签名:年月日六、系部意见: 系主任签名:年月日 目录

单片机课程设计---16×16点阵式汉字显示

目录 摘要 (1) Abstract (2) 1设计原理 (3) 1.1 MCS-51单片机的结构及编程方法 (3) 1.2 16*16点阵LED原理 (5) 1.3 3-8译码器原理 (6) 2.设计方案介绍 (7) 2.1 设计总体思路 (7) 2.2 与题目相关的具体设计 (7) 2.3程序设计流程图 (8) 3.源程序,原理图和仿真图 (9) 3.1程序清单(见附录) (9) 3.2电路图 (9) 3.2.1电路原理图 (9) 3.2.2电路图分析 (9) 3.3仿真图 (9) 4性能分析 (10) 5.总结和心得 (11) 6.参考文献 (12) 附录:程序代码 (13)

摘要 LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成. LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。文章给出了一种基于MCS-51单片机的16×16 点阵LED显示屏的设计方案。包括系统具体的硬件设计方案,软件流程图和部分汇编语言程序等方面。在负载范围内, 只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。 关键词:MCS-51;LED;单片机

Abstract As a popular display device component, LED dot-matrix display board consists of several independent LED (Light Emitting Diode). The LED dot-matrix display board can display the number or sign, and it is usually used to show time, speed, the state of system etc. This paper introduces a kind of simple 16x16 LED display screen design process based on MCS-51 single chip minicomputer . The detail hardware scheme, software flow and assemble language programmer design and so on is followed. The display part can be cascaded to meet the need. The practice proves the design is low-cost and effective. Key words: MCS-51;LED;MCU

EDA 16x16点阵显示

课程设计报告 课程名称数字系统与逻辑设计 课题名称16*16点阵显示 专业通信工程 班级 学号 姓名 指导教师乔汇东胡瑛 2012年7月2日

湖南工程学院课程设计任务书 课程名称数字系统与逻辑设计课题16*16点阵显示 专业班级通信工程1001班 学生姓名 学号 指导老师乔汇东胡瑛 审批乔汇东 任务书下达日期2012 年6月23日 任务完成日期2012 年7月2日

《数字系统与逻辑设计》课程设计任务书 一、设计目的 全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。 二、设计要求 1、设计正确,方案合理。 2、程序精炼,结构清晰。 3、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。 4、上机演示。 5、有详细的文档。文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。 三、进度安排 第二十周星期一:课题讲解,查阅资料 星期二:总体设计,详细设计 星期三:编程,上机调试、修改程序 星期四:上机调试、完善程序 星期五:答辩 星期六-星期天:撰写课程设计报告 附: 课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、系统调试与仿真;五、总结与体会;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。

16 16点阵LED循环显示汉字汇编语言设计

LED16X16点阵显示 课程设计报告 学院信息工程学院 专业通信工程 班级0801 学生姓名 指导老师 二0一0年十二月 一、设计目的 本次课程设计目的剖析试验箱,利用微机接口芯片8255,并行控制LED点阵显示;其次就是掌握8088微机系统与LED点阵显示模块之间接口电路设计及编程,了解LED点阵显示的基本原理和如何来实现汉字的的循环左移显示。 二、设计内容 利用598H试验系统扩展接口CZ7座,在控制板MC1上以并行通信的方式控制LED点阵显示。要求自建字库,编制程序实现点阵循环左移显示汉字,并要求通过protues仿真软件画出电路图,运行程序。 三、硬件电路设计 整个电路由8088CPU,两片8255,1个74ls373,1个74LS138,1个16×16的LED,5个7407。该电路可静态显示1个16*16位的汉字,也可循环显示。 1、8255 Intel8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”,是为Intel8080/8085系列微处理据设计的,也可用于其它系列的微机系统。可由程序来改变其功能,通用性强、使用灵活。通过8255A,CPU可直接同外设相连接,是应用最广的并行I/O接口芯片。其中含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力。可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。 2、138译码器 译码器是组合逻辑电路的一个重要的器件,74LS138的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门,74LS138与前面不同,其有使能端,故

使能端必须加以处理,否则无法实现需要的逻辑功能。发光二极管点亮只须使其正向导通即可,根据LED的公共极是阳极还是阴极分为两类译码器,即针对共阳极的低电平有效的译码器;针对共阴极LED的高电平输出有效的译码器。 3、373锁存器 74LS373是低功耗肖特基TTL8D锁存器,内有8个相同的D型(三态同相)锁存器,由两个控制端(11脚G或EN;1脚OUT、CONT、OE)控制。当OE接地时,若G为高电平,74LS373接收由PPU输出的地址信号;如果G为低电平,则将地址信号锁存。工作原理:74LS373的输出端O0—O7可直接与总线相连。当三态允许控制端OE为低电平时,O0—O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0—O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立的数据电平。 4、LED动态显示原理 LED点阵显示系统中各模块的显示方式:有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。 点阵式LED绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。 以8×8点阵模块为例,说明一下其使用方法及控制过程。图2.1中,红色水平线Y0、Y1……Y7叫做行线,接内部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。相邻两行线间绝缘。同样,蓝色竖直线X0、X1……X7叫做列线,接内部每列8个LED的阴极,相邻两列线间绝缘。 在这种形式的LED点阵模块中,若在某行线上施加高电平(用“1”表示),在某列线上施加低电平(用“0”表示)。则行线和列线的交叉点处的LED就会有电流流过而发光。比如,Y7为1,X0为0,则右下角的LED点亮。再如Y0为1,X0到X7均为0,则最上面一行8个LED 全点亮。 现描述一下用动态扫描显示的方式,显示字符“B”的过程。其过程如图3.1 图3.1用动态扫描显示字符“B”的过程 Proteus中只有5×7和8×8等LED点阵,并没有16×16LED点阵,而在实际应用中,要良好地显示一个汉字,则至少需要16×16点阵。下面我们就首先介绍使用8×8点阵构建16×16点阵的方法,并构建一块16×16LED点阵,用于本次设计。

基于单片机AT89C51控制的LED点阵屏显示时钟课程设计报告

课程设计报告 课程名称:LED点阵显示时钟 专业班级: 课程设计参与人员: 指导老师: 宁波技师学院 2013年9月26日

摘要 文章论述了基于AT89C52单片机的LED点阵显示电子钟设计控制系统, 并且可以对其进行设置。基于AT98C52单片机的LED点阵显示电子钟具有结构简单,性能靠,价格低和灵活等优点,因此得到了广泛应用。LED点阵显示屏是利用发光二极管或像素组成的平面式显示屏。它具有发光效率高,使用寿命长,组态灵活等特点。本文设计的是用4块8×8点阵显示屏制作的室内时钟,数字采用静止显示方式。电子钟是一种利用数字电路来显示分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许多场合可以看到数字电子钟。本文介绍了LED点阵显示电子钟的发展历史及其应用范围。

目录 1.总体设计方案及思路 (4) 2.硬件设备及电路图 (5) 3.所用的材料清单 (10) 4.单片机汇编程序及解释 (13) 5.组员分工 (27) 5.1倪坤.单片机汇编程序的设计 (27) 5.2倪翔.原理图及PCB的绘制 (27) 5.3采佳浩.硬件设计思路和控制思路设计 (28) 6课程报告的总结及调试程 (29)

1总体的设计方案及思路: 由中断产生的秒、分、小时数据,经转换子程序转换成适应LED点阵显示屏显示的数据,并通过单片机的输出功能输入到LED点阵显示屏,再通过显示扫描程序,显示出时钟的走时时间。用计时程序来完成计时,数时功能,再通过单片机综合控制将数字显示出来。由此可见,通过A T89C51单片机的控制功能,完全可以实现LED点阵显示电子钟。 1.1硬件结构: 根据项目的功能和要求,可采用A T89C51单片机作为核心控制器。LED点钟电子钟系统组成包括:晶振电路模块、复位电路模块、显示电路模块、显示行驱动电路模块、蜂鸣器电路模块、按键电路模块以及电源模块。 1.2控制思路: LED点阵电子钟程序主要功能是屏幕显示时间稳定,精确。所以按照分块设计的法可以把程序分为主程序、显示程序、计时程序,在后面还会加入闹钟程序。主程序主要是用来初始化系统和控制各个子程序之间执行的顺序。显示程序用来完成字在LED点阵上的显示,时钟的显示是使用4块8×8点阵显示屏。计时程序用来完成计时,数时功能。闹钟程序用来完成时钟的闹钟功能。

16X16点阵LED显示

毕业设计说明书 课题名称: 16乘16点阵显示电路的电路原理图及pcb绘制 学生姓名 专业 班级 时间 指导教师

姓名 设计题目16乘16点阵显示电路的原理图及pcb 绘制 指导教师 设计目的利用单片机控制显示屏,显示相应字幕掌握PROTEL99SE软件的操作和应用 理解和运用芯片 设计摘要 本设计是一16×16点阵LED电子显示屏的设计。 整机以单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。通过该芯片控制一个行驱动器 74LS168和两个列驱动器74LS164来驱动显示屏显示。采用4块8×8点阵LED显示模块来组成16×16点阵显示模式。 单片机控制系统程序采用单片机以C语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。所显示字符的点阵数据可以自行编写(即直接点阵画图),也可从标准字库中提取。 论文着重介绍点阵显示的制作过程,即元器件的制作,单个封装,原理图的绘制以及PCB版布线的过程 设计规划1.建立库原件里面的没有的原件,并做出封装 2.绘制点阵点阵显示的原理图 3.对原理图里面的原件进行封装 4.创建链接表 5.导入到PCB里面,并排列连接 6.制造PCB版 7.

姓名 设计题目16乘16点阵显示电路的原理图及pcb绘制指导教师 设计目的利用单片机控制显示屏,显示相应字幕掌握PROTEL99SE软件的操作和应用 理解和运用芯片 设计摘要 本设计是一16×16点阵LED电子显示屏的设计。 整机以单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。通过该芯片控制一个行驱动器 74LS168和两个列驱动器 74LS164来驱动显示屏显示。采用4块8×8点阵LED显示模块来组成16×16点阵显示模式。 单片机控制系统程序采用单片机以C语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。所显示字符的点阵数据可以自行编写(即直接点阵画图),也可从标准字库中提取。 论文着重介绍点阵显示的制作过程,即元器件的制作,单个封装,原理图的绘制以及PCB版布线的过程 设计规划1.建立库原件里面的没有的原件,并做出封装 2.绘制点阵点阵显示的原理图 3对原理图里面的原件进行封装 4创建链接表 5导入到PCB里面,并排列连接 6制造PCB版

16-16点阵LED显示汉字汇编语言

LED16X16点阵显示课程设计报告 学院 专业 班级 学生 指导老师

一、设计目的 本次课程设计目的剖析试验箱,利用微机接口芯片8255,并行控制LED点阵显示;其次就是掌握8088微机系统与LED点阵显示模块之间接口电路设计及编程,了解LED点阵显示的基本原理和如何来实现汉字的的循环左移显示。 二、设计容 利用598H试验系统扩展接口CZ7座,在控制板MC1上以并行通信的方式控制LED点阵显示。要求自建字库,编制程序实现点阵循环左移显示汉字,并要求通过protues仿真软件画出电路图,运行程序。 三、硬件电路设计 整个电路由8088CPU,两片8255,1个74ls373,1个74LS138,1个16×16的LED,5个7407。该电路可静态显示1个16*16位的汉字,也可循环显示。 1、8255 Intel8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”,是为Intel8080/8085系列微处理据设计的,也可用于其它系列的微机系统。可由程序来改变其功能,通用性强、使用灵活。通过8255A,CPU可直接同外设相连接,是应用最广的并行I/O接口芯片。其中含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力。可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。 2、138译码器 译码器是组合逻辑电路的一个重要的器件,74LS138的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门,74LS138与前面不同,其有使能端,故使能端必须加以处理,否则无法实现需要的逻辑功能。发光二极管点亮只须使其正向导通即可,根据LED的公共极是阳极还是阴极分为两类译码器,即针对共阳极的低电平有效的译码器;针对共阴极LED的高电平输出有效的译码器。 3、373锁存器 74LS373是低功耗肖特基TTL8D锁存器,有8个相同的D型(三态同相)锁存器,由两个控制端(11脚G或EN;1脚OUT、CONT、OE)控制。当OE接地时,若G为高电平,74LS373接收由PPU输出的地址信号;如果G为低电平,则将地址信号锁存。工作原理:74LS373的输出端O0—O7可直接与总线相连。当三态允许控制端OE为低电平时,O0—O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0—O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立的数据电平。 4、LED 动态显示原理 LED点阵显示系统中各模块的显示方式:有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。 点阵式LED绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视

LED点阵显示屏设计报告

西安邮电大学 开发性实验结题报告 学院:电子工程学院 班级:光信1201 姓名:袁云飞学号:05123010 班级:光信1201 姓名:赵晓伟学号:05123019 班级:光信1201 姓名:陶鹏江学号:05123018 237团队 2014年3月30日

16 32点阵LED电子显示屏 摘要: 本设计是一16×32点阵LED电子显示屏的设计。 整机以美国ATMEL 公司生产的40脚单片机AT89C52为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。通过该芯片控制两个行驱动器74HC573和四个列驱动器74HC573来驱动显示屏显示。该电子显示屏可以显示各种文字或单色图像,全屏采用8块8×8点阵LED显示模块来组成16×32点阵显示模式。文中详细介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用说明等。 单片机控制系统程序采用单片机C语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。LED显示以其组构方式灵活、显示稳定、功耗低、寿命长、技术成熟、成本低廉等特点得到广泛的应用。 关键词:AT89C51单片机;LED;点阵显示;动态显示;C语言。 一绪论 LED显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。并广泛的应用于公交汽车,码头,商店,学校和银行等公共场合的信息发布和广告宣传。LED显示屏经历了从单色,双色图文显示屏到现在的全彩色视频显示屏的发展过程,自20世纪八十年代开始,LED显示屏的应用领域已经遍布交通、电信、教育、证券、广告宣传等各方面。 1 LED点阵显示屏概述 LED点阵显示屏的构成型式有多种,其中典型的有两种。一种把所需展示的广告信息烧写固化到EPROM芯片内,能进行固定内容的多幅汉字显示,称为单显示型;另一种在机内设置了字库、程序库,具有程序编制能力,能进行内容可变的多幅汉字显示,称可编程序型。 目前,国内的LED点阵显示屏大部分是单显示型,其显示的内容相对较少,

基于51单片机的汉字点阵显示设计

湖南科技大学测控技术与仪器专业
单 片 机 课 程 设 计
题 姓 学 名 号

指导教师 成 绩 ____________________
湖南科技大学机电工程学院 二〇一五年十二月制

湖南科技大学课程设计
摘要
LED 显示屏在我们的周围随处可见,它的应用已经普及到社会中的方方面面。作为 一种新型的显示器件,在许多场合都可以见到它的身影,不仅是它的应用使呈现出来的 东西更加美观,更重要的是它的应用方便,成本很低,除了能给人视觉上的冲击外,更 能给人一种美的享受。LED 显示屏是由多个发光二极管按矩阵形式排列封装而成,通常 用来显示时间、图文等各种信息。本设计是基于 ATS52 单片机的 16*16 点阵式显示屏, 该 LED 显示屏能实现 16*16 个汉字,简单的显示图像, 然后一直循环着显示下去。该设 计包含了硬件、软件、调试等方案,只需简单的级联就能实现显示屏的拓展,但要注意 不要超过负载能力。本次设计的作品体积小、功能多、方便实用、花费小,电路具有结 构简单、操作方便、精度高、应用广泛的特点。 关键词: LED,ATS51 单片机,显示屏
-2-

湖南科技大学课程设计
目录
摘要…………………………………………………………………………i 第一章 系统功能要求 ……………………………………………………1 1.1 系统设计要求 ……………………………………………………1 第二章 方案论证 …………………………………………………………1 2.1 方案论证 …………………………………………………………1 第三章 系统硬件电路设计 ………………………………………………1 3.1 AT89S51 芯片的介绍 ………………………………………………1 3.1.1 系统单片机选型…………………………………………………1 3.1.2 AT89S51 引脚功能介绍 …………………………………………2 3.2 LED 点阵介绍………………………………………………………2 3.2.1LED 点阵……………………………………………………………2 3.3 系统各硬件电路介绍 ………………………………………………3
3.3.1 系统电源电路设计介绍……………………………………………3 3.3.2 复位电路……………………………………………………………4 3.3.3 晶振电路……………………………………………………………4 3.4 系统的总的原理图……………………………………………………5 第四章 系统程序设计 ………………………………………………………5 4.1 基于 PROTEUS 的电路仿真……………………………………………5 4.2 用 PROTEUS 绘制原理 ………………………………………………6
4.3PROTEUS 对单片机内核的仿真 ………………………………………6
-3-

16×16点阵LED显示汉字

以下程序在16×16点阵LED上依次显示“梅川酷子”四个字,分别用正向显示和反向显示,间隔两秒钟变换一次,电路图和效果图下图所示。 AT89c52晶振频率为24MHz,用T0定时,改变变量flag值,从而让程序确定显示哪个汉字和显示方式(正向or反向)。 #include 或者#include #define int8 unsigned char #define int16 unsigned int #define int32 unsigned long int8 flag; /* flag变量 MSB 7 6 5 4 3 2 1 0 LSB × ×× Bit5=1,Bit4=0 时,负向显示 Bit5=0,Bit4=1 时,负向显示 Bit[2..0]74HC138的片选信号 */ int8 n; int8 code table[][32]={ {0x88,0x00,0x88,0x00,0x88,0x7F,0x48,0x00,0xDF,0x1F,0xA8,0x10,0x9C,0x1 2,0xAC,0x14,0xEA,0x7F,0x8A,0x12,0x89,0x14,0x88,0x10,0x88,0x7F,0x08,0x 10,0x08,0x14,0x08,0x08},/*"梅",0*/ {0x08,0x20,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x2 1,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x04,0x 21,0x04,0x20,0x02,0x00},/*"川",1*/ {0x00,0x08,0xFE,0x08,0x28,0x0A,0x28,0x7E,0xFE,0x0A,0xAA,0x09,0xAA,0xF F,0xEA,0x00,0x86,0x00,0x82,0x7E,0xFE,0x42,0x82,0x42,0x82,0x42,0xFE,0x 7E,0x82,0x42,0x00,0x00},/*"酷",2*/ {0x00,0x00,0xF8,0x1F,0x00,0x08,0x00,0x04,0x00,0x02,0x00,0x01,0x00,0x0 1,0x00,0x41,0xFE,0xFF,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x 01,0x40,0x01,0x80,0x00}/*"子",3*/ }; void delay(void); void main(void){ int8 i; int8 j; int8 index;

LED8x8点阵显示设计说明报告

班级:电子1649 姓名:王立学号:1330302164944 LED8x8点阵显示设计说明报告 一、设计任务 1.设计要求 利用一块点阵数码板,按编程者要求实现任意符号的显示。 2.此次设计研究的主要内容及应解决的问题 此次设计研究的主要内容是设计一个符号显示牌:通过程序控制符号显示牌,使符号显示牌,在无按键按下时,显示数字“0-9”,当第一次按下按键时,显示字母“μ”,当第二次按下按键时显示汉字“公”。 应解决的问题:单片机P1口的输出电流不足以驱动二极管,需要加驱动,本次研究中以S8050作为驱动,同时在S8050NPN晶体管基极加4.7K的电阻。实验前要弄清晶体管三个引脚代表的极性,以免符号显示牌不亮导致而设计失败。 二、总体设计方案 2.1 硬件电路组成 本产品采用以89C51单片机为核心芯片的电路来实现,主要由89C51芯片、晶振电路、三极管驱动电路、按键控制电路、8×8 LED点阵5部分组成,电路框图如图1所示。其中,89C51是一种带4kB闪烁可编程可擦除只读存储器(Falsh Programmable and Erasable Read OnlyMemory,FPEROM)的低电压、高性能CMOS型8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,工业标准的MCS一51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1 000次写/擦循环,数据保留时间为10年。他是一种高效微控制器,为很多嵌人式控制系统提供了一种灵活性高且价廉的方案。因此,在智能化电子设计与制作过程中经常用到89C51芯片。时钟电路由89C51的18,19脚的时钟端(XTAI 1及XTAL2)以及12 MHz晶振X 、电容C2、C3组成,采用片内振荡方式。复位电路采用简易的上电复位电路,主要由电阻R ,R2,电容C ,开关K 组成,分别接至89C51的RST复位输人端。LED点阵显示屏采用8x8共64个象素的点阵,可通过万用表检测发光二极管的方法测试判断出该点阵的引脚分布。 我们把行列总线接在单片机的I/O口,然后把上面分析到的扫描代码送入总线,就可以得到显示的字符了。我们在实际应用中是将LED点阵的8条列线通过驱动电路接在P1口,8条行线通过限流电阻接在P0口。单片机89C51按照设定的程序在P1和P0接口输出与内部字符对应的代码电平送至LED点阵的行列线(高电平驱动),从而选中相应的象素LED发光,并利用人眼的视觉暂留特性合成整个字符的显示。再改变取表地址实现字符的滚动显示。硬件电路组成框图如图2-1所示。 图2-1 硬件电路组成框图

8×8LED点阵显示汉字课程设计

目录 第1章本设计的研究背景及目的要 求 0 1.1凌阳单片 机 0 1.2 LED(8×8)点阵模块简 介 (1) 第2章设计方案和基本原 理 (3) 2.1设计方 案 (3) 2.2 基本原 理 (3) 1. 8×8LED点阵的工作原 理 (3) 第3章程序设 计 (6) 3.1程序流程 图 (6) 3.2 程序代 码 (6) 第4章调试结果及分 析 (8) 4.1调试结 果 (8) 4.2结果分 析 (9) 第5章结论与体 会 (10) 参考文 献 .................................................................. 11 附 录 .................................................................. . (12) 第1章本设计的研究背景及目的要求

1.1凌阳单片机 (1)来源 随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理数据处理以及数字信号处理,DSP(Digital Signal Processing)等领域。凌阳的16位单片机就是为适应这种发展而设计的。 (2)构造 它的CPU内核采用凌阳最新推出的Microcontroller and Signal Processor 16 位微机处理器芯片,以下简称μ'nSP?。围绕μ'nSP?所形成的16位μ'nSP?系 列单片机,以下简称μ'nSP? 家族。采用的是模块式集成结构,它以μ'nSP?内核为中心集成不同规模的ROM PAM和功能丰富的各种外设部件。μ'nSP?内核 是一个通用的和结构。除此之外的其它功能模块均为可选结构。以及这种结构可大可小可有可无,借助这种通用结构附加可选结构的积木式的构成,便可成为各种系列的派生产品,以适合不同场合,这样做无疑会使每种派生产品具有更强的功能和更低的成本。μ'nSP?家族有有以下特点:体积小,集成度高,可靠性 好易于扩展。μ'nSP? 家族把各功能把各功能部件模块化地集成在一个芯片里。内部采用总线结构,因为减少了各功能部件之间的连接,提高了其可靠性和抗干扰能力,另外,模块化的结构易于系列的扩展,以适应不同用户的需求。具有较强的中断处理能力。μ'nSP?家族的中断系统支持10个中断向量及10余个中断源,适合实时应用领域。高性能价格比:μ'nSP?家族片内带有高寻址能力的ROM,静态RAM和多功能的I/O口,另外μ'nSP?的指令系统提供出具有较高运算速度的16位,16位的乘法运算指令和内积运算指令,为其应用添加了DSP功能,使得μ'nSP?家族运用在复杂的数字信号处理方面既很便利又比专用的DSP芯片廉价。 优点: 功能强、效率高的指令系统:μ'nSP?的指令系统的指令格式紧凑,执行迅速,并且其指令结构提供了对高级语言的支持,这可以大大缩短产品的开发时间。低功耗、低电压:μ'nSP?家族采用CMOS制造工艺,同时增加了软件激发的弱振方式,空闲方式和掉电方式,极大地降低了其功耗,另外,μ'nSP?家族的工 作电压范围大,能在低电压供电时正常工作,且能用电池供电,这对于其在野外作业等领域中的应用具有特殊的意义。 (3)应用领域 凌阳单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: 1.在智能仪器仪表上的应用 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控例且功能比起采用电子或数字电路更加强大。智能化、微型化,制使得仪器仪表数字化、. 。如精密的测量设备(功率计,示波器,各种分析仪)在工业控制中的应用2. 例如工厂流水线的智能化管数据采集系统。用单片机可以构成形式多样的控制系统、

8 16X16LED点阵显示程序

16×16按字显示程序: ;P0和P2口输出字型码,P1口输出列线扫描。 ORG 0000H SJMP LOOP ORG 0080H LOOP:MOV A,#00H ;开机初始化,清除画面MOV P0,A ;清除P0口 ANL P2,#00 ;清除P2口 MOV R2,#200 D100MS: MOV R3,#250 ;延时100毫秒 DJNZ R3,$ DJNZ R2,D100MS

MOV 20H,#00H ;字型码指针赋初值 L100: MOV R1,#10 ;每个字的停留时间 L16: MOV R6,#16 ;每个字16个16位码 MOV R4,#00H ;列线扫描指针清零,接4-16译码器,。 MOV R0,20H ;字型码指针存入R0 L3: MOV A,R4 ;列线扫描指针存入A MOV P1,A ;列线扫描输出 INC R4 ;扫描指针加1,指向下一列 MOV A,R0 ; 取码指针存入A MOV DPTR,#TABLE ;取数据表的上半部分的代码 MOVC A,@A+DPTR MOV P0,A ; 输出到P0 INC R0 ;取字型码指针加1,取下一个码。 MOV A,R0 MOV DPTR,#TABLE ;取数据表下半部份的代码 MOVC A,@A+DPTR MOV P2,A ;输出到P2口 INC R0 ;取字型码指针加1,取下一个码。 MOV R3,#02 ;扫描1毫秒 DELAY2:MOV R5,#248 DJNZ R5,$ DJNZ R3,DELAY2 MOV A,#00H ;清除屏幕 MOV P0,A ANL P2,#00H DJNZ R6,L3 ;一个字16个码是否完成? DJNZ R1,L16 ;每个字的停留时间是否到了? MOV 20H,R0 ;取码指针存入20H(静态显示) CJNE R0,#224,L100 ;7个字224个码是否完成? JMP LOOP ;反复循环 16×16滚动显示程序: ORG 0000H SJMP LOOP ORG 0080H LOOP:MOV A,#00H ;开机初始化,清除画面 MOV P0,A ;清除P0口

16x16点阵显示LED

开封大学 学生毕业设计 题目点阵式汉字电子显示屏设计 年级 11级专业电子信息工程技术 班级电子3班 学生姓名苗本朋起止时间 2013.11,4-2014,05.26指导教师肖兴达职称副教授 2014年 5 月 26 日

摘要 电子显示屏的应用范围越来越广泛,它作为一个重要的宣传平台,已经受到全社会的普遍认可。本课题以单片机为控制核心,通过8x8 LED电子显示屏及相关的外围电路,设计制作了一个16x16 点阵LED电子显示屏。 本文介绍了基于AT89C51单片机点阵显示屏的设计方案,阐述了16×16点阵LED 显示屏的设计原理与思路,详细叙述了系统硬件、软件设计的具体实现过程。论文重点阐述了显示模块及相关驱动模块等的模块化设计思路与制作方法。软件部分同样也采用模块化的设计思想,显示模块,并采用简单流通性强的汇编语言编程实现。系统能实现清晰的图文伴随左移出显示功能。在实际设计调试过程中,通过肉眼观察该显示屏显示的图文是否稳定、清晰无串扰,查找造成图文不清晰的根源,确定调整方案,尽可能的使显示图文与要求相符合。 关键词:单片机;LED显示屏

目录 1 引言 (3) 1.1 课题的背景 (3) 1.2 研究目的和意义 (4) 1.3 研究内容 (5) 2 系统方案论证 (5) 2.1 方案论证 (6) 2.2模块方案确定 (6) 2.2.1 电源模块 (6) 2.2.2 单片机控制模块 (6) 2.2.3 时钟信号电路 (6) 2.2.4 复位电路 (7) 2.2.5 显示驱动模块 (7) 3 系统硬件电路设计 (8) 3.1硬件电路设计 (8) 3.2各单元电路说明 (8) 3.2.1 单片机主控模块的设计 (8) 3.2.2 16X16点阵显示模块设计 (11) 3.2.3 驱动模块电路设计 (13) 3.2.4 电源电路设计 (15) 4 系统软件设计 (18) 4.1点阵显示原理 (18) 4.2系统程序流程图 (20) 4.3系统程序 (22) 5 单片机I/O口分配 (26) 6 结果分析及总结 (26) 6.1结果分析 (26) 6.2总结 (26) 参考文献 附录1:电路图 附录2:元件清单

相关文档
相关文档 最新文档