文档详情

单片机的定时器计数器题稿.ppt

发布:2017-04-21约5.02千字共43页下载文档
文本预览下载声明
第6章 单片机的定时器/计数器 ;本章的内容;;图6-1 80C51定时器/计数器逻辑结构图; 用一个简单的框图构造它的模型 :N位计数器构成了电路的核心。定时,计数两种方式的区别在于计数器的脉冲来源.初值寄存器是用来设定“定时/计数的具体参数” (1):何时控制启动计数?(2):如何控制定时还是计数? (3):如何控制定时/计数的长短?;1)每过一个机器周期,计数器增1,直至计满溢出(12分频) 2)定时器的定时时间与系统的振荡频率紧密相关 3)MCS-51单片机的一个机器周期由12个振荡脉冲组成 如果晶振频率为12MHZ,则:;(2)计数;T1控制;;定时/计数器工作方式 ;2.控制寄存器TCON ; * 各标志位应注意的问题 TF1位:定时器1溢出标志位。 当定时/计数器1溢出时,由硬件置1。 使用查询方式时,此位做状态位供查询,查询有效后需由软件清零; 使用中断方式时,此位做中断申请标志位,进入中断服务后被硬件自动清零。 TR1位:定时器1运行位。 该位靠软件置位或清零,置位时,定时/计数器接通工作,清零时,停止工作。;6.3 定时器/计数器的工作方式 ;;当 =0时,控制开关接通内部振荡器,T0对机器周期进行计数,其定时时间为: t=(213-T0初值)×机器周期 当 =1时,控制开关接通外部输入信号,当外部信号电平从“1”到“0”跳变时,加1计数器加1,处于计数工作方式。 ;2. 方式1—16位方式 其定时时间为: t=(216-T0初值)×机器周期 ;3. 方式2—8位自动装入时间常数方式 其定时时间为: t=(28-T0初值)×机器周期 ;4. 方式3—2个8位方式 ;;例1:设晶振频率fOSC=6MHz,使用定时器1以方式1产生周期为500μs的方波脉冲,并由P1.0 输出。试以中断方式实现。;① TMOD确定;② 计算计数器的计数初值;;③ 采用中断方式:编程时打开全局和局部中断。;程序设计;INTT1: MOV TH1,#0FFH ;重新设置初值 MOV TL1,#83H CPL P1.0 ;输出取反 RETI;例2:利用T0定时,产生2s定时,使得P1口输出信号,控制8个发光二极管循环点亮,设fOSC=12MHz. ; ;硬件定时与软件计数结合方式解题思路: 让T0作定时器用,如T0可以定时50ms; 在T0中断处理程序中一个寄存器内容加1,同时判断是否加到2000/50=40,如果不到40,则直接返回,如果计到40,说明2s时间到; 使P1口循环点亮8个发光二极管后再返回。 T0工作在方式1,控制字01H,计数初值:; ORG 0000H LJMP MAIN ;主程序入口 ORG 000BH LJMP INTT0 ;T0中断入口; ORG 1000H MAIN:MOV TMOD, #01H ;T0为方式1 MOV TH0, #3CH MOV TL0,#B0H ;初值 SETB EA ;允许中断 SETB ET0 SETB TR0 ;启动定时 MOV A,#01H ; LED0先亮 MOV P1,A ; MOV R0,#0 SJMP $ ;等待中断;INTT0: MOV TH0,#3CH ;重新设置初值 MOV TL0,#B0H INC R0 CJNE R0,#40,NEXT ;不等直接返回 MOV R0,#0 ; 2s到 RL A ;依次点亮 NEXT: RETI; 设计一个控制程序,使80C51的P1口输出8路低频方波脉冲,频率分别为100、50、25
显示全部
相似文档