单片机
返回首页

HOLTEK ht67f50单片机timer0定时

2015-11-02 来源:eefocus

1.HOLTEK该款单片机还是很不错的,功能基本齐全,就是没有uart,让我很头疼,不过其他的性能不错,尤其是定时器功能可所谓一应俱全。

下面是我实验timer0的基础定时,按照数据手册上的来弄是很简单的:

#include 'HT67F50.h'
#pragma vector isr_14 @ 0x24  //时基中断服务程序    修改

#define Loud      _1d_5    //蜂鸣器定义   PB5修改

unsigned long  count;

void initial() //IO初始化
 

//    _intc1 = 0x02;     //关闭时基中断
//    _intc0 = 0x01;    //允许全局中断和定时器0中断


  //**蜂鸣器********************   
 _pbc &= 0xcf;  
 _pb &= 0xcf;  

 //**led********************   
 _pec = 0x00;  
 _pe  = 0x00;  
 
  //*****按键初始化*********
//  _cp0c = 0x00;
// _cp1c = 0x00;
// _tmpc0= 0x00;
// _acerl= 0x00;   //pa口其他的不能占用
      
}
void time0_init()
{
 _tmpc0=0x00;         // time 输出脚不使能TP1A,TP1B_2,TP1B_1,TP1B_0,TP0_1,TP0_0
 _tmpc1=0x00;         // time 输出脚不使能TP3_1,TP3_0,TP2_1,TP2_0
 _tm0c0=0x00;         //run,Fsys/4, off
 _tm0c1=0xc1;         //定时计数模式 CCRA
 _tm0al=0xff;  
 _tm0ah=0x03;          //最大为3
 _mf0e=1;     //多功能中断0使能
 _t0ae=1;     //TM0 A匹配中断控制位
 _emi=1;               //开总中断
 _t0on=1;              //开定时器
}
#pragma vector isr_timer0 @ 0x14 //定时器计数器0  
void isr_timer0()
{
   _t0af=0;                //标志必须清零
   if(count>3000)
    {
      count=0;
      _pe=~_pe;     
    }
    else count++;

void DelayMs(unsigned long number)     //延时
{
 unsigned char temp;
 for(;number!=0;number--)
 
    for(temp=60;temp!=0;temp--);
        _clrwdt();
 }
}

void main()

 initial(); 
   time0_init();                        
 while(1)
 
     ;
 }
}

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

  • SOC系统级芯片设计实验

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

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

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

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

精选电路图
  • 红外线探测报警器

  • 短波AM发射器电路设计图

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 用NE555制作定时器

  • 如何调制IC555振荡器

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章