单片机
返回首页

51单片机 定时器T0方式1 控制流水灯

2015-10-30 来源:eefocus

    定时器这家伙在哪里都会用到,实际工程开发中没有能离开定时器的。所以掌握定时器就尤为重要了,这里主要提到的是最基本的使用了--用于定时。

    LED原理图见《51单片机--流水灯演示》,定时器没有原理图,属于单片机内部资源。

    代码如下:

#include                        //头文件
#include
#define uint unsigned int                //宏定义
uint jishuNumber,aa;                     //定义jishuNumber为计数器计满次数(本程序20次为1S) aa代表流水号

void main()                              //主函数入口
{
  aa=0xfe;                                //初始化为点亮第一个LED灯
  P1=aa;                            
  //定时器T0方式1初始化(其它通用)
  TMOD=0x01;                             //①TMOD赋值,以确定T0/T1的工作方式
  TH0=(65536-46080)/256;                 //②计算初值,并将初始化值写入TH0/TL0
  TL0=(65536-46080)%6;
  EA=1;                                  //③开放相应中断
  ET0=1;                                 //④TR0/TR1置位,启动相应定时器/计数器
  TR0=1;
  while(1)
  {
    if(jishuNumber==20)                  //如果1S
    {
      jishuNumber=0;
   aa=_crol_(aa,1);                   //把aa左旋之后赋值给aa
   P1=aa;                             //流水灯点亮
 }
  }
}
void T0_time_no1() interrupt 1           //中断服务程序
{
  TH0=(65536-46080)/256;
  TL0=(65536-46080)%6;
  jishuNumber++;                         //计满一次加1
}


    以上,结束。

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

最新器件
精选电路图
  • 光控音效发生器电路

  • 非常简单的150W功放电路图

  • 一个简单的警笛电路图

  • 基于IC555的可变PWM振荡器电路

  • 分享一个电网倾角计电路

  • 电谐波图形均衡器示意图

    相关电子头条文章