第4章51系列单片机并行口的功能模块及应用解析课件.ppt(115页)
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第4章51系列单片机并行口的功能模块及应用解析课件.ppt(115页)》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 系列 单片机 并行口 功能模块 应用 解析 课件
- 资源描述:
-
1、1第四章第四章 51系列单片机系列单片机 的功能模块及应用的功能模块及应用主要掌握并行口、串行口、定主要掌握并行口、串行口、定时器的结构、工作原理及应用时器的结构、工作原理及应用24-1 并行口及其应用并行口及其应用51系列单片机的并行口,按特性可分类为:单一的准双向口(如89C52的P1.2P1.7)多功能复用的准双向口(如89C52的P1.0、P1.1,P3.0P3.7)可作地址总线输出口的准双向口(P2)可作地址/数据总线口的三态双向口(P0)3每个I/O线均由锁存器,输出电路和输入缓冲器组成。每一条口线可独立用作输入和输出。作输出时可锁存数据,输入时可缓冲数据。CPU对口的读操作有两种
2、:读修改写操作(读口锁存器状态)例:ANL P0,A ;(P0)(P0)(A)ORL P0,#data ;(P0)(P0)data DEC P0 ;(P0)(P0)-1读引脚操作(读口引脚上外部输入信息)例 MOV A,P1454-1-1 P0 口口 P0口是一个三态双向口,可作为地址口是一个三态双向口,可作为地址/数据分时复用口,也可作为通用数据分时复用口,也可作为通用I/O接口。接口。其其1位的结构原理如下图所示。位的结构原理如下图所示。P0口由口由8个这样的电路组成。个这样的电路组成。6P0.x地址/数据 控制D Q锁存器CLK_QMUX&1V2V1读引脚内部总线读 锁存器写锁存器VCC
3、2134P0口口1位结构图位结构图起输出锁存作用,8个锁存器构成了SFRP0V1、V2组成输出驱动器,以增大带负载能力三态门1是引脚输入缓冲器读锁存器端口7 2地址/数据分时复用功能 当P0口作为地址/数据分时复用总线时,可分为两种情况:一种是从P0口输出地址或数据,另一种是从P0口输入数据。8在访问片外存储器而需从P0口输出地址或数据信号时,控制信号应为高电平“1”,使转换开关MUX把反相器4的输出端与V1接通,同时把与门3打开。1)当地址或数据为“1”时,经反相器4使V1截止,而经与门3使V2导通,P0.x引脚上出现相应的高电平“1”;2)当地址或数据为0时,经反相器4使V1导通而V2截止
4、,引脚上出现相应的低电平0。这样就将地址/数据的信号输出。93通用I/O接口功能 当P0口作为通用I/O口使用,在CPU向端口输出数据时,对应的控制信号为0,转换开关把输出级与锁存器Q端接通,同时因与门3输出为0使V2截止,此时,输出级是漏极开路电路输出级是漏极开路电路。当写脉冲加在锁存器时钟端CLK上时,与内部总线相连的D端数据取反后出现在Q端,又经输出V1反相,在P0引脚上出现的数据正好是内部总线的数据。当要从P0口输入数据时,引脚信息仍经输入缓冲器进入内部总线。10总之:一 P0口作为一般I/O口使用 1 P0口用作输出口:必须外接上拉电阻必须外接上拉电阻,才有高电平输出。2 P0口作输
5、入口:先向端口锁存器写入写入“1”。二 P0口作为地址/数据总线使用1 以P0口引脚输出低8位地址或数据信息2 由P0口输入数据三 P0口可驱动8个LSTTL电路114-1-2 P1口(准双向口)口(准双向口)12P1.0、P1.1为多功能双向口,P1.2P1.7为单一功能准双向口。P1口的第一功能是准双向口,每一位可分别定义为输入线或输出线。输出驱动部分由场效应管V1与内部上拉电阻组成。当其某位输出高电平时,可以提供上拉电流负载。89C5289C52P1.0K 0P0.0+5V10K K 013P1的某一位作为输入线输入线时,该位的口锁存器必须保持“1”。使输出场效应管截止。该引脚才可由内部
6、拉高电路拉成高电平,或由外部电路拉成低电平。P1口具有驱动4个LSTTL负载的能力。14154-1-3 P2口(准双向口口(准双向口)D Q锁存器CLK_Q1P2.xV1读引脚内部总线读锁存器写锁存器地址控制VCC内部上拉电阻MUX213图2.11 P2口1位结构图16 当作为准双向通用I/O口使用时:控制信号使转换开关接向左侧,锁存器Q端经反相器3接V1,其工作原理与P1相同,也具有输入、输出、端口操作三种工作方式,负载能力也与P1相同。171 系统中外接程序存储器时:P2口输出程序存储器的高8位地址,不作I/O口使用。2 系统中无外接程序存储器,而扩展有片外RAM的系统中:片外RAM的容量
7、256B:P2口仍做输入/输出口使用。使用R0或R1作地址指针。片外RAM的容量256B:P2口不能做输入/输出口,而做系统扩展的高8位地址总线口使用。使用DPTR、P2R0、P2R1作地址指针。184-1-4 P3口(准双向口)口(准双向口)19 P3口是一多功能口,既做准双向口又做特殊输入输出口。1 做通用I/O口使用:P3口做输入使用,应由软件向口锁存器写“1”。202 做第二功能使用:某位做第二功能使用该位D锁存器Q应被硬件自动置“1”。P3.0 RXD P3.5 T1 P3.1 TXD(出)P3.6 WR(出)P3.2 INT0 P3.7 RD(出)P3.3 INT1 P3.4 T0
8、3 P3口具有驱动4个LSTTL负载的能力。21I/OI/O端口的操作方式:端口的操作方式:(1 1)输出数据方式)输出数据方式:CPU通过一条数据传送指令就可以把输出通过一条数据传送指令就可以把输出数据写入数据写入P0P3的端口锁存器,然后通过输出驱动器送到的端口锁存器,然后通过输出驱动器送到端口引脚线。例如,下面的指令均可在端口引脚线。例如,下面的指令均可在P0口输出数据。口输出数据。MOV P0,A ANL P0,#data ORL P0,A(2 2)读端口数据方式:)读端口数据方式:CPU读入的这个数据并非端口引脚线上读入的这个数据并非端口引脚线上的数据。读端口数据可以直接读端口。例如
9、,下面的指令均的数据。读端口数据可以直接读端口。例如,下面的指令均可以从可以从P1口输入数据。口输入数据。MOV A,P1 MOV 20H,P1 MOV R0,P1 MOV R0,P122(3 3)读端口引脚方式:)读端口引脚方式:读端口引脚方式可以从端口引脚读端口引脚方式可以从端口引脚上读入信息。在这种方式下,上读入信息。在这种方式下,CPU首先必须使欲读端首先必须使欲读端口引脚所对应的锁存器口引脚所对应的锁存器置置1,然后才能读端口引脚。,然后才能读端口引脚。因此,用户在读引脚时必须先因此,用户在读引脚时必须先置位置位锁存器后读,连续锁存器后读,连续使用两条指令。例如,下面的程序可以读使用
10、两条指令。例如,下面的程序可以读P1引脚上的引脚上的低低4位信号。位信号。MOV P1,#0FH ;置位置位P1引脚的低引脚的低4位位 MOV A,P1;读读P1引脚上的低引脚上的低4位信号送累加器位信号送累加器A234-1-5 并行口的应用并行口的应用1 外接蜂鸣器2 利用可控硅控制加热电路3 BCD码拨码盘的接口 BCD码拨码盘构造一个拨码盘可以输入1位十进制数据。拨码盘拨到某个位置时,控制线分别与4位数据线中某几位接通。接通线定义为“1”,不通的线定义为“0”。244-2 定时器及其应用定时器及其应用定时器功能:定时器功能:1 定时操作定时操作 2 测量外部输入信号测量外部输入信号 3
11、定时输出定时输出 4 监视系统正常工作监视系统正常工作254-2-1定时器的结构和工作原理定时器的结构和工作原理1 定时器由一个N位计数器、计数时钟源控制电路、状态和控制寄存器等组成。2 计数脉冲有两个来源:外部的脉冲源系统的时钟振荡器。内部时钟外部时钟N位计数器TFTMOD TCON中断中断263 用作定时器时,每经过一个机器周期,计数用作定时器时,每经过一个机器周期,计数器自动加器自动加1,直到计数溢出;用作计数器时,直到计数溢出;用作计数器时,外部时钟脉冲加在定时器的外输入端外部时钟脉冲加在定时器的外输入端T0(P3.4)或或T1(P3.5),每出现一次负跳变,每出现一次负跳变,计数器加
12、计数器加1。4 两个模拟开关,左边决定定时两个模拟开关,左边决定定时/计数器的工计数器的工作状态,右边决定脉冲源是否加在计数器的作状态,右边决定脉冲源是否加在计数器的输入端。输入端。5 16位的计数器由两个位的计数器由两个8位位SFR TH和和TL组成组成。6定时器工作不占用定时器工作不占用CPUCPU时间,除非定时器时间,除非定时器/计计数器溢出,才能中断数器溢出,才能中断CPUCPU的当前操作。的当前操作。27定时器定时器/计数器计数器T0、T1的结构框图的结构框图284-2-2 定时器定时器/计数器计数器T0和和T1一方式寄存器一方式寄存器TMOD(89H)1 不能进行位寻址,只能用字节
13、寻址。复不能进行位寻址,只能用字节寻址。复位时,位时,TMOD所有位为所有位为02熟悉各位功能熟悉各位功能T1方式字段方式字段 T0方式字段方式字段GATEC/TM1 M GATEC/TM1M029 GATE门控位“1”:定时器的计数受外部引脚输入电平的控制“0”:定时器的计数不受外部引脚输入电平的控制 C/T功能选择位“1”:计数功能 “0”:定时功能 M1M0工作方式选择位30 适于适于T0,两个,两个8位计数器位计数器M1M0工作方式工作方式方方 式式 说说 明明00013位定时器位定时器/计数器计数器01116位定时器位定时器/计数器计数器102具有自动重装初值的具有自动重装初值的8位
14、定时器位定时器/计数器计数器113 31二二 控制寄存器控制寄存器TCON(88H)1 既可字节寻址又可位寻址。复位时,既可字节寻址又可位寻址。复位时,TCON各位为各位为0例:例:SETB TR1 ;启动定时器;启动定时器T1工作工作2熟悉各位功能熟悉各位功能D7 D6 D5 D4 D3 D2 D1 D08FH8EH 8DH 8CH 8BH 8AH 89H 88HTF1TR1TF0 TR0 IE1IT1IE0IT032TF1定时器定时器/计数器计数器T1的溢出标志位的溢出标志位TR1定时器定时器/计数器计数器T1的运行控制位的运行控制位TF0定时器定时器/计数器计数器T0的溢出标志位的溢出标
15、志位TR0定时器定时器/计数器计数器T0的运行控制位的运行控制位IE1外部中断外部中断1下降沿触发标志位下降沿触发标志位IE0外部中断外部中断0下降沿触发标志位下降沿触发标志位IT1外部中断外部中断1触发类型选择位触发类型选择位IT0外部中断外部中断0触发类型选择位触发类型选择位33三三 定时器定时器/计数器的初始化计数器的初始化 初始化即将控制字写入定时器初始化即将控制字写入定时器/计数器计数器的过程。的过程。初始化一般步骤初始化一般步骤:1 写入初值写入初值TH0、TL0或或TH1、TL12 对对TMOD赋值赋值3 对对IE赋值(有中断产生时)赋值(有中断产生时)4 若用软件启动,则仅把若
16、用软件启动,则仅把TR0或或TR1置置“1”;若用外中断引脚电平启动,则还需给外若用外中断引脚电平启动,则还需给外 引脚加启动电平。引脚加启动电平。34四四 定时器定时器/计数器的计数器的4种工作方式种工作方式1 方式方式035 方式方式0是一个是一个13位的定时器位的定时器/计数器,计数器,由由TL0的低的低5位和位和TH0的的8位组成。位组成。定时时间为定时时间为T=12*(213-a)/fosc s最大定时时间:最大定时时间:M=213=8192T36例例7:已知晶振频率:已知晶振频率fosc=6MHZ,若使用,若使用T0方式方式0产生产生10ms定时中断,试对定时中断,试对T0进行初进
17、行初始化编程。始化编程。MOV TH0,#63H MOV TL0,#18H SETB TR0 MOV IE ,#82H RET37例:例:T0工作于方式工作于方式0,要求在,要求在P1.0引脚上产生引脚上产生周期为周期为2ms的方波输出的方波输出(fosc=6MHZ)ORG 0000H AJMP MAIN ORG 000BH AJMP INQP ORG 0030HMAIN:MOV TMOD,#00H MOV TH0,#0F0H MOV TL0,#0CH SETB TR0 ;启动;启动T0 SETB ET0 ;允许;允许T0中断中断 SETB EA ;开放;开放CPU中断中断 AJMP$;定时中
18、断等待;定时中断等待38 ORG 4000H ;中断服务程序;中断服务程序INQP:MOV TH0,#0F0H ;重写定时常数;重写定时常数 MOV TL0,#0CH CPL P1.0 ;P1.0变反输出变反输出 RETI 392 方式方式1 方式方式1是一个是一个16位定时器位定时器/计数器,结构计数器,结构和操作方式与方式和操作方式与方式0基本相同。定时时间为基本相同。定时时间为T=12*(216-a)/fosc s最大定时时间:最大定时时间:M=216=65536T40例:设例:设fosc=12MHz,T0工作于方式工作于方式1,产生,产生50ms定时中断,定时中断,TF0为高级中断源。
19、试为高级中断源。试编写主程序中的初试化程序和中断服务程编写主程序中的初试化程序和中断服务程序,使序,使P1.0产生周期为产生周期为1秒的方波。秒的方波。MAIN:MOV SP,#EFH MOV TH0,#3CH MOV TL0,#0B0H MOV TMOD,#1 MOV IP,#2 41 MOV IE,#82H SETB TR0 MOV 30H,#0AHPTF0:ORL TL0,#0B0H;中断服务程序中断服务程序 MOV TH0,#3CH DJNZ 30H,PTF0R MOV 30H,#0AH CPL P1.0PTF0R:RETI42用查询法:用查询法:MOV 30H,#0AH MOV TH
20、0,#3CH MOV TL0,#0B0H MOV TMOD,#1 SETB TR0L2:JBC TF0,L1 SJMP L2L1:MOV TH0,#3CH MOV TL0,#0B0H43 DJNZ 30H,L2 MOV 30H,#0AH CPL P1.0 SJMP L2443 方式方式2 方式方式2是能重置初值的是能重置初值的8位定时器位定时器/计数器,计数器,TL0作为作为8位计数器,位计数器,TH0作为计数初值寄存器。适于用做较精作为计数初值寄存器。适于用做较精确的定时脉冲信号发生器。确的定时脉冲信号发生器。定时时间定时时间 T=12*(28-a)/fosc s 最大定时时间:最大定时时间
21、:M=28=256T45振荡器 12TLx(8 位)TFx&11C/_TC/_Tfosc中断请求TxGATE_INTxTRxTHx(8 位)4重装初值控制S1Tcy图 2.15 定时器/计数器方式2的逻辑结构S2 定时器/计数器方式2的逻辑结构46 MOV TMOD,#60H;设置设置T1为方式为方式2计数计数 MOV TH1,#9CH ;赋初值;赋初值 MOV TL1,#9CH SETB TR1DE:JBC TF1,RE ;查询计数溢出;查询计数溢出 AJMP DERE:CPL P1.0 AJMP DE例:用定时器例:用定时器1在方式在方式2计数,要求每计满计数,要求每计满100次,将次,将
22、P1.0端取反。端取反。外部计数信号由P3.5引入,每跳变一次计数器加1100=28-a;a=156=9CH47保护现场赋计数初值到1s?(32H)加1(32H)=60?(32H)清0(31H)加1(31H)=60?(31H)清0(30H)加1(30H)=24?(30H)清0恢复现场返回例例4.13(书(书111)aaNNNNYYYY图 中断服务程序流程图48例:当P3.4引脚上的电平发生负跳变时,从P1.0输出一个500s的同步脉冲。请编程序实现该功能。查询方式,fosc=6MHz。49解:(1)模式选择 选T0为模式2,外部事件计数方式。当P3.4引脚上的电平发生负跳变时,T0计数器加1,
23、溢出标志TF0置1;然后改变T0为500s定时工作方式,并使P1.0输出由1变为0。T0定时到产生溢出,使P1.0输出恢复高电平,T0又恢复外部事件计数方式。如 图所示。50(2)计算初值 T0工作在外部事件计数方式,当计数到28时,再加1计数器就会溢出。设计数初值为X,当再出现一次外部事件时,计数器溢出。则:X+1=28 X=28 1=11111111B=0FFH T0工作在定时工作方式,设晶振频率为6MHz,500s相当于250个机器周期。因此,初值X为 (28X)2s=500s X=6=06H51(3)程序清单START:MOV TMOD,#06H ;设置T0为模式2,外部计数方式 MO
24、V TL0,#0FFH ;T0计数器初值 MOV TH0,#0FFH SETB TR0 ;启动T0计数 LOOP1:JBC TF0,PTFO1 ;查询T0溢出标志,;TF0=1时转,且清TF0=0 SJMP LOOP1 ;52 PTFO1:CLR TR0 ;停止计数 MOV TMOD,#02H ;设置T0为模式2,定时方式 MOV TL0,#06H ;送初值,定时500s MOV TH0,#06H CLR P1.0 ;P1.0清0 SETB TR0 ;启动定时500s LOOP2:JBC TF0,PTFO2 ;查询T0溢出标志,;TF0=1时转,且清TF0=0 ;(第一个500s到否?)SJM
25、P LOOP2 ;等待 PTFO2:SETB P1.0 ;P1.0置1 CLR TR0 ;停止计数 SJMP START53振荡器 12TL0(8位)&11C/_TC/_Tfosc中断请求T0GATE_TR 0TH1(8位)S2S1TF0TF1TR1TcyTcyINTx图 2.16定时器/计数器方式3的逻辑结构S定时器定时器/计数器方式计数器方式3的逻辑结构的逻辑结构 4 方式方式3TH054 方式方式3只适用于只适用于T0,T0分为两个独立的分为两个独立的8位计数器位计数器TL0和和TH0。一般。一般T1用作串行口用作串行口波特率发生器。波特率发生器。最大定时时间:最大定时时间:M=28=2
展开阅读全文