完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
void timer0_init(void)
{ TCCR0 = 0x00; TCNT0 = 0x83; //1ms OCR0 = 0x7D; TCCR0 = 0x03; } #pragma interrupt_handler timer0_ovf_isr:10 void timer0_ovf_isr(void) { if(softkey1flag==0) { Timer0count1++; if(Timer0count1==100) { Timer0count1=0; Timer0count2++; if(Timer0count2==50) 5s { Timer0count2=0; Timer0flag=1; } } } TCNT0 = 0x83; } void timer1_init(void) //20ms { TCCR1B = 0x00; TCNT1H = 0xF6; TCNT1L = 0x3C; TCCR1A = 0x00; TCCR1B = 0x03; } #pragma interrupt_handler timer1_ovf_isr:9 void timer1_ovf_isr(void) { SEI(); //re-enable interrupts if(softkey1flag==1) { Timer1cnt++; if(Timer1cnt==50) { Timer1cnt=0; second++; if(second%2==0) beepflag=!beepflag; if(second>TimeAllowToSeat) sitting_toolong=1; if(second==60) { second=0; minute++; if(minute==60) { minute=0; hour++; if(hour==24) { hour=0; } } } } } TCNT1H = 0xF6; TCNT1L = 0x3C; } void main() { DDRD&=~(0<<0X0F); //设置端口输入PD PORTD|=(0<<0X0F); //设置输入口上拉 DDRC&=~(0<<0X03); //设置端口输入PD PORTC|=(0<<0X03); //设置输入口上拉 DDRA=0x58; PORTA|=BIT(BEEP); DDRB=0XFF; CLI(); //usart_int(); timer0_init(); TIMSK = 0x01; timer1_init(); TIMSK = 0x04; SEI(); while(1) { key_handler(); send_data(); if((sitting_toolong==1)&&(softkey1flag==1)) { if(beepflag==0) PORTA&=~BIT(BEEP); if(beepflag==1) PORTA|=BIT(BEEP); } if(softkey1flag==0) { PORTA|=BIT(BEEP); } if(Timer0flag==1) //为啥 Timer0flag一直为0,总中断我也开了; { second=0; minute=0; hour=0; Timer0flag=0; } } } |
|
相关推荐
3个回答
|
|
Timer0就是没法正常进行中断
|
|
|
|
timer0_init();
TIMSK = 0x01; timer1_init(); TIMSK = 0x04; SEI(); 注意对TIMSK 的赋值操作 两次赋值 最后TIMSK实际上的值是 0x40 也就是说你屏蔽了T0 中断 当然不能搞事了 |
|
|
|
注意看看
void timer0_init(void) { TCCR0 = 0x00; //无时钟TC不工作2 TCNT0 = 0x83; //1ms OCR0 = 0x7D; TCCR0 = 0x03; } timer0_init(); TIMSK = 0x01; timer1_init(); TIMSK = 0x04; //这句只是开启中断1请详细看看这两个寄存器的位说明 |
|
|
|
只有小组成员才能发言,加入小组>>
AVR Atmega16 Bootloader程序与上位机LabView程序
5122 浏览 6 评论
#include <ioavr.h>这个头文件我应该下什么编译器
7767 浏览 0 评论
3026 浏览 2 评论
3103 浏览 1 评论
10053 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 05:56 , Processed in 0.439180 second(s), Total 52, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号