1 / 58

单片机原理及其应用

单片机原理及其应用. (Principle and Application of Single Chip Microcomputer). 第 1 章 概述 第 2 章 MCS-51 单片机硬件结构 第 3 章 MCS-51 寻址方式和指令系统 第 4 章 MCS-51 汇编程序设计 第 5 章 中断系统 第 6 章 定时器 / 计数器及串行口 第 7 章 存储器扩展 第 8 章 接口电路扩展 第 9 章 应用举例. 7.1 MCS-51 单片机系统扩展的基本概念 7.2 存储器地址空间分配 7.3 程序存储器扩展技术

neviah
Download Presentation

单片机原理及其应用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 单片机原理及其应用 (Principle and Application of Single Chip Microcomputer)

  2. 第1章 概述 第2章 MCS-51单片机硬件结构 第3章 MCS-51寻址方式和指令系统 第4章 MCS-51汇编程序设计 第5章 中断系统 第6章 定时器/计数器及串行口 第7章 存储器扩展 第8章 接口电路扩展 第9章 应用举例

  3. 7.1 MCS-51单片机系统扩展的基本概念 7.2 存储器地址空间分配 7.3 程序存储器扩展技术 7.4 数据存储器扩展技术 7.5 存储器混合扩展技术 7.6 E2PROM的扩展技术 7.7 输入/输出口扩展技术 第7章MCS-51单片机系统扩展技术

  4. 扩展的必要性:在非最小系统应用中,P0,P2用作总扩展的必要性:在非最小系统应用中,P0,P2用作总 线,P3不能全用作I/O, 只有P1能作为I/O使用。 1. I/O接口功能 (1)实现与不同外设的速度匹配 (2)输出数据锁存 (3)输入数据三态缓冲 7.7 输入/输出端口扩展技术 7.7.1 I/O口扩展概述

  5. 通常接口电路与CPU传送数据时, 是通过端口 (port)进行的。端口一般是寄存器,缓冲器,锁存 器。一片接口电路往往有多个端口。对端口分配地址 是区分端口的手段。 (1) 独立编址 存储空间与I/O空间分开编址,有专用的I/O控制 信号和读写I/O的指令。 (2) 统一编址 存储空间与I/O空间合在一起编址,将I/O外设与 存储器同等看待,统一编址,无专用I/O指令。 MCS-51采用的是统一编址方式。 外部RAM空间一部分将划作I/O端口使用。 2. I/O端口编址

  6. (1)同步传送方式 传送数据时,不用查询外设的准备情况。又称无 条件传送。 (2)查询传送方式 传送数据时,先查询外设的准备情况。又称条件 传送。传送效率不高。 (3)中断传送方式 效率高。通常用于可编程的接口芯片。 3. I/O数据传送方式

  7. 1.用并行口(P0)扩展I/O口 只要根据“输入三态,输出锁存”与总线相连的原则,选择74LS系列的TTL电路或MOS电路即能组成简单的扩展I/O口。 例如采用8位三态缓冲器74LS244组成输入口,采用8D锁存器74LS273,74LS373,74LS377等组成输出口。 这种方法扩展的接口电路简单,一般采用无条件传送方式交换数据。 7.7.2 简单I/O口扩展

  8. CLK 锁存 MOV A, #55H MOV DPTR,#7F00H MOVX @DPTR, A P2.7 G=’0’ Q=D 图7-31 简单I/O扩展接口图 G=’1’ Q为高阻态 MOV DPTR,#7F00H MOVX A,@DPTR

  9. 编写程序将开关状态读入并由LED显示(开关合上LED亮)。编写程序将开关状态读入并由LED显示(开关合上LED亮)。 MOV DPTR, #7F00H AGN: MOVX A, @DPTR MOVX @DPTR, A SJMP AGN

  10. 图7-32 多芯片简单I/O扩展接口图

  11. 2.用串行口扩展I/O口 MCS-51单片机串行口工作在方式0时,使用移 位寄存器芯片可以扩展一个或多个8位并行I/O口。 这种方法不占用片外RAM地址,可节省单片机的 硬件开销。是一种经济、实用的方法。 缺点是数据传送速度比并行口慢,扩展芯片越多, 速度越慢。

  12. RxD TxD P1.0 (1) 扩展并行输入口 图7-33 用74LS165扩展并行输入口 74LS165是8位并行输入,串行输出的寄存器。S/L低跳变将并行输入存入寄存器。 S/L=1,允许移位传送。

  13. 【例7-2】(9-7) 从16位扩展口读入5组数据(2字节/组),并存到片内RAM 20H 开始的单元。 MOV R7, #05H ; 设置读入组数MOV R0, #20H ; 设片内RAM指针START: CLR P1.0 ; 并行置入数据SETB P1.0 ; 允许74165串行移位MOV R1, #2 ; 每组字节数 RXDAT: MOV SCON, #10H ; 设串行口方式0, 并启动接收WAIT: JNB RI, WAIT ; 等待接收一帧数据 CLR RI ; 清接收标志MOV A, SBUF ; 取缓冲器数据MOV @R0, A ; 存数据INC R0 DJNZ R1, RXDAT ; 未读完一组数据,继续DJNZ R7, START ; 未读入5组数据,重置并行输入………………… ; 对读入数据进行处理

  14. RxD CK CLR CK CLR TxD P1.0 (2) 扩展并行输出口 图7-35 利用74LS164扩展并行输出口 74LS164是8位串入并出移位寄存器。CLR=“0”,输出全为低。CK上升沿使Qg→Qh٠٠٠ Qa→Qb,A,B →Qa

  15. 【例7-3】(9-8) 将内部RAM 30H, 31H的内容经 串行口从74LS164并行输出。 MOV R7, #02H ;设置发送字节数MOV R0, #30H ;设数据区指针MOV SCON, #00H ;设串行口方式0SEND: MOV A, @R0 MOV SBUF,A ;启动串行口发送过程WAIT: JNB TI, WAIT ; 等待接收一帧数据CLR TI ; 清发送中断标志INC R0 ; 修改指针取下一个数DJNZ R7, SEND RET

  16. 型号 名称 说明 8155 并行接口 带256字节的RAM和14位定时/计数器 8255 通用并行接口 8251 同步/异步通讯接口 8253 定时/计数器 8279 键盘/显示接口 7.7.3 可编程I/O口扩展 表7-2 常用Intel 系列可编程接口芯片

  17. 一. 8155接口芯片 1. 8155的结构和技术性能 在8155内部有: (1)256字节的静态RAM,存取时间为400ns。 (2)三个通用的输入/输出口。 (3)一个14位的可编程定时/计数器(减1计数)。 (4)地址锁存器及多路转换的地址和数据总线。 (5)单一 +5V电源,40脚双列直插式封装。 图7-36是8155的结构框图。

  18. (a)逻辑结构 (b)引脚图 图7-36 8155的逻辑结构及引脚图

  19. 表7-3 8155口地址分布 2. 8155的RAM和I/O地址编码

  20. TM2 TM1 IEB IEA PC2 PC1 PB PA 00 -ALT1, 11-ALT2 01 -ALT3, 10-ALT4 3. 8155的命令字和状态字 图7-37 8155命令控制字格式

  21. (00) (11) (01) (10) /输出方式 表7-4 C口工作方式及控制信号分布

  22. 状态字格式如图7-38所示。地址与命令寄存器相同。状态字格式如图7-38所示。地址与命令寄存器相同。 图7-38 8155状态字格式

  23. 4. 8155的工作方式 1) 存储器方式 使用8155片内256字节RAM,地址:00H~FFH。 (IO/M=0) 2) I/O口方式 使用8155片内3个I/O端口。(IO/M=1) (1) 基本I/O方式 A、B、C口均可用作输出/输入。分别由命令字的 低四位确定。 基本I/O方式下的数据输入和输出只能采用无条件 传送方式。

  24. 用于条件传送,中断传送。A、B口可以独立设定用于条件传送,中断传送。A、B口可以独立设定 在选通方式。其联络控制由C口担当。 (00) (11) (01) (10) /输出方式 (2) 选通I/O方式

  25. 命令字:D0=0, D3D2=01或10,A口设定为选通输入方式 D1=0, D3D2=10, B口设定为选通输入方式 RD /RD 上升沿发 将输入数据送入A口,8155发出ABF, ASTB ASTB 出中断A INTR, CPU在中断程序读数据, 使ABF, A INTR回 到低电平。 ① 选通输入 ① ⑤ ② ④ ③

  26. RD BF ① STROBE ② (外设) INTR ③ (CPU)

  27. 命令字:D0=1, D3D2=01或10,A口设定为选通输出方式 D1=1, D3D2=10, B口设定为选通输出方式 WR ASTB ASTB /WR ② 选通输出 ① ② ③ ⑤ 使ABF变高,外设发 ,取走数据。 上升沿 发出A INTR。

  28. BF STROBE INTR WR ③ ② (外设) ① (CPU)

  29. 3) 定时器/计数器使用 8155片内的14位减一定时器/计数器可程控其计数长度和计数方式。 8155计数寄存器格式 图7-39 8155定时器输出方式

  30. 定时/计数器的启动 在设置计数长度和方式后,将启动命令写入命令 寄存器。 定时/计数器的初值范围 2H~3FFFH 8155复位将停止计数 写入定时/计数器的初值为奇数时,输出的方波 不对称。

  31. 5. MCS-51单片机与8155的接口与编程 MCS-51单片机可直接和8155连接而不需要任何外加逻辑,可以直接为系统增加256字节外部RAM、22根I/O线及一个14位定时器。其基本硬件连接方法如图7-40所示。

  32. 图7-40 8155和8031的连接方法

  33. RAM地址: 0XXXXXX0 00000000B 7E00H 0XXXXXX0 11111111B 7EFFH I/O口地址: 0XXXXXX1 XXXXX000B 7F00H 0XXXXXX1 XXXXX101B 7F01H 命令/状态寄存器: 7F00H PA 口: 7F01H PB 口: 7F02H PC 口: 7F03H TL: 7F04H TH: 7F05H

  34. 【例7-4】(9-3)A口:基本输入方式,B口:基本输出方式;对输入脉冲进行24分频输出,试写初始化程序。 ST: MOV DPTR, #7F04H ; 指向TL MOV A, #18H ; 分频系数 MOVX @DPTR, A ; 送入TL INC DPTR ; 指向TH MOV A, #0100 0000B ; 连续方波输出 MOVX @DPTR, A ; 送入TH MOV DPTR, #7F00H ;指向命令口 MOV A, #1100 00 10B ; 控制字 MOVX @DPTR, A ;启动定时,A口入,B口出 8155编程举例

  35. 读写8155存储单元 MOV DPTR, #7E60H MOVX A,@DPTR MOV A,#20H MOV DPTR, #7E30H MOVX @DPTR, A

  36. 二. 8255A接口芯片 1. 8255A的结构与引脚 PA口:8位数据输 出锁存器与缓冲 器,8位数据输 入锁存器。 PB口:8位数据输 出锁存器与缓冲 器,8位数据输 入缓冲器。 PC口:8位数据输 出缓冲器,8位 数据输入缓冲器。 图7-41 8255A的内部结构

  37. 图7-42 8255A的引脚

  38. 2. 8255A的I/O地址

  39. 3. 8255A的控制字和C口置位/复位字 (1) 工作方式选择控制字

  40. (2) C口置位/复位控制字

  41. 1)方式0 基本输入/输出方式,无条件I/O数据传输。 A口,B口,C口(上半部、下半部)均可分别设置为 输入或输出。输出锁存,输入不锁存。 例 设8255A的控制寄存器地址是 FF7FH,令A口和C口 的高4位工作于方式0输出,B口和C口的低4位工作于方 式0输入,写出初始化程序。 MOV DPTR, #0FF7FH MOV A, #10000011B MOVX @DPTR, A 4. 8255A的工作方式

  42. 选通输入/输出方式,A口,B口均可在方式1下工作。C选通输入/输出方式,A口,B口均可在方式1下工作。C 口此时用作A、B口的联络线, 能以中断方式传送数据。 (1)方式1输入 三根联络线: /STB: 选通输入,低电平有效,由外设发出的信号。 IBF: 输入缓冲器满,高电平有效,由8255A发出。 INTR: 中断请求信号,高电平有效,由8255A发出。 一个中断许可位: INTE A: A口中断允许,由PC4置位/复位控制 INTE B: B口中断允许,由PC2置位/复位控制 2) 方式1

  43. 图7-43 方式1输入联络信号

  44. ① /STBA有效,输入设备将数据送至A口。 ② 8255A将数据存入输入缓冲器,并置位IBFA,通知外设。 ③ 8255A检测到/STBA的上升沿,且INTEA=1 & IBFA=1, 置位INTRA, 发出中断请求信号。 ④ 8031响应中断后,用读指令取走数据,并复位IBFA和INTRA。 PA7~PA0 A 选通输入工作原理

  45. 三根联络线: /OBF: 输出缓冲器满,低电平有效,由8255A发出。由 写信号/WR置0,/ACK置1。 /ACK: 外设应答信号,低电平有效,由外设发出的信 号。 INTR: 中断请求信号,高电平有效,由8255A发出。 一个中断许可位: INTE A: A口中断允许,由PC6置位/复位控制 INTE B: B口中断允许,由PC2置位/复位控制 (2) 方式1输出

  46. 图7-43 方式1输出联络信号

  47. 8031用写指令将数据送至B口的输出锁存器(复位INTRB ),8255A将/OBFB变为低电平。 ② 外设从B口取走数据,并使/ACK变低,复位/OBFB。 ③ 8255A检测到/ACKB的上升沿,且INTEB=1 & /OBFB=1, 置位INTRB, 发出中断请求信号。 ④ 8031响应中断后,用写指令送新数据,并复位INTRB。 选通输出工作原理

  48. 3) 方式2 双向数据传送模式,只有A口能以此方式工作。实际上是 方式1的输入、输出在A口的组合。 图7-44 方式2输入/输出联络信号

More Related