实现任务1,多功能6位LED数码管组 参考代码: #include
void ys(unsigned int ms) { unsigned int a,b; for(a=ms; a>0; a--) for(b=115; b>0; b--); } //2毫秒,设置LED,d表示要设置的字符,wei表示要设置第几个LED void setLED(unsigned char d,unsigned char wei){ //设置LED显示的字符 P0=d; //选择点亮哪个LED P1=0x01<<(wei-1); ys(1); //关一次,表示设置进入 P1=0x0; ys(1); } void main(void) { unsigned char i=99; unsigned int time=0; while(1) { setLED(i%10,6); //2ms setLED(i/10,5); //2ms ys(1); //在此处有点问题,不能精确延时 time++; //累计过了多少5毫秒 if(time==60000) time=0; if(time%200==0){ i--; } //选择下一个LED数码管 //i++; //如果超过了6个,就从0开始重新选择LED数码管 //if(i>6) i=0; } } 提示:看视频项目4里面的 中断。