单片机ch09 8051扩展资源编程_第1页
单片机ch09 8051扩展资源编程_第2页
单片机ch09 8051扩展资源编程_第3页
单片机ch09 8051扩展资源编程_第4页
单片机ch09 8051扩展资源编程_第5页
已阅读5页,还剩40页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第九章8051扩展资源的C编程可编程外围定时器8253可编程外围并行接口8255可编程接口芯片8155I2C总线扩展存储器可编程外围定时器8253CLK

时钟输入OUT

计数器输出,当计数器减为零时,输出相应信号GATE

门控信号,用于启动或禁止计数器工作引脚寻址的端口CSA1A0000010011×0101×计数器0计数器1计数器2控制字寄存器本芯片没有被选中CSRDWRA1A0功能01000写入计数器001001写入计数器101010写入计数器201011写入控制字寄存器00100读计数器000101读计数器100110读计数器200111无操作1××××本芯片未被选中011××无操作8285的控制方式和控制字SC1SC0RL1RL0M2M1M0BCDD7D000选择通道001选择通道110选择通道211无效00计数器锁存,供CPU读取01只读/写计数器低位字节10只读/写计数器高位字节11先读/写计数器低位字节,后读/写高位字节000方式0001方式1x10方式2x11方式3100方式4101方式51BCD码计数02进制计数BCD格式说明:①计数值范围:0000~9999H,其中0000表示最大值10000,即104;②当预置了n=1234H,表示预置了一个十进制数1234。二进制格式说明:①计数值范围:0000~FFFFH,其中0000表示最大值65536,即216

②当预置了n=1234H,表示预置了一个十六进制数1234H,即十进制数4660。8253的工作方式概述方式0

计数结束中断方式方式1

可编程单稳态输出方式方式2

比率发生器方式3

方波发生器方式4

软件触发选通方式5

硬件触发选通方式0:计数结束中断方式写入控制字后OUT初始状态:低电平门控信号GATE的作用:①高电平允许计数;②如果在计数过程GATE为低电平,则暂停计数;③GATE回到高电平后,继续往下计数。计数过程中OUT状态:保持低电平计数结束OUT状态:发生由低到高的正跳变,可以发出中断请求信号。计数器回0后,是否重新计数:否应用:用于工业生产中对产品的计数方式1:可编程单稳态输出方式写入控制字后OUT初始状态:高电平门控信号GATE的作用:①高电平或低电平均不起作用;②只有在GATE发生由低到高的正跳变,输出OUT由高到低跳变,并开始计数;③在计数过程中,若GATE产生负跳变,不影响计数;④在计数器回0之前,GATE又产生由低到高的正跳变,8253又将初始值装入,重新开始计数,使生成脉冲加宽。计数过程中OUT状态:保持低电平计数结束OUT状态:发生由低到高的正跳变。计数器回0后,是否重新计数:否应用:用于定时方式2:脉冲发生器写入控制字后OUT初始状态:高电平门控信号GATE的作用:①高电平允许计数;②在计数过程中,若GATE变为低电平时,禁止计数;③当GATE由低变高时,又把预置的计数初值装入计数器,重新开始计数。计数过程中OUT状态:保持高电平计数结束OUT状态:产生一个时钟周期的负脉冲。计数器回0后,是否重新计数:是应用:用于分频方式3:方波发生器写入控制字后OUT初始状态:高电平门控信号GATE的作用:①高电平允许计数;②在计数过程中,GATE变为低电平时,禁止计数;③当GATE由低变高时,又把预置的计数初值装入计数器,重新开始计数。计数过程中OUT状态:如果计数初值为偶数,则产生占空比为1/2的方波;如果计数初值为奇数,则产生占空比为(n+1)/2:n的方波,n为计数值计数结束OUT状态:继续输出方波计数器回0后,是否重新计数:是应用:用于分频方式4:软件触发选通写入控制字后OUT初始状态:高电平门控信号GATE的作用:①高电平允许计数;②在计数过程中,GATE变为低电平时,禁止计数;③当GATE由低变高时,又把预置的计数初值装入计数器,重新开始计数。计数过程中OUT状态:保持高电平计数结束OUT状态:输出一个时钟周期的负脉冲计数器回0后,是否重新计数:否应用:用于软件触发计数的场合方式5:硬件触发选通写入控制字后OUT初始状态:高电平门控信号GATE的作用:

①高电平或低电平均不起作用;②只有在GATE发生由低到高的正跳变,开始计数;③在计数过程中,若GATE产生负跳变,不影响计数;④在计数器回0之前,GATE又产生由低到高的正跳变,8253又将初始值装入,重新开始计数。计数过程中OUT状态:保持高电平计数结束OUT状态:输出一个时钟周期的负脉冲计数器回0后,是否重新计数:计数器回0后,自动将计数值装入执行部件,当GATE出现正跳变触发脉冲时,又重新计数应用:用于硬件触发计数的场合8253门控信号的控制功能工作方式GATE为低电平或下降沿GATE为上升沿GATE为高电平方式0禁止计数-允许计数方式1-从初始值开始计数,下一个时钟后输出变低-方式2禁止计数,使输出变高从初始值开始计数允许计数方式3禁止计数,使输出变高从初始值开始计数允许计数方式4禁止计数-允许计数方式5-从初始值开始计数-8253各种工作方式的特点方式0:写入控制字后,OUT端变低,计数结束后,OUT端由低变高,该信号可以作为中断源,实现对外部事件进行计数方式1:主要用来产生单脉冲,可用于定时方式2:用来产生序列负脉冲,每个负脉冲宽度与CLK的周期相同,实现对CLK进行分频方式3:用于产生连续的方波,实现对CLK进行分频方式4和方式5的波形相同,方式4由计数值触发计数;方式5由门控信号触发计数89C51单片机8253373P0.0-P0.7ALEP2.4DQ0CSA0D0-D7GEAOEWRRDQ1A1+5VP1.76MHz30Px2154GATE0,1,2WRRDP2.5P2.6P2.7CLK0CLK1CLK28初始化8253写入控制字写入计数初值锁计数值读计数值可编程外围并行接口8255B组控制部件A组端口A(8)A组端口C上半部(4)B组端口C下半部(4)B组端口B(8)数据总线缓冲器读写控制部件A组控制部件8位内部数据总线双向数据总线D7-D0A1A0RESETRDWRCSI/OPA7-PA0I/OPC7-PC4I/OPC3-PC0I/OPB7-PB08255A外部引脚与CPU连接的引脚D0~D7:双向数据线CS:片选信号A1,A0:片内地址选择信号RD、WR:读写输入控制RESET:复位信号与外设连接的引脚PA0~PA7、PB0~PB7、PC0~PC74个端口地址:

A口、B口、C口和控制口8255PA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VccPB7PB6PB5PB4PB3信号组合实现的端口操作A1A0RDWRCS操作00010端口A→CPU01端口B→CPU10端口C→CPU00100CPU→端口A01CPU→端口B10CPU→端口C11100CPU→控制寄存器11010非法操作××××1未选中地址线方式选择控制字8255A有3种基本的工作方式,在对8255A进行初始化编程时,应向控制寄存器(即控制口)写入方式选择控制字,以规定各端口的工作方式。方式选择控制字格式下C口I/O1=输入0=输出B口I/O1=输入0=输出B组方式0=方式01=方式1上C口I/O1=输入0=输出特征位D7=1A组方式:00=方式001=方式11x=方式2A口I/O1=输入0=输出C端口置位/复位控制字

端口C的数位常用作控制或应答信号,通过对8255A的控制口写入置位/复位控制字,可使端口C的任意一个引脚的输出单独置1或单独置0.0D6D5D4D3D2D1D0D3D2D1PC位000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7标志位不用1=置位0=复位8255A的工作方式1.方式0(基本输入/输出方式)24根I/O线全部由用户支配A口、B口、C口都可工作在此方式不设置专用的联络信号线和状态位单向I/O输出有锁存器功能,输入只有A口有锁存功能。2、方式1-选通输入/输出方式输入或输出都通过应答信号实现,端口A和端口B均可工作在此方式。这时端口A或B用作数据口,端口C的部分引脚用作握手信号线与中断请求线。数据口的输入、输出数据都能锁存。1)方式1输入此时PC3~5和PC0~2分别用作A口和B口的状态和控制线,PC6和PC7用作IO线PA7~PA08PC4STBAPC5IBFAPC3INTRAPC6PC7I/O线&1oRD方式1(A口)PB7~PB08PC2STBBPC1IBFBPC0INTRB&1oRD方式1(B口)IBF-输入缓冲器满信号,高电平有效,由8255A输出的状态信号,表示输入锁存器已满,向外设指明不能再送入数据。PA7~PA08PC4STBAPC5IBFAPC3INTRAPC6PC7I/O线&1oRD方式1(A口)各应答信号的意义:STB-数据选通输入信号,低电平有效,由外设输入;INTR-中断请求信号,高电平有效。是8255A向CPU发出的请求中断信号,要求CPU服务。当IBF=1、STB=1时,INTR=1。2)方式1输出这时PC3、PC6和PC7作A口的应答信号,PC0、PC1和PC2作B口的应答信号。余下的PC4和PC5可作输入或输出线。PA7~PA08PC6ACKAPC7OBFAPC3INTRAPC4PC5I/O线&1oWR方式1输出(A口)PB7~PB08PC2ACKBPC1OBFBPC0INTRB&1oWR方式1输出(B口)ACK-外设的回答信号,低电平有效,由外设送给8255A。表示CPU送到指定端口的数据已被外设接受。各应答信号的意义:OBF-输出缓冲器满信号,输出,低电平有效。表示CPU已输出数据到指定端口。INTR-中断请求信号,高电平有效。PA7~PA08PC6ACKAPC7OBFAPC3INTRAPC4PC5I/O线&1oWR方式1输出(A口)3.方式2(双向选通输入/输出方式)只有A口可以工作于这种方式。A口既可用于输入,又可用于输出,但输入和输出过程不能同时进行。PA7~PA01&PC3PC7PC68位ACKAOBFAINTRAI/OPC2~PC0PC5PC4STBAIBFA11&ALE80318255AD7Q7G…RDRDWRWRRESETRESETCS74LS373D0P7…P0Q1Q0A1A0D7…D0EA微型打印机PA7…PA0DB7…DB0PB7…PB0PB7PC0BUSYSTB可编程接口芯片8155(a)逻辑结构(b)引脚图8155口地址分布D7D6D5D4D3D2D1D0TM2TM1IEBIEAPC2PC1PBPAC口工作方式及控制信号分布8155状态寄存器I2C总线扩展存储器目前新一代单片机中使用的串行扩展接口有Motorola的SPI,NS公司的MICROWIRE/PLUS和PHILIPS公司的I2C总线。其中I2C总线具有标准的规范以及众多带I2C接口的外围器件,形成了较为完善的串行扩展总线。I2C总线(InterICBus)是PHILIPS公司推出的两线串行多主总线。I2C总线最显著的特点是规范的完整性,结构的独立性和用户使用时的“傻瓜”化。I2C总线有严格的规范:接口的电器特性、信号时序、信号传输的定义、总线状态设置、总线管理规则及总线状态处理等。I2C总线结构I2C总线通过两根线:串行数据线SDA和串行时钟线SCL,在总线连接的器件之间传信息,采用软件寻址方式识别每个器件。I2C是多主机总线。可以由所连的多个器件分时控制总线。单片机A将信息送至B:A(主器件)寻址B(从器件);A(发送方)把数据传至B(接收方);A终止传送。单片机A从B接收信息:A(主器件)寻址B(从器件);A(接收方)接收B(发送方)数据;A终止接收。串行数据线SDA和串行时钟线SCL都是双向I/O线,通过上拉电阻接正电源电压VDD,因此电平取决

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论