#define uchar unsigned char //變量關鍵字更改
#include <intrins.h> //頭文件
uchar code tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xC0};
//字符數組定義
void delay() //子函數定義
{ uchar i,j; //變量定義
for(i=0;i<15;i++) //for語句,執行15次
for(j=0;j<250;j++) //執行250次
{_nop_();} //***執行250*15次空函數,延時操作
}
uchar seg7(uchar a) //子函數定義
{return tab[a];} //返回tab數組內第a個變量的值
void main(void) //主函數
{ uchar i,j,k,x,y; //變量定義
P1=0xff; //port1全部置位
P0=0xff; //port0全部置位
y=0; //y賦0
while(1) //無限循環
{ j=0xf7; //j賦11110111
k=y; //y賦給k
for(i=0;i<4;i++) //4次循環
{
P0=seg7(k); //P0=第K個元素的值
k++; //k=k+1
P1=_cror_(j,i); //P1口帶返回的移位操作
delay(); //延時
P1=0xff; //P1全部置高
}
x++; //x=x+1
if(x==15){x=0;y++;} //如果15次,x=0,y=y+1
if(y==8)y=0; //8*15次,y=0,重新開始循環
}
}