• 51单片机学习:定时器0实验


    实验名称:定时器0实验
    接线说明:    
    实验现象:下载程序后,D1指示灯间隔1s闪烁
    注意事项:                                                                                  
    ***************************************************************************************/
    #include "reg52.h"

    typedef unsigned int u16;    //对系统默认数据类型进行重定义
    typedef unsigned char u8;

    //定义LED1管脚
    sbit LED1=P2^0;

    /*******************************************************************************
    * 函 数 名       : delay_10us
    * 函数功能         : 延时函数,ten_us=1时,大约延时10us
    * 输    入       : ten_us
    * 输    出         : 无
    *******************************************************************************/
    void delay_10us(u16 ten_us)
    {
        while(ten_us--);    
    }

    /*******************************************************************************
    * 函 数 名       : time0_init
    * 函数功能         : 定时器0中断配置函数,通过设置TH和TL即可确定定时时间
    * 输    入       : 无
    * 输    出         : 无
    *******************************************************************************/
    void time0_init(void)
    {
        TMOD|=0X01;//选择为定时器0模式,工作方式1
        TH0=0XFC;    //给定时器赋初值,定时1ms
        TL0=0X18;    
        ET0=1;//打开定时器0中断允许
        EA=1;//打开总中断
        TR0=1;//打开定时器        
    }

    /*******************************************************************************
    * 函 数 名       : main
    * 函数功能         : 主函数
    * 输    入       : 无
    * 输    出         : 无
    *******************************************************************************/
    void main()
    {    
        time0_init();//定时器0中断配置

        while(1)
        {            
                                
        }        
    }

    void time0() interrupt 1 //定时器0中断函数
    {
        static u16 i;//定义静态变量i
        TH0=0XFC;    //给定时器赋初值,定时1ms
        TL0=0X18;
        i++;
        if(i==1000)
        {
            i=0;
            LED1=!LED1;    
        }                        
    }

    纷传单片机学习资料放在纷传小程序里了,需要的可以加入圈子有资料百度网盘下载地址及提取码。

  • 相关阅读:
    【C++】模板基础 + STL
    c++ 类修饰指针
    【Unity3D】UI Toolkit数据动态绑定
    nginx七层负载均衡配置
    视频的二维码怎么做?教你一个实用技巧操作
    【数据分享】全国33个城市的手机数据集产品(居住\工作\通勤)
    计算机组成原理——中央处理器-指令执行过程(课程笔记)
    遍历用for还是foreach?
    基于JAVA汽车销售系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
    Golang | Leetcode Golang题解之第123题买卖股票的最佳时机III
  • 原文地址:https://blog.csdn.net/qq_63964231/article/details/126907952