东北石油大学测控单片机定时器计数器.pptx
《东北石油大学测控单片机定时器计数器.pptx》由会员分享,可在线阅读,更多相关《东北石油大学测控单片机定时器计数器.pptx(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、会计学1东北东北(dngbi)石油大学测控单片机定时石油大学测控单片机定时器计数器器计数器第一页,共41页。单片机检测单片机检测单片机检测单片机检测(ji(ji n c)n c)产品数量示意图产品数量示意图产品数量示意图产品数量示意图P0口口 MCS-51T0红外线红外线扫描扫描发射器发射器红外线红外线接收电路接收电路产品包装产品包装控制器控制器产产品品生生产产线线产品产品传送带传送带第1页/共41页第二页,共41页。D7 D6 D5 D4 D3 D2 D1 D0计数计数(j sh)脉冲脉冲CP溢出溢出(y ch)标志标志定时定时定时定时(dn sh)(dn sh)、计数器的核心部件是一个计数
2、器。、计数器的核心部件是一个计数器。、计数器的核心部件是一个计数器。、计数器的核心部件是一个计数器。两种工作方式的区别在于计数脉冲来源;两种工作方式的区别在于计数脉冲来源;两种工作方式的区别在于计数脉冲来源;两种工作方式的区别在于计数脉冲来源;计数:计数:计数:计数:对外部输入脉冲的个数进行计量。对外部输入脉冲的个数进行计量。对外部输入脉冲的个数进行计量。对外部输入脉冲的个数进行计量。定时:定时:定时:定时:单片机的晶振经过单片机的晶振经过单片机的晶振经过单片机的晶振经过12121212分频后获得的一个脉冲源,分频后获得的一个脉冲源,分频后获得的一个脉冲源,分频后获得的一个脉冲源,对脉冲源的个
3、数进行计数。对脉冲源的个数进行计数。对脉冲源的个数进行计数。对脉冲源的个数进行计数。第2页/共41页第三页,共41页。l定时的种类定时的种类l 软软件件定定时时:利利用用执执行行一一个个循循环环程程序序进进行行(jnxng)时时间间延延迟迟。其其特特点点是是定定时时时时间间精精确确,不不需需外外加加硬硬件件电电路路,但但占占用用CPU时时间间。因此软件定时的时间不宜过长。因此软件定时的时间不宜过长。l 硬硬件件定定时时:利利用用硬硬件件电电路路实实现现定定时时。其其特特点点是是不不占占用用CPU时时间间,通通过过改改变变电电路路元元器器件件参参数数来来调调节节定定时时,但但使使用用不不够够灵灵
4、活活方方便。对于时间较长的定时,常用硬件电路来实现。便。对于时间较长的定时,常用硬件电路来实现。l 可可编编程程定定时时器器:通通过过专专用用的的定定时时器器/计计数数器器芯芯片片实实现现。其其特特点点是是通通过过对对系系统统时时钟钟脉脉冲冲进进行行(jnxng)计计数数实实现现定定时时,定定时时时时间间可通过程序设定的方法改变,使用灵活方便。可通过程序设定的方法改变,使用灵活方便。第3页/共41页第四页,共41页。u工作模式如何工作模式如何(rh)确定确定?u如何控制定时如何控制定时/计数计数(j sh)的长短?的长短?(计数计数(j sh)初值如初值如何确定?何确定?)u工作方式工作方式(
5、fngsh)如何如何确定?确定?内部总线内部总线工作工作方式方式工作工作方式方式TH1TH1 TL1TL1TH0TH0TL0TL0TCONTCONTMODTMODT1T1T0T0微微处处理理器器u如何启动和停止计数或定时?如何启动和停止计数或定时?6.1 6.1 定时器定时器/计数器结构及工作方式计数器结构及工作方式一、内部结构一、内部结构第4页/共41页第五页,共41页。GATEC/TM1M0GATEC/TM1M0 TMOD:TMOD:定时器定时器/计数器工作计数器工作(gngzu)(gngzu)方式控制寄存器方式控制寄存器 89H 89HTF1TR1 TF0TR0 IE1IT1 IE0 I
6、T0TCON:TCON:定时器定时器/计数器控制计数器控制(kngzh)(kngzh)寄存器寄存器 88H88HT0:T0:定时器定时器/计数器寄存器计数器寄存器TH0 TH0 (8CH 8CH)TL0 TL0 (8AH 8AH)T1:T1:定时器定时器/计数器寄存器计数器寄存器TH1 TH1 (8DH 8DH)TL1 TL1 (8BH 8BH)第5页/共41页第六页,共41页。TF1TR1 TF0TR0 IE1IT1 IE0 IT01 1、TCON TCON 定时器定时器/计数器控制计数器控制(kngzh)(kngzh)寄存器寄存器 88H 88HTF0/TF1:T0/T1溢出标志位。可用于
7、申请中断或供溢出标志位。可用于申请中断或供CPU查询。在进入中断查询。在进入中断服务程序时会自动清零;但在查询方式时必须软件清零。服务程序时会自动清零;但在查询方式时必须软件清零。定时或计数时间到,可以采用查询或中断方式处理;定时或计数时间到,可以采用查询或中断方式处理;=1:计数溢出;:计数溢出;=0:计数未满。:计数未满。TR0/TR1:T0/1启停控制位。启停控制位。=1:启动:启动(qdng)计数;计数;=0:停止计数。停止计数。IE0/IE1和和IT0/IT1:用于管理外部中断。:用于管理外部中断。二、二、4 4个个SFRSFR第6页/共41页第七页,共41页。GATEC/TM1M0
8、GATEC/TM1M02 2、TMOD:TMOD:定时器定时器/计数器工作方式计数器工作方式(fngsh)(fngsh)控制寄存器控制寄存器 89H89H 0 0 :INT0INT0对启动对启动T0T0没有没有(mi yu)(mi yu)影响,由影响,由TR0TR0启动;启动;GATE:门控位:门控位 1 1 :启动:启动(qdng)T0(qdng)T0由由INT0INT0、TR0TR0共同启动共同启动(qdng)(qdng)。M1 M0:工作方式选择位工作方式选择位。0 0 :13位定时器位定时器/计数器;计数器;0 1 :16位定时器位定时器/计数器(常用);计数器(常用);1 0 :可自
9、动重装的:可自动重装的8位定时器位定时器/计数器(常用);计数器(常用);1 1 :T0 分为分为2个个8位定时器位定时器/计数器;仅适用于计数器;仅适用于T0。C/T C/T:定时方式定时方式/计数方式选择位。计数方式选择位。1 1 :计数器工作方式,对计数器工作方式,对T0/T1T0/T1引脚外部事件的负脉冲计数;引脚外部事件的负脉冲计数;0 0 :选择定时器工作方式,对机器周期脉冲计数定时。选择定时器工作方式,对机器周期脉冲计数定时。第7页/共41页第八页,共41页。3 3、T0T0定时器定时器/计数器寄存器计数器寄存器TH0 TH0 (8CH 8CH)TL0 TL0 (8AH 8AH)
10、TH1 TH1 (8DH 8DH)TL1 TL1 (8BH 8BH)4 4、T1T1定时器定时器/计数器寄存器计数器寄存器第8页/共41页第九页,共41页。控制控制(kngzh)(kngzh)振荡振荡器器1212TL0TL0(5(5位位)TF0TF0中断中断(zhngdun)(zhngdun)T0P3.4C/C/T=0T=0C/C/T=1T=1+INT0INT0P3.2 GATEGATETR0TR0TH0TH0(8(8位位)BA&GATEC/TM1M0GATEC/TM1M0TMOD:TMOD:定时器定时器/计数器工作方式计数器工作方式(fngsh)(fngsh)控制寄存器控制寄存器 89H 8
11、9HTF1TR1 TF0TR0 IE1IT1 IE0 IT0TCON TCON 定时器定时器/计数器控制寄存器计数器控制寄存器 88H88H1、方式、方式0三、三、4 4种工作方式种工作方式第9页/共41页第十页,共41页。自自然然优优先先级级矢矢量量地地址址自自然然优优先先级级矢矢量量地地址址高级中高级中断请求断请求PCPCPCPC断请求断请求低级中低级中SCONSCON中断标志中断标志IPIPPX0PX01 1PT0PT01 11 10 0PX1PX11 10 0PSPS1 10 00 0PT1PT10 0IEIEEX0EX0ET0ET0EX1EX1ET1ET1ESESTCONTCONIE
12、0IE0TF0TF0IE1IE1TF1TF1TITIRIRIRXRXTXTXT1T11 1INT1INT10 0T0T0INT0INT01 10 0源允许源允许 总允许总允许优先级优先级硬件查询硬件查询EAEAP3.0P3.1P3.5P3.4P3.2P3.3IT0IT1第10页/共41页第十一页,共41页。控制控制振荡振荡器器1212TL0TL0(8(8位位)TF0TF0中断中断T0P3.4C/C/T=0T=0C/C/T=1T=1+INT0INT0P3.2 GATEGATETR0TR0TH0TH0(8(8位位)BA&控制控制振荡器振荡器1212TL0TL0(8(8位位)TF0TF0中断中断T0
13、P3.4T0P3.4C/C/T=0T=0C/C/T=1T=1+INT0P3.2INT0P3.2GATEGATETR0TR0TH0TH0(8(8位位)重新装入重新装入BA&2、方式、方式(fngsh)13、方式、方式(fngsh)2第11页/共41页第十二页,共41页。TH0TH0(8(8位位)TF1TF1中断中断1/12fosc1/12foscTR1TR1控制控制振荡器振荡器1212TL0TL0(8(8位位)TF0TF0中断中断T0 P3.4T0 P3.4C/C/T=0T=0C/C/T=1T=1+INT0P3.2INT0P3.2 GATEGATETR0TR0BA&4、方式、方式(fngsh)3
14、第12页/共41页第十三页,共41页。振荡器振荡器1212T1 P3.5C/C/T=0T=0C/C/T=1T=1串行口串行口TL1TL1(5(5位位)TH1TH1(8(8位位)TLTL1 1(8(8位位)THTH1 1(8(8位位)TL1TL1(8(8位位)TH1TH1(8(8位位)T0T0工作工作(gngzu)(gngzu)在方式在方式3 3时时T1T1工作工作(gngzu)(gngzu)方式方式第13页/共41页第十四页,共41页。启动后,从某一个初值的基础上进行启动后,从某一个初值的基础上进行启动后,从某一个初值的基础上进行启动后,从某一个初值的基础上进行“加一加一加一加一”计数。当计数
15、。当计数。当计数。当“全全全全”时再来一个计数脉冲,计数器就会产生一个时再来一个计数脉冲,计数器就会产生一个时再来一个计数脉冲,计数器就会产生一个时再来一个计数脉冲,计数器就会产生一个“溢出溢出溢出溢出”即即即即TF=1TF=1TF=1TF=1,此时计数器本身为,此时计数器本身为,此时计数器本身为,此时计数器本身为“全零全零全零全零”。如果需要重复性的完成某一值的定时或计数,需要在每一次如果需要重复性的完成某一值的定时或计数,需要在每一次如果需要重复性的完成某一值的定时或计数,需要在每一次如果需要重复性的完成某一值的定时或计数,需要在每一次计数前不断的重新预装初值,称之为计数前不断的重新预装初
16、值,称之为计数前不断的重新预装初值,称之为计数前不断的重新预装初值,称之为“软件软件软件软件(run jin)(run jin)(run jin)(run jin)重装重装重装重装初值初值初值初值”。方式方式(fngsh)2(fngsh)2:8 8位计数器的模式。位计数器的模式。将将T0T0和和T1T1重新进行重新进行“拆分、组合拆分、组合”。将。将T0T0变为由变为由TH0,TL0TH0,TL0组成组成(z(z chn)chn)的两个独立的的两个独立的8 8位定时位定时/计数器。计数器。方式方式0 0和方式和方式1 1:1313位和位和1616位的计数器模式。位的计数器模式。8 8位计数器的
17、模式,定时或计数的范围远远小于模式位计数器的模式,定时或计数的范围远远小于模式0 0和模式和模式1 1;具备初值具备初值“硬件自动重装硬件自动重装”功能,适合进行重复性定时的场合,如产生连功能,适合进行重复性定时的场合,如产生连续方波信号等。编程中省去软件重装初值的麻烦续方波信号等。编程中省去软件重装初值的麻烦 ;TLTL做计数器,做计数器,THTH做初值寄存器,工作前做初值寄存器,工作前TL1,TH1TL1,TH1分别预置相同的分别预置相同的初值。初值。方式方式3 3:拆分、组合模式。:拆分、组合模式。第14页/共41页第十五页,共41页。使用使用T0/T1T0/T1的设计步骤:的设计步骤:
18、1 1、确定选择、确定选择T0/T1T0/T12 2、确定工作模式:定时、计数、确定工作模式:定时、计数3 3、确定工作方式:方式、确定工作方式:方式0 0、方式、方式1 1、方式、方式2 2、方式、方式3 34 4、计算、计算T0/T1T0/T1初值初值5 5、编写主程序、编写主程序 中断中断(zhngdun)(zhngdun)入口处理入口处理 定时器定时器/计数器初始化计数器初始化TCONTCON、TMODTMOD、T0T0、T1T1、IEIE、IPIP6 6、编写中断、编写中断(zhngdun)(zhngdun)服务程序服务程序6.2 6.2 定时器定时器/计数器的编程和应用计数器的编程
19、和应用(yngyng)(yngyng)第15页/共41页第十六页,共41页。例例1 1:利用定时器产生:利用定时器产生(chnshng)(chnshng)周期为周期为2ms2ms的方波,的方波,fosc=6MHZfosc=6MHZ使用使用T0/T1T0/T1的步骤:的步骤:1 1、确定选择、确定选择T0/T1T0/T12 2、确定工作模式、确定工作模式3 3、确定工作方式、确定工作方式(fngsh)(fngsh)4 4、计算初值、计算初值5 5、编写主程序、编写主程序 中断入口处理中断入口处理 定时器定时器/计数器初始化计数器初始化6 6、编写中断服务程序、编写中断服务程序(1)(1)方式方式
20、(fngsh)0(fngsh)0:Tmax=2131Tmax=2131s=8.192mss=8.192ms(2)(2)方式方式(fngsh)1(fngsh)1:Tmax=2161Tmax=2161s=65.536mss=65.536ms(3)(3)方式方式(fngsh)2(fngsh)2、3 3:Tmax=281Tmax=281s=0.256mss=0.256ms定时定时选择选择T0T0T=(M TC)T0 1ms1ms=(216 -TC)2 s TC=65036=0FE0CH一、方式一、方式1 1的应用的应用第16页/共41页第十七页,共41页。ORG 0000H AJMP MAIN ORG
21、 000BH AJMP TT0 ORG 0100HMAIN:MOV SP,#40H MOV TMOD,#01H MOV TL0,#0CH MOV TH0,#0FEH SETB TR0 SETB ET0 SETB EALOOP:SJMP LOOP ORG 0200HTT0:CPL P1.0 MOV TL0,#0CH MOV TH0,#0FEH RETI END思考题:思考题:1 1、实现本题功能、实现本题功能T0T0是否需要停止?是否需要停止?2 2、中断、中断(zhngdun)(zhngdun)服务程序为什么要给服务程序为什么要给T0T0重新赋初值重新赋初值?不赋初值会出现什么现象?不赋初值会
22、出现什么现象?讨论题:定时精度讨论题:定时精度(jn d)(jn d)可能会受什么因素影响可能会受什么因素影响?方案方案1 1:采用中断:采用中断(zhngdun)(zhngdun)方方法法第17页/共41页第十八页,共41页。方案方案(fng n)2(fng n)2:采用查询方法:采用查询方法 ORG 0000H MOV TMOD,#01HLOOP:MOV TH0,#0FEH MOV TL0,#0CH SETB TR0LOOP1:JNB TF0,LOOP1 CLR TR0 CPL P1.0 SJMP LOOP讨论题:讨论题:比较比较(bjio)(bjio)两个方案的优缺两个方案的优缺点点查询
23、方法:查询方法:程序简单程序简单(jindn)(jindn);但但CPUCPU必须不断查询必须不断查询TF0TF0标志;标志;CPU CPU效率低。效率低。中断方法:中断方法:程序复杂;程序复杂;能提高能提高CPUCPU效率。效率。第18页/共41页第十九页,共41页。例例2 2:利用:利用(lyng)(lyng)定时器产生定时器产生1 s1 s的延时,的延时,fosc=6MHZfosc=6MHZ。分析:分析:1 1、选择、选择T0T0、T1T12 2、工作模式:定时、计数、工作模式:定时、计数3 3、工作方式:方式、工作方式:方式0 0:8192*2us=16.384ms8192*2us=1
24、6.384ms 方式方式1 1:65536*2us=131.072ms65536*2us=131.072ms 方式方式2 2:255*2us=512us255*2us=512us 方式方式3 3:255*2us=512us255*2us=512us4 4、计数初值:、计数初值:x=65526-50000=15526=3cb0hx=65526-50000=15526=3cb0h5 5、1010次计数的实现次计数的实现(shxin)(shxin):中断服务程序中采用工作寄存器加:中断服务程序中采用工作寄存器加1/1/减减1 1 第19页/共41页第二十页,共41页。ORG 0000H AJMP M
25、AIN ORG 000BH AJMP TT0 ORG 0100HSTART:MOV SP,#40H MOV R0,#0AH MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH SETB TR0 SETB ET0 SETB EALOOP:SJMP LOOP ORG 0200HTT0:MOV TL0,#0B0H MOV TH0,#3CH DJNZ R0,LOOP1 CPL P1.0LOOP1:RETI END思考:如何思考:如何(rh)(rh)停止计时?停止计时?思考:如采用方式思考:如采用方式(fngsh)2(fngsh)2,程,程序要做序要做 那些修改?那些修改?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东北 石油大学 测控 单片机 定时器 计数器
限制150内