zoukankan      html  css  js  c++  java
  • 实现定时器定时 1 秒钟,LED 亮灭显示

    实现定时器定时 1 秒钟,LED 亮灭显示


     要求

    每隔一秒钟,实现LED灯的显隐转换

    实验代码

    /**************************************************************************************
    *                      定时器1中断实验                                                  *
    实现现象:实现定时器定时 1 秒钟,LED 亮灭显示
    注意事项:                                                                                  
    ***************************************************************************************/
    
    #include "reg52.h"             //此文件中定义了单片机的一些特殊功能寄存器
    
    typedef unsigned int u16;      //对数据类型进行声明定义
    typedef unsigned char u8;
    
    sbit led = P2^0;
    
    /*******************************************************************************
    * 函 数 名         : Timer1Init
    * 函数功能           : 定时器1初始化
    * 输    入         : 无
    * 输    出         : 无
    *******************************************************************************/
    void Timer1Init()
    {
        TMOD|=0X10;//选择为定时器1模式,工作方式1,仅用TR1打开启动。
        TH1=0XFC;    //给定时器赋初值,定时1ms
        TL1=0X18;    
        ET1=1;//打开定时器1中断允许
        EA=1;//打开总中断
        TR1=1;//打开定时器            
    }
    
    /*******************************************************************************
    * 函 数 名       : main
    * 函数功能         : 主函数
    * 输    入       : 无
    * 输    出         : 无
    *******************************************************************************/
    void main()
    {    
        Timer1Init();  //定时器1初始化
        while(1);        
    }
    
    /*******************************************************************************
    * 函 数 名         : void Timer1() interrupt 3
    * 函数功能           : 定时器0中断函数
    * 输    入         : 无
    * 输    出         : 无
    *******************************************************************************/
    void Timer1() interrupt 3
    {
        static u16 i;
        TH1=0XFC;    //给定时器赋初值,定时1ms
        TL1=0X18;
        i++;
        if(i==1000)
        {
            led = ~led;
            i=0;    
        }    
    }

    效果图

     

  • 相关阅读:
    php知识点
    cdnbest里站点域名不同步到节点,报400错误的一般原因
    linux删除历史操作命令
    linux 查看进程启动路径
    Linux中systemctl命令详细介绍
    申请ssl证书报提示caa提示
    开启swap交换分区
    mysql里max_allowed_packet的作用
    抓包工具tcpdump用法说明--1
    echo和print的区别
  • 原文地址:https://www.cnblogs.com/wjw1014/p/10138017.html
Copyright © 2011-2022 走看看