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++;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯