功能说明
本系统由AT89C51单片机核心、MAX7219驱动芯片,8位数码管显示,按键组成。
开机默认从左到右,依次显示0 1 2 3 4 5 6 7。
1.仿真开始后,需要按下启动按键,再按计步才能正式开始计步;按下一次计步按键,步数加一。
2.正式计步后,按下停止可以暂停计步,计步按键无效,再按开始后接着计步;
3.复位按键可以清楚当前计步步数,需重新开始步骤1。
仿真电路
初始化,数值显示0
手动计步到24步
程序设计
main函数
void main()
{
unsigned long StepCount = 0;
uchar i;
InitDisplay();
while(1)
{
if(StartKey == 0)
{
delay(100);
if(StartKey == 0) //开始按键扫描
{
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) //计步按键扫描
{
if(StepKey == 0)
{
delay(100);
if(StepKey == 0)
{
StepCount++;
}
while(!StepKey);
}
}
WriteWord(Digit7,StepCount%10); //显示函数,逐位显示
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);
}
}
资料清单
下载
阅读全文