|
#include #include #define uchar unsigned char #define uint unsigned int sbit bee="P2"^3; sbit dula="P2"^6; sbit wela="P2"^7; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void delay(uint z); void main() { uint temp,num,i; temp=0xfe; P1=temp; while(1) { bee=0; dula=1; P0=table[num+1]; dula=0; wela=1; P0=0xfd; wela=0; delay(200); P1=0xff; bee=1; delay(200); temp=_crol_(temp,1); P1=temp; num++; if(num==9) { num=0; i++; dula=1; P0=table[i]; dula=0; wela=1; P0=0xfe; wela=0; delay(200); if(i==5) { dula=1; P0=table[num]; dula=0; wela=1; P0=0; wela=0; while(1); } } } } void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } 流水灯每0.5秒移动一位,同时蜂鸣器响,数码管计数,当数码管为9时,清零;十位数字显示,直到十位数码管显示5后,令全部数码管显示0,并停止在此时状态。 程序有什么问题,大家可以提出,欢迎提问,欢迎指点,欢迎讨论。 |
|