if(K4==0) { }
delay1ms(10); if(K4==0) {
load1=1; load++; th++; if(load>8) { }
load=1;
// 若有K4键摁下,则进入通道1用于显示8组存储数 //
//
}
if(th>8)th=1; }
while(K4==0);
4.经验总结
LCD数码管显示的秒表是单片机中的经典系统模块,可以说掌握了其基本原理就基本掌握了单片机的知识。我们也从这次的制作中收获不少,从最初的程序代码编写,到仿真调试,每一个环节都让我有所收获。
先是程序代码的编写,按键控制部分也改为3个独立按键,用来标识时间分、秒调整。编写程序时,刚开始想着不借助别人的思想,自己试着编,但发现自己有很多知识和思想都很匮乏,遇到了好多问题,最终都无法解决,后来在网上搜了很多别人的秒表设计方案,发现用汇编编程的设计远大于用C语言编程的,汇编语言主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。 C语言是一种结构化的高级语言,其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高,就个人认为,刚开始学单片机时对汇编有所了解有助于更好的了解单片机的内部结构,学习C语言时上手也比较快。通过对秒表程序的编写,对单片机定时器、中断的应用有了很好的掌握,对秒表的设计流程和思想也有了较好的认识。同时也让我们认识到,不依靠别人的思想和已有的知识去创造是不可能实现的,只有在有一定的知识基础,借鉴别人的思想,再加入自己的思想去创新才是有效可行的。程序的编写主要和单片机试验箱相结合完成的,可根据模拟的结果修改程序,在使用proteus仿真软件虽然很强大,但毕竟和实际调试还是有一定的差距的,我在仿真时发现在按键防抖动这部分仿真软件处理的不是很好,同样的程序,用软件延时10ms去抖动,在仿真时,调整时间时点一次按键,有时会增加或减少几个数,很不稳定,而将程序下载到开发板上运行时,防抖动程序完全合适,按一次按键只增加或减少一个数。而且在仿真时,不用加驱动电路,不用考虑各部分驱动能力和一些保护电路。
相关推荐: