8 单片机系统扩展设计
第八章扩展存储器方案

#1楼
00 01 10 11
常用的存储器地址分配的方法有3种:全译码、部分译码和线选 法。
1. 全译码 利用系统的全部的高位地址线作为存储器芯片(或I/O接口芯 片)的片选信号。 特点:地址与存储单元一一对应,地址空间的利用率高。
例8-1: 利用全译码为80C51扩展16KB的外部数据存储器,存 储芯片选用SRAM6264,要求外部数据存储器占用从0000H开 始的连续地址空间。
读选通、写选通信号。
思考题: 请问执行 MOVX A,@DPTR指令时,RD和WR引脚的状态?
8.3 读写控制、地址空间分配和外部地址锁存器
8.3.1 存储器地址空间分配
存储器空间分配除考虑地址线连接外,还讨论各存储器芯片在整个存 储空间中所占据的地址范围。
单片机地址总线为16条,可寻址的最大空间为64KB,用户可根据系统的 需要确定扩展存储器容量的大小。
使用MOVX A,@Ri和MOVX @Ri,A。这时通过P0口输出Ri中 的内容(低8位地址),而把P2口原有的内容作为高8位地址 输出。
例8-4 将程序存储器中以TAB为首址的32个单元的内容依次传 送到外部RAM以7000H为首地址的区域去。
分析:DPTR指向标号TAB的首地址。R0既指示外部RAM的地址, 又表示数据标号TAB的位移量。本程序的循环次数为32,R0 的值:0~31,R0的值达到32就结束循环。程序如下:
MOV P2,#70H MOV DPTR,#TAB MOV R0,#0 AGIN: MOV A,R0 MOVC A,@A+DPTR MOVX @R0,A INC R0 CJNE R0,#32,AGIN HERE: SJMP HERE TAB: DB ……
SC8F812x 增强型闪存8位CMOS单片机说明书

V1.0请注意以下有关芯联发公司知识产权政策:(一)芯联发公司已申请了专利,享有绝对的合法权益。
与芯联发公司MCU或其他产品有关的专利权并未被同意授权使用,任何经由不当手段侵害芯联发公司专利权的公司、组织或个人,芯联发公司将采取一切可能的法律行动,遏止侵权者不当的侵权行为,并追讨芯联发公司因侵权行为所受的损失、或侵权者所得的不法利益。
(二)芯联发公司的名称和标识都是芯联发公司的注册商标。
(三)芯联发公司保留对规格书中产品在可靠性、功能和设计方面的改进作进一步说明的权利。
然而芯联发公司对于规格内容的使用不负责任。
文中提到的应用其目的仅仅是用来做说明,芯联发公司不保证和不表示这些应用没有更深入的修改就能适用,也不推荐它的产品使用在会由于故障或其它原因可能会对人身造成危害的地方。
芯联发公司的产品不授权适用于救生、维生器件或系统中作为关键器件。
芯联发公司拥有不事先通知而修改产品的权利。
目录1.产品概述 (1)1.1功能特性 (1)1.2系统结构框图 (2)1.3管脚分布 (3)1.3.1SC8F8121引脚图 (3)1.3.2SC8F8122引脚图 (3)1.4系统配置寄存器 (4)1.5在线串行编程 (5)2.中央处理器(CPU) (6)2.1内存 (6)2.1.1程序内存 (6)2.1.1.1复位向量(0000H) (6)2.1.1.2中断向量 (7)2.1.1.3跳转表 (8)2.1.2数据存储器 (9)2.2寻址方式 (12)2.2.1直接寻址 (12)2.2.2立即寻址 (12)2.2.3间接寻址 (12)2.3堆栈 (13)2.4工作寄存器(ACC) (14)2.4.1概述 (14)2.4.2ACC应用 (14)2.5程序状态寄存器(STATUS) (15)2.6预分频器(OPTION_REG) (16)2.7程序计数器(PC) (18)2.8看门狗计数器(WDT) (19)2.8.1WDT周期 (19)3.系统时钟 (20)3.1概述 (20)3.2系统振荡器 (21)3.2.1内部RC振荡 (21)3.3起振时间 (21)3.4振荡器控制寄存器 (21)4.复位 (22)4.1上电复位 (22)4.2掉电复位 (23)4.2.1掉电复位概述 (23)4.3看门狗复位 (24)5.休眠模式 (25)5.1进入休眠模式 (25)5.2从休眠状态唤醒 (25)5.3使用中断唤醒 (25)5.4休眠模式应用举例 (26)5.5休眠模式唤醒时间 (26)6.I/O端口 (27)6.1I/O口结构图 (28)6.2PORTB (29)6.2.1PORTB数据及方向 (29)6.2.2PORTB模拟选择控制 (30)6.2.3PORTB下拉电阻 (30)6.2.4PORTB上拉电阻 (31)6.2.5PORTB电平变化中断 (31)6.3I/O使用 (33)6.3.1写I/O口 (33)6.3.2读I/O口 (33)6.4I/O口使用注意事项 (34)7.中断 (35)7.1中断概述 (35)7.2中断控制寄存器 (36)7.2.1中断控制寄存器 (36)7.2.2外设中断允许寄存器 (37)7.2.3外设中断请求寄存器 (37)7.3中断现场的保护方法 (38)7.4中断的优先级,及多中断嵌套 (38)8.定时计数器TIMER0 (39)8.1定时计数器TIMER0概述 (39)8.2TIMER0的工作原理 (40)8.2.18位定时器模式 (40)8.2.28位计数器模式 (40)8.2.3软件可编程预分频器 (40)8.2.4在TIMER0和WDT模块间切换预分频器 (40)8.2.5TIMER0中断 (41)8.3与TIMER0相关寄存器 (41)9.定时计数器TIMER2 (42)9.1TIMER2概述 (42)9.3TIMER2相关的寄存器 (44)10.PWM模块(PWM1和PWM2) (45)10.1PWM (45)10.2PWM模式 (46)10.2.1PWM周期 (47)10.2.2PWM占空比 (48)10.2.3PWM分辨率 (48)10.2.4休眠模式下的操作 (48)10.2.5系统时钟频率的改变 (48)10.2.6复位的影响 (49)10.2.7设置PWM操作 (49)11.触摸按键 (50)11.1触摸按键模块概述 (50)11.2与触摸按键相关的寄存器 (51)11.3触摸按键模块应用 (53)11.3.1用查询模式读取“按键数据值”流程 (53)11.3.2判断按键方法 (54)11.4触摸模块使用注意事项 (55)12.电气参数 (56)12.1极限参数 (56)12.2直流电气特性 (56)12.3LVR电气特性 (57)12.4AC交流 (57)13.指令 (58)13.1指令一览表 (58)13.2指令说明 (60)14.封装 (76)14.1SOT23-6 (76)14.2SOP8 (77)15.版本修订说明 (78)1. 产品概述1.1功能特性型号说明◆ 内存- ROM :2K ×16Bit- 通用RAM :128×8Bit ◆ 工作电压范围:3.5V —5.5V@16MHz2.0V —5.5V@8MHz工作温度范围:-20℃—75℃ ◆ 8级堆栈缓存器◆ 一种振荡方式 ◆ 简洁实用的指令系统(68条指令) - 内部RC 振荡:设计频率8MHz/16MHz ◆ 指令周期(单指令或双指令) ◆ 2路PWM 模块 ◆ 查表功能- 可通过系统配置分配在不同位置 ◆ 内置低压侦测电路 ◆ 定时器◆ 内置WDT 定时器 -8位定时器TIMER0,TIMER2◆ 中断源 ◆ 内置触摸按键模块 - 2个定时中断 - 内置2.4V LDO - RB 口电平变化中断 - 其它外设中断1.2 系统结构框图2048×16 Program Memory Instruction Reg Instruction Decode and Control Timing GenerationPCStack1..Stack8128×8Data MemoryAddr MuxFsr RegACCMuxALUVDD,GNDTIMER0I/O PORTPWM1-2 Device Reset TimerPower-on ResetWatch Dog TimerOSC TIMER2 Touch1.3 管脚分布1.3.1 SC8F8121引脚图654123RB0/KEY0/PWM/ICSPDATA VDDRB4/PWM/VPPICSPCLK/PWM/KEY1/RB1GND CAP/RB5SOT23-6SC8F81211.3.2 SC8F8122引脚图RB0/KEY0/PWM/ICSPDATA87651234RB3/KEY3/T0CKI/PWM RB2/KEY2/PWMRB1/KEY1/PWM/ICSPCLK VPP/PWM/RB4CAP/RB5VDD GNDSC8F8122管脚名称 IO 类型 管脚说明VDD,GND P 电源电压输入脚,接地脚RB0-RB3,RB5 I/O 可编程为输入脚,推挽输出脚,带上拉电阻功能、带下拉电阻功能、电平变化中断功能RB4I/O 可编程为输入脚,开漏输出脚,带上拉电阻功能、带下拉电阻功能、电平变化中断功能ICSPCLK/ICSPDAT I/O 编程时钟/数据脚 KEY0-KEY3 I 触摸按键输入脚PWM I/O PWM 输出功能,可通过系统配置寄存器选择在不同I/O 口 T0CKI I TIMER0外部时钟输入 CAP I 触摸按键基准电容引脚 VPPI高电压烧写输入1.4 系统配置寄存器系统配置寄存器(CONFIG)是MCU初始条件的ROM选项。
项目 一 汽车单片机原理应用(任务五 MCS-51单片机系统扩展)

(3) MCS-51单片机系统地址空间的分配 系统空间分配:通过适当的地址线产生各外部扩展器件的片 选/使能等信号就是系统空间分配。
编址:编址就是利用系统提供的地址总线,通过适当的连接, 实现一个编址惟一地对应系统中的一个外围芯片的过程。编 址就是研究系统地址空间的分配问题。
片内寻址:若某芯片内部还有多个可寻址单元,则称为片内 寻址。
2)全地址译码法
利用译码器对系统地址总线中未被外扩芯片用到的高位 地址线进行译码,以译码器的输出作为外围芯片的片选信 号。常用的译码器有:74LS139,74LS138,74LS154等。 优点是存储器的每个存储单元只有惟一的一个系统空间地 址,不存在地址重叠现象;对存储空间的使用是连续的, 能有效地利用系统的存储空间。缺点是所需地址译码电路 较多,。全地址译码法是单片机应用系统设计中经常采用 的方法。
1。程序和数据之和不大于 存储器总容量。 2。程序必须存放在低地址,
数据存放在高地址。
三、并行I/O口扩展 MCS-51单片机具有四个并行8位I/O口原理均可用做双向并行 I/O接口,但在实际应用中,可提供给用户使用的I/O口只有P1 口和部分P3口线及作为数据总线用的P0口。在单片机的I/O口 线不够用的情况下,可以借助外部器件对I/O口进行扩展 (1)概述 1)单片机I/O口扩展方法 并行I/O口扩展的目的:为外围设备提供一个输入输出通道。 ①并行总线扩展的方法 ②串行口扩展方法(只介绍总线扩展方式下I/O接口扩展方法) ③I/O端口模拟串行方法
二、存储器的扩展 存储器是计算机系统中的记忆装置,用来存放要运行的程 序和程序运行所需要的数据。单片机系统扩展的存储器可分为 程序存储器和数据存储器两种类型。
(1)MCS-51单片机对外部存储器的扩展应考虑的问题
广东工业大学STM8S系列单片机原理与应用 复习

✧─数据存储器:多达1K字节真正的数据EEPROM;可达30万次擦写✧RAM:多达2K字节时钟、复位和电源管理✧ 3.0~5.5V工作电压,内核电压1.8V✧灵活的时钟控制,4个主时钟源✧–低功率晶体振荡器✧–外部时钟输入✧–用户可调整的内部16MHz RC✧–内部低功耗128kHz RC✧带有时钟监控的时钟安全保障系统电源管理:✧–低功耗模式(等待、活跃停机、停机)✧–外设的时钟可单独关闭✧永远打开的低功耗上电和掉电复位中断管理✧带有32个中断的嵌套中断控制器✧ 6个外部中断向量,最多37个外部中断定时器✧2个16位通用定时器,带有2+3个CAPCOM通道(IC、OC 或PWM)✧高级控制定时器:16位,4个CAPCOM✧通道,3个互补输出,死区插入和灵活的自动唤醒定时器✧2个看门狗定时器:窗口看门狗和独立看门狗通信接口✧带有同步时钟输出的UART ,智能卡,红外IrDA,LIN接口✧SPI接口最高到8Mbit/s✧I2C接口最高到400Kbit/s2.2 STM8S系列MCU内部结构 P222.2.1 STM8内核CPU P24PC为24位,可寻址224=16Mb累加器(A) ,堆栈指针(SP),索引寄存器(X和Y),条件码寄存器(CC):2.2.2 STM8S封装与引脚排列2.3掌握通用I/O口GPIO初始化P31●可选择的输入模式:悬空输入(缺省状态)和带上拉输入●可选择的输出模式:推挽式输出和开漏输出PB_DDR,PB_CR1,PB_CR22.3.1 I/O引脚结构2.3.2 I/O端口数据寄存器与控制寄存器2.3.3输入模式2.3.4输出模式每一个端口都有一个输出数据寄存器 (ODR),一个引脚输入寄存器(IDR)和一个数据方向寄存器(DDR) 总是同相关的。
控制寄存器1(CR1)和控制寄存器2(CR2)用于对输入/输出进行配置。
任何一个I/O引脚可以通过对DDR,ODR,CR1和CR2寄存器的相应位进行编程来配置。
单片机课程设计—8个按键控制8个LED自动设定控制流水灯

西南石油年夜学之迟辟智美创作实习总结陈说 实习类型生产实习 实习单元 西南石油年夜学实习基地 实习起止时间 2018 年 7 月 7 日至 2018 年 7 月 16 日 指导教师刘东明、孙鉴 所在院(系) 电子科学学院 班 级电子科学与技术 15-2 学生姓名 学 号 15090124022018 年 7 月 16 日目录第 1 章 按键控制流水灯设计 1 1.1 实习目的错误!未定义书签。
1.2 实习要求错误!未定义书签。
第 2 章 电路工作原理 22.5 本章小结 6 第 3 章 C 法式设计 73.1 法式设计流程图 73.3 本章小结 9 总结及体会 10 参考文献 11 附录 12第1章 按键控制流水灯设计1.1 实习目的本次实习以 STC89C52 单片机为控制核心.通过它实现对八盏 LED 灯的亮灭进 行设定,并在设定完成之后能够依照之前的设定实现流水灯效果.外部电路为按键 控制流水灯.P0 口控制八盏灯,P1 口控制矩阵键盘,P2 口控制自力按键,法式利 用单片机内部计时器中断实现流水效果.要求流水灯能够自行设定、暂停、复位, 工作稳定,可靠性高.生产实习的主要目的是培养理论联系实际的能力,提高实际入手把持能力.本 专业的生产实习旨在广泛了解实际单片机电子产物工作的全过程,熟悉电子产物 的主要技术管理模式,并在实习的把持过程中学习掌握电子产物的焊接装置调试 的实际把持技能.巩固和加深理解所学的理论,开阔眼界,提高潜力,为培养高素 质年夜学本科人才打下需要的基础.透过学习,是理论与实际相结合,能够使学生 加深对所学知识的理解,并为后续专业课的学习带给需要的感性知识,同时直接 了解本业的生产过程和生产资料,为将来走上工作岗位带给需要的实际生产知识.1.2 实习要求1.深入学习单片机开发软件 Keil 的使用,熟悉单片机电路设计,根据实际应 用电路对法式进行调试.2.熟悉单片机硬件开发平台的应用,掌握单片机编程器、仿真器的使用,能 检查和分析软硬件故障.3.体会单片机内部资源的功能使用,以单片机开发板现有资源进行应用性设 计.掌握单片机经常使用外围器件的使用.4.对去年生产实习焊接的 51 开发板的法式有更深入的了解.第2章 电路工作原理2.1 STC89C52 单片机工作原理单片机(Microcontrollers)是一种集成电路芯片,是采纳超年夜规模集成电路 技术把具有数据处置能力的中央处置器 CPU、随机存储器 RAM、只读存储器 ROM、 多种 I/O 口和中断系统、按时器/计数器等功能(可能还包括显示驱动电路、脉宽 调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个 小而完善的微型计算机系统.例如 STC89C52 单片机是通过 32 个输入输出口的高低电平变动来实现对外部 电路的控制,痛过相应的法式实现对 32 个输入输出口的控制,这就是单片机工作 的最基来源根基理.如图 2-1 所示为 STC89C52 单片机工作的最小系统电路图.图 2-1 STC89C52 最小工作系统 整个电路使用 5V 直流电源供电,其中复位电路能够使单片机复位;晶振电路 相当于单片机的心脏,为单片机提供 12MHz 的高频脉冲使单片机正常工作; MAX232 是将单片机输出的 TTL 电平转换成 PC 机能接收的 232 电平或将 PC 机输 出的 232 电平转换成单片机能接收的 TTL 电平,实现单片机与 PC 机之间的通信, 以便于下载法式.2.2 LED 工作原理LED(light-emitting diode),即发光二极管,俗称 LED 小灯,51 开发板使用 的是普通贴片发光二极管.这种二极管通常的正向导通电压是 1.8~2.2V 之间,工作 电流一般在 1~20mA 之间.其中当电流在 1~5mA 之间变动时,随着通过 LED 的电 流越来越年夜,肉眼会感觉到这个灯越来越亮,而当电流从 5~20mA 变动时,看 到的发光二极管的亮度变动不明显了.当电流超越 20mA 时,LED 就有烧坏的危险. 所以在 51 开发板的使用中需要根据相应的电流参数设计一个与 LED 串连的限流 电阻.如图 2-2 所示为单片机 I/O 口控制 LED 的电路原理图.图 2-2 单片机控制 LED 电路图 图中 PR2 为排阻,在电路中起到限流作用,防止 LED 被烧毁.因为单片机是可 以编程控制的,即 P00~P07 的高低电平也是能够控制的,所以对应的 8 个 LED 的 亮灭状态也是能够控制的,这就到达了单片机控制 LED 的目的.2.3 按键工作原理 2.3.1 自力按键工作原理自力式按键比力简单,它们各自与自力的输入线相连接,如图 2-3 所示.图 2-3 自力式按键原理图 4 条输人线接到单片机的 I/O 口上,当按健 K1 按下时,+5V 通过电阻然后再 通过按键 K1 最终进人 GND 形成一条通路,这条线路的全部电压都加到这个电阻 上,P20 这个引脚就是个低电平.当松开按健后,线路断开,就不会有电值通过, P20 和+5V 就应该是等电位,是个高电平.我们就可以通过 P20 这个 10 口的高低电 平来判断是否有按键按下.2.3.2 矩阵按键工作原理在某一个系统设计中,如果需要使用很多按键时,做成自力按键会占用年夜 量 I/O 口,因此引用了矩阵键盘的设计.如图 2-4 所示为 51 开发板上的矩阵按键电 路原理图,使用 8 个 I/O 口来实现 16 个按键.图 2-4 矩阵按键原理图 在法式设计中分别用四个 I/O 口扫描 4 行,另外 4 个扫描 4 列,确定了按键在 哪行哪列也就确定了按键的具体位置.2.4 整体电路图如图 2-5 所示为键盘控制 LED 流水灯整体电路图.图 2-5 总电路原理图2.5 本章小结本章主要介绍了单片机最小系统、LED 工作原理、按键工作原理.并从硬件电 路的设计动身,简单分析单片机控制 LED 的工作过程.理论分析基本完成,接下来 就是具体的法式设计与调试,通过具体的法式来实现相应的功能,这也是单片机 开发中最具技术含量的环节之一.第3章 C 法式设计3.1 法式设计流程图如图 3-1 所示为主法式流程图.开始 开计时器中断K1 是否按下 否是扫描矩阵键盘选 择需要点亮的 LED是K2 是否按下 否K3 是否按下 否是保管选择的数据 择需要点亮的 LED计时器中断法式选择 数据实现 LED 流水灯图 3-1 法式设计框图 主法式由 3 个自力按键控制,K1,K2 和 K3.开始从主函数执行法式语句,不 竭循环扫描按键,当 K1 按下时,进入选择状态,法式会不竭地扫描矩阵键盘,通 过矩阵键盘选择需要点亮的 LED;选择结束后按下 K2,法式会将选定后的数据送 入中断法式,中断法式根据接收的数据选泽对应的 LED 实现流水灯效果;当按下K3 后法式又会进入矩阵键盘扫描重新选择 LED.3.2 实验结果如图 3-2 所示,当按下 K1 后进入选择定状态.图 3-2 选择 LED 如图 3-2,控制矩阵键盘分别选择了第 1,6,8 盏灯. 再按下 K2 键,让选择的第 1,6,8 盏灯实现流水灯效果.如图 3-3 所示.图 3-3 流水灯 如图 3-3,按下 K2 之后,LED 由之前第 1,6,8 盏灯亮酿成第 1,2,7 盏灯 亮,实现了流水灯右移的效果. 当按下 K3 键,实验结果如图 3-4 所示.图3-4回到初始状态由图3-4可知,当按下K3键之后,法式又回到了设定LED的状态.3.3本章小结由实验结果可以看出,本次单片机课程设计已到达预期要求,电路工作稳定,满足设计要求.在整个设计过程中,法式设计与调试最为复杂,呈现过按键灯不亮,没有呈现滚动流水等现象等一系列法式问题.但最终在不竭地检查、调试之后,问题也逐渐获得解决.最终实现按键控制流水灯的效果.总结及体会本次设计通过对单片机进行编程控制,进而控制外部电路,胜利地设计了八个按键控制八盏灯亮灭实现流水灯的效果.深入了解到单片机开发软件Keil的使用,熟悉单片机电路设计,根据实际应用电路对法式进行调试.熟悉单片机硬件开发平台的应用,掌握了单片机编程器、仿真器的使用,能检查和分析软硬件故障.体会到单片机内部资源的功能使用,以单片机开发板现有资源进行应用性设计.通过这次实习使我进一步弄懂所学到的课本知识,巩固和深化对单片机的结构、指令系统、中断系统、键盘/显示系统、接口技术、系统扩展、按时/控制、法式设计、应用开发、等基本理论知识的理解,提高单片机应用于技术的实践把持技能,掌握单片机应用系统设计、研制的方法,培养利用单片机进行科技革新、开发和立异的基天性力,为结业后从事与单片机相关的工作打下一定的基础.参考文献[1]童诗白,华成英.模拟电子技术基础(第四版)[M].北京:高等教育出书社,2006.[2]阎石.数字电子技术基础(第五版)[M].北京:高等教育出书社,2006.[3]韩建,全星慧,周围.电子技术课程设计指导[M].哈尔滨:哈尔滨工程年夜学出书社,2014.[4]黎小桃.数字电子电路分析与应用[M].北京:北京理工年夜学出书社,2014.[5]高吉祥. 电子技术基础实验与课程设计[M].北京:电子工业出书社,2002.[6]陈明义.电子技术课程设计实用教程(第3版) [M]. 长沙:中南年夜学出书社,2010.[7]程春雨. 模拟电子技术实验与课程设计[M].北京:电子工业出书社,2016.[8]宋雪松,李东明,崔长胜. 手把手教你学51单片机(C语言版)[M]. 北京:清华年夜学出书社,2014.附录:#include <reg52.h>#include <intrins.h>#define KEY P1sbit k1=P2^0;sbit k2=P2^1;sbit k3=P2^2;sbit k4=P2^3;unsigned char LED=0x00,LED1=0x00;unsigned char x=0;unsigned char KeyValue;unsigned char A1=0x00,A2=0x00,A3=0x00,A4=0x00,A5=0x00,A6=0x00,A7=0x00,A8=0x00;void Delay10ms(unsigned int c);void KeyDown(); //矩阵键盘检测void kongzhil();void kongzhi2();void main(void){ TMOD=0x01; //按时器工作状态为1 TH0=(65536-50000)/256;TL0=(65536-50000)%6;EA=1; //开总中断ET0=1; //开按时器中断TR0=1; //开启按时器while(1){ int n=0;if(k1==0){Delay10ms(1);if(k1==0)n=1;}if(k3==0){Delay10ms(1);if(k3==0)n=3;}if(k4==0){Delay10ms(1);if(k4==0)n=4;}switch(n){case 1:KeyDown();break;case 3:kongzhil();break;case 4:kongzhi2();break;default:break;}}}void KeyDown(void){ int k=1;while(k){char a=0;KEY=0x0f;if(KEY!=0x0f){Delay10ms(1); //延时消抖if(KEY!=0x0f){KEY=0X0F;switch(KEY) //扫描行{case(0X07): KeyValue=0;break;case(0X0b): KeyValue=4;break;case(0X0d): KeyValue=8;break;case(0X0e): KeyValue=12;break;}KEY=0XF0;switch(KEY) //扫描列{case(0X70): KeyValue=KeyValue+3;break;case(0Xb0): KeyValue=KeyValue+2;break;case(0Xd0): KeyValue=KeyValue+1;break;case(0Xe0): KeyValue=KeyValue;break;}while((a<50) && (KEY!=0xf0)) //松手检测{Delay10ms(1);a++;}switch(KeyValue) //选择需要亮的灯{case(0):A1=~A1;break;case(1):A2=~A2;break;case(2):A3=~A3;break;case(3):A4=~A4;break;case(4):A5=~A5;break;case(5):A6=~A6;break;case(6):A7=~A7;break;case(7):A8=~A8;break;default:break;}}}if (A1==0xff) //保管数据(LED1=LED1|0x80);else if(A1==0x00)(LED1=LED1&0x7f);if (A2==0xff)(LED1=LED1|0x40);else if(A2==0x00)(LED1=LED1&0xbf);if (A3==0xff)(LED1=LED1|0x20);else if(A3==0x00)(LED1=LED1&0xdf);if (A4==0xff)(LED1=LED1|0x10);else if(A4==0x00)(LED1=LED1&0xef);if (A5==0xff)(LED1=LED1|0x08);else if(A5==0x00)(LED1=LED1&0xf7);if (A6==0xff)(LED1=LED1|0x04);else if(A6==0x00)(LED1=LED1&0xfb);if (A7==0xff)(LED1=LED1|0x02);else if(A7==0x00)(LED1=LED1&0xfd);if (A8==0xff)(LED1=LED1|0x01);else if(A8==0x00)(LED1=LED1&0xfe);LED=LED1;if(k2==0){Delay10ms(1);if(k2==0){k=0;LED=LED1;};};if(k4==0){Delay10ms(1);if(k4==0){k=0;kongzhi2();};};}}void kongzhil(void){int m=1;LED1=LED,LED=0x00;while(m){if(k3==0){Delay10ms(1);if(k3==0){m=0,LED=LED1;};}}}void kongzhi2(void){LED1=0x00;LED=0x00;A1=0;A2=0;A3=0;A4=0;A5=0;A6=0;A7=0;A8=0;}void timer0() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%6;x++;if(x==6) //6*50MS=300MS{x=0;P0=LED;LED = _crol_(LED,1);//if(++i==8) i=0;}}void Delay10ms(unsigned int c) {unsigned char a, b;for (;c>0;c--){for (b=38;b>0;b--){for (a=130;a>0;a--);}}}。
第8章 单片机存储器扩展

译码法的另一个优点是若译码器输出端留 有剩余端线未用时,便于继续扩展存储器或I/O 口接口电路。
译码法和线选法不仅适用于扩展存储器(包 括外RAM和外ROM),还适用于扩展I/O口(包括各 种外围设备和接口芯片)。
译码有两种方法:部分译码法和全译码法。
部分译码:存储器芯片的地址线与单片机系统的地址线顺 次相接后,剩余的高位地址线仅用一部分参加译码。部分 译码使存储器芯片的地址空间有重叠,造成系统存储器空 间的浪费。 部分译码法的一个特例是线译码。所谓线译码就是 直接用一根剩余的高位地址线与一块存储器芯片的片选 信号CS相连,同时通过非门与另一块存储器芯片的片选 信号CS相连。 全译码:存储器芯片的地址线与单片机系统的地址线顺次 相接后,剩余的高位地址线全部参加译码。这种译码方法 存储器芯片的地址空间是唯一确定的,但译码电路相对复 杂。
2 2764
8031
CE GND
EA Vss
上图为8XX51单片机扩展单片程序存储器2764的电路 图。
其8个重叠的地址范围为如下: 0000000000000000~0001111111111111,即:0000H~1FFFH; 0010000000000000~0011111111111111,即:2000H~3FFFH; 0100000000000000~0101111111111111,即:4000H~5FFFH; 0110000000000000~0111111111111111,即:6000H~7FFFH; 1000000000000000~1001111111111111,即:8000H~9FFFH; 1010000000000000~1011111111111111,即:A000H~BFFFH; 1100000000000000~1101111111111111,即:C000H~DFFFH; 1110000000000000~1111111111111111,即:E000H~FFFFH。
第8章 外部存储器的扩展

Vpp A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 GND
62128
Vcc WE A13 A8 A9 A11 OE A10 CE D7 D6 D5 D4 D3 11
采用线选法外扩3片6264RAM的接口电路
思考一下:3片6264RAM的各自所占的地址空间?
12
采用译码法外扩4片62128RAM的接口电路
Vpp A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 GND
27128
Vcc PGM A13 A8 A9 A11 OE A10 CE D7 D6 D5 D4 D3
Vpp A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 GND
27256
Vcc A14 A13 A8 A9 A11 OE A10 CE D7 D6 D5 D4 D3
目前常用的编程方法主要有两种:一种是使用通用编
程器编程,比如RF1800,另一种是使用下载型编程器进 行编程。下面介绍如何对AT89S51片内的Flash存储器进 行编程。
23
23
AT89C5X与AT89LV5X之间的主要区别: 1.AT89LV5X工作电压为2.7~6V,可在低电压条件下工作。
24 。 2. AT89LV5X振荡器的最高频率为12MHz,而AT89C5X振荡器的最高频率为24MHz
17
MCS-51
P2.7-2.0
P0.7-0.0
ALE
W
R
D R
D7-D0
74LS138
74LS373
A
B
C
G2B
G2A
G
1
G
ቤተ መጻሕፍቲ ባይዱ
第8章单片机系统扩展及接口

8.3 扩展数据存储器
单片机片内数据存储器小,仅128B,往往需要扩 展。 8. 3. 1 常用的数据存储器芯片简介
8.4 简单并行I/O口的扩展
8. 4. 2 简单I/O接口的扩展方法 常用74LS244作输入接口芯片,起缓冲作用;用74LS273作输出接
口芯片,起锁存作用。
8.4 简单并行I/O口的扩展
扩展的输入输出口地址均为:
P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
程序段如下:
8.5 扩展8155可编程外围并行接口芯片
1)对定时器赋初值和设定输出波形: 定时器/计数器寄存器地址:7F04H、7F05H
MOV DPTR,#7F04H MOV A,#24 MOVX @DPTR,A
INC DPTR MOV A,#01000000B MOVX @DPTR,A (2)设定A、B口的工作方式并启动定时器工作:
P2.7=0 P2.0=1
P2.1~P2.6均取1
8.5 扩展8155可编程外围并行接口芯片
二、8155的基本操作程序段 1、对8155中的RAM进行操作
例1 (1)向8155RAM中的5FH单元写入数据32H; (2)从8155RAM中的98H单元读取数据。
程序段如下: (1)写数据:
MOV DPTR,#7E5FH MOV A,#32H MOVX @DPTR,A (2) 读数据: MOV DPTR,#7E98H MOVX A ,@DPTR
飞思卡尔8位单片机MC9S08 15 08系列MCU编程器的开发.ppt

命令
格式
功能
READ $4A $4A 高字节 高字节 低字节 低字节 数据
读出指定单元内容(RAM或Flash)
WRITE IREAD
$49 $49 高字节 高字节 低字节 低字节 数据 数据 $1A $1A 数据 数据
向指定单元写数据(RAM)
读取上次访问的地址+1、+2处的 内容(RAM或Flash)
Start Bit0 Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7 Stop
16.1 编程器技术基础
(2)监控模式的工作过程
MCU在进入监控模式时,需要接收8字节的保密字节,如果是空白 芯片,则8字节的保密字节全是$FF,然后就处于等待接收一个命令字节 状态。以GP32为例,进入监控模式的时序如下图所示。
In PC 主机 Out
串 3 In 行 口 2 Out PC
MAX 7 232 9
8
10
1
3
2 MC
5
74HC125 6
特定I/O
目标 MCU
(a)编程器内部器件连接图
7
10
6
VDD
VDD 5 10KΩ
4
8
9
2
3
MAX 232
1 74HC125
(b)编程器原理图
16.2 HC08系列MCU编程器的实现方法
16.1 编程器技术基础
16.1.3 HC08系列MCU在监控模式下的工作过程
(1)与主机通信的数据格式
当MCU上电复位时,如果满足进入监控模式的条件,MCU就会工作 于监控模式。监控模式下MCU主要是通过某个特定的I/O口(如:GP32是 PTA0,JL3是PTB0),以标准不归零(NRZ)的数据格式进行数据通信, 具体为:第一位起始位(0),随后为8个数据位(低位在前,高位在后),最 后一位为停止位(1)。NRZ的数据格式如下图所示。
单片机第八章 AT89系列单片机系统的扩展z1

8.2.3 数据存储器的扩展
1.数据存储器概述 数据存储器即随机存取存储器,用于存放可随时修改的
数据信息。它与ROM不同,对RAM可以进行读、写两种操作 。RAM为易失性存储器, 断电后所存信息立即消失。
2
2.片内无程序存储器的最小应用系统 片内无程序存储器的芯片构成最小应用系统时,必须 在片外扩展程序存储器。 由于一般用做程序存储器的 E2PROM芯片不能锁存地址,故扩展时还应加一个地址 锁存器,构成一个三片最小系统,如图8-1b所示。该 图中74LS373为地址锁存器,用于锁存低8位地址。
3
8.1.2 系统扩展的内容与方法
IN改数据指针
DJNZ R7, AGAIN ; 判断数据是否传送完成
RET
END
26
【C51程序】:
#include <AT89X51.h>
#include <absacc.h>
#define uchar unsigned char
#define uint unsigned int
11
图8-5 74LS138管脚图
图8-6 74LS138的译码关系
12
8.2存储器的扩展
8.2.1 存储器扩展概述 AT89S系列单片机具有64 KB的程序存储器空间, 其中 AT89S51单片机含有4 KB 的片内程序存储器。当单片机程 序超过4 KB时,就需要进行程序存储器的扩展。
AT89S系列单片机的数据存储器与程序存储器的地址空 间是互相独立的,其片外数据存储器的空间可达64 KB, 而片内的数据存储器空间只有128 B。如果片内的数据存 储器不够用时,则需进行数据存储器的扩展。
单片机原理及应用技术思考题

《单片机原理及应用技术》思考题1 单片机概述1-1、单片机与PC机有何区别?它的特点是什么?1-2、MCS-51系列单片机与AT89系列单片机有什么相同和差异?1-3、单片机的主要技术指标有哪些?这些指标的作用如何?1-4、对于一个具体的单片机应用系统,选择单片机的原则是什么?1-5、举一个单片机的应用例子,并画出原理框图,说明工作过程。
1-6、单片机I/0端口数目的多少反映了什么。
2 单片机结构和原理2-1、8051单片机内部包含那些主要逻辑功能部件?2-2、8051的EA端有何用途?2-3、8051单片机存储器的组织结构是怎样的?2-4、8051如何确定和改变当前工作寄存器组?2-5、8051单片机有哪几个特殊功能寄存器?可位寻址的SFR有几个?2-6、(SP)=30H 指什么?2-7、ALE信号有何功用?一般情况下它与机器周期的关系如何?在什么条件下ALE信号可用作外部设备的定时信号。
2-8、有那几种方法能使单片机复位?复位后各寄存器的状态如何?复位对内部RAM有何影响?2-9、程序状态寄存器PSW的作用是什么?常用标志有哪些位?作用是什么?2-10、位地址7CH与字节地址7CH如何区别?位地址7CH具体在片内RAM中什么位置?3 指令系统3-1、MCS-51指令系统主要有哪几种寻址方式?试举例说明。
3-2、设A=0FH,R0=30H,内部RAM的(30H)=0AH、(31H)=0BH、(32H)=0CH,请指出在执行下列程序段后上述各单元内容的变化。
MOV A,@R0MOV @R0,32HMOV 32H,AMOV R0,#31HM0V A,@R03-3、请用数据传送指令来实现下列要求的数据传送。
(1)R0的内容传送到R1。
(2)内部RAM 20H单元的内容传送到A中。
(3)外部RAM 30H单元的内容送R0(4)外部RAM 30H单元内容送内部RAM 20H单元(5)外部RAM 1000H 单元内容送内部RAM 20H单元(6)程序存储器ROM 2000H单元内容送R1(7)RAM 2000H单元内容送内部RAM 20H单元。
单片机应用和原理课件 AT89S51单片机外部存储器的扩展 演示文稿

12
若全部高位地址线都参加译码,称为全译码;若仅部分高 位地址线参加译码,称为部分译码。部分译码存在着部分存 储器地址空间相重叠的情况。
1.线选法 是直接利用系统的某一高位地址线作为存储器芯片(或I/O
接口芯片)的“片选”控制信号。为此,只需要把用到的 高位地址线与存储器芯片的“片选”端直接连接即可。
1. 线选法 优点:电路简单,不需另外增加地址译码器硬件电路,体 积小,成本低。
缺点:可寻址的芯片数目受限制。另外,地址空间不连续, 每个存储单元的地址不唯一,这会给程序设计带来不便,适 用于外扩芯片数目不多的系统。
2
8.1 系统扩展结构 AT89S51采用总线结构,使扩展易于实现,系统并行扩 展结构如图8-1所示。
图8-1 AT89S51单片机的系统并行扩展结构
3
由图8-1可看出,系统扩展主要包括存储器扩展和I/O接口 部件扩展。
AT89S51存储器扩展即包括程序存储器扩展又包括数据 存储器扩展。AT89S51采用程序存储器空间和数据存储器空 间截然分开的哈佛结构。扩展后,形成了两个并行的外部存 储器空间。
15
(2)74LS139 双2-4译码器。这两个译码器完全独立,分别有各自的数 据输入端、译码状态输出端以及数据输入允许端,引脚如图 8-4,真值表如表8-2(只给出其中的一组)。
图8-4 74LS139引脚
16
以74LS138为例,如何地址分配。 例如,要扩8片8KB的RAM 6264,如何通过74LS138把 64KB空间分配给各个芯片? 由74LS138真值表可知,把G1接到+5V,G2A* 、 G2B* 接地,P2.7、P2.6、P2.5(高3位地址线)分别接74LS138 的C、B、A端,对高3位地址译码,译码器8个输出Y7* ~ Y0* ,分别接到8片6264的各 “片选”端,实现8选1的片选。 低13位地址(P2.4~P2.0,P0.7~P0.0)完成对选中的 6264芯片中的各个存储单元的“单元选择”。这样就把 64KB存储器空间分成8个8KB空间了。
基于STC8单片机兼容传统51开发板设计及双语言编程的教学探究

电子产品世界基于STC8单片机兼容传统51开发板设计及双语言编程的教学探究*Teaching exploration based on STC8 MCU compatible with traditional 51 development board design and dual language programming刘光乾1,陈 熙,刘 庆,陈 丹,马兴茹 (西南科技大学城市学院,四川 绵阳 622651)摘 要:本文以STC8H8K64U单片机兼容STC89C52传统开发板及发挥引脚最大化资源配置设计核心板,结合与Keil C兼容的图形化编程语言,以项目开发和教学应用为基础讲解对51单片机的软硬件开发应用,以更好地推进单片机教学和项目开发实践应用。
关键词:单片机核心板;STC8H8K64U;STC89C52;图形化编程;Keil C*课题项目:2020年度西南科技大学城市学院校级教学质量与改革项目课题2020XJXM03单片机原理及应用线上课程建设与教学改革项目研究实施。
2021年度西南科技大学城市学院校级教学研究与改革项目课题CC-JJ2120现代学徒制创新创业课程项目在高校职业教育教学的实施研究项目研究实施。
0 引言单片机教学在很多高职院校的很多专业都有涉及,不同层次专业水平的学生,在学习单片机与实践开发应用中难以过渡,特别是单片机硬件结构和软件编程基础较差时更是难以入门。
本文基于众多单片机教学与应用研究及学徒制教学改革与探索,从单片机应用与教学现状分析、STC8H8K64U单片机简介、STC8H8K64U兼容STC89C52开发板的核心系统设计及图形化编程与仿真等五个方面进行讲述,供单片机教学教改及单片机爱好者学习研究之用。
1 单片机应用与教学模式及现状简介单片机作为智能电子产品开发设计及嵌入式基础,业内项目式入门资料包括:郭天祥老师的“新概念51单片机”,及相关的单片机开发经验与分享[1];以51单片机课程为例的创客式项目教学在编程类课程中的应用研究[2];邵华[3]老师以项目为导向的课程创新机制,在《单片机编程与实训》课程中的实践和对比效果显著;陈育群[4]老师在面向单片机初学者的编程方法探究中采用基于编程字典的方法能使单片机初学者快速掌握单片机的编程。
单片机第8章新

;与R0配合,访问外RAM ;要取出数据的首地址 ;R0的初始值为0
;取ROM单元内容 ;送入外部RAM单元
INC R0
;循环次数加1,同时外部
2021/2/21 27
可以确定各芯片地址为: 2764(IC1)和6264(IC3) :4000H~5FFFH,或C000H~DFFFH ; 2764(IC2)和6264(IC4) :2000H~3FFFH ,或A000H~BFFFH ;
2021/2/21 28
【例8-3】采用译码法扩展2片8KB的6264 RAM和2片8KB的 2764 EPROM。可用地址线P2.6、 P2.5进行2-4译码,Y0~Y3选 通4片存储芯片,各片地址都不同。
如 27128为128K bit容量,或16K byte,需14根地址线。
芯片引脚功能: A0~A15:地址线引脚。它的数目由芯片的存储容量决定,
用于进行单元选择。 D7~D0:数据线引脚。 CE:片选控制端,低电平有效。 OE:输出允许控制端,低电平有效。
2021/2/21 17
§ 8.3.2 程序存储器的操作时序 一、访问程序存储器的控制信号 1、ALE:用于低8位地址锁存控制。 2、PSEN:片外程序存储器“读选通”控制信号。
常用的译码器芯片有74LS138(3-8译码器)、74LS139(双2-4 译码器)。
若全部高位地址线都参加译码,称为全译码; 若仅部分高位地址线参加译码,称为部分译码。部分译码 存在着部分存储器地址空间相重叠的情况。
2021/2/21 12
例如,要扩8片8KB的RAM 6264,如何通过74LS138把64KB空 间分配给各个芯片?(8K需13根地址线)
6216(1): 1 1 1 0 X 000 1 1 1 0 X 111
n第八章_80C51单片机的应用系统实例(1)

第八章
80C51单片机的应用系统 实例
② 负电压发生电路主要产生一个-5 V的 电压,为仪表放大器U4(INA118)提供负 电源。电路由U7(7660)和电容C5、C6组 成。 ③仪表放大器U4(INA118)可将压力传 感器桥路输出的毫伏(mV)级电压放大,以 适应VF变换器U5(AD654)的需要。电阻 R7是调节仪表放大器的放大倍数用的。
第八章
80C51单片机的应用系统 实例
图8-2 主机板电路原理图
第八章
80C51单片机的应用系统 实例
(2) 信号电路板 信号电路板电路原理图如图8-3所示。它 通过插座W1与主机板联接,通过插座W与 压力传感器相联,通过插座W′与流速传感 器相联。其中包含压力信号调理电路、流 速信号调理电路和模拟电源控制电路。
第八章
80C51单片机的应用系统 实例
图8-3 信号电路板电路原理图
第八章
80C51单片机的应用系统 实例
(3) 通信接口板电路 通信接口板电路的原理图如图8-4所示。 当系统从井下采集完数据回到地面或进行 标定实验时,该板用插座W1’与主机板上的 W1联接。
第八章
80C51单片机的应用系统 实例
第八章
80C51单片机的应用系统 实例
2) 流速数据采集子程序 设定T0为定时器,定时时间为100 ms/次,采集时 间为6 s=100 ms/次×60次;设定 T1 为计数方 式,所计流量脉冲写入片外RAM中。
第八章
LIU: MOV MOV MOV MOV MOV
80C51单片机的应用系统 实例
第八章
8.1.1
80C51单片机的应用系统 实例
设计目标 本系统使用89C51作为控制芯片,对来自压力 及流速传感器的信号进行采集,并把采集到的数 据存放在数据存储器中。系统可以工作在标定和 实际测量两种工作状态下。标定状态是为了修正 系统误差而在测量前进行一组标准压力和流速数 据的测量。具有可与通用计算机联接的串行通信 接口。在等待状态时,系统工作在低功耗方式。 系统具有工作状态显示系统,可以显示标定、测 量、通信、等待等不同的工作状态。
第八章 单片机应用系统扩展

(2).锁存器74LS573 输入的D端和输出的Q端依次排在芯片的两侧,为绘制印刷电 路板时的布线提供了方便。
D7~D0:8位数据输入线。 Q7~Q0:8位数据输出线。 G :数据输入锁存选通信号,该引 脚与74LS373的G端功能相同。 /OE:数据输出允许信号,低电平 有效。
8.1 程序存储器扩展
A7 A6 A5 A4 A3 A2 A1 A0
74LS373
2716(2k) EPROM
51单片机
PSEN
2716(2kx8)的地址范围为0000H ~ 07FFH。
例:扩展4KB程序存储器。
+5V VCC PGM VPP P2.4 P2.3 P2.2 P2.1 P2.0 EA P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 ALE D7 D6 D5 D4 D3 D2 D1 D0 OE CE GND D7 D6 D5 D4 D3 D2 D1 D0 G OE Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 A11 A10 A9 A8
2.译码法
使用译码器对89C51的高位地址进行译码,将译码
器的译码输出作为存储器芯片的片选信号。是最 常用的地址空间分配的方法,它能有效地利用存 储器空间,适用于多芯片的存储器扩展。 常用的译码器芯片有74LS138(3-8译码器) 74LS139(双2-4译码器)74LS154(4-16译码器)。
表8.1 2716(2K)/2732(4KB)的引脚
VCC PGM VPP A10 A9 A8
A7 A6 A5 A4 A3 A2 A1 A0
A0~A10 (2716) A0~A11 (2732) D0~D7 CE PGM
地址线 数据输出线 片选 程脉冲输入
《单片机微型计算机原理与接口技术》第八章 80C51单片微机的系统扩展原理与接口技术

②开始数据传送 在串行时钟线(SCL)保持高电平的情况下,串行数据线(SDA )上发生一个由高电平到低电平的变化作为起始信号(START) ,启动I2C 总线。I2C总线所有命令必须在起始信号以后进行。 ③停止数据传送 在串行时钟线(SCL)保持高电平的情况下,串行数据线 (SDA)上发生一个由低电平到高电平的变化,称为停止信号( STOP)。这时将停止I2C 总线上的数据传送。 ④数据有效性 在开始信号以后,串行时钟线(SCL)保持高电平的周期 期间,当串行数据线(SDA)稳定时.串行数据线的状态表示数 据线是有效的。需要一个时钟脉冲。 每次数据传送在起始信号(START)下启动,在停止信号 (STOP)下结束。 在I2C总线上数据传送方式有两种,主发送到从接收和从发 送到主接收。它们由起始信号(START)后的第一个字节的最低 位(即方向位R/W)决定。
①串行数据线(MISO、MOSI) 主机输入/从机输出数据线(MISO)和主机输出/ 从机输入数据线(MOSI),用于串行数据的发送和接收。 数据发送时.先传送MSB(高位),后传送LSB(低位)。 在SPI设置为主机方式时,MISO线是从机数据输入线 ,MOSI是主机数据输出线;在SPI设置为从机方式时, MISO线是从机数据输出线,MOSI是从机数据输入线。
8.1.1外部并行扩展原理
单片微机是通过芯片的引脚进行系统扩展的。 80C51系列带总线的单片微机芯片引脚可以构成图8-1所 示的三总线结构.即地址总线(AB)数据总线(DB)和控制总 线(CB)。具有总线的外部芯片都通过这三组总线进行扩展。 (1)地址总线(AB) 地址总线由单片微机P0口提供 低8位地址A0~A7,P2口提 供高8位地址A8~A15。P0口是地址总线低8位和8位数据总线复 用口,只能分时用作地址线。故P0口输出的低8位地址A0~A7必 须用锁存器锁存。 锁存器的锁存控制信号为单片微机ALE引脚输出的控制信 号。在ALE的下降沿将P0口输出的地址A0~A7锁存。P0、P2口 在系统扩展中用做地址线后便不能作为一般I/O口使用。 由于地址总线宽度为16位,故可寻址范围为64 KB。 (2)数据总线(DB) 数据总线由P0口提供,用D0~D7表示。P0口为三态双向
单片机的系统扩展原理及接口技术 第8章习题答案 高锋第二版

第8章思考与练习题解析【8—1】简述单片机系统扩展的基本原则和实现方法。
【答】系统扩展是单片机应用系统硬件设计中最常遇到的问题。
系统扩展是指单片机内部各功能部件不能满足应用系统要求时,在片外连接相应的外围芯片以满足应用系统要求。
80C5 1系列单片机有很强的外部扩展能力,外围扩展电路芯片大多是一些常规芯片,扩展电路及扩展方法较为典型、规范。
用户很容易通过标准扩展电路来构成较大规模的应用系统。
对于单片机系统扩展的基本方法有并行扩展法和串行扩展法两种。
并行扩展法是指利用单片机的三组总线(地址总线AB、数据总线DB和控制总线CB)进行的系统扩展;串行扩展法是指利用SPI三线总线和12C双线总线的串行系统扩展。
1.外部并行扩展单片机是通过芯片的引脚进行系统扩展的。
为了满足系统扩展要求,80C51系列单片机芯片引脚可以构成图8-1所示的三总线结构,即地址总线AB、数据总线DB和控制总线CB。
单片机所有的外部芯片都通过这三组总线进行扩展。
2.外部串行扩展80C51.系列单片机的串行扩展包括:SPI(Serial Peripheral Interface)三线总线和12C双总线两种。
在单片机内部不具有串行总线时,可利用单片机的两根或三根I/O引脚甩软件来虚拟串行总线的功能。
12C总线系统示意图如图8—2所示。
【8—2】如何构造80C51单片机并行扩展的系统总线?【答】80C51并行扩展的系统总线有三组。
①地址总线(A0~A15):由P0口提供低8位地址A0~A7,P0 口输出的低8位地址A0~A7必须用锁存器锁存,锁存器的锁存控制信号为单片机引脚ALE输出的控制信号。
由P2口提供高8位地址A8~A1 5。
②数据总线(DO~D7):由P0 口提供,其宽度为8位,数据总线要连到多个外围芯片上,而在同一时间里只能够有一个是有效的数据传送通道。
哪个芯片的数据通道有效则由地址线控制各个芯片的片选线来选择。
③控制总线(CB):包括片外系统扩展用控制线和片外信号对单片机的控制线。
第8章单片机系统扩展

1
8.1 89C51系统扩展结构
2
单片机存储器系统
程序存储器ROM 存储器系统 数据存储器RAM
FFFFH
片内ROM 扩展ROM 片内RAM 扩展RAM
FFFFH
64K
1000H 0FFFH
FFH 80H 7FH 00H
SFR
64K
0000H
EA=1
0000H 0000H
EA=0
扩展ROM
内部ROM
内部RAM
扩展RAM
3
内部
外部
MOVX RD、WR选通
MOVC EA=0,PSEN选通
数据存储器
MOVΒιβλιοθήκη 程序存储器MOVC EA=1
4
5
1.以P0口作为低8位地址/数据总线
• 89C51由于受引脚数目的限制,数据线和低8位地址线复用。为了将它们分离
出来,需要外加地址锁存器,从而构成与一般CPU相类似的片外三总线 2. 以P2口的口线作为高位地址线
●译码电路 74LSl39(双2—4译码器)
1G 1A 1B 1Y 0 1Y 1 1Y2 1Y 3 GND
1 2 3 4 5 6 7 8
16 15
14 13 12 11 10 9
+UCC G 2G 2A A 2B 1Y0 2Y1 2Y2 B 2Y3
1
&
Y0 Y1 Y2 Y3
& 1 1 &
双 2/4 线译码器 Y0~Y3是输出端
CT74LS139
1
1
&
A、B是输入端 G 是使能端
13
输 使能
G 1 0 0 0 0