前言:
随着单片机发展,集成度越来越高,因此目前单片机较少使用RD和WR信号操作外设,因此很多时候,变成了6800和8080单片机读写液晶屏了。早期的读写本质上是对一个地址进行即时的操作,现在可能是等数据送到IO上了,再执行一个读或写的动作。
8080比较简单,就是通过RD或WR的一个低电平来进行外设的读写操作,实际读取或写入数据发生在RD或WR的下降沿或上升沿,具体的要查看对应外设的规格书。
8080读写时序
现在使用的51系列单片机,最早是INTEL推出的,且目前仍然兼容INTEL的51指令集。下图芯片上印有INTEL。
8080是INTEL的一个微处理器,也是一个系列,早已淘汰,因此,使用兼容其读写信号,大家熟悉的51单片机来进行说明。
早期的51单片机,图中型号为80C31
DIP封装的51单片机,引脚基本是和这个兼容的,这里能够看到,P3.6为WR写信号,P3.7为RD读信号,WR和RD的最上面有一道横线,代表它们是0有效,就是低的时候写入或读取。
51单片机的读取操作,明显看到,在RD信号的上升沿,读取到P0端口数据。
51单片机的写操作时序,在WR的下降沿和上升沿,P0口都有数据输出。
6800读写时序
6800是另一个阵营,是MOTOROLA的产品,现在还有,叫NXP,恩智浦,早期上海打磨的汉芯,就是摩托罗拉的。
早期芯片很贵的,一个月的工资可能只能买一片,最多几片,不能再多了。
这个是摩托罗拉的6800系列的一个芯片的管脚图,从上图清晰的看到,和INTEL分别使用RD和WR两个引脚来进行读写操作,摩托罗拉使用一个引脚,通过这个引脚上的电平高低进行读写操作。因为W上面有横线,所以,高电平是读,低电平是写。
这个是6800系列处理器进行读操作时序,R与/W一直保持为1高电平状态。
这个是6800系列处理器进行写操作时序,R与/W一直保持为1高电平状态。在W出现下降沿后D0-D7才有数据输出,/DTACK配合进行读写操作。
液晶屏接口
下表为一个12864的液晶屏信号接口,有了上面的说明,这里就非常清晰了,C86用于选择你喜欢INTEL还是MOTOROLA,这个不完全取决于你用的单片机,可以使用IO进行模拟的读写信号。8080就是读写分别是2个信号线,6800的读写是1个信号线,但还需要1个线进行配合。
脚位 | 标号 | 电平 | 功能描述 |
---|---|---|---|
1 | CSB | I | 使能信号,低电平有效。 |
2 | RSTB | I | 低电平复位,复位完成后,回到高电平 |
3 | AO (RS) | I | 数据/指令寄存器选择(高为数据,低为指令),6800时序时:R/W=0写操作,R/W=1读操作 |
4 | RWR | I | 8080时序时:写数据端口,低电平有效,6800时序时:使能端,高电平有效 |
5 | ERD | I | 8080时序时:读数据端口,低电平有效,MPU与模块之间并口的数据传送通道, |
6-13 | DBO DB7 | I/0 | D7=SDA:串行数据输入 ,D6=SCL:串行时钟输入 ,D[5:0]不使用,建议短接到VDD |
14 | VDD | 电源正端(+3.3V) | |
15 | VSS | 电源负端(0V) | |
16-19 | NC | ||
20 | VO | LCD驱动与XVO之间接1UF电容 | |
21 | XVO | LCD驱动与VO之间接1UF电容 | |
22-26 | NC | ||
27 | VG | LCD驱动引脚与VSS或VDD之间接一个1UF电容 | |
28 | C86 | 并口模式下总线选择:H:6800总线,L:8080总线 | |
29 | PS | 串并口模式选择:H:并口模式,L:SPI串口模式 | |
30 | NC |
说明:ERD和RWR在串口模式下建议短接到VDD。 |
8080A/8080A-1/8080A-2 8 位 N 沟道微处理器
TTL驱动能力
2 微秒 (- 1:1.3 微秒, -2:1.5 微秒) 指令周期
Powerfui Probiem 求解指令集
6 个通用寄存器和一个累加器
16 位程序计数器,可直接寻址高达 64K 字节的内存
16 位堆栈指针和堆栈操作指令,用于快速切换程序环境
十进制、二进制和双精度算术
能够提供优先级向量中断
512 个直接寻址 1/O 端口
在EXPRESS中可用
- 标准温度范围
采用 40 引脚 Cerdip 封装和塑料封装
Intel 8080A 是一个完整的 8 位并行中央处理器 (CPU)。它是在单个 LS 上制造的!芯片采用英特尔的n沟道硅栅MOS工艺。这为用户提供了一个高性能的解决方案来控制和处理应用程序。
8080A 包含 6 个 8 位通用工作寄存器和一个累加器。这 6 个通用寄存器可以单独寻址,也可以成对寻址,提供单精度和双精度运算符。
算术和逻辑指令设置或重置 4 个可测试标志。第五个标志提供十进制算术运算。
8080A 具有外部堆栈功能,其中内存的任何部分都可以用作最后进/先出堆栈,以存储/检索累加器、标志、程序计数器和所有 6 个通用寄存器的内容。16 位堆栈指针控制此外部堆栈的寻址。该堆栈使 8080A 能够快速存储和恢复处理器状态,从而轻松处理多级优先级中断。它还提供几乎无限的子程序嵌套。
该微处理器旨在简化系统设计。独立的 16 线地址和 8 线双向数据总线用于便于连接到内存和 I/O。控制内存和 I/O 接口的信号由 8080A 直接提供。地址和数据总线的最终控制权在于HOLD信号。它提供了暂停处理器操作并强制地址和数据总线进入高阻抗状态的能力。这允许将这些总线与其他控制设备进行 OR 绑定,以实现 (DMA) 直接内存访问或多处理器操作。
NOΤE:
8080A 在功能和电气上与英特尔 8080 兼容。
WRITE:WR 信号用于内存 WRITE 或 IO 输出控制。数据总线上的数据是稳定的,而WR信号是低电平有效的(WR = 0)
READY:READY 信号向 8080A 指示 8080A 数据总线上有有效的内存或输入数据。此信号用于将 CPU 与较慢的内存或 IO 设备同步。如果在发送地址后 8080A 没有收到 READY 输入,则只要 READY 线路为低电平,8080A 就会进入 WAIT 状态。
READY 也可用于单步执行 CPU。
HLDA:HOLD ACKNOWLEDGE:HLDA信号响应HOLD信号出现,表示数据和地址总线将进入高阻抗状态。HLDA信号从以下位置开始:
T3 用于 READ 内存或输入。
T3之后的时钟周期,用于WRITE内存或OUTPUT操作。
无论哪种情况,HLDA信号都出现在2的上升沿之后。