单片机的系统扩展
- 格式:ppt
- 大小:6.81 MB
- 文档页数:88
单片机中的IO口扩展技术原理及应用案例一、引言单片机是现代电子技术中常用的核心控制器件之一,其功能强大、使用广泛。
然而,单片机的IO口数量通常有限,难以满足复杂系统的扩展需求。
为了解决这一问题,IO口扩展技术应运而生。
本文将介绍单片机中的IO口扩展技术的原理及应用案例,旨在帮助读者更好地理解和应用该技术。
二、原理介绍单片机中的IO口是用于输入和输出数字信号的接口,通常包括输入输出引脚和控制电路。
然而,随着系统需求的增多,单片机的IO口数量往往无法满足实际应用的需求。
为了扩展IO口数量,可采用以下两种原理:1. 级联扩展级联扩展是通过将多个IO口连接在一起,共享控制信号来实现扩展。
其中,一个IO口作为主控制信号输出,控制其他IO口的输入输出。
通过这种方式,可以将多个IO口级联,实现IO口数量的扩展。
2. IO口扩展芯片IO口扩展芯片是一种专门设计的集成电路,用于扩展单片机的IO口数量。
通过与单片机进行通信,扩展芯片可以提供额外的IO口,大大增加了系统的可扩展性。
常用的IO口扩展芯片有74HC595、MCP23017等,它们具有多个IO口、控制电路和通信接口,可方便地与单片机进行连接。
三、应用案例为了更好地理解IO口扩展技术的应用,下面将介绍两个具体的案例。
1. LED灯控制系统假设我们需要控制大量LED灯,而单片机的IO口数量有限。
这时,我们可以使用74HC595芯片进行IO口扩展。
首先,将单片机与74HC595芯片进行连接,通过SPI或者I2C协议进行通信。
然后,通过写入数据到74HC595的寄存器,实现对每个IO口的控制。
通过级联多个74HC595芯片,可以将LED灯的数量扩展到数十甚至上百个。
应用案例中,我们可以设置不同的数据来控制不同的LED灯状态,实现灯光的闪烁、流水等效果。
通过IO口扩展技术,实现了对大量LED灯的控制,提升了系统的可扩展性和灵活性。
2. 外部设备接口扩展在一些工业自动化系统中,需要与多个外部设备进行通信,如传感器、执行器等。
第8章单片机系统扩展1. 什么是AT89C51单片机的最小应用系统?答:所谓最小应用系统是指能维持单片机运行的最简单配置系统。
AT89C51芯片外加晶振电路和复位电路就构成了一个简单可靠的最小应用系统。
其在简单应用场合,可满足用户的要求。
2. 在AT89C51扩展系统中,程序存储器与数据存储器共用16位地址线和8位数据线,为什么两个存储空间不会冲突?答:AT89C51在片外扩展RAM的地址空间为0000H~FFFFH,共64KB,与ROM地址空间重叠。
但因各自使用不同的指令和控制信号,因而不会“撞车”。
读ROM时用MOVC指令,由PSEN选通ROM的OE端;读/写片外RAM时用MOVX指令,用RD选通RAM的OE端,用WR选通RAM的WE端。
但扩展RAM与扩展I/O 口是统一编址的,使用相同的指令和控制信号。
这在设计硬件系统和编制软件程序时应注意统筹安排。
3. 利用一片74LS138,用全译码方法,设计一个外部扩展8片6116的扩展电路。
写出各芯片的地址空间。
解:(图7.2 74LS138译码片选8片6116(2K×8)存储电路图(2)各芯片地址空间为:(假定无关位取1)芯片(1):1000 0000 0000 0000B~1000 0111 1111 1111B=8000H~87FFH芯片(2):1000 1000 0000 0000B~1000 1111 1111 1111B=8800H~8FFFH芯片(3):1001 0000 0000 0000B~1001 0111 1111 1111B=9000H~97FFH芯片(4):1001 1000 0000 0000B~1001 1111 1111 1111B=9800H~9FFFH芯片(5):1010 0000 0000 0000B~1010 0111 1111 1111B=A000H~A7FFH芯片(6):1010 1000 0000 0000B~1010 1111 1111 1111B=A800H~AFFFH芯片(7):1011 0000 0000 0000B~1011 0111 1111 1111B=B000H~B7FFH芯片(8):1011 1000 0000 0000B~1011 1111 1111 1111B=B800H~BFFFH4.用串行传送方式,在AT89C51上扩展2片AT24C01A,画出硬件连接图,编程向每片传送100个数据。
第六章单片机系统扩展通常情况下,采用MCS-51单片机的最小系统只能用于一些很简单的应用场合,此情况下直接使用单片机内部程序存储器、数据存储器、定时功能、中断功能,I/O端口;使得应用系统的成本降低。
但在许多应用场合,仅靠单片机的内部资源不能满足要求,因此,系统扩展是单片机应用系统硬件设计中最常遇到的问题。
在很多复杂的应用情况下,单片机内的RAM ,ROM 和 I/O接口数量有限,不够使用,这种情况下就需要进行扩展。
因此单片机的系统扩展主要是指外接数据存贮器、程序存贮器或I/O接口等,以满足应用系统的需要。
6.1 单片机应用系统按照单片机系统扩展与系统配置状况,单片机应用系统可以分为最小应用系统、最小功耗系统、典型应用系统等。
最小应用系统,是指能维持单片机运行的最简单配置的系统。
这种系统成本低廉、结构简单,常用来构成简单的控制系统,如开关状态的输入/输出控制等。
对于片内有ROM/EPROM 的单片机,其最小应用系统即为配有晶振、复位电路和电源的单个单片机。
对于片内无ROM/EPROM的单片机,其最小系统除了外部配置晶振、复位电路和电源外,还应当外接EPROM 或EEPROM作为程序存储器用。
最小应用系统的功能取决于单片机芯片的技术水平。
单片机的最小功耗应用系统是指能正常运行而又功耗力求最小的单片机系统。
单片机的典型应用系统是指单片机要完成工业测控功能所必须具备的硬件结构系统。
6.1.1 8051/8751最小应用系统MCS-51系列单片机的特点就是体积小,功能全,系统结构紧凑,硬件设计灵活。
对于简单的应用,最小系统即能满足要求。
8051/8751是片内有ROM/EPROM的单片机,因此,用这些芯片构成的最小系统简单、可靠。
图6-1 8051/8751最小应用系统用8051/8751单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图6-1所示。
由于集成度的限制,最小应用系统只能用作一些小型的控制单元。
第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):包括片外系统扩展用控制线和片外信号对单片机的控制线。
单片机系统扩展在由单片机构成的实际测控系统中,最小应用系统往往不能满足要求,因此在系统设计时首先要解决系统扩展问题。
单片机的系统扩展主要有程序存储器(ROM)扩展,数据存储器(RAM)扩展以及I/O口的扩展。
MCS-51单片机有很强的扩展功能,外围扩展电路、扩展芯片和扩展方法都非常典型、规范。
本章首先通过实训初步了解扩展的方法及应用,然后详细讨论各种扩展的常见电路、芯片以及使用方法。
实训6 片外RAM对信号灯的控制及可编程I/O口的应用1.实训目的(1) 掌握扩展片外RAM的方法及使用。
(2) 熟悉8155可编程接口芯片的内部组成。
(3) 掌握8155初始化的方法及I/O口的使用。
(4) 了解8155内部定时器和RAM的编程使用。
(5) 认识片外RAM及8155相关地址的确定。
2.实训设备和器件实训设备:单片机开发系统、微机。
实训器件:实训电路板1套。
3.实训电路图下图为实训电路图,与附录1中的电路图连接完全相同。
图6.1 实训6电路图4.实训步骤与要求1)查阅附录实训电路板原理图及芯片手册,初步认识51单片机扩展片外RAM 所使用的芯片6264的管脚排列,以及与单片机的连接关系;初步分析8155与单片机的连接及三个I/O口与外部LED的关系。
2)将电路板与仿真器连接好。
3)输入参考程序1,汇编并调试运行,观察P1口发光二极管的亮灭状态。
4)输入参考程序2,汇编并调试运行,观察电路板中LED(共阴极)的显示情况。
参考程序1:对片外RAM写入数据并输出,控制P1口的亮灭状态。
ORG 0000HMOV DPTR,#1000H ;指向片外RAM的首地址MOV A,#0FEH ;设置第一个要送入的数据MOV R1,#08H ;设循环次数WRITE: MOVX @DPTR,A ;向RAM中写入数据INC DPTR ;片外RAM地址加1CLR CYRL A ;更新数据DJNZ R1,WRITE ;8次未送完,继续写入,否则顺序执行下一条指令MOV R1,#08H ;再次设置循环次数START: MOV DPTR,#1000H ;指向第一个数据单元1000HREAD: MOVX A,@DPTR ;读出数据到A累加器MOV P1,A ;送P1口点亮发光二极管LCALL DELAY ;延时一段时间INC DPTR ;更新地址DJNZ R1,READ ;连续读出8个数据,送P1口显示SJMP START ;8个数据读完,继续从第一个数据单元开始。