欢迎光临佛山市鼎盛在线下载官网!

企业新闻| 关于我们| 画册简介| 联系我们| 立即咨询

全国24小时服务热线:

4008-327-669
网站导航
新闻中心
当前位置: 首页 > 新闻中心

单片机内部基本功能模块工作原理及应用

来源:鼎盛在线下载    发布时间:2025-08-07 21:47:53   点击次数:1

  通用I/O方式:直接与外部设备连接,实现数据的并行交换。常用于“最小系统”模式的设计;

  总线方式:当系统要与外部ROM、RAM或ADC等器件进行连接时,采用类似于微机系统的三总线结构进行设计,部分端口承担总线的功能。此时系统称为“扩展系统”;

  第二功能方式:由于引脚的限制,内部信号无法正常输入输出。因此借用I/O端口引脚作为内部信号通道也是一种不得已的方法。

  MCS-51单片机的四个并行端口P0、P1、P2和P3都是具有输出锁存功能的“准双向”端口,这些锁存器的位置都在SFR中,其地址分别为:80H、90H、A0H、B0H。

  出于系统功能的考虑,在硬件设计上对端口功能都有不同的要求,所以它们又具有不一样的结构和特点。

  在作为通用数据I/O端口时,具有较强的输出驱动能力(8个TTL负载)。因输出是“开漏”结构,所以与MOS负载连接时,需要外接一个上拉电阻。

  作为“地址、数据复用总线口首先输出存储器的低八位地址信号,然后变为数据总线进行数据的输入输出,所以称“分时复用总线口不能再作为通用I/O口)。

  因与门的一个输入端为“0”,所以它使上端的FET截止。这就是P0口在做I/O口时输出为“漏极开路”结构的原因。

  ②总线”,使下端的FET截止,输出极的两个FET全部截止。在这种情况下,必须通过上拉电阻的作用使端口为高电平。

  ①读引脚:用于真正的外部数据输入的通道;②读锁存器:在端口作输出时常使用的操作。

  a.读引脚:当外部信号通过端口引脚输入时,读引脚上的电平实现信号的输入。如指令:

  此时,单片机控制“读引脚”的三态门,使引脚处的外部电平经三态门送入内部总线。

  原来锁存器的状态为“0”态,电路将不能正确读入.要解决的方法就是让下端的FET截止,即事先向端口写一个“1”。

  当端口输出时(MOVP0,A),往往要再将前面输入的状态取回来,进行再处理然后重新输出。如:

  将P0口前次输出的数据与累加器A的内容相“或”后在送回P0口(输出)。此时P0口的数据是从锁存器中读回的,而不是从引脚输入。

  凡是这种“读—修改—写”操作,读到的数据都是锁存器的数据而不是读引脚数据。

  这里,ORL指令就是先将P0口的锁存器数据取出,与A相或,结果送回P0口。

  控制电路的“控制”=1,此时与门打开,MUX接向“地址/数据”信号.在这种情况下,输出极的两个FET都处于正常的工作状态。

  由于上部FET管不再被“控制”信号关闭,所以此时口线可以输出高电平,即不用外加上拉电阻。

  只要CPU执行MOVX、MOVC(外ROM)指令,P0、P2口就自动变为数据/地址总线。

  在进行硬件系统的设计中,若使用了外部存储器时,P0口成为总系统的地址/数据复用总线口不能再作为通用的I/O端口。

  做通用数据I/O端口并与MOS器件连接时,必须外接“上拉电阻”,否则不能正确的输出高电平;

  在总线口不能再做通用的I/O端口。它分时输出地址、数据总线的信息(此时引脚不用外接上拉电阻)。

  特点:单纯的通用I/O端口,负载能力为3个TTL输入。与P0口的不同之处在于内部具有上拉电阻,所以输出时不用外接上拉电阻。

  1,使用256B的外部RAM时,此时用8位的寄存器R0或R1作间址寄存器,这时P2口无用,所以在这样的一种情况下,P2口仍旧能做通用I/O端口。

  2,如果访问外部ROM或使用大于256BRAM时,P2口必须作为外存储器的高八位地址总线。

  在多用途情况下,P3口分别作为串行口、外中断输入、外部计数输入和系统扩展时使用的WR和RD信号的端口。在这种情况下,锁存器Q端为“1”电平以保证与门是打开的。

  原则上在进行系统模块设计时,P3口不做通用I/O口,以充分的利用单片机的内部模块资源。

  如何使用并行端口来直接驱动电流比较大的负载(如:LED)?是采用“拉电流”还是“灌电流”?

  使用灌电流的方式与电流比较大的负载直接连接时, MCS-51的端口能吸收约20mA的电流而保证端口电平不高于0.45V(见右上图),但驱动逻辑并不符合人们的日常习惯。

  采用拉电流方式连接负载时,MCS-51所能提供“拉电流”仅仅为80μA,否则输出的高电平会急剧下降.如果我们采用右下图的方式,向端口输出一个高电平去点亮LED,会发现端口输出的电平不是“1”而是“0”!

  【注意】:现在已出现如PIC等单片机能够给大家提供较大的“拉电流”,具体问题灵活掌握。

  为了提高系统的可靠性和安全性。在一般设计中并行端口不是直接与负载连接,往往使用驱动电路(如74LS244等)做缓冲、驱动。能够使用通向驱动也能够使用反向驱动。

  为了保证单片机系统的安全,减少外部电路对系统的干扰,采用管电隔离是一种有效的方法 。

  在执行MOVX、MOVC(片外)指令时,外部存储器如何获得地址、数据信息?

  软件延时法:利用指令(延时子程序)运行所消耗的时间实现所需的定时时间。 特点:由CPU控制,占用CPU的资源;

  硬件法:利用一个硬件电路实现所需的时间定时,一旦时间到边产生一个标志信号通知CPU。特点:由CPU控制定时的启动,但定时过程由专用模块实现,CPU不参与其过程。所以提高了CPU的工作效率。

  定时/计数器就是专用于产生延时和计数的外围模块,是单片机内部重要的铸成部分。

  定时计数器还可以构成“输入捕捉”、“输出比较”和“脉宽调制”简称CCP模块。这是新一代单片机内部结构的一个标志。使单片机的应用灵活性更好和方便。

  不难看出,作为一个嵌入式控制器,其内部所包含的定时/计数器的数量慢慢的变成了衡量其功能的重要指标。

  产生延时的硬件逻辑电路,它能够实现两种不同的方式工作 ---- “定时”、“计数”;

  定时:产生一个标准的时间间隔;如20mS,100mS或1000mS等.单片机用这种方式可以产生一个符合某一要求的脉冲方波(如下图)。

  外部事件的发生是随机的,单片机不可能预知外部事件何时发生,但能够直接进行统计(计数)。当达到所要求的计数值时,单片机进行一定的操作。

  定时、计数器的核心部件是一个计数器。两种工作方式的不同之处在于计数脉冲来源;

  C/T. 计数器输入脉冲选择开关,决定着计数器的 “定时” 或“计数”的两种工作方式。

  C/T=0:计数器接收内部时钟信号fosc--- 定时方式; C/T=1:计数器接收引脚上的外部信号---计数方式。

  初值寄存器:预装用来决定计数器产生溢出周期的参数, 此参数决定着定时或计数的周期。通常要预算并送入初 值寄存器中。

  无论是定时或计数方式,又都有具备四种工作模式,以结合实际要求达到最佳的工作状态。

  定时计数器的工作方式、工作模式是由SFR中的TMOD内容来决定的。因此对其方式、模式的设定是靠对TMOD的初始化编程实现的。

  在某一个初值的基础上加1计数,当计数器计满为全“1”,再来一个计数脉冲时,就产生一个“溢出中断信号”TF1=1。

  类同于模式0。由于两个计数器为完整的8位,故将计算好的16位初值可直接填装到TH、TL中。

  启动后,从某一个初值的基础上进行“加一”计数。当计到“全1”时再来一个计数脉冲,计数器就会产生一个“溢出”即TF=1,此时计数器本身为“全零”。

  如果需要重复性的完成某一值的定时或计数,需要在每一次计数前不断的重新预装初值,称之为“软件重装初值”。

  TL做计数器,TH做初值寄存器,工作前TL1,TH1分别预置相同的初值。

  TL1计数时, 产生溢出的同时, 将TH1中的初值自动重装TL1。TL1继续计数。

  具备初值“硬件自动重装”功能,很适合进行重复性定时的场合,如产生连续方波信号等。编成中省去了软件重装初值的麻烦 ;

  将T0和T1重新进行“拆分、组合”。将T0变为由TH0,TL0组成的两个独立的8位定时/计数器。

  2, TH0分别借用了定时器T1的TR1和TF1为自己服务,使TH0能象TL0那样用TR1启动定时,并用TF1来作为TH0的溢出中断的标志;

  3, 此时,由于T1缺少了启动控制信号TR1和溢出标志TR1,那么在模式3时,T1是如何启动和工作?

  4, 模式3就是将单片机原有的T0、T1两个计数器变成三个独立的计数器。其中T1要事先设定为模式2(串行口的波特率发生器)并启动起来。

  GATE=0时:当TR1=1时,启动定时/计数工作。 一种定时计数器通常的工作方式;

  计数器溢出时硬件自动置位,即TR=1。进入中断后再由硬件自动清除(TF0=0);

  当单片机检测到INT引脚上有下降沿时,IE=1申请中断.进入中断服务程序时,硬件自动清除IE标志.

  根据具体的实际应用的需要,计算出对应的TC值是对定时/计数器初始化的重要步骤;

Copyright © 2012-2020 鼎盛在线下载 版权所有 粤ICP备16110178号 | 网站地图 | 网站目录

地址:广东省佛山市顺德区北滘镇西海二支工业南路 TEL:13928290078

电话:4008-327-669 邮箱:313932331@qq.com

鼎盛在线下载

微信扫一扫