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

基于C51单⽚机的8×8LED点阵屏汉字显⽰单⽚机课程设计报告—8×8 LED点阵屏显⽰“⼤”字第⼀章设计内容及要求 (3)第⼆章总体设计 (3)2、1 系统框图…………………………………………………3、42、 2 设计步骤 (4)第三章各部分电路设计 (4)3、 1 复位电路………………………………………………4 、53、2时钟电路……………………………………………5、 6 3、3显⽰电路…………………………………………………6、73. 4⼤字取模…………………………………………………73、5 LED 引脚连接⽅式……………………………………8、93、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点阵显⽰电路。
2、2设计步骤根据设计要求,初步确定设计⽅案如下: 1、选择STC89C52单⽚机(晶振频率为f=12MHZ)作为整个系统得核⼼器件,对整个系统进⾏总体控制,发送并时时处理系统信息。
51单片机88点阵,使用示波器

第四周单片机任务一.实验要求1. 了解51单片机的串口使用2.了解8*8点阵3. 会使用示波器(proteus中有虚拟示波器)具体内容:1. 按下按钮,程序开始运行。
再次按下按钮,程序暂停,再次按下按钮程序接着上次暂停的部分继续运行。
2. 当第一次按下按钮后,8*8点阵按照顺序显示“1,2,3,4,5,6,7,8,9,0”这几个数字(注意,每个数字显示需要间隔2秒),当显示到0后,再从1开始。
3. 8*8点阵切换数字时是滚动效果。
4. 串口终端在按下按钮后显示出“now ,8*8 show1,2,3,4,5,6,7,8,9,0”5. 用虚拟示波器观察串口输出的波形,并截图展示程序具体流程如下:按下按钮,点阵显示1,串口终端显示“now ,8*8 show 1,2,3,4,5,6,7,8,9,0”,延时2秒(在这2秒内,点阵显示的1要滚动变成2,滚动效果就是银行门口的字从右到左连贯的切换的那种效果,可以看该网址视频/v_show/id_XMjE3OTM4NDIw.html)。
然后点阵显示2,再延时2秒(同上)。
当显示到点阵0后,再过2秒(同上,滚动变为1),此时串口终端换行再次显示“now ,8*8 show 1,2,3,4,5,6,7,8,9,0”。
如此往复二.硬件分析利用串口调试助手实现串口终端显示“now ,8*8 show 1,2,3,4,5,6,7,8,9,0”三.程序分析#include<reg52.h>char keytmp;char *p;unsigned char dat;sbit k=P3^2;char code str[]="now,8*8show1,2,3,4,5,6,7,8,9,0";char code distaba[]={ // (各数字的阳码)0x00,0x00,0x11,0x21,0x7f,0x01,0x01,0x00, //10x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00, //20x00,0x00,0x49,0x49,0x49,0x7f,0x00,0x00, //30x00,0x04,0x0c,0x14,0x24,0x5f,0x04,0x00, //4 0x00,0x00,0x72,0x51,0x51,0x51,0x4e,0x00, //5 0x00,0x00,0x7f,0x49,0x49,0x49,0x4f,0x00, //6 0x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00, //7 0x00,0x00,0x7f,0x49,0x49,0x49,0x7f,0x00, //8 0x00,0x00,0x79,0x49,0x49,0x49,0x7f,0x00, //9 0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00, //0 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//黑屏,表示一次显示完毕};char code scan_cona[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//列扫描控制字void delay2ms(int t){int i,j;for(i=0;i<t;i++)for(j=0;j<240;j++);}void init_com(void){TMOD=0X20;//定时器工作方式2,初值自动装入 PCON=0X00; //波特率不倍增SCON=0X40; //串行工作方式1 TH1=0xfd; //定时器初值高位,波特率9600 TL1=0xfd; //定时器初值低位 TR1=1; //启动定时器}void fun() //向左滚动显示{int m,n,h;for(h=0;h<80;h++) //控制显示字数(80/8=10个) {for(n=0;n<25;n++) //控制帧移动速度{for(m=0;m<8;m++) //显示1帧扫描(分8行,每行亮2ms) {P2=scan_cona[m];P0=distaba[m+h];delay2ms(1);}}}}void delay(void) //延时子程序{int k;for(k=0;k<600;k++);}void InitCom(void)//串口定义初始化子程序{TMOD=0x20;PCON=0x00;SCON=0x50;TH1=0xFd;TR1=1;}void send_str()//发送字符串子程序{unsigned char i=0;while(str[i]!='\0'){SBUF=str[i];while(!TI);TI=0;i++;}}void intersvr0(void)interrupt 0 using 1{send_str(); //调用发送字符串子程序}main() //主程序{EA=1;EX0=1;IT0=0;while(1){if(RI){dat=SBUF;RI=0;}fun();}}姓名:杨丹班级:1207学号:210121885。
基于51单片机的LED8X8点阵设计

毕业设计报告题目基于51单片机点阵设计姓名学校班级学号专业指导教师完成时间摘要LED点阵显示屏是一种简单的汉字显示器,具有价廉、易于控制、使用寿命长等特点,可广泛应用于各种公共场合,如车站、码头、银行、学校、火车、公共汽车显示等。
现在大街小巷随处可见,所以研究LED点阵屏显得格外重要。
点阵 LED 显示屏作为一种现代电子媒体,具有灵活的显示面积可任意分割和拼装、高亮度、长寿命、数字化、实时性等特点,应用非常广泛。
目录目录第一章系统设计方案 (3)1.1系统方案 (3)第二章电路硬件设计 (4)2.1 单片机介绍 (4)2.2晶振时钟电路 (6)2.3复位电路 (6)2.4 按键模块 (7)2.5 点阵模块 (7)2.6 下载模块 (7)2.7 电源模块 (8)软件设计 (9)结论 (9)附录:原理图 (10)第一章系统设计方案1.1系统方案本设计由单片机最小系统,按键模块,点阵模块,下载接口,电源电路组成。
单片机最小由主控MCU,复位,晶振时钟组成,按键模块由8个独立按键组成,该系统完成了单片机控制数据输出到点阵模块。
RP1为P0口的上拉电阻。
按键设置功能,单片机数把据发送给点阵,显示出来。
第二章电路硬件设计2.1 单片机介绍本设计采用的是AT89C52单片机, AT89C52是一种可编程可擦除,低电压,8位微处理器。
1.电源引脚:Vcc (40脚):电源端,接+5V电源。
Vss(Gnd) (20脚):接地端,接+5V电源地端2. 外接晶体引脚:XTAL1和XTAL289C52内部有一个振荡器和时钟产生电路。
XTAL1(19脚):片内振荡电路反相放大器输入XTAL2(18脚):片内振荡电路反相放大器输出当采用内部时钟时,片外连接石英晶体和微调电容,产生原始的振荡脉冲信号。
采用外部时钟时, XTAL1输入外部时钟脉冲信号, XTAL2悬空.3. 控制信号引脚:RST、ALE、PSEN、EARST (9脚) : 复位信号输入端,高电平有效。
单片机8 8点阵设计

单片机课程设计课题:8*8点阵LED字符显示器设计一、设计目的利用8*8LED点阵动态显示汉字的字样,采用STC89C52单片机作为整个控制电路的核心,并编制软件程序,实现汉字动态显示。
通过此设计来巩固单片机硬件系统的设计及软件系统的编程,通过设计将平时所学知识付诸实践,提高动手能力。
1.使学生更深入地理解和掌握该课程中的有关基本概念,程序设计思想和方法。
2.培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。
3.提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。
4.培养学生从资料文献、科学实验中获得知识的能力。
5. 对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核。
二、设计要求8*8点阵LED字符显示器设计设计要求:1、设计一个8*8点阵LED电子显示屏,要求显示“课程设计”四个文字。
2、要求在目测条件下LED显示屏各点亮度均匀、充足,显示方式可由K1、K2、K3、K4、K5进行选择,K1为逐字显示,K2为向左滚动显示,K3为向右滚动显示,K4为向上滚动显示,K5为向下滚动显示。
三、总体方案设计3.1系统框图根据设计要求与设计方案,硬件电路的设计框图如图1所示。
硬件电路结构由8个部分组成:时钟电路、复位电路、按键接口电路、电源电路、点阵显示阳极电路、点阵显示阴极电路和8*8点阵显示电路。
图1系统框图 3.2工作原理根据设计要求,初步确定设计方案如下: 1. 选择STC89C52单片机(晶振频率为f=12MHZ )作为整个系统的核心器件,对整个系统进行总体控制,发送并时时处理系统信息。
2.由于是8*8点阵屏设计,需要端口16个,可采用静态显示模式,用P0口控制行,P2口控制列 。
3.通过软件编程,即可实现汉字“课程设计”的显示,并可左移,右移,上移,下移动态流动显示。
4.点阵的点亮过程有程序控制,点阵采用单色显示。
基于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即可。
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。
基于AT89C5151的8×8点阵LED数码字符显示器的设计

目录第一章引言 (1)第二章方案选择及总体设计 (3)2.1 方案确定 (3)2.1.1 功能要求 (3)2.1.2 方案确定 (3)2.2 器件选择 (3)第三章控制系统硬件设计 (4)3.1 整体模块设计 (4)3.2 单片机最小系统设计 (4)3.2.1 晶振电路设计 (4)3.2.2 复位电路设计 (5)3.3 驱动电路设计 (6)3.4 LED点阵显示设计 (7)第四章控制系统软件设计 (10)4.1 软件设计思想 (10)4.2 主程序流程图 (11)第五章系统仿真及性能分析 (12)5.1 软件系统仿真 (12)5.2 硬件仿真结果分析 (12)第六章总结致谢 (15)第七章参考文献 (17)附录 (18)附录A 硬件结构图 (18)附录B 主程序清单 (18)附录C 元件清单 (22)第一章引言LED是光二极管LIGHT EMINTTING DIODE的英文缩写,是一种直接能将电能转化为可见光的半导体。
LED点阵是由发光二极管排列组成的显示器件,在日常生活中随处可见,其发光类型属于冷光源,效率及发热量是普通发光器件难以比拟的。
它采用低电压扫描驱动,具有耗电少、使用寿命长、成本低、亮度高、故障少、视角大、可视距离远、可靠耐用、应用灵活、安全、响应时间短、绿色环保、控制灵活等特点。
随着社会经济的不断进步,人们对LED显示器的认识不断加深,其应用领域越来越广。
本设计是基于AT89C5151的8×8点阵LED数码字符显示器的设计,LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成. LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。
本文讲述了基于AT89C51单片机8×8 LED数码字符显示器的基本原理、硬件组成与设计,Proteus软件仿真,程序设计等基本环节与相关技术。
LED电子显示屏具有所显内容信息量大,外形美观大方,操作使用方便灵活。
基于C51单片机的8×8 LED点阵屏汉字显示

单片机课程设计报告—8×8 LED点阵屏显示“大”字第一章设计内容及要求 (3)第二章总体设计 (3)2.1 系统框图…………………………………………………3、42.2 设计步骤 (4)第三章各部分电路设计 (4)3. 1 复位电路………………………………………………4 、53.2时钟电路……………………………………………5、 6 3.3显示电路…………………………………………………6、73. 4大字取模…………………………………………………73.5 LED 引脚连接方式……………………………………8、93.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点阵显示电路。
2.2设计步骤根据设计要求,初步确定设计方案如下: 1. 选择STC89C52单片机(晶振频率为f=12MHZ)作为整个系统的核心器件,对整个系统进行总体控制,发送并时时处理系统信息。