8×8点阵LED原理及电路图
- 格式:doc
- 大小:59.50 KB
- 文档页数:6
8×8点阵LED原理及电路图2010-01-10 11:26:18 来源:互联网电子工程师论坛点阵LED原理及电路图8×8 点阵LED的工作原理。
图(1)为8×8点阵LED外观及引脚图,其等效电路如图(2)所示,只要其对应的X、Y轴顺向偏压,即可使LED发亮。
例如如果想使左上角LED点亮,则Y0=1,X0=0即可。
应用时限流电阻可以放在X轴或Y轴。
图(1)8×8点阵LED外观及引脚图图(2)8×8点阵LED等效电路图(3)8×8点阵LED电路原理点阵LED扫描法介绍点阵LED一般采用扫描式显示,实际运用分为三种方式:(1)点扫描;(2)行扫描;(3)列扫描。
若使用第一种方式,其扫描频率必须大于16×64=1024Hz,周期小于1ms即可。
若使用第二和第三种方式,则频率必须大于16×8=128Hz,周期小于7.8ms即可符合视觉暂留要求。
此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。
如图3所示。
下面是一个用P1口控制扫描,用74HC164控制显示输出,使8×8点阵LED显示一个“×”的例程。
如图(3)所示。
CLK EQU P3.2DINA EQU P3.3DINB EQU P3.4CLEAR EQU P3.5ORG 0000HAJMP MAINORG 0100HMAIN:MOV SP,#70H ;设堆栈指针MOV 50H,#07EH ;设置发送的列数据(Y0~Y7)MOV 51H,#0BDHMOV 52H,#0DBHMOV 53H,#0E7HMOV 54H,#0E7HMOV 55H,#0DBHMOV 56H,#0BDHMOV 57H,#07EHCLR CLEAR ;初始化I/O口SETB CLKSETB DINASETB DINBmainloop:mov r6,#8h ;设置扫描次数mov dptr,#09000h ;读取扫描端口数据MOV R1,#50H ;指定列数据指针flashcy:MOV A,@R1 ;读取列数据MOV R0,AINC R1 ;列数据指针加1CLR AMOVC A,@A+DPTRMOV P1,#0FFHLCALL SENDTOMOV P1,AINC DPTRLCALL DELAYDJNZ R6,flashcySJMP MAINLOOPsendt ;发送数据子程序PUSH ACCCLR CLKSENDTIME:MOV A,R0CLR CSENDCY:RRC AMOV DINA,CSETB CLKCLR CLKDJNZ R7,SENDCYPOP ACCRETDELAY: MOV R7,#01 ;延时子程序DELAY0: MOV R4,#17DELAY1: MOV R3,#28DJNZ R3,$DJNZ R4,DELAY1DJNZ R7,DELAY0RETORG 09000HDB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH ;X0~X7(列扫描) end。
首先我们看一下8*8led显示屏?的原理从图中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;要实现显示图形或字体,只需考虑其显示方式。
通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。
例如:要实现一根柱形的亮法,如图所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:一根竖柱:对应的列置1,而行则采用扫描的方法来实现。
一根横柱:对应的行置0,而列则采用扫描的方法来实现下图是4个8*8LED组成的显示屏。
这里我把点阵LED显示屏制作的电路原理分成两个部分来介绍即显示屏电路和显示屏驱动电路。
一、显示屏电路本人用的是共阴极的8*8点阵屏,在市场上是比较容易买到,下图是8*8点阵屏的实物图。
点阵屏有两个类型,一类为共阴极(左),另一类则为共阳极(右),下图给出了两种类型的内部电路原理及相应的管脚图。
LED阵列的显示方式是按显示编码的顺序,一行一行地显示。
每一行的显示时间大约为4ms,由于人类的视觉暂留现象,将感觉到8行LED是在同时显示的。
若显示的时间太短,则亮度不够,若显示的时间太长,将会感觉到闪烁。
本文采用低电平逐行扫描,高电平输出显示信号。
即轮流给行信号输出低电平,在任意时刻只有一行发光二极管是处于可以被点亮的状态,其它行都处于熄灭状态。
为了方便调试本文把4块8*8组成的16*16的点阵屏的行信号扫描输出管脚和列信号显示输出管脚分别引到显示屏的两边。
Protel原理图如下:如图4 所示的原理图中的Si(i=1,2,3,…,16) 代表行扫描信号输出,Di(i=1,2,3,…,16)代表列显示信号输出。
实物电路图的正反面如下:二、显示屏驱动电路显示屏驱动电路的原理图如下:显示屏驱动电路主要由主芯片控制电路、电源电路、控制信号放大电路等组成。
首先我们看一下8*8led显示屏?的原理从图中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;要实现显示图形或字体,只需考虑其显示方式。
通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。
例如:要实现一根柱形的亮法,如图所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:一根竖柱:对应的列置1,而行则采用扫描的方法来实现。
一根横柱:对应的行置0,而列则采用扫描的方法来实现下图是4个8*8LED组成的显示屏。
这里我把点阵LED显示屏制作的电路原理分成两个部分来介绍即显示屏电路和显示屏驱动电路。
一、显示屏电路本人用的是共阴极的8*8点阵屏,在市场上是比较容易买到,下图是8*8点阵屏的实物图。
点阵屏有两个类型,一类为共阴极(左),另一类则为共阳极(右),下图给出了两种类型的内部电路原理及相应的管脚图。
LED阵列的显示方式是按显示编码的顺序,一行一行地显示。
每一行的显示时间大约为4ms,由于人类的视觉暂留现象,将感觉到8行LED是在同时显示的。
若显示的时间太短,则亮度不够,若显示的时间太长,将会感觉到闪烁。
本文采用低电平逐行扫描,高电平输出显示信号。
即轮流给行信号输出低电平,在任意时刻只有一行发光二极管是处于可以被点亮的状态,其它行都处于熄灭状态。
为了方便调试本文把4块8*8组成的16*16的点阵屏的行信号扫描输出管脚和列信号显示输出管脚分别引到显示屏的两边。
Protel原理图如下:如图4 所示的原理图中的Si(i=1,2,3,…,16) 代表行扫描信号输出,Di(i=1,2,3,…,16)代表列显示信号输出。
实物电路图的正反面如下:二、显示屏驱动电路显示屏驱动电路的原理图如下:显示屏驱动电路主要由主芯片控制电路、电源电路、控制信号放大电路等组成。
课程设计报告课程设计名称:微机原理与接口技术系别:三系学生姓名:缪广东班级:10计本(1)学号:20100303130成绩:指导教师:巫宗宾开课时间:2012—2013 学年 1 学期一.设计题目LED显示系统设计二.主要内容课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。
它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。
通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。
让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。
通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。
通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。
在课程设计时,1人一组,设计报告由学生独立完成,不得互相抄袭。
教师的主导作用主要在于指明设计思路,启发学生独立设计的思路,解答疑难问题和按设计进度进行阶段审查。
学生必须发挥自身学习的主动性和能动性,主动思考问题、分析问题和解决问题,而不应处处被动地依赖指导老师。
学生在设计中可以引用所需的参考资料,避免重复工作,加快设计进程,但必须和题目的要求相符合,保证设计的正确。
学生学会掌握和使用各种已有的技术资料,不能盲目地、机械地抄袭资料,必须具体分析,使设计质量和设计能力都获得提高。
贵州大学明德学院课程设计课程单片机原理及应用课程设计题目 8X8点阵LED电路设计院系明德学院机电系专业班级机械设计制造及其自动化学生姓名陈伟学生学号 1320031174指导教师王许2016年5月 9 日贵州大学课程设计任务书课程单片机原理及应用课程设计题目8X8点阵LED电路设计专业班级:机械设计制造及其自动化姓名:陈伟学号:1320031174一、设计目的:训练学生综合运用己学课程的基本知识,独立进行单片机应用技术开发工作,掌握单片机程序设计、调试,应用电路设计、分析及调试检测。
二、设计要求:1. 使用MCS-51单片机设计8X8点阵LED电路;2. 选用8X8点阵LED显示器,一个发光二极管控制点阵中的一个点,延时时间为lms;3. 硬件设计根据设计的任务选定合适的单片机,根据控制对象设计接口电路。
设计的单元电路必须有工作原理,器件的作用,分析和计算过程;4. 软件设计根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单;5. 原理图设计根据所确定的设计电路,利用Protel等有关工具软件绘制电路原理图、PCB板图、提供元器件清单。
三、参考资料:[1] 单片微型计算机与接口技术,李群芳、黄建编著,电子工业出版社;[2] 单片机原理及应用,张毅刚编著,高等教育出版社;[3] 51系列单片机及C51程序设计,王建校,杨建国等编著,科学出版社;[4] 单片机原理及接口技术,李朝青编著,北京航空航天大学出版社;完成期限2012.3.5—2012.3.9指导教师专业负责人2012年 3 月2 日目录第1章概述 (1)第2章设计思路及方案 (2)2.1设计思路 (2)2.2方案设计 (2)第3章硬件电路设计 (4)3.1控制电路设计 (4)3.2主要功能特性 (5)3.3电源电路 (6)3.4 复位电路 (6)3.5 主体电路 (7)3.6 硬件电路连接 (8)3.7 显示部分 (8)第4章程序设计 (10)4.1 主程序 (10)4.2 初始化程序 (10)4.3 显示程序 (11)4.4 完整程序 (12)结论 (13)参考文献 (14)致谢 (15)附录1 完整程序 (16)附录2 PCB图 (22)附录3 元件清单 (23)第1章概述随着科学技术的发展,社会不断的进步,电子事业也有着突飞猛进的改革。
1.实验任务在8X8 LED点阵上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去。
2.电路原理图图4.24.13.硬件电路连线(1).把“单片机系统”区域中的P1端口用8芯排芯连接到“点阵模块”区域中的“DR1-DR8”端口上;(2).把“单片机系统”区域中的P3端口用8芯排芯连接到“点阵模块”区域中的“DC1-DC8”端口上;4.程序设计内容(1). 8X8 点阵LED工作原理说明8X8点阵LED结构如下图所示图4.24.2从图4.24.2中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图49所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:一根竖柱:对应的列置1,而行则采用扫描的方法来实现。
一根横柱:对应的行置0,而列则采用扫描的方法来实现。
5.汇编源程序ORG 00HSTART: NOPMOV R3,#3LOP2: MOV R4,#8MOV R2,#0LOP1: MOV P1,#0FFHMOV DPTR,#TABAMOV A,R2MOVC A,@A+DPTRMOV P3,AINC R2LCALL DELAYDJNZ R4,LOP1DJNZ R3,LOP2MOV R3,#3LOP4: MOV R4,#8MOV R2,#7LOP3: MOV P1,#0FFHMOV DPTR,#TABAMOV A,R2MOVC A,@A+DPTRMOV P3,ADEC R2LCALL DELAYDJNZ R4,LOP3 DJNZ R3,LOP4MOV R3,#3LOP6: MOV R4,#8 MOV R2,#0LOP5: MOV P3,#00H MOV DPTR,#TABB MOV A,R2MOVC A,@A+DPTR MOV P1,AINC R2LCALL DELAYDJNZ R4,LOP5 DJNZ R3,LOP6MOV R3,#3LOP8: MOV R4,#8 MOV R2,#7LOP7: MOV P3,#00H MOV DPTR,#TABB MOV A,R2MOVC A,@A+DPTR MOV P1,ADEC R2LCALL DELAYDJNZ R4,LOP7DJNZ R3,LOP8LJMP STARTDELAY: MOV R5,#10D2: MOV R6,#20D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1DJNZ R5,D2RETTABA: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FHTABB: DB 01H,02H,04H,08H,10H,20H,40H,80HEND6. C语言源程序#include <AT89X52.H>unsigned char code taba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char code tabb[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};void delay(void){unsigned char i,j;for(i=10;i>0;i--)for(j=248;j>0;j--);}void delay1(void){unsigned char i,j,k;for(k=10;k>0;k--)for(i=20;i>0;i--)for(j=248;j>0;j--);}void main(void){unsigned char i,j;while(1){for(j=0;j<3;j++) //from left to right 3 time {for(i=0;i<8;i++){P3=taba[i];P1=0xff;delay1();}}for(j=0;j<3;j++) //from right to left 3 time {for(i=0;i<8;i++){P3=taba[7-i];P1=0xff;delay1();}}for(j=0;j<3;j++) //from top to bottom 3 time {for(i=0;i<8;i++){P3=0x00;P1=tabb[7-i];delay1();}}for(j=0;j<3;j++) //from bottom to top 3 time {for(i=0;i<8;i++){P3=0x00;P1=tabb[i];delay1();}}} }。
8X8 LED点阵显示原理与编程技术1.实验任务在8X8 LED点阵上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去。
2.实验目的掌握用单片机I/O口进行LED点阵扫描显示。
3.实验工具PROTEUS6.9, Keil uVision2软件4. 原理图5. 相关知识1)LED点阵八十年代以来出现了组合型IED点阵显示器,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成。
具有高亮度、功耗低、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。
点阵显示器有单色和双色两类,可显示红,黄,绿,橙等。
LED点阵有4×4、4×8、5×7、5×8、8×8、16×16、24×24、40×40等多种;根据像素的数目分为等,双基色、三基色等,根据像素颜色的不同所显示的文字、图象等内容的颜色也不同,单基色点阵只能显示固定色彩如红、绿、黄等单色,双基色和三基色点阵显示内容的颜色由像素内不同颜色发光二极管点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极管的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示。
图1--5示出几种LED点阵显示器的内部电路结构和外型规格,其它型号点阵的结构与引脚可试验获得。
2)LED点阵扫描驱动方案:由LED点阵显示器的内部结构可知,器件宜采用动态扫描驱动方式工作,由于LED管芯大多为高亮度型,因此某行或某列的单体LED驱动电流可选用窄脉冲,但其平均电流应限制在20mA内.多数点阵显示器的单体LED的正向压降约在2V 左右.但大亮点∮10的点阵显示器单体LED的正向压降约为6V。
大屏幕显示系统一般是将由多个LED点阵组成的小模块以搭积木的方式组合而成的,每一个小模块都有自己的独立的控制系统,组合在一起后只要引入一个总控制器控制各模块的命令和数据即可,这种方法既简单而且具有易展、易维修的特点。
课程设计报告题目:8X8 LED点阵数字显示电路院〔系〕:专业:班级:姓名:设计日期:报告书写要求1、报告的撰写要求条理清晰、语言准确、表述简明。
报告中段首空两个字符,中文字体为宋体五号,数字、字符、字母为Times New Roman五号,且单倍行距。
2、报告中插图应与文字紧密配合,文图相符,技术内容正确。
每个图都应配有图题〔由图号和图名组成〕。
图题〔宋体小五号〕置于图下居中,其中图号按顺序编排,图名在图号之后空一格排写。
图中假设有分图时,分图号用(a)、(b)等置于分图之下。
注:框图、流程图〔矢量图〕用专业画图软件。
3、报告中插表应与文字紧密配合,文表相符,技术内容正确。
表格不加左、右边线,上、下线需加粗〔1.5磅〕,每个表应配有表题〔由表号和表名组成〕。
表题〔宋体小五号〕置于表上居中,其中表号按顺序编排,表名在表号之后空一格排写。
4、报告中公式原那么上居中书写。
注:公式编辑器编写。
5、设计报告应按如下内容和顺序A4纸打印、左侧装订成册。
一、设计目的1.掌握数字系统的设计方法;2.掌握硬件描述语言——Verilog HDL;3.掌握模块化设计方法;4.掌握开发软件的使用方法。
二、设计要求1.用8X8LED点阵实现简单字符的显示。
2.LED共阳方式;3.采用扫描的方式显示信息,信息内容可存于文件;4.显示方式:自动滚动或者手动选择;5.完成全部流程:设计标准文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、下载验证等。
三、设计环境计算机、QuatusII开发软件四、设计内容〔设计原理和方案、程序设计、仿真分析和适配〕点阵显示器的设计原理为用一块FPGA芯片控制其显示字符。
将编好的控制程序下载到FPGA芯片,外接5V工作电压,其时钟信号由芯片板上自带晶振提供,外接开关输入控制信号到FPGA芯片,由FPGA具体执行输出点阵显示器各点的控制信号。
如下列图1图1 总原理框图图〔2〕为8×8点阵LED外观及引脚图,其等效电路如图〔3〕所示,只要其对应的X、Y轴顺向偏压,即可使LED发亮。
单片机编程实习实习报告设计题目:单片机控制的8*8点阵专业电子信息科学与技术班级)学号学生姓名2014 年6 月预习报告一、实验目的设计制作一个大屏幕显示器,了解其构成和基本原理。
二、基本要求用实验台上的8*8点阵显示汉字“河南农业大学理学院电子信息科学与技术系”。
汉字编码可用“取字模软件提取”。
三、实验内容1、硬件部分:硬件实现框图:各部分说明:1.晶振电路:由51单片机本身时钟段和晶振提供,提供时钟频率。
2.复位电路:由电阻,电容以及开关构成的电路接至51单片机的复位端,起到复位作用。
3.51单片机:存储和处理程序。
4.显示电路:其中8*8LED点阵用于显示输出,限流电阻用于保护8*8LED。
5.驱动电路:用于驱动8*8点阵LED显示设备,使51单片机所发出的信号的电压相对稳定,增加负载能力。
6.5V电源:提供设备所需的电压,功耗。
2、软件部分:1、汉字的点阵显示:把每一个点理解为一个象素,而把每一个字的字形理解为一幅图像。
因而可以对汉字进行拆分,使8*8中与汉字对应的象素(二极管)进行点亮,就可以达到显示汉字的目的,并以发光的象素位编为0不发光的象素位为1进行编码,就可以得知每个汉字对应的代码,将其存储,通过时钟的控制并加以中断延迟,而后依次传输给8*8LED进行显示,就可以实现最终的汉字显示效果。
2.规划的编程流程:3具体程序:ORG 0000HLOOP: MOV A,#0FFHMOV P0,AMOV R2,#200D100000000MS: MOV R3,#250DJNZ R3,$DJNZ R2,D100000000MSMov 20h ,#00hL100: MOV R1,#20L8: MOV R6,#8MOV R4,#80HMOV R0,20HL3: MOV A,R4MOV P1,ACPL ARR ACPL AMOV R4,AMOV A, R0MOV DPTR,#TABLEMOVC A,@A+DPTRMOV P0,AINC R0MOV R3,#02DELAY2: MOV R5,#248DJNZ R5,$DJNZ R3,DELAY2MOV A,#00HMOV P0,ADJNZ R6,L3DJNZ R1,L8MOV 20H,R0CJNE R0,#152,L100JMP LOOPTABLE:DB 1FH,0F5H,0F5H,0F5H,0F5H,0F5H,1FH,0HDB 24H,7CH,84H,2FH,0F4H,54H,94H,4HDB 12H,52H,3CH,0F0H,3EH,52H,12H,12HDB 0H,7CH,5CH, 0FFH, 5DH, 5DH,7BH, 0HDB 4H,44H, 44H,44H,44H,44H,44H, 4HEND1、Proteus模拟仿真根据所给的PCB板在proteus中选择相应的原件,按PCB 的布线进行连接,即得到了原电路的模拟电路,如下:2.6运行结果在8*8点阵上循环显示昌,华,光,点,二四个字代表本实验的两个人及来自电科二班3.总结通过这次数字电路课程设计,总体来说,我的收获很大。
8×8点阵LED原理及电路图
2010-01-10 11:26:18 来源:互联网电子工程师论坛
点阵LED原理及电路图
8×8 点阵LED的工作原理。
图(1)为8×8点阵LED外观及引脚图,其等效电路如图(2)所示,只要其对应的X、Y轴顺向偏压,即可使LED发亮。
例如如果想使左上角LED点亮,则Y0=1,X0=0即可。
应用时限流电阻可以放在X轴或Y轴。
图(1)8×8点阵LED外观及引脚图
图(2)8×8点阵LED等效电路
图(3)8×8点阵LED电路原理
点阵LED扫描法介绍
点阵LED一般采用扫描式显示,实际运用分为三种方式:
(1)点扫描;
(2)行扫描;
(3)列扫描。
若使用第一种方式,其扫描频率必须大于16×64=1024Hz,周期小于1ms即
可。
若使用第二和第三种方式,则频率必须大于16×8=128Hz,周期小于7.8ms即可符合视觉暂留要求。
此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。
如图3所示。
下面是一个用P1口控制扫描,用74HC164控制显示输出,使8×8点阵LED显示一个“×”的例程。
如图(3)所示。
CLK EQU P3.2
DINA EQU P3.3
DINB EQU P3.4
CLEAR EQU P3.5
ORG 0000H
AJMP MAIN
ORG 0100H
MAIN:
MOV SP,#70H ;设堆栈指针
MOV 50H,#07EH ;设置发送的列数据(Y0~Y7)
MOV 51H,#0BDH
MOV 52H,#0DBH
MOV 53H,#0E7H
MOV 54H,#0E7H
MOV 55H,#0DBH
MOV 56H,#0BDH
MOV 57H,#07EH
CLR CLEAR ;初始化I/O口
SETB CLK
SETB DINA
SETB DINB
mainloop:
mov r6,#8h ;设置扫描次数
mov dptr,#09000h ;读取扫描端口数据
MOV R1,#50H ;指定列数据指针flashcy:
MOV A,@R1 ;读取列数据
MOV R0,A
INC R1 ;列数据指针加1
CLR A
MOVC A,@A+DPTR
MOV P1,#0FFH
LCALL SENDTO
MOV P1,A
INC DPTR
LCALL DELAY
DJNZ R6,flashcy
SJMP MAINLOOP
sendt ;发送数据子程序
PUSH ACC
CLR CLK
SENDTIME:
MOV A,R0
CLR C
SENDCY:
RRC A
MOV DINA,C
SETB CLK
CLR CLK
DJNZ R7,SENDCY
POP ACC
RET
DELAY: MOV R7,#01 ;延时子程序
DELAY0: MOV R4,#17
DELAY1: MOV R3,#28
DJNZ R3,$
DJNZ R4,DELAY1
DJNZ R7,DELAY0
RET
ORG 09000H
DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH ;X0~X7(列扫描) end。