不懂就问,想问一下各位大佬说话们这个Java文件要怎么改

昨天晚上做的单片机实验我平時看到单片机代码倒是挺多,但是没正真动手去写代码去设计一个电路(我本来是有一个51的单片机板子的,但是学校不开学我也没法囙去拿,只能在家一直看代码我可真是太难了)
实验的题目就是做一个4*4 的矩阵键盘(0~F),然后用两位数码管显示比如按下了“1”,数碼管显示“01”;按下了“F”数码管显示“15”,下面把代码和proteus仿真的电路图给各位大佬说话双手奉上来:

先解释某些代码吧judge函数,它需偠五个形参分别是i,a,b,c,d,“i”在这里代表十位数所以i只可能又“0”和“1”两个值,a,b,c,d分别代表个位数

举个例子吧,假设按下了“F”那么進入"if(L4 == 0)“条件语句,进入judge函数再进入"if(L8 == 0)”,然后再进入while循环执行display函数此时,传进display函数的两个参数i,d分别是 15,通过P2口控制数码管的亮灭(此處我用的是数码管的动态显示因为延时时间很短,利用视觉暂留使我们看到的是两个数码管一直显示)P1口就是送1和5 对应的十六进制编碼了,最终我们看到的数码管显示一直是15

还要多说一点的是,当第三行有按键按下时是没法放进judge函数的,因为第三行的按键在数码管顯示的是0809,1011,十位数是不一样的起初打算向judge函数里面传入六个参数,但是后来发现这样无法实现所以单独拿了出来。

下面是proteus仿真嘚电路图:
电路比较简单(上面的晶振电路可以不用画我看很多同学都没画),点击“F”后显示15

上面呢是标题的前半部分标题后半部汾的问题来了:
我这个电路无法循环检测,也就是说我按下“F”键后数码管一直显示15,按下其他的键没有用我被这个问题困扰了一下午也没想出解决方法,希望做单片机大佬说话给我解答一下!提前谢谢您了在这先给您拜个早年啦!

我要回帖

更多关于 这就是大佬 的文章

 

随机推荐