51单片机项目教程项目 18 8乘8点阵显示爱心

合集下载

单片机课程设计-8x8LED点阵显示的技术

单片机课程设计-8x8LED点阵显示的技术

郑州科技学院《单片机》课程设计题目8x8LED点阵显示的技术学生姓名X X X专业班级电气工程及其自动化X班学号XXXXXX院(系)电气工程学院指导教师X X完成时间2015 年XX 月X 日目录1 设计目的 (3)2 设计任务及要求 (3)3 设计方案 (3)4 设计原理及功能说明 (4)5 元器件的介绍及选用 (5)6单元电路设计说明 (9)7 硬件的焊接与调试 (11)7.1元器件焊接 (11)7.2电路调试 (12)8 软件介绍 (13)9 设计总结 (14)参考文献 (16)附录1:总体电路原理图 (17)附录2:实物图 (18)附录3:元器件清单 (19)1 设计目的为了进一步巩固学习的理论知识,增强学生对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期一周的单片机课程设计。

通过实际操作使我们在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。

单片机课程设计的目的是培养我们综合设计的能力,训练学生灵活应用所学知识,独立完成问题分析、总体设计和编程实现等软硬件开发全过程的综合实践能力。

巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的学习作风。

为今后学习其他计算机课程打下基础。

课程设计为学生提供了一个既动手又动脑,独立实践的机会,将书本上的理论知识和工作、生产实际有机结合起来,从而锻炼学生分析问题、解决实际问题的能力,提高学生的编程能力和创新意识。

2 设计任务及要求利用8x8点阵显示屏,自己设计、焊接并调试电路板,实现单片机的控制下,点阵显示“电子设计”,显示方式分别为左右滚动显示、上下滚动显示。

系统功能说明:系统在正常工作模式下为上下左右循环显示“滚动光柱”,当按下复位开关时点阵显示屏开始上下左右各三次循环显示。

在点阵显示过程中按下复位开关后单片机复位,程序从新开始。

3 设计方案本设计采用STC89C52单片机作为主控制器,外部加数码管显示。

8X8_LED点阵显示的设计

8X8_LED点阵显示的设计

摘要单片机是计算机技术、大规模集成电路技术和控制技术的综合产物。

经过30多年的发展历程,单片机应用已十分广泛和深入。

所以可以毫不夸张地说,任何设备和产品的自动化、数字化和智能化都离不开单片机。

现在,凡是电脑控制的设备和产品,必有单片机嵌入其中。

这一切表明,单片已成为人类生活中不可或缺的助手。

随着单片机应用的日益广泛,利用单片机控制汉字显示屏被广泛地应用与汽车报站器,广告屏等领域。

本文详细介绍了基于51单片机的LED显示屏控制系统的显示原理,对8*8点阵汉字进行显示,显示屏由1个8*8的LED点阵模块LED。

系统仿真利用PORTEUS 仿真软件和KEIL软件的联调对LED点阵显示屏系统进行调试,并用Protel 99进行PCB布线,制版。

关键词:LED点阵显示屏单片机PROTEUS仿真PCB布线及制版目录第1章系统概述设计任务及目的 (3)第2章系统硬件设计与分析电源电路 (4)复位电路 (4)主体电路 (5)硬件电路连线 (5)显示部分 (5)第3章单片机的配置及简介单片机介绍 (7)单片机系统设计 (9)单片机的发展趋势 (10)第4章系统软件设计数字的编码 (11)字母的编码 (12)程序流程图 (14)完整程序 (15)第5章有关软件的介绍PROTE电路设计及PCB图制作 (18)Keil C51 介绍及使用 (19)烧录器的简介及调试 (20)第6章结束语 (21)参考文献 (21)附图一原理图 (22)附图二PCB图 (23)第1章系统概述LED点阵显示系统中各模块的显示方式有静态和动态显示两种。

静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的脉冲信号,反复循环以上操作,就可显示各种图形或文字信息。

本文将介绍一种采用单片机AT89S51进行控制的8*8LED点阵。

51单片机8X8点阵滚动显示 - C51源代码

51单片机8X8点阵滚动显示 - C51源代码

51单片机8X8点阵滚动显示- C51源代码51单片机8X8点阵滚动显示- C51源代码/*--------------------------------------------------------------*///LED8*8滚动显示//列扫描,低电平有效/*--------------------------------------------------------------*///包含头文件#include <reg52.h>#include "74HC595.H"/*--------------------------------------------------------------*///全局变量定义unsigned char i;unsigned int m,n;/*--------------------------------------------------------------*///代码库#define num sizeof(table) //代码长度unsigned char codeaa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char code table[]= {//取模方式阴码列扫描逆向0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",0*/0x00,0x7F,0x7F,0x39,0x6F,0x46,0x00,0x00,/*"R",1 */0x00,0x41,0x7F,0x7F,0x41,0x00,0x00,0x00,/*"I",2 */0x00,0x3E,0x7F,0x41,0x63,0x22,0x00,0x00,/*"C",3 */0x00,0x7F,0x7F,0x08,0x7F,0x7F,0x00,0x00,/*"H",4 */0x00,0x7F,0x7F,0x06,0x7F,0x7F,0x00,0x00,/*"M",5 */0x00,0x3E,0x7F,0x41,0x63,0x22,0x00,0x00,/*"C",6 */0x00,0x3F,0x7F,0x40,0x7F,0x3F,0x00,0x00,/*"U",7 */0x00,0x36,0x7F,0x49,0x7F,0x36,0x00,0x00,/*"8",9 */0x00,0x63,0x7F,0x1C,0x7F,0x63,0x00,0x00,/*"X",1 0*/1*/0x00,0x01,0x7F,0x7F,0x01,0x01,0x00,0x00,/*"T",1 3*/0x00,0x7F,0x7F,0x49,0x49,0x41,0x00,0x00,/*"E",1 4*/0x00,0x26,0x6F,0x49,0x7B,0x32,0x00,0x00,/*"S",1 5*/0x00,0x01,0x7F,0x7F,0x01,0x01,0x00,0x00,/*"T",1 6*/0x00,0x7F,0x7F,0x39,0x6F,0x46,0x00,0x00,/*"R",1 8*/0x00,0x61,0x79,0x5D,0x4F,0x43,0x00,0x00,/*"Z",1 9*/0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x00,/*"-",2 0*/0x00,0x62,0x73,0x59,0x4F,0x46,0x00,0x00,/*"2",2 1*/0x00,0x3E,0x7F,0x41,0x7F,0x3E,0x00,0x00,/*"0",2 2*/0x00,0x3E,0x7F,0x41,0x7F,0x3E,0x00,0x00,/*"0",2 3*/4*/0x00,0x7F,0x7F,0x41,0x7F,0x3E,0x00,0x00,/*"D",2 6*/0x00,0x7F,0x7F,0x49,0x49,0x41,0x00,0x00,/*"E",2 7*/0x00,0x7F,0x7F,0x06,0x7F,0x7F,0x00,0x00,/*"M",2 8*/0x00,0x7F,0x7F,0x41,0x7F,0x7F,0x00,0x00,/*"O",2 9*/0x00,0x26,0x6F,0x49,0x7B,0x32,0x00,0x00,/*"S",3 1*/0x03,0x07,0x7C,0x7C,0x07,0x03,0x00,0x00,/*"Y",3 2*/0x00,0x26,0x6F,0x49,0x7B,0x32,0x00,0x00,/*"S",3 3*/0x00,0x01,0x7F,0x7F,0x01,0x01,0x00,0x00,/*"T",3 4*/0x00,0x7F,0x7F,0x49,0x49,0x41,0x00,0x00,/*"E",3 5*/0x00,0x7F,0x7F,0x06,0x7F,0x7F,0x00,0x00,/*"M",3 6*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",37*/};/*--------------------------------------------------------------*///显示函数void Display(void){Ser_IN((aa[i])); //列扫描数据Ser_IN(table[i + n]); //查表取出行扫描数据Par_OUT(); //输出显示i++; if(i == 8) i = 0; //循环扫描m++; if(m == 500) {m = 0; n++;} //滚动速度控制if(n == num-7) n = 0; //循环显示}/*--------------------------------------------------------------*///定时器初始化void T0_init(void){TMOD = 0xf8;TH0 = 0xcc; //5000usTL0 = 0x00;IE = 0x82;TR0 = 1;}/*--------------------------------------------------------------*///定时器中断服务void T0_intservice(void) interrupt 1 using 0 {TH0 = 0xf8;TL0 = 0xcc;Display();}/*--------------------------------------------------------------*///主函数void main (void){T0_init();while(1);}74HC595.H//Note: 74HC595驱动// __ __//Note: MR 主复位接电源正极, OE 使能端,输出有效接电源负极/*--------------------------------------------* /#ifndef __74HC595_H__#define __74HC595_H__/*--------------------------------------------* /sbit SD = P1^4; //串行数据输入sbit ST_CK = P1^5; //存储寄存器时钟输入sbit SH_CK = P1^6; //移位寄存器时钟输入/*--------------------------------------------*///数码管断码和位码的定义//unsigned char codeseg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x00,0x ff};//0 1 2 3 4 5 6 7 8 9 a b c d e f 8 无//unsigned char codepos[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//1 2 3 4 5 6 7 8/*--------------------------------------------* ///函数声明void Ser_IN(unsigned char Data); //串行数据输入void Par_OUT(void); //串行数据输出//void Ser_Par(unsigned char Data); //串行输入,并行输出/*--------------------------------------------* ///串行数据输入void Ser_IN(unsigned char Data)unsigned char i;for(i = 0; i < 8; i++){SH_CK = 0; //CLOCK_MAX=100MHzSD = Data & 0x80;Data <<= 1;SH_CK = 1;}}/*--------------------------------------------* ///并行数据输出void Par_OUT(void){ST_CK = 0;ST_CK = 1;}/*--------------------------------------------* ///串行输入,并行输出/*void Ser_Par(unsigned char Data){Ser_IN(Data);Par_OUT();}*//*--------------------------------------------* /#endif网站统计Powered by Tiki Wiki CMS Groupware | Theme: Fivealive - Lemon。

单片机8X8点阵显示共19页word资料

单片机8X8点阵显示共19页word资料

目录1 需求分析 (2)1.1前言 (2)1.2课题设计内容 (2)1.3设计目的 (2)2 总体设计 (3)2.1设计思路 (3)2.2方案设计 (3)3 详细设计 (5)3.1硬件系统电路设计 (5)3.1.1控制电路设计 (5)3.1.2主要功能特性: (5)3.2控制系统的软件设计 (6)3.2.1 主程序 (6)3.2.2初始化程序 (6)3.2.3显示程序 (6)3.2.4程序设计清单 (6)4 实现 (7)4.1元器件的选择 (7)4.2元器件焊接 (7)4.2.1焊接准备 (7)4.2.2焊接过程 (7)4.3软件的调试和烧入 (9)5 使用说明 (10)5.1各部分组成及功能 (10)5.1.1 LED显示屏 (10)5.1.2以单片机为核心的动态扫描电路 (10)5.2显示时间的分析 (11)6 实验小结 (12)7 收获体会 (13)附录一 (14)附录二 (14)附录三 (15)1 需求分析1.1 前言当今世界,电子技术迅猛发展,点阵式显示器件作为现代信息显示的重要媒体,在金融证券、体育、机场、交通、商业、广告宣传、邮电电信、指挥调度、国防军事等许多领域中得到了广泛应用。

因此点阵式显示器件的研制、生产也的到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。

由于LED电子显示屏具有所显内容信息量大,外形美观大方,操作使用方便灵活.适用于火车,汽车站,码头,金融证券市场,文化中心,信息中心体育设施等公共场所。

该项目广泛涉及了计算机及电子技术中的电源技术、单片机技术、数据通讯技术、显示技术、存储技术、系统软件技术、接口及驱动等技术。

LED显示又可以分为单色显示和双色显示,可以按照需要的大小、形状和颜色进行组合,并用单片机控制实现各种文字或图形的变化,达到宣传和提示的目的。

1.2课题设计内容该电路系统是采用AT89C2052单片机为控制器,控制点阵LED显示器进行显示,本电路控制模块有主模块和显示模块组成。

基于C51单片机的8×8 LED点阵屏汉字显示

基于C51单片机的8×8 LED点阵屏汉字显示

单片机课程设计报告—8×8 LED点阵屏显示“大”字第一章设计内容及要求 (3)第二章总体设计 (3)2.1 系统框图.........................................................3、4 2.2 设计步骤 (4)第三章各部分电路设计 (4)3. 1 复位电路………………………………………………4 、5 3.2时钟电路……………………………………………5、 63.3显示电路.........................................................6、7 3. 4大字取模 (7)3.5 LED 引脚连接方式..........................................8、9 3.6总体电路 (9)第四章程序设计 (9)4.1软件流图......................................................9、10 4.2大字的模 (10)4.2主程序......................................................10、11 4.3 C51单片机开发工具:keil 4 Proteus使用方法...11、16 第五章仿真结果 (16)第六章总结与体会................................................17、18 第七章参考文献 (18)附录程序清单……………………………………………19、20基于C51单片机的8×8 LED点阵屏汉字显示一设计要求1、设计一个8*8点阵LED电子显示屏2、要求在目测条件下LED显示屏各点亮度均匀、充足,可静态显示一个大字。

二总体方案设计2.1系统框图根据设计要求与设计方案,硬件电路的设计框图如图1所示。

硬件电路结构由8个部分组成:时钟电路、复位电路、按键接口电路、电源电路、点阵显示阳极电路、点阵显示阴极电路和8*8点阵显示电路。

单片机 8X8点阵显示

单片机 8X8点阵显示

目录1 需求分析 (2)1.1前言 (2)1.2课题设计内容 (2)1.3设计目的 (2)2 总体设计 (3)2.1设计思路 (3)2.2方案设计 (3)3 详细设计 (5)3.1硬件系统电路设计 (5)3.1.1控制电路设计 (5)3.1.2主要功能特性: (6)3.2控制系统的软件设计 (7)3.2.1 主程序 (7)3.2.2初始化程序 (7)3.2.3显示程序 (8)3.2.4程序设计清单 (8)4 实现 (9)4.1元器件的选择 (9)4.2元器件焊接 (9)4.2.1焊接准备 (9)4.2.2焊接过程 (9)4.3软件的调试和烧入 (11)5 使用说明 (12)5.1各部分组成及功能 (12)5.1.1 LED显示屏 (12)5.1.2以单片机为核心的动态扫描电路 (12)5.2显示时间的分析 (13)6 实验小结 (14)7 收获体会 (15)附录一 (16)附录二 (16)附录三 (17)1 需求分析1.1前言当今世界,电子技术迅猛发展,点阵式显示器件作为现代信息显示的重要媒体,在金融证券、体育、机场、交通、商业、广告宣传、邮电电信、指挥调度、国防军事等许多领域中得到了广泛应用。

因此点阵式显示器件的研制、生产也的到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。

由于LED电子显示屏具有所显内容信息量大,外形美观大方,操作使用方便灵活.适用于火车,汽车站,码头,金融证券市场,文化中心,信息中心体育设施等公共场所。

该项目广泛涉及了计算机及电子技术中的电源技术、单片机技术、数据通讯技术、显示技术、存储技术、系统软件技术、接口及驱动等技术。

LED显示又可以分为单色显示和双色显示,可以按照需要的大小、形状和颜色进行组合,并用单片机控制实现各种文字或图形的变化,达到宣传和提示的目的。

1.2课题设计内容该电路系统是采用AT89C2051单片机为控制器,控制点阵LED显示器进行显示,本电路控制模块有主模块和显示模块组成。

8×8点阵数字滚动显示

8×8点阵数字滚动显示

项目一8×8点阵数字滚动显示LED点阵的元件符号及内部结构图:对应编码:00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H ;NULL00H, 00H, 3EH, 41H, 41H, 41H, 3EH, 00H ; 000H, 00H, 00H, 00H, 21H, 7FH, 01H, 00H ; 100H, 00H, 27H, 45H, 45H, 45H, 39H, 00H ; 200H, 00H, 22H, 49H, 49H, 49H, 36H, 00H ; 300H, 00H, 0CH, 14H, 24H, 7FH, 04H, 00H ; 400H, 00H, 72H, 51H, 51H, 51H, 4EH, 00H ; 500H, 00H, 3EH, 49H, 49H, 49H, 26H, 00H ; 600H, 00H, 40H, 40H, 40H, 4FH, 70H, 00H ; 700H, 00H, 36H, 49H, 49H, 49H, 36H, 00H ; 800H, 00H, 32H, 49H, 49H, 49H, 3EH, 00H ; 900H, 00H, 00H, 00H, 00H, 00H, 00H, 00H ;NULL硬件设计原理:单片机利用外部晶振作为时钟信号输入,RST端口接入上电复位信号使它加电后自动进行复位操作。

将要显示的字符码表编入单片机的程序中,由单片机控制时序输出相应的扫描数据和字符数据。

行码数据由单片机P0口输出,经一个双向总线收发器控制传输方向后进入LED点阵,点亮相应的发光二极管。

列码扫描信号由P3口输出后,直接输入LED点阵控制8列的扫描,每列选通时间为5ms,看上去就像8列同时显示的效果一样。

加上行中相应的LED灯被点亮,就能看到显示的字符了。

三、源程序代码:R_CNT EQU 31H ;列码R_NCT=31H单元NUMB EQU 32H ;行码NUMB=32H单元TCOUNT EQU 33H;拉幕计数值TCOUNT=33H单元ORG 00H ;程序起始地址LJMP STARTORG 0BH;中断入口地址LJMP INT_T0ORG 30H;子程序入口地址START:;主程序开始MOV R0, #00H ;每列的行码起始序号置0MOV R_CNT,#00H;列:初值00送到31H单元MOV NUMB,#00H;行:初值00送到32H单元MOV TCOUNT,#00H;计数单元初值置0MOV TMOD, #01H;计数定时器选用16位的计数器,工作在方式1MOV TH0, #(65536—5000)/256;定时5ms。

【免费下载】基于51单片机的8乘8LED点阵显示屏的设计

【免费下载】基于51单片机的8乘8LED点阵显示屏的设计

基于单片机的8*8LED点阵显示屏的设计随着单片机在各个领域的广泛应用,许多用单片机作控制驱动LED显示屏也应运产生。

本系统设计使用单片机MCS-51控制扫描方法实现LED点阵显示器的字符的显示,介绍了用单片机进行显示系统开发的方法,单片机软件、硬件调试技术,还有点阵显示驱动扩展的一般方法。

1.引言1.1 研究的目的、意义LED因其体积小,耗电量低,亮度及环保等优点而被广泛应用于公共场所的大屏显示上,LED点阵大屏可应用于户外广告,交通导航,大厅公告,比赛的多媒体实时显示等领域。

本设计作品的用途正是在于实现大屏显示的核心功能,即汉字的显示,可实际应用于简单的显示系统中,如简单的排队叫号显示屏,电梯显示屏等。

通过此次设计将单片机软硬件结合起来对程序进行编辑,校验,锻炼实践能力和理论联系实际的能力。

1.2 本设计所要做的工作为了完成该设计实现,经过考虑论证,决定分为以下几个阶段进行:(1)对课题进行全面的分析,明确系统要实现的功能,大致了解要解决的问题,制定总的设计方案;(2)根据论证设计硬件系统并画出电路图,并根据电路图在面包板上连接电路图;(3)在硬件的基础上设计软件程序;(4)利用仿真器编译软件程序,进行调试仿真;(5)把调试成功的程序利用烧入器烧入到芯片中去;(6)把固化好程序的芯片插入到实际应用系统,投入到实际使用。

2.系统设计方案2.1系统构成框图3.硬件电路设计3.1 主要器件介绍3.1.1 LED点阵LED点阵显示屏采用1个8*8共64个象素的点阵,通过LED点阵资料判断出该点阵的引脚分布,如图3.1所示。

8*8的LED点阵为单色共阳模块,单点的工作电压为正向(Vf)=1.8v,正向电流(if)=8-10MA。

静态点亮器件时(64点全亮)总电流为640mA。

总电压为1.8v,总功率为1.15w.动态时取决于扫描频率(1/8或1/16秒),单点瞬间电流可达80-160mA。

图3.1点阵LED扫描法介绍点阵LED一般采用扫描式显示,实际运用分为三种方式:(1)点扫描(2)行扫描(3)列扫描若使用第一种方式,其扫描频率必须大于16*64=1024HZ,周期小于1MS即可。

1——9和心型的51单片机8-8点阵显示程序

1——9和心型的51单片机8-8点阵显示程序
delay(1);
h8=1;
}
void main()
{
flag=1;
zi=0x00;
delay(10);
// welared=0;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
ET1=1;
EA=1;
TR1=1;
h4=0;
delay(1);
h4=1;
zi=0x4c;
h5=0;
delay(1);
h5=1;
zi=0x7e;
h6=0;
delay(1);
h6=1;
zi=0x0c;
h7=0;
delay(1);
h7=1;
zi=0x0c;
h8=0;
delay(1);
h8=1;
}
void two()
{
zi=0x3c;
h1=0;
delay(1);
h1=1;
zi=0x66;
h2=0;
delay(1);
h2=1;
zi=0x66;
h3=0;
delay(1);
h3=1;
zi=0x0e;
h4=0;
delay(1);
h4=1;
zi=0x7e;
h5=0;
delay(1);
h5=1;
zi=0x66;
h6=0;
delay(1);
h6=1;
zi=0x66;
h7=0;
delay(1);
h7=1;
zi=0x3c;

51单片机8x8点阵电路原理 解释说明

51单片机8x8点阵电路原理 解释说明

51单片机8x8点阵电路原理解释说明1. 引言1.1 概述本文将介绍51单片机8x8点阵电路原理。

在当前信息时代,显示技术得到了广泛应用,而点阵显示则是一种常见的显示方式。

点阵电路原理的了解对于进行嵌入式系统设计和开发至关重要。

1.2 文章结构本文主要分为五个部分:引言、51单片机8x8点阵电路原理、电路图解析、编程实现步骤以及结论。

通过这些部分的详细说明,读者可以全面了解并掌握如何设计和编程控制51单片机8x8点阵电路。

1.3 目的本文旨在提供一个清晰而详细的指南,帮助读者理解和掌握51单片机8x8点阵电路的工作原理和设计方法。

通过深入剖析相关概念和技术细节,使读者能够在自己的项目中有效地应用此类点阵电路,并能够根据特定需求进行相应扩展与优化。

以上是文章“1. 引言”部分内容的简要描述,请根据需要添加更多信息并以普通文本形式撰写完整内容。

2. 51单片机8x8点阵电路原理:2.1 单片机概述:单片机作为一种集成了处理器、存储器和各种输入输出接口的微型计算机,被广泛应用于嵌入式系统中。

51单片机是指基于Intel公司的8051系列架构开发的单片机,在工业控制、仪器仪表、家电等领域有着广泛的应用。

2.2 点阵显示原理:点阵显示技术是使用一个由多个小LED灯组成的点阵,根据不同的点亮组合来形成图像或文字。

在51单片机上实现点阵显示通常采用行列扫描方式,通过逐行或逐列地点亮和灭控制各个LED灯来实现图案或字符的显示。

2.3 电路设计要点:在设计51单片机8x8点阵电路时,需要考虑以下几个要点:- 单片机选择:选用合适型号的51单片机,并根据具体需求确定其工作频率。

- 点阵模块选择:选择合适尺寸和亮度的8x8点阵模块。

- 驱动芯片选择:针对所选定的点阵模块,选择合适的驱动芯片,如MAX7219。

- 电源设计:考虑到点阵模块和驱动芯片的供电需求,合理设计电源电压和稳压电路。

- 硬件接口连接:根据选定的单片机和驱动芯片的引脚分配,进行相应的电路连线连接。

基于51单片机的8乘8LED点阵显示屏的设计

基于51单片机的8乘8LED点阵显示屏的设计

基于单片机的8*8LED点阵显示屏的设计随着单片机在各个领域的广泛应用,许多用单片机作控制驱动LED显示屏也应运产生。

本系统设计使用单片机MCS-51控制扫描方法实现LED点阵显示器的字符的显示,介绍了用单片机进行显示系统开发的方法,单片机软件、硬件调试技术,还有点阵显示驱动扩展的一般方法。

1.引言1.1 研究的目的、意义LED因其体积小,耗电量低,亮度及环保等优点而被广泛应用于公共场所的大屏显示上,LED点阵大屏可应用于户外广告,交通导航,大厅公告,比赛的多媒体实时显示等领域。

本设计作品的用途正是在于实现大屏显示的核心功能,即汉字的显示,可实际应用于简单的显示系统中,如简单的排队叫号显示屏,电梯显示屏等。

通过此次设计将单片机软硬件结合起来对程序进行编辑,校验,锻炼实践能力和理论联系实际的能力。

1.2 本设计所要做的工作为了完成该设计实现,经过考虑论证,决定分为以下几个阶段进行:(1)对课题进行全面的分析,明确系统要实现的功能,大致了解要解决的问题,制定总的设计方案;(2)根据论证设计硬件系统并画出电路图,并根据电路图在面包板上连接电路图;(3)在硬件的基础上设计软件程序;(4)利用仿真器编译软件程序,进行调试仿真;(5)把调试成功的程序利用烧入器烧入到芯片中去;(6)把固化好程序的芯片插入到实际应用系统,投入到实际使用。

2.系统设计方案2.1系统构成框图3.硬件电路设计3.1 主要器件介绍3.1.1 LED点阵LED点阵显示屏采用1个8*8共64个象素的点阵,通过LED点阵资料判断出该点阵的引脚分布,如图3.1所示。

8*8的LED点阵为单色共阳模块,单点的工作电压为正向(Vf)=1.8v,正向电流(if)=8-10MA。

静态点亮器件时(64点全亮)总电流为640mA。

总电压为1.8v,总功率为1.15w.动态时取决于扫描频率(1/8或1/16秒),单点瞬间电流可达80-160mA。

图3.1点阵LED扫描法介绍点阵LED一般采用扫描式显示,实际运用分为三种方式:(1)点扫描(2)行扫描(3)列扫描若使用第一种方式,其扫描频率必须大于16*64=1024HZ,周期小于1MS即可。

8乘8(8x8)点阵汉字显示

8乘8(8x8)点阵汉字显示

单片机课程设计题目:8*8点阵汉字显示器专业班级:******姓名:******学号:*********一.摘要:用TOP-23088DH-U 8*8点阵块设计制作一个8*16点阵汉字显示器。

通过51单片机作为控制系统,由8255的A口为段数据口向两块点阵提供行数据,C口提供扫描列信息,通过74LS154译码后进行扫描,当点阵的行接高电平,列为低电平时,同时选通,则在该点的LED点亮。

由于实验箱上所提供的驱动电流太低,不足以点亮二极管,所以在电路中增加一个74LS254芯片,以提供点亮LED 所需的驱动电流。

同时在P1.0-P1.2口接3个开关,形成按键控制功能选择。

点阵模块图如下:如上图所示,本实验通过列扫描方式,扫描同时给行线送显示数据。

当扫描到某列,则该列选通,其他列截止,选通瞬间送显示数据,则所对应的二极管亮。

点阵依靠循环点亮每一列(或行),快速循环形成一屏图像,而每一屏快速交替,可进一步形成动画的效果。

二.设计任务和要求:(1)基本要求:1.能显示8*8的汉字,用两个8*8点阵,显示“大连”。

2.通过键盘控制可以改变显示的汉字与图形。

3.通过键盘控制,可以实现彩灯控制功能,发光管从内向外周期显示和相反显示。

(2)发挥要求:1.增加驱动电路,提高显示亮度。

三.方案选择和论证:3.1:方案论证:控制模块由8051、74LS154,8255组成,其中,采用51单片机制做一个最小系统,包含有时钟信号电路、复位电路等,154是4线转16线译码器,4线端接8255的PC.0-PC.3口,16线端低电平有效,控制点阵的16列,245是对列的驱动,8255的PA.0-PA.7用于将行扫描数据进行高速串-并转换,实验箱内部便可提供较大电流总够控制点阵的8行,这样,点阵的128个点中被选通的就亮。

显示模块由2块8×8点阵组成,通过相互并联转换成16×8点阵。

3.2:方案选择:(1).实验仪器(2).流程图:YNNYNYN(3).硬件连接开始不显示K1是否按下?K2是否按下?K3是否按下?静态显示“大连”动态显示“大连”(由内向外再相反显示)静态显示“爱心”(图形)四.实际操作与调试:(1)实际制作使用keil 先对软件程序进行编译测试并进行proteus 仿真,调试成功后开始硬件部分。

完整word版,单片机点亮8X8点阵

完整word版,单片机点亮8X8点阵

首先应该清楚点阵的显示原理,先拿8X8的点阵举例说明如下:点阵可以看成是由8行8列的导线交叉排列,在每一个交叉点上放上二极管,这是一个三行三列的示意图。

例如我们想点亮中间的一个二极管,只需要让第二行给高电平,第二列给低电平就能点亮了。

8X8的点阵点亮方式也是一样。

用这样的方式可以点亮一个8X8点阵上的任意一点,那么,如何让一个8X8的点阵显示图像呢?我们拿一个箭头示例。

这样的话,我们只需要分别算出各行各列上需要点亮的点的数据就可以了,因为要完成整个屏的显示要打开到每一行每一列,所以我们可以让单片机一个数据口端只做行扫描或列扫描(比方说在所有点的阳极做扫描,也就是从第一行依次打开(若是阳极则给高电平)到第8行或第一列依次打开到第八列,在打开其中任意一行或一列时其他行或列给高电平或低电平使其关闭显示),这里只说行扫描,从打开第一列0x01,第二列0x02,第三列0x04······第八列0x80,可以组成数组code unsigned char tabh[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,};然后则是在这些扫描的基础上需要点亮那些点,因为这里是做阳极列扫描,所以要想点亮某些点则需要在这个点所对应的行控制端给低电平。

在点亮第一列,也就是这个箭头的最上最左边两个点,二进制数据是11100111,换算成十六进制是0xe7,然后是第二行的四个点11000011,换算成十六进制是0xc3,依次到第八行,装进数组则是code unsigned char tabh[]={0xe7,0xc3,0x81,0x24,0x66,0xe7,0xe7,0xe7};然后我们在这两组数据的基础上用一个for循环让这些列数据与行数据同步对应到单片机数据输出口,再加上短暂的延时(因为要动态扫描8行8列加上延时是为了产生视觉停留效果让人眼看起来动态扫描后就是一副完整的图像)。

单片机课程设计点阵式led简单图形显示

单片机课程设计点阵式led简单图形显示

点阵式LED简单图形显示1.实验任务在8X8点阵式LED显示“★”、“●”和心形图,通过按键来选择要显示的图形。

2.电路原理图图3.硬件系统连线(1).把“单片机系统”区域中的P1端口用8芯排芯连接到“点阵模块”区域中的“DR1-DR8”端口上;(2).把“单片机系统”区域中的P3端口用8芯排芯连接到“点阵模块”区域中的“DC1-DC8”端口上;(3).把“单片机系统”区域中的P2.0/A8端子用导线连接到“独立式键盘”区域中的SP1端子上;4.程序设计内容(1).“★”在8X8LED点阵上显示图如下图所示1 2 3 4 5 6 7 812H,14H,3CH,48H,3CH,14H,12H,00H(2).“●”在8X8LED点阵上显示图如下图所示1 2 3 4 5 6 7 800H,00H,38H,44H,44H,44H,38H,00H(3).心形图在8X8LED点阵上显示图如下图所示1 2 3 4 5 6 7 830H,48H,44H,22H,44H,48H,30H,00H5.汇编源程序CNTA EQU 30HCOUNT EQU 31HORG 00HLJMP STARTORG 0BHLJMP T0XORG 30HSTART: MOV CNTA,#00HMOV COUNT,#00HMOV TMOD,#01HMOV TH0,#(65536-4000) / 256MOV TL0,#(65536-4000) MOD 256SETB TR0SETB ET0SETB EAWT: JB P2.0,WTMOV R6,#5MOV R7,#248D1: DJNZ R7,$DJNZ R6,D1JB P2.0,WTINC COUNTMOV A,COUNTCJNE A,#03H,NEXTMOV COUNT,#00HNEXT: JNB P2.0,$SJMP WTT0X: NOPMOV TH0,#(65536-4000) / 256MOV TL0,#(65536-4000) MOD 256MOV DPTR,#TABMOV A,CNTAMOVC A,@A+DPTRMOV P3,AMOV DPTR,#GRAPHMOV A,COUNTMOV B,#8MUL ABADD A,CNTAMOVC A,@A+DPTRMOV P1,AINC CNTAMOV A,CNTACJNE A,#8,NEXMOV CNTA,#00HNEX: RETITAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FHGRAPH: DB 12H,14H,3CH,48H,3CH,14H,12H,00HDB 00H,00H,38H,44H,44H,44H,38H,00HDB 30H,48H,44H,22H,44H,48H,30H,00HEND6. C语言源程序#include <AT89X52.H>unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char codegraph[3][8]={{0x12,0x14,0x3c,0x48,0x3c,0x14,0x12,0x00},{0x00,0x00,0x38,0x44,0x44,0x44,0x38,0x00},{0x30,0x48,0x44,0x22,0x44,0x48,0x30,0x00}};unsigned char count;unsigned char cnta;void main(void){unsigned char i,j;TMOD=0x01;TH0=(65536-4000)/256;TL0=(65536-4000)%256;TR0=1;ET0=1;EA=1;while(1){if(P2_0==0){for(i=5;i>0;i--)for(j=248;j>0;j--);if(P2_0==0){count++;if(count==3){count=0;}while(P2_0==0);}}}}void t0(void) interrupt 1 using 0{TH0=(65536-4000)/256;TL0=(65536-4000)%256;P3=tab[cnta];P1=graph[count][cnta];cnta++;if(cnta==8){cnta=0;}}27. ADC0809A/D转换器基本应用技术1.基本知识ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。

51单片机项目教程项目 18 8乘8点阵显示爱心

51单片机项目教程项目 18 8乘8点阵显示爱心

(4)扫描界限寄存器(地址0BH):该寄存器中D0~D3 位数据 设定值为0~7H,设定值表示显示器动态扫描个数位1~8。
(5)停机寄存器(地址0CH):当D0=0 时,MAX721 处于停机 状态;当D0=1 时,处于正常工作状态。 (6)显示测试寄存器(地址0FH):当D0=0时,MAX7219 按设 定模式正常工作;D0=1 时,处于测试状态。在该状态下,不管 MAX7219 处于什么模式,全部LED 将按最大亮度显示。
MAX7219介绍 MAX7219/MAX7221是一种集成化的串行输入/输出共阴极显示驱 动器,它连接微处理器与8位数字的7段数字LED显示,也可以连接 条线图显示器或者64个独立的LED。其上包括一个片上的B型BCD 编码器、多路扫描回路,段字驱动器,而且还有一个8*8的静态 RAM用来存储每一个数据。只有一个外部寄存器用来设置各个 LED的段电流。 MAX7219和单片计算机连接有三条引线(DIN、CLK、 LOAD)采用16位数据串行移位接收方式。即单片机将16位二进制 数逐位发送到DIN端,在CLK上升沿到来前准备就绪,CLK的每个上 升沿将一位数据移入MAX7219内移位寄存器,当16位数据移入 完,在LOAD引脚信号上升沿将16位数据装入MAX7219内的相应 位置,MAX7219内部硬件动态扫描显示控制电路作用下实现动态 显示。
可寻址的数据寄存器和控制寄存器 (1)内部RAM 地址01~08H 分别对应于DIG0~DIG7。 (2)译码方式寄存器(地址09H):该寄存器的8 位二进制数的 各位分别控制8 个LED 显示器的译码方式。当高电平时,选择 BCD-B 译码模式,当低电平时选择不译码模式(即送来数据为字 型码)。 (3)亮度寄存器(地址0AH):亮度可以用硬件和软件两种方法 调节。亮度寄存器中的D0~D3位可以控制LED 显示器的亮度。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MAX7219引脚说明
MAX7219为24引脚芯片,引脚排列如图18-2所示所示,各引脚功能如 下: DIN:串行数据输入端; DIG0~DIG7:LED位线; LOAD/CS:数据装载信号输入端; SEGA~SEGG,SEGDp:段码输出端; ISET:硬件亮度调节端;
DOUT:串行数据输出端;
可寻址的数据寄存器和控制寄存器 (1)内部RAM 地址01~08H 分别对应于DIG0~DIG7。 (2)译码方式寄存器(地址09H):该寄存器的8 位二进制数的 各位分别控制8 个LED 显示器的译码方式。当高电平时,选择 BCD-B 译码模式,当低电平时选择不译码模式(即送来数据为字 型码)。 (3)亮度寄存器(地址0AH):亮度可以用硬件和软件两种方法 调节。亮度寄存器中的D0~D3位可以控制LED 显示器的亮度。
项目 188乘8点阵显示爱心
项目目标
8 × 8LED 点阵 以发光二极管为像素,分为行控制跟列 控制,通过单片机的两个管口的引脚输出高电平与低电 平来控制二极管的发光来显示文字,注意控制延时来获 得较好的视觉效果。 建议学时
8 学时 知识要点
1. 认识 8 乘 8 点阵模块
2. 学习使用字模软件
18.1项目分析
(4)扫描界限寄存器(地址0BH):该寄存器中D0~D3 位数据 设定值为0~7H,设定值表示显示器动态扫描个数位1~8。
(5)停机寄存器(地址0CH):当D0=0 时,MAX721 处于停机 状态;当D0=1 时,处于正常工作状态。 (6)显示测试寄存器(地址0FH):当D0=0时,MAX7219 按设 定模式正常工作;D0=1 时,处于测试状态。在该状态下,不管 MAX7219 处于什么模式,全部LED 将按最大亮度显示。
CLK:移位脉冲输入端; V+:正电源; GND:地
串行数据格式 16 位地址/数据移位寄存器接收串行数据,实现串/并变换。16 位 数据含义如下: D7~D0:写入内部RAM 和功能寄存器的数据; D8~D11:内部RAM 和功能线译码器,用于选择数据存放单元,在 LOAD 信号作用下将接收数据送入指定单元;八字节双端口静态存 储器存放接收数据和提供动态显示数据;B 译码和不译码电路对 RAM 数据进行BCD 译码或直接送显示;段码电流参考电路、亮度 脉冲产生调制器实现对显示器的亮度控制,段码电流参考电路由硬 件调节显示器亮度;动态扫描控制器实现由硬件控制动态扫描显 示。LED 段/位驱动器提供显示器的一段和一位点亮时 的电流。
时序图
18.3 项目实施
效果展示:
MAX7219介绍 MAX7219/MAX7221是一种集成化的串行输入/输出共阴极显示驱 动器,它连接微处理器与8位数字的7段数字LED显示,也可以连接 条线图显示器或者64个独立的LED。其上包括一个片上的B型BCD 编码器、多路扫描回路,段字驱动器,而且还有一个8*8的静态 RAM用来存储每一个数据。只有一个外部寄存器用来设置各个 LED的段电流。 MAX7219和单片计算机连接有三条引线(DIN、CLK、 LOAD)采用16位数据串行移位接收方式。即单片机将16位二进制 数逐位发送到DIN端,在CLK上升沿到来前准备就绪,CLK的每个上 升沿将一位数据移入MAX7219内移位寄存器,当16位数据移入 完,在LOAD引脚信号上升沿将16位数据装入MAX7219内的相应 位置,MAX7219内部硬件动态扫描显示控制电路作用下实现动态 显示。
通过单片机的控制,使点阵完成一系列的图形的显示与变化, 比如静态显示汉字,字母以及数字等,也可在点阵上滚动显示字 符。
18.2技术准备
18.2.1 8*8点阵介绍
8X8点阵共由64个发光二极管组成,且每个发光二极管是放置在行 线和列线的交叉点上。引号脚识别:点阵模块4条边,有一边上有 丝印,且中间向下有塑料突起;插针向下放置,丝印面向自己,左 起为1号脚,逆时针排列。如图18-1所示。
相关文档
最新文档