8×8点阵LED原理及应用
- 格式:pdf
- 大小:273.52 KB
- 文档页数:4
引言“单片机课程设计”是单片机原理与接口技术课程的实践性环节。
是在我们学习了《单片机原理与接口技术》等课程的基础上进行的综合性训练,我们组这次训练的课题是“8×8点阵LED显示”。
此次课程设计的课题是针对我们学习《单片机原理与接口技术》这门课程的基础上,并在其辅助下完成的。
此次进行的综合性训练,不仅培养了我如何合理运用课本中所学到的理论知识与实践紧密结合,独立解决实际问题的能力。
通过此次“单片机课程设计”我们应达到以下的基本要求:首先,综合运用单片机原理与接口技术课程中所学到的理论知识来独立完成此次设计课题,培养我们查阅手册和文献资料的良好习惯,以及培养我们独立分析和解决实际问题的能力。
其次,在学习了理论知识的基础上进一步熟悉常用电子器件的类型和特征,并掌握合理选用的原则。
再次,就是学会Protues和keil两种软件的使用的安装与使用技能,以及与同组的组员的团结合作的精神。
最后,为了满足学生对单片机课程设计的实践需求,学校特地给我们提供了为期两周的课程设计时间,这门课程将单片机技术基础理论与实际操作有机地联系起来,意在加深我们对所学理论课程的理解。
通过让我们运用已基本掌握的程序设计与调试、不同功能的单元电路的设计、安装和调试方法,在单元电路设计的基础上,设计出具有各种不同用途的电子装置。
深化所学理论知识,培养综合运用能力,增强独立分析与解决问题的能力。
训练培养严肃认真的工作作风和科学态度。
同时,它也培养我们查阅资料的能力,培养我们的团队精神以及综合设计和实践能力。
就是培养我们严肃认真的工作作风和严谨的科学态度以及学会撰写课程设计报告,为以后毕业论文打好基础。
1设计任务与要求1.1 设计任务1.通过本次课程设计加深对单片机课程的全面认识和掌握,对单片机的应用做进一步的了解。
2.通过本次课程设计将单片机软硬件结合起来,加强理论联系实际的能力。
3.通过本次课程设计提高学生的综合能力、动手能力、文献资料查阅能力,为毕业设计和以后工作打下一个良好的基础。
郑州交通职业学院课程设计论文(设计)论文(设计)题目:4个8*8L E D灯点阵显示所属系别:信息工程系专属班级: 10级电子信息工程技术2班姓名:李洋学号: 201008060830219指导老师:姜海撰写日期: 2011 年 12 月郑州交通职业学院课程设计论文(设计)论文(设计)题目:4个8*8L E D灯点阵显示所属系别:信息工程系专属班级: 10级电子信息工程技术2班姓名:姜永帅学号: 201008060830214指导老师:姜海撰写日期: 2011 年 12 月郑州交通职业学院课程设计论文(设计)论文(设计)题目:4个8*8L E D灯点阵显示所属系别:信息工程系专属班级: 10级电子信息工程技术2班姓名:师改超学号: 201008060830223指导老师:姜海撰写日期: 2011 年 12 月摘要LED是发光二极管Light Emitting Diode的英文缩写, 是一种能够将电能转化为可见光的半导体。
LED点阵是由发光二极管排列组成的显示器件, 在我们日常生活的电器中随处可见,极为普通也广为人知。
特别是它的发光类型属于冷光源,效率及发热量是普通发光器件难以比拟的,它采用低电压扫描驱动,具有:耗电少、使用寿命长、成本低、亮度高、故障少、视角大、可视距离远、规格品、可靠耐用、应用灵活、安全、响应时间短、绿色环保、控制灵活种等特点。
目前LED显示屏作为新一代的信息传播媒体,已经成为城市信息现代化建设的标志。
随着社会经济的不断进步,以及LED显示技术的不断完善,人们对LED显示屏的认识将越来越深入,其应用领域将会越来越广。
关键词:发光二级管,半导体,信息传媒体,LED显示技术引言自20世纪80年代后期开始,随着LED制造技术的不断完善,在国外得到了广泛的应用。
在我国改革开放之后,提别是进入90年代国民经济的高速增长,对公众场合发布信息的需求日益强烈。
而LED显示屏作为信息传播的一种重要手段,已经成为城市信息现代化建设的标志,LED显示屏随着社会经济的不断进步,以及LED制造技术的完善,人们对LED显示屏的认识将会越来越深入,其应用领域将会越来越广;LED显示屏经多年的开发、研制、生产,其技术目前已经成熟。
首先我们看一下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)代表列显示信号输出。
实物电路图的正反面如下:二、显示屏驱动电路显示屏驱动电路的原理图如下:显示屏驱动电路主要由主芯片控制电路、电源电路、控制信号放大电路等组成。
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();}}} }。
2016年电子工程专业2014级卓越工程师班《单片机与微机原理及应用》课程设计报告设计题目: 8*8LED点阵设计专业班级:电子卓越1401班学生姓名:林晓强学生学号:5120141478指导教师:聂诗良、许超(助教)答辩日期:第13周周六上午9点答辩地点:综合楼4-311实验室西南科技大学信息工程学院制2016年5月目录1.摘要 (1)1.1课程设计制作题目及要求 (2)2.系统方案设计 (2)2.1设计思路 (2)2.2总体设计框图 (3)3.硬件设计 (4)3.1 硬件选型 (4)3.2 系统硬件电路原理详图 (5)3.2.1复位电路原理图以及时钟电路原理图 (5)3.3 实际连线详图 (6)3.3.1 8*8LED点阵AD原理图 (7)3.3.2 8*8LED点阵AD PCB图 (7)3.3.3 8*8LED点阵原理仿真 (8)3.3.4 51单片机主控实物图以及原理图 (9)4.软件设计 (9)4.1 软件功能设计 (9)4.2 软件流程设计 (10)4.2.1主流程图 (10)5.软件调试 (11)5.1 单元调试 (11)5.1.1 LED点阵模块测试 (11)5.2 总体测试 (11)6.心得体会 (11)7.参考文献 (12)附录1 (13)附录2 (28)8*8LED点阵设计1摘要(1)近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
(2) LED点阵是由发光二极管排列组成的显示器件, 在我们日常生活的电器中随处可见,极为普通也广为人知。
特别是它的发光类型属于冷光源,效率及发热量是普通发光器件难以比拟的,它采用低电压扫描驱动,具有:耗电少、使用寿命长、成本低、亮度高、故障少、视角大、可视距离远、规格品、可靠耐用、应用灵活、安全、响应时间短、绿色环保、控制灵活种等特点。
1.1摘要:现在的娱乐信息或新闻广告,大多数都是通过小型和大型的显示屏来向社会传递,而这显示屏大多就是由点阵所构成的。
为了适应社会科技的发展,掌握点阵的使用及显示方式,把科学技术应用到实践中。
整机以美国ATMEL 公司生产的40脚单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。
通过该芯片控制一个列驱动74LS245来驱动显示屏显示。
该电子显示屏可以显示各种文字或单色图像,选用1块8×8点阵LED来进行显示。
显示采用动态显示,使得图形或文字能够实现静止、移入移出等多种显示方式。
文中详细介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用说明等。
单片机控制系统程序采用单片机汇编语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。
所显示字符的点阵数据可以自行编写(即直接点阵画图),也可从标准字库中提取。
LED显示以其组构方式灵活、显示稳定、功耗低、寿命长、技术成熟、成本低廉等特点在车站、证券所、运动场馆、交通干道及各种室内/外显示场合的信息发布,公益宣传,环境参数实时,重大活动倒计时等等得到广泛的应用。
经实践证明,该系统显示误差小,性能稳定,结构合理,扩展能力强。
关键字:点阵,单片机,电源,按键,晶振。
8*8 The lattice demonstrationMachine production in the United States ATMEL Corporation AT89C51 single-chip 40 feet at the core, introducing a control system for electronic display LED dot matrix dynamic design and development process. The chip is controlled through a drive out to drive the display shows 74LS245. The electronic screen can display a variety of text or monochrome images, choose an 8 × 8 dot matrix LED to show. Show that the use of dynamic display, making graphics or text can stationary, moved out of the way and many other shows. The article detailed the hardware LED dot matrix display design, the various parts of the hardware circuit of the function and principles of software programming, and the use of descriptions.Single-chip control system using single-chip assembly language program for editing, by programming the corresponding control points of the display LED anode and the negative extreme level, you can control the brightness of the display points out. Shown in the dot matrix character data can be prepared (that is, drawing a direct lattice), can also be extracted from the standard font.LED display with its flexible fabric, indicating a stable, low power consumption, long life, technology is mature, low-cost characteristics of the station, securities, sports venues, transportation corridors and a variety of indoor / outdoor display of information occasions, public advocacy, environmental parameters in real-time, major events and so the countdown to be a wide range of applications.Proven, the system shows error, stable performance, reasonable structure, strong ability to expand.Key words: AT89C51 Micro Controller Unit; LED; Lattice display; Dynamic display; Assembly language.Abstract :the present entertainment information or the news advertisement, majority all is comes through small and the large-scale display monitor to the society to transmit, but this display monitor mostly is constitutes by the lattice.In order to adapt the social science and technology development, the grasping lattice and the nixietube use, apply the science and technology in the practice.Key words : lattice,SCM,power supply,key-press,XTAL。
51单片机8*8点阵LED显示原理及程序更多发布时间:2008年8月16日在8X8点阵LED上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去。
1.程序设计内容8X8点阵LED工作原理说明:8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图49所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:一根竖柱:对应的列置1,而行则采用扫描的方法来实现。
一根横柱:对应的行置0,而列则采用扫描的方法来实现。
2.硬件电路3.汇编源程序ORG 00HSTART: NOPMOV R3,#3LOP2: MOV R4,#8MOV R2,#0LOP1: MOV P1,#0FFHMOV DPTR,#TABAMOV A,R2MOVC A,@A+DPTR MOV P3,AINC R2LCALL DELAY DJNZ R4,LOP1 DJNZ R3,LOP2MOV R3,#3LOP4: MOV R4,#8 MOV R2,#7LOP3: MOV P1,#0FFH MOV DPTR,#TABA MOV A,R2MOVC A,@A+DPTR MOV P3,ADEC R2LCALL DELAY DJNZ 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 DELAY DJNZ R4,LOP5 DJNZ R3,LOP6 MOV 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,07FH TABB: DB 01H,02H,04H,08H,10H,20H,40H,80HEND4.C51语言源程序#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点阵显示器(资料)8X8点阵的实际外观图如下:一共64个发光点构成,上下两排引脚,每排8个,一共16个点阵侧面有文字的那面对准自己。
8X8点阵的显示原理:8X8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1电平,某一列置0电平,则相应的二极管就亮;如要将第一个点点亮,则1脚接高电平a脚接低电平,则第一个点就亮了;如果要将第一行点亮,则第1脚要接高电平,而(a、b、c、d、e、f、g、h )这些引脚接低电平,那么第一行就会点亮;如要将第一列点亮,则第a脚接低电平,而(1、2、3、4、5、6、7、8)接高电平,那么第一列就会点亮.8*8点阵实际的引脚(图一)的不是一排阳极,一排阴极,(就像键盘一样不是abcd按顺序排的)所以焊接有点麻烦,8×8LED点阵引脚图如下:1,2,3,4,5,6,7,8是行(阳极)a,b,c,d,e,f,g,h是列(阴极)//此处说的都是行阳型8*8点阵,行阴的略外面的1~16就是实际的管脚。
移位锁存器74H C595原理74H C595是一个串入并出的芯片,通过一个f o r(i=0;i<8;i++)来存储资料。
具体来说就是第一个时钟信号来到时低位的数据向高位挪动一位,在这个程序中是S H_C P信号,当S H_C P是一个上跳沿时,传入的形参D a t a与0x80相与,得到的数为1,则通过S D A T A置1,否通过置为0,并存储在74H C595的相应位置(最低位即Q0那)上,D S内部也自动左移一位数据然后d a t向左移一位,使次高位变为最高位与0x80相与,并存储。
通过8次后,就可以得到数据,并存储在Q0~Q7中了,这时S T_C P一个上跳沿,数据即送出去了。
与8*8L E D连接如下:【下载本文档,可以自由复制内容或自由编辑修改内容,更多精彩文章,期待你的好评和关注,我将一如既往为您服务】。
8X8点阵原理及驱动8X8点阵的实际外观图如下:一共64个发光点构成,上下两排引脚,每排8个,一共16个点阵侧面有文字的那面对准自己,8X8点阵的显示原理:8X8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1电平,某一列置0电平,则相应的二极管就亮;如要将第一个点点亮,则1脚接高电平a脚接低电平,则第一个点就亮了;如果要将第一行点亮,则第1脚要接高电平,而(a、b、c、d、e、f、g、h)这些引脚接低电平,那么第一行就会点亮;如要将第一列点亮,则第a脚接低电平,而(1、2、3、4、5、6、7、8)接高电平,那么第一列就会点亮.8*8点阵实际的引脚(图一)的不是一排阳极,一排阴极,(就像键盘一样不是abcd按顺序排的)所以焊接有点麻烦,8×8LED点阵引脚图如下:1,2,3,4,5,6,7,8是行(阳极)a,b,c,d,e,f,g,h是列(阴极)//此处说的都是行阳型8*8点阵,行阴的略外面的1~16就是实际的管脚,见图一移位锁存器74H C595原理74H C595是一个串入并出的芯片,通过一个f o r(i=0;i<8;i++)来存储数据。
具体来说就是第一个时钟信号来到时低位的数据向高位挪动一位,在这个程序中是S H_C P信号,当S H_C P是一个上跳沿时,传入的形参D a t a与0x80相与,得到的数为1,则通过D S引脚向595输入1,否输入0,并存储在74H C595的相应位置(最低位即Q0那)上,D S内部也自动左移一位数据然后d a t向左移一位,使次高位变为最高位与0x80相与,并存储。
通过8次后,就可以得到数据,并存储在Q0~Q7中了,这时S T_C P一个上跳沿,数据即送出去了.与8*8L E D连接如下:显示0~59C语言代码:#i n c l u d e<A T89X52.h>#d e f i n e u c h a r u n s i g n e d c h a r#d e f i n e u i n t u n s i g n e d i n tv o i d S e r_I N(u c h a r D a t a){u c h a r i;f o r(i=0;i<8;i++){S H_C P=0;//先置为低D S=D a t a&0x80;//取数据的最高位D a t a<<=1;//讲数据的次高位移到最高位,为下一次取数据做准备S H_C P=1;//再置为高,产生移位时钟上升沿,储存器里的数据移位,数据输入}}v o i d P a r_O U T(v o i d){S T_C P=0;//先置为低S T_C P=1;//再置为高,产生时钟上升沿,上升沿时,数据并行输出}uchar codetab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //列uchar code tabdigit[60][8]={ //字模取模方向阴码逆向逐列式{0x00,0x3E,0x41,0x41,0x3E,0x00,0x00,0x00}, {0x00,0x42,0x7F,0x40,0x00,0x00,0x00,0x00}, {0x00,0x62,0x51,0x49,0x46,0x00,0x00,0x00}, {0x00,0x22,0x49,0x49,0x36,0x00,0x00,0x00}, {0x00,0x38,0x26,0x7F,0x20,0x00,0x00,0x00}, {0x00,0x4F,0x49,0x49,0x31,0x00,0x00,0x00}, {0x00,0x3E,0x49,0x49,0x32,0x00,0x00,0x00}, {0x00,0x03,0x71,0x09,0x07,0x00,0x00,0x00}, {0x00,0x36,0x49,0x49,0x36,0x00,0x00,0x00}, {0x00,0x26,0x49,0x49,0x3E,0x00,0x00,0x00}, {0x02,0xFF,0x00,0x00,0xFF,0x81,0xFF,0x00}, {0x02,0xFF,0x00,0x02,0xFF,0x00,0x00,0x00}, {0x02,0xFF,0x00,0xF3,0x91,0x99,0xCF,0x00}, {0x02,0xFF,0x00,0x42,0x89,0x89,0x89,0x76}, {0x02,0xFF,0x00,0x1C,0x13,0x10,0xFF,0x10}, {0x02,0xFF,0x00,0x4F,0x89,0x89,0x89,0x71}, {0x02,0xFF,0x00,0x7C,0x92,0x91,0x91,0x60}, {0x02,0xFF,0x00,0x01,0xF9,0x05,0x03,0x00}, {0x02,0xFF,0x00,0x76,0x89,0x89,0x89,0x76}, {0x02,0xFF,0x00,0x4E,0x91,0x91,0x91,0x7E}, {0xE2,0x91,0x89,0x86,0x00,0xFF,0x81,0xFF}, {0xE2,0x91,0x89,0x86,0x00,0x02,0xFF,0x00},{0x79,0x49,0x4F,0x00,0x7A,0x4A,0x4E,0x00}, {0x79,0x49,0x4F,0x00,0x49,0x49,0x49,0x36}, {0x79,0x49,0x4F,0x00,0x1E,0x10,0xFF,0x10}, {0x79,0x49,0x4F,0x00,0x4E,0x4A,0x7A,0x00}, {0x79,0x49,0x4F,0x00,0xFE,0x92,0x92,0x60}, {0x79,0x49,0x4F,0x00,0x79,0x05,0x03,0x00}, {0x79,0x49,0x4F,0x00,0x76,0x89,0x89,0x76}, {0x79,0x49,0x4F,0x00,0x4E,0x91,0x91,0x7E}, {0x42,0x89,0x89,0x76,0x00,0xFE,0x82,0xFE}, {0x42,0x89,0x89,0x76,0x00,0x02,0xFF,0x00}, {0x42,0x89,0x89,0x76,0x00,0xF9,0x89,0x8F}, {0x42,0x89,0x89,0x76,0x00,0x89,0x89,0xFF}, {0x42,0x89,0x89,0x76,0x00,0x0F,0x08,0xFF}, {0x42,0x89,0x89,0x76,0x00,0x9E,0x92,0xF2}, {0x42,0x89,0x89,0x76,0x00,0xFF,0x89,0xF9}, {0x42,0x89,0x89,0x76,0x01,0x01,0xFD,0x03}, {0x42,0x89,0x89,0x76,0x00,0xFF,0x89,0xFF}, {0x42,0x89,0x89,0x76,0x00,0xCF,0x89,0xFF}, {0x1F,0x10,0xFF,0x00,0x7E,0x81,0x81,0x7E}, {0x1F,0x10,0xFF,0x00,0x02,0xFF,0x00,0x00}, {0x1F,0x10,0xFF,0x00,0xE2,0x91,0x89,0xC6}, {0x1F,0x10,0xFF,0x00,0x42,0x89,0x89,0x76},{0x1F,0x10,0xFF,0x00,0x1E,0x10,0xFF,0x10}, {0x1F,0x10,0xFF,0x00,0x8F,0x89,0x89,0xF9}, {0x1F,0x10,0xFF,0x00,0xFF,0x89,0x89,0xF9}, {0x1F,0x10,0xFF,0x00,0x03,0xF9,0x05,0x03}, {0x0F,0x08,0xFF,0x00,0x76,0x89,0x89,0x76}, {0x1F,0x10,0xFF,0x00,0x4E,0x91,0x91,0x7E}, {0x4F,0x49,0x79,0x00,0x3E,0x41,0x41,0x3E}, {0x4F,0x49,0x79,0x00,0x00,0x02,0x7F,0x00}, {0x4F,0x49,0x79,0x00,0x62,0x51,0x49,0x46}, {0x4F,0x49,0x79,0x00,0x42,0x89,0x89,0x76}, {0x4F,0x49,0x79,0x00,0x1E,0x10,0x7E,0x10}, {0x4F,0x49,0x79,0x00,0x4F,0x49,0x79,0x00}, {0x4F,0x49,0x79,0x00,0x7F,0x49,0x79,0x00}, {0x4F,0x49,0x79,0x00,0x01,0x7D,0x03,0x01}, {0x4F,0x49,0x79,0x00,0x76,0x89,0x89,0x76}, {0x4F,0x49,0x79,0x00,0x0E,0x91,0x91,0x7E}, };uint timecount;uchar a;uchar b;void main(void){TR0=0;TMOD=0x01;TH0=(65536-1000)/256;TL0=(65536-1000)%256;EA=1;ET0=1;TR0=1;while(1);}void t0(void) interrupt 1{TH0=(65536-1000)/256;TL0=(65536-1000)%256;Ser_IN(tab[a]); //8X8点阵列扫描 Ser_IN(tabdigit[b][a]);//送行扫描数据 Par_OUT(); //显示a++;if(a==8){a=0;}timecount++;if(timecount==1000) {timecount=0;b++;if(b==60){b=0;}}}。
8×8点阵LED原理及应用
作者:华信培训来源:本站原创点击数:5672更新时间:2005-6-30
为配合《实验108×8LED扫描输出实验》,特给出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
ORG0000H
AJMP MAIN
ORG0100H
MAIN:
MOV SP,#70H;设堆栈指针
MOV50H,#07EH;设置发送的列数据(X0~X7<A~H>)列数据编码,列为阴极,行为阳极(由于实验中74HC164输出至LED点阵之间接有一非门驱动电路,故行为低电平有效)
MOV51H,#0BDH
MOV52H,#0DBH
MOV53H,#0E7H
MOV54H,#0E7H
MOV55H,#0DBH
MOV56H,#0BDH
MOV57H,#07EH
CLR CLEAR;初始化I/O口
SETB CLK
SETB DINA
SETB DINB
SETB CLEAR
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
sendto:;发送数据子程序
PUSH ACC
CLR CLK
SENDTIME:
MOV R7,#08H
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
ORG09000H
DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH;Y0~Y7(列扫描) end。