📄 a.c
字号:
#include <pic1687x.h>
unsigned char count;
unsigned char uSec=0,mSec=0,Sec_1=0,Sec_2=0;
const unsigned char Led_dot[11]={0X40,0x79,0X24,0X30,0X19,0X12,0X02,0X78,0X00,0X10,0X40}; //带小数点的数码段
const unsigned char Led[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90,0xc0}; //不带小数点的数码段
void Init_timer() //4M的晶体 T=(256-初值)*(4/f)* 分频比
{
PSA=0; //128分频后
PS2=1;
PS1=1;
PS0=0;
T0IF=0; //清除TMR0的中断标志
T0IE=1; //TMR0中断允许
TMR0=217; //定时1ms
T0CS=0; //TMR0工作于定时器方式
}
void delay(void)
{
unsigned char i;
for(i=100;i>0;i--);
}
void display (void)
{
PORTA=0xFE;
PORTC=Led[uSec];
delay();
PORTA=0xFD;
PORTC=Led[mSec];
delay();
PORTA=0xFB;
PORTC=Led_dot[Sec_1];
delay();
PORTA=0xF7;
PORTC=Led[Sec_2];
delay();
}
void interrupt Update(void)
{
if(T0IF)
{
count++;
T0IF=0;
TMR0=217;
if( count==2 )
{
count=0;
uSec++;
if( uSec==10)
{
uSec=0;
mSec++;
if( mSec==10 )
{
mSec=0;
Sec_1++;
if( Sec_1==10)
{
Sec_1=0;
Sec_2++;
if( Sec_2==10 )
{
Sec_2=0;
}
}
}
}
}
display();
}
}
main()
{
TRISA=0x00;
ADCON1=0x07;
TRISC=0x00;
GIE=1;
Init_timer();
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -