第一位開始走0~9,10s第二位才開始亮。
- #include "reg51.h"
- #define uchar unsigned char
- #define uint unsigned int
- #define out P0
- sbit sm1=P3^0;
- sbit sm2=P3^1;
- void delayms(uint);
- void main(void)
- {
- uchar i,j;
- bit k;
- while(1)
- {
- if(++i>=200)
- {
- i=0;
- j=++j%100;
- }
- sm1=0;
- sm2=0;
- if(k)
- {
- out=j/10;
- if(j<10)sm1=0;
- else sm1=1;
- }
- else
- {
- out=j%10;
- sm2=1;
- }
- k=~k;
- delayms(5);
- }
- }
- void delayms(uint j)
- {
- uchar i;
- for(;j>0;j--)
- {i=250;
- while(--i);
- i=249;
- while(--i);
- }
- }
復(fù)制代碼 |