功能說(shuō)明
本系統(tǒng)由AT89C51單片機(jī)核心、MAX7219驅(qū)動(dòng)芯片,8位數(shù)碼管顯示,按鍵組成。
開(kāi)機(jī)默認(rèn)從左到右,依次顯示0 1 2 3 4 5 6 7。
1.仿真開(kāi)始后,需要按下啟動(dòng)按鍵,再按計(jì)步才能正式開(kāi)始計(jì)步;按下一次計(jì)步按鍵,步數(shù)加一。
2.正式計(jì)步后,按下停止可以暫停計(jì)步,計(jì)步按鍵無(wú)效,再按開(kāi)始后接著計(jì)步;
3.復(fù)位按鍵可以清楚當(dāng)前計(jì)步步數(shù),需重新開(kāi)始步驟1。
仿真電路
初始化,數(shù)值顯示0
手動(dòng)計(jì)步到24步
程序設(shè)計(jì)
main函數(shù)
void main()
{
unsigned long StepCount = 0;
uchar i;
InitDisplay();
while(1)
{
if(StartKey == 0)
{
delay(100);
if(StartKey == 0) //開(kāi)始按鍵掃描
{
StartFlag = 1;
for(i = 0;i < 8;i++)
{
WriteWord(Digit0+i,0);
}
}
while(!StartKey);
}
else if(StopKey == 0) //停止按鍵掃描
{
delay(100);
if(StopKey == 0)
{
StartFlag = 0;
}
while(!StopKey);
}
if(StartFlag) //計(jì)步按鍵掃描
{
if(StepKey == 0)
{
delay(100);
if(StepKey == 0)
{
StepCount++;
}
while(!StepKey);
}
}
WriteWord(Digit7,StepCount%10); //顯示函數(shù),逐位顯示
WriteWord(Digit6,StepCount/10%10);
WriteWord(Digit5,StepCount/100%10);
WriteWord(Digit4,StepCount/1000%10);
WriteWord(Digit3,StepCount/10000%10);
WriteWord(Digit2,StepCount/100000%10);
WriteWord(Digit1,StepCount/1000000%10);
WriteWord(Digit0,StepCount/10000000%10);
}
}
資料清單
下載