课程设计LED1616点阵显示设计

合集下载

1616点阵课程设计

1616点阵课程设计

16 16点阵课程设计一、课程目标知识目标:1. 学生能理解16点阵的基本概念,掌握点阵在计算机图形学中的应用。

2. 学生能运用16点阵进行图案设计和创作,了解点阵与二进制之间的关系。

3. 学生了解点阵显示原理,掌握点阵屏幕的基本操作。

技能目标:1. 学生能够运用16点阵软件或编程工具进行图案设计,具备基本的点阵编程能力。

2. 学生能够通过小组合作,共同解决点阵图案设计中的问题,提高沟通与协作能力。

3. 学生能够运用所学知识,创新设计具有个性和特色的点阵作品。

情感态度价值观目标:1. 学生培养对计算机图形学的兴趣,激发探索精神,提高学习积极性。

2. 学生在创作过程中,体验团队合作的力量,培养集体荣誉感。

3. 学生通过点阵创作,培养审美观念,提高对美的感知能力。

课程性质:本课程为信息技术课程,以实践操作为主,注重培养学生的动手能力和创新能力。

学生特点:六年级学生具备一定的计算机操作基础,对新鲜事物充满好奇心,喜欢动手实践。

教学要求:教师应注重理论与实践相结合,以学生为主体,引导他们主动探索,培养他们的创新意识和团队协作能力。

在教学过程中,关注学生的个体差异,提供有针对性的指导。

通过本课程的学习,使学生能够达到上述课程目标,实现学习成果的分解和落实。

二、教学内容本章节教学内容主要包括以下三个方面:1. 点阵基础知识:- 点阵概念及其在计算机图形学中的应用。

- 点阵与二进制的关系。

- 点阵显示原理。

2. 点阵图案设计与创作:- 点阵软件或编程工具的使用。

- 点阵图案设计的基本方法。

- 点阵作品创作实例分析。

3. 点阵编程与应用:- 点阵屏幕的基本操作。

- 点阵编程基础。

- 点阵作品展示与评价。

教学大纲安排如下:第一课时:点阵基础知识- 引导学生了解点阵概念,分析点阵在计算机图形学中的应用。

- 讲解点阵与二进制的关系,探讨点阵显示原理。

第二课时:点阵图案设计与创作- 介绍点阵软件或编程工具,指导学生进行图案设计。

单片机课程设计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以及输入/输出接口,定时器等电路于一块芯片上构成的。

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显示屏各点亮度均匀、充沛,可显示图形和文字,显示图形或文字应稳固、清楚无串扰,图形或文字显示有静止、移入移出等显示方式。

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

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

一.课程设计意义二.课程设计任务书三、课程设计进度计划及检查情况记录表四、成绩评定与评语目录一.课程设计意义 (1)二.课程设计任务书 (2)三、课程设计进度计划及检查情况记录表 (3)四、成绩评定与评语 (3)一、总体设计方案 (5)1.1 总体设计 (5)1.2 硬件设计 (6)1.3 软件设计 (13)二、设计内容 (15)2.1 系统硬件原理图与仿真 (15)2.2 程序清单 (17)三.结论、建议及课程设计体会 (21)四.参考文献 (21)一、总体设计方案1.1 总体设计1.1.1 工作原根据功能要求,应采用动态显示的设计方法,同时为简化设计,减少硬件数量,显示数据的传输采用串行传输方式。

(1)熟悉AT89S51单片机系统的使用方法。

(2)掌握动态显示原理及实现方法。

(3)初步掌握AT89S51单片机编程方法。

(4)掌握串行数据传输方式的应用。

(5)实现利用AT89S51单片机控制的LED图文屏正常工作。

1.1.2 硬件部分总体设计根据功能要求,采用AT89C51单片机,动态显示的设计方法,同时为简化设计,减少硬件数量,显示数据的传输采用串行传输方式,列扫描地址用P1口控制,总体结构框图如下:图1-1 系统总体结构框图1.2 硬件设计系统的组成,硬件的选用,芯片的特点1.2.1 8051系列的单片机AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

图片见下图:图 1-2 89C51管脚图(1).管脚说明VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

1616点阵LED显示屏的原理与制作实验报告

1616点阵LED显示屏的原理与制作实验报告

16*16点阵LED显示屏的原理与制作实验报告一、实验目的1.学会LED点阵模块的引脚判别,学会多块LED点阵模块的拼接使用。

2.进一步了解LED点阵的显示原理。

3.了解用单片机控制LED点阵显示字符的基本原理。

4.学会根据电路图连接电路。

二、实验内容在4块8*8LED合并而成的16*16LED显示屏上显示名字。

三、实验过程1.显示屏驱动电路原理图2.程序编写#include<reg52.h>#define CCED2 0x0000 /*吴*/unsigned char code word_zai[16][2] = {/*吴CCED2 */0x00,0x84,0x00,0x84,0x80,0x44,0xBE,0x44,0xA2,0x24,0xA2,0x14,0xA2,0x0C,0xA 2,0x07,0xA2,0x0C,0xA2,0x14,0xA2,0x24,0xBE,0x64,0x80,0xC4,0x00,0x44,0x00,0x04,0x0 0,0x00};/*"吴",0*/void main(){ char scan,i,j;P0=0;P1=0;P2=0;while(1){ scan=0;for(i=0;i<16;i++){ P1=scan;for(j=0;j<50;j++) //显示五十次{ P2=word_zai[i][0] ;P0=word_zai[i][1] ;}P0=0;P2=0;scan++;}}}四、实验总结在本次的实验里,我感觉本次实验的任务对我的挑战蛮大,因为在实验中要编写一个C语言有点麻烦,需要算的数据比较多,一不小心的话可能就会导致最后的实验结果出现问题,所以要非常的仔细才行。

单片机课程设计--+16x16点阵LED电子显示屏的设计

单片机课程设计--+16x16点阵LED电子显示屏的设计

单片机课程设计-- 16x16点阵LED电子显示屏的设计第一章系统总体方案设计LED驱动显示采用动态扫描方法, 动态扫描方式是逐行轮流点亮, 这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。

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

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

该方法能驱动较多的LED, 控制方式较灵活, 而且节省单片机的资源。

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

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

对于串行传输方式来说, 列数据准备时间可能相当长, 在行扫描周期确定的情况下, 留给行显示的时间就太少了, 以致影响到LED的亮度。

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

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

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

对于列数据准备来说, 它应能实现串入并出的移位功能。

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

系统框图如图一图一点阵显示器硬件系统框图第二章系统硬件电路的设计硬件电路大致上可以分为单片机系统及外围电路、列驱动电路和行驱动电路三部分。

一. 单片机系统及外围电路单片机采用89C51或更高频率的晶振, 以获得较高的刷新频率, 使得显示更稳定。

LED16X16点阵实验

LED16X16点阵实验

哈尔滨理工大学单片机原理及接口技术课程设计报告设计题目: LED16*16点阵实验专业:目录1课程设计意义 (3)1.1本次课程设计的目的 (3)2.2本次课程设计的意义 (3)2设计功能 (3)3设计思路 (3)4设计步骤 (3)4.1总体设计 (3)4.2 硬件设计 (4)4.2.1 LED显示及其驱动 (4)4.2.2 可编程并行接口芯片8155 (5)4.3 软件设计 (5)4.3.1 程序框图 (6)4.3.2整体程序 (6)5调试过程 (7)5.1 硬件调试 (7)5.2 软件调试 (7)6结果分析与心得体会 (7)6.1结果分析 (7)6.2心得与体会 (8)7附录:整体程序 (8)1课程设计目的与意义1.1本次课程设计的目的1)熟悉单片机编程原理。

2)熟练掌握 51 单片机的控制电路和最小系统。

3)单片机基本应用系统的设计方法。

2.2本次课程设计的意义LED显示屏具有亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定等特点。

广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。

因此16*16LED 点阵实验的课程设计对实际的生产和生活具有非常重要的指导意义2 设计功能设计一个能显示16X16点阵图文LED显示屏,要求能显示文字,文字应稳定、清晰,文字以卷帘形式向上滚动显示“欢迎使用星研实验仪”。

3 设计思路16×16点阵LED电子显示屏的设计:能依次显示“欢迎使用星研软件”几个字符。

LED点阵中没有16X16的点阵,可以通过四个8X8的LED点阵对应的行和列分别连接起来构成16X16点阵,此时共需要32根行列控制线,对单片机来说明显不够,需要外扩I/O接口。

可以选择的芯片有8255、8155等。

设计过程中注意LED的驱动电压。

本实验单片机采用AT89C51,扩展采用74LS244N、8255A、8155A、74LS240N。

实验14LED1616点阵显示电路

实验14LED1616点阵显示电路

实验十四16*16LED点阵显示电路一. 实验目的1. 了解16*16LED点阵显示硬件电路2. 掌握状态机设计3. 掌握串行数据传输的设计思路二. 实验原理我们在一些公共场所,经常看到一些点阵显示的屏幕,点阵显示屏由若干个半导体发光二极管像素点均匀排列组成。

点阵显示就是把待显示的字符或图像等面积地分成若干个点阵单元(像素),有图像的单元点亮相应的二极管,无图像区域对应的二极管处于灭状态,整体组合成一个完整的图像,对于字符也是按照图像进行处理的。

一个字符,例如一个汉字,把它分为多少个单元,决定了其显示时的平滑程度,一般来说,在16*16的LED点阵上可以比较清晰的显示一个不太复杂的汉字。

实验箱上的有一个16*16的LED点阵,其硬件内部电路如图14.1所示。

电路中采用SPI接口的方式对LED点阵进行操作,LATTICE_SI对应SPI的MOSI,LATTICE_STR对应SPI的nCS,LATTICE_SCK对应SPI的SCK。

四个74HC595构成一个32位的串入并出的移位寄存器。

当STR低电平时,32位的数据在32个SCK时钟下由SI串行输入,当STR 由低电平变为高电平时,32位的数据并行输出。

在主板上数据输出LDA~LDP对应16行,而LED1~LED16对应列,最后移入的数据被当做16列(LED16),最先移入的数据被当做第1行(LDA)。

在这里我们需要明确的是:1.一屏图像可以逐行扫描显示,也可以逐列扫描显示,本实验采取逐列扫描显示,即把显示整屏的时间分为16个时间段,第n个时间段显示第n列,点亮该列相应的LED单元。

2.若扫描显示某列,需要片选该列的列单元(低电平),例如显示第1列,需要把列1置为低电平,其它列为高电平。

如果该列的某一行对应的单元亮,则该行对应的电平为高电平,不亮的单元对应的行为低电平。

3.不论显示那一列,对于16*16 的点阵来说,都要在STR低电平时通过SI线串行送出32位的数据,先送某一列上的由上至下的16个点的数据,然后再送由左至右的该列对应的片选数据。

1616点阵课程设计

1616点阵课程设计

1616点阵课程设计一、教学目标本课程的教学目标是使学生掌握1616点阵的基本概念、原理和应用方法。

通过本课程的学习,学生将能够:1.知识目标:了解1616点阵的起源、发展历程和基本原理;掌握1616点阵的构成要素、分类和特点;理解1616点阵在各个领域的应用。

2.技能目标:能够运用1616点阵的基本原理解决实际问题;具备分析、设计和优化1616点阵的能力;熟练使用相关软件工具进行1616点阵的编程和实现。

3.情感态度价值观目标:培养学生的创新意识和团队合作精神,提高学生对1616点阵技术的兴趣和热情,使学生认识到1616点阵技术在我国经济社会发展中的重要地位和作用。

二、教学内容本课程的教学内容主要包括以下几个部分:1.1616点阵的基本概念:介绍1616点阵的定义、起源和发展历程。

2.1616点阵的原理:讲解1616点阵的构成要素、分类和特点。

3.1616点阵的应用:介绍1616点阵在各个领域的应用实例,如通信、计算机科学、生物信息学等。

4.1616点阵的编程与实现:教授如何使用相关软件工具进行1616点阵的编程和实现,培养学生的实际操作能力。

三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:教师通过讲解1616点阵的基本概念、原理和应用,引导学生掌握课程知识。

2.案例分析法:通过分析实际案例,使学生更好地理解1616点阵在各个领域的应用。

3.实验法:学生进行实验,让学生亲自动手操作,提高学生的实践能力。

4.讨论法:鼓励学生积极参与课堂讨论,培养学生的思考能力和团队协作精神。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将采用以下教学资源:1.教材:选用国内权威出版社出版的《1616点阵技术与应用》作为主教材。

2.参考书:推荐学生阅读《1616点阵原理与应用》、《1616点阵编程实践》等参考书。

3.多媒体资料:制作课件、教学视频等多媒体资料,以直观展示1616点阵的相关概念和实例。

16×16点阵LED显示屏设计

16×16点阵LED显示屏设计

单片机技术课程设计说明书设计课题:16×16点阵LED显示屏专业(系):电气工程系班级:检测电子班学生姓名:学号:指导老师:20**年4月24日目录1、绪论 (3)1.1 MCS-51系列单片机简介 (3)1.2 单片机的应用模式和应用领域 (4)1.3 主要工作任务 (5)2、硬件设计 (6)2.1系统硬件电路的设计 (6)3、软件设计 (9)3.1系统程序的设计 (9)3.2显示驱动程序 (10)3.3系统主程序设计 (11)3.4调试及性能分析 (11)3.5控制程序清单 (12)4、点阵字模软件的使用 (20)5、结论 (25)1绪论单片机(Single-Chip-Microcomputer)又称微控制器(Microcontroller),最基本的结构是将CPU和计算机外围功能单元,如存储器、I/O口、定时器/计数器、中断系统等集成在一个芯片上构成的。

虽然单片机只是一个芯片,但无论从成还是功能上来看,它都具有了微机系统的特征。

1.1MCS-51系列单片机简介1971年微处理器研制成功。

1974年,美国仙童(Fairchild)公司研制出世界上第一台单片机微型计算机F8。

该机由两块集成电路芯片构成,具有与众不同的指令系统,深受民用电器及仪器仪表领域的欢迎和重视。

从此单片机开始迅速发展,应用领域也不断扩大。

1976年Intel公司推出MCS-48系列8位单片微型计算机,它以体积小、功能全、价格低等优点,赢得了广泛的应用,为单片机的发展奠定了基础。

成为单片机发展过程中的一个重要阶段。

在MCS-48成功应用的推动下,许多半导体公司和计算机公司也竞相研制和开发自己的单片机系列。

到目前为止,世界各地厂商也相继研制出大约50个系列300多个品种的单片机产品,可以满足不同领域的需要。

代表产品有Intel公司的MCS-51单片机,Motorola公司的MC6081、MC6082系列机,Zilog公司的Z-8系列机,TI公司的TMS7000系列机等,此外Rockwell、NS、GI和日本的NEC、松下、日立等公司也先后生产了自己的单片机系列。

1616led点阵课程设计

1616led点阵课程设计

1616led点阵课程设计一、课程目标知识目标:1. 理解LED点阵的基本原理,掌握其工作方式和应用场景。

2. 学习并掌握16×16LED点阵的电路连接方法和编程控制技巧。

3. 了解基础的数字逻辑和时序控制,并将其应用于LED点阵动画的创造中。

技能目标:1. 能够独立完成16×16LED点阵的电路搭建,并进行功能性测试。

2. 能够编写程序代码,实现对LED点阵的控制,展示简单的图案和文字。

3. 能够通过小组合作,设计并展示一个创意LED点阵项目。

情感态度价值观目标:1. 培养学生的创新意识和动手实践能力,激发对电子制作的兴趣。

2. 强化学生的团队合作意识,学会在集体中共同解决问题。

3. 增强学生对科技进步的认识,培养其对社会发展的责任感。

课程性质分析:本课程设计为实践性强的学科项目,结合了电子技术、计算机编程和创意设计,旨在提高学生的技术素养和创新能力。

学生特点分析:考虑到学生所在年级,已有一定的物理和数学基础,对电子元件和编程有初步认识,求知欲强,喜欢动手操作和团队协作。

教学要求:1. 教学内容与课本知识紧密结合,注重理论与实践的结合。

2. 教学过程中鼓励学生自主探索和小组讨论,培养学生的自主学习能力。

3. 教学评价关注学习过程和成果,强调知识技能的掌握以及情感态度价值观的培养。

二、教学内容1. LED点阵原理:讲解LED点阵的结构、工作原理及特性,涉及光的发射、导电特性等基础物理知识。

- 相关教材章节:第二章“半导体器件”,第三节“发光二极管”。

2. 电路连接与搭建:介绍16×16LED点阵的电路连接方法,指导学生进行实际操作。

- 相关教材章节:第三章“电子电路基础”,第四节“数字电路连接”。

3. 编程控制:学习如何通过编程实现对LED点阵的控制,包括编程语言基础、时序控制等。

- 相关教材章节:第五章“微控制器及应用”,第二节“微控制器编程基础”。

4. 动画制作:教授如何设计LED点阵动画,包括静态图案、动态效果等。

16乘16LED点阵电子显示屏课程设计

16乘16LED点阵电子显示屏课程设计

目录1任务和要求 (1)2设计思想与原理 (1)2.1设计思想 (1)2.2 设计原理 (1)3 流程图 (3)4硬件电路图 (4)5仿真图 (5)6课程设计心得 (8)7参考文献 (8)8致谢 (8)9附录: (9)1任务和要求1.设计一个可供6-8组参赛队的智力竞赛抢答器,每组设置一个抢答按钮。

2.电路具有第一抢答信号的鉴别和锁存功能。

即保持该信号不变,同时使后输入的信号无效。

3.在发出“抢答开始”命令后计时,规定的抢答时间到后无人抢答,发出“抢答时间到”信号,并锁定输入电路,使各路抢答信号无法再输入。

4.设置计分电路,每组预置为100分或其他,答对一次加10分,答错减10分(此项可选)。

2设计思想与原理2.1设计思想我的设计思路是竞赛抢答器要有报警系统,要是在规定时间内还没有参赛者抢答或回答出问题时就会发出报警声,倒计时为设定为30S。

并且如果出现犯规抢答时也会发出报警并且显示该犯规选手的编号。

这个抢答器可同时供不大于8名选手或8个代表队参加比赛,各用一个抢答按钮,按钮的编号与选手的编号是相对应的,分别是S1、S2、S3、S4、S5、S6、S7、S8;给节目主持人设置二个控制按钮开关,用来控制系统的清零和抢答的开始;该八路抢答器具有程序存储、数据锁存和显示功能,抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在数码管上显示出选手的编号,参赛选手在设定的时间内抢答有效,定时器停止工作,显示器上显示选手的编号和抢答时刻的时间,并保持到主持人将系统清零;如果定时抢答30S后,却没有选手抢答时,系统持续报警,直到定时抢答的时间为零,本次抢答无效,并封锁输入电路,禁止选手超时后抢答,时间显示器上显示FFF 犯规处理:如果主持人没按"开始"键,就有选手抢答,则显示选手编码,并持续报警。

如果已经有选手抢答了,别的选手则按键无效。

直到主持人重新复位按下开始键为止。

主持人可以根据不同的问答方式设定不同的抢答时间和回答时间。

单片机课程设计16×16点阵LED电子显示屏的设计

单片机课程设计16×16点阵LED电子显示屏的设计

单片机原理及应用课程设计报告书题目:16×16点阵LED电子显示屏的设计姓名:马超学号:P091812933专业:电气工程及其自动化指导老师:马慧兰16*16点阵设计摘要单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。

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

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

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

LED显示屏分为图文显示屏和视频显示屏,均由LED矩阵块组成。

LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。

LED 之所以受到广泛重视而得到迅速发展,是与它本身所具有的优点分不开的。

这些优点概括起来是:亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。

LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。

现代LED的发展很快,很多研究领域非常已经深刻,所以想利用自己学的单片机知识简单的研究一下用单片机驱动的LED显示汉字,以达到学以致用和实践相结合的目的,同时巩固加深自己的单片机知识。

用点阵方式构成图形或文字,是非常灵活的,可以根据需要任意组合和变化,只要设计好合适的数据文件,就可以得到满意的显示效果。

因而采用点阵式图文显示屏显示经常需要变化的信息,是非常有效的。

点阵大小可以有16×16、24×24、32×32、48×48等不同规格,也有单色、双色、和多色几种,最常用的是单色图文屏。

单色屏多使用红色或橘红色或橙色LED点阵单元。

双色图文屏和多色图文屏,在LED点阵的每一个“点”上布置有两个或多个不同颜色的LED发光器件。

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

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

嵌入式系统原理课程设计目录一、课程设计的目的: ............................................ 错误!未定义书签。

二、课程设计的任务 (1)三:课程设计实验原理及步骤 (1)3.1系统硬件总体设计 (2)3.2系统的软件设计 (5)四、调试 (6)五、课程设计代码 (7)六、总结 (11)七、人员分配 (11)一、课程设计的目的:通过本次课程设计实践,熟悉和掌握嵌入式系统的软件、硬件设计方法,设计步骤,提高综合应用所学知识及动手和分析问题,解决问题的能力;同时还应达到以下目的:1、了解点阵LED显示的基本工作原理和工作过程;2、熟悉cortex-M3的GPIO使用及其相关API函数;3、熟悉混合总线通信编程方法及通信格式;4、学习HD7279键盘、显示接口芯片的工作方式及应用编程;5、学习16*16LED点阵显示汉字的控制方法及应用编程。

二、课程设计的任务:设计一个波形发生器电路,通过键盘的按键,控制产生不同的波形输出;1、采用DA转换器进行数/模转换,产生连续的正弦波和锯齿波输出。

2、通过键盘的按键控制输出的波形;如:按一下一个键,输出正弦波;再按一下另一个键,输出锯齿波,如此循环。

3、使用cortex-M3的SSI模块,通过SPI模式,控制DA转换器完成转换。

提示:1)、用LM3S9B96的SSI模块,通过SPI模式,控制DA转换器完成转换。

2)、由TLV5616DA转换器芯片,实现正弦波和锯齿波输出。

3)、由HD7929键盘、显示接口芯片,进行键盘按键值的输入。

三:课程设计实验原理及步骤3.1系统硬件部分设计系统硬件部分电路大致上可以分成电源电路、单片机最小系统电路及外围电路、列扫描电路、行扫描电路和LED显示屏电路五部分。

3.1.1整体模块设计本设计行、列驱动电路,显示屏电路,运用单片机的智能化,系统的将每个功能电路模块连接在一起,总体结构设计如下图2.1所示:图2.1 系统结构设计总图总体硬件电路设计在整个电路设计中,用两片8位输出锁存移位寄存器74HC595作为列扫描,用两片74LS164芯片作为行扫描,用单片机AT89S52对74HC595和74HC164进行控制和驱动。

16乘16点阵显示综合设计报告

16乘16点阵显示综合设计报告

一、方案设计本设计大概包括时钟源、CPLD芯片,显示器。

此次实验所用的可编程逻辑器件的主芯片为EPF10K10LC84-3。

通过VHDL语言进行编程分别把程序模块进行编译仿真。

所编的十六进制计数器控制花样信号对字符库进行选择,计数器产生的花样信号和时钟信号共同控制行选信号和列选信号(列选频率一定要比字选频率大很多)把相应的值输入点阵,控制显示器显示相应的字符。

时钟源信号要高于24HZ 。

所分模块有:1、字选模块:为十六进制计数器模块,其时钟源信号要比列选信号小得多。

2、列选信号:通过给定的时钟信号用来选中列,再对列进行扫描。

3、显示模块:经过字选信号和列选信号输出十六位二进制用来显示一行。

4、顶层模块:该模块采用图形模式(图3),把所有模块按要求连接起来,再加上顶层输入信号。

二、实验原理16×16扫描LED点阵的工作原理同8位扫描数码管类似。

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

所以其扫描译码地址需4位信号线。

2864E2PROM存贮器是电可擦除/编程的只读存贮器,容量为8k×8bit ,有13位并行地址线和8位并行数据线,而一个完整的字符所需的存贮容间为32字节即32×8 bit,也就是说2864最多可连续存256个16×16点阵字形。

存贮方式可事先约定好。

本实验就是要通过CPLD芯片产生读时序,将字形从2864中读出,然后产生写时序,写入16×16的点阵,使其扫描显示输出。

三、单元电路设计1)十六进制计数器用VHDL语言十六进制计数器进行设计,程序如下:LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;ENTITY JISHU ISPORT(CLK,RST,LOAD:IN STD_LOGIC;DIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0);DOUT:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0));END JISHU;ARCHITECTURE SHILIU OF JISHU ISBEGINPROCESS(CLK,RST,LOAD,DIN)BEGINIF (CLK'EVENT AND CLK='1') THENIF(RST='1')THEN DOUT<=(OTHERS=>'0');ELSIF (LOAD='1') THEN DOUT<=DIN;ELSIF (DOUT=8) THENDOUT<="0000";ELSEDOUT<=DOUT+1;END IF;END IF;END PROCESS;END SHILIU;设计完成后,器件图如图1图1十六进制计数器2)对行列控制模块进行及字库进行设计行列控制模块进行及字库程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity zhi isport( din : in std_logic_vector(3 downto 0);selout : buffer std_logic_vector(3 downto 0);clk,rst: in std_logic;dotout : out std_logic_vector(15 downto 0));end zhi;architecture one of zhi isbeginprocess(clk,rst,din,selout)variable b:std_logic_vector(15 downto 0);beginif rst='1'then selout<="0000";elsif clk'event and clk='1' thencase din iswhen "0000"=>selout<=selout+1;case selout iswhen "1111" =>b:="0000000000000000";when "0000" =>b:="0010001000011100";when "0001" =>b:="0001000100001000";when "0010" =>b:="0000100010010000";when "0011" =>b:="0000000000100010";when "0100" =>b:="0011100001000100";when "0101" =>b:="0001000000001000";when "0110" =>b:="0001000000010000";when "0111" =>b:="0111111111100000";when "1000" =>b:="0111111111111100";when "1001" =>b:="0001000000000100";when "1010" =>b:="0001010000000100";when "1011" =>b:="0001100000000100";when "1100" =>b:="0011000000000100";when "1101" =>b:="0000000000011100";when others =>b:="0000000000000000";end case;when"0001"=>selout<=selout+1;case selout iswhen "1111" =>b:="0000000000000000";when "0000" =>b:="0000000000000000";when "0001" =>b:="0000000110000000";when "0010" =>b:="0000001100000000";when "0011" =>b:="0000011000000000";when "0100" =>b:="0000110000010000";when "0101" =>b:="0000000000001000";when "0110" =>b:="0111111111111100";when "0111" =>b:="0111111111111110";when "1000" =>b:="0000000000000000";when "1001" =>b:="0000110000000000";when "1010" =>b:="0000011000000000";when "1011" =>b:="0000001100000000";when "1100" =>b:="0000000110000000";when "1101" =>b:="0000000000000000";when others =>b:="0000000000000000";end case;when"0010"=> selout<=selout+1;case selout iswhen "1111" =>b:="0000000000000000";when "0000" =>b:="0000000000000110";when "0001" =>b:="0001100000000110";when "0010" =>b:="1001100000000110";when "0011" =>b:="1101100110000110";when "0100" =>b:="0111100110000110";when "0101" =>b:="0011100110000110";when "0110" =>b:="0001100110000110";when "0111" =>b:="0001100110000110";when "1000" =>b:="0011100110000110";when "1001" =>b:="0111100110000110";when "1010" =>b:="1101100110000110";when "1011" =>b:="1001100000000110";when "1101" =>b:="0000000000000110";when others =>b:="0000000000000000";end case;when "0011"=> selout<=selout+1;case selout iswhen "1111" =>b:="0000000000000000";when "0000" =>b:="0000000000000100";when "0001" =>b:="0000000000001100";when "0010" =>b:="0001000000011100";when "0011" =>b:="0101011011110000";when "0100" =>b:="0101011101100000";when "0101" =>b:="0101010110000000";when "0110" =>b:="1111010111111111";when "0111" =>b:="0101010111111110";when "1000" =>b:="0101010101100100";when "1001" =>b:="0101011000110000";when "1010" =>b:="0001000000011000";when "1011" =>b:="0000000000001100";when "1100" =>b:="0000000000000100";when "1101" =>b:="0000000000000000";when others =>b:="0000000000000000";end case;when"0100"=> selout<=selout+1;case selout iswhen "0000" =>b:="0000000000011000";when "0001" =>b:="0000011000110000";when "0010" =>b:="0110011011000000";when "0011" =>b:="0111111111111100";when "0100" =>b:="0111111111111110";when "0101" =>b:="0110011110000000";when "0110" =>b:="0000011011100000";when "1000" =>b:="0000000000000000";when "1001" =>b:="0000011111110000";when "1010" =>b:="0000011111100000";when "1011" =>b:="0000000000001000";when "1100" =>b:="0111111111111100";when "1101" =>b:="0111111111111110";when "1110" =>b:="0000000000000000";when others =>b:="0000000000000000";end case;when"0101"=> selout<=selout+1;case selout iswhen "0000" =>b:="0000000000000000";when "0001" =>b:="0000111000000010";when "0010" =>b:="0000111000000110";when "0011" =>b:="0000100110001000";when "0100" =>b:="0000100110010110";when "0101" =>b:="0000100110101110";when "0110" =>b:="0110100111010110";when "0111" =>b:="0110101110100110";when "1000" =>b:="0110100110000110";when "1001" =>b:="0000100110010110";when "1010" =>b:="0000100110001110";when "1011" =>b:="0000100110000110";when "1100" =>b:="0000111000000110";when "1101" =>b:="0000111000000010";when "1110" =>b:="0000000000000000";when others =>b:="0000000000000000";end case;when"0110"=> selout<=selout+1;case selout iswhen "1111" =>b:="0000000000000000";when "0000" =>b:="0000000000000010";when "0010" =>b:="0110000110000110";when "0011" =>b:="0110000110000110";when "0100" =>b:="0110000110000110";when "0101" =>b:="0110000110000110";when "0110" =>b:="0111111111111110";when "0111" =>b:="0111111111111110";when "1000" =>b:="0110000110000110";when "1001" =>b:="0110000110000110";when "1010" =>b:="0110000110000110";when "1011" =>b:="0110000110000110";when "1100" =>b:="0110000000000110";when "1101" =>b:="0000000000000010";when others =>b:="0000000000000000";end case;when "0111"=> selout<=selout+1;case selout iswhen "0000" =>b:="0000000000100100";when "0001" =>b:="0010001000011000";when "0010" =>b:="0010010100011000";when "0011" =>b:="0010110010100100";when "0100" =>b:="0011000001001010";when "0101" =>b:="0010010010101010";when "0110" =>b:="0010010010101010";when "0111" =>b:="0010010010101010";when "1000" =>b:="0111111111111110";when "1001" =>b:="0010010010101010";when "1010" =>b:="0010010010101010";when "1011" =>b:="0010010010101010";when "1100" =>b:="0011111110001010";when "1101" =>b:="0000010000001010";when "1110" =>b:="0000010000000010";when others =>b:="0000000000000000";end case;when"1000"=> selout<=selout+1;case selout iswhen "0000" =>b:="0000000001111100";when "0001" =>b:="0000100011000000";when "0010" =>b:="0010100100100000";when "0011" =>b:="0010101000010000";when "0100" =>b:="0111111111001000";when "0101" =>b:="0010100100000100";when "0110" =>b:="0010100100000010";when "0111" =>b:="0000100000000010";when "1000" =>b:="0000000000000010";when "1001" =>b:="0100010001110010";when "1010" =>b:="0100100010001010";when "1011" =>b:="0101000010001010";when "1100" =>b:="0110010010001010";when "1101" =>b:="0111111001110010";when "1110" =>b:="0000000000000000";when others =>b:="0000000000000000";end case;when"1001"=>selout<=selout+1;case selout iswhen "1111" =>b:="0000111100001111";when "0000" =>b:="0000111100001111";when "0001" =>b:="0000111100001111";when "0010" =>b:="0000111100001111";when "0011" =>b:="1111000011110000";when "0100" =>b:="1111000011110000";when "0101" =>b:="1111000011110000";when "0110" =>b:="1111111111110000";when "0111" =>b:="0000111100001111";when "1000" =>b:="0000111100001111";when "1001" =>b:="0000111100001111";when "1010" =>b:="0000111100001111";when "1011" =>b:="1111000011110000";when "1101" =>b:="1111000011110000";when "1110" =>b:="1111000011110000";when others =>null;end case;when"1010"=>selout<=selout+1;case selout iswhen "1111" =>b:="1111000011110000";when "0000" =>b:="1111000011110000";when "0001" =>b:="1111000011110000";when "0010" =>b:="1111000011110000";when "0011" =>b:="0000111100001111";when "0100" =>b:="0000111100001111";when "0101" =>b:="0000111100001111";when "0110" =>b:="0000111100001111";when "0111" =>b:="1111000011110000";when "1000" =>b:="1111000011110000";when "1001" =>b:="1111000011110000";when "1010" =>b:="1111000011110000";when "1011" =>b:="0000111100001111";when "1100" =>b:="0000111100001111";when "1101" =>b:="0000111100001111";when "1110" =>b:="0000111100001111";when others =>null;end case;when"1011"=>selout<=selout+1;case selout iswhen "1111" =>b:="0000000011111111";when "0000" =>b:="0000000011111111";when "0001" =>b:="0000000011111111";when "0010" =>b:="0000000011111111";when "0011" =>b:="0000000011111111";when "0100" =>b:="0000000011111111";when "0101" =>b:="0000000011111111";when "0111" =>b:="1111111100000000";when "1000" =>b:="1111111100000000";when "1001" =>b:="1111111100000000";when "1010" =>b:="1111111100000000";when "1011" =>b:="1111111100000000";when "1100" =>b:="1111111100000000";when "1101" =>b:="1111111100000000";when "1110" =>b:="1111111100000000";when others =>null;end case;when"1100"=> selout<=selout+1;case selout iswhen "1111" =>b:="1111111100000001";when "0000" =>b:="0111111100000011";when "0001" =>b:="0011111100000111";when "0010" =>b:="0001111100001111";when "0011" =>b:="0000111100011111";when "0100" =>b:="0000011100111111";when "0101" =>b:="0000001101111111";when "0110" =>b:="0000000111111111";when "0111" =>b:="1111111110000000";when "1000" =>b:="1111111011000000";when "1001" =>b:="1111110011100000";when "1010" =>b:="1111100011110000";when "1011" =>b:="1111000011111000";when "1100" =>b:="1110000011111100";when "1101" =>b:="1100000011111110";when "1110" =>b:="1000000011111111";when others =>null;end case;when"1101"=> selout<=selout+1;case selout iswhen "0000" =>b:="1111111111111111";when "0001" =>b:="1111110011111111";when "0010" =>b:="1111000011111111";when "0011" =>b:="1110000011111111";when "0100" =>b:="1111100011111111";when "0101" =>b:="1111110011001111";when "0110" =>b:="1111111001000111";when "0111" =>b:="1100000000000011";when "1000" =>b:="1110001100111111";when "1001" =>b:="1110011100011111";when "1010" =>b:="1111111100000111";when "1011" =>b:="1111111100001111";when "1100" =>b:="1111111100111111";when "1101" =>b:="1111111111111111";when "1110" =>b:="1111111111111111";when others =>null;end case;when"1110"=> selout<=selout+1;case selout iswhen "1111" =>b:="1111111111111111";when "0000" =>b:="1111111111111111";when "0001" =>b:="1111111111111111";when "0010" =>b:="1111111111111111";when "0011" =>b:="1111000000001111";when "0100" =>b:="1111011100001111";when "0101" =>b:="1111001101101111";when "0110" =>b:="1111000111101111";when "0111" =>b:="1111011110001111";when "1000" =>b:="1111011011001111";when "1001" =>b:="1111000011101111";when "1010" =>b:="1111000000001111";when "1011" =>b:="1111111111111111";when "1100" =>b:="1111111111111111";when "1110" =>b:="1111111111111111";when others =>null;end case;when"1111"=> selout<=selout+1;case selout iswhen "1111" =>b:="1111111111111111";when "0000" =>b:="1111111111111111";when "0001" =>b:="1111111111111111";when "0010" =>b:="1111111111111111";when "0011" =>b:="1111111111111111";when "0100" =>b:="1111111111111111";when "0101" =>b:="1111111111111111";when "0110" =>b:="1111111111111111";when "0111" =>b:="1111111111111111";when "1000" =>b:="1111111111111111";when "1001" =>b:="1111111111111111";when "1010" =>b:="1111111111111111";when "1011" =>b:="1111111111111111";when "1100" =>b:="1111111111111111";when "1101" =>b:="1111111111111111";when "1110" =>b:="1111111111111111";when others =>null;end case;when others=>null;end case;end if;dotout<=b;end process;end one;设计完成后,该模块器件图如图2图2 行列控制模块四、总原理图把十六进制计数器和行列控制模块连接成一个器件,总原理图如图3图3 总原理图其引脚图如图4图4 总器件引脚图图5为部分字符仿真波形,如下图5 部分字符仿真波形五、结论16×16点阵显示综合设计基本符合要求。

16x16的点阵LED图文显示屏设计报告

16x16的点阵LED图文显示屏设计报告

单片机原理及应用课程设计报告书题目:16×16点阵LED电子显示屏的设计姓名:学号:专业:电气工程及其自动化指导老师:设计时间:目录1. 引言 (1)1.1. 设计意义 (1)1.2. 系统功能要求 (1)1.3. 本组成员所做的工作 (1)2. 方案设计 (2)3. 硬件设计 (3)4. 软件设计 (6)5. 系统调试 (8)6. 设计总结 (9)7. 附录A;源程序 (9)8. 附录B;作品实物图片 (14)9. 参考文献 (16)16×16点阵LED室内电子显示屏的设计摘要:LED显示屏作为一种新型的显示器件,是由多个发光二极管按矩阵形式排列封装而成,通常用来显示时间、图文等信息。

本设计是基于ATS52单片机的16x16显示屏,其中包含了硬件、软件、调试等方案的设计。

此外、该设计只需简单的级联就能实现显示屏的拓展,但级联时要注意不要超过驱动负载范围。

关键词:Ats52;LED;单片机1引言1.1. 设计意义LED显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。

图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维动画、录像、电视、VCD节目以及现场实况。

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

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

1.2. 系统功能要求设计一个能显示16X16点阵图文LED显示屏,要求能显示图文或文字,显示图文或文字应稳定、清晰,图文或文字显示,以卷帘形式向上滚动显示。

1.3. 本组成员所做的工作方案原理论证:汪航,李如发,杜绍飞焊接:汪航调试:李如发设计报告:杜绍飞2方案设计2.1 总体设计2.2图文显示一般有静态和动态显示两种方案,静态方案虽然设计简单,但其使用的管脚太多,如本设计中16x16的点阵共有256个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口,按8位的锁存器来计算,16x16的点阵需要256/8=32个锁存器。

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

课程设计IV设计说明书LED16*16点阵显示设计学生姓名学号班级成绩指导教师数学与计算机科学学院2013年月日课程设计任务书专业:学号:姓名:课程设计名称:课程设计IV﹙10171010﹚设计题目:LED16*16点阵显示设计完成期限:自2013 年9 月 2 日至2013 年9 月14 日共 2 周设计依据要求及主要内容一、目的任务:依据实验器材提供的功能,利用并行接口芯片8255A和LED点阵模块显示字符,用取模软件建立标准字库,并编制程序实现点阵循环左移显示汉字。

二、设计内容:1. 复习相关课程内容:微机原理及应用课程相关内容;汇编语言程序设计的相关内容;熟悉模拟电路、数字电路的相关知识;2. 熟悉实验相关器材的主要功能。

3. 在上述基础上,根据课程设计的基本要求,完成以下各项任务(反映在设计说明书中):(1)题目要求涉及的硬件电路图及摘要说明。

(2)题目的工作原理及相应描述。

(3)程序流程框图。

三、设计要求:1.软件程序文档();2.硬件电路图(用专业软件);3.完成实验;4.完成设计说明书。

课程设计评阅评语:指导教师签名:年月日摘要利用微机接口芯片8255,并行控制LED点阵显示;其次就是掌握8088微机系统与LED点阵显示模块之间接口电路设计及编程,了解LED点阵显示的基本原理和如何来实现汉字的的循环左移显示。

在控制板MC1上以并行通信的方式控制LED点阵显示。

要求自建字库,编制程序实现点阵循环左移显示汉字;关键词:芯片;并行;循环目录1. 设计目的 (1)2. 设计内容 (2)3. 硬件电路设计 (3)3.1 8255 (3)3.2 138译码器 (3)3.3 371锁存器 (3)3.4 LED动态显示原理 (3)3.5 整个系统的仿真电路图 (6)4. 字模生成 (7)5. 程序设计 (8)5.1 程序设计整体思路 (8)5.2 程序流程图 (8)5.3 源程序 (10)6. 系统功能测试 (13)6.1 实物测试 (13)6.2 仿真测试 (13)7. 总结 (14)参考文献 (15)本次课程设计目的剖析试验箱,利用微机接口芯片8255,并行控制LED点阵显示;其次就是掌握8088微机系统与LED点阵显示模块之间接口电路设计及编程,了解LED 点阵显示的基本原理和如何来实现汉字的的循环左移显示。

利用598H试验系统扩展接口CZ7座,在控制板MC1上以并行通信的方式控制LED 点阵显示。

要求自建字库,编制程序实现点阵循环左移显示汉字,并要求通过protues 仿真软件画出电路图,运行程序。

3. 硬件电路设计整个电路由8088CPU,两片8255,1个74ls373,1个74LS138,1个16×16的LED,5个7407。

该电路可静态显示1个16*16位的汉字,也可循环显示。

3.1 8255Intel8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”,是为Intel8080/8085系列微处理据设计的,也可用于其它系列的微机系统。

可由程序来改变其功能,通用性强、使用灵活。

通过8255A,CPU可直接同外设相连接,是应用最广的并行I/O接口芯片。

其中含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力。

可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。

3.2 138译码器译码器是组合逻辑电路的一个重要的器件,74LS138的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门,74LS138与前面不同,其有使能端,故使能端必须加以处理,否则无法实现需要的逻辑功能。

发光二极管点亮只须使其正向导通即可,根据LED的公共极是阳极还是阴极分为两类译码器,即针对共阳极的低电平有效的译码器;针对共阴极LED的高电平输出有效的译码器。

3.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被锁存在已建立的数据电平。

3.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点阵,用于本次设计。

首先,从Proteus7.5的元件库中找到“MATRIX-8X8-RED”元器件,并将四块该元器件放入Proteus文档区编辑窗口中。

此时需要注意,如果该元器件保持初始的位置(没有转动方向),我们要首先将其左转90°,使其水平放置,那么此时它的左面8个引脚是其行线,右边8个引脚是其列线(当然,如果你是将右转,则右边8个引脚是行线)。

然后我们将四个元器件对应的行线和列线分别进行连接,使每一条行线引脚接一行16个LED,列线也相同。

并注意要将行线和列线引出一定长度的引脚,以便下面我们使用。

连接好的16×16点阵如图3.2所示。

成如上图的16×16点阵只是第一步,这样分开的数块并不能达到好的显示效果,下面我们要将其进一步组合。

组合实际上很简单,首先选中如上图中右侧的两块8×8点阵,然后拖动并使其与左侧的两块相并拢,如图3.3所示。

图3.2 点阵模块组合图3.3可以看到原来的连线已经自动隐藏了,至于线上的交点,我们不要去动。

然后,我们再来最后一步,选中下侧的两块点阵,并拖动使其与上侧的两块并拢,最后的效果如图3.4所示。

看到,原来杂乱的连线现在已经几乎全部隐藏了,一块16×16的LED点阵做成了。

需要注意,做成的LED点阵的行线为左侧的16个引脚,下侧的16个引脚为其列线,而且其行线为高电平有效,列线为低电平有效。

然后,我们将其保存,以便以后使用。

图3.43.5 整个系统的仿真电路图图3.54. 字模生成文字的字模是一组数字,但它的意义却与数字的意义有着根本的变化,它是用数字的各位信息来记载英文或汉字的形状[1。

在电脑硬件中,根本没有汉字这个概念,也没有英文的概念,其认识的概念只有——内码(将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。

而剩下的低128位则留给英文字符使用,即英文的内码)。

如果你用启动盘启动系统后用DIR命令可能得到一串串莫名其妙的字符,但那确确实实是汉字,如果你启动UCDOS或其他的汉字系统后,就会看到那是一个个熟悉的汉字。

在硬件系统内,英文的字模信息一般固化在ROM里,即使在没有进入系统的CMOS里,也可以让你看到英文字符。

而在DOS下,中文的字模信息一般记录在汉字库文件里(将制作好的字模放到一个个标准的库中,这就是点阵字库文件)。

在通过软件实现的技术中,目前有许多字模生成软件,软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到我们的程序中即可。

在通过硬件实现字模提取的技术中,有在系统中增加硬汉字库的方法,主控器发送的汉字是其机内码,用两个字节来表示一个汉字。

根据机内码,显示单元控制模块从汉字库中查取显示字模,实现汉字显示。

由于带有硬汉字库,进行动态文字显示时,通用智能显示单元仅接受汉字的机内码即可,这样数据通讯量大大减少。

因此,“动态文字显示速度快”。

5. 程序设计5.1 程序设计总体思路用简短的汇编程序设计,实现LED点阵显示内容,并使显示的内容在屏幕上从左到右的滚动显示。

系统采用模块化结构,包括主程序、显示子程序和循环扫描显示子程序。

用8088、74LS373、74LS138、7407芯片和1个16×16LED点阵显示器构成一个完整的16位点阵LED显示系统。

5.2 程序流程图程序主要由开始、初始化、主程序、子程序、字库组成(源程序详见附录)。

其中主程序和子程序的流程图为:图5.1循环扫描显示子程序流程图字库为:DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H DB 01H,00H,00H,80H,00H,60H,0FFH,0F8H,00H,07H,00H,00H,00H,04H,79H,24H ;信DB 49H,24H,49H,25H,49H,26H,49H,24H,49H,24H,79H,24H,00H,04H,00H,00HDB 40H,00H,30H,00H,00H,00H,03H,0FCH,39H,54H,41H,54H,41H,56H,45H,55H ;息DB 59H,54H,41H,54H,41H,54H,73H,0FCH,00H,00H,08H,00H,30H,00H,00H,00HDB 20H,00H,20H,04H,20H,04H,20H,04H,20H,04H,20H,04H,20H,04H,3FH,0FCH ;工DB 20H,04H,20H,04H,20H,04H,20H,04H,20H,04H,20H,04H,20H,00H,00H,00HDB08H,24H,06H,24H,01H,0A4H,0FFH,0FEH,01H,23H,06H,22H,40H,00H,49H,3EH ;程DB 49H,22H,49H,22H,7FH,22H,49H,22H,49H,22H,49H,3EH,41H,00H,00H,00HDB 04H,40H,04H,30H,04H,11H,04H,96H,04H,90H,44H,90H,84H,91H,7EH,96H ;学DB 06H,90H,05H,90H,04H,98H,04H,14H,04H,13H,04H,50H,04H,30H,00H,00HDB00H,00H,0FFH,0FEH,04H,22H,08H,5AH,07H,86H,80H,10H,41H,0CH,31H,24H ;院DB 0FH,24H,01H,25H,01H,26H,3FH,24H,41H,24H,41H,14H,71H,0CH,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H 5.3 源程序PA EQU 0040H ;行代码1PB EQU 0042H ;行代码2PCTL EQU 0046H ;行8255控制口地址XPA EQU 0048H ;列扫描1XPB EQU 004AH ;列扫描2XPCTL EQU 004EH ;列8255控制口地址DATA SEGMENT A T 0ORG 2DB0HFL DB ? ;选择列扫描R0 DW ? ;数据地址偏移量R6 DW ? ;扫描存储单元R1 DB ? ;列扫描通道选择DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TAORG 2DC0HSTART:MOV DX,XPCTLMOV AL,80HOUT DX,AL ;选择8255个端口工作方式MOV DX,PCTLOUT DX,ALCALL OFFLEDMOV AL,00H ;数据初始化MOV FL,ALMOV R6,0048HX0: MOV R0,0000HX1: CALL DEL1INC R0INC R0 ;R0+2CMP R0,00E0H ;304JNZ X1JMP X0DISPW:PUSH R0 ;LED点阵显示MOV R1,01HDISP1:MOV AX,R0MOV BX,OFFSET TABADD BX,AXMOV AL,CS:[BX]MOV DX,PBOUT DX,AL ;行代码1输入INC R0MOV AX,R0MOV BX,OFFSET TABADD BX,AXMOV AL,CS:[BX]MOV DX,PAOUT DX,AL ;行代码2输入MOV DX,R6MOV AL,R1NOT ALOUT DX,AL ;列扫描MOV CX,0010H ;循环128次LOOP $CALL OFFLEDINC R0RCL R1,1 ;扫描信号左移8次JNC DISP1CMP FL,00HJNZ EXITINC FLCLC ;标志位CF清零MOV R1,01HMOV R6,004AH ;切换到列扫描2JMP DISP1EXIT: MOV R6,0048H ;切换到列扫描1 MOV FL,00HPOP R0RETOFFLED: MOV DX,XPA ;灭灯MOV AL,0FFHOUT DX,ALMOV DX,XPBOUT DX,ALRETDEL1: MOV CX,0020H ;计数32次CON1: PUSH CXCALL DISPWPOP CXLOOP CON1RETTAB:DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H DB 01H,00H,00H,80H,00H,60H,0FFH,0F8H,00H,07H,00H,00H,00H,04H,79H,24H ;信DB 49H,24H,49H,25H,49H,26H,49H,24H,49H,24H,79H,24H,00H,04H,00H,00HDB 40H,00H,30H,00H,00H,00H,03H,0FCH,39H,54H,41H,54H,41H,56H,45H,55H ;息DB 59H,54H,41H,54H,41H,54H,73H,0FCH,00H,00H,08H,00H,30H,00H,00H,00HDB 20H,00H,20H,04H,20H,04H,20H,04H,20H,04H,20H,04H,20H,04H,3FH,0FCH ;工DB 20H,04H,20H,04H,20H,04H,20H,04H,20H,04H,20H,04H,20H,00H,00H,00HDB 08H,24H,06H,24H,01H,0A4H,0FFH,0FEH,01H,23H,06H,22H,40H,00H,49H,3EH ;程DB 49H,22H,49H,22H,7FH,22H,49H,22H,49H,22H,49H,3EH,41H,00H,00H,00HDB 04H,40H,04H,30H,04H,11H,04H,96H,04H,90H,44H,90H,84H,91H,7EH,96H ;学DB 06H,90H,05H,90H,04H,98H,04H,14H,04H,13H,04H,50H,04H,30H,00H,00HDB 00H,00H,0FFH,0FEH,04H,22H,08H,5AH,07H,86H,80H,10H,41H,0CH,31H,24H ;院DB 0FH,24H,01H,25H,01H,26H,3FH,24H,41H,24H,41H,14H,71H,0CH,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00HCODE ENDSEND START六、系统功能测试6.1 实物测试通过分析程序,了解LED点阵汉字循环循环左移的显示方法,自建字库,很成功的完成了实物测试,达到了预期的要求。

相关文档
最新文档