当前位置:首页 > 单片机 > 单片机
[导读]1、定时器和计数器时钟周期:单片机时序中的最小单位,集体计算的放法就是时钟源分之一机器周期:单片机完成一个操作的最短时间,=12个时钟周期定时器:打开定时器后,定时器“存储寄存器”的值经过一个机器周期自动

1、定时器和计数器

时钟周期:单片机时序中的最小单位,集体计算的放法就是时钟源分之一

机器周期:单片机完成一个操作的最短时间,=12个时钟周期

定时器:打开定时器后,定时器“存储寄存器”的值经过一个机器周期自动加1,也就是说,机器周期是定时器的计数周期。

2、定时器的寄存器



TMOD —— 工作模式选择寄存器——常用模式1和模式2.

TCON —— 控制寄存器(TRn定时器开关)

TH/TL —— 定时计数器

3、定时器应用

第一步:设置特殊功能寄存器TMOD,配置好工作模式。
第二步:设置计数寄存器TH0和TL0的初值。
第三步:设置TCON,通过TR0置1来让定时器开始计数。
第四步:判断TCON寄存器的TF0位,监测定时器溢出情况。

写程序之前,我们要先来学会计算如何用定时器定时时间。我们的晶振是 11.0592M,时钟周期就是 1/11059200,机器周期是12/11059200,时器定时值最大也就是 71ms 左右。

(65536-N)*12/11.0592M = time ---计算出N转换成十六进制

1ms的例子:

TMOD = 0X01;

TH0 = 0XFC;

TL0 = 0X67;

TR0 = 1;


#include

typedefunsignedcharuchar;

sbitLED=P0^0;

intmain(void)

{

ucharcnt=0;//定义一个计数变量,记录T0溢出次数

TMOD=0x01;//设置T0为模式1

TH0=0xFC;//为T0赋初值0xB800

TL0=0x67;

TR0=1;//启动T0

while(1)

{

if(1==TF0)//判断T0是否溢出

{

TF0=0;//T0溢出后,清零中断标志

TH0=0xFC;//并重新赋初值

TL0=0x67;

cnt++;//计数值自加1

if(cnt>=1000)//判断T0溢出是否达到50次

{

cnt=0;//达到50次后计数值清零

LED=~LED;//LED取反:0-->1、1-->0

}

}

}

return0;

}


4、数码管

共阴与共阳数码管 ——8个LED灯

位选——控制选择多个数码管中的哪一个

段选——选择数码管显示的值



//秒定时器:

#include

typedefunsignedintuint;

typedefunsignedcharuchar;

ucharcodecount[]=

{

0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,

0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E

};

intmain(void)

{

ucharcnt=0;//记录T0中断次数

ucharsec=0;//记录经过的秒数

TMOD=0x01;//设置T0为模式1

TH0=0xFC;//为T0赋初值0xB800

TL0=0670;

TR0=1;//启动T0

while(1)

{

if(TF0==1)//判断T0是否溢出

{

TF0=0;//T0溢出后,清零中断标志

TH0=0xFC;//并重新赋初值

TL0=0x67;

cnt++;//计数值自加1

if(cnt>=1000)//判断T0溢出是否达到1000次

{

cnt=0;//达到1000次后计数值清零

P0=count[sec];//当前秒数对应的真值表中的值送到P0口

sec++;//秒数记录自加1

if(sec>=16)//当秒数超过0x0F(15)后,重新从0开始

{

sec=0;

}

}

}

}

return0;

}



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

STM32与51单片机之间有什么差异呢?两者可以说是一场科技与性能的较量了。在科技飞速发展的今天,微控制器(MCU)已广泛应用于各类电子设备和系统中,发挥着举足轻重的作用。其中,STM32和51单片机作为两种常见的微控制...

关键字: STM32 51单片机 MCU

Holtek新推出BS67F2432具备触控按键、高精准度HIRC与LCD驱动器Flash MCU。主要特色为内建高精准度4MHz HIRC振荡电路、8路触控按键及最大支持4COM×15SEG LCD驱动器。适用于触控接...

关键字: MCU LCD驱动器 定时器

51单片机将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对51单片机的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 单片机 51单片机

在嵌入式系统开发中,单片机是不可或缺的重要组成部分。其中,STM32单片机和51单片机是两种常见的单片机芯片。本文将对比分析这两种单片机的区别,并探讨STM32单片机的优势。

关键字: stm32单片 51单片机

51单片机是指由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了许多品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基...

关键字: 51单片机 串行通信

Holtek持续扩展Touch A/D Flash MCU产品,新增系列成员BS86C12CA,延续优良抗干扰特性,提供丰富的定时器资源并支持LXT振荡器。引脚与BS86C08C及BS86D12C相容,具高性价比,适合需...

关键字: MCU LXT振荡器 定时器

采用MCU(微控制器单元)模块实现定时器的设计是通过利用MCU内部的定时器/计数器资源来实现的。定时器是MCU中的一个重要功能模块,它可以在特定的时间间隔内执行特定的操作,如产生中断、更新定时器值、触发其他设备等。

关键字: mcu模块 定时器

51单片机是一种常见的微控制器,它具有串行通信接口(Serial Communication Interface,SCI)。通过串口通信接口,51单片机可以与其他设备或系统进行串行通信,实现数据传输和控制。

关键字: 51单片机 串口通信

单片机的外设是指与单片机核心处理部分相连的附加硬件模块,它们能够扩展单片机的功能和能力。这些外设包括各种模块和接口,用于处理特定的任务或实现特定的功能。

关键字: 单片机 定时器

Pic单片机和51单片机是两种应用广泛的微控制器,它们各自具有不同的特点和优势,选择哪种单片机取决于具体应用需求。下面将对Pic单片机和51单片机进行详细的介绍和对比。

关键字: PIC单片机 51单片机 单片机
关闭
关闭