📄 dtsmg.txt
字号:
#include<iom16v.h>
#include<macros.h>
unsigned char table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
0x80,0x90,};//定义字符表
unsigned char table1[]={0x01,0x02,0x4,0x08};
unsigned char led[4]={0};
unsigned int xdata=0,xdata1=0,i,j;
void delay(unsigned int a)
{
while(a--);
}
void delay_1ms(void)
{
unsigned int i;
for(i=1;i<(8*143-2);i++)
;}//xtal为晶振的频率
void delayms(int n)
{int i;
for(i=0;i<n;i++)
delay_1ms();
}
void delay_1s(void)
{int j;
for(j=0;j<1000;j++)
delay_1ms();
}//1秒
void delay_1min(void)
{int j;
for(j=1;j<=60;j++)
delay_1s();
}
void ledxianshi(void)
{unsigned char k,i;
led[0]=xdata%10;
led[1]=xdata/10;
led[2]=xdata1%10;
led[3]=xdata1/10;
for (k=0;k<4;k++)//动态扫描四位
{PORTB=table1[k];
i=led[k];
PORTA=table[i]-0x80;//小数点显示
delay(500);
PORTA=0XFF;//全部不显示。
}
}
void init(void)//初始化端口
{PORTB=0XF0;
DDRB=0XFF;
PORTA=0XFF;
DDRA=0XFF;
}
void main(void)
{init();
while(1){
xdata++;
if(xdata==60)
{xdata=0;
xdata1++;
if(xdata1==24)
{xdata1=0;}
}
for(j=0;j<50;j++)//延时1秒
{ledxianshi();
delay_1ms();}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -