单片机课件 杨风开 7章1学习资料_第1页
单片机课件 杨风开 7章1学习资料_第2页
单片机课件 杨风开 7章1学习资料_第3页
单片机课件 杨风开 7章1学习资料_第4页
单片机课件 杨风开 7章1学习资料_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

第7章MCS-51单片机硬件资源

及其应用7.1MCS-51单片机并行I/O口及其应用

8051有4个8位并行I/O接口P0、P1、P2和P3,共32条双向I/O口线。每个口的任意一位都是由锁存器(即特殊功能寄存器P0~P3)、输出驱动器和输入缓冲器组成的,但它们在结构上有显著区别,功能也有所不同。1.P0口

2.P1口

3.P2口

4.P3口

【例7-1】图7-1是8051单片机应用系统,在P1.0口线上连接了一个按键,在P1.1口线上连接了一个发光二极管。要求当按键按下时点亮发光二极管,而当按键断开时发光二极管熄灭。试编写出相应的控制程序。

ORG 0000H LJMP START ORG 0030HSTART: ORL P1,#01H MOV C,P1.0 JC NEXT SETB P1.1 SJMP START NEXT: CLRP1.1 SJMPSTART END7.1.3简单并行I/O接口的扩展在一些不太复杂的场合,常常采用TTL或CMOS电路的锁存器或三态门做简单的并行I/O接口扩展。常用的TTL芯片有74LS273、74LS244等。采用74LS244、74LS273扩展的简单并行输入/输出接口7.1.4用8255A扩展单片机的并行I/O接口INTEL8255A芯片是一种通用的可编程并行I/O接口,它采用双列直插式封装,共有40条引脚,其中I/O线24条,分成A、B两组(每组12条),允许分别编程。1.8255A的结构2.8255A的引脚及其功能3.8255A的工作方式方式0:基本的输入/输出方式,是较为常用的工作方式方式1:选通的输入/输出方式方式2:双向传输方式只需知道有三种工作方式,并掌握方式0/CSA1A0/RD/WR操作对象操作种类00001A口读端口A00101B口读端口B01001C口读端口C00010A口写端口A00110B口写端口B01010C口读端口C01110控制寄存器写控制寄存器1××××——8255A芯片和MCS-51单片机的连接【例7-2】设8255A各端口的工作方式为:A口为方式0输入;B口为方式0输出;C口的上半部为输入,C口的下半部为输出。若8255A的A口、B口、C口及控制端口地址分别为为7FFCH、7FFDH、7FFEH和7FFFH,试写出送入方式控制字、及访问A口、B口、C口的程序片段。

MOV A,#98H MOV DPTR,#7FFFH MOVX @DPTR,A MOV DPTR,#7FFCH MOVX A,@DPTR MOV DPTR,#7FFDH MOV A,#PB_DATA MOVX @DPTR,A MOV DPTR,#7FFEH MOVX A,@DPTR MOV A,#PC_DATA MOVX @DPTR,A8155(不用掌握)7.2MCS-51单片机的定时器/计数器及其应用(1)定时/计数器的结构方式寄存器TMOD控制寄存器TCON方式0方式1方式2方式3(仅T0有)【例7-3】编写计数器T0初始化程序,要求如下:工作于方式0,计数值n=1,允许中断。

MOV TMOD,#04H MOV TH0,#0FFH MOV TL0,#1FH MOV IE,#10000010B SETB TR0 【例7-4】编写计数器T1初始化程序,要求如下:工作于方式1,计数值n=100,禁止中断。

MOV TMOD,#50H MOV TH0,#0FFH MOV TL0,#9CH MOV IE,#00000000B SETB TR0 【例7-7】编程定时器T1初始化程序,要求如下:工作于方式2,定时时间为t=100,系统主频,关中断。

MOV TMOD,#20H MOV TL1,#06H MOV TH1,#06H MOV IE,#00000000B SETB TR1【例7-8】假设系统时钟频率为6MHz,要在P1.5上输出周期为50mS、占空比为50%的正方波。试分别编写用查询法和中断法实现的程序。查询法

ORG 0000H AJMP START ORG 0030HSTART: MOV TMOD,#01 SET TR0LOOP: MOV TH0,#0FEH MOV TL0,#0CHLOOP1: JNB TF0,LOOP1 CLR TF0 CPL P1.5 SJMP LOOP END中断法(书上程序有问题)

ORG 0000H AJMP MAIN ORG 000BH AJMP INT_T0 ORG 0030HMAIN: MOV SP,#60H MOV TMOD,#01 SETB TR0 SETB ET0 SETB EAHERE: AJMP HEREINIT_T0: MOV TL0,#0CH MOV TH0,#0FEH CPL P1.5 RETI7.3MCS-51单片机的串行接口及其应用MC5—51单片机内部有一个功能较强的全双工的异步通讯串行口。所谓全双工就是两台计算机之间串行接收、发送数据可同时进行;所谓异步通讯,就是收、发双方不需要用一个时钟信号来控制同步传送。要传送的串行数据是以数据帧(若干位二进制数)形式一帧一帧地发送,通过传输线由接收数据设备一帧一帧地接收。串行通讯基本概念异步通讯的基本概念通讯双方必须统一规定通讯字符的格式、发送字符位与附加信息位的次序以及发送和接收的数据传送速率。通常将对这些信息的约定叫作通讯规约或通讯协议,通讯双方只有遵守相同的通讯规约,才能使通讯能够顺利进行。在某些通用领域中,为了使不同的厂家开发的产品能够相互通讯,国家或行业规定了专门的标准通讯规约,对于特殊的应用领域,可以由用户自行规定简易的通讯规约。所谓波特率就是指串行数据传送的速率,即单位时间内传送数据的位数。波特率的单位为位/秒(BIT/S,一般记作bps)。实际上,要想通讯双方的波特率完全相同是不可能的,为了保证通讯的可靠性,通讯双方的波特率误差应不大于2.5%。奇偶校验是串行通讯中采用的一种简单的检验方法,以提高传送的正确度。所谓奇(偶)校验就是利用奇偶校验位的1,和数据中1的数目凑成奇(偶)数。二者凑成奇数的称为奇校验,凑成偶数的称为偶校验。通过比较发送端和接收端的数据“1”奇偶位数是否相符,可以大致判断数据传送过程中是否发生错误,如果奇偶位数不符,则传送过程肯定出错,所接收的数据无效,应予重新传送。起始位和停止位,发送时一般由计算机硬件电路自动生成,接收时也由计算机硬件电路自动处理,用户发送和接收数据时不必自行处理。在串行通讯中,通讯双方在发送、接收中有三种工作方式:单工方式、半双工方式和全双工方式。1)单工方式单工方式只允许通讯双方的数据按一个固定方向传送,即发送的计算机专门发送,接收的计算机专门接收。2)半双工方式半双工方式允许通讯的双方分时使用同一信道进行双向传输。当甲方发送时,乙方接收;反之,当乙方发送时,甲方接收。在空闲时,甲、乙双方一般都处于接收状态以便随时响应对方呼叫。3)全双工方式全双工方式中,通讯的甲乙双方既是发送器又是接收器,可以同时发送或接收。双方都有独立的发送器和接收器,两个方向的数据传输通道是分开的这三种数据传输方式在接收和发送控制上有差别,但发送和接收的基本工作原理是一样的。串行口结构串行口控制寄存器1、串行口控制寄存器SCONSM0SM1SM2RENTB8RB8TIRI2、电源控制寄存器PCONSMOD3、中断控制寄存器串行口的工作方式1)方式0方式0在实际系统中较少用到。串行口的工作方式0为同步移位寄存器输人输出方式,一般与外接移位寄存器相连,用以扩展并行I/O口,这种方式不适用于MCS-5l与其它计算机之间的串行通讯。方式0以8位数据为一帧,不设起始位和停止位,先发送或接收最低位,波特率是固定的,为fosc/12。方式0的帧格式如下:…D0D1D2D3D4D5D6D7…①方式0发送发送过程中,当CPU执行一条将数据写入发送缓冲器SBUF的指令时,内部电路自动产生一个正脉冲触发信号,串行口开始把SBUF中的8位数据以fosc/12的固定波特率从RXD引脚串行输出,低位在先,TXD引脚输出同步移位时钟,发送完8位数据后置“1”中断标志位TI。②方式0接收方式0接收时,REN为串行口接收允许控制位,REN=0,禁止接收;REN=1,允许接收。当向CPU串行口控制寄存器SCON写入控制字(设置为方式0,并置“1”REN位,同时RI=0),内部电路自动产生一个正脉冲触发信号,串行口开始接收数据。引脚RXD为数据输入端,TXD为移位脉冲输出端,接收器也以fosc/12的固定波特率采样RXD引脚的数据信息,当接收器接收到8位数据时置“1”中断标志TI。在方式0下,SCON中的TB8、RB8位没用,发送或接收完8位数据由硬件置“1”TI或RI中断标志位,CPU响应TI或RI中断。TI或RI标志位必须由用户软件清0。方式0时SM2位(多机通讯控制位)必须为0。2)方式1SM0、SMl两位为0、1时,串行口以方式1工作。方式1真正用于计算机系统之间的串行通讯,TXD脚和RXD脚分别用于发送和接收数据。方式1收发一帧的数据为10位,1个起始位(0),8个数据位,1个停止位(1),先发送或接收最低位。…起始位D0D1D2D3D4D5D6D7停止位…方式1时,串行口作为波特率可变的8位异步通讯接口。方式1的波特率由下式确定:式中的SMOD为PCON寄存器的最高位的值(0或1)。如果系统晶振频率为fOSC,定时器T1工作于方式2(8位自动重装入方式),定时常数为N(即计满N个机器周期数后溢出),则定时器T1溢出率由下式确定:实际应用中,往往是给定波特率,然后根据上述两式求出定时常数N①方式1发送串行口以方式1输出时,数据位由TXD引脚输出,发送一帧信息为10位,1位起始位“0”,8位数据位(低位在前)和1位停止位“1”。当CPU将一个字节数据写到SBUF时,内部电路自动产生一个正脉冲触发信号,就启动发送。②方式1接收串行口以方式1接收时,数据从RXD引脚输入。当CPU检测到起始位的负跳变时,开始接收。以上关于方式1的发送和接收过程的介绍,目的在于帮助大家了解这种方式下的串行数据传递的原理,实际应用时,数据的检测过程都是由硬件电路自动完成的,用户使用时不必进行检测操作。3)方式2串行口工作于方式2和方式3时,被定义为9位异步通讯接口。每帧数据均为11位,l位起始位“0”,8位数据位(先低位后高位),一位可由用户自行设定为“1”或“0”的第9位数据和一位停止位“1”。…起始位D0D1D

温馨提示

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

评论

0/150

提交评论