双色点阵发光二极管显示实验
- 格式:doc
- 大小:208.12 KB
- 文档页数:5
LED双色点阵显示屏工作原理返回首页LED显示屏LED电子显示屏上海LED显示屏上海LED电子显示屏LED大屏幕电子显示屏LED照明LED灯饰LED显示屏维修LED显示屏报价【摘要】16×16 双色LED 点阵显示屏,以AT89S52 单片机为主控芯片,由74HC595 作为数据扫描、74HC154 和9012PNP 型三极管作为行驱动。
本显示屏带有四个基本按键、一个蜂鸣器、程序下载模块,不仅可作为显示屏显示使用,还可以作为开发板使用,能支持51 系列芯片的下载,能实现汉字或图片的循环显示、上下左右滚动显示、上下左右卷动显示。
本系统大部分功能是通过软件实现的,电路简单明了,系统稳定可靠。
1 引言LED 显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。
它具有发光率高、使用寿命长、组态灵活、色彩丰富、制作简单,安装方便以及对室内外环境适应能力强等优点,被广泛应用于各种公共场合。
如汽车报站器、广告屏以及公告牌等。
本文介绍的是一种可用在实验室等场合的公告牌的LED 点阵电子显示屏设计。
公告内容随时可以更新,能实现汉字或图片的循环显示、上下左右滚动显示、上下左右卷动显示。
考虑到所需元器件的易购性,本设计使用了8×8 的点阵发光管模块,组成16×16 发光点阵,显示待定的中文、字符以及数字。
16*16 双色点阵显示屏,自带两种颜色,通过程序控制,可以实现RGB 三色显示,且数据由单片机的串行移位寄存器发送,方便快捷,操作灵活。
对于显字方式有以下三种:1、循环闪烁显示;2、上下左右滚动显示;3、上下左右卷动显示。
另外,带程序下载模块,可作为一个开发板使用,带四个独立按键,一个锋呜器,可实现对51系列的单片机的烧写。
2 系统硬件设计2.1 总体设计本显示屏由AT89S52 单片机为核心,由四个8*8 点阵模块组成16 行16 列的显示屏,通过四个74HC595 级联控制点阵的16 列和颜色,一个74HC154 控制点阵的16 行,数据由单片机的串口发送,串口发送数据有一个缺点:发送速度慢,容易造成文字的闪烁,程序控制比较吃力,但使用串口,大大节约了IO 口,无需要对IO 口的扩展,直接就可使用,十分方便。
双色LED点阵显示系统【摘要】本文设计的是双色LED点阵显示系统,该系统采用STC12C5A32S2单片机为主控模块,以74HC154作为行驱动、74HC595作为列驱动16×32双色点阵屏,通过软件控制能够很好的显示汉字和图形,充分展示了LED显示的基本原理,而且根据要求可以级联成更大的屏,具有很好的推广价值。
【关键词】LED点阵;串行输入;单片机;级联0 前言LED电子显示屏是20世纪80年代后期迅速发展起来的新型信息显示媒体,以易于维护、色彩丰富、亮度高、使用寿命长、易于操作等优点,逐步成为现在信息发布的一个主流载体。
本文研究的是双色LED点阵显示系统,该系统是由单片机控制,以74HC154作为行驱动、74HC595作为列驱动16×32双色点阵屏,通过软件控制可以以各种方式显示数字、汉字、图片。
采用串口下载,可以根据要求级联成更大的屏、安装简单方便。
1 系统整体设计概述本显示屏由STC12C5A32S2 单片机为核心,PC机通过RS-232串口把程序下载到单片机,单片机读到要显示的字模,对驱动电路发出控制命令,控制LED 点阵屏对应的行和列,在LED点阵屏上显示相应的汉字。
系统原理框图如图1所示。
2 系统硬件电路设计系统硬件主要划分为两大部分:单片机控制部分、点阵屏接口。
2.1 单片机控制部分单片机控制部分只需一个单片机最小系统,本设计选用的是STC12C5A32S2 单片机,它的执行速度比普通的单片机快很多,价格也相对便宜,大家也比较熟悉。
2.2 LED点阵屏接口电路图2为本实验所用的双色8×8点阵(共阴)LED显示屏,LED显示屏的行与列电极相互垂直,在交叉点形成发光单元LED,每个点有红绿两种灯珠,点阵的驱动一般采取逐行扫描方式,行电极轮流将低电位接通各行线,使连接到各该行的全部LED的阴极接通低电平,但具体哪一个LED导通,还要看它的阳极是否接通,由列来控制。
计算机学院综合性、设计性实验报告课程名称微机原理与接口指导教师学号姓名实验地点实验时间 12月19号项目名称双色点阵发光二极管显示实验实验类型设计性一、实验目的1、了解双色点阵LED显示器的基本原理。
2、掌握PC机控制双色点阵LED显示程序的设计方法。
二、实验仪器或设备微机原理与接口技术实验板、PC机三、总体设计(设计原理、设计方案及流程等)(1)设计原理点阵LED显示器是将许多LED类似矩阵一样排列在一起组成的显示器件,双色点阵LED是在每一个点阵的位置上有红绿或红黄或红白两种不同颜色的发光二极管。
当微机输出的控制信号使得点阵中有些LED发光,有些不发光,即可显示出特定的信息,包括汉字、图形等。
车站广场由微机控制的点阵LED大屏幕广告宣传牌随处可见。
图一实验原理图实验仪上设有一个共阳极8×8点阵的红黄两色LED显示器。
该点阵对外引出24条线,其中8条行线,8条红色列线,8条黄色列线。
若使某一种颜色、某一个LED发光,只要将与其相连的行线加高电平,列线加低电平即可。
(2)设计方案及流程1、实验仪上的点阵LED及驱动电路如下图所示,行代码、红色列代码、黄色列代码各用一片74LS273锁存。
行代码输出的数据通过行驱动器7407加至点阵的8条行线上,红和黄列代码的输出数据通过驱动器DS75452反相后分别加至红和黄的列线上。
行锁存器片选信号为CS1,红色列锁存器片选信号为CS2,黄色列锁存器片选信号为CS3。
2、接线方法:行片选信号 CS1 接 280H;红列片选信号 CS2 接 288H;黄列片选信号 CS3 接 290H。
3、编程在LED上重复显示红色“忆”和黄色“九”。
图二实验流程图四、实验步骤(包括主要步骤、代码分析等)实验代码如下:;********************双色点阵发光二极管显示实验********************proth equ 280hprotlr equ 288hprotly equ 290hDATA SEGMENTMESS DB 'Strike any key,return to DOS!',0AH,0DH,'$'min1 DB 00h,01h,02h,03h,04h,05h,06h,07hcount db 0BUFF1 DB 50ch,7fh,0d0h,50h,20h,02h,5fh,10hBUFF2 DB 00h,00h,0e6h,0a2h,0e2h,0a2h,0feh,00hDATA ENDS;----------------------------------------------------------- CODE SEGMENTASSUME CS:CODE,DS:DATA;------------------------------------------------------------ START: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESSMOV AH,09INT 21H ;显示提示信息;------------------------------------------------------------ agn: mov cx,80hd2: mov ah,01hpush cxmov cx,0008hmov si,offset min1next: mov al,[si]mov bx,offset buff1xlat ;得到第一行码mov dx,prothout dx,almov al,ahmov dx,protlrout dx,al ;显示第一行红mov al,0out dx,alshl ah,01inc sipush cxmov cx,0ffh;ffhdelay2: loop delay2 ;延时pop cxloop nextpop cxcall delayloop d2mov al,00mov dx,protlrout dx,almov ah,01 ;有无键按下int 16hjnz a2agn1: mov cx,80h ;agn1为显示黄色d1: mov si,offset min1mov ah,01push cxmov cx,0008hnext1: mov al,[si]mov bx,offset buff2xlatmov dx,prothout dx,almov al,ahmov dx,protlyout dx,almov al,0out dx,alshl ah,01inc sipush cxmov cx,0ffh;ffhdelay1: loop delay1mov cx,0ffh;ffhdelay3: loop delay3pop cxloop next1pop cxcall delayloop d1mov al,00mov dx,protlyout dx,almov ah,01int 16hjnz a2jmp agn ;黄色红色交替显示;---------------------------------------------------------------- DELAY PROC NEAR ;延迟子程序push cxmov cx,0ffh;ffhccc: loop cccpop cxretDELAY ENDP;--------------------------------------------------------------------- a2: MOV AH,4CH ;返回INT 21HCODE ENDSEND START;----------------------------------------------------------五、结果分析与总结1.实验结果:(以下两个字重复交替显示)2.实验总结:通过实验了解了双色点阵LED 显示器的基本原理,掌握了PC 机控制双色点阵LED 显示程序的设计方法,通过修改程序,在试验仪上做出重复显示红色的“许”和黄色的“巴”两个字的实验效果。
双色点阵发光二极管实验报告一、实验目的:1.了解发光二极管(LED)及其原理;2.学习使用双色点阵发光二极管进行实验,并掌握其原理和基本操控方法;3.实验中通过编程控制点阵显示出各种文字、图案等。
二、实验器材和仪器:1.双色点阵发光二极管;2. Arduino开发板;3.连接线;4.电阻。
三、实验原理:发光二极管(LED)是一种能够将电能转化为光能的器件。
通过不同的材料和添加不同的杂质,可获得不同颜色的发光效果。
双色点阵发光二极管是一种具有两种颜色(通常为红色和绿色)的发光二极管。
其内部有两个独立的发光单元,能够独立控制红色和绿色的亮灭。
四、实验步骤:1. 连接电路:将双色点阵发光二极管连接到Arduino开发板上。
将其中一个发光单元的正极连接到数字引脚A0上,另一个发光单元的正极连接到数字引脚A1上,两个发光单元的负极连接到地(GND)上,并在电路中添加适当的电阻以限制电流。
2. 编写程序:使用Arduino开发板上的编程软件,编写控制双色点阵发光二极管的程序。
3.程序调试:通过调试程序,控制点阵发光二极管显示不同的文字、图案等。
4.实验记录:记录测试过程中发光二极管的亮灭情况,以及显示的文字、图案等。
五、实验结果与分析:通过编程控制,成功实现了双色点阵发光二极管的各种亮灭模式。
通过调节程序中控制亮灭的时间和频率,能够显示不同的图案和文字。
在实验过程中,我们编写了一个简单的程序,实现了点阵显示"HELLO"字样,并不断闪烁。
通过改变程序中的代码,还可以实现点阵发光二极管的其他模式,如呼吸灯、跑马灯等。
六、实验总结:本次实验通过控制双色点阵发光二极管的亮灭,成功实现了点阵显示不同的文字、图案等。
实验过程中,我们掌握了发光二极管的原理和基本操控方法,了解了如何通过编程控制点阵发光二极管显示出各种模式。
通过这个实验,我们对发光二极管及其应用有了更深入的理解,并且培养了动手实验、编程和解决问题的能力。
实验一发光二极管阵列显示实验一、实验目的通过实验学习使用5416ADSP(Digital Signal Processor,数字信号处理器)的扩展端口控制外围设备的方法,了解发光二极管阵列的控制编程方法。
二、实验设备计算机、ICETEK-VC5416-EDU实验箱(或ICETEK仿真器+ICETEK-VC5416-A系统板+相关连接线及电源)。
三、实验原理1、扩展接口ICETEK-VC5416-A是一块以TMS320VC5416ADSP为核心的DSP扩展评估板,它通过扩展接口与实验箱的显示/控制模块连接,可以控制其各种外围设备。
2、发光二极管显示阵列的显示是由扩展端口控制,扩展在IO接口的两个寄存器CTRLA 提供具体控制。
原理图如下:3、显示原理DSP须将显示的图形按列的顺序存储起来(8×8点阵,8个字节,高位在下方,低位在上方),然后定时刷新控制显示。
具体方法是,将以下控制字按先后顺序、每两个为一组发送到端口CTRLA,以送完毕后,隔不太长的时间(以人眼观察不闪烁的时间间隔)再以送一遍。
由于位值为“0”时点亮,所以需要将显示的数据取反。
0x01,第8列数据取反,0x02,第7列数据取反,0x04,第6列数据取反,0x08,第5列数据取反,0x10,第4列数据取反,0x20,第3列数据取反,0x40,第2列数据取反,0x80,第1列数据取反。
4、实验程序流程图:四、实验步骤1、实验准备:⑴连接实验设备:①连接电源:打开实验箱,取出三线电源线(如下图),将电源线的一端插入实验箱外部左侧箱壁上的电源插孔中。
确认实验箱面板上电源总开关(位于实验箱底板左上角)处于“关”的位置,连接电源线的另一端至220V交流供电插座上,保证稳固连接。
②使用电源连接线(如右图,插头带孔的)连接各模块电源:确认实验箱总电源断开。
连接ICETEK-CTR板上边插座到实验箱底板上+12V电源插座;ICETEK-CTR板下边插座到实验箱底板上+5V电源插座;如使用PP(并口)型仿真器,则连接仿真器上插座到实验箱底板上+5V电源插座;连接DSP评估板模块电源插座到实验箱底板上+5V电源插座。
硬件实验三双色LED点阵实验一、实验目的1学习双色LED点阵显示的原理。
2.学习双色LED点阵显示的编程方法。
二、实验内容1.基本部分:固定显示。
在点阵上轮流显示数据0~9和字母A~F。
2.扩展部分:滚动显示。
从左到右,从右到左,从上到下,从下到上,轮流显示“1”.和“一”。
四、实验连线P0和JP1(LED)用8PIN排线或连接起来。
P1和J19(点阵绿色端)用8PIN排线或连接起来。
P2和J20(点阵红色端)用8PIN排线或连接起来。
五、实验说明首先要把需要显示的数字或字母所对应的二进制码放到数组中,然后轮流将各个列引脚置低,并将对应元素写到点阵的数据引脚。
六、实验代码1.基本部分#include<reg51.h>unsigned char code tab[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,}; //列引脚的代码控制unsigned char code digittab[16][8]={{0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00},{0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00},{0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00},{0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00},{0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00},{0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00},{0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00},{0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00},{0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00},{0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00},{0x06,0x18,0x68,0x88,0x68,0x18,0x00,0x06},{0x00,0xFF,0x91,0x91,0x91,0x6E,0x00,0x00},{0x00,0x3E,0x41,0x41,0x62,0x00,0x00,0x00},{0x00,0x7F,0x41,0x41,0x41,0x3E,0x00,0x00},{0x00,0x7F,0x49,0x49,0x49,0x00,0x00,0x000},{0x00,0xFF,0x88,0x88,0x88,0x80,0x00,0x00},}; //0~9和A~F的行引脚代码unsigned int timecount1 , timecount2;unsigned char i , j ;void main(){j=0;while(1){if(j<16) {P2=tab[i];P0=digittab[j][i];} //数字和字母的显示控制if(++timecount1>=50) {timecount1=0;if(++i>=8) i=0;}if(++timecount2>=40000) {timecount2=0;if(++j>=16)j=0;} //用于控制动态扫描的速度}}2.扩展部分#include <REG51.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 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){//from left to right 3 timefor(j=0;j<3;j++){for(i=0;i<8;i++) {P2=taba[i];P0=0xff;delay1();}}//from right to left 3 timefor(j=0;j<3;j++){for(i=0;i<8;i++){P2=taba[7-i];P0=0xff;delay1();}}//from top to bottom 3 timefor(j=0;j<3;j++){for(i=0;i<8;i++){P2=0x00;P0=tabb[7-i];delay1();}}//from bottom to top 3 timefor(j=0;j<3;j++){for(i=0;i<8;i++){P2=0x00;P0=tabb[i];delay1();}}}}七、实验现象1.基本部分:A、单片机的点阵轮流显示数字0~9轮流如下:B、单片机上的点阵轮流显示字母A`Fl 如下:2.扩展部分的实验可在单片机试验箱上观察到“1”和“一”滚动显示,现象是从左到右,从右到左,从上到下,从下到上轮流显示。
LED双⾊点阵显⽰实验LED 双⾊点阵显⽰实验⼀、实验⽬的1.了解8×8矩阵LED 显⽰的基本原理和功能2.掌握8×8矩阵LED 和单⽚机的硬件接⼝和软件设计⽅法⼆、实验说明使⽤双⾊共阴极LED 点阵,其结构如图1所⽰。
系统使⽤74HC595芯⽚,使串⾏输出转换成并⾏输出,驱动矩阵LED 。
图1 LED 点阵结构三、实验内容及步骤根据系统提供的电路,掌握8×8矩阵LED 的⼯作原理,编程实现显⽰⼀个‘箭头’从左向右滚动的效果。
本实验需要⽤到单⽚机最⼩应⽤系统(F1区)和双⾊点阵显⽰(I1区)。
1、单⽚机最⼩应⽤系统的P1.0⼝接LED 点阵显⽰的DIN ,P1.1⼝接LED 点阵的SCLK ,P1.2⼝接LED 点阵显⽰的RCLK 。
2、⽤串⾏数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的⽅向:缺⼝朝上。
3、打开Keil uVision2仿真软件,⾸先建⽴本实验的项⽬⽂件,接着添加“TH30_LED 点阵.ASM ”源程序,进⾏编译,直到编译⽆误。
4、进⾏软件设置,选择硬件仿真,选择串⾏⼝,设置波特率为38400。
5、打开模块电源和总电源,点击开始调试按钮,点击RUN 按钮运⾏程序。
观察点阵显⽰(显⽰向左移动的彩⾊箭头)。
6、也可以把源程序编译成可执⾏⽂件,⽤ISP 烧录器烧录到89S52/89S51芯⽚中。
(ISP 烧录器的使⽤查看附录⼆)四、实验参考程序(见光盘中的程序⽂件夹)五、思考题根据实验内容编写⼀个程序,并在实验仪上调试和验证。
六、电路原理图H_ATB124H_ATB223H_ATB322H_ATB421H_ATB54H_ATB63H_ATB72H_ATB81G_LTR15G_LTR26G_LTR37G_LTR48G_LTR59G_LTR610G_LTR711G_LTR812 R_LTR813R_LTR714R_LTR615R_LTR516R_LTR417R_LTR318R_LTR219R_LTR120H _A T B 124H _A T B 223H _A T B 322H _A T B 421H _A T B 54H _A T B 63H _A T B 72H _A T B 81G _L T R 15G _L T R 26G _L T R 37G _L T R 48G _L T R 59G _L T R610G _L T R 711G _L T R 812R _L T R 813R _L T R 714R _L T R 615R _L T R 516R _L T R 417R _L T R 318R _L T R 219R _L T R 120D I S 1ISER 14SRCLK 11SRCLR 10RCLK 12E13O015O11O22O33O44O55O66O77Q79VCC 16GND874HC595VCCVCC VCCVCC R 1_L 1R 1_L 2R 1_L 3R 1_L 4R 1_L 5R 1_L 6R 1_L 7R 1_L 8H _A 1H _A 2H _A 3H _A 4H _A T B 124H _A T B 223H _A T B 322H _A T B 421H _A T B 54H _A T B 63H _A T B 72H _A T B 81G _L T R 15G _L T R 26G _L T R 37G _L T R 48G _L T R 59G _L T R 610G _L T R 711G _L T R 812R _L T R 813R _L T R 714R _L T R 615R _L T R 516R _L T R 417R _L T R 318R _L T R 219R _L T R 120D I S 2IVCC VCC VCCVCCVCCVCCSERSCLK RCLK 123Q1I 9013123Q2I 9013123Q3I 9013123Q4I 9013123Q5I 9013123Q6I 9013123Q7I 9013123Q8I 9013H_A5H_A6H_A7H_A8H_A1H_A2H_A3H_A4HA1I HA2I HA3I HA4I HA5I HA6I HA7I HA8I HA1IHA2IHA3IHA4IHA5IHA6IHA7IHA8ISER14SRCLK 11SRCLR10RCLK12E13O015O11O22O33O44O55O66O77Q79VCC16GND874HC595SER 14SRCLK 11SRCLR 10RCLK 12E 13O015O11O22O33O44O55O66O77Q79VCC 16GND 8U5I 74HC595SER 14SRCLK11SRCLR 10RCLK 12E13O015O11O22O33O44O55O66O77Q79VCC16GND874HC595SER 14SRCLK 11SRCLR 10RCLK 12E 13O015O11O22O33O44O55O66O77Q79VCC 16GND 874HC595DIN SCLK RCLK VCCG 1_L 1G 1_L 2G 1_L 3G 1_L 4G 1_L 5G 1_L 6G 1_L 7G 1_L 8H _A 5H _A 6H _A 7H _A 8G 2_L 1G 2_L 2G 2_L 3G 2_L 4G 2_L 5G 2_L 6G 2_L 7G 2_L 8H _A 5H _A 6H _A 7H _A 8R 2_L 1R 2_L 2R 2_L 3R 2_L 4R 2_L 5R 2_L 6R 2_L 7R 2_L 8H _A 1H _A 2H _A 3H _A 4R1_L1R1_L2R1_L3R1_L4R1_L5R1_L6R1_L7R1_L8G1_L1G1_L2G1_L3G1_L4G1_L5G1_L6G1_L7G1_L8R2_L1R2_L2R2_L3R2_L4R2_L5R2_L6R2_L7R2_L8G2_L1G2_L2G2_L3G2_L4G2_L5G2_L6G2_L7G2_L8。
数字电路综合实验报告班级:姓名:班内序号:学号:日期:一、实验摘要采用EDA技术的自顶向下的模块化设计方法,借助相关开发软件,例如QualtusⅡ软件,将硬件描述语言——VHDL程序固化于具有丰富I/O口、内部逻辑和连线资源的FPGA(现场可编程门阵列)中。
该技术具有系统设计效率高、集成度好、保密性强、易于修改、易于实现等优点,成为当今数字系统设计主流技术。
此方式所制作的LED点阵控制器,由于是纯硬件行为,具有速度快、可靠性高、抗干扰能力强、开发周期短等显著优点。
二、实验任务(1)任务要求双色点阵显示控制器设计实现一个8×8 双色点阵显示控制器。
基本要求:1、固定红色显示一个汉字或图形,显示亮度4 级可调,用一个btn 按钮实现亮度调节,亮度变化视觉效果要尽量明显。
2、用从红到绿8 级渐变色显示一个固定汉字或图形。
3、分别用单字循环显示、左右滚动显示、上下滚动显示三种显示方式单色显示四个汉字或图形,显示过程中,显示方式用一个btn 按键进行切换。
4、显示的图形或汉字要尽量饱满美观。
提高要求:1、滚动显示过程中实现四种显示颜色的自动变换,颜色变化视觉效果要尽量明显。
2、自拟其它功能。
(2)EDA点阵显示汉字原理以8×8的LED点阵为例,8×8的LED点阵是由64个发光二极管按矩阵形式排列而成,每一行上的发光管有一个公共的阳极(或阴极),每一列上的发光管有一个公共的阴极(或阳极),一般按动态扫描方式显示汉字或图形。
由于所用实验板上提供有1 kHz的时钟,本例设计中利用该时钟进行扫描,使每行扫描时间为1 ms,实验结果显示亮度合适。
现以行扫描为例简单说明动态扫描显示的原理。
工作时先将要扫描行的点阵字模从各列上输出,再让译码器选中(扫描)该行,使本行得以显示,接着再送下一行数据,再使下一行有效,直到8行全被扫描一遍。
至此,一幅完整的文字信息就显现出来,然后再反复扫描这8行直至显示新的信息。
实现两个LED灯闪烁的实验原理实验原理:实现两个LED灯闪烁的实验主要基于电子元件的工作原理和电路设计。
LED(发光二极管)是一种半导体器件,能够将电能转化为光能,具有快速开关和发光的特性。
通过将LED连接在电路中,根据电路设计与控制时序,可以实现LED的闪烁。
本实验需要使用两个LED灯,以及与之对应的电路元件和控制器件。
步骤一:准备实验材料1. 两个LED灯:准备两个不同颜色的LED灯,例如一个红色LED和一个绿色LED。
2. 电阻:根据LED的工作电压和电流需求,选择合适的电阻,保证电流适宜。
3. 手电筒电池盒:作为电源供电,可选择适当数量的电池组合,以获得所需的电压。
4. 连接线和面包板:用于连接各个电路元件。
5. 开关:用于控制电流通断,实现LED的闪烁效果。
步骤二:电路设计1. 连接LED灯:将两个LED灯分别与电阻连接,确保电压和电流合适。
LED的长脚连接到正极(较长的电阻脚),短脚连接到负极(较短的电阻脚)。
2. 连接电源:将电阻另一侧的正极连接到电源的正极(电池的正极),负极连接到电源的负极(电池的负极)。
步骤三:控制开关1. 连接开关:将开关连接在电源的正负极之间,在开关断开的状态下,LED灯不会亮起,即暂时停止闪烁。
2. 控制开关:根据需要设置开关的开关频率,可通过调节开关的开关时间间隔控制LED的闪烁频率。
步骤四:实验操作1. 打开开关:将开关接通,电流从电源经过电路流向LED灯,LED灯开始发光,实现闪烁效果。
2. 调节开关频率:根据需要调整开关的开关频率,使得两个LED灯交替闪烁,每个LED灯亮起的时间间隔可以相同,也可以不同。
实验原理解析:LED灯的闪烁实验主要借助于电流的开关来实现。
通过控制开关的状态,控制电流的通断,进而控制LED灯的发光和熄灭。
当开关通断频率较快时,人眼就会感知到LED灯的闪烁效果。
此外,两个LED灯交替闪烁的效果可以通过开关的状态来控制,使得两个LED灯在不同时间段内有不同的亮灭状态,呈现出交替闪烁的效果。
数字电路实验报告双色点阵显示控制器班级:学号:姓名:2013年11月12号目录一、设计任务要求二、系统设计三、仿真波形及分析四、源程序五、功能说明六、元器件清单及资源利用情况七、故障及问题分析八、总结和结论一、设计任务要求1、基本要求:1.固定红色显示一个汉字或图形,显示亮度4级可调,用一个btn按钮实现亮度调节,亮度变化视觉效果要尽量明显。
2.用从红到绿8级渐变色显示一个固定汉字或图形。
3.分别用单字循环显示、左右滚动显示、上下滚动显示三种显示方式单色显示四个汉字或图形,显示过程中,显示方式用一个btn按键进行切换。
4,。
显示的图形或汉字要尽量饱满美观。
2、提高要求:1.滚动显示过程中实现四种显示颜色的自动变换,颜色变化视觉效果要尽量明显。
2.自拟其它功能。
二、系统设计1、设计框图1、系统结构框图本系统主要由三个模块组成,其中控制器用于控制程序运行、储存当前状态并控制输出显示,点阵用于显示游戏界面,按钮输入用于输入控制信息。
2、逻辑划分方框图3、系统流程图4、MDS图游戏运行状态的具体状态转移图三、仿真波形及波形分析逐行扫描,并点亮红灯,改变红灯的占空比可以得到不同亮度的显示。
逐行扫描,并点亮红绿灯,改变红绿灯的占空比可以得到不同颜色的显示。
上下及左右滚动显示,因为显示变化时延过长,波形过密,不方便显示。
按一次键,只产生一个脉冲,脉冲宽度为防抖动时钟的脉宽。
四、源程序及注释library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity dianzhen isport( clk:in std_logic;dtn1:in std_logic;dtn2:in std_logic;dtn3:in std_logic;row:out std_logic_vector (7 downto 0);listr:out std_logic_vector (7 downto 0);listg:out std_logic_vector (7 downto 0));end dianzhen ;architecture a of dianzhen issignal temp:integer range 0 to 99:=0;signal temp1:integer range 0 to 9:=0;signal temp2:integer range 0 to 9:=0;signal temp3:integer range 0 to 49:=0;signal temp4:integer range 0 to 9:=0;signal temp5:integer range 0 to 99:=0;signal clk_500K:STD_LOGIC;signal clk_50K:STD_LOGIC;signal clk_5K:STD_LOGIC;signal clk_1K:STD_LOGIC;signal clk_100:STD_LOGIC;signal clk_1:STD_LOGIC;signal num:std_logic_vector (2 downto 0):="000"; signal num1:integer range 0 to 1119;signal num2:integer range 0 to 31:=0;signal num3:std_logic_vector (2 downto 0):="000"; signal count:integer range 0 to 499;signal count1:integer range 0 to 49;signal j:integer range 0 to 499;signal i:integer range 0 to 31:=0;signal kind:std_logic_vector (1 downto 0):="00"; signal color:std_logic_vector (1 downto 0):="00"; signal sel:std_logic_vector (2 downto 0);signal sel1:STD_LOGIC:='0';signal sel2:STD_LOGIC:='0';signal sel3:STD_LOGIC:='0';signal resetmp1,resetmp2:STD_LOGIC:='0'; signal resetmp3,resetmp4:STD_LOGIC:='0'; signal resetmp5,resetmp6:STD_LOGIC:='0'; signal flag:STD_LOGIC:='0';signal flag2:STD_LOGIC:='0';signal flag3:STD_LOGIC:='0';type vol_type is array(38 downto 0)of std_logic_vector(7 downto 0);type sol_type is array(31 downto 0)of std_logic;signal vol:vol_type:=( --luck字库"01111110", "01000000","01000000", "01000000", "01000000","01000000","00000000", "00000000", "01001100","01010000","01100000","01100000","01010000","01001100", "00000000","00000000","00111100","01000010","01000000","01000000","01000010", "00111100","00000000","00000000","00111100","01000010","01000010","01000010", "01000010","01000010","00000000","00000000","01111110","01000000","01000000", "01000000","01000000","01000000", "00000000");Signal sol0:sol_type:=('0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0', '0','0','0','0','0','0','0','0'); --good字库用于水平滚动显示signal sol1:sol_type:=('0','1','1','1','1','1','0','0','0','0','1','1','1','1','0','0', '0','0','1','1','1','1','0','0', '0','0','1','1','1','0','0','0');signal sol2:sol_type:=('0','1','0','0','0','0','1','0','0','1','0','0','0','0','1','0', '0','1','0','0','0','0','1','0', '0','1','0','0','0','1','0','0');signal sol3:sol_type:=('0','1','0','0','0','0','1','0','0','1','0','0','0','0','1','0', '0','1','0','0','0','0','1','0', '0','1','0','0','0','0','0','0');signal sol4:sol_type:=('0','1','0','0','0','0','1','0','0','1','0','0','0','0','1','0', '0','1','0','0','0','0','1','0', '0','1','0','0','1','1','1','0');signal sol5:sol_type:=('0','1','0','0','0','0','1','0','0','1','0','0','0','0','1','0', '0','1','0','0','0','0','1','0', '0','1','0','0','0','1','0','0');Signal sol6:sol_type:=('0','1','1','1','1','1','0','0','0','0','1','1','1','1','0','0','0','0','1','1','1','1','0','0', '0','0','1','1','1','0','0','0');Signal sol7:sol_type:=('0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0', '0','0','0','0','0','0','0','0');beginprocess(clk) --分频器500Kbeginif clk'event and clk='1' thenif temp=99 thentemp<=0;elsetemp<=temp+1;end if;if temp<50 thenclk_500K<='1';elseclk_500K<='0';end if;end if;end process;process(clk_500K) --分频器50K beginif clk_500K'event and clk_500K='1' thenif temp1=9 thentemp1<=0;elsetemp1<=temp1+1;end if;if temp1<5 thenclk_50K<='1';elseclk_50K<='0';end if;end if;end process;process(clk_50K) --分频器5Kif clk_50K'event and clk_50K='1' thenif temp2=9 thentemp2<=0;elsetemp2<=temp2+1;end if;if temp2<5 thenclk_5K<='1';elseclk_5K<='0';end if;end if;end process;process(clk_50K) --分频器1K beginif clk_50K'event and clk_50K='1' thenif temp3=49 thentemp3<=0;elsetemp3<=temp3+1;end if;if temp3<25 thenclk_1K<='1';elseclk_1K<='0';end if;end if;end process;process(clk_1K) --分频器100if clk_1K'event and clk_1K='1' thenif temp4=9 thentemp4<=0;elsetemp4<=temp4+1;end if;if temp4<5 thenclk_100<='1';elseclk_100<='0';end if;end if;end process;process(clk_100) --分频器 1 beginif clk_100'event and clk_100='1' thenif temp5=99 thentemp5<=0;elsetemp5<=temp5+1;end if;if temp5<50 thenclk_1<='1';elseclk_1<='0';end if;end if;end process;process(clk_500K) --显示红字if clk_500K'event and clk_500K='1' thenif sel3='1' thenif count=499 thencount<=0;else count<=count+1;end if;if num="111" thennum<="000";else num <= num+1;end if;case sel iswhen"000"=>j<=20; --改变状态对应不同j的值来限定亮度when"001"=>j<=150;when"010"=>j<=320;when"011"=>j<=499;when others=>null;end case;if count<=j thencase num is --显示米字when"000"=>row<="01111111"; listr<="10011001";listg<="00000000";when"001"=>row<="10111111"; listr<="01011010";listg<="00000000";when"010"=>row<="11011111"; listr<="00111100";listg<="00000000";when"011"=>row<="11101111"; listr<="11111111";listg<="00000000";when"100"=>row<="11110111"; listr<="11111111";listg<="00000000";when"101"=>row<="11111011"; listr<="00111100";listg<="00000000";when"110"=>row<="11111101"; listr<="01011010";listg<="00000000";when"111"=>row<="11111110"; listr<="10011001";listg<="00000000";when others=>row<="11111111";listr<="00000000";listg<="00000000";end case;row<="11111111";end if;end if;if sel1='1' then --显示彩色字if num1=1119 thennum1<=0;else num1<=num1+1;end if;case num1 iswhen 0=>row<="01111111"; listr<="10011001";listg<="00000000";when 140=>row<="10111111"; listr<="01011010";listg<="01011010";when 160=>listg<="00000000";when 260=>listr<="00000000";when 280=>row<="11011111"; listr<="00111100";listg<="00111100";when 320=>listg<="00000000";when 380=>listr<="00000000";when 420=>row<="11101111"; listr<="11111111";listg<="11111111";when 480=>listg<="00000000";when 500=>listr<="00000000";when 560=>row<="11110111"; listr<="11111111";listg<="11111111";when 620=>listr<="00000000";when 640=>listg<="00000000";when 700=>row<="11111011"; listr<="00111100";listg<="00111100";when 740=>listr<="00000000";when 800=>listg<="00000000";when 840=>row<="11111101"; listr<="01011010";listg<="01011010";when 860=>listr<="00000000";when 960=>listg<="00000000";when 980=>row<="11111110"; listr<="00000000";listg<="10011001";when others=>null;end case;end if;if sel2='1' then --三种循环显示模式if count1=49 thenif num3="111" thennum3<="000";else num3 <= num3+1;end if;count1<=0;elsecount1<=count1+1;end if;if kind="00" then --分屏显示if (0<=num2)and(num2<=5) then i<=0;elsif (6<=num2)and(num2<=11) then i<=8;elsif (12<=num2)and(num2<=17) then i<=16;elsif (18<=num2)and(num2<=23) then i<=24;end if;case num3 iswhen"000"=>row<="01111111"; listr<=vol(i);listg<="00000000";when"001"=>row<="10111111"; listr<=vol(i+1);listg<="00000000";when"010"=>row<="11011111"; listr<=vol(i+2);listg<="00000000";when"011"=>row<="11101111"; listr<=vol(i+3);listg<="00000000";when"100"=>row<="11110111"; listr<=vol(i+4);listg<="00000000";when"101"=>row<="11111011"; listr<=vol(i+5);listg<="00000000";when"110"=>row<="11111101"; listr<=vol(i+6);listg<="00000000";when"111"=>row<="11111110"; listr<=vol(i+7);listg<="00000000";when others=>row<="11111111";listr<="00000000";end case;end if;if kind="01" then --上下滚动显示i<=num2;case color iswhen"00"=> case num3 iswhen"000"=>row<="01111111"; listr<=vol(i);listg<="00000000";when"001"=>row<="10111111"; listr<=vol(i+1);listg<="00000000";when"010"=>row<="11011111"; listr<=vol(i+2);listg<="00000000";when"011"=>row<="11101111"; listr<=vol(i+3);listg<="00000000";when"100"=>row<="11110111"; listr<=vol(i+4);listg<="00000000";when"101"=>row<="11111011"; listr<=vol(i+5);listg<="00000000";when"110"=>row<="11111101"; listr<=vol(i+6);listg<="00000000";when"111"=>row<="11111110"; listr<=vol(i+7);listg<="00000000";when others=>row<="11111111";listr<="00000000";end case;when"01"=> case num3 iswhen"000"=>row<="01111111"; listr<=vol(i); if count1<25 then listg<=vol(i);else listg<="00000000";end if;when"001"=>row<="10111111"; listr<=vol(i+1); if count1<25 then listg<=vol(i+1);else listg<="00000000";end if;when"010"=>row<="11011111"; listr<=vol(i+2); if count1<25 then listg<=vol(i+2); else listg<="00000000"; end if;when"011"=>row<="11101111"; listr<=vol(i+3); if count1<25 then listg<=vol(i+3); else listg<="00000000"; end if;when"100"=>row<="11110111"; listr<=vol(i+4); if count1<25 then listg<=vol(i+4);else listg<="00000000"; end if;when"101"=>row<="11111011"; listr<=vol(i+5); if count1<25 then listg<=vol(i+5); else listg<="00000000"; end if;when"110"=>row<="11111101"; listr<=vol(i+6); if count1<25 then listg<=vol(i+6); else listg<="00000000"; end if;when"111"=>row<="11111110"; listr<=vol(i+7); if count1<25 then listg<=vol(i+7); else listg<="00000000"; end if;when others=>row<="11111111";listr<="00000000";end case;when"10"=> case num3 iswhen"000"=>row<="01111111"; listg<=vol(i);if count1<25 then listr<=vol(i);else listr<="00000000";end if;when"001"=>row<="10111111"; listg<=vol(i+1);if count1<25 then listr<=vol(i+1);else listr<="00000000";end if;when"010"=>row<="11011111"; listg<=vol(i+2);if count1<25 then listr<=vol(i+2);else listr<="00000000";end if;when"011"=>row<="11101111"; listg<=vol(i+3);if count1<25 then listr<=vol(i+3); else listr<="00000000";end if;when"100"=>row<="11110111"; listg<=vol(i+4);if count1<25 then listr<=vol(i+4);else listr<="00000000";end if;when"101"=>row<="11111011"; listg<=vol(i+5);if count1<25 then listr<=vol(i+5); else listr<="00000000";end if;when"110"=>row<="11111101"; listg<=vol(i+6);if count1<25 then listr<=vol(i+6); else listr<="00000000"; end if;when"111"=>row<="11111110"; listg<=vol(i+7);if count1<25 then listr<=vol(i+7); else listr<="00000000"; end if;when others=>row<="11111111";listg<="00000000";end case;when"11"=> case num3 iswhen"000"=>row<="01111111"; listg<=vol(i);when"001"=>row<="10111111"; listg<=vol(i+1);when"010"=>row<="11011111"; listg<=vol(i+2);when"011"=>row<="11101111"; listg<=vol(i+3);when"100"=>row<="11110111"; listg<=vol(i+4);when"101"=>row<="11111011"; listg<=vol(i+5);when"110"=>row<="11111101"; listg<=vol(i+6);when"111"=>row<="11111110"; listg<=vol(i+7);when others=>row<="11111111";listg<="00000000";end case;when others=>row<="11111111";listg<="00000000";end case;end if;if kind="10" then --左右滚动显示listg<="00000000";i<=num2;case num3 iswhen"000"=>row<="01111111";listr(0)<=sol0(i);listr(1)<=sol0(i+1);listr(2)<=sol0(i+2);listr(3)<=sol0(i+3);listr(4)<=sol0(i+4);listr(5)<=sol0(i+5);listr(6)<=sol0(i+6);listr(7)<=sol0(i+7); when"001"=>row<="10111111";listr(0)<=sol1(i);listr(1)<=sol1(i+1);listr(2)<=sol1(i+2);listr(3)<=sol1(i+3); listr(4)<=sol1(i+4);listr(5)<=sol1(i+5);listr(6)<=sol1(i+6);listr(7)<=sol1(i+7); when"010"=>row<="11011111";listr(0)<=sol2(i);listr(1)<=sol2(i+1);listr(2)<=sol2(i+2);listr(3)<=sol2(i+3); listr(4)<=sol2(i+4);listr(5)<=sol2(i+5);listr(6)<=sol2(i+6);listr(7)<=sol2(i+7); when"011"=>row<="11101111";listr(0)<=sol3(i);listr(1)<=sol3(i+1);listr(2)<=sol3(i+2);listr(3)<=sol3(i+3); listr(4)<=sol3(i+4);listr(5)<=sol3(i+5);listr(6)<=sol3(i+6);listr(7)<=sol3(i+7); when"100"=>row<="11110111";listr(0)<=sol4(i);listr(1)<=sol4(i+1);listr(2)<=sol4(i+2);listr(3)<=sol4(i+3); listr(4)<=sol4(i+4);listr(5)<=sol4(i+5);listr(6)<=sol4(i+6);listr(7)<=sol4(i+7); when"101"=>row<="11111011";listr(0)<=sol5(i);listr(1)<=sol5(i+1);listr(2)<=sol5(i+2);listr(3)<=sol5(i+3); listr(4)<=sol5(i+4);listr(5)<=sol5(i+5);listr(6)<=sol5(i+6);listr(7)<=sol5(i+7);when"110"=>row<="11111101";listr(0)<=sol6(i);listr(1)<=sol6(i+1);listr(2)<=sol6(i+2);listr(3)<=sol6(i+3); listr(4)<=sol6(i+4);listr(5)<=sol6(i+5);listr(6)<=sol6(i+6);listr(7)<=sol6(i+7); when"111"=>row<="11111110";listr(0)<=sol7(i);listr(1)<=sol7(i+1);listr(2)<=sol7(i+2);listr(3)<=sol7(i+3); listr(4)<=sol7(i+4);listr(5)<=sol7(i+5);listr(6)<=sol7(i+6);listr(7)<=sol7(i+7); when others=>row<="11111111";listr<="00000000";end case;end if;end if;end if;end process;process(clk_1k) --按键防抖beginif clk_1k'event and clk_1k='1' thenif flag='1' thenflag<='0';end if;if flag2='1' thenflag2<='0';end if;if flag3='1' thenflag3<='0';end if;resetmp2<=resetmp1;resetmp1<=dtn1;resetmp4<=resetmp3;resetmp3<=dtn2;resetmp6<=resetmp5;resetmp5<=dtn3;end if;flag<=(not dtn1) and resetmp1 and resetmp2;flag2<=(not dtn2) and resetmp3 and resetmp4;flag3<=(not dtn3) and resetmp5 and resetmp6; end process;process(clk_1)beginif clk_1'event and clk_1='1' thenif color="11" thencolor<="00";elsecolor<=color+1;end if;if num2=31 thennum2<=0;elsenum2<=num2+1;end if;end if;end process;process(clk,flag,flag2,flag3)beginif clk'event and clk='1' thenif flag='1' then --调节亮度if sel="011" thensel<="000";elsesel <= sel+1;end if;sel1<='0';sel2<='0';sel3<='1';end if;if flag2='1' then --彩色切换sel<="111";sel1<='1';sel2<='0';sel3<='0';end if;if flag3='1' then --显示模式切换if kind="10" thenkind<="00";elsekind <= kind+1;end if;sel<="111";sel1<='0';sel2<='1';sel3<='0';end if;end if;end process;end a;五、实现功能说明通过三个按键btn1,btn2,btn3 完成对双色点阵显示的操作。
计算机学院综合性、设计性实验报告
课程名称微机原理与接口指导教师
学号姓名
实验地点实验时间 12月19号
项目名称双色点阵发光二极管显示实验实验类型设计性
一、实验目的
1、了解双色点阵LED显示器的基本原理。
2、掌握PC机控制双色点阵LED显示程序的设计方法。
二、实验仪器或设备
微机原理与接口技术实验板、PC机
三、总体设计(设计原理、设计方案及流程等)
(1)设计原理
点阵LED显示器是将许多LED类似矩阵一样排列在一起组成的显示器件,双色点阵LED是在每一个点阵的位置上有红绿或红黄或红白两种不同颜色的发光二极管。
当微机输出的控制信号使得点阵中有些LED发光,有些不发光,即可显示出特定的信息,包括汉字、图形等。
车站广场由微机控制的点阵LED大屏幕广告宣传牌随处可见。
图一实验原理图
实验仪上设有一个共阳极8×8点阵的红黄两色LED显示器。
该点阵对外引出24条线,其中8条行线,8条红色列线,8条黄色列线。
若使某一种颜色、某一个LED发光,只要将与其相连的行线加高电平,列线加低电平即可。
(2)设计方案及流程
1、实验仪上的点阵LED及驱动电路如下图所示,行代码、红色列代码、黄色列代码各用一片74LS273锁存。
行代码输出的数据通过行驱动器7407加至点阵的8条行线上,红和黄列代码的输出数据通过驱动器DS75452反相后分别加至红和黄的列线上。
行锁存器片选信号为CS1,红色列锁存器片选信号为CS2,黄色列锁存器片选信号为CS3。
2、接线方法:行片选信号 CS1 接 280H;红列片选信号 CS2 接 288H;黄列片选信号 CS3 接 290H。
3、编程在LED上重复显示红色“忆”和黄色“九”。
图二实验流程图
四、实验步骤(包括主要步骤、代码分析等)
实验代码如下:
;********************双色点阵发光二极管显示实验********************
proth equ 280h
protlr equ 288h
protly equ 290h
DATA SEGMENT
MESS DB 'Strike any key,return to DOS!',0AH,0DH,'$'
min1 DB 00h,01h,02h,03h,04h,05h,06h,07h
count db 0
BUFF1 DB 50ch,7fh,0d0h,50h,20h,02h,5fh,10h
BUFF2 DB 00h,00h,0e6h,0a2h,0e2h,0a2h,0feh,00h
DATA ENDS
;----------------------------------------------------------- CODE SEGMENT
ASSUME CS:CODE,DS:DATA
;------------------------------------------------------------ START: MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET MESS
MOV AH,09
INT 21H ;显示提示信息
;------------------------------------------------------------ agn: mov cx,80h
d2: mov ah,01h
push cx
mov cx,0008h
mov si,offset min1
next: mov al,[si]
mov bx,offset buff1
xlat ;得到第一行码
mov dx,proth
out dx,al
mov al,ah
mov dx,protlr
out dx,al ;显示第一行红
mov al,0
out dx,al
shl ah,01
inc si
push cx
mov cx,0ffh;ffh
delay2: loop delay2 ;延时
pop cx
loop next
pop cx
call delay
loop d2
mov al,00
mov dx,protlr
out dx,al
mov ah,01 ;有无键按下
int 16h
jnz a2
agn1: mov cx,80h ;agn1为显示黄色
d1: mov si,offset min1
mov ah,01
push cx
mov cx,0008h
next1: mov al,[si]
mov bx,offset buff2
xlat
mov dx,proth
out dx,al
mov al,ah
mov dx,protly
out dx,al
mov al,0
out dx,al
shl ah,01
inc si
push cx
mov cx,0ffh;ffh
delay1: loop delay1
mov cx,0ffh;ffh
delay3: loop delay3
pop cx
loop next1
pop cx
call delay
loop d1
mov al,00
mov dx,protly
out dx,al
mov ah,01
int 16h
jnz a2
jmp agn ;黄色红色交替显示
;---------------------------------------------------------------- DELAY PROC NEAR ;延迟子程序
push cx
mov cx,0ffh;ffh
ccc: loop ccc
pop cx
ret
DELAY ENDP
;--------------------------------------------------------------------- a2: MOV AH,4CH ;返回
INT 21H
CODE ENDS
END START
;----------------------------------------------------------
五、结果分析与总结
1.实验结果:(以下两个字重复交替显示)
2.实验总结:
通过实验了解了双色点阵LED 显示器的基本原理,掌握了PC 机控制双色点阵LED 显示程序的设计方法,通过修改程序,在试验仪上做出重复显示红色的“许”和黄色的“巴”两个字的实验效果。
同时在此次点阵设计的过程中,更进一步的熟悉了实验软件的使用以及加深了对芯片结构的了解和掌握,懂得了其工作原理和具体的使用方法,进一步将理论运用到实际。
教师签名:
年 月 日。