《嵌入式系统应用》课件:单片机4 第四章 功能单元.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《嵌入式系统应用》课件:单片机4 第四章 功能单元.ppt》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式系统应用 嵌入式系统应用课件:单片机4 第四章 功能单元 嵌入式 系统 应用 课件 单片机 第四 功能 单元
- 资源描述:
-
1、单片机原理及应用北京化工大学北京化工大学信息科学与技术学院信息科学与技术学院主讲教师:郭青主讲教师:郭青E-mail: 第四章第四章80C51单片机的功能单元单片机的功能单元主要内容主要内容u并行并行I/OI/O接口接口u定时定时/ /计数器计数器u串行通讯接口串行通讯接口u中断系统中断系统概述:概述:4个并行个并行I/O端口端口P0、P1、P2、P3,共,共32根根I/O线线每一个口都有一个每一个口都有一个8位的锁存器,复位后,初态位的锁存器,复位后,初态为为1,即,即FFH4个个I/O端口分别对应于内部端口分别对应于内部RAM的四个特殊功的四个特殊功能寄存器能寄存器4.1 并行I/O接口一
2、、内部结构一、内部结构(以(以P1口为例)口为例)DCL P1X锁存器锁存器QQ读锁存器读锁存器内部总线内部总线写锁存器写锁存器读引脚读引脚输入缓冲器输入缓冲器BUF1Vcc R(上拉电阻)(上拉电阻)P1X引脚引脚特点:输出锁存,输入缓冲特点:输出锁存,输入缓冲输入缓冲器输入缓冲器BUF2二、第一功能:通用二、第一功能:通用I/OI/O口口双向通道,即可输入又可输出双向通道,即可输入又可输出可作可作8位并行位并行I/O口,每一位也可单独使用,应用位口,每一位也可单独使用,应用位操作指令操作指令1、用作输出口、用作输出口可直接与外设相连,不必外加锁存器可直接与外设相连,不必外加锁存器输出指令:
3、输出指令:MOV P1,A ;MOV P1,RnMOV P1,#data ;MOV P1,RiMOV P1,direct字节寻址字节寻址MOV P1.X , C位操作位操作P10位位DCL P1X锁存器锁存器QQ读锁存器读锁存器内部总线内部总线写锁存器写锁存器读引脚读引脚输入缓冲器输入缓冲器Vcc R(上拉电阻)(上拉电阻)P1X引脚引脚101驱动能力:驱动能力:P1、P2、P3可驱动可驱动4个个LSTTL负载负载 P0可驱动可驱动8个个LSTTL负载负载1例:例: MOV P1,#0FH输入缓冲器输入缓冲器2、用作输入口、用作输入口两种工作方式:两种工作方式:读锁存器读锁存器读引脚读引脚1)
4、读锁存器)读锁存器 将端口锁存器的内容读入内部总线,经过运算和变换,再将端口锁存器的内容读入内部总线,经过运算和变换,再写回到端口锁存器。写回到端口锁存器。称为称为 读读修改修改写指令写指令例:例:ANL P1,#0FH10种读种读修改修改写指令:写指令: (以(以I/O口或位为目标操作数)口或位为目标操作数)ANL 、ORL 、XRL、CPL (位取反)、(位取反)、INC、DEC、DJNZ、CLR、SETBMOV (MOV PXY,C)DCL P1X锁存器锁存器QQ读锁存器读锁存器内部总线内部总线写锁存器写锁存器读引脚读引脚输入缓冲器输入缓冲器Vcc R(上拉电阻)(上拉电阻)P1X引脚引
5、脚读引脚内容与锁存器内容,可能不一致读引脚内容与锁存器内容,可能不一致引脚输出引脚输出为为1,驱动,驱动三极管基三极管基极极 ,将被,将被钳位为钳位为010所以用所以用“读读修改修改写写”指令读指令读I/OI/O口锁存器口锁存器如用如用P1.X口驱口驱动三极管基极动三极管基极0输入缓冲器输入缓冲器2 2)读引脚)读引脚读引脚状态,将外部的数据读入到内部总线,读引脚状态,将外部的数据读入到内部总线,所以读引脚指令是所以读引脚指令是 输入指令输入指令例:例:MOV A,P1 MOV Rn,P1 MOV direct,P1 MOV C,P1X注意:注意:当端口作为输入口使用时,必须将端口当端口作为输
6、入口使用时,必须将端口锁存器的相应位置锁存器的相应位置“1”,该位才能正确的读入,该位才能正确的读入原因:如某位为原因:如某位为“0”,则不管引脚状态如何,则不管引脚状态如何,读引脚的结果始终为读引脚的结果始终为“0”字节操作字节操作位操作位操作DCL P1X锁存器锁存器QQ读锁存器读锁存器内部总线内部总线写锁存器写锁存器读引脚读引脚输入缓冲器输入缓冲器Vcc R(上拉电阻)(上拉电阻)P1X引脚引脚如如P10口锁存器为口锁存器为“0”01导通导通00无论引脚输入如何,始终读到无论引脚输入如何,始终读到0;且外设输入高电平时,易损坏输出且外设输入高电平时,易损坏输出MOS管管有效有效输入缓冲器
7、输入缓冲器DCL P1X锁存器锁存器QQ读锁存器读锁存器内部总线内部总线写锁存器写锁存器读引脚读引脚输入缓冲器输入缓冲器Vcc R(上拉电阻)(上拉电阻)P1X引脚引脚P10口锁存器为口锁存器为“1”1011有效有效输入缓冲器输入缓冲器DCL P1X锁存器锁存器QQ读锁存器读锁存器内部总线内部总线写锁存器写锁存器读引脚读引脚输入缓冲器输入缓冲器Vcc R(上拉电阻)(上拉电阻)P1X引脚引脚P10口锁存器为口锁存器为“1”1000因为因为I/O端口在执行输入指令时,须先使用指令将端口锁存端口在执行输入指令时,须先使用指令将端口锁存器置器置“1”,所以称,所以称 准双向口准双向口系统复位后,系统
8、复位后,I/OI/O端口锁存器状态为全端口锁存器状态为全“1”1”,即,即P0P0、P1P1、P2P2、P3P3均为均为FFHFFH,可直接作为输入口使用,可直接作为输入口使用有效有效输入缓冲器输入缓冲器3、输入、输出操作、输入、输出操作字节操作:字节操作: 8位一组,并行输入、输出位一组,并行输入、输出例:例:MOV P1,A位操作:位操作: 利用位操作指令,进行逐位的输入、输出利用位操作指令,进行逐位的输入、输出例:例:MOV P1.0,C多位分组操作:多位分组操作:利用读改写指令,仅对选定位进行输出操作利用读改写指令,仅对选定位进行输出操作例例1: ORL P1,#0000 0110B使
9、使P1.1、P1.2输出为输出为1,其余位不变,其余位不变例例2:ANL P1,#1111 0110BP1.0、P1.3输出为输出为0,其余位不变,其余位不变4、作为双向口使用、作为双向口使用80C51的的4个个I/O口在进行数据的输入输出操作时,口在进行数据的输入输出操作时,均可作为双向口使用。即,同一口线既作为输入均可作为双向口使用。即,同一口线既作为输入口,又用作输出口。口,又用作输出口。操作方法:操作方法:以以P1口为例口为例MOV P1, A MOV P1,#0FFHMOV A,P1;直接使用输出指令;直接使用输出指令;锁存器置;锁存器置1;输入指令;输入指令80C51的的P1由输出
10、口转为输入口时,需先将锁由输出口转为输入口时,需先将锁存器置存器置1,然后使用输入指令。,然后使用输入指令。准双向口准双向口三、第二功能三、第二功能1)P0口:口:8位数据总线,地址总线低位数据总线,地址总线低8位分时复用位分时复用2)P2口:高口:高8位地址总线位地址总线3)P3口:每一位具有不同的第二功能口:每一位具有不同的第二功能注:注:对于对于P0、P2口,如用作第二功能,将不能作为通用口,如用作第二功能,将不能作为通用I/O口使用;口使用;P3口,剩余位仍可用作通用口,剩余位仍可用作通用I/O口。复位时,口。复位时,因各口锁存器初态均为因各口锁存器初态均为“1”,可直接用作第二功能,
11、可直接用作第二功能四、带负载能力四、带负载能力P0口:口:8个个TTL负载负载P1、P2、P3口:口:4个个TTL负载负载五、五、80C5180C51的外部总线的外部总线单片微机系统特点:面向测控系统单片微机系统特点:面向测控系统要求单片微机能够提供实时功能,以实现定时、要求单片微机能够提供实时功能,以实现定时、延时或实时时钟;也常要求计数功能,以实现延时或实时时钟;也常要求计数功能,以实现对外部事件计数对外部事件计数80C51系列单片微机提供系列单片微机提供2个(个(8051型)或型)或3个个(8052型)型)16位的定时位的定时/计数器,可程控为计数器,可程控为4种种工作方式工作方式4.2
12、 定时/计数器fosc/12TXP3.4, P3.5 T0 , T1 TLX THX(8) (8) TFXTMOD TCON加加1计数器计数器控制逻辑控制逻辑C/T80C51定时定时/计数器原理框图计数器原理框图X=0,1一、定时一、定时/计数器的基本原理计数器的基本原理1 1、定时方式、定时方式计数脉冲来源于内部振荡器(计数脉冲来源于内部振荡器(12分频)分频)例:主频为例:主频为12MHz,机器周期为,机器周期为1 s0TC/ fosc/12TXP3.4, P3.5 T0 , T1 TLX THX(8) (8) TFXTMOD TCON加加1计数器计数器控制逻辑控制逻辑C/TX=0,10一
13、个机器一个机器周期加周期加12 2、计数方式、计数方式计数脉冲来源于外部引脚计数脉冲来源于外部引脚1TC/ fosc/12TXP3.4, P3.5 T0 , T1 TLX THX(8) (8) TFXTMOD TCON加加1计数器计数器控制逻辑控制逻辑C/TX=0,11P3.4, P3.5T0 , T12 2、计数方式、计数方式计数脉冲来源于外部引脚(计数脉冲来源于外部引脚(Tx,x=0,1)1TC/ 有效脉冲为负跳变脉冲有效脉冲为负跳变脉冲Tx10S5P2S5P2A)最大计数速率为振荡频率的)最大计数速率为振荡频率的1/24。B)计数脉冲给出的高电平应至少保持)计数脉冲给出的高电平应至少保持
14、1个完整的个完整的机器周期,以保证被采样机器周期,以保证被采样对计数脉冲要求:对计数脉冲要求:计数器计数器加加1 13 3、计数器、计数器“溢出溢出”整个定时整个定时/计数器功能由用户通过指令对特殊功能计数器功能由用户通过指令对特殊功能寄存器寄存器TMOD和和TCON编程实现编程实现fosc/12TXP3.4, P3.5 T0 , T1 TLX THX(8) (8) TFXTMOD TCON加加1计数器计数器控制逻辑控制逻辑C/TX=0,11111 1111 1111 11110000 0000 0000 0000TF=1全全“1” 全全“0”,计数器,计数器溢出溢出,置位,置位TF,请求中断
15、,请求中断二、定时/计数器控制与状态寄存器1、工作方式寄存器、工作方式寄存器TMOD用于定义定时用于定义定时/计数器的操作方式及工作模式计数器的操作方式及工作模式字节地址:字节地址:89HM1 M0:操作方式选择位:操作方式选择位M1 M0 操作方式操作方式 功能说明功能说明 0 0 方式方式0 13位计数器位计数器 0 1 方式方式1 16位计数器位计数器 1 0 方式方式2 自动重装的自动重装的8位计数器位计数器 1 1 方式方式3 T0分成两个分成两个8位计数器位计数器 T1无效(停止计数)无效(停止计数)C/T:选择定时或计数模式:选择定时或计数模式 C/T=1,计数模式;,计数模式;
16、C/T=0,定时模式,定时模式GATE:选通控制:选通控制GATE=1,当,当INTx端口为高电平且端口为高电平且TRx=1,定,定时计数器才启动计数。时计数器才启动计数。应用:对脉冲的宽度进应用:对脉冲的宽度进行测量行测量GATE=0,只要,只要TRx置位为置位为1,定时计数器就启动,定时计数器就启动计数计数复位时,复位时,TMOD=00H允许定时计数器工作的条件是:允许定时计数器工作的条件是:GATE=1时:时:TRx=1且且INTx=1GATE=0时:时:TRx=1101111 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1INT0 is “1”TR0 is “1” 0
17、0 1 0 0 0 0 12 2、启停与中断控制寄存器、启停与中断控制寄存器TCONTCON用于控制定时用于控制定时/计数器的启停与中断请求。计数器的启停与中断请求。字节地址:字节地址:88H各位含义如下:各位含义如下:TF1:T1溢出中断请求标志位。当溢出中断请求标志位。当T1计数回计数回0溢溢出时,由硬件置位为出时,由硬件置位为1,向,向CPU请求中断。当请求中断。当CPU响应中断,转向中断服务程序,响应中断,转向中断服务程序,由硬件清由硬件清0。TR1:T1启启/停控制位。当软件置位停控制位。当软件置位TR1=1,T1启动启动计数。计数。TR1=0,停止计数。,停止计数。TF0:T0溢出
18、中断请求标志位,同溢出中断请求标志位,同TF1。TR0:T0启启/停控制位,同停控制位,同TR1。TCON字节地址为字节地址为88H,可以位寻址。可以位寻址。复位时,复位时,TCON=00H三、定时/计数器的工作方式TMOD中的中的C/T位的设置,可选择定时位的设置,可选择定时/计数器工计数器工作在定时或计数模式作在定时或计数模式M1、M0位的位的4种编码,可用于选择种编码,可用于选择4种工作方式种工作方式1 1、方式、方式0 0 M1、M0编码为编码为00,由,由TLX低低5位及位及THX8位组位组成成13位计数器位计数器组成结构示意图见下页组成结构示意图见下页允许定时计数器工作的条件是:允
19、许定时计数器工作的条件是:GATE=1时:时:TRx=1且且INTx=1GATE=0时:时:TRx=12 2、方式、方式1 1M1、M0编码为编码为01,TLx、THx组成组成16位定时计数器位定时计数器,其组成结构同方式其组成结构同方式03 3、方式、方式2 2M1、M0编码为编码为10,自动重装的,自动重装的8位定时计数器。位定时计数器。4 4、方式、方式3 3 M1、M0编码为编码为11,将,将T0分为两个独立的分为两个独立的8位计数位计数器,器,TL0组成完整的组成完整的8位定时位定时/计数器,计数器,TH0组成只组成只能定时的能定时的8位定时器。位定时器。T1无方式无方式3功能,如功
20、能,如T1设定为方式设定为方式3,则停止工作。,则停止工作。TL0使用定时使用定时/计数器计数器0的全部控制位,组成一个完的全部控制位,组成一个完整的整的8位定时位定时/计数器。计数器。TH0借用定时借用定时/计数器计数器1的的TR1和和TF1位,只能用于位,只能用于定时,不能对外部事件计数定时,不能对外部事件计数此时,定时此时,定时/计数器计数器T1可工作在方式可工作在方式0、1、2,但不,但不能使用中断。典型应用为串行通讯波特率发生器能使用中断。典型应用为串行通讯波特率发生器方式方式3 T0 结构简图结构简图补充说明:T0方式3时,T1的设置与控制 在方式在方式3中,中,TL0和和TH0成
21、为两个相互独立的成为两个相互独立的8位计数器。位计数器。TL0占用了全部占用了全部T0的控制位和信号引脚,即的控制位和信号引脚,即GATE、CT、TR0、TF0等。而等。而TH0只用作定时器使用。而且由于定时器只用作定时器使用。而且由于定时器/计数器计数器0的控制位已被的控制位已被TL0独占,因此独占,因此TH0只好借用定时器只好借用定时器/计数器计数器1的控制位的控制位TR1和和TF1进行工作。进行工作。 同时,由于同时,由于TR1,TF1已已“出借出借”给给TH0,TH1和和TL1的的溢出就送给串行口,作为串行口时钟信号发生器(即波特率溢出就送给串行口,作为串行口时钟信号发生器(即波特率信
22、号发生器),并且只要设置好工作方式(方式信号发生器),并且只要设置好工作方式(方式0,方式,方式1,方式方式2)以及计数初值,)以及计数初值,T1无须启动使可自动运行。如要停无须启动使可自动运行。如要停止止T1工作,只要将其设置工作方式工作,只要将其设置工作方式3即可。即可。四、定时/计数器应用举例初始化顺序:初始化顺序:设置工作方式控制字(设置工作方式控制字(TMOD)计算计数初值,并置计算计数初值,并置TLX,THX设置中断允许位设置中断允许位ETX、EA,开放中断,开放中断设置启设置启/停控制位停控制位TRX定时时间:定时时间: TC=XTP X:计数次数:计数次数计数初值:计数初值:
23、2n-X方式方式0:n=13方式方式1:n=16方式方式2:n=8设振荡频率设振荡频率 fosc=6MHZ,TP= 12 6MHZ=2us机器周期:机器周期: TP=12/fosc以定时模式为例:以定时模式为例:设定时时间为设定时时间为5ms,计数次数,计数次数 X=Tc/Tp=25001、计数初值的计算、计数初值的计算因为因为MCS51定时计数器为加定时计数器为加1计数器,所以设置入计数器,所以设置入THX、TLX的计数初值为实际计数长度的补码的计数初值为实际计数长度的补码 方式方式0: (X)补补=213-X=8192-2500=5692=163CH0 0 0 1 0 1 1 0 0 0
24、1 1 1 1 0 0 B TLX低低5位位THX8位位计数初值:计数初值:THX=B1H TLX=1CH方式方式1: (X)补补=216-X=65536-2500=63036=F63CH计数初值:计数初值: THX=F6H TLX=3CH最大计数次数:方式最大计数次数:方式0为为8192次,方式次,方式1为为65536次,次,方式方式2为为256次次2、方式、方式0应用举例应用举例设系统主频为设系统主频为6MHZ,要求,要求P10口输出周期为口输出周期为10ms的方波,使用的方波,使用T0,方式,方式0分析:周期为分析:周期为10ms方波方波定时时间为定时时间为5ms,定时时间到对,定时时间
25、到对P10取反取反计数初值:计数初值: TH0=B1H TL0=1CH工作方式控制字:工作方式控制字: TMOD=00H程序如下:程序如下:MOV TMOD , #00HSETB TR0MOV TH0 , #0B1HMOV TL0 , #1CHJNB TF0 , HERECLR TF0?CPL P1.0SJMP LOOPLOOP:HERE:; 置置T0方式方式0;启动计数;启动计数;置计数初值;置计数初值;TF0=0,定时时间未到,等待,定时时间未到,等待;定时时间到,定时时间到,TF0清清0?;继续下一次计数;继续下一次计数;P10取反取反方式方式0及方式及方式1,计数满后,计数器回,计数满
展开阅读全文