邱佳奇51单片机点阵设计
电气自动化技术毕业设计-基于51单片机的LED立方体显示器设计

云南广播电视大学云南国防工业职业技术学院电子工程学院毕业论文(设计)课题基于51单片机的LED立方体显示器教研室机械电子工程学院教研室专业电气自动化技术班级……………………………学生姓名…………学号…………..导师姓名………职称讲师2012年10月 10 日随着科技的不断发展LED(Lighting Emitting Diode), 发光二极管)技术在10多年间取得了长足的进步,1990年前LDE以红绿双基色为主运用住处很少而且制造成本高昂。
1990-1995年,这一阶段是LED显示屏迅速发展的时期。
先后研制出蓝色LED、全彩色LED,LED屏的显示技术取得很大的提升。
而今高亮度的三基色LED电子显示屏作为一种高科技产品日益引起人们的重视。
它可以实时显示或循环播放文字、图形和图像信息,具有显示方式丰富、色彩鲜艳、显示内容修改方便、亮度高、显示稳定且寿命长等多种优点,被广泛应用于商业广告、体育比赛、交通信息报导等诸多领域。
在上海世博会开幕式上,竖立在黄浦江边的9500平方米的巨型LED显示屏价值高达人民币1亿元,是特别为上海世博会定制的。
“它不仅超大,且非常轻和通透。
”此外,这块屏幕还能抗震和防火。
这块屏幕其实是迄今为止世界上面积最大的LED显示屏,它代表着LED屏发展的技术方向。
现在LED在实际的运用中有了很宽广的范围,而且越来越收到人们的重视。
在举世瞩目的北京奥运会上,在开幕式上出现了一个新名词“光立方”它是北京奥运会开幕式的亮点。
本文所要介绍的LED的另一种应用也叫光立方,运用高亮的LED显示出不同的3D图案、动画和文字,运用51单片机进行控制长、宽、高由8×8×8个LED灯组成的真实3D立方体显示器。
其最大的特点,就是带给你未来3D技术的科技体验,在夜晚有让人震撼的3D效果给人眼前一亮的感觉。
该光立方在显示3D图片和动画时从立方体的各各面都可以看到立体动画,富有科技感,让人觉得就像是在看3D电影一般而且还是不用3D眼镜的裸眼3D全方位不受视角限制的3D。
单片机原理及应用——C51编程+Proteus仿真(第3版)课件第5章 开关键盘显示器接口设计

在【例5-1】基础上,编写控制发光二极管反复循环点亮的流水灯。 【例5-2】电路仍采用图5-2,制作由上至下再由下至上反复循环点亮显
示的流水灯,3种方法实现。
(1)数组的字节操作实现 建立1个字符型数组,将控制8个LED显示的8位数据作为数组元素,依
次送P1口。参考程序:
#include <reg51.h> #define uchar unsigned char uchar tab[ ]={ 0xfe , 0xfd , 0xfb , 0xf7 , 0xef , 0xdf , 0xbf , 0x7f , 0x7f ,
// 读入P1口的状态,送入state // 屏蔽P1口的高6位 // 判P1口低2位开关状态
{
case 0: P2=0x01; break; case 1: P2=0x02; break; case 2: P2=0x04; break; case 3: P2=0x08; break;
// 点亮P2.0脚LED //点亮P2.1脚LED // 点亮P2.2脚LED //点亮P2.3脚LED
} }
//左移初值赋给temp
// temp中的数据取反后送P1口 // 延时 // temp 中数据左移一位 // 赋右移初值给temp
// temp中的数据取反后送P1口 // 延时 // temp 中数据右移一位
15
程序说明: 注意使用移位运算符“>>”、“<<”与使用循环左移函数 “_crol_”和循环右移函数“_cror_” 区别。左移移位运算“<<”是将高位 丢弃,低位补0 ;右移移位运算、“>>”是将低位丢弃,高位补0。而循环 左移函数“_crol_” 是将移出的高位再补到低位,即循环移位;同理循环 右移函数“_cror_” 是将移出的低位再补到高位。
单片机课程设计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以及输入/输出接口,定时器等电路于一块芯片上构成的。
单片机点阵实验ppt课件

9
问题:如何使点阵上大量LED显示汉字或者图形?
10
单 片 机 静
理 ?
问 题 :
态 显 示
为 什 么
? ?
这 种 显 示 是
否
合
11
动态扫瞄:
12
13
14
15
16
17
18
19
20
基于Proteus的绿色8*8点阵上行箭头显示设计
21
取模软件:PCtoLCD2002
22
23
五、实验步骤:
1、将CPU板正确安放在CPU接口插座上,跳线帽 JP2短接在上侧。
2、连线:用导线将MCU的IO1---IO4分别连接到 16*16LED的A0、A1、A2、A3;MCU的SDA、SCL、 PWM0分别连接到16*16LED的SHCP、STCP、DS,连 接好仿真器。
x02,0x80,0x02,0x80,0x04,0x40,0x04,0x40,0x08,0x20,0x10,0x10,0x20,0x0E,0x40,0x04}, {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0xFF,0xFE,0
5
四、实验原理:
什么是点阵???
6
点阵的构成?
发光二极管一般正常压降:1.8~3V。额定电流约 3-20mA。
所以,这里计算它的电流为:I 2.4 1.8 11.76 mA
51
7
用单片机点亮发光二极管?
思考:可不可以正接P0.0,负接二极管阴极?
8
单片机的输入/输出电流:
根据AT89C51 的芯片手册可知:
基于单片机的LED点阵广告牌设计说明

编号本科生毕业设计基于单片机的LED点阵广告牌设计LED dot matrix billboard design based on singlechip学生姓名专业学号指导教师学院二〇一五年六月毕业设计(论文)原创承诺书1.本人承诺:所呈交的毕业设计(论文)《基于单片机的LED点阵广告牌设计》,是认真学习理解学校的《理工大学本科毕业设计(论文)工作条例》后,在教师的指导下,保质保量独立地完成了任务书中规定的容,不弄虚作假,不抄袭别人的工作容。
2.本人在毕业设计(论文)中引用他人的观点和研究成果,均在文中加以注释或以参考文献形式列出,对本文的研究工作做出重要贡献的个人和集体均已在文中注明。
3.在毕业设计(论文)中对侵犯任何方面知识产权的行为,由本人承担相应的法律责任。
4.本人完全了解学校关于保存、使用毕业设计(论文)的规定,即:按照学校要求提交论文和相关材料的印刷本和电子版本;同意学校保留毕业设计(论文)的复印件和电子版本,允许被查阅和借阅;学校可以采用影印、缩印或其他复制手段保存毕业设计(论文),可以公布其中的全部或部分容。
以上承诺的法律结果将完全由本人承担!作者签名:年月日摘要本设计使用AT89C51单片机作为主控制模块,利用简单的外围电路来驱动64×16的LED点阵显示屏。
利用其本身强大的功能,可以很方便的实现单片机与PC机间的数据传输及存储,并能用软件方便的进行显示容的变化,另一方面点阵显示屏广泛的应用于公共场所,所以本设计具有很强的实用性。
本LED显示屏能够以动态扫描的方式同时显示4个16×16点阵汉字,并能通过软件修改显示容和效果。
把字符码存储在空闲的单片机程序存储器空间,使本LED显示系统能掉电存储1024个字符。
设计中采用了SPI接口的GB2312标准字库。
因为采用串行传输方式,使本系统的可扩展性得到提升,便于多个显示单元的级联。
本文从LED的显示原理入手,详细阐述了LED动态显示的过程以及硬件电路的设计。
基于51单片机4乘4矩阵键盘的设计

case 0x7d:KEY=7;break;
case 0xeb:KEY=8;break;
case 0xdb:KEY=9;break;
case 0xbb:KEY=10;break;
case 0x7b:KEY=11;break;
case 0xe7:KEY=12;break;
控制任务:
编程实现4乘4的矩阵键盘控制连接在P0口和P1口上的16个LED,当按下某键并释放后只有对应的LED灯亮,例如按S0后D0亮,按S1后D1亮。
程序及仿真:
#include<reg51.h>
unsigned char code led[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
b=P2;
a=a|b;
switch(a)
{
case 0xee:KEY=0;break;
case 0xde:KEY=1;break;
case 0xbe:KEY=2;break;
case 0x7e:KEY=3;break;
case 0xed:KEY=4;break;
case 0xdd:KEY=5;break;
{
P0=0xff;
P1=led[n-8];
}}
int main(void)
{
whilsplay(KEY);
}
return 0;
}
更多资源,请关注微博“风竹弈星”,私聊。
unsigned char KEY=0xff;
void keyscan(void)
{
unsigned char a,b;
P2=0xf0;//高四位作为输入(高电平),低四位输出低电平
基于STC51单片机的LED点阵游戏机的设计开发
理论与研究西部皮革2018年2月基于STC 51单片机的LED .游戏机的设计开发吕达,池文慧(包头职业技术学院,内蒙古包头014030)摘要:现代LED 点阵显示模块的迅速发展,许多研究领域已经研究非常深刻且迅速发展,是用LED 点阵显示模块点阵显示 为图 文字,是非 活方便的,具有感 。
对在 大 来说,课上的许多知识永远都是理论,本文主要通过工作室学生的研究设计,利用单片机驱动LED 显示贪食蛇游戏等,基于STC 51单片机对LED 点阵游戏机设计、开发与实现方法进行讨 论,其主要目的是综合大学所学内容进行整合与运用,知识的与拓展。
关键词:显 块;单片;点阵中图分类号:G 250文献标志码:A文章编号$ 1671 -1602 (2018) 02 -0064 -01引言片 随着大规模集成电路的发展,将CPU 、RAM 、ROM 、时/计 多种WO 接口集成在一个小的芯片上,形成 片计算机, 片 LED 实例化,设计一个LED . 图像的 。
STC 51型片 LED 显方法。
输出号频率 通 片 实现,用8"8LED 进行游戏的设计,通 动 可以 图案 。
进行操控时,LED . 会更据自己 的程序作出相应的 。
设计需要 大量相关资料,以 熟练的单片 程技术、电子产品 与调试技术以及细致的焊接 ,并进行设计、安装与调试,最后完成视频的录制。
1 设计方案本设计是基于8 " 8LED 点阵的 系统的设计与开发, 片STC 51片机。
本设计的目的是为了将电子产品安装与调试、单片机 原理、传感器技术等课程的知识点与技能点进行整合, 设计能力及实践动手能力,发现问题、分析问题、解 题的能力。
系统要求设计一个8 " 8LED _ 需要有按键进行,它要 中 部分,LED 部分以及电源部分组成,如图1 :图1单片机 结构图方式有两种, LED 点阵 , LED 点阵焊接容易, 效果好,电子元件 。
51单片机简易计算器设计报告
51单片机简易计算器设计报告
本文将介绍51单片机简易计算器的设计报告。
该计算器通过
16位的LCD显示屏实现了基本计算功能,包括加、减、乘、除、取反、开方等。
1. 硬件设计
该计算器的核心部件是STC89C52单片机。
STC89C52是一种
高性能、低功耗的8位单片机,拥有8KB的Flash程序存储器和128字节的内部RAM,可提供多种功能和通讯接口。
通过
I/O口与LCD模块通讯,实现输出功能。
该计算器使用16位的LCD显示屏,显示范围为-99.99~99.99,共有6个数字位。
显示屏使用了ST7920控制器,可通过串行、并行等多种方式控制。
2. 软件设计
该计算器的软件设计主要包括三部分:键盘扫描,计算功能和LCD显示。
键盘扫描:该计算器采用4x5矩阵键盘,通过程序对键盘进行扫描,实现对不同按键的检测。
计算功能:该计算器可以实现基本的四则运算、取反、开方等功能。
对于四则运算,通过栈来实现计算,将运算符压入栈中,然后将操作数从栈中取出进行计算。
LCD显示:该计算器使用16位的LCD显示屏,通过程序控制数据和命令的传输,将计算结果显示在LCD屏幕上。
3. 总结
通过对51单片机简易计算器的设计报告,可以看出该计算器实现了基本的计算功能,通过硬件设计和软件设计相结合,将计算器的功能实现得十分完整。
该计算器的设计初步掌握了51单片机的应用,有助于后续项目的开展。
点阵屏显示原理及实验详解讲解
点阵屏显示原理及实验详解讲解标题:LED点阵屏学习攻略共享资料LED点阵屏学习攻略在经历了将近一个学期断断续续的点阵屏学习后,最后终于在AVR平台下完成了128*32点阵屏的无闪烁显示。
现把整个学习过程总结如下:无论是51单片机还是AVR单片机,点阵屏的显示原理是一样的,所以首先从51讲起。
说明:以下所有试验如无特殊说明均在Keil uVision3 + Proteus 6.9 SP5下仿真完成。
一.基于51的点阵屏显示:(1)点亮第一个8*8点阵:1.首先在Proteus下选择我们需要的元件,AT89C52、74LS138、MATRIX-8*8-GREEN(在这里使用绿色的点阵)。
在Proteus 6.9中8*8的点阵总共有四种颜色,分别为MATRIX-8*8-GREEN,MATRIX-8*8-BLUE,MATRIX-8*8-ORANGE ,MATRIX-8*8-RED。
在这里请大家牢记:红色的为上列选下行选;其它颜色的为上行选下列选!而所有的点阵都是高电平选中列,低电平选中行!也就是说如果某一个点所处的行信号为低,列信号为高,则该点被点亮!此结论是我们编程的基础。
2.在选择完以上三个元件后,我们开始布线,具体如下图:这里P2是列选,P3连接38译码器后作为行选。
选择38译码器的原因:38译码器每次可输出相应一个I/O口的低电平,正好与点阵屏的低电平选中行相对,并且节省了I/O口,大大方便了我们的编程和以后的扩展。
3.下面让我们把它点亮,先看一个简单的程序:(将奇数行偶数列的点点亮,效果如下图)下面是源代码:/************8*8LED点阵屏显示*****************/#includevoid delay(int z) //延时函数{int x,y;for(x=0;x<z;x++)< p="">for(y=0;y<110;y++);}void main(){while(1){P3=0; //行选,选择第一行P2=0x55; //列选,即该行显示的数据delay(5); //延时/*****下同*****/P3=2; //第三行P2=0x55;delay(5);P3=4; //第五行P2=0x55;delay(5);P3=6; //第七行P2=0x55;delay(5);}}上面的程序实现了将此8*8点阵的奇数行偶数列的点点亮的功能。
51单片机与HT1632C控制HL2388点阵模块测试程序
/******HT1632C控制HL2388点阵模块测试程序************************************编译器:KeilMCU:SST89E58MCU晶振:24M注:在选择HT1632C的COM_OPTION模式时,N-MOS为灌电流模式,P-MOS为拉电流模式。
通常的接法是N-MOS。
本程序实现的效果:COM隔列亮起。
***********************************************/#include<reg52.h>#include<string.h>/******************指令表**********************/#define SYS_DIS 0x00 //关闭系统震荡#define SYS_EN 0x01 //打开系统震荡#define LED_OFF 0x02 //关闭LED显示#define LED_ON 0x03 //打开LED显示#define BLINK_OFF 0x08 //关闭闪烁#define BLINK_ON 0x09 //打开闪烁#define SLAVE_MODE 0x10 //从模式#define RC_MASTER_MODE 0x18 //内部RC时钟#define COM_OPTION 0x24 //24:16COM,NMOS。
C:COM,PMOS。
#define PWM_DUTY 0xAE //PWM亮度控制/****************引脚定义**********************/sbit cs1=P1^0;sbit cs2=P1^1;sbit rd=P3^7;sbit wr=P3^6;sbit dat=P1^2;void HT1632C_Write(unsigned char Data,unsigned char cnt) //MCU向HT1632C写数据函数,高位在前{unsigned char i;for(i=0;i<cnt;i++){wr=0;if(Data&0x80)dat=1;elsedat=0;Data<<=1;wr=1;}void HT1632C_Write_CMD(unsigned char cmd) //MCU向HT1632c写命令{cs1=0;HT1632C_Write(0x80,3); //ID:100HT1632C_Write(cmd,9); //命令数据位,第位为cs1=1;}void HT1632C_Write_DATA(unsigned char Addr,unsigned char p,unsigned char cnt)//指定起始地址连续写入数据,cnt为写入数据个数,每个数据按位算{unsigned char i;cs1=0;HT1632C_Write(0xa0,3); //ID:101HT1632C_Write(Addr<<1,7);for(i=0;i<cnt;i++){HT1632C_Write(p,8);}cs1=1;}void HT1632C_clr(void) //清屏函数{unsigned char i;cs1=0;HT1632C_Write(0xa0,3);HT1632C_Write(0x00,7);for(i=0;i<48;i++)HT1632C_Write(0,8);cs1=1;}void HT1632C_Init(void) //HT1632C初始化函数{cs1=1;cs2=1;wr=1;dat=1;HT1632C_Write_CMD(SYS_DIS); //关闭HT1632C内部RC时钟HT1632C_Write_CMD(COM_OPTION); //选择HT1632C工作模式,COM,NMOS模式HT1632C_Write_CMD(RC_MASTER_MODE); //选择内部RC时钟HT1632C_Write_CMD(SYS_EN); //打开HT1632C内部RC时钟HT1632C_Write_CMD(PWM_DUTY); //PWM亮度设置HT1632C_Write_CMD(BLINK_OFF); //关闭闪烁HT1632C_Write_CMD(LED_ON); //打开LED显示void main(void){unsigned char temp=0xAA;HT1632C_Init();HT1632C_clr();HT1632C_Write_DATA(0x00,temp,48);for(;;);}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
班级:电信4班 姓名:邱佳奇 学号:2220081156 一.实验目的 用TOP-23088DH-U 8x8LED点阵块设计制作一个8×16点阵汉字显示器,通过51单片机作为控制系统,由8255的A口为段数据口向两块点阵提供数据,B口提供扫描信息,通过74LS154译码后进行扫描。同时C口接3个开关,形成控制功能选择。 二.设计要求 1、能显示16×8的汉字,显示“JAY.”; 2、通过按键控制可以改变显示的汉字,图形和符号; 3、通过按键控制可以实现汉字动态显示“大连”; 4、可以实现简单的图形的从外向内周期显示; 5、增加了驱动电路,提高了现实亮度。
三.实验元器件
四.原理分析 TOP-23088DH-U 8x8LED点阵电路原理图及其使用说明 有标记的一侧 6 3 12 1 14 15 2 4
需要器件名称 数量 8051单片机 1 74LS154 1 8255(实验箱集成) 1 74LS244 1 面包板 3 导线 若干 开关(实验箱集成) 3 TOP-23088DH-U 8x8LED 2 正面图,脚线分布 8 13 11 5 16 7 10 9 说明: TOP-23088DH-U 8x8LED点阵属于共阴极点阵 其中 1至8 控制行 行为阳极 低电平1有效 9至16 控制列 列为阴极 高电平0有效 要点亮某盏小灯时,应先把小灯所位置的行置于低电平。然后控制列的高电平 编程时按“高位往低位”的顺序编写代码 如果,当你所选购的8x8LED点阵型号是别的型号,而你又没有得到相关电路图时,可以自己用数字万用表去检测。 方法如下: 1.以有标记的那一端在上,建立坐标系。 2.将数字万用表调到测试二极管的那端,如后将红笔固定在某一引脚上,然后将黑笔分别与其他引脚相接。观察哪一行或者那一列的小灯是否被点亮,然后记下坐标。如果小灯没亮,则将黑笔与红笔换位,再重复测量。 3.然后重复上述步骤2。之后整理所得的数据,即可得到该8x8LED点阵的电路图了。
点阵模块图如下: 如上图所示,本实验通过列扫描方式,扫描同时给行线送显示数据。当扫描到某列,则该列选通,其他列截止,选通瞬间送显示数据,则所对应的二极管亮。
显示的基本原理: 点阵依靠循环点亮每一列(或行),快速循环形成一屏图像,而每一屏快速交替,可进一步形成动画的效果。 五.实验方案
(1)方案论证 控制模块 整个系统由8051、74LS154,8255组成,其中,8051,8255,以及开关都集成在实验箱上。并且集成了时钟等必须器件。
74LS154 是4线转16线译码器,4线端接8255的PB.0-PB.3口接收列扫描信息,16线端低电平有效,控制点阵的16列
74LS244 是对列的驱动,8255的PA.0-PA.7用于将行扫描数据进行高速串-并转换,实验箱内部便可提供较大电流总够控制点阵的8行,这样,点阵的128个点中被选通的就亮。
显示模块 由2块TOP-23088DH-U 8x8LED点阵组成
(2)硬件连接 (3)流程图
( (4)软件部分 编程思路为:先对相关变量进行初始化,循环扫描点亮16列LED,一帧图像扫描完毕后,列指针向右移动一位,再扫描下一帧图像。依此类推,列指针共向右移动16位,这样主观上就感觉向左滚动,移动一个汉字(列指针右移16位)后,字指针指向下一个汉字,这样就能在显示屏上看到汉字滚动。 (5)实验程序 ORG 0000H LJMP START ORG 3000H START:MOV DPTR,#8003H MOV A,#81H MOVX @DPTR,A MOV R6,#2 MOV R7,#10H MOV DPTR,#8002H MOVX A,@DPTR JNB ACC.0,L1 JNB ACC.1,L2 JNB ACC.2,L3 SJMP START L1: MOV R0,#00H MOV R1,#00H LOOP1: MOV A,R1 MOV DPTR,#8001H MOVX @DPTR,A MOV DPTR,#TAB1 MOV A,R0 MOVC A,@A+DPTR MOV DPTR,#8000H MOVX @DPTR,A LCALL DELAY INC R0 INC R1 DJNZ R7,LOOP1 MOV R7,#10H DJNZ R6,L1 LJMP START
L2: MOV R4,#00H MOV A,R4 MOV R0,A LOOP2: MOV R1,#00H KK2: MOV A,R1 MOV DPTR,#8001H MOVX @DPTR,A
MOV DPTR,#TAB2 MOV A,R0 MOVC A,@A+DPTR MOV DPTR,#8000H MOVX @DPTR,A INC R0 INC R1 LCALL DELAY DJNZ R7,KK2 MOV A,R4 MOV R0,A MOV R7,#10H DJNZ R6,LOOP2 LCALL DELAY INC R4 MOV A,R4 MOV R0,A ; MOV R7,#10H MOV R6,#02H CJNE R4, #16,LOOP2 LJMP START L3: MOV R4,#00H MOV R5,#08H MOV A,R4 MOV R0,A MOV R1,#00H LOOP3: MOV A,R1 MOV DPTR,#8001H MOVX @DPTR,A MOV DPTR,#TAB3 MOV A,R0 MOVC A,@A+DPTR MOV DPTR,#8000H MOVX @DPTR,A LCALL DELAY INC R0 INC R1 DJNZ R7,LOOP3 MOV R7,#10H MOV A,R4 MOV R0,A DJNZ R6,LOOP3 MOV R6,#2 MOV A,#16 ADD A,R4 MOV R4,A MOV R0,A DJNZ R5,LOOP3 LJMP START DELAY:MOV R2,#0FH PP:MOV R3,#1FH DJNZ R3,$ DJNZ R2,PP RET
TAB1: DB 60H,80H,80H,80H,3FH,0FCH,12H,11 H,12H,0FCH,01H,02H,0FCH,02H,01H,80H TAB2: DB 04H,7FH,84H,0FCH,00H,78H,48H,78H,00H,04H,8AH,79H,08H,89H,0FAH,04H DB 04H,7FH,84H,0FCH,00H,78H,48H,78H,00H,04H,8AH,79H,08H,89H,0FAH,04H
TAB3: DB 0FFH,81H,81H,81H,81H,81H,81H,0FFH,00H,00H,00H,00H,00H,00H,00H,00H DB 00H,7EH,42H,42H,42H,42H,7EH,00H, 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,3CH,24H,24H,3CH,00H,00H, 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,18H,18H,00H,00H,00H, 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H, 00H,00H,00H,18H,18H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H, 00H,00H,3CH,24H,24H,3CH,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H, 00H,7EH,42H,42H,42H,42H,7EH,00H DB 00H,00H,00H,00H,00H,00H,00H,00H, 0FFH,81H,81H,81H,81H,81H,81H,0FFH END
六.实际制作与调试
(1)实际制作 使用keil先对软件程序进行编译测试并进行proteus仿真,调试成功后开始硬件部分。 再编一段小程序用来测试硬件,发现LED有显示,即可向下进行,在这个环节上,所编程序应将字型表先全设为0FFH,因为只有让LED全点亮才能测试出所有线路,LED,8051和8255能否正常工作、点阵的极性及是否有坏点。
在制作过程中,由于LED管脚并不是与每一行每一列一一对应的,所以上网站找到了关于该点阵的资料。之后在用仪器测试74LS154,74LS244是否正常,然后按照之前设计好的线路连接硬件线路,电路连接需要仔细。