单片机内部主要功能模块工作原理及应用.ppt
《单片机内部主要功能模块工作原理及应用.ppt》由会员分享,可在线阅读,更多相关《单片机内部主要功能模块工作原理及应用.ppt(216页珍藏版)》请在三一办公上搜索。
1、第三章:单片机内部主要功能模块 工作原理及应用,本章主要内容:MCS-51单片机并行端口的结构特点;定时/计数器、串行口的工作原理;“查询”及“中断”两种编程方法及对定时器、串行口进行编程。,本章目录,MCS-51单片机的8位并行输入输出端口MCS-51单片机的定时/计数器MCS-51单片机的串行接口MCS-51的中断系统,大连理工大学 电信学院 陈育斌,3.2 8位并行输入输出端口,CPU,输入输出端口,外部设备,内总线,MCS-51,并行I/O端口是实现单片机与外部进行并行数据交换的通道。,大连理工大学 电信学院 陈育斌,MCS-51单片机的并行端口具备三种工作方式,通用I/O方式:直接与
2、外部设备连接,实现数据的并行交换。常用于“最小系统”模式的设计;总线方式:当系统要与外部ROM、RAM或ADC等器件进行连接时,采用类似于微机系统的三总线结构进行设计,部分端口承担总线的功能。此时系统称为“扩展系统”;第二功能方式:由于引脚的限制,内部信号无法正常输入输出。因此借用I/O端口引脚作为内部信号通道也是一种不得已的方法。当端口作为总线或第二功能时,就不能再做I/O。,大连理工大学 电信学院 陈育斌,MCS-51单片机的四个并行端口P0、P1、P2和P3都是具有输出锁存功能的“准双向”端口,这些锁存器的位置都在SFR中,其地址分别为:80H、90H、A0H、B0H。出于系统功能的考虑
3、,在硬件设计上对端口功能都有不同的要求,所以它们又具有不同的结构和特点。,大连理工大学 电信学院 陈育斌,3.1.1 P0口,3.1.2 P1口,3.1.3 P2口,3.1.4 P3口,3.1.5 并行端口在使用时应注意的几个问题,3.1.6 单片机与继电器等 大电流负载的接口,大连理工大学 电信学院 陈育斌,3.1.1 P0口,【特点】具有两种工作方式“通用数据I/O双向端口”;“地址、数据复用总线”。,大连理工大学 电信学院 陈育斌,在作为通用数据I/O端口时,具有较强的输出驱动能力(8个TTL负载)。因输出是“开漏”结构,所以与MOS负载连接时,需要外接一个上拉电阻。作为“地址、数据复用
4、总线”使用时,P0口首先输出存储器的低八位地址信号,然后变为数据总线进行数据的输入输出,所以称“分时复用总线”(注意:此时P0口不能再作为通用I/O口)。,大连理工大学 电信学院 陈育斌,P0口的位结构图,D Q 锁存器CL/Q,P0.x引脚,Vcc,地址/数据1/0,控制(=0时),读锁存器,读引脚,内部总线,写锁存器,MUX(控制=0时),Vcc,返回前一次,参见讲义235页,大连理工大学 电信学院 陈育斌,硬件组成:,1,一个输出锁存器(D型触发器);2,二个三态门(控制读引脚或读锁存器);3,与门和MUX等元件组成的输出控制电路;4,一对场效应晶体管FET构成的输出电路.,大连理工大学
5、 电信学院 陈育斌,P0口的工作原理,普通I/O模式下的输出与输入原理;扩展(总线)方式下的工作原理,大连理工大学 电信学院 陈育斌,1.P0口的I/O操作(通用I/O端口),在P0口作为通用I/O端口时,控制电路中的“控制”端为“0”电平:此时多路开关MUX接入下方的锁存器的/Q端。因与门的一个输入端为“0”,所以它使上端的FET截止。这就是P0口在做I/O口时输出为“漏极开路”结构的原因。,返回结构图,大连理工大学 电信学院 陈育斌,数据经内总线送到锁存器的“D”端,经“/Q”端送场效管应输出极。总线送“0”时:锁存器的/Q=1,使下端的FET导通(上面的FET截止),端口呈现“0”电平;
6、总线送“1”时:锁存器/Q=“0”,使下端的FET截止,输出极的两个FET全部截止。在这种情况下,必须通过上拉电阻的作用使端口为高电平。,返回结构图,(一)输出操作:MOV P0,A,大连理工大学 电信学院 陈育斌,输入操作实际上有两种(参见结构图):读引脚:用于真正的外部数据输入的通道;读锁存器:在端口作输出时常使用的操作。a.读引脚:当外部信号通过端口引脚输入时,读引脚上的电平实现信号的输入。如指令:MOV A,P0;AP0 此时,单片机控制“读引脚”的三态门,使引脚处的外部电平经三态门送入内部总线。,返回结构图,(二)输入操作 MOV A,P0,大连理工大学 电信学院 陈育斌,在端口电路
7、中,可以发现一个问题:端口在输入(读引脚)时,原来锁存器的状态可能要影响引脚电平的输入。如:原来锁存器的状态为“0”态,电路将不能正确读入.要解决的方法就是让下端的FET截止,即事先向端口写一个“1”。,返回结构图,读引脚操作前要事先向该端口写“1”,大连理工大学 电信学院 陈育斌,请注意下面的一段程序:MOV P0,#0FFH;0FFH送P0(“写1”)MOV A,P0;从P0口引脚输入数据到A你能正确的分析出指令的操作吗?上述指令执行后 P0=?,返回结构图,大连理工大学 电信学院 陈育斌,b,读锁存器:端口作输出时的一种操作 在这种情况下,读入的数据不是来自引脚,而是端口内部的锁存器的内
8、容。,P0.X,单片机的引脚设计为输出时,返回结构图,大连理工大学 电信学院 陈育斌,当端口输出时(MOV P0,A),往往要再将前面输入的状态取回来,进行再处理然后重新输出。如:ORLP0,A将P0口前次输出的数据与累加器A的内容相“或”后在送回P0口(输出)。此时P0口的数据是从锁存器中读回的,而不是从引脚输入。上述的过程也称之谓“读修改写”操作。,为什么端口作输出时还要读入操作?,大连理工大学 电信学院 陈育斌,凡是这种“读修改写”操作,读到的数据都是锁存器的数据而不是读引脚数据。这种“读修改写”的操作有:ORL、XRL、JBC、CPL、INC、DEC、DJNZ、MOV Px,y、CLR
9、 Px,y和SET Px,y。而真正读引脚的指令只有 MOV A,P0,大连理工大学 电信学院 陈育斌,为什么要读锁存器而不去读引脚?,为什么“读修改写”操作不是从引脚回取信号?因为:引脚信号与外部设备连接,易受外界干扰;引脚上的电平往往不能正确反映前次的输出结果。,负载,Vcc,大连理工大学 电信学院 陈育斌,【举例】在当前状态下,将P0.2的电平变“1”,其余位不变。MOV A,#00000100B ORL P0,A 这里,ORL 指令就是先将P0口的锁存器数据取出,与A相或,结果送回P0口。【思考】:直接使用:MOV A,#00000100B MOV P0,A 是否可以?,P0.0P0.
10、1P0.2P0.3P0.4P0.5P0.6P0.7,大连理工大学 电信学院 陈育斌,2,P0口的总线方式,控制电路的“控制”=1,此时与门打开,MUX接向“地址/数据”信号.在这种情况下,输出极的两个FET都处于正常的工作状态。地址、数据信息通过“地址/数据”线经反相器送至FET的输入,并输出。由于上部FET管不再被“控制”信号关闭,所以此时口线可以输出高电平,即不用外加上拉电阻。,返回结构图,大连理工大学 电信学院 陈育斌,只要CPU执行MOVX、MOVC(外ROM)指令,P0、P2口就自动变为数据/地址总线。在进行硬件系统的设计中,如果使用了外部存储器时,P0口成为整个系统的地址/数据复用
11、总线。换句话,P0口不能再作为通用的I/O端口。,大连理工大学 电信学院 陈育斌,做通用数据I/O端口并与MOS器件连接时,必须外接“上拉电阻”,否则不能正确的输出高电平;在输入操作前,必须先向端口“写1;“读引脚”与“读锁存器”是不同的两个数据通道;在总线方式时,P0口不能再做通用的I/O端口。它分时输出地址、数据总线的信息(此时引脚不用外接上拉电阻)。,返回,返回结构图,P0口特点小结:,大连理工大学 电信学院 陈育斌,特点:单纯的通用I/O端口,负载能力为3个TTL输入。与P0口的区别在于内部具有上拉电阻,所以输出时不用外接上拉电阻。,3.1.2 P1口的位结构图,D Q 锁存器CL/Q
12、,P1.x引脚,Vcc,读锁存器,读引脚,内部总线,写锁存器,内部上拉电阻,返回,返回前一次,大连理工大学 电信学院 陈育斌,3.1.3 P2口 特点:“通用数据I/O端口”和“高八位地址总线”端口,D Q 锁存器CL/Q,P2.x引脚,Vcc,地址/数据1/0,控制,读锁存器,读引脚,内部总线,写锁存器,MUX(地址/数据=0),内部上拉电阻,返回上一次,大连理工大学 电信学院 陈育斌,注意:使用外数据存储器时,P2口分两种情况:1,使用256B的外部RAM时,此时用8位的寄存器R0或R1作间址寄存器,这时P2口无用,所以在这种情况下,P2口仍然可以做通用I/O端口。如:movx a,r0
13、或 movx a,r1 2,如果访问外部ROM或使用大于256BRAM时,P2口必须作为外存储器的高八位地址总线。如:movx a,dptr;访问外部数据存储器 movc a,a+dptr;访问外部程序存储器 这里使用了16位的寄存器DPTR,上一页,返回,大连理工大学 电信学院 陈育斌,3.1.4 P3口 特点:通用I/O端口、多用途端口,D Q 锁存器CL/Q,P3.x引脚,第二输出功能,读锁存器,读引脚,内部总线,写锁存器,Vcc,返回,第二输入功能,大连理工大学 电信学院 陈育斌,在多用途情况下,P3口分别作为串行口、外中断输入、外部计数输入和系统扩展时使用的WR和RD信号的端口。在这
14、种情况下,锁存器Q端为“1”电平以保证与门是打开的。在通用I/O模式下,“替代输出功能”端为“1”电平,以保证与门打开。原则上在进行系统设计时,P3口不做通用I/O口,以充分利用单片机的内部模块资源。,大连理工大学 电信学院 陈育斌,P3口各位的第二功能,大连理工大学 电信学院 陈育斌,3.1.5 并行端口使用中应注意的问题,如何使用并行端口来直接驱动电流比较大的负载(如:LED)?是采用“拉电流”还是“灌电流”?,Px.y,Vdd,Px.y,Vdd,Vdd,灌电流方式输出”0”点亮LED,拉电流方式输出高电平点亮LED,返回,大连理工大学 电信学院 陈育斌,使用灌电流的方式与电流较大的负载直
15、接连接时,MCS-51的端口可以吸收约20mA的电流而保证端口电平不高于0.45V(见右上图),但驱动逻辑并不符合人们的日常习惯。采用拉电流方式连接负载时,MCS-51所能提供“拉电流”仅仅为80A,否则输出的高电平会急剧下降.如果我们采用右下图的方式,向端口输出一个高电平去点亮LED,会发现端口输出的电平不是“1”而是“0”!【注意】:现在已出现如PIC等单片机可以提供较大的“拉电流”,具体问题灵活掌握。,大连理工大学 电信学院 陈育斌,单片机与大电流负载的接口,为了提高系统的可靠性和安全性。在一般设计中并行端口不是直接与负载连接,往往使用驱动电路(如74LS244等)做缓冲、驱动。可以采用
16、通向驱动也可以采用反向驱动。,Px.y,Vcc,Px.y,Vcc,同相驱动,反相驱动,大连理工大学 电信学院 陈育斌,为了保证单片机系统的安全,减少外部电路对系统的干扰,采用管电隔离是一种有效的方法。,J,Vcc,Vdd,Px.y,A,B,更安全的驱动方式光电隔离,注意:Vcc与Vdd是两套独立的电源系统,大连理工大学 电信学院 陈育斌,作业(二):,单片机时序中的时钟周期由什么因素确定?指令执行的快、慢与什么有关?单字节的指令一定就比双字节指令快吗?举例在执行MOVX、MOVC(片外)指令时,外部存储器如何获得地址、数据信息?MOVX A,R0 与MOVX A,DPTR在端口使用上有何区别?
17、,大连理工大学 电信学院 陈育斌,端口如果做输入口时,要注意什么?P0口做输出时,要注意什么?MCS-51的端口可以采用“拉电流”的方式输出较大的电流吗?写出P0、P1、P2和P3口在SFR中的地址。,返回本节,返回本章目录,大连理工大学 电信学院 陈育斌,3.2 MCS-51单片机的定时/计数器,本节内容:了解定时/计数器的作用;定时和计数两种方式的区别;定时/计数器的结构与工作原理;利用相关寄存器对定时计数器初始化及编程。,大连理工大学 电信学院 陈育斌,定时、计数是计算机经常要处理的操作。如:利用单片机产生某一频率的方波(定时);利用单片机作工业生产线上的产品数量统计、电机转速的测量(计
18、数)等。,大连理工大学 电信学院 陈育斌,以定时为例:通常有两种方法实现。软件延时法:利用指令(延时子程序)运行所消耗的时间实现所需的定时时间。特点:由CPU控制,占用CPU的资源;硬件法:利用一个硬件电路实现所需的时间定时,一旦时间到边产生一个标志信号通知CPU。特点:由CPU控制定时的启动,但定时过程由专用模块实现,CPU不参与其过程。所以提高了CPU的工作效率。,大连理工大学 电信学院 陈育斌,定时/计数器就是专用于产生延时和计数的外围模块,是单片机内部重要的铸成部分。定时计数器还可以构成“输入捕捉”、“输出比较”和“脉宽调制”简称CCP模块。这是新一代单片机内部结构的一个标志。使单片机
19、的应用更加灵活和方便。不难看出,作为一个嵌入式控制器,其内部所包含的定时/计数器的数量已经成为衡量其功能的重要指标。,大连理工大学 电信学院 陈育斌,本章目录,定时/计数器工作方式与原理:3.2.1 定时/计数器的四种工作模式3.2.2 MCS-51定时/计数器的控制和状态寄存器3.2.3 定时计数器的初值TC计算:定时/计数器应用,继续,大连理工大学 电信学院 陈育斌,定时/计数器工作方式与原理,产生延时的硬件逻辑电路,它可以完成两种不同的方式工作-“定时”、“计数”;使用硬件电路延时,可以提高CPU的工作效率。,大连理工大学 电信学院 陈育斌,定时:产生一个标准的时间间隔;如20mS,10
20、0mS或1000mS等.单片机使用这种方式可以产生一个符合某一要求的脉冲方波(如下图)。,20mS,40mS,MCS-51P x.y,输出波形,大连理工大学 电信学院 陈育斌,计数:对外部的事件(脉冲)进行统计。外部事件的发生是随机的,单片机不可能预知外部事件何时发生,但可以进行统计(计数)。当达到所要求的计数值时,单片机进行相应的操作。,MCS-51T0(T1)端口,外部脉冲,外部设备,大连理工大学 电信学院 陈育斌,单片机检测产品数量示意图,P0口 MCS-51T0,红外线扫描发射器,红外线接收电路,产品包装控制器,产品生产线,产品,传送带,大连理工大学 电信学院 陈育斌,定时/计数器 的
21、基本模型,CY,计数脉冲CP,溢出标志,8位的加一计数器,定时、计数器的核心部件是一个计数器。两种工作方式的区别在于计数脉冲来源;,大连理工大学 电信学院 陈育斌,3,MCS-51单片机 定时/计数器的工作原理,N位增量计数器,TF,N位初值寄存器,系统内部时钟fosc,启动控制 TR,外部脉冲T0或T1引脚,定时/计数控制C/T,计数器溢出中断信号,计数脉冲CP,C/T=0,C/T=1,定时、计数时间到标志,(1):何时控制启动计数器?问题:(2):如何控制是定时还是计数?(3):如何控制定时/计数的长短?,大连理工大学 电信学院 陈育斌,TR.定时计数器的启动控制开关。TR=1:计数器开始
22、计数;TR=0:计数器停止计数。C/T.计数器输入脉冲选择开关,决定着计数器的“定时”或“计数”的两种工作方式。C/T=0:计数器接收内部时钟信号fosc-定时方式;C/T=1:计数器接收引脚上的外部信号-计数方式。TF.计数器溢出标志。TF=1:定时或计数时间到,可以采用查询或中断方 式处理;初值寄存器:预装用来决定计数器产生溢出周期的参数,此参数决定着定时或计数的周期。通常要预算并送入初值寄存器中。,大连理工大学 电信学院 陈育斌,3.2.1 定时/计数器的四种工作模式,在MCS-51单片机内部,具有两个完全相同的定时计数器T0、T1。它们都具有两种工作方式:定时和计数;无论是定时或计数方
23、式,又都有具备四种工作模式,以根据实际要求达到最佳的工作状态。定时计数器的工作方式、工作模式是由SFR中的TMOD内容来决定的。因此对其方式、模式的设定是靠对TMOD的初始化编程实现的。,大连理工大学 电信学院 陈育斌,1,模式0:13位计数器模式,TH1,TL1,震荡器,1/12,(8位),(低5位),TF1,中断,启动控制,T1 引脚,TR1,GATE,INT1,高三位弃用,C/T=0,C/T=1,13位加1计数器,在某一个初值的基础上加1计数,当计数器计满为全“1”,再来一个计数脉冲时,就产生一个“溢出中断信号”TF1=1。由于低8位计数器中的高三位没有参与工作,故填装初值时应“避开”此
24、三位。,大连理工大学 电信学院 陈育斌,类同于模式0。由于两个计数器为完整的8位,故将计算好的16位初值可直接填装到TH、TL中。,TL1,TH1,震荡器,1/12,(8位),(8位),TF1,中断,启动控制,T1 引脚,TR1,GATE,INT1,C/T=0,C/T=1,2,模式1:既16位计数器模式,16位加1计数器,返回上一次,大连理工大学 电信学院 陈育斌,模式0、1的特点,13位和16位的计数器模式。启动后,从某一个初值的基础上进行“加一”计数。当计到“全”时再来一个计数脉冲,计数器就会产生一个“溢出”即TF=1,此时计数器本身为“全零”。如果需要重复性的完成某一值的定时或计数,需要
25、在每一次计数前不断的重新预装初值,称之为“软件重装初值”。,大连理工大学 电信学院 陈育斌,TL做计数器,TH做初值寄存器,工作前TL1,TH1分别预置相同的初值。TL1计数时,产生溢出的同时,将TH1中的初值自动重装TL1。TL1继续计数。,TL1(8位),TH1(8位),震荡器,1/12,TF1,中断,控制,T1 引脚,TR1,GATE,INT1,C/T=1,C/T=0,3,模式2:8位自动重装初值模式,8位加1计数器,8位初值寄存器,大连理工大学 电信学院 陈育斌,模式2的特点及应用,8位计数器的模式,定时或计数的范围远远小于模式0和模式1;具备初值“硬件自动重装”功能,非常适合进行重复
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 内部 主要功能 模块 工作 原理 应用

链接地址:https://www.31ppt.com/p-6041780.html