jda

<pre name="code" class="java">void interrupt Timer()	//中断响应函数
{
    unsigned short int uSwitch;
    unsigned char counter = 0;   //计算有多少个开关拨到On
	unsigned char i;
    uSwitch=SWITCH;
	uSwitch&=0x0f;
	unsigned short int temp = uSwitch;
	while(temp){             //计算uSwitch有多少个1(即有多少个开关打开)的算法
		counter ++;
		temp &= (temp - 1);
	}
    TIMER1PRD=3126000 / (counter + 1);    //重新设置定时器1的周期,每打开一个开关频率加倍
	LBDS &= uSwitch;        //设置开关没打开的LED灯为灭,保留开关打开的LED灯为原始值即不进行操作
	LBDS ^= uSwitch;        //使开关
}

void interrupt Timer() //中断响应函数{ unsigned short int uSwitch; unsigned char counter = 0; //计算有多少个开关拨到Onunsigned char i; uSwitch=SWITCH;uSwitch&=0x0f;unsigned short int temp = uSwitch;while(temp){ //计算uSwitch有多少个1(即有多少个开关打开)的算法counter ++;temp &= (temp - 1);} TIMER1PRD=3126000 / (counter + 1); //重新设置定时器1的周期,每打开一个开关频率加倍LBDS &= uSwitch; //设置开关没打开的LED灯为灭,保留开关打开的LED灯为原始值即不进行操作LBDS ^= uSwitch; //使开关}
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值