8 单片机系统扩展设计

合集下载

第八章扩展存储器方案

第八章扩展存储器方案
00 01 10 11
#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单片机说明书

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单片机系统扩展)

项目 一 汽车单片机原理应用(任务五 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系列单片机原理与应用 复习

广东工业大学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自动设定控制流水灯

单片机课程设计—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章 单片机存储器扩展

第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章 外部存储器的扩展

第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章单片机系统扩展及接口
ⅹ 0 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 地址范围为:0000~3FFFH P2.6接片选信号CE,为0有效。 P2.7取0
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
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档