应广单片机可以用c语言,应广单片机(一)

/****************************************************************

函数名称:void  Set_User_T16(void)

函数功能:定时器计数定时256us

函数参数:无

函数返回值:无

函数说明:

****************************************************************/

#define USER_TIMER_CONFIG()     $ T16M IHRC, /4, BIT10

#define ENABLE_TIMER()               SET1 INTEN.2 //$ INTEN T16 //开定时器中断

#define DISENABLE_TIMER()          SET0 INTEN.2 //关定时器中断

#define INIT_TIMER_VALUE(n)       STT16 n//装载定时器计数值

#define CONST_TIMER_VALUE       0

#define EA_INT()                           ENGINT//开总中断

#define DIS_INT()                          DISGINT//关总中断

/**************************************************************/

void  Set_User_T16(void)/*定时256us进一次中断                   2^10/(16/) = 256us*/

{

//SET0 T16flag;//reset the flag

USER_TIMER_CONFIG();

T16val = CONST_TIMER_VALUE;//256us

INIT_TIMER_VALUE(T16val);

INTRQ = 0;//清除INTRQ

EA_INT();

ENABLE_TIMER();

}

/************************************************

中断服务函数

************************************************/

void        Interrupt (void)

{

pushaf;

if (Intrq.T16)/*256us进入一次中断*/

{        //        T16 Trig

//        User can add code

Intrq.T16        =        0;

T16val = CONST_TIMER_VALUE;

INIT_TIMER_VALUE(T16val);

LED_Scan1();

//LED_scan2();

}

popaf;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值