//74HC595练习程序 //串入并出实现16流水灯效果 //2009.12.28 include"reg52.h"sbit shcp=P2^0; //数据在上升沿进入移位寄存器 sbit date1=P2^1; //串行数据输入端 sbit clock=P2^2; //上升沿时将数
如16点阵、24点阵或者32点;三是单片机控制部份;四是接口部分,一般采用08接口,如果需要不同的接口类型,可以根据08接口为基础进行转接,这也是本系统采用08接口的原因之一;五是串口通讯部分然后就是程序设计
};取时 a=digit_tab[num][line];就取出数字 num的第line行的数据了。变量的话,首先要有8个临时字节来存放取出来的8个数据,把他们移位出去。再有16个字节来存放每个 8*8点阵要显示的数字 还有一个行数 line
根据以上的系统方案比较与分析,本设计的系统总体组成框图如图1所示:图1 系统的总体组成框图 系统整体由三大部分构成:以单片机1#为核心的模块一:包括16*64LED点阵、驱动电路、STR4096存储器、无线数传模块、旋转底盘、光电
include
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x10,0x00,0x11,0xF8,0x10,0x10,0x10,0x20,0xFC,0x40,0x10,0x80,0x11,0xFE,0x14,0x92,0x18,0x92,0x30,0x92,0xD1,0x12,0x11,0x22
单片机方的程序设计 单片机在LED点阵汉字显示系统中主要负责数据的接收、存储和扫描显示 LED点阵屏三大主要功能。串行移动的子程序设计 这是一个通用子程序,在显示子程序中都要被调用,功能是移位寄存器 74HC595接收单片机发出的点阵行数据,逐
基于单片机的16×64点阵字符控制系统的设计
判断得出当前的光强。3.LED驱动电路。LED亮度可调一般采用PWM波驱动,改变PWM的频率就可以改变LED的亮度。AD测得当前的光强后,选择合适的PWM频率,通过三极管或者其他功率器件来控制LED。4.程序总体调试。
不同的LCD或LED显示连接方式不一样。有串行、并行总线,总线类型还分不同种,需要根据显示屏提供的datasheet来确定。知道总线后就能知道如何连接单片机,并在单片机内进行程序设计,达到想要显示的内容。
程序设计内容 (1.LED数码显示原理 七段LED显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的极管的接线形式,可分成共阴极型和共阳极型。LED数码管的g~a七个发光二极管因加正电压而发亮,因加零电压
LED显示器是用发光二极管构成的显示器。构成方式有两大类:一是笔段字符式,一般又有三种:7段(/8段)数码管、15段(/17段)数码管和6段符号显示器;二是点阵字符式,一般有5×7、5×8、8×8和16×16等若干种点
在接收到上位机的数据后,AT91M42800A将要显示的数据,转换成相对应的LED屏显示驱动信号,再加入相应的动态显示效果控制程序(画面左移、上移、开幕、覆盖、闪烁和直显等)后,用SPI口分别输出给行、列驱动电路。同时,若
设计时可采用如下方法:首先将LED显示屏对应的显示缓冲区全部清零,即 LED显示空白,然后每间隔一个“软定时器”设定的动态显示时间,显示缓冲区依次加入一个汉字点阵数据并进行扫描显示,这样就可达到打字显示的效果。3.2 PC机控制程序 a.通讯
急急!用单片机实现LED/LCD广告牌的设计 需要与PC机构建接口,其中LED显示用16*16点阵实现,并且要建一个字库,至少需要英文标点等100多个。最终实现的是在电脑上打一行英文,在显示屏上同时要显示出来、请高手同志帮帮忙哈。 需要与P
急急!用单片机实现LED/LCD广告牌的设计
LED显示器是用发光二极管构成的显示器。构成方式有两大类:一是笔段字符式,一般又有三种:7段(/8段)数码管、15段(/17段)数码管和6段符号显示器;二是点阵字符式,一般有5×7、5×8、8×8和16×16等若干种
单片机方的程序设计 单片机在LED点阵汉字显示系统中主要负责数据的接收、存储和扫描显示 LED点阵屏三大主要功能。串行移动的子程序设计 这是一个通用子程序,在显示子程序中都要被调用,功能是移位寄存器 74HC595接收单片机发出的点阵行数据,
1.1 方案论证 从理论上讲,不论显示图形还是文字,只要控制与组成这些图形的或文字的各个点所在位置相对的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光电亮灭的方法称为静态驱动显示方式。16×16LED的点阵共
毕业设计名称:单片机点阵式LED显示屏设计 毕业设计主要研究内容及研究意义:研究内容:1、用8051单片机显示字体 2、PROTEUS软件和KEIL软件的使用3、单片机的控制程序 4、点阵屏幕的使用 研究意义:利用51单片机和C语言程序的控制
该电路所设计的电子屏可显示10个汉字,需要40个8×8 LED点阵模块,可组成16×160的矩形点阵。由于AT89C52仅有8k存储空间,而显示的内容由PC机控制,因此不可能预先把需要显示的内容做成点阵存在单片机中,而只能由PC机即时地把所需显示的点阵
该电路所设计的电子屏可显示10个汉字,需要40个8×8 LED点阵模块,可组成16×160的矩形点阵。由于AT89C52仅有8k存储空间,而显示的内容由PC机控制,因此不可能预先把需要显示的内容做成点阵存在单片机中,而只能由PC机即时地把所需显示的点阵
求基于单片机的LED点阵显示的毕业设计 谢谢
开题报告主要包括以下几个方面:(一)论文名称 第一,名称要准确、规范。准确就是论文的名称要把论文研究的问题是什么,研究的对象是什么交代清楚,论文的名称一定要和研究的内容相一致,不能太大,也不能太小,要准确地把
开题报告研究内容可以按以下的来写:1.开题报告名称 开题报告名称就是开题报告名字。这看起来似乎是个小问题,但实际上很多人写专题名称时,往往写得不准确、不恰当,从而影响整个开题报告的形象与质量。2.研究的目的、意义
绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩秒时黄灯闪烁警示。本系统实用性强、操作简单、扩展功能强。本设计以单片机为核心,以LED灯作为直行和左右拐弯指示完成了对题目要求的功能。
1、说明选题的背景和研究意义。主要说明所选课题的历史背景、国内外研究现状和发展趋势。历史背景部分着重说明本课题前人研究过没有,研究的成果如何。国内外研究现状部分说明本课题目前在国内外的研究状况,介绍各种观点,比较各
比如我校黄姝老师的指导的课题“佛山新八景”,课题研究的内容就是:“以佛山新八景为重点,考察佛山历史文化沉淀的昨天、今天、明天,结合佛山经济发展的趋势,拟定开发具有新佛山、新八景、新气象的文化旅游的可行性报告及开发
单片机开题报告范文篇1: 基于单片机数字频率计设计开题报告 一、选题的依据及意义: 本课题主要研究如何用单片机来设计数字频率计。因为在电子技术中,频率的测量十分重要,这就要求频率计要不断的提高其测量的精度和速度。在科技以日新月异
设备相比,LED显示设备具有明显的优势:LED屏色彩丰富,显示方式变化多样、亮度高:LED屏可以随意修改显示内容:LED显示屏可用来与计算机屏幕同步。另外它以其超大画面、超宽视觉、灵活多变的显示方式等独居一格的优势,广泛应用于
单片机控制led闪烁开题报告急求一份开题报告的研究重点内容
1:Dais-PG206试验箱,这是教学用的,应该是你们学校的实验仪器,建议你到实验室了解一下。2:16×16点阵就是256个LED发光二极管集成在一块上,16个脚接高电平16脚通过限流电阻接地,通电就亮,原理很简单。3:通信原理
·基于单片机的全自动洗衣机·水塔智能水位控制系统·温度箱模拟控制系统·超声波测距仪的设计·基于51单片机的LED点阵显示屏系统的设计与实现 16×16点阵显示屏·基于AT89S51单片机的数字电子时钟·基于单片机的步进电机的控制·基于单片机的
显示单元电路设计 13 4.1.1 LED点阵模块的选择 13 4.1.2 列驱动电路设计 13 4.1.3 行驱动电路设计 14 4.2 单片机控制系统电路设计 15 4.2.1 单片机的选型 15 4.2.2 单片机系统电路设计 16 4.3 字库与
毕业设计名称:单片机点阵式LED显示屏设计 毕业设计主要研究内容及研究意义:研究内容:1、用8051单片机显示字体 2、PROTEUS软件和KEIL软件的使用3、单片机的控制程序 4、点阵屏幕的使用 研究意义:利用51单片机和C语言程序的控制
该电路所设计的电子屏可显示10个汉字,需要40个8×8 LED点阵模块,可组成16×160的矩形点阵。由于AT89C52仅有8k存储空间,而显示的内容由PC机控制,因此不可能预先把需要显示的内容做成点阵存在单片机中,而只能由PC机即时地把所需显示的点阵
1.1 方案论证 从理论上讲,不论显示图形还是文字,只要控制与组成这些图形的或文字的各个点所在位置相对的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光电亮灭的方法称为静态驱动显示方式。16×16LED的点阵共
74LS164再接ULN2803以对电流放大后再接16×16点阵。74LS164的移位触发端A、B可以接上一片的相邻输出端,Q1或Q7这样实现能实现多个芯片连续移位,以实现显示屏汉字从右到左或从左到右的移动显示功能。由于百度知道不能插入图片
基于51单片机的LED点阵显示屏系统的设计与实现的论文
我做过点阵显示,基于protues仿真的,有图有程序,仿真效果还不错,但没写成论文,要不?给你一个源代码吧,自己分析,用汇编写的。本人编写后亲试过,只要一片C8052S的最少系统就能工作 驱动市售$5.0单元板(32*64)。 ;============================================ ; 32*64点阵屏左滚动显示n个汉字程序 ;============================================ D_FR0 EQU 40H ;第一个显示数据缓冲器 D_FR1 EQU 70H D_MB EQU 30H ;数据位移动次数寄存器 D_AM EQU 31H ;显示半角字个数寄存器 DAMT EQU 32H ;显示半角字个数倍数寄存器 OFFSET EQU 33H ;数据指针偏移量 RED0 BIT P1.4 RED1 BIT P3.1 RCK BIT P1.5 ;锁存信号线 SCK BIT P1.6 ;移位时钟信号线 EN BIT P1.7 ;消隐信号线 ;--------程序入口地址---------------- ORG 0000H JMP START ORG 0030H ;==================================== ; 初始化 ;==================================== START: CLR A MOV 60H,A MOV 61H,A MOV 62H,A MOV 63H,A MOV SP, #0AH ;修改堆栈指针 MOV R7, #5 MOV R0,#D_FR0 MOV R1,#D_FR1 ST1:MOV @R0,A MOV @R1,A INC R0 INC R1 DJNZ R7, ST1 ;40H-44H MOV R7, #20H MOV R0, #D_MB ST2:MOV @R0, A INC R0 DJNZ R7, ST2 ;寄存器清0 , MOV P1, #0ffH MOV DPTR,#TABLE1 MOV 62H,DPL MOV 63H,DPH MOV DPTR,#TABLE2 MOV 64H,DPL MOV 65H,DPH MOV DAMT,#1;显示的半角字的个数的倍数 MOV R4, #2 ;==================================== ; 主程序 ;==================================== MAIN: MOV R5, #16 ;扫描16行 MOV OFFSET, #00H ;数据指针偏移量清0 MA1:CALL QUSHU ;调用取数子程序 CALL DSEND ;调用发送子程序 clr EN ;关显示 inc P1 ;修改行值 CLR RCK SETB RCK ;锁存显示数据 setb EN ;开显示 DJNZ R5, MA1 ;16行未完继续 DJNZ R4, MAIN MOV R4,#5 ;移动速度 INC D_MB MOV A,D_MB CJNE A, #8,M_OUT MOV D_MB, #0 ;1个半角字符要移动8次 MOV A,#16 MOV DPL,62H MOV DPH,63H ADD A,DPL MOV DPL,A MOV 62H,DPL MOV A,DPH ADDC A,#00H MOV DPH,A MOV 63H,DPH MOV A,#16 MOV DPL,64H MOV DPH,65H ADD A,DPL MOV DPL,A MOV 64H,DPL MOV A,DPH ADDC A,#00H MOV DPH,A MOV 65H,DPH INC D_AM MOV A,D_AM CJNE A, #30,M_OUT ;显示的半角字符的个数 MOV D_AM, #00H DJNZ DAMT, M_OUT MOV DAMT, #1 ;显示的半角字的个数的倍数 MOV DPTR,#TABLE1 MOV 62H,DPL MOV 63H,DPH MOV DPTR,#TABLE2 MOV 64H,DPL MOV 65H,DPH MOV P1,#0ffH M_OUT: JMP MAIN ;=================================== ; 取一行数子程序 ;=================================== QUSHU: MOV R7,#9 MOV R0,#D_FR0 MOV DPL,62H MOV DPH,63H PUSH DPL PUSH DPH MOV A,OFFSET QUSHU1: ADD A,DPL MOV DPL,A MOV A,DPH ADDC A,#00H MOV DPH,A CLR A MOVC A,@A+DPTR MOV @R0,A INC R0 MOV A,#16 DJNZ R7,QUSHU1 POP DPH POP DPL MOV 62H,DPL MOV 63H,DPH QUSHU2: MOV R7,#9 MOV R0,#D_FR1 MOV DPL,64H MOV DPH,65H PUSH DPL PUSH DPH MOV A,OFFSET QUSHU3: ADD A,DPL MOV DPL,A MOV A,DPH ADDC A,#00H MOV DPH,A CLR A MOVC A,@A+DPTR MOV @R0,A INC R0 MOV A,#16 DJNZ R7,QUSHU3 POP DPH POP DPL MOV 65H,DPH MOV 64H,DPL INC OFFSET RET ;=================================== ; 数据发送子程序 ;=================================== DSEND: MOV R0,#D_FR0 ;第一个显示数据缓冲区地址放人R0 MOV R1,#D_FR1 MOV R6,#8 ;发送n字节(1行) DSE1:MOV R7,#8 ;每次发送8位 MOV 60H,@R0 MOV 61H,@R1 ;显示数据放入A CPL 60H cpl 61H;取反A DSE2: MOV A,60H RLC A ;将A的内容按位移入C MOV RED0,C ;将C的内容送数据总线 MOV 60H,A MOV A,61H RLC A MOV RED1,C MOV 61H,A CLR SCK SETB SCK ;输出移位脉冲 DJNZ R7, DSE2 INC R0 INC R1 ;修改地址指针 DJNZ R6, DSE1 ;--------屏幕左移一位--------------- MOV A,D_MB ;移动位次数放入A JZ TAMEND ;为0转移 MOV R7,D_MB ;移动位次数放入R7 MOV 60H,@R0 MOV 61H,@R1 cpl 60H ;移入的数据存入A CPL 61H DSE3:MOV A,60H RLC A ;将A的内容按位移入C MOV RED0,C ;将C的内容送数据总线 MOV 60H,A MOV A,61H RLC A MOV RED1,C MOV 61H,A CLR SCK SETB SCK ;输出移位脉冲 DJNZ R7, DSE3 ;移位次数未完继续 ;--------移位时间修正--------------- TAMEND: CLR C ;清C MOV A, #100 SUBB A,D_MB ;需要再延时的次数 JZ D_OUT MOV R7, A TA1: NOP NOP NOP NOP DJNZ R7, TA1 ;空操作(延时) D_OUT: RET ;==================================== ; 文字编码表 ;==================================== TABLE1: DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H,00H,0FCH,04H,45H,46H,28H,28H,10H,28H,24H,44H,81H,01H,02H,0CH DB 80H,80H,80H,0FCH,04H,48H,40H,40H,40H,40H,0A0H,0A0H,10H,08H,0EH,04H DB 00H,41H,26H,14H,04H,04H,0F4H,14H,15H,16H,14H,10H,10H,28H,47H,00H DB 00H,84H,7EH,44H,44H,44H,44H,0C4H,44H,54H,48H,40H,40H,46H,0FCH,00H DB 01H,21H,11H,09H,09H,01H,0FFH,04H,04H,04H,04H,08H,08H,10H,20H,40H DB 00H,08H,0CH,10H,20H,04H,0FEH,40H,40H,40H,40H,40H,42H,42H,3EH,00H DB 10H,10H,51H,51H,52H,54H,58H,50H,57H,54H,54H,54H,54H,14H,17H,14H DB 80H,80H,04H,0FEH,00H,80H,60H,24H,0FEH,44H,44H,44H,44H,44H,0FCH,04H DB 00H,01H,03H,03H,03H,03H,03H,01H,01H,01H,00H,01H,03H,01H,00H,00H DB 00H,80H,0C0H,0C0H,0C0H,0C0H,0C0H,80H,80H,80H,00H,80H,0C0H,80H,00H,00H DB 00H,40H,30H,17H,00H,02H,0F1H,10H,10H,10H,10H,11H,12H,28H,47H,00H DB 80H,40H,48H,0FCH,10H,10H,20H,0A0H,40H,40H,0A0H,10H,10H,06H,0FCH,00H DB 00H,3FH,21H,21H,3FH,21H,21H,21H,3FH,01H,01H,7FH,01H,01H,0FFH,00H DB 08H,0FCH,08H,08H,0F8H,08H,08H,08H,0F8H,00H,08H,0FCH,00H,04H,0FEH,00H DB 0FH,08H,08H,0FH,08H,08H,0FH,00H,0FFH,01H,09H,09H,09H,15H,23H,40H DB 0E0H,20H,20H,0E0H,20H,20H,0E0H,04H,0FEH,00H,20H,0F0H,00H,00H,06H,0FCH DB 42H,32H,12H,02H,9FH,62H,22H,0FH,18H,28H,0C8H,48H,48H,4FH,48H,40H DB 04H,3EH,24H,24H,0E4H,3CH,0A4H,0E4H,0A4H,0BCH,0A4H,0A4H,0A4H,0A4H,54H,88H DB 04H,04H,04H,04H,04H,7CH,04H,04H,04H,04H,04H,04H,1CH,0E4H,44H,00H DB 80H,80H,88H,98H,0A0H,0C0H,80H,80H,80H,80H,80H,80H,82H,82H,7EH,00H DB 01H,09H,09H,11H,11H,20H,03H,0CH,3FH,0C8H,0FH,08H,0FH,08H,0FH,08H DB 00H,20H,10H,0CH,24H,0C0H,00H,08H,0FCH,08H,0F8H,08H,0F8H,08H,0F8H,08H DB 01H,01H,7FH,41H,81H,02H,02H,05H,09H,18H,28H,48H,88H,0AH,0CH,08H DB 00H,00H,0FEH,02H,04H,00H,08H,18H,20H,0C0H,80H,40H,30H,0EH,04H,00H DB 04H,04H,04H,04H,44H,24H,24H,14H,14H,14H,14H,04H,04H,04H,0FFH,00H DB 40H,40H,40H,40H,44H,44H,48H,48H,50H,50H,60H,40H,40H,44H,0FEH,00H DB 04H,0EH,0F8H,08H,08H,0FEH,08H,1CH,1AH,29H,28H,48H,88H,08H,08H,08H DB 10H,10H,90H,50H,10H,90H,50H,14H,1EH,0F0H,10H,10H,10H,10H,10H,10H DB 22H,11H,11H,00H,7FH,40H,80H,1FH,00H,01H,0FFH,01H,01H,01H,05H,02H DB 08H,08H,10H,20H,0FEH,02H,04H,0E0H,40H,84H,0FEH,00H,00H,00H,00H,00H DB 00H,78H,4FH,54H,58H,63H,50H,48H,4FH,48H,68H,50H,41H,41H,42H,4CH DB 80H,40H,0FEH,02H,14H,0F8H,00H,08H,0FCH,0A0H,0A0H,0A0H,22H,22H,1EH,00H DB 06H,0F8H,11H,11H,0FFH,39H,55H,91H,11H,0FEH,24H,44H,28H,11H,2AH,44H DB 40H,84H,0FEH,24H,24H,0FCH,24H,44H,0FCH,40H,60H,0A0H,0A8H,22H,22H,1EH DB 01H,01H,01H,0FFH,01H,01H,01H,3FH,00H,02H,11H,50H,50H,90H,0FH,00H DB 00H,00H,04H,0FEH,00H,00H,10H,0F8H,00H,00H,80H,84H,12H,12H,0F0H,00H DB 82H,44H,29H,0FEH,10H,11H,7CH,10H,10H,0FEH,11H,12H,10H,20H,21H,40H DB 00H,04H,0DEH,44H,44H,54H,0CCH,44H,44H,0CCH,54H,64H,44H,44H,54H,88H DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,30H,1EH,0FH,07H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H DB 01H,01H,7FH,01H,05H,09H,31H,0C1H,0FH,00H,01H,7FH,01H,01H,05H,02H DB 00H,08H,0FCH,00H,40H,30H,0EH,04H,0E0H,40H,88H,0FCH,00H,00H,00H,00H DB 08H,08H,08H,08H,0FEH,08H,18H,1CH,2AH,28H,49H,8AH,08H,08H,08H,08H DB 20H,20H,20H,24H,0FEH,20H,60H,70H,0A8H,0AEH,24H,20H,20H,20H,20H,20H DB 00H,7FH,40H,40H,5FH,40H,40H,4FH,48H,48H,48H,48H,4FH,48H,40H,40H DB 04H,0FEH,04H,24H,0F4H,04H,24H,0F4H,24H,24H,24H,24H,0E4H,24H,14H,08H DB 22H,11H,11H,00H,7FH,40H,80H,1FH,00H,01H,0FFH,01H,01H,01H,05H,02H DB 08H,08H,10H,20H,0FEH,02H,04H,0E0H,40H,84H,0FEH,00H,00H,00H,00H,00H DB 10H,10H,22H,7FH,42H,43H,42H,42H,7EH,42H,42H,42H,42H,7EH,42H,00H DB 40H,40H,44H,7EH,84H,04H,04H,84H,64H,24H,04H,04H,04H,04H,28H,10H DB 08H,08H,08H,17H,10H,30H,50H,90H,17H,10H,10H,10H,10H,10H,1FH,10H DB 80H,40H,44H,0FEH,40H,40H,40H,48H,0FCH,40H,40H,40H,40H,44H,0FEH,00H DB 02H,07H,38H,20H,20H,3EH,22H,22H,22H,3EH,22H,20H,21H,42H,84H,00H DB 08H,1CH,0E0H,80H,80H,84H,0FEH,88H,88H,88H,88H,88H,08H,08H,08H,08H DB 00H,01H,03H,03H,03H,03H,03H,01H,01H,01H,00H,01H,03H,01H,00H,00H DB 00H,80H,0C0H,0C0H,0C0H,0C0H,0C0H,80H,80H,80H,00H,80H,0C0H,80H,00H,00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H TABLE2: DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 01H,01H,02H,04H,08H,12H,21H,0C0H,00H,1FH,00H,00H,00H,00H,00H,01H db 00H,00H,80H,40H,20H,10H,8EH,84H,00H,0F0H,10H,20H,20H,40H,80H,00H DB 00H,7FH,01H,01H,01H,01H,0FFH,01H,02H,02H,04H,04H,08H,10H,20H,0C0H db 08H,0FCH,00H,00H,00H,04H,0FEH,00H,80H,80H,40H,40H,20H,10H,0EH,04H DB 00H,08H,7DH,4AH,4CH,4BH,4AH,7AH,4AH,4BH,4AH,48H,78H,49H,02H,04H db 80H,80H,0F8H,10H,24H,0FEH,44H,44H,44H,0FCH,64H,0A0H,0A2H,22H,1EH,00H DB 01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,0FFH,00H db 00H,00H,00H,00H,10H,0F8H,00H,00H,00H,00H,00H,00H,00H,04H,0FEH,00H DB 02H,02H,0FFH,04H,04H,0FH,08H,18H,2FH,48H,88H,0FH,08H,08H,08H,08H db 00H,04H,0FEH,00H,10H,0F8H,10H,10H,0F0H,10H,10H,0F0H,10H,10H,50H,20H DB 01H,01H,01H,01H,01H,7DH,05H,05H,09H,09H,11H,21H,41H,81H,05H,02H db 00H,00H,00H,08H,18H,20H,0C0H,80H,40H,20H,10H,0EH,04H,00H,00H,00H DB 00H,7CH,44H,49H,48H,50H,48H,4BH,44H,45H,45H,69H,51H,41H,41H,41H db 20H,20H,28H,0FCH,20H,20H,24H,0FEH,20H,24H,24H,24H,24H,24H,0FCH,04H DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,60H,20H,20H,40H DB 08H,0BH,12H,12H,23H,4AH,8AH,13H,32H,52H,92H,12H,12H,12H,13H,12H db 08H,0FCH,08H,08H,0F8H,08H,08H,0F8H,84H,8CH,50H,20H,10H,88H,0EH,04H DB 00H,1FH,10H,10H,1FH,10H,10H,1FH,14H,44H,34H,14H,04H,04H,0FFH,00H db 10H,0F8H,10H,10H,0F0H,10H,10H,0F0H,50H,44H,4CH,50H,40H,44H,0FEH,00H DB 10H,10H,10H,1EH,22H,33H,4AH,0A4H,14H,08H,11H,22H,40H,24H,24H,40H db 20H,20H,28H,24H,20H,0FEH,20H,50H,50H,88H,0EH,04H,00H,48H,46H,02H DB 04H,0EH,78H,08H,08H,0FFH,08H,08H,0AH,0CH,18H,68H,09H,0AH,28H,10H db 80H,0A0H,90H,90H,84H,0FEH,80H,90H,90H,60H,40H,0A0H,20H,14H,14H,0CH DB 10H,12H,11H,24H,24H,64H,0A4H,24H,24H,24H,24H,24H,24H,24H,24H,24H db 00H,04H,7EH,84H,04H,04H,04H,04H,04H,04H,04H,04H,04H,04H,14H,08H DB 00H,7FH,10H,10H,10H,08H,08H,04H,04H,02H,01H,02H,04H,08H,30H,0C0H db 00H,0F0H,10H,10H,20H,20H,40H,40H,80H,80H,00H,80H,40H,30H,0EH,04H DB 10H,10H,10H,13H,0FCH,10H,14H,18H,30H,0D0H,10H,10H,10H,10H,50H,20H db 00H,00H,04H,0FEH,20H,20H,20H,20H,20H,20H,20H,20H,20H,20H,0A0H,40H DB 00H,0FFH,00H,00H,01H,01H,03H,05H,09H,11H,21H,41H,01H,01H,01H,01H db 04H,0FEH,80H,80H,00H,00H,40H,20H,18H,0CH,04H,00H,00H,00H,00H,00H DB 00H,40H,20H,17H,00H,00H,0F1H,10H,10H,10H,10H,10H,10H,28H,47H,00H db 10H,10H,10H,0FCH,10H,10H,10H,90H,90H,10H,10H,50H,20H,06H,0FCH,00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H END
开题报告要求不少于3000字。 开题报告的主要内容和要求如下: 1、说明选题的背景和研究意义。主要说明所选课题的历史背景、国内外研究现状和发展趋势。 历史背景部分着重说明本课题前人研究过没有,研究的成果如何。 国内外研究现状部分说明本课题目前在国内外的研究状况,介绍各种观点,比较各种观点的异同,着重说明本课题目前存在的争论焦点,说明自己的观点。 发展趋势部分说明本课题目前国内外研究已经达到什么水平,还存在什么样的问题,指明研究发向,提出可能解决的方法。 2、研究的基本内容和拟解决的主要问题。说明本课题研究的主要课题,研究的重点和方向,明确进一步研究的思路。 3、研究方法及措施。 选题不同,研究方法也往往不同。在开题报告中,学生要说明自己准备采用的研究方法。写明研究方法和措施,并给予必要的设计方案论证,争取在这些方面得到指导教师的指导或建议。 4、研究工作的步骤、进度。 毕业设计过程中,材料的搜集、课题的设计制作调试、论文的撰写与修改等,都要分阶段进行。在时间安排上,要充分考虑各个阶段研究内容的相互关联。对于指导教师在任务书中规定的时间安排,学生应在开题报告中给予呼应,并最后得到批准。一般实际操作时间安排要提前一些。 5、主要参考文献。在开题报告中,应列出主要参考文献,表明自己已经了解所选课题的相关资料,证明课题是有理论依据的。所列出的参考文献,应有不少于2篇英文文献 (一般指英文原文参考文献) 。
1、论文拟解决的问题,就是指论文里最终要解决什么。 2、难点,是在论文中,哪一块比较难做的,比如收集处理资料,问题的处理方法等都可以写。 扩展资料 开题报告主要包括以下几个方面: (一)论文名称 第一,名称要准确、规范。准确就是论文的名称要把论文研究的问题是什么,研究的对象是什么交待清楚,论文的名称一定要和研究的内容相一致,不能太大,也不能太小,要准确地把你研究的对象、问题概括出来。 第二,名称要简洁,不能太长。不管是论文或者课题,名称都不能太长,能不要的字就尽量不要,一般不要超过20个字。 (二) 论文研究的目的、意义 研究的目的、意义也就是为什么要研究、研究它有什么价值。这一般可以先从现实需要方面去论述,指出现实当中存在这个问题,需要去研究,去解决,本论文的研究有什么实际作用,然后,再写论文的理论和学术价值。这些都要写得具体一点,有针对性一点,不能漫无边际地空喊口号。 主要内容包括: ⑴ 研究的有关背景(课题的提出): 即根据什么、受什么启发而搞这项研究。 ⑵ 通过分析本地(校) 的教育教学实际,指出为什么要研究该课题,研究的价值,要解决的问题。 (三) 本论文国内外研究的历史和现状(文献综述)。 规范些应该有,如果是小课题可以省略。 一般包括:掌握其研究的广度、深度、已取得的成果;寻找有待进一步研究的问题,从而确定本课题研究的平台(起点)、研究的特色或突破点。 (四)论文研究的指导思想 指导思想就是在宏观上应坚持什么方向,符合什么要求等,这个方向或要求可以是哲学、政治理论,也可以是政府的教育发展规划,也可以是有关研究问题的指导性意见等。 (五) 论文写作的目标 论文写作的目标也就是课题最后要达到的具体目的,要解决哪些具体问题,也就是本论文研究要达到的预定目标:即本论文写作的目标定位,确定目标时要紧扣课题,用词要准确、精练、明了。 常见存在问题是:不写研究目标;目标扣题不紧;目标用词不准确; 目标定得过高, 对预定的目标没有进行研究或无法进行研究。 确定论文写作目标时,一方面要考虑课题本身的要求,另一方面要考率实际的工作条件与工作水平。 (六)论文的基本内容 研究内容要更具体、明确。并且一个目标可能要通过几方面的研究内容来实现,他们不一定是一一对应的关系。大家在确定研究内容的时候,往往考虑的不是很具体,写出来的研究内容特别笼统、模糊,把写作的目的、意义当作研究内容。 基本内容一般包括: ⑴对论文名称的界说。应尽可能明确三点:研究的对象、研究的问题、研究的方法。 ⑵本论文写作有关的理论、名词、术语、概念的界说。 (七)论文写作的方法 具体的写作方法可从下面选定: 观察法、调查法、实验法、经验总结法、 个案法、比较研究法、文献资料法等。 (八)论文写作的步骤 论文写作的步骤,也就是论文写作在时间和顺序上的安排。论文写作的步骤要充分考虑研究内容的相互关系和难易程度,一般情况下,都是从基础问题开始,分阶段进行,每个阶段从什么时间开始,至什么时间结束都要有规定。 课题研究的主要步骤和时间安排包括:整个研究拟分为哪几个阶段;各阶段的起止时间。 参考资料来源:百度百科-论文
摘 要:由于普通LED点阵显示屏动态显示通常采用硬件扫描驱动,这在一些需要特殊显示的场合显得不够灵活。文中提出了一种利用PC机和单片机的通讯来实现显示屏灵活的动态显示和远程监控的设计方法,同时该方法还可以将显示内容在PC机上进行预览。 关键词:LED;动态显示;远程控制;显示预览 1引言 LED 点阵电子显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。它以其色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点而成为众多显示媒体以及户外作业显示的理想选择。同时也可广泛应用到军事、车站、宾馆、体育、新闻、金融、证券、广告以及交通运输等许多行业。 目前大多数的LED点阵显示系统自带字库。其显示和动态效果(主要是显示内容的滚动)的实现主要依靠硬件扫描驱动,该方法虽然比较方便,但显示只能按照预先的设计进行。而实际上经常会遇到一些特殊要求的动态显示,比如电梯运行中指示箭头的上下移动、某些智能仪表幅值的条形显示、广告中厂家的商标显示等。这时一般的显示系统就很难达到要求。另外,由于受到存储器本身的局限,其特殊字符或图案也往往难以显示,同时显示内容也不能随意更改。本文提出一种利用PC机和单片机控制的LED显示系统通讯方法。该方法可以对显示内容(包括汉字和特殊图符)进行实时控制,从而实现诸如闪动、滚动、打字等多种动态显示效果。该方法同时还可以调节动态显示的速度,同时用户也可以在PC机上进行显示效果的预览,显示内容亦可以即时修改。另外,通过标准的RS232/485 转换模块还可以实现对显示系统的远程控制。2系统硬件设计 本 系统主要的硬件设计是下位机单片机的显示 控制部分。而上位机(PC机)与单片机显示控制部分的接口为标准RS232通讯方式。若需实现远程监控,只需增加RS232/485转换模块即可,该部分已有成熟的电路设计,故不再详细叙述。 具体的LED显示屏控制电路如图1所示。整个电路由单片机89C52、点阵数据存储器6264、列驱动电路ULN2803、行驱动电路TIP122、移位寄存器4094及附属电路组成。该电路所设计的电子屏可显示10个汉字,需要40个8×8 LED点阵模块,可组成16×160的矩形点阵。由于AT89C52仅有8k存储空间,而显示的内容由PC机控制,因此不可能预先把需要显示的内容做成点阵存在单片机中,而只能由PC机即时地把所需显示的点阵数据传给单片机并存入缓冲区6264。 该电路的显示采用逐行扫描方式。工作时,由单片机从缓冲区取出第一行需要显示的20字节点阵数据,再由列点阵数据输入端P1.2口按位依次串行输入至列移位寄存器,其数据输入的顺序与显示内容的顺序相反。然后置行点阵选通端P1.3为1,即置行移位寄存器的D为高电平,STR使能(所有4094的OE 引脚接+5V电平),从而使列移位寄存器中的数据同时并行输出以选通该行。经延时一段时间后再进行下一行点阵数据的显示。需要注意的是,每次只能选通一行数据,即要通过不断的逐行扫描来实现汉字或字符的显示。3显示与控制的设计 在笔者设计的PC机控制多单片机显示系统中,用PC机实现的主要功能包括单片机显示子系统的选择,显示方式选择(包括静态、闪动、滚动、打字等),滚动方向选择(包括上下滚动和左右滚动),动态显示速度调节(即文字闪动频率、滚动速度、打字显示速度等),显示内容输入及显示预览等。单片机一般通过 RS232/485串行接收PC机发出的显示指采用定时器中断方式进行行扫描,每次中断显示一行,定时中断时间为1.25ms,这样整屏的刷新率为 50Hz,因而无闪烁感。 实现动态显示速度调节的方法通常是改变定时器的中断时间,但是当显示速度很慢的时候,该方法容易使整屏的刷新率降低,从而使显示内容出现闪烁。因此,本设计采用一种“软定时”方法,即在程序中命名一变量作为“软定时器”,以用来设定两次动态显示的时间间隔。在对定时中断调用计数时,如果调用次数达到设定值,则改变显示内容。为保证能够正常显示,“软定时器”的设定值必须大于整屏显示周期。由于显示屏每行显示1.25ms,整屏显示周期为20ms,考虑到余量的情况,可将软定时器的设定值定在大于30ms。如此循环计数,即可实现动态显示。“软定时器”的设定值可以通过上位机PC机来改变,这样既可实现 LED动态显示的速度调节,又可保持显示内容的流畅和无闪烁感。3.1单片机动态显示控制 以上提到的静态、闪动、滚动和打字等4种显示方式,实际上是单片机定时中断程序进行行扫描处理的不同方法。下面将分别说明如何实现这4种显示方式。 静态显示只需在定时中断处理程序中从显示缓冲区调入相应的一行显示数据,然后选中该行即可实现该行的显示,如此循环,便可显示整个内容。闪动显示与此类似,不同的是要间隔一个“软定时器”的定时时间,在行扫描时,行移位寄存器的D端打入的全为0,可使得整屏不显示,以确保黑屏时间与显示时间相等,从而实现汉字或图符的闪动显示。 滚动显示要求需要显示的内容每隔一定时间向指定方向(这里以从右向左为例)移动一列,这样显示屏可以显示更多的内容。为此,需要在下次移动显示之前对显示缓冲区的内容进行更改,从而完成相应点阵数据的移位操作。具体操作方法是: 设置一个显示缓冲区(如图2所示),该区应包括两部分:一部分用来保存当前LED显示屏上显示的10个汉字点阵数据;另一部分为点阵数据预装载区,用来保存即将进入LED显示屏的1个汉字的点阵数据。滚动指针始终指向显示屏的最右边原点。当滚动指针移动到需要显示的点阵数据存储区的第1个汉字的首地址时,显示缓冲区LED显示区为空白,而预装载区已保存了第1个待显示汉字的点阵数据。当需要滚动显示时,则可在接下来的扫描周期的每个行扫描中断处理程序中,将对显示缓冲区的相应行点阵数据左移一位,同时更改显示缓冲区的内容。(需要注意的是,要确保该操作能在1.25ms的中断时间内完成。这里89C52采用22MHz晶振,实验证明可以实现该操作)。这样,在一个扫描周期后,整个汉字将左移一列,而显示缓冲区的内容也同时更改。由于预装载区保存了1个汉字点阵数据,即16×16点阵,所以当前显示缓冲区的内容只能移动16列。当下一个滚动到来时,滚动指针将移动到点阵数据存储区的下一个汉字的首地址,并在预装载区存入该汉字的点阵数据。然后重复执行上述操作便可实现滚动显示。特殊字符或图形的显示与此类似,这里不再赘述。 打字显示要求汉字在显示屏上按从左到右的顺序一个个的出现,如同打字的效果。设计时可采用如下方法:首先将LED显示屏对应的显示缓冲区全部清零,即 LED显示空白,然后每间隔一个“软定时器”设定的动态显示时间,显示缓冲区依次加入一个汉字点阵数据并进行扫描显示,这样就可达到打字显示的效果。3.2 PC机控制程序 a.通讯功能的实现 在Windows环境下,实现PC与单片机的通讯可利用Windows的通讯API函数或者利用VC++(或其它语言)的标准通讯函数_inp、_outp来实现。但上述两种方法比较繁琐,而采用ActiveX控件MSComm32来实现则非常方便。该控件用事件的方式简化了对串口操作的编程,并可设置串行通信的数据发送和接收,还可对串口状态及串口通信的信息格式和协议进行设置。其初始化程序如下: 一般情况下,PC要与多个单片机89C51系统进行主从式通讯,为了区分各单片机系统,可以使89C51采用串口工作方式3,即11位异步接收/发送方式,该方式的有效数据为9位,其中第9位为地址/数据信息的标志位,其作用是使从机据此判断发送的数据是否为地址,从而实现多机操作。但现在由于采用的是MSCOMM控件来实现PC机和单片机之间的通讯,这是一种标准的10位串口通信方式,即8位标准数据位和该数据的起始位、停止位各1位。因此二者格式不相符,故很难利用上述方案。因此可考虑将单片机串口设为工作方式1,即改为10位异步接收/发送方式来解决,其通讯流程如下: 首先发通信开始标志,接着发送需要操作的单片机系统地址,然后发送显示工作命令字,该命令包括2个字节,前一字节用于设定显示方式和滚动方向,后一字节则用于设定显示速度。再往下是传送显示内容的点阵数据,最后对数据进行校验。该通讯规约非常简便,能够较好的解决上述问题,从而实现PC机与多单片机之间的主从式通讯及对显示的控制。 需要注意的是,当显示内容需要改变时,为了避免在单片机串行中断接收数据时,显示屏出现乱码,应使显示屏暂不显示(处于“黑屏”状态),直到数据接收完全,串行中断处理结束时再显示。 汉字字模的提取非常关键,本文的字模数据取自UCDOS下的字库文件HZK16。关于这方面的介绍较多,文献〔2〕给出了较为具体的在VC下提取汉字字模的方案,这里不再赘述。对于特殊字符或图形点阵数据的提取,简便的方法可以先做一个BMP文件,然后用一些取模软件(如字模提取v2.1)来获得。为了显示方便,点阵数据的格式应为n×(16×8),不足要求的则应以0数据补充。 b.动态效果模拟显示 为了方便调节LED的显示效果,笔者在PC机的控制界面上设计了LED显示屏的模拟显示,它同实际的显示效果完全一样。用户可以设定显示的模式,并调节显示速度,然后在界面上对显示效果进行预览,同时还可以随时修改和设定参数,因而十分方便简捷。 为此,可先在界面上描绘出虚拟的LED显示屏,由于实际的显示屏为160×16点阵,故须在界面 上设定相同的区域。 实现动态显示效果的方法和以上几种基本类似,这里以滚动显示为例作一说明。对于需要滚动的文字,可以将其设置为位图格式,暂存于内存中,然后利用VC 提供的位图拷贝函数BitBlt将位图复制到显示位置。对于特殊字符或图形,则可以直接利用BitBlt函数调用到显示位置。然后在类CLEDDlg的 OnTimer函数中调用该函数,以实现文字的滚动显示。另外,也可以通过设定不同的响应时间间隔来改变文字的滚动速度。 汉字显示屏广泛应用与汽车报站器,广告屏等。本文介绍一种实用的汉字显示屏的制作,考虑到电路元件的易购性,没有使用8*8的点阵发光管模块, 而是直接使用了256个高量度发光管,组成了16行16列的发光点阵。同时为了降低制作难度, 仅作了一个字的轮流显示,实际使用时可根据这个原理自行扩充显示的字数。 1汉字显示的原理: 我们以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字, 也可以显示在256像素 范围内的任何图形。 用8位的AT89C51单片机控制, 由于单片机的总线为8位,一个字需要拆分为2个部分。 软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到我们的程序中即可。 我们把行列总线接在单片机的i0口,然后把上面分析到的扫描代码送入总线, 就可以得到显示的汉字了。 在这个例子里,由于一共用到16行,16列, 如果将其全部接入89c51 单片机, 一共使用32条io口,这样造成了io资源的耗尽,系统也再无扩充的余地。 实际应用中我们使用4-16线译码器74ls154来完成列方向的显示。 而行方向16条线则接在 p0口和p2口。 程序清单: ORG 00H LOOP: MOV A,#0FFH ;开机初始化,清除画面 MOV P0,A ;清除P0口 ANL P2,#00 ;清除P2口 MOV R2,#200 D100MS: MOV R3,#250 ;延时100毫秒 DJNZ R3,$ DJNZ R2,D100MS MOV 20H,#00H ;取码指针的初值 l100: MOV R1,#100 ;每个字的停留时间 L16: MOV R6,#16 ;每个字16个码 MOV R4,#00H ;扫描指针清零 MOV R0,20H ;取码指针存入R0 L3: MOV A,R4 ;扫描指针存入A MOV P1,A ;扫描输出 INC R4 ;扫描指针加1,扫描下一个 MOV A,R0 ; 取码指针存入A MOV DPTR,#TABLE ;取数据表的上半部分的代码 MOVC A,@A+DPTR MOV P0,A ; 输出到P0 INC R0 ;取码指针加1,取下一个码。 MOV A,R0 MOV DPTR,#TABLE ;取数据表下半部份的代码 MOVC A,@A+DPTR MOV P2,A ;输出到P2口 INC R0 MOV R3,#02 ;扫描1毫秒 DELAY2: MOV R5,#248 ; DJNZ R5,$ DJNZ R3,DELAY2 MOV A,#00H ;清除屏幕 MOV P0,A ANL P2,#00H DJNZ R6,L3 ;一个字16个码是否完成? DJNZ R1,L16 ;每个字的停留时间是否到了? MOV 20H,R0 ;取码指针存入20H CJNE R0,#0FFH,L100 ;8个字256个码是否完成? JMP LOOP ;反复循环 TABLE : ;汉字“倚”的代码 db 01H,00H,02H,00H,04H,00H,1FH,0FFH db 0E2H,00H,22H,00H,22H,0FCH,26H,88H db 2AH,88H,0F2H,88H,2AH,0FAH,26H,01H db 63H,0FEH,26H,00H,02H,00H,00H,00H ;以下分别输入天,一,出, 宝,刀,屠,龙,的代码,略。 end 电路中行方向由p0口和p2口完成扫描,由于p0口没有上拉电阻,因此接一个4.7k*8的排阻上拉。 如没有排阻,也可用8个普通的4.7k 1/8w电阻。为提供负载能力,接16个2n5551的NPN三极管驱动。 列方向则由4—16译码器74LS154完成扫描,它由89C51的P1.0---P1.3控制。同样,驱动部分则是16个2N5401的三极管完成的。 电路的供电为一片LM7805三端稳压器,耗电电流为100Ma左右。 采用一块12*20cm的万能电路板,应当选用质量好些的发光管,(否则有坏点现象, 更换起来较麻烦)首先将256个发光管插入电路板,注意插入方向,同时使高度一致,行方向直接焊接起来, 列方向则搭桥架空焊接,完成后用万用表测试一下如有不亮的更换掉。 然后找一个电脑硬盘的数据线, 截取所需的长度,分别将行,列线引出至电路的相关管脚即可。原理图为了简洁,故只画出了示意图,行列方向只画出了2个三极管,屏幕只画出4个发光管, 实际上发光管为256只,三极管行列方向各16只,一共32只。焊接过程认真仔细一天时间即可完成全部制作。将程序编译后烧写入89c51, 插入40pin Ic座,即可看到屏幕轮流显示:“倚天一出宝刀屠龙”。 当然,你可将程序的汉字代码部分更换为您所需要的代码即可显示你所需要的汉字 元件清单: 名称 数量 规格 4.7k 1/8w 32 电阻 4.7k*8排阻 1 2n5551 16 小功率NPN三极管 2n5401 16 小功率PNP三极管 led 256 3mm白发红高亮度 22P 2 瓷片电容 10uf/50v 1 电解电容 100uf/25v 2 电解电容 AT89C51 1 或AT89S51 40pin Ic座 1 插89c51用 12M 1 晶体 74LS154 1 或74HC154 LM7805 1 稳压IC 电源插座 1 稳压电源 1
要做硬件么?某宝上找一款单片机学习板,带led点阵的。都会送学习资料和测试程序。什么书都不比动手实践好。
你到工搜网资料文库看看,我以前写毕业论文的时候就是在这上面找的资料,不过我找的是关于plc的。
需要一块单片机STC或AT89C52,推荐STC,还有一块或多块8*8点阵LED,取决于你要做多大的广告牌。若干小电容电阻,具体有其他要求可以私信或追问
不要一上来就要完整的东西,问思路可以,你这样还不如不学呢!
如做LED字符显示应该是可以的,但是前提是你的程序代码不是很大。at89c52大概比较贵了。现在都用AT89S51,和AT89S52, at89c52和at89c51好像都停产了,所以价格反而更贵,AT89S51,和AT89S52,更便宜而且可以支持在线编程的。我上次去电子市场买at89c52和at89c51都说没有了。