芯片与其编程方法_第1页
芯片与其编程方法_第2页
芯片与其编程方法_第3页
芯片与其编程方法_第4页
芯片与其编程方法_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

输入/输出接口扩展什么是输入/输出扩展MCS-51单片机为什么要扩展常用的扩展方法扩展实际应用当前1页,总共59页。什么是扩展单片机本身资源不足以满足应用需求的情况下,必须借助外部器件对系统进行扩展主要介绍:并口、RAM、ROM、键盘、LED、DAC、ADC

等接口的扩展与应用,其中涉及到6264、2764、74LS373、74LS244、74LS245、8255、8155、8279、8253、DAC0832、ADC0809

等芯片。当前2页,总共59页。问题的提出MCS-51系列单片机内部有4个双向的8位并行I/O端口:

P0、P1、P2和P3口。在实际的应用系统中,P0、P2、P3口往往用来代替系统总线使用,数据口仅剩下P1口了。另外,单片机内部I/O口的功能也过于简单,只有数据锁存和缓冲功能,而没有状态寄存和命令寄存功能,难以满足复杂的I/O操作的要求。鉴于单片机的I/O资源比较有限,在实际应用中不得不使用扩展的方法,以增加I/O口的数量,强化I/O的功能。当前3页,总共59页。常用的I/O扩展方法常用的I/O扩展有以下两种形式:简单I/O接口芯片的扩展可编程I/O接口电路的扩展当前4页,总共59页。常用的I/O扩展方法简单芯片:是指那些虽具有数据缓冲或锁存功能,但自身仅有数据的输入或输出及选通端或时钟端,却没有地址线和读写控制线,如采用TTL或CMOS数字集成电路构成的三态门、寄存器、三态缓冲寄存器等中小规模的集成电路芯片。可编程逻辑器件:不仅具有数据的输入或输出、具有选通端或时钟端,而且还具有地址线和读写控制线的芯片,他们一般具有片内的状态字寄存器、命令字寄存器,允许通过软件编程来改变它的接口功能或状态。如:Intel8255、8155、8253、8279.当前5页,总共59页。简单I/O接口芯片的扩展简单的I/O口扩展通常是采用TTL或CMOS电路锁存器、三态门等作为扩展芯片(74LS244、74LS245、74LS273、74LS373、74LS377等),通过P0口来实现扩展的一种方案。它具有电路简单、成本低、配置灵活的特点。简单的I/O口扩展主要包括:缓冲器扩展输入口(三态门:74LS244、74LS245等)输入接口的主要功能:解决数据输入的缓冲问题,如74ls244(具有三态缓冲功能,这样才可以和数据总线相连)。锁存器扩展输出口(锁存器:74LS273、74LS373、74LS377等)输出接口的主要功能:进行数据的保持(数据锁存)。当前6页,总共59页。概述一、I/O系统的组成I/O系统I/O设备输入:键盘、磁盘、光盘、扫描仪…输出:显示、打印机、笔绘仪、磁盘…I/O接口:8155、8255、8253、8251、8279…I/O管理部件:IOP8089、DMAC8237I/O软件BIOS(基本I/O系统)CPU若没有一个强大的I/O系统的支持,CPU的高速度高性能就发挥不出来。当前7页,总共59页。苏青制作常用的接口器件有:8255:可编程通用并行接口电路8253/8254:可编程定时/计数器8155/8156:可编程多功能扩展芯片8251:可编程串行接口电路8279:可编程键盘显示接口电路当前8页,总共59页。Intel8155是一个具有RAM、I/O和计数器的通用可编程接口多功能芯片。其具有的资源为

256B的静态RAM;两个可编程的8位并行I/O口PA和PB;一个可编程的6位并行I/O口PC;一个可编程14位减计数器TC;8位地址锁存器。可编程多功能芯片8155的扩展当前9页,总共59页。定时/计数器输入端PA1PA2PA3PA4PA5PA6PA7PA0PB1PB2PB3PB4PB5PB6PB7PB0PC1PC2PC3PC4PC5PC0AD1AD2AD3AD4AD5AD6AD7AD0TIMEINTIMEOUTALEIO/MRESETRDWRCE芯片引脚功能:RAM及IO选择地址锁存线三态地址/数据复用线端口A,I/O线端口B,I/O线端口C,I/O线读选通信号线写选通信号线片选线定时/计数器输出端复位端1IO0MCPU外设当前10页,总共59页。CBA256字节静态RAM14位定时计数器TIMERINTIMEROUTVCC(+5V)VSS(GND)PA0~PA7IO/MCEALERDWRRESETAD0~AD7PB0~PB7PC0~PC78155的内部结构当前11页,总共59页。8155各引脚的功能为:地址/数据线AD0~AD7(8条):是低8位地址线和数据线的共用输入总线,常和单片机的P0口相连,用于分时传送地址和数据;PA0~PA7、PB0~PB7:为A、B口线,用于和外设之间传递数据;PC0~PC5为C端口线,既可与外设传送数据,也可以作为A、B口的控制联络线;CS:片选线,低电平有效。8155的各引脚的功能当前12页,总共59页。8155的各引脚的功能RESET:复位线,通常与单片机的复位端相连。ALE:地址锁存线,高电平有效。IO/M:RAM或I/O口的选择线。当为0时,选中8155的256B

RAM;当为1时,选中8155片内3个I/O端口以及命令/状态寄存器和定时/计数器。RD和WR:读/写线,控制8155的读、写操作。TMRIN(TI):定时/计数器的脉冲输入端。TMROUT(TO):定时/计数器的输出信号端。VCC:电源端。GND:接地端。当前13页,总共59页。8155当IO/M为0时,单片机对8155的RAM进行操作,共256B,低八位的地址为:00H—0FFH。8155当IO/M为1时,单片机对8155的I/O口进行操作。8155的RAM和I/O口地址编码当前14页,总共59页。芯片8155的I/O口和定时器/计数器的工作方式可以通过对8155的命令寄存器写入控制字来实现。

8155的命令寄存器和状态寄存器使用同一个地址。

8155的命令字

命令字主要规定了8155的I/O口和定时器的工作方式。

8255的状态字

状态字的内容包含8155的I/O口的工作状态标志。8155的命令字和状态字当前15页,总共59页。TM1TM2IEBIEAPC2PC1PAPAPBA口方式B口方式B口A口计数器方式00:空操作01:停止计数10:计满后停止11:开始计数0:输入1:输出0:禁止中断1:允许中断00110110

方式1:A、B口基本I/O;C口输入方式2:A、B口基本I/O;C口输出方式3:A口选通I/O;B口基本I/O方式4:A、B口选通I/O8155的命令字格式当前16页,总共59页。8155的命令字格式

D7

D6

D5

D4D3D2

D1D0TM2

TM1IEBIEAPC2

PC1PB

PA0输入1输出1

开中断D0PAD1PBD3D20输入1输出PC2PC1A、B、C口为基本I/O口A、B入/出由D1D0确定,C口入00A、B、C口为基本I/O口A、B入/出由D1D0确定,C口出1101A口为选通方式,B口为基本I/OPC0~PC2口为PA口联络线PC3~PC5为基本I/O口10A口、B口为选通I/OPC0~PC2口为PA口联络线PC3~PC5为PB口联络线0关中断00空操作01停止计数10时间到,停止计数11

置入方式控制字和计数初值后,立即启动计数。若正在计数,溢出后则按新的方式和初值计数。由CPU写入当前17页,总共59页。

基本I/O方式:联络线由程序指定,对计数器输入输出不起控制作用,没有中断能力,输出联络线由软件程序来控制。选通I/O方式:由PC口的低三位作联络线使用,其余位作I/O线;输入联络线可以起选通数据锁存作用;中断时有中断请求信号产生;各个联络线为:INTRA:中断请求输出标志。BFA:PA口缓冲器/空输出信号。STBA:数据选通输入信号。8155的I/O的工作方式当前18页,总共59页。1,8155基本I/O方式8I/O8I/O6I/O外设CPU8155PAPBPCAD0~AD7WRRDALEIO/MCE8基本输入时序MOVXA,@DPTRRDDB数据有效WR基本输出时序MOVX@DPTR,A当前19页,总共59页。88端口数据线8端口数据线AINTRABFASTBBINTRBBFBSTB至CPU至外设自外设至CPU至外设自外设8155PAPBAD0~AD7WRRDALEIO/MCEPC0PC1PC2PC3PC4PC52,8155选通I/O方式逻辑结构CPUINPUT端口数据BFINTRRDSTBMOVXA,@DPTR缓冲器满缓冲器空选通输入时序:A口外设B口外设打入缓冲器联络线联络线CPU外设当前20页,总共59页。88端口数据线8端口数据线AINTRABFASTBBINTRBBFBSTB至CPU至外设自外设至CPU至外设自外设8155PAPBAD0~AD7WRRDALEIO/MCEPC0PC1PC2PC3PC4PC5逻辑结构

CPU选通输出时序:A口外设B口外设OUTPUT端口数据BFINTRWRSTBMOVX@DPTR,A缓冲器满缓冲器空MOVX@DPTR,A端口数据打入外设带联络信号的应答式输出时序CPU外设当前21页,总共59页。TM1TM2IEBIEAPC2PC1PAPAPBA口方式B口方式B口A口计数器方式00:空操作01:停止计数10:计满后停止11:开始计数0:输入1:输出0:禁止中断1:允许中断00110110

方式1:A、B口基本I/O;C口输入方式2:A、B口基本I/O;C口输出方式3:A口选通I/O;B口基本I/O方式4:A、B口选通I/O8155的状态字格式当前22页,总共59页。0

无中断1

有中断

D7D6

D5

D4

D3

D2

D1

D00

空TIMER1满未用中断标志由CPU读出AAAINTRBFINTEBBBINTRBFINTE缓冲器满空标志中断允许0

关中断1

开中断定时器中断标志1

计数溢出时0

读出状态或复位时“只读不写”8155的状态字格式当前23页,总共59页。8155片内的定时器/计数器是一个14位的减计数器。计数器分为高6位和低8位寄存器,它的计数初值有程序预置。它的格式为:8155的定时器/计数器TIMERIN:定时器时钟输入端TIMEROUT:为定时器输出,输出各种波形可接系统时钟,作定时器也可接外部输入,作计数器当前24页,总共59页。高字节寄存器低字节寄存器8155的定时器/计数器(M2和M1是工作方式码,T0—T13为计数器的初值

)当前25页,总共59页。M2M1方式波形00011011单次方波连续方波单个脉冲连续脉冲8155定时器/计数器四种操作方式和输出波形当前26页,总共59页。8155内部定时器定时器14位计数器由04H和05H两个地址组成。输出四种波形:a单次方波b连续方波c单次脉冲d连续脉冲e连续方波若常数为奇数,则方波不对称。例如954当前27页,总共59页。首先将计数常数及定时器输出方式送入定时器口计数常数在0002H~3FFFH之间

D7

D6

D5

D4D3

D2D1

D0T13T12

T11T10T9

T8

T7T6T5T4T3T2T1T000单次方波01连续方波10单次脉冲11连续脉冲

D7D6

D5

D4D3

D2D1

D004H计数器低8位TL05H计数器高6位TH工作方式M2M1地址04H地址05H8155内部定时器当前28页,总共59页。MCS-51与8155的接口方法和应用实例例1:8031与8155接口并确定RAM和I/O口地址8031的P0.0~P0.7与8155的AD0~AD7相连51单片机与8155接口连接,不需要任何附加逻辑即可增加:256BRAM14位定时器22根

I/O

口线8031的P2.7与

8155

的CE相连8031的P2.0与8155的IO/M相连当前29页,总共59页。上页下页回目录P2.7P2.0CEP00P01P02P03P04P05P06P07AD0AD1AD2AD3AD4AD5AD6AD7IO/M80318155ALEALE当前30页,总共59页。地址分配:7F00H命令状态寄存器7F01HPA口7F02HPB口7F03HPC口7F04H定时器低8位7F05H定时器高6位7E00H~7EFFH上页下页回目录P2.7••••••P2.0P0.7••••••P0.000××××××RAM0000000000000001••••••••11111111CEIO/M111111AD7••••••AD08155RAM

地址为:地址00H~FFH803181557E01I/O000命令状态口001A口010B口011C口100TL8101TH61111117F8155I/O地址为:当前31页,总共59页。

①将8155片内RAM的7E30H单元内容读入A累加器中程序段如下:也可以:MOV

DPTR,#7E30HMOVXA,@DPTR例2当前32页,总共59页。设A中的数据为5,并写入8155的RAM中7EF0H单元程序段如下:例3方法2???当前33页,总共59页。例4

将A口定义为基本输入方式,B口定义为基本输出方式,

C口定义为输入方式,定时器作为方波发生器对输入脉冲24分频(注意8155定时器最高计数频率为4MHz),读A口数据送B口输出。则8155I/O口初始化程序如下:

TM2

TM1IEBIEAPC2

PC1PB

PA命令字010000110C2H当前34页,总共59页。MOVDPTR,#7F04H;指向定时器低8位MOVA,#18H ;计数常数18H=24MOVX@DPTR,A ;送计数常数INC DPTR ;指向定时器高8位MOVA,#40H ;设定时器输出连续方波MOVX@DPTR,A ;送定时器高8位M2M1=01MOVDPTR,#7F00H;指向命令口MOVA,#0C2H ;命令字设为A口,C口入

;B口出,启动T/CMOVX@DPTR,A ;并启动定时器MOVDPTR,#7F01H;指向A口MOVXA,@DPTR ;读A口数据INC DPTR ;指向B口MOVX@DPTR,A ;送B口输出初始化程序如下当前35页,总共59页。

程序为:

………………..

RAMWR:MOVR0,#30HMOVDPTR,#7E00H

MOVR2,#50

RAMW:MOVA,@R0

MOVX@DPTR,A

INCR0

INCDPTRDJNZR2,RAMW

…思考:如果要把8155RAM中,从地址为7E00H开始的50个数据存入单片机的30H开始的数据存储单元中,应该如何处理?假定在MCS-51单片机的内部RAM中,从30H开始存放一组数据,字节数为50,要求将该组数据存入8155RAM中,起始地址为7E00H。例5当前36页,总共59页。程序为:

ORG0000H

MOVDPTR,#7E00H

MOVA,#02H

MOV@DPTR,A

LOOP:MOVDPTR,#7F01H

MOVXA,@DPTR

INCDPTR

MOVX@DPTR,A

SJMPLOOP

END写命令字,送入命令/状态寄存器8155的A口数据送入ACCACC数据写入8155的B口循环执行假定8155的PA口接8个乒乓开关,8155的PB口接8个指示灯,要求PB显示PA口的开关状态。(PA和PB为基本I/O方式)。例6当前37页,总共59页。9.3串行通信的基本概念9.3.1串行数据传送方式9.3.2波特率和发送/接收时钟9.3.3串行通信的基本方式9.3.4信号调制与解调9.3.5串行接口的任务当前38页,总共59页。9.3.1串行数据传送方式1.全双工2.半双工

当前39页,总共59页。1.全双工当数据的发送和接收分流,分别由两根不同的传输线传送时,通信双方都能在同一时刻进行发送和接收操作,这样的传送方式就是全双工(FullDuplex)制。发送器发送器接收器接收器B站A站图9-9全双工方式示意图当前40页,总共59页。2.半双工若使用同一根传输线既作接收又作发送,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据,这样的传送方式就是半双工(HalfDuplex)制。

A站B站发送器发送器接收器接收器图9-10半双工方式示意图当前41页,总共59页。9.3.2波特率和发送/接收时钟1.波特率2.发送/接收时钟

当前42页,总共59页。并行通信中,传输速度以每秒传输的字节(B/s)表示。在串行通信中,传输速率用波特率来表示。所谓波特率,是指单位时间内传送二进制数据的位数,单位为位/秒(b/s)。每秒钟所传输的字符数(字符速率)和波特率是两种概念

1.波特率当前43页,总共59页。2.发送/接收时钟发送端使用的用于决定数据位宽度的时钟称为发送时钟。接收端使用的用于测定每一位输入数据位宽度的时钟称为接收时钟。接收/发送时钟频率=n·波特率(n=1,16,32,64)当前44页,总共59页。9.3.3串行通信的基本方式1.异步通信2.同步通信

当前45页,总共59页。1.异步通信00/10/10/1…

0/10/10/111100/1起始位奇偶校验位(可有可无)5~8位数据位(先送最低位)LSBMSB空闲位停止位(1,11/2或2位)第n个字符(8~12位)第n+1个字符图9-11异步串行通信格式当前46页,总共59页。2.同步通信同步通信的特点是不仅字符内部保持“同步”,而且字符与字符之间也是同步的。在这种通信方式下,收/发双方必须建立准确的位定时信号,也就是收/发时钟的频率必须严格地一致。同步通信在数据格式上也与异步通信不同,每个字符不增加任何附加位,而是连续发送。当前47页,总共59页。9.3.4信号调制与解调MODEM与计算机连接的方式分成内接式和外接式。MODEM的调制方式有3种:振幅调制(ASK):以两种振幅的大小来区别数字信号“0”与“1”;频率调制(FSK):利用两个固定的频率来分别代表数字信号“0”与“1”;相位调制(PSK):利用相位的差异来区别信号,当相位差180º时代表位值的变化。当前48页,总共59页。9.3.5串行接口的任务1.进行串-并转换2.实现串行数据格式化

3.可靠性检验

4.实施接口与通信设备之间的联络控制

当前49页,总共59页。9.4可编程串行接口8251A9.4.18251A的基本性能9.4.28251A内部结构及引脚功能9.4.38251A的控制字和状态字9.4.48251A的初始化编程9.4.58251A应用举例当前50页,总共59页。9.4.18251A的基本性能1.通过初始化编程,可以工作在同步通信或异步通信方式。2.同步方式时,可设定为内同步或外同步两种做法,同步字符允许采用单同步字符和双同步字符,由用户选定。3.异步方式时,数据位仍可在5~8位范围内选用,用1位作为奇偶校验位或不设置奇偶位。4.8251A具有奇偶校验、帧校验和溢出校验三种字符数据的校验方式,校验位的插入、检查和出错标志的建立均由芯片自动完成。5.8251A能与MODEM直接相连,接收和发送的数据均可存放在各自的缓冲器中,以便实现全双工通信。

当前51页,总共59页。9.4.28251A内部结构及引脚功能8251A内部结构8251A引脚功能当前52页,总共59页。1.8251A内部结构RESET状态缓冲器发送数据/命令缓冲器接收数据缓冲器外部数据总线内部数据总线读/写控制逻辑调制控制发送器(P→S)发送(控制)接收(控制)接收器(S→P)CLKC/DRDCSWRTxDTxRDYTxETxCDTRDSRRTSCTSRxCRxCRxRDYSYNDET00001CSC/DRDWR0101×0011×1100×功能CPU从8251A读数据CPU从8251A读状态CPU写数据到8251ACPU写命令到8251AUSART总线浮空(无操作)表9-28251A读/写操作当前53页,总共59页。2.8251A的引脚功能56789101112123428272625242322212019181714131615C/DRDWRCSTxCD4D7D6D5GNDRxDD3D2RxRDYD1D0Vcc(+5V)RxCDTRRTSDSRCTSRESETCLKTxDTxESYNDETTxRDY8251A当前54页,总共59页。9.4.38251A的控制字和状态字1.方式控制字2.操作控制字3.状态字

当前55页,总共59页。1.方式控制字D7D6D5D4D3D2D1D0

S2S1EPPEN

温馨提示

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

评论

0/150

提交评论