- 打卡等级:常住居民I
- 打卡总天数:67
- 最近打卡:2026-05-08 06:02:18
已绑定手机
高级会员
- 积分
- 561
|
测试程序
#include "STC8A8K64D4.H"
unsigned char code table[]={//共阳数码管段码"0~f-."
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e,0xbf,0x7f};
unsigned char data dis_buf[5];
unsigned int num;
void delay(unsigned int ms)//注:ms_max=65536
{
unsigned int i;
do
{
i=1106; //STC8 11.0592MHz
while(--i);
}
while(--ms);
}
void main(void)
{
unsigned char i,j;
P0M0 = 0x00;P0M1 = 0x00;
P1M0 = 0x1f;P1M1 = 0x00;//P1.0~1.4推挽
P2M0 = 0x00;P2M1 = 0x00;
P3M0 = 0x00;P3M1 = 0x00;
P4M0 = 0x00;P4M1 = 0x00;
P5M0 = 0x00;P5M1 = 0x00;
P6M0 = 0x00;P6M1 = 0x00;
P7M0 = 0x00;P7M1 = 0x00;
while(1)
{
if(++j>250)//
{
j=0;
num++;
}
switch(i)
{
case 0: dis_buf[0]=table[num/10000%10]; break;
case 1: dis_buf[1]=table[num/1000%10]; break;
case 2: dis_buf[2]=table[num/100%10]; break;
case 3: dis_buf[3]=table[num/10%10]; break;
case 4: dis_buf[4]=table[num%10]; break;
}
P1&=0xe0; //消隐
P0=dis_buf;//送段码
P1|=0x01<<i; //送位码
i=++i%5; //循环计数
delay(2); //延时2ms
}
}
|
|