定时产生200ms方波

这篇具有很好参考价值的文章主要介绍了定时产生200ms方波。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

/*-----------------------------------------------

  内容:通过定时产生200mS方波 
------------------------------------------------*/
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

sbit OUT=P1^2;    //定义OUT输出端口

/*------------------------------------------------
                    定时器初始化子程序
------------------------------------------------*/
void Init_Timer0(void)
{
 TMOD |= 0x01;      //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响             
 //TH0=0x00;          //给定初值,这里使用定时器最大值从0开始计数一直到65535溢出
 //TL0=0x00;
 EA=1;            //总中断打开
 ET0=1;           //定时器中断打开
 TR0=1;           //定时器开关打开
}
/*------------------------------------------------
                    主程序
------------------------------------------------*/
main()
{
 Init_Timer0();
 while(1);
}

/*------------------------------------------------
                 定时器中断子程序
------------------------------------------------*/
void Timer0_isr(void) interrupt 1 using 1
{
 static unsigned char i;
 TH0=(65536-10000)/256;          //重新赋值 12M晶振计算,指令周期1uS,
                              //200mS方波半个周期100mS,由于定时器
                              //最大值65536 即65.536ms 所以
 TL0=(65536-10000)*256;       //直接定时器不够用,需要用循环处理,
                              //定时10ms,然后循环10次后输出 10x10=100ms

 i++;
 if(i==11)
 {
   i=0;
   OUT=~OUT;        //用示波器可看到方波输出 
  }

}

 文章来源地址https://www.toymoban.com/news/detail-678976.html

到了这里,关于定时产生200ms方波的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 蓝桥杯单片机学习13——NE555方波发生器&频率测量

    NE555是一种高度稳定的控制器,内部用三个阻值为5KΩ的电阻分压,因此叫做555芯片。能够产生精确的定时脉冲。单稳态工作时,延时由一个外部电阻和一个电容控制。工作稳定,频率和占空比由两个外部电阻和一个电容器精确控制。具有以下特点: 【1】:大电流驱动能力(

    2024年02月03日
    浏览(32)
  • 基于51单片机的波形发生器(PCF8591、正弦波、三角波、锯齿波、方波)

            正弦波、三角波、锯齿波和方波是我们平时最常见的四种波形,那么学会使用单片机产生这四种波就很重要了。但学过51单片机就知道,其IO引脚只能输出高电平或低电平,单靠其引脚生成以上波形,好像不大可能,因此我们需要配合使用另一个很重要的芯片,DAC芯片

    2024年02月09日
    浏览(74)
  • 定时产生不同频率方波

    /*-----------------------------------------------   内容:通过定时产生不同频率方波  ------------------------------------------------*/ #includereg52.h //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 /*------------------------------------------------                     定时器初始化

    2024年02月11日
    浏览(52)
  • 单片机Hard fault 产生原因和错误跟踪的方法

    一、单片机 Hard fault产生的原因 Hard fault产生的原因有两方面,硬件方面和软件方面。 ①硬件方面常见原因 :  电源设计有错误,造成器件供电不稳;  电源质量不好,纹波,噪声过大;  器件接地不良;  对于带有 Vcap 引脚的器件,管脚处理不当;  电路中有强干扰源,对

    2024年02月03日
    浏览(48)
  • 【51单片机】:定时器的详解(包括对单片机定时解释、各类定时方式,以及中断方式)

              51定时/计数器的详解。                   码字不易,如有帮助请收藏,点赞哦。         前提:首先我们知道51单片机内部有21~26个特殊功能寄存器: P.x口寄存器:P0、P1、P2、P3 数据指针寄存器:DP0H、DP0L、DP1H、DP1L 定时器: TH1、TL1、TH0、TL0、TMOD、TCON 串口:

    2024年02月07日
    浏览(95)
  • 【单片机】STM32单片机的各个定时器的定时中断程序,标准库

    高级定时器和普通定时器的区别(https://zhuanlan.zhihu.com/p/557896041): TIM1是高级定时器,使用的时钟总线是RCC_APB2Periph_TIM1,和普通定时器不一样。 timer.c timer.h 调用 timer.c timer.h 调用 timer.c timer.h 调用 timer.c timer.h 调用 timer.c timer.h 调用

    2024年02月11日
    浏览(48)
  • 单片机-定时器时钟

    89C52RC 1.定时器0,lcd1602显示时间。    main.c

    2024年02月11日
    浏览(40)
  • 单片机中定时器

    1. 定时器的使用步骤 1)主函数; 2)对中断和定时器进行初始化=先设置计数器的工作方式,设定TH0、TL0或TH1、TL0的初值,即:TH0=(8192-C)/32,TL0=(8192-C)%32,开启中断和定时器,即:TR=1; 3)设置中断服务程序-》执行对应中断需要做的内容。 51单片机拥有两个定时器,分别为

    2024年02月08日
    浏览(42)
  • 51单片机定时器

    目录 前言 一、定时器的介绍及其作用 二、定时器的内部构造及其原理 计算机周期 定时器的工作模式与流程 定时器中断相关寄存器 寄存器的配置  三、程序 总结         下面来介绍学习51单片机第一个也是最常用的片上外设——定时器。该硬件是集成在单片机内部的,

    2024年02月05日
    浏览(56)
  • 【单片机】STM32单片机的各个定时器的定时中断程序,标准库,STM32F103

    高级定时器和普通定时器的区别(https://zhuanlan.zhihu.com/p/557896041): TIM1是高级定时器,使用的时钟总线是RCC_APB2Periph_TIM1,和普通定时器不一样。 timer.c timer.h 调用 timer.c timer.h 调用 timer.c timer.h 调用 timer.c timer.h 调用 timer.c timer.h 调用

    2024年02月07日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包