|
请问程序中point_on和time_counter的作用,没看懂这两个,谢谢!~- #include <mega16.h>
- #include <delay.h>
- char time[3];
- char dis_buff[6];
- flash char led_7[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x7F,0x6F};
- bit point_on;
- flash char position[6]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
- char time_counter;
- void time_to_disbuffer(void)
- {
- char i,j=0;
- for(i=0;i<2;i++)
- {
- dis_buff[j++] = time[i] % 10;
- dis_buff[j++] = time[i] / 10;
- }
- }
- void display(void)
- {
- char i;
- for(i=0;i<=5;i++)
- {
- PORTA = led_7[dis_buff[i]];
- if (point_on && (i==2||i==4)) PORTA |= 0x80;
- PORTC = position[i];
- delay_ms(2);
- PORTC =0xff;
- }
- }
- void main()
- {
- PORTA=0x00; //初始化POTA
- DDRA=0xFF;
- PORTC=0x3F; //0011 1111
- DDRC=0x3F; //0011 1111,PORT0-PORT5输入
- time[2] = 23;
- time[1] = 58;
- time[0] = 55;
- time_to_disbuffer();
-
- while(1)
- {
- display();
- if(++time_counter >=40)
- {
- time_counter = 0;
- point_on=~point_on;
- if(++time[0]>=60)
- {
- time[0] = 0;
- if(++time[1]>=60)
- {
- time[1] = 0;
- if(++time[2]>=24) time[2] = 0;
- }
- time_to_disbuffer();
- }
- delay_ms(13);
- }
- }
- }
复制代码 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|