永发信息网

AVR单片机做的秒表如何实现暂停和继续计时。

答案:1  悬赏:40  手机版
解决时间 2021-11-28 17:54
  • 提问者网友:轻浮
  • 2021-11-28 12:45
AVR单片机做的秒表如何实现暂停和继续计时。
最佳答案
  • 五星知识达人网友:从此江山别
  • 2021-11-28 13:58

#include
#include

#define uchar unsigned char
#define uint unsigned int

uchar miao;
uint count;

void timer0_init(void)
{
DDRD=0x00;//设置端口D为输入
PORTD=0xFF;//打开上拉
TCNT0 = 61; //设置 TC0 的 计数寄存器值
TCCR0 = 0x07;//设置为1024分频
SREG = 0x80; //设置 中断控制寄存器,打开总中断
TIMSK = 0x01; //设置 定时计数器 的 屏蔽寄存器

}
void key()
{
if(!(PIND&(BIT(4))))//端口PD4为按键
{
TCCR0=0;//设置定时器为不工作

}
while(!(PIND&(BIT(4))));
TCCR0=0x07;//按键松开后重新设置定时器启动
}

void main(void)
{

timer0_init();
while(1)
{
key();

if(count==40)
{
miao++;
count=0;
if(miao==60)
miao=0;

}
}
}

#pragma interrupt_handler timer0_ovf_isr:17//AVR128定时器中断向量号,其他的不同
void timer0_ovf_isr(void)//
{

TCNT0 = 61; //
count++;

}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯