《定时计数器T0作定时应用技术(一)〖AT89S52单片机实用例程〗》由会员分享,可在线阅读,更多相关《定时计数器T0作定时应用技术(一)〖AT89S52单片机实用例程〗(5页珍藏版)》请在金锄头文库上搜索。
1、15 定时计数器 定时应用技术(一)1 实验任务 用 片机的定时/计数器 生一秒的定时时间,作为秒计数时间,当一秒产生时,秒计数加 1,秒计数到 60 时,自动从 0 开始。硬件电路如下图所示2 电路原理图 图 系统板上硬件连线 (1 把“单片机系统”区域中的 口用 8 芯排线连接到“四路静态数码显示模块”区域中的任一个 ah 端口上;要求:应着 a,应着 b,应着 h。(2 把“单片机系统”区域中的 815 端口用 8 芯排线连接到“四路静态数码显示模块”区域中的任一个 ah 端口上;要求:8 对应着 a,9 对应着 b,15 对应着 h。 4 程序设计内容 片机的内部 16 位定时/计数器
2、是一个可编程定时/计数器,它既可以工作在 13 位定时方式,也可以工作在 16 位定时方式和 8 位定时方式。只要通过设置特殊功能寄存器 可完成。定时/计数器何时工作也是通过软件来设定殊功能寄存器来完成的。现在我们选择 16 位定时工作方式,对于 说,最大定时也只有 65536法达到我们所需要的 1 秒的定时,因此,我们必须通过软件来处理这个问题,假设我们取 最大定时为 50要定时 1 秒需要经过 20 次的 50于这 20 次我们就可以采用软件的方法来统计了。因此,我们设定 0000001B,即 10 定时/计数器的 入预置初值,通过下面的公式可以计算出2 1650000)/2562 165
3、0000)56当 工作的时候,我们如何得知 50定时时间已到,这回我们通过检测殊功能寄存器中的 志位,如果 表示定时时间已到。5 程序框图 7 C 语言源 程序(查询法) # =0 0 0 0 65536256; 65536256; ; ; ; P0=0; P2=0; ) 1) ; if(20) ; ; if(60) ; P0=0; P2=0; ; 65536256; 65536256; 2 C 语言源程序(中断法) # =0 0 0 0 65536256; 65536256; ; ; ; ; ; P0=0; P2=0; ); t0( 1 0 ; if(20) ; ; if(60) ; P0=0; P2=0; 65536256; 65536256;