8279单片机
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
等待
www.embedev.net
8279写显示RAM
mov dptr,#portc ;8279工作方式 mov a,#00h movx @dptr,a mov a,#38h ;8279分频系数设定 movx @dptr,a mov a,#90h;写显示RAM地址 movx @dptr,a mov a, r0 mov dptr,#distab movc a,@a+dptr;显示第一个数据 mov dptr,#portd movx @dptr,a …… ;显示第二个数据 distab db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h db 7fh,6fh,77h,7ch,39h,5eh,79h,71h
命令字特征位
对输入信号CLK的分频系数
8279内部有自己的时序电路,其时钟信号来源于 外部输入的CLK,为了使输入的时钟满足内部 100KHz的要求,就要对外部输入的CLK进行适 当的分频。 D4,D3,D2,D1,D0=PPPPP: 分频系数范围:2~ 31。
www.embedev.net
读FIFO RAM命令
www.embedev.net
8279读FIFO RAM
mov dptr,#portc ;8279工作方式 mov a,#00h movx @dptr,a mov a,#38h ;8279分频系数设定 movx @dptr,a mov a,#0d3h;清显示RAM和FIFORAM movx @dptr,a aa:movx a,@dptr;读入状态字 jb acc.7,aa;判断最高位,未完成则继续等待 anl a,#0fh;读状态字,若无键值输入则等待 jz aa mov dptr,#portd;读FIFO RAM movx a,@dptr …… ;键值处理 mov dptr,#portc ;清FIFO RAM mov a,#0c2h www.embedev.net movx @dptr,a
www.embedev.net
+5V 74LS07 8279 OUTB0 : OUTB3 OUTA0 : OUTA3 SL0 SL1 SL2 字 符 驱 动 电 路 a
dp
A B C y0 y1 y2 y3 y4 y5 y6 y7 74LS07 位 扫 描 驱 动 电 路
A0 /RD /WR /CS DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7
www.embedev.net
8279初始化编程
mov dptr,#portc ;8279工作方式 mov a,#00h movx @dptr,a mov a,#38h ;8279分频系数设定 movx @dptr,a mov a,#0d3h;清显示RAM和FIFORAM movx @dptr,a aa:movx a,@dptr;读入状态字 jb acc.7,aa;判断最高位,未完成则继续
8279共有8条控制字,命令字是由每个字节中 的D7~D5三位为特征区分。具体的命令字格式如 下:
www.embedev.net
键盘/显示方式命令字
D7
0
D6
0
D5
0
D4
D
D3
D
D2
K
D1
K
D0
K
命令字特征位
显示工作方式
键盘工作方式
D7,D6,D5=000:方式命令字的特征位。 D3,D4=DD:显示工作方式设定。 0 0: 8位字符显示,左入口; 0 1: 16位字符显示,左入口; 1 0: 8位字符显示,右入口; 1 1: 16位字符显示,右入口。
D7 0 D6 1 D5 0 D4 AI D3 X D2 A D1 A D0 A
命令字特征位 地址自动增量
FIFO RAM地址
FIFO RAM为存放扫描键盘时获得的“键值”数 据,容量为8*8。 在键盘工作方式中,FIFO严格按先进先出的规律 读取数据,后3位没用。
www.embedev.net
写显示RAM命令
8279任务
将寄存器R0,R1中的2位BCD数显示在最右 边的2个数码管上,其余数码管全灭。
将键盘输入的一个十进制数显示在最右边 的数码管上,其余数码管全灭。
硬件连接:将8279的RL0~RL7端接键盘的
动态扫描时序图
位扫描
万位 仟位 佰位 十位 个位 BCD码 00H 01H 02H 03H 04H 万位 仟位 佰位 十位 个位
返回上一页
www.embedev.net
8279构成的动态显示电路
8279
OUTB0 OUTB3 OUTA0 OUTA3 驱 动 电 路
/ CS SL0 SL1 SL2 SL3 DB0 : DB7
D7 1 D6 0 D5 0 D4 AI D3 A D2 A D1 A D0 A
命令字特征位 地址自动增量
显示 RAM地址
其作用是通过“写显示RAM”命令设定要写入的 显示数据到显示RAM中的地址。 D4=AI: 地址增量控制。若AI=1,在每次写完显示 RAM后,地址自动+1。否则读出后,地址自动-1。 AI的使用简化了编程,不用每读/写一次数据给出 一个地址。
/BD:消隐显示输出线,低电平有效。该输出信号在 数字切换显示或使用显示消隐命令时,控制显示器 将显示消隐。
www.embedev.net
返回
4.4
8279的命令字和状态字
8279是可编程接口芯片,其工作方式、工作特点 等均是通过CPU向8279发送命令实现的,因此对 8279的编程实际上就是向8279写入命令字的过程。
4.1
显示器工作原理
Vcc
七段译码器 七段译码器 七段译码器 七段译码器 七段译码器
BCD码 0000
0001
0010
0011
0100
静态LED数码显示电路(共阳极)
www.embedev.net
动态LED数码显示电路(共阴极)
B C D 码
七 段 译 码 器
动态扫描时序图
www.embedev.net
RL0~RL7:回复输入线。用来接收扫描键盘的回复 信号。 www.embedev.net
OUTA0~OUTA3: A组显示输出线( 接LED的e~ g,dp划)。OUTB0~OUTB3: B组显示输出线(接 LED的a~d划)。 A组与B组输出线可以单独使用(如输出BCD码经 外部的“BCD-七段译码器”与显示器连接);也 可以将A、B两组合并使用,直接输出七段的“字 形码”供显示器使用。
www.embedev.net
清除命令
D7
1
D6
1
D5
0
D4
Cd
D3
Cd
D2
Cd
D1
Cf
D0
Ca
命令字特征位 清除“显示RAM”的方式 清空FIFO 总 清 FIFO RAM和显示RAM,常用在对8279初始化中。 用来清除
D4,D3,D2=Cd,Cd,Cd: 清除显示RAM的方式。 1 0×: 全部清除“显示RAM”; 1 1 0 : 将 “显示RAM”清为20H(A组0010,B组0000); 1 1 1 : 将 “显示RAM”全部清为“1”; 0 0 0 : 不清除(若Ca=1时,D3,D2仍有效)。 D1=Cf : Cf=1时,清空FIFO RAM。 D0=Ca: 总清位,兼有Cd,Cf的功能。Ca=1时,对显示 RAM的清除取决于D3,D2 的编码。
16*8 显示用 RAM
显示地址 寄存器
控制和时 序寄存器
8*8 FIFO/传感器 RAM
键盘抖动 和控制
显示寄存器
时序 和 控制
扫描计数器
回送
OUTA0~3、OUTB0~3
/BD
SL0~3
RL0~7 移位控制
www.embedev.net
4.3
8279引脚说明
DB0~DB7:具有三态的双向数据总线。用于8279 与外部CPU之间传递命令(控制字)和数据。
3-8 译 码 器
由可编程键盘/显示芯片8279 构成的8位LED数码管动态显示电路框图
所有的“动态显示和键盘扫描”均有8279 内部自动完成。
www.embedev.net
扫描计数器:用于输出显示/键盘的扫描信号。 输入输出数据缓冲器:用 来接收CPU 送来的命令或 FIFO/ 传感器 RAM及状态寄存器:双重 在“编码方式”中该电路输出二进制计数器的代码。此时外 4.2 8279 内部结构图 显示 RAM 和显示地址寄存器:由 16*8位RAM构成,可以存放16个 数据,8279与CPU之间的数 功能的 8*8 位 RAM 。 部必须使用一个译码器。 显示的数据。8279在动态显示数据时,就是将此RAM单元中的数据 据通道。 在键盘或选通方式中:它是 FIFO 寄存 RESET DB0~7 /RD /WR /CS A0 IRQ 在“译码方式”时,电路直接输出 4 选1 的扫描信号。外部不 轮流从显示 RAMCLK 中输出。 控制与定时寄存器:用来 器。进入和读出数据是按 FIFO 规则进行的。 必使用译码器。 显示地址寄存器是寄存 CPU 进行读 /写的显示FIFO/ RAM 地址,它 传感器 此时FIFO状态字用来存放 FIFO RAM 的工 寄存显示与键盘的工作方式, 可由命令字中的低 4位来设定 ,也可以按照命令字中的 AI 的状态自动 I/O控制 数据缓冲器 RAM 状态 回复缓冲器、键盘消抖及控制:通过 RL0-7 用来接收键盘的数据, 作状态。 加一。 并自动加入10mS的延时进行防抖。 并通过译码产生相应的操作。
【说明】:1,“双键锁定”指有2个键按下时,取最后弹起的键; 2,“N键轮回”指有N个键按下时,根据它们按下的顺序依次存入FIFO RAM中。 3,“编码输出”指按二进制计数器规律输出数据; 4,“译码输出”指按译码器输出的规律输出(如4选1)。
www.embedev.net
程序时钟命令
D7 0 D6 0 D5 1 D4 P D3 P D2 P D1 P D0 P
CLK :系统时钟输入。用于8279内部产生工作的 时序。
RESET :复位信号输入端。当RESET=1时,8279 被复位,复位后8279内部状态如下 1,16个字符显示,左入口;
2,编码扫描键盘,双键锁定;
3,程序时钟编程为31。 /CS :片选端。低电平有效;
www.embedev.net
A0 : 缓冲器选择端。A0=1时:写入是命令字;读 出的是8279的状态。A0=0时,写入和读出的均为数 据。 /RD、/WR:读写控制线。来自CPU的控制信号,控 制8279的读写操作。 SL0~SL3: 扫描输出线。作为键盘、显示器的扫描 信号,可定为“编码输出”(外接4-16译码器); 也可设定为“译码输出”直接输出4选1的扫描信 号。
www.embedev.net
D2,D1,D0=KKK: 设定键盘工作方式。 0 0 0 : 编码扫描键盘,双键锁定; 0 0 1 : 译码扫描键盘,双键锁定; 0 1 0 : 编码扫描键盘,N键轮回; 0 1 1 : 译码扫描键盘,N键轮回; 1 0 0 : 编码扫描传感器; 1 0 1 : 译码扫描传感器; 1 1 0 : 选通输入,编码显示扫描; 1 1 1 : 选通输入,译码显示扫描;
www.embedev.net
8279的状态字
D7
DU
D6
S/E
D5
O
D4
U
D3
F
D2
N
D1
N
D0
N
DU:显示无效特征位。当8279的显示RAM因清除 或全清操作还未完成时,DU=1。 O、U : 超出和不足错误特征位。 当FIFO RAM已满时,若还有键盘数据输入时就 发生错误,此时O=1; 当FIFO RAM已经置空,CPU 还想读数据则会出 现不足错误,U=1。 F: 若F=1表示FIFO RAM已经满. NNN: 表征FIFO RAM中的字符数,最多8个。 返回
§4 键盘显示控制器8279
主要功能: 显示部分
– 可以显示多达16位的字符或数字 – 为显示器提供了按扫描方式工作的显示接口。
键盘部分
– 可以和具有64个按键的矩阵键盘相连接 – 能对键盘不断扫描,自动消抖,自动识别按下 的键并给出编码 – 能对双键或n键同时按下实行保护。
www.embedev.net
74LS138
0 RL0 RL1 RL2 RL3 RL4 RL5 RL6 RL7 8 F1
1 9 F2
2 A F3
3 B F4
4 C F5
5 D F6
6 E F7
7 F
原理图
RL0
RL1
RL2
பைடு நூலகம்
RL3
RL4
RL5
RL6
RL7
www.embedev.net
4.5
8279编程方法
8279初始化编程
8279读FIFO RAM 8279写显示RAM