SZ1:MOVPO,#06H;显示数字1。
LJMPSAOMIAO;跳转到SAOMIAO处继续扫描按键。
S22:MOVPO,#5BH;显示数字2。
LJMPSAOMIAO;跳转到SAOMIAO处继续扫描按键。
S23:MOVPO,#4FH;显示数字3。
LJMPSAOMIAO:跳转到SAOMIAO处继续扫描按键。
S24:MOVPO,#66H;显示数字4。
LJMPSAOMIAO:跳转到SAOMIAO处继续扫描按键。
S25:MOVPO,#6DH;显示数字5。
LJMPSAOMIAO:跳转到SAOMIAO处继续扫描按键。
S26:MOVPO,#7DH;显示数字6。
LJMPSAOMIAO;跳转到SAOMIAO处继续扫描按键。
S27:MOVPO,#07H;显示数字7。
LJMPSAOMIAO:跳转到SAOMIAO处继续扫描按键。
DELAY10MS:MOVR7,#20;从本行开始,到RET结束,为10MS延时去抖子程序。
四、制作步骤
第一步:按照电路原理图,列出器件清单,并购买相应的器件材料,正常的价格是20元以内。
第二步:焊接成电路板,具体步骤可以参考前面几期的文章。
第三步:使用Keil C51 uVision2编辑源程序,编译源代码并生成目标程序代码。再把目标程序代码通过编程器写入到单片机芯片中。
第四步:把单片机芯片插到“八路键控数码管电路”的紧锁坐上,并通电、测试、观察结果。按下SO到S7号按键时,数码管显示立刻显示数字0到7。如果同时按下2个按键,只会显示编号小的数字。例如:如同时按下S5和S6,只会显示按键编号为S5对应的数字“5”,而不会显示数字“6”。
本功能的实现是为了以后我们制作八路抢答器,实践当中不会出现同时按下多个按键的可能性,总会有时间差异的。
上一篇:用PIC单片机控制流水灯的实验