东北石油大学测控单片机定时器计数器学习教案.pptx
上传人:王子****青蛙 上传时间:2024-09-13 格式:PPTX 页数:41 大小:1.3MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

东北石油大学测控单片机定时器计数器学习教案.pptx

东北石油大学测控单片机定时器计数器学习教案.pptx

预览

免费试读已结束,剩余 31 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

会计学单片机检测(jiǎncè)产品数量示意图D7定时的种类软件定时:利用执行一个循环程序进行(jìnxíng)时间延迟。其特点是定时时间精确,不需外加硬件电路,但占用CPU时间。因此软件定时的时间不宜过长。硬件定时:利用硬件电路实现定时。其特点是不占用CPU时间,通过改变电路元器件参数来调节定时,但使用不够灵活方便。对于时间较长的定时,常用硬件电路来实现。可编程定时器:通过专用的定时器/计数器芯片实现。其特点是通过对系统时钟脉冲进行(jìnxíng)计数实现定时,定时时间可通过程序设定的方法改变,使用灵活方便。工作模式如何(rúhé)确定?GATETF1GATE启动后,从某一个初值的基础上进行“加一”计数。当“全1”时再来一个计数脉冲,计数器就会产生一个“溢出”即TF=1,此时计数器本身为“全零”。如果需要重复性的完成某一值的定时或计数,需要在每一次计数前不断的重新预装初值,称之为“软件(ruǎnjiàn)重装初值”。使用T0/T1的设计步骤:1、确定选择T0/T12、确定工作模式:定时、计数3、确定工作方式:方式0、方式1、方式2、方式34、计算T0/T1初值5、编写主程序中断(zhōngduàn)入口处理定时器/计数器初始化TCON、TMOD、T0、T1、IE、IP6、编写中断(zhōngduàn)服务程序例1:利用定时器产生(chǎnshēng)周期为2ms的方波,fosc=6MHZORG0000HAJMPMAINORG000BHAJMPTT0ORG0100HMAIN:MOVSP,#40HMOVTMOD,#01HMOVTL0,#0CHMOVTH0,#0FEHSETBTR0SETBET0SETBEALOOP:SJMPLOOP方案(fāngàn)2:采用查询方法例2:利用(lìyòng)定时器产生1s的延时,fosc=6MHZ。ORG0000HAJMPMAINORG000BHAJMPTT0ORG0100HSTART:MOVSP,#40HMOVR0,#0AHMOVTMOD,#01HMOVTL0,#0B0HMOVTH0,#3CHSETBTR0SETBET0SETBEALOOP:SJMPLOOP例:T0引脚发生(fāshēng)负跳变时,从p1.0引脚输出1个周期为1ms的方波ORG0000HRESET:LJMPMAINORG000BHLJMPIT0PORG001BHLJMPIT1P注意:当T1作串行口波特率发生器时,T0才设置为方式(fāngshì)3。例:假设某MCS-51应用系统的两个外中断源已被占用,设置T1工作在方式(fāngshì)2,作波特率发生器用。现要求增加一个外部中断源,并控制P1.0引脚输出一个5kHz的方波。设系统时钟为6MHz。ORG0000HLJMPMAINORG000BHLJMPTL0INTORG001BHLJMPTH0INTORG0100HMAIN:MOVTMOD,#27HMOVTL0,#0FFHMOVTH0,#9CHMOVTL1,#dataLMOVTH1,#dataHMOVTCON,#55HMOVIE,#9FHSJMP$例:统计(tǒngjì)产品个数ORG0000HAJMPSTARTORG001BHAJMPTT1ORG0100HSTART:MOVSP,#40HMOVR0,#00HMOVTCON,#00HMOVTMOD,#0D0HSETBTR1SETBET1SETBEALOOP:SJMPLOOP例:测量脉冲宽度GATE1可使定时器/计数器T1的启动(qǐdòng)计数受INT1的控制,可测量引脚INT1(P3.3)上正脉冲的宽度(机器周期数)。CLRTR1MOVA,TL1LOOP3:LCALLDIRAJMPLOOP3五、实时时钟(shízhōng)的设计在读取运行中的定时器/计数器时,需注意:若恰好出现TLX溢出向THX进位的情况,则读得的(TLX)值就完全不对。同样,先读(THX)再读(TLX)也可能出错。方法(fāngfǎ):先读(THX),后读(TLX),再读(THX)。若两次读得(THX)相同,则读的内容正确。若前后两次读的(THX)有变化,则再重复上述过程,若重复读得的内容相同,就应是正确的。下面是有关的程序,读得的(TH0)和(TL0)放置在R1和R0内。总结1、定时/计数器既可用作定时亦可用作计数,而且其应用方式非常灵活。2、定时方法:软件定时和硬件定时工作机理:软件定时是对循环体内指令机器(jīqì)数进行计数;定时器定时是采用加法