基于单片机的led点阵显示屏论文内容摘要:
系统框图如图 21 所示,系统主要由三大模块组成即 LED 驱动模块、数据存储模块、 PC 机通信模块。 数据存储电路设计 数据存储电路由串行 EEPROM 24C256组成。 24C256是 美国 CATALYST 公司出品的一个 1256K位的支持 I2C总线数据传送协议的串行 CMOS E2PROM, 可用电擦除 , 可编程自定时写周期 ( 包括自动擦除时间不超过 10ms 典型时间为5ms) 的串行 E2PROM。 该芯片有 两种写入方式 , 一种是字节写入方式 , 还有另一种页写入方式。 允许在一个写周期内同时对 1个字节到一页的若干字节的编程写入。 24C256的引脚排列及引脚功能描述如图 321和表 321 图 321 24C256 的引脚排列图 A T 8 9 C 5 1串行EE P R OM驱动模块LED 显示模块M AX 2 32电平转换PC 机通信 基于单片机的 LED 点阵显示屏 10 表 321引脚功能描述 该存储电路仅由芯片 24C256组成, SCL为 串行时钟引脚,用于产生器件所有数据发送或接收的时钟。 SDA为 串行数据 /地址,这是一个双向传输端,用于传送地址和所有数据的发送或接收。 当 LED显示屏控制系统工作时,单片机 89C51通过读 SDA和 SCL脚读取 24C256中的内容,并将其显示于 LED显示屏上。 也可以通过上位机( PC机)将编辑好的数据内容下载到 24C256芯片内 4 系统的软件设计 下位机软件 流程 本系统中下位机(单片机 89C51)的主要功能就是实现 LED 显示屏上字样的移位、显示、数据的读取等功能。 其主程序流程如图 421 所示。 开机 机 系统初始化 否 是 判断是否处于通信状态。 移位显示 读取显示内容 图 421 主程序流程图 读取 24C256 的标志位 等待 判断是否有中断标志。 是 否 基于单片机的 LED 点阵显示屏 11 设计过程 总体设计 图 31 显示屏电路框图 如 图 31 所示 , 本产品拟采用以 AT89C51 单片机为核心芯片的电路来实现,主要由 AT89C51 芯片、 电源 、 行驱动器 、列驱动 器 、 16 16 LED 点阵 5 部分组成。 从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在的位置 相对应的 LED 器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。 16x 16 的点阵共有256 个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口,按 8 位的锁存器来计算, 16x 16 的点阵需要 256/8=32 个锁存器。 这个数字很庞大,因为我们仅仅是 16x 16 的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。 因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。 动态扫描的意思简单地说就是逐 行轮流点亮,这样扫描驱动电路就可以实现多行(比如 16 行)的同名列共用一套驱动器。 具体就 16x 16 的点阵来说,把所有同 1 行的发光管的阳极连在一起,把所有同 1 列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第 1 行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第 2 行使其 基于单片机的 LED 点阵显示屏 12 燃亮相同的时间,然后熄灭;以此类推,第 16 行之后,又重新燃亮第 1 行,反复轮回。 当这样轮回的速度足够快(每秒 24 次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。 采用扫描方式 进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。 显示数据通常存储在单片机的存储器中,按 8 位一个字节的形式顺序排放。 显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。 从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。 显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。 当列数很多时,并列传输的方案是不可取的。 系统硬件选择 由图 32 可知此次设计的硬件选择如下: AT89C51 芯片 、 LED、 74LS13 LED 的驱动 三极管、电阻等 一些单片机外围应用电路 组成。 硬件电路实现 经分析本设计的电路原理图如下 图 31 所示: 基于单片机的 LED 点阵显示屏 13 软件的程序实现 编译、装载、连续运行程序,点阵显示模块应循环显示“ 民族职业 学院欢迎你。 ”字样。 16 16 点阵显示程序清单如下: ORG 0000H LJMP XB13。 ==========点阵扫描子程序 ==================== X01A: CLR A。 清列值 MOV 0EH, A。 指向零列 X023: MOV A, 0EH。 取列值 CLR C SUBB A, 10H。 减 16(十进制数 ) JC X0D2。 末满 16 列继续扫描下一列 RET。 本次扫描完毕返回主程序 X0D2: MOV 0F0H, 02H MOV A, 0EH MUL AB。 当前列 值与“ 2”进行十进制调正 MOV 82H, A。 调正结果送数据指针 DPTR MOV 83H, 0F0H LCALL XB1F。 取与当前列对应的扫描代码 MOV 20H, A。 ===================== LCALL XB4E。 扫描代码送高八位锁存器。 ===================== MOV A, 0EH。 取列值 MOV 0F0H, 02H。 当前列值与“ 2”进行十进制调正 MUL AB ADD A, 01H。 调正结果加 1 送数据指针 DPTR MOV R7, A CLR A ADDC A, 0F0H。基于单片机的led点阵显示屏论文
相关推荐
) 将数据线置高电平“ 1”。 ( 2) 延时 2微秒。 ( 3) 将数据置低电平“ 0”。 ( 4) 延时 18 微秒。 ( 5) 将数据线置高电平“ 1”。 ( 6) 延时 18 微秒。 ( 7) 读 DS18B20 得到 1个状态位,并进行数据处理。 ( 8) 延时 100 微秒。 5 数字传感器 DS18B20 的温度转换子程序设计 根据 DS18B20 的通讯协议,单片机控制
可直接与总线相连。 当三态允许控制端 OE 为低电平时, O0~O7 为正常逻辑状态,可用来驱动负载或总线。 当 OE 为高电平时, O0~O7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。 当锁存允许端 LE 为高电平时, O 随数据 D 而变。 当 LE 为低电平时, O 被锁存在已建立的数据电平。 微机原理及应用课程设计说明书 7 图 33 74LS373
示内容和显示方式 [4]。 A T 8 9 S 5 2单 片 机控 制 单 元上 位 机1 6 X 1 6 L E D 显示 点 阵通 讯 接 口行驱动列 驱 动 图 21 系统硬件组成框图 设计论证 图文显示一般有静态和动态显示两种方案,静态方案虽然设计简单,但其使用的管脚太多,如本设 计中 16x 16 的点阵共有 256 个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口
为 8 位 通用微处理器 ,采用工业标准的 C51 内核 ,在内部功能及管脚排布上与通用的 8xc52 相同,其主要用于会聚调整时的功能控制。 功能包括对会聚主 IC 内部寄存器、数据 RAM 及外部 接口等功能部件的初始化,会聚调整控制,会基于单片机的交通灯控制系统 9 聚测试图控制,红外遥控信号 IR 的接收解码及与主板 CPU 通信等。 主要管脚有:XTAL1( 19 脚)和 XTAL2(
key2=1。 key3=1。 flag1=0。 flag3=0。 temp_h=0。 temp_l=0。 } void delayms(unsigned int v) { unsigned int m,n。 for(m=v。 m0。 m) for(n=73。 n0。 n)。 } void display()//温度显示函数 { shi=temp/100。 //获取十位
管显示模块如图 图 7 所示:为产生更加显示效果,数码管采用动态显示的方式,与 89C51 之间通过锁存 7 段译码驱动器、上拉电阻连接,便于驱动和满足阻抗匹配、限压分流的作用,此外利用三极管分别工作在饱和区与截止区的不同性能起到数字开关的功效。 图 3 数字电压表系统原理电路图 单片机技术课程设计说明书 ( 2020) 9 图 4 分压、 A/D 转换 图 5 单片机数值处理