本帖最后由 251438796 于 2022-10-15 11:16 编辑 wulin 发表于 2022-10-15 06:37 哇,谢谢大神,我搞懂了,问题已经解决了 |
主要是你不知道8位LED的内部分段是如何连接的,又是在何种情况下,某个段才能亮灭的。 即LED的显示原理,要补课。 |
位扫描应该一直循环,键值决定段值。 void main(void) { uint i; keyval=0; while(1) { key_scan(); if(keyval==1) { P0=duan1[1]; } if(keyval==2) { P0=duan1[2]; } if(keyval==3) { P0=duan1[3]; } if(keyval==4) { P0=duan1[4]; } if(keyval==5) { P0=duan1[5]; } for(i=0;i<8;i++) { P2=wei[ i]; } } } |
用楼主能够理解的方式改写一下。![]()
|