51单片机项目教程项目 18 8乘8点阵显示爱心
- 格式:pptx
- 大小:583.80 KB
- 文档页数:13
郑州科技学院《单片机》课程设计题目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单片机作为主控制器,外部加数码管显示。
摘要单片机是计算机技术、大规模集成电路技术和控制技术的综合产物。
经过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源代码/*--------------------------------------------------------------*///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。
目录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显示器进行显示,本电路控制模块有主模块和显示模块组成。
单片机课程设计报告—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点阵显示电路。
目录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点阵数字滚动显示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。
基于单片机的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即可。
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。
- 电源设计:考虑到点阵模块和驱动芯片的供电需求,合理设计电源电压和稳压电路。
- 硬件接口连接:根据选定的单片机和驱动芯片的引脚分配,进行相应的电路连线连接。