点阵LED字符显示器设计Word文件下载.docx
《点阵LED字符显示器设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《点阵LED字符显示器设计Word文件下载.docx(11页珍藏版)》请在冰点文库上搜索。
点阵图形显示模块有两种连接方式:
一种是直接访问方式,另一种是间接控制方式。
直接访问方式就是将显示器模块的接口作为存储器或I/O设备直接挂在单片机总线上,单片机过地址译码控制E1和E2的选通;
读/写操作信号R/W由地址线A1控制;
命令/数据寄存器选择信号由地址线A0控制。
间接控制方式是通过单片机自身或系统扩展并行接口与显示模块连接在一起的。
单片机通过对并行接口输出状态的编程操作,完成对模块所需的时序操作和数据传输。
1.LED显示器结构
LED显示器是由发光二极管组成的显示器,有8段和“米”字段之分。
BS202型共阴极
BS212型共阳极
上图中的BS202型为共阴极LED,BS212型是共阳极LED,它们的几何尺寸和字符相同。
每一种LED又有不同的发光颜色。
例如,BS202型中,BSR202型发红光,BSG202型发绿光;
BS212型中,BSR212型发红光,BSG212型发绿光。
图1,点阵式LED显示器
用8×
8的LED显示模块可以显示各种字符,通常通过适当的驱动电路控制各LED发光与不发光来显示点阵型。
如用8×
8模块显示字符“电”的点阵码为:
10H、FFH、91H、BDH、91H、FFH、12H、1EH(如下图)。
图28×
8点阵字型
8的LED显示模块式组建大型电子显示屏的基本单元。
8模块组建的大屏幕显示器,不仅能显示文字,还可以显示图形、图像,而且还可以产生各种动画效果,是广告宣传、新闻传播的有力工具。
LED大屏幕显示器不仅有单色显示,还有彩色显示,其应用越来越广,已经渗入到人们的日常生活当中。
用大型的电子显示屏显示汉字时,简易汉字为16×
16点阵,精美为24×
24、32×
32点阵。
其原理和8×
8点阵一样。
三.实验电路及连接:
说明
利用8279可实现对键盘/显示器的自动扫描,以减轻CPU负担,并具有显示稳定、程序简单、不会出现误动作等特点。
本实验系统中8279的状态/命令口地址位8701H;
数据口地址位8700H。
示例程序运行将显示”电子设计”,并等待按键输入,将键值显示在数码管上。
1、8279的结构
8279主要由以下部件组成:
数据缓冲器将双向三态8位内部数据总线D0~D7与系统总线相连,用于传送C8279之间的命令和状态。
控制和定时寄存器用于寄存键盘和显示器的工作方式,锁存操作命令,通过译码器产生相应的控制信号,使8279的各个部件完成相应的控制功能。
定时器包含一些计数器,其中有一个可编程的5位计数器(记数值在2~31之间),对CLK输入的时钟信号进行分频,产生100KHz的内部定时信号(此时扫描时间为5.1ms,消抖时间为10.3ms)。
外部输入时钟信号周期不小于500ns。
扫描计数器有两种输出方式:
一是编码方式,计数器以二进制方式计数,4位计数状态从扫描线SL3~SL0输出,经外部译码器可以产生16位的键盘和显示器扫描信号;
另一种是译码方式,扫描计数器的低两位经内部译码后从SL3~SL0输出,直接作为键盘和显示器的扫描信号。
回送缓冲器、键盘消抖及控制完成对键盘的自动扫描,以搜索闭合键,锁存RL7~RL0的键输入信息,消除键的抖动,将键输入数据写入内部先进先出存储器(FIFORAM)。
RL7~RL0为回送信号线作为键盘的检测输入线,由回送缓冲器缓冲并锁存,当某一键闭合时,附加的移位状态SHIFT、控制状态CNTL及扫描码和回送信号拼装成一个字节的“键盘数据”送入8279内部的FIFO(先进先出)RAM。
键盘的数据格式为
在传感器矩阵方式和选通方式时,回送线RL7~RL0的内容被直接送往相应的FIFORAM,输入数据即为RL7~RL0。
数据格式为
FIFO/传感器RAM是具有双功能的8×
8RAM。
在键盘或选通方式时,它作为FIFORAM,依先进先出的规则输入或读出,其状态存放在FIFO/传感器RAM状态寄存器中。
只要FIFORAM不空,状态逻辑将置中断请求IRQ=1;
在传感器矩阵方式,作为传感器RAM,当检测出传感器矩阵的开关状态发生变化时,中断请求信号IRQ=1。
在外部扫描译码方式时,可对8×
8矩阵开关的状态进行扫描;
在内部译码扫描方式时,可对4×
8矩阵开关的状态进行扫描。
显示RAM用来存储显示数据,容量是16×
8位。
在显示过程中,存储的显示数据轮流从显示寄存器输出。
显示寄存器输出分成两组,即OUTA0~OUTA3和OUTB0~OUTB3,两组可以单独送数,也可以组成一个8位的字节输出,该输出与位选扫描线SL0~SL3配合就可以实现动态扫描显示。
显示地址寄存器用来寄存CPU读/写显示RAM的地址,可以设置为每次读出或写入后自动递增。
2、74LS138
74LS138是一个3-8译码器,其作用是将3位二进制代码000~111翻译成相对应的八个十进制数0~7,高电平有效。
A、B、C为输入信号,Y0~Y7为输出信号。
7407为8路驱动器,用来驱动LED的X0~X7。
四.程序框图:
五.程序清单:
源代码:
Z8279
EQU
08701H
;
8279状态/命令口地址
D8279
08700H
8279数据口地址
LEDMOD
10H
右端输入八位字符显示
外部译码键扫描方式,双键互锁
LEDFEQ
38H
扫描速率
LEDCLS
0D1H
清除
LEDWR0
80H
设定的将要写入的显示RAM地址
ORG
0000H
AJMP
START
0040H
START:
MOV
SP,#60H
LCALL
INIT8279
初始化8279
WAIT:
DPTR,#Z8279
MOVX
A,@DPTR
ANL
A,#0FH
JZ
WAIT
A,#40H
@DPTR,A
DPTR,#D8279
A,#3FH
R4,#00H
R5,A
DISLED
SJMP
INIT8279:
8279初始化子程序
PUSH
DPH
保存现场
DPL
ACC
DELAY
延时
DPTR,#Z8279
A,#LEDMOD
置8279工作方式
A,#LEDFEQ
置键盘扫描速率
A,#LEDCLS
清除LED显示
A,#90H
A,#0H
A,#0EFH
A,#27H
A,#5BH
A,#7FH
POP
ACC
恢复现场
DPH
RET
;
显示字符子程序
输入:
R4,位置R5,值
DISLED:
A,#LEDWR0
置显示起始地址
ADD
A,R4
加位置偏移量
@DPTR,A
设定显示位置
DPTR,#LEDSEG
置显示常数表起始位置
A,R5
MOVC
A,@A+DPTR
查表
显示数据
DELAY:
延时子程序
0
1
0,#0H
DELAY1:
1,#0H
DJNZ
1,$
0,DELAY1
1
0
LEDSEG:
DB
10H、FFH、91H、BDH、91H、FFH、12H、1EH;
DB
7EH、04H、08H、7EH、08H、08H、18H、08H;
DB9CH、54H、E7H、7EH、54H、48H、74H、62H;
DB84H、44H、DFH、44H、44H、44H、64H、44H;
END
六.实验结论:
本实验可以通过按键控制8279来实现字符的显示;
如需要显示按下键,则可读键显示,示例程序运行将显示”电子设计”,并等待按键输入,将键值显示在数码管上。
此程序可以实现字符的逐字显示和向右滚动显示;
但无法实现向上的滚动显示。
参考文献:
1、《MSC-51/151/251单片机原理与应用》薛栋梁编著;
中国水利水电出版社;
2、《微型计算机原理与接口技术》李长青编著;
中国矿业大学出版社
3、《单片机原理及接口技术》李全利迟容强编著;
高等教育出版社;
4、《8051单片机实验教程》徐爱钧编著电子工业出版社;
5、《单片机的C语言应用程序设计》马中梅等编著;
北京航空航天大学出版社;
6、《数字电子技术》张建华编;
机械工业出版社;
7、《单片机系统设计及工程应用》雷思孝冯育长编著;
西安电子科技大学出版社;