51单片机学习笔记之定时器程序设计

一、定时器/计数器概述

1.相关寄存器

(1)TMOD——方式控制寄存器

    GATE C/T M1 M0(T1 T0)

  GATE=0,定时器/计数器的运行由内部TR0/TR1置1选通;

  GATE=1,定时器/计数器的运行由外部中断(I引脚P3.2/P3.3)和内部TR0/TR1 置1共同选通;

  C/T=1,外部脉冲计数(P3.4/P3.5),=0,定时器内部脉冲计时(晶振的倒数乘以12,所得值与定时器初值的乘积为总时间);

  M1/M0,00,模式0——TH高8位和TL低5位作用,2^13;

    01,模式1——TH高8位和TL低8位作用,2^16(常用);

    02,模式2——TH/TL中都放入初值,当TL中的值溢出后TH中的初值重新装入TL中,持续计数,2^8(常用与串行口波特率发生器);

    03,模式3——TL使用T0的状态位,同模式0/1,2^8;TH使用T1的状态位和中断(只适用于T0)

(2)TCON——中断控制寄存器

    TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

  TF1/TF0 溢出时置1;

  TR1/TR0置1开始计数

2.初始化程序

TMOD=0x06;    //初始化T0作为方式2,外部计数,0000 0110;
TL0=0X056;    //设置初值
TH0=0X0FF;    //设置初值
TR0=1;    //开始计数

3.初值计算

定时:X=MAX-定时值/T

计数:X=MAX-计数值

4.实例

 

转载于:https://www.cnblogs.com/Sonny-xby/p/9983499.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/426401.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言三阶素数魔方阵,用C语言构造3*3素数魔方阵,即找出9个不大于500的素数并排成魔方阵。...

匿名用户1级2014-05-10 回答#include<stdio.h>int sushu(int n){int i;if(n1) return 1;for(i2; i<n; i)if(n%i0) break;if(ni) return 1;else return 0;}int wunai(int t, int b, int c, int d, int e, int f, int g, int h, int p){int a[9];int i, j;a[0]t; a[1]b;…

java学习(96):线程的睡眠

//线程的睡眠 public class test31 {public static void main(String[] args){Xc43 xc43new Xc43();Thread cccnew Thread(xc43);ccc.start();} } class Xc43 implements Runnable {public void run(){for (int i0;i<10;i){System.out.println(Thread.currentThread().getNa…

《北方》--艾青

而我 ——这来自南方的旅客&#xff0c; 却爱这悲哀的北国啊。 扑面的风沙 与入骨的冷气&#xff0c; 决不曾使我咒诅&#xff1b; 我爱这悲哀的国土&#xff0c; 一片无垠的荒漠&#xff0c; 也引起了我的崇敬&#xff1a; ——我看见 我们的祖先 带领了羊群&#xff0c; 攻着…

android 广播唤醒应用,Android通过广播实现灭屏和唤醒

1、要实现灭屏和唤醒&#xff0c;需要在Manifest文件添加如下权限&#xff1a;2、以下是封装的一个工具类&#xff0c;实现屏幕唤醒和熄灭package testWakeAndLock;import android.content.Context;import android.os.PowerManager;import android.os.SystemClock;import com.e…

java学习(97):中断线程的另一种处理

public class test32 {public static void main(String[] args){Thread xc13new Thread(new Xc44());Thread xc14new Thread(new Xc44());xc13.setName("线程一");xc14.setName("线程二");xc13.start();xc14.start();} } class Xc44 implements Runnable {…

调试nodejs项目接口,使用Posman,用req.body拿不到数据

近日在postman 上面测试nodejs写的post接口&#xff0c;发现后台接受不到数据。 很多人其实不知道怎么postman 上面GET和POST怎么使用的 Postman接口操作 1.GET请求操作&#xff1a; 2.GET请求操作结果&#xff1a; 3.POST请求操作&#xff1a; 4.POST请求操作结果&#xff1a;…

x-lite for linux,Linux Lite 4.6正式发布:现基于Ubuntu 18.04.3 LTS

原标题&#xff1a;Linux Lite 4.6正式发布&#xff1a;现基于Ubuntu 18.04.3 LTS创建者Jerry Bezencon于今天正式宣布Linux Lite 4.6系统版本更新&#xff0c;和上个版本4.4相隔5个月时间。新版本基于Canonical最近发布的Ubuntu 18.04.3 LTS(Bionic Beaver)操作系统&#xff0…

java学习(98):线程join使用中断进行另一个

public class test33 {public static void main(String[] args) {Xc46 xc46new Xc46();Thread dd new Thread(xc46);dd.start();try {dd.join();} catch (Exception e) {}for (int i0;i<15;i) {System.out.println("主函数"i);}} } class Xc46 implements Runna…

java学习(99):车站卖票问题

//买票问题 class Xc9 implements Runnable{public static int chepiao100;static String aanew String("1");//字符串随意定义&#xff0c;定义在函数上面public void run(){while (true){synchronized (aa) //可以修饰代码块&#xff0c;又可以修饰函数/*try{Thre…

Android studio实现底部导航,AndroidStudio制作底部导航栏以及用Fragment实现切换功能...

前言大家好&#xff0c;我是 Vic&#xff0c;今天给大家带来AndroidStudio制作底部导航栏以及用Fragment实现切换功能的概述&#xff0c;希望你们喜欢学习目标AndroidStudio制作底部导航栏以及用Fragment实现切换功能&#xff0c;用户点击底部导航栏可以实现三个模块的跳转。图…

H5新人福音~零配置搭建现代化的前端工程

X-BUILD一套基于Webpack(v4.21.0)快速搭建H5场景开发环境的脚手架&#xff0c;只需要几分钟的时间就可以运行起来。X-BUILD是针对H5开发的一套自动化构建工具&#xff0c;致力于提升开发效率&#xff0c;减小开发难度。它可以让你在没有任何构建工具&#xff08;例如 grunt 、 …

java学习(100):集合类简介

//集合类的作用 public class test35 {private String name;private int num;private int grade;public test35(String name,int num,int grade){this.namename;this.numnum;this.gradegrade;}public String getName() {return name;}public int getGrade() {return grade;}pub…

android.9背景图变形,Android聊天背景图片变形解决方案

Android聊天背景图片变形&#xff0c;一般是由于键盘引起的。可以参看StackOverFlow解决的地址&#xff1a;外链网址已屏蔽我这里用的也是参考这里的方法&#xff1a;解决方法很简单&#xff1a;1、在AndroidManifest.xml文件里面的Activity配置&#xff1a;android:windowSoft…

第六天任务情况

今天的任务是完善程序再加入一个物理实验,我们的软件功能是能够添加各种实验包括公用的还是专业内的都可以纳入到我们的软件中, 可以想下载哪个下载哪个,不过这都是日后的目标了,我们现在制作出一个简单的程序和资源还不能分开的软件,希望越来越好吧 昨日任务:代码对接 今日任务…

java学习(101):arraylist的遍历和增加

//arraylist的遍历和增加 import java.util.ArrayList;public class test37 {public static void main(String[] args){ArrayList aa1new ArrayList();//当前对象个数System.out.println(aa1.size());test35 xs1new test35("歌谣",3,4);test35 xs2new test35("小…

android在主程序中调用图片,009android初级篇之APP中使用系统相机相册等集成应用...

009android初级篇之APP中使用系统相机相册等集成应用android应用中使用相机功能&#xff0c;大致有两种方式实现&#xff1a;直接调用系统内部的相机程序&#xff0c;显示的也是系统预设的界面(简单&#xff0c;只有简单的拍照功能)&#xff1b;自己去implement一个相机程序(不…

生成下拉框的几种方法总结——数据来源:枚举

上节介绍数据来源是数据库&#xff0c;这节介绍对枚举进行数据获取&#xff0c;形成下拉列表。 使用场景&#xff1a;某些状态值获取等&#xff0c;一般是数据量小&#xff0c;不需要在数据库中进行维护的数据集 1、前提要有枚举数据 package com.test.entity.neworder;import …

java学习(102):arraylist的查询和删除

arraylist的查询和删除 //arraylist的遍历和增加 import java.util.ArrayList;public class test38 {public static void main(String[] args){ArrayList aa1new ArrayList();//当前对象个数System.out.println(aa1.size());test35 xs1new test35("歌谣",3,4);test35…

Android11怎么截屏,对标IOS?Android11或无缘屏幕长截图

我收集了一些学习用的资料&#xff0c;其中包含了很多学习&#xff0c;面试&#xff0c;中高进阶fluuter资料&#xff0c;还有很多视频详解&#xff0c;如果有同学想进一步了解&#xff0c;详情请看文末。也欢迎各路大神门前来装X。一直以来&#xff0c;不少用户都很喜欢用长截…

医疗:HIS(1)

1医疗信息系统概念2医疗信息系统组成 3医疗信息系统功能 4医疗信息系统特点 5意义 6分类 7发展趋势 1医疗信息系统概念 医院信息系统是指利用计算机软硬件技术和网络通信技术等现代化手段&#xff0c;对医院及其所属各部门的人流、物流、财流进行综合管理&#xff0c;对在…