当前位置: 首页 > 编程日记 > 正文

【单片机】以输出方波为例的 定时器使用

实验要求:

利用Proteus软件画出电路图,单片机定时器/计数器以查询方式工作,在P1.0口产生周期为100us的连续方波,在P1.0口线上接上示波器观察波形。

前言:写这篇博客的意义在于,借助本实验可以复习定时器中断的使用以及了解proteus的一些新操作

代码实现:

#include <reg52.h>sbit out1 = P1^0;void initTimer0(){TMOD = 0X01;TH0 = (65535 - 100) / 256;TL0 = (65535 - 100) % 256;//使能定时/计数器中断	ET0 = 1;EA = 1;//启动定时器0TR0 = 1;
}void severTimer0() interrupt 1{TH0 = (65535 - 100) / 256;TL0 = (65535 - 100) % 256;out1 = ~out1;
}
void main(){initTimer0();//注意这个while(1)很重要,否则无法实现功能while(1);
}

定时器的使用:

1、TMOD寄存器的配置:

1)定时功能和计数功能的区别:

定时的时候触发源是时钟信号,其周期固定,所以可以计算时间;计数时触发源是外部脉冲,无法保证周期固定,只能记录脉冲的个数。

2)使用TR0、TR1来启动定时器所示GATE = 0

3)使用定时功能所以C/T  = 0

4)使用16位定时器,所以M1 M0为01

注:只用定时器0,所以定时器1相关的直接定于0即可

2、THX TLX初始化配置

1)计算出初始值:

一个脉冲为1us,如我们要定100us就将初始值定位(65535)

2)分别配置给THX TLX,如代码所示

注:

(1)如果要记的时间T超过了65535us就需要找到一个t在65535um内且T是t的整数倍

(2)分配时的256是因为低八位一共能表示到256

3、ET0、ET1控制使能定时/计数器中断,当值为1时表示打开中断

4、EA控制总中断,当值为1时表示打开中断

5、TRX = 1表示启动定时器

中断的使用:

1、中断号

主程序:

1、其中最主要的是while(1),main函数本身就是一个自循环函数,如果不加while(1)函数就一直在进行定时器初始化,所以无法进入中断

硬件实现:

电路图

示波器的使用:

1、放置示波器

2、如果示波器显示内容没有自动弹出来

相关文章:

经典GNA整理

最近学习了各种GAN的结构。在此记录下。 转载于:https://www.cnblogs.com/yeran/p/11251842.html

Global.asax

GlobalFilterCollectionRepresents a classthat contains all the globalfilters.HandleErrorAttributemvc中提供了HandleErrorAttribute特性&#xff0c;该特性用于处理由操作方法引发的异常AreaRegistration.RegisterAllAreas();注册 ASP.NET MVC 应用程序中的所有区域RouteC…

leetcode_1. Two Sum

leetcode_1. Two Sum 前言&#xff1a; 这段时间开始敲leetcode。我认为这并不仅仅只是为了应付笔试&#xff0c;面试。而是确实有着一定的意义。 尤其&#xff0c;你提交代码后&#xff0c;网站会多方面验证你的答案。 另外&#xff0c;提交成功后&#xff0c;你可以查看自己的…

linux ngxtop安装安装及使用

写在前面&#xff1a; ngxtop是Nginx日志实时分析利器 1.下载 下载地址&#xff1a;https://github.com/lebinh/ngxtop 下载zip文件到本地 登录linux服务器&#xff0c;定位到安装目录&#xff0c;执行 rz&#xff0c;选中上一步下载的zip文件&#xff0c;上传完成后执行unzip…

POJ1088(滑雪)

题目链接 动态规划题。 题目大意&#xff1a;给定一个二维数组&#xff0c;数组中每个数代表一个高度&#xff0c;每次只能向相邻且高度下降的方向移动&#xff0c;求最长的移动距离。 View Code 1 #include <stdio.h>2 #include <memory.h>3 #define MAX(a,b) ((…

【硬件基础】个人感悟+C语言 引入头文件时引号括号的区别

前言&#xff1a; 惊&#xff01;一博主又在水博客 其实不然&#xff0c;单片机从大一下半年就已经开始自学&#xff0c;但是可能是由于高中养成的惰性思维&#xff0c;不愿意思考&#xff0c;只想靠时间来获得内心的满足感&#xff1a;看我今天又学了一天。其实&#xff0c;假…

走在网页游戏开发的路上(八)

游戏中定时器的设计 0. 前言 在游戏开发中计时器/定时器是必须的&#xff0c;而且会在多处用到&#xff0c;如吃药补血每秒回10点且持续1分钟、玩家从一点到达另一点的过程需要多少时间。下面是定时器在七雄争霸中的几个应用场景&#xff0c;直接上图&#xff1a; 场景1&#…

[epoll]epoll理解

转自&#xff1a;http://blog.51cto.com/yaocoder/888374 1. 流 首先我们来定义流的概念&#xff0c;一个流可以是文件&#xff0c;socket&#xff0c;pipe等等&#xff0c;可以进行I/O操作的内核对象&#xff0c;不管是文件&#xff0c;还是套接字&#xff0c;还是管道&#x…

[kuangbin带你飞]专题五 并查集 E - 食物链 (带权并查集)

E - 食物链 题目链接&#xff1a;https://vjudge.net/contest/66964#problem/E 动物王国中有三类动物A,B,C&#xff0c;这三类动物的食物链构成了有趣的环形。A吃B&#xff0c; B吃C&#xff0c;C吃A。 现有N个动物&#xff0c;以1&#xff0d;N编号。每个动物都是A,B,C中的一种…

关于内网linux系统如果安装nodejs,npm,express,mongodb,forever等

内网的linux系统要安装nodejs以及express等系列的框架&#xff0c;因为系统是局域网和互联网是物理隔离的&#xff0c;所以&#xff0c;没法像官网的安装教程那样直接install了&#xff0c;只能手动安装&#xff0c;这里已经我们自己的linux 系统suse10 为例&#xff1a; 1 No…

【基础知识】如何在word中粘贴出漂亮整洁的代码

使用工具&#xff1a; notepad、WPS 操作实现&#xff1a; 1、右击代码文件使用NPP打开文件 2、选中要复制的代码 3、如图所示&#xff0c;依次点击如下内容 4、直接粘贴到word中&#xff0c;如图

浅析SQL Server数据修复命令DBCC的使用

SQL Server数据库提供了修复命令DBCC&#xff0c;当SQL Server数据库遭到质疑或者是有的无法完成读取时可以尝试用此命令来修复。以下是一些常见的DBCC修复命令&#xff0c;希望会给读者带来帮助。 1. DBCC CHECKDB 重启服务器后&#xff0c;在没有进行任何操作的情况下&#x…

Python之Mysql及SQLAlchemy操作总结

一、Mysql命令总结 1.创建库 create database test1; 2.授权一个用户 grant all privileges on *.* to feng% identified by 1qazWSX; 3.创建表 create table Teacher(teaId int not null, teaname varchar(100), age int, sex enum(M, F), phone int); 4.查询 select * from t…

NSwagStudio for Swagger Api

本案例主要说明如何使用NSwag 工具使用桌面工具快速生成c# 客户端代码、快速的访问Web Api。 NSwagStudio 下载地址 比较强大、可以生成TypeScript、WebApi Controller、CSharp Client 1、运行WebApi项目 URL http://yourserver/swagger 然后你将看到界面如下 1.1 Web API 代…

【html】如何解决标签设置成超链接后字体格式及颜色变化的问题

问题描述&#xff1a; 如图所示&#xff0c;将一个标签设置成超链接后字体颜色和格式会发生改变&#xff0c;如果我只想让它保持原来的格式应该怎么办&#xff1f; 解决方法&#xff1a; 在a标签中添加一个属性&#xff1a; style"color:inherit;" 添加后的代码&…

js判断 IE 浏览器

1 $.browser.msie && ($.browser.version 6.0) 转载于:https://www.cnblogs.com/zhupinglei/archive/2012/04/28/2475186.html

UNIX编程笔记:关于停止的进程接收信号的问题

为什么80%的码农都做不了架构师&#xff1f;>>> 因为资料缺少&#xff0c;按照测试得出来&#xff0c;停止状态的进程貌似只对SIGCONT有反应&#xff0c;而别的默认就是忽略。 转载于:https://my.oschina.net/kut/blog/27736

脱壳 VMProtect 1.70.4

【文章标题】: 脱壳 VMProtect 1.70.4 【文章作者】: hxqlky【作者邮箱】: zmunlkygmail.com【作者主页】: http://www.x5dj.com/hxqlky【下载地址】: 自己搜索下载【加壳方式】: VMProtect 1.70.4【保护方式】: VMProtect 1.70.4【编写语言】: MASM32 / TASM32 【使用工具】:…

互联网协议详解

本文转载自&#xff1a;https://www.cnblogs.com/111testing/p/6942585.html 目录&#xff1a;&#xff1a;&#xff1a;&#xff1a;&#xff1a;&#xff1a; 一、网络协议 二、TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09; TCP头格式…

【java】巨菜博主安装jdk为什么每次都失败?

今天到公司实习第一天&#xff0c;博主兴高采烈地的使用起来的公司配备的电脑&#xff0c;第一步是干啥&#xff1f;当然是安装JDK了&#xff0c;博主平生安装JDK次数数不胜数&#xff0c;但一遍整下来没有任何差错的情况少之又少。今天也不例外&#xff0c;多敲了个空格害我足…

怎么在vs2010中使用ActiveX Test Container(转)

ActiveX Test Container Application is Still Available(转) Hello, I’m Pat Brenner, a developer on the Visual C Libraries team. I’ve noticed some posts on various forums lamenting the loss of the ActiveX Test Container application and I wanted to address …

C#自定义控件四简易时钟

C#自定义控件四简易时钟效果图&#xff1a;简易时钟&#xff0c;顾名思义&#xff0c;简单容易&#xff0c;简单到什么程度呢&#xff1f;界面只有数字和指针&#xff0c;甚至连与当前时间都不能匹配&#xff01;呵呵&#xff01;就这么简单&#xff0c;学习嘛&#xff0c;从简…

GitLab 配置邮箱

设置 SMTP 发送邮件 这里以腾讯企业邮箱为例&#xff0c;其他邮箱可以参考 设置 SMTP 发送邮件。 SMTP 和 POP3/IMAP 协议 SMTP 负责发送邮件&#xff0c;POP3/IMAP 负责接收邮件。其中 IMAP 基本上替换掉了 POP3。 用户在使用客户端&#xff08;例如 Foxmail&#xff09;时&am…

在 Ubuntu Natty 中解除系统托盘限制

在 Ubuntu 11.04 Natty 中&#xff0c;Ubuntu 对顶部面板右上角的通知区域&#xff08;系统托盘&#xff09;采用了白名单制度&#xff0c;只有支持 Indicators 并位于白名单的部分程序才会被显示在系统托盘中&#xff0c;目前支持的程序有&#xff1a; Java apps, Mumble, Win…

Oracle10g客户端远程连接数据库全过程[转]

最近项目用到了oracle&#xff0c;使用的是oracle10g&#xff0c;因为小组内有多人使用数据库&#xff0c;并且oracle数据库很占内 存&#xff0c;就放在单独的一台服务器上&#xff0c;所以最好每个人都装一个oracle10g的客户端。那么客户端到数据库的远 程访问时免不了的了。…

【css】页面出现两个滚动条以及只有一半页面显示内容的解决方法

可能当修改页面的margin等属性时会出现页面只有一半的页面显示内容的情况&#xff0c;此时我们可以修改css代码来解决问题 代码实现&#xff1a; body{overflow:hidden}html{/*overflow-y:scroll;*/ }html{overflow: auto; } 注意&#xff1a;该代码为css代码&#xff0c;需…

Microsoft Dynamics Marketplace

微软对一些产品提供网上销售第三方插件/解决方案的站点叫做 Marketplace&#xff0c;比如 Windows Phone Marketplace, Dynamics Marketplace.这样可以帮助合作伙伴/客户提供一个网上的产品交流平台&#xff0c;Microsoft Dynamics Marketplace 针对微软CRM/ERP 产品&#xff0…

【hdu】4521 小明序列【LIS变种】【间隔至少为d】

题目链接&#xff1a;https://vjudge.net/contest/228455#problem/B 转载于&#xff1a;https://blog.csdn.net/a709743744/article/details/51765252 题目大意&#xff1a; 求最长上升子序列&#xff0c;其中子序列中相邻的两个数的下标差要超过k 解题分析&#xff1a; 子序列…

【bootstrap】bootstrap-4.5.0-example 各个模板展示

前言&#xff1a;博主做前端开发的时候经常用到bootstrap&#xff0c;但挑选模板的时候&#xff0c;需要一个一个的打开文件夹、打开html文件再查看模板是否合适&#xff0c;这样实在有点浪费时间&#xff0c;所以今天博主将各个页面截图展示出来&#xff0c;之后方便大家也方便…

HDU1053 Entropy 哈夫曼树

题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid1053 认真读题&#xff0c;别怕题长&#xff0c;此题考查的就是哈夫曼树并求出最小编码值&#xff0c;注意每一次要将数组清0&#xff0c;否则会出错&#xff01; AC代码&#xff1a; #include<iostream>…