微机原理与接口技术C8051F_第1页
微机原理与接口技术C8051F_第2页
微机原理与接口技术C8051F_第3页
微机原理与接口技术C8051F_第4页
微机原理与接口技术C8051F_第5页
已阅读5页,还剩200页未读 继续免费阅读

下载本文档

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

文档简介

微机原理与接口技术叶选沈阳建筑大学信息与控制工程学院P3口的第二功能端口的负载能力及接口要求

1.P0口的输出级的每一位可驱动8个LSTTL门。2.P1口~P3口的输出级的每一位可驱动4个LSTTL门电路输入。3.CHMOS端口只能提供几个mA的输出电流。4.P0~P3口都是准双向I/O口,作输入时,必须先在相应端口锁存器上写“1”,使驱动FET截止。系统复位时,端口锁存器为全“1”。I/O端口应用举例I/O端口应用举例功能:上电复位所有灯灭。K7闭合,即P3.0为低电平时,将P2.0~P2.3口内容送P1.0~P1.3口输出;将P3.4~P3.6口内容送P1.4~P1.6口输出;P1.7口输出高电平,即LED7灭。K7断开,即P3.0为高电平,P1.7口输出低电平,即LED7亮;P1.0~P1.6全部输出高电平,即LED0~LED6灭。

开始复

位P3.0=1?屏蔽P2口的高4位→(R1)屏蔽P3口的低4位→(A)(A)∨(R1)→(A)将(A)的最高位置1(A)→(P1)#7FH→(P1)所有灯灭PI0PI1YNI/O端口应用举例并行接口设计性实验

实验第一部分并行接口设计性实验并行接口设计性实验并行接口设计性实验并行接口设计性实验实验第一部分(1)当P1.7为1时,发光二级管由LED1→LED6依次循环闪亮(灯亮时间通过调用监控程序中的延时子程序LO36设定)。并行接口设计性实验

实验第一部分并行接口设计性实验实验第一部分延时子程序已编制好,存放在Dais目录的Test文件夹内,可复制在实验程序后面使用,调用前先将延时时间常数送入R6工作寄存器。延时子程序LO36LO36:MOVR7,#00HLO35:DJNZR7,LO35DJNZR6,LO36RET并行接口设计性实验实验第一部分(2)当P1.7为0时,发光二级管LED1~LED6显示开关K1~K6的设置情况(开关闭合,发光二极管亮;开关断开,发光二极管灭)。并行接口设计性实验实验第一部分并行接口设计性实验实验第二部分①利用实验系统的并行接口电路、开关和发光二级管等,设计出彩灯控制器的实验电路,接好线路。要经过实验指导教师检查过线路连线后,再开始进行实验。并行接口设计性实验实验第二部分②设计要求:自行设计各种彩灯闪亮方式,彩灯闪亮方式应不少于两种,并可控制。要求新颖、变化多样、有创意。③编制彩灯控制器程序。④调试程序达到控制彩灯闪烁的目的。一、定时/计数器0和1的模式0二、定时/计数器0和1的模式1三、定时/计数器0和1的模式2四、定时/计数器0的模式3定时/计数器0、1的模式控制寄存器TMOD

注:复位时各位为零。

定时/计数器0、1的状态控制寄存器TCON

注:复位时各位为零。

例1:在单片机的P1.7端接有一个发光二极管LED,要求利用定时控制LED亮一秒,灭一秒,周而复始。LED100ms100ms例2:利用定时器产生1ms定时,并使P1.0引脚输出周期为2ms的方波,设单片机晶振频率为6MHz。

定时1ms的初值:机器周期=12÷6MHz=2μs计算T0的初值X:(213-X)×2μs=1msX=7692=1E0CH=11110000

01100B8位5位例3:利用定时/计数器T1门控信号GATE功能,测量引脚上正脉冲信号的宽度(单位为机器周期)。

并行通信串行通信通信方式

1.单工方式

通信方式2.半双工方式

通信方式3.全双工方式

同步方式

1.异步传送方式

同步传送方式2.同步传送方式

计算机通信是一种数字信号的通信

采用基带数据传输

采用调制解调器传送

采用调制解调器传送采用电流环传送

串行口控制寄存器SCON

D7D6D5D4D3D2D1D0

SM0SM1SM2RENTB8RB8TIRI注:复位时各位为零。

串行口控制寄存器SCON1.SM0、SM1:串行口工作方式选择位SM0SM1方式功能波特率000110110123同步移位寄存器8位异步接收发送器9位异步接收发送器9位异步接收发送器fOSC/12可变(T1溢出率)fOSC/64或fOSC/32可变(T1溢出率)串行口控制寄存器SCON

D7D6D5D4D3D2D1D0

SM0SM1SM2RENTB8RB8TIRI注:复位时各位为零。

串行口控制寄存器SCON2.REN:允许串行接收控制位

若REN=0,则禁止接收;若REN=1,则允许接收

串行口控制寄存器SCON

D7D6D5D4D3D2D1D0

SM0SM1SM2RENTB8RB8TIRI注:复位时各位为零。

串行口控制寄存器SCON3.TB8:要发送的第9位数据位

4.RB8:接收到的第9位数据位

串行口控制寄存器SCON

D7D6D5D4D3D2D1D0

SM0SM1SM2RENTB8RB8TIRI注:复位时各位为零。

串行口控制寄存器SCON

5.TI:发送中断标志位方式0:当发送第8位结束后置位TI其它方式:发送到停止位的中间便置位TI

6.RI:接收中断标志位方式0:当接收到的第8位结束后,置位RI其它方式:接收到停止位的中间便置位RI

串行口控制寄存器SCON

D7D6D5D4D3D2D1D0

SM0SM1SM2RENTB8RB8TIRI注:复位时各位为零。

串行口控制寄存器SCON

7.SM2:多机通信控制位在方式0时,SM2必须为0。

在方式2和方式3中当SM2=1时,接收到的数据中若:0,不接收数据,RI=0,不产生中断请求RB8位=1,接收数据,使RI=1,产生中断请求当SM2=0时,接收到的数据中0RB8位=都接收数据,使RI=1,产生中断请求1电源控制寄存器PCON

D7D6D5D4D3D2D1D0SMOD87H注:复位时各位状态为0XXXXXXXB。串行口数据缓冲器SBUF

串行口工作方式0发送串行口工作方式0接收串行口工作方式1发送串行口工作方式1接收例:编制发送方发送一个数据字节及其奇偶校验位的程序。

串行口方式设置:SM0SM1SM2RENTB8RB8TIRI10000000例:编制接收方设法取出奇偶校验位进行核对,相应的接收程序。

串行口方式设置:SM0SM1SM2RENTB8RB8TIRI10010000一、方式0的波特率

串行口方式0的波特率=fosc/12

二、方式2的波特率

串行口方式2的波特率=fosc×2SMOD/64

三、方式1、方式3的波特率

式中:X——T1的初值

增强型MCS-51系列单片机的波特率

波特率(方式1、方式3)

式中:(RCAP2H,RCAP2L)——16位无符号整数。

例1:串行口的方式0用于键盘和显示器的控制。

例1:串行口的方式0用于键盘和显示器的控制。显示器段码字形abcdefgDP代码(H)000000011031100111119F200100101253000011010D410011001995010010014960100000141例1:串行口的方式0用于键盘和显示器的控制。串行口实验

串行口实验

编程要求:开机运行,数码管LED全部暗。用开发机的数字键盘输入数字,数码管由左向右依次显示输入的数字。当输入的数字位数超出4个时,显示最后输入的4个数字。程序由显示子程序、键盘扫描子程序KEY(延时子程序已编制好,存放在Dais目录的Test文件夹内,可复制在实验程序后面使用)和主程序组成。串行口实验主程序的任务:设置堆栈,将串行口编程为方式0,处于发送状态,并使4个数码管全暗;调用键盘扫描子程序KEY,等待键盘输入数字;调用显示子程序,将从键盘输入的数字显示出来;等待输入新的数字和进行显示。例2:用串行口方式1建立点对点的异步通信模型

①两片8051的串行口直接相连

例2:用串行口方式1建立点对点的异步通信模型②采用RS-232—C标准接口连接

通信协议通信协议例3:利用串行通讯方式2、方式3的第9个数据位,进行数据通讯。

单片机系统多机通信是利用SM2的多机通信机制来实现的,主要包括以下几个步骤:从机设置本机的SM2=1,使各从机处于接收地址(第9位为1)的状态,各从机有不同的地址号;主机以第9位为1的地址形式发送某从机地址号;单片机系统多机通信是利用SM2的多机通信机制来实现的,主要包括以下几个步骤:3.各从机收到地址号时与本机设定的地址号进行比较,地址号相同的从机使SM2=0(接收数据状态),其它从机SM2=1保持不变;单片机系统多机通信是利用SM2的多机通信机制来实现的,主要包括以下几个步骤:被寻址从机向主机发送本机地址号及状态,以示从机可否进行通信。主机确认后可以以数据方式(第9位改为0)与被寻址从机进行数据交换。

单片机系统多机通信是利用SM2的多机通信机制来实现的,主要包括以下几个步骤:若主机收到错误信息,发复位信号(可发任意数据,但第9位为1应保持不变)。从机收到复位信号(第9位为1)后,重置SM2=1。中断入口地址

中断源中断入口地址外部中断INT00003H定时器中断T0000BH外部中断INT10013H定时器中断T1001BH串行口中断0023H

复位时程序入口地址0000H

TCON定时/计数器控制寄存器

(与中断有关的位)

注:复位时各位为零。

SCON串行口控制寄存器

(与中断有关位)

注:复位时各位为零。

IE中断允许寄存器

注:复位时各位状态0XX00000B(禁止一切中断)

IP中断优先级寄存器

注:复位时各位状态为:XXX00000B。采用边沿触发的外部中断实验响应中断期间单片机自动完成的动作:

1.将相应的优先级有效触发器置位(禁止同级和低级中断)。2.清除中断请求标志(此处,令IE0=0)。3.执行一个硬件子程序

中断硬件子程序把PC的内容(断点处的地址)压入堆栈把中断入口地址(此处为0003H)装入PC由中断入口地址跳到中断服务程序——响应中断。

响应中断期间单片机自动完成的动作:4.完成中断服务程序执行RETI指令将优先级有效触发器复位(允许同级和低级中断)把保存在堆栈的断点地址重新装入PC

退出中断,继续执行主程序。采用电平触发方式的外部中断多级中断的优先级管理

多级中断的执行过程设有低优先级的中断服务程序正在执行中,现有高优先级的中断申请产生,CPU会自动把低优先级服务程序的下一条指令的地址(PC指针的当前值)入栈保护,把高优先级中断服务程序的入口地址送入PC,使CPU转而进入高优先级服务程序执行。待执行完高优先级服务程序后,执行RETI中断返回指令,被中断的低优先级服务程序的地址出栈送入PC,使得CPU继续为低优先级服务程序服务,直到执行RETI返回到主程序继续执行。

中断优先级的排队链路

中断举例:单步操作

MCS—51单片机的扩展总线

D触发器74LS273

锁存器74LS373和8282EPROM程序存储器EPROM程序存储器脚方式VPPD0~D7读VLVLVHVCC数据输出维持VHXXVCC高阻编程VLVHVLVPP数据输入编程校验VLVLVHVPP数据输出编程禁止VHXXVPP高阻2764方式选择2864方式选择脚方式D0~D7读VLVLVH数据输出维持VHXX高阻编程VLVHVL数据输入编程校验VLVLVH数据输出编程禁止VHXX高阻WE程序存储器的操作时序

扩展2KB程序存储器扩展一片4KB程序存储器扩展一片8KB程序存储器RAM数据存储器6116的工作方式

脚功能写VLVLVHD0~D7上内容写入A0~A10对应单元读VLVHVLA0~A10对应单内容输出到D0~D7非选VHXXD0~D7呈高阻非选XVHVHD0~D7呈高阻方式CEWEOERAM数据存储器6264的工作方式

脚功能写VHVLVLVHD0~D7上内容写入A0~A12对应单元读VHVLVHVLA0~A12对应单内容输出到D0~D7非选X/VLVH/XXXD0~D7呈高阻非选XXVHVHD0~D7呈高阻CE1WEOE方式CE2从外部数据存储器读数的时序

扩展的基本方法扩展的基本方法

扩展一片8KB数据存储器1.线选法寻址扩展存储器2.译码法寻址扩展存储器139的真值表

2.译码法寻址扩展存储器1.用74LS2738D触发器作扩展输出

74LS273逻辑功能表输入输出CLRCLKDQVLXXVLVHVHVHVHVLVL1.用74LS2738D触发器作扩展输出2.用三态门作输入口

3.用串行口扩展并行输出口

3.用串行口扩展并行输入口

用专用芯片扩展接口

一些常用的扩展芯片:8255可编程的并行接口片8251可编程的通信接口8273可编程的HDLC/SDLC控制器8253可编程时间间隔定时器8279/78可编程键盘/显示接口(64/128键)8295点阵式打印机控制器8255芯片的逻辑结构

8255口地址选择

单片机与8255的连接8255方式0——基本输入/输出方式PA口PB口可分别设定为输入/输出口PC口(高4位)PC口(低4位)8255方式1——选通输入/输出方式8255方式1——选通输入方式PC0——INTRB(B口中断请求)1:有中断请求PC1——IBFB(B口输入缓冲器满)1:收到外设送来的数据PC2——STBB(B口选通)0:外设将数据送入锁器8255方式1——选通输入方式PC3——INTRA(A口中断请求)1:有中断请求PC4——STBA(A口选通)0:外设将数据送入锁器PC5——IBFA(A口输入缓冲器满)1:收到外设送来的数据8255方式1——选通输入方式PC6——I/OPC7——I/O

8255方式1——选通输出方式PC0——INTRB(B口中断请求)1:有中断请求PC1——OBFB(B口输出缓冲器满)0:CPU向口写入数据PC2——ACKB(B口响应输入)0:数据已由外设取走8255方式1——选通输出方式PC3——INTRA(A口中断请求)1:有中断请求PC6——ACKA(A口响应输入)0:数据已由外设取走PC7——OBFA(A口输出缓冲器满)0:CPU向口写入数据8255方式1——选通输出方式PC4——I/OPC5——I/O8255方式2——双向总线方式A口为8位双向总线口,C口的PC3~PC7用作为输入/输出的控制同步信号B口和C口的PC0~PC2只可为方式0或方式1工作

8255方式2——双向总线方式PC3——INTRA(A口中断请求)1:请求中断PC4——STBA(A口选通)0:外设已将数据送入锁存器PC5——IBFA(A口输入缓冲器满)1:数据还未被CPU读取8255方式2——双向总线方式PC6——ACKA(A口响应信号)0:外设数据被外设取走PC7——OBFA(A口输出缓冲器满)0:CPU把数据输出至A口

8255的控制字寄存器

1.方式选择控制字2.C口置位/复位控制字

用8255构成一个EEPROM2864高速写入编程器用8255构成一个EEPROM2864高速写入编程器

2864方式选择脚方式D0~D7读VLVLVH数据输出维持VHXX高阻编程VLVHVL数据输入编程校验VLVLVH数据输出编程禁止VHXX高阻WE8255的控制字

10000000方式置方式0A口C口高4位方式0B口C口低4位标志输出输出

输出输出└A─组┘└

温馨提示

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

评论

0/150

提交评论