欢迎来到天天文库
浏览记录
ID:38060451
大小:28.50 KB
页数:4页
时间:2019-05-24
《AVR秒表设计程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include#include#defineuintunsignedint#defineucharunsignedcharucharMs=0,Second=0,a,b=0,c=0,d=0,e,k;uchartable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};uchartable1[7];uchartable2[7];voiddelay_ms(uintms){uinti,j;for(i=0;i2、dport_init(){DDRA=0XFF;PORTA=0X00;DDRB=0XFF;PORTB=0X00;DDRC=0XFF;PORTC=0XFF;DDRD=0xFF;PORTD=0XFF;DDRD&=0xF8;}#pragmainterrupt_handlerclock:9voidT1_init(){//TCCR1B=0X03;TCNT1H=0XFF;TCNT1L=0X64;TIMSK3、=0X04;SREG4、=BIT(7);}//定时器1中断服务程序,每1毫秒发生一次中断voidclock(){Ms++;if(Ms==100){Ms=0;Second++;if(Seco5、nd==60)Second=0;}TCNT1H=0XFF;TCNT1L=0X64;}voidkey(){if((PIND&(1<6、0){if(a){table1[b]=Second;b++;if(b==7)b=0;table2[c]=Ms;c++;if(c==7)c=0;}else{e=1;Second=table1[d];Ms=table2[d];d++;if(d==7){d=0;}}while((PIND&(1<7、t();while(1){key();for(n=3;n<7;n++){PORTD&=~BIT(n);switch(n){case3:PORTA=table[Second/10];break;case4:PORTA=table[Second%10];break;case5:PORTA=table[Ms/10];break;case6:PORTA=table[Ms%10];break;default:break;}delay_ms(1);PORTD=0XFF;}}}
2、dport_init(){DDRA=0XFF;PORTA=0X00;DDRB=0XFF;PORTB=0X00;DDRC=0XFF;PORTC=0XFF;DDRD=0xFF;PORTD=0XFF;DDRD&=0xF8;}#pragmainterrupt_handlerclock:9voidT1_init(){//TCCR1B=0X03;TCNT1H=0XFF;TCNT1L=0X64;TIMSK
3、=0X04;SREG
4、=BIT(7);}//定时器1中断服务程序,每1毫秒发生一次中断voidclock(){Ms++;if(Ms==100){Ms=0;Second++;if(Seco
5、nd==60)Second=0;}TCNT1H=0XFF;TCNT1L=0X64;}voidkey(){if((PIND&(1<6、0){if(a){table1[b]=Second;b++;if(b==7)b=0;table2[c]=Ms;c++;if(c==7)c=0;}else{e=1;Second=table1[d];Ms=table2[d];d++;if(d==7){d=0;}}while((PIND&(1<7、t();while(1){key();for(n=3;n<7;n++){PORTD&=~BIT(n);switch(n){case3:PORTA=table[Second/10];break;case4:PORTA=table[Second%10];break;case5:PORTA=table[Ms/10];break;case6:PORTA=table[Ms%10];break;default:break;}delay_ms(1);PORTD=0XFF;}}}
6、0){if(a){table1[b]=Second;b++;if(b==7)b=0;table2[c]=Ms;c++;if(c==7)c=0;}else{e=1;Second=table1[d];Ms=table2[d];d++;if(d==7){d=0;}}while((PIND&(1<7、t();while(1){key();for(n=3;n<7;n++){PORTD&=~BIT(n);switch(n){case3:PORTA=table[Second/10];break;case4:PORTA=table[Second%10];break;case5:PORTA=table[Ms/10];break;case6:PORTA=table[Ms%10];break;default:break;}delay_ms(1);PORTD=0XFF;}}}
7、t();while(1){key();for(n=3;n<7;n++){PORTD&=~BIT(n);switch(n){case3:PORTA=table[Second/10];break;case4:PORTA=table[Second%10];break;case5:PORTA=table[Ms/10];break;case6:PORTA=table[Ms%10];break;default:break;}delay_ms(1);PORTD=0XFF;}}}
此文档下载收益归作者所有