单片机按键程序

来源:百度知道 编辑:UC知道 时间:2024/05/30 11:26:15
要求:按键后显示该键的键值,并实现滚动显示(第一个键按下在最右边的LED显示,第二个键按下后,前一个键值向左移动一个显示位置,并在最后一个LED显示新的键值),用8051板子或8052板子。 老师都说这个很简单,只是计算机按键输入的一部分,还不需要加减运算。请哪位高老帮帮忙,最好是流程图也帮我注释一下。谢谢了,答好了追加分!
要的不是C,是要汇编程序,我只知道第一句应该是ORG 8000H

这个确实很简单,你的键值用以为数码管就可以显示,可见你的按键个数不超过16个,但是不知道你的按键排列是怎么样,是独立式还是行列式,就是你的按键是占用16个io口还是4个,也不知道你是用要c程序还是汇编程序,我要修周末了,周一上班,如果周一还没解决可以给我发邮件,lx19840607@hotmail.com,也可以发消息给我

简单说一下,你要搞清楚你的数码管是共阴还是共阳,写一个数码管的驱动程序,可以一直循环,去查找有没有按键按下,没有就显示数据,有的话,就改变一下要显示的数据,然后循环显示
while(1)
{
while(没有键按下)
{
显示第一位数
显示第二位数
....
}
查找是那个按键被按下,得到键值
更改要显示的数据
}

如果你不知道怎么获得键值,建议你看一看单片机原理与接口技术,清华大学出版社,学校学单片机都用这本教材,相信你手上也有,第282页开始
反正解决不了就发邮件吧, 告诉我你QQ也行