FPAG我想用按键实现51单片机按键计数数码管显示的计数,可以这样直接个51单片机按键计数数码管显示赋值吗

这个问题在内部应该分步来做:
1)让定时器工作在50毫秒定时状态设置1个时间计数器,每中断20次为1秒;
2)设置一个按键计数器初值为0,每一次按0#键加1;
3)每一次进入萣时中断,读一次按键并且记录当前按键状态:,0#键,还是1#键按下;
4)如果0#键被按下清中断次数为0;同时将加1后的数送显示单元显示;
5)如果是1#键按下状态,每次到1秒将显示单元的数加1后,再送显示
1)0号键按下后,只显示按键计数器的值;
2)1号键按下后将显示单元嘚数加1后送显示;
状态是0号键后续,则继续显示按键计数值;
状态是1号键后续则每到1秒,将显示单元的数加1后再送显示单元显示;没到1秒保持原值显示。

}

了解键盘检测的电路结构和原理、键盘作用、如何实现键盘检测、消

掌握独立按键控制、消抖动等基本原理与程序设计方法

按键矩阵构成及按键扫描程序。

包括51单片机按键计数数码管显示的种类、显示原理、段码

掌握多位51单片机按键计数数码管显示静态显示数字或字母的程序设计。

通过本项目的学习让学生学习按键输入检测、单只51单片机按键计数数码管显示显示、多位数

码管显示、按键计数器制作与调试等概念;本项目的学习和实踐,我们掌握按

键检测、消抖的程序设计方法;51单片机按键计数数码管显示结构类型、段码、静态与动态显示程序

掌握单只51单片机按键计數数码管显示静态显示数字或字母的程序设计

掌握多位51单片机按键计数数码管显示静态显示数字或字母的程序设计。

了解多位51单片机按鍵计数数码管显示动态扫描显示原理能读懂动态扫描显示程序。

在很多项目中都会用到按键如图所示的电子秤。

}

这是个51单片机的小程序是我接觸单片机之初的一个小练习。
首先感谢学社的学长学姐指导再感谢我自己虽然不是这个专业的学生,却仍在坚持
里面运用了不少知识,其中比较重要的有外部中断51单片机按键计数数码管显示动态显示,按键的扫描还有现在看起来极其啰嗦与智障的程序构思 )要是想了解这些内容的可以康康这篇。
第一篇主要介绍中断矩阵按键,51单片机按键计数数码管显示显示
第二篇介绍以上原理的程序实现和計算器程序。

这个非常重要51单片机好像并不能完成多线程任务,有些事情用外部中断或计时器中断会大大提高效率
先来谈谈外部中断昰什么吧,其实顾名思义就是当有一个外部的条件改变时(通常是电位变化)主程序就被迫暂停,转而运行中断里的程序直到运行完洅跳回主函数,这个触发的判断可以理解为与主函数并行就是不论主程序运行到哪(前提是你打开了中断),都可以触发中断

有关此段的程序我已在最后面的计算机程序中注释出来。那个程序中的中断作用是控制输入数字 的正负输入正数时灯不亮按下 按键数值反转并苴指示灯亮(本来是不想用中断的,但这部分内容是后加的改程序太麻烦,干脆加个中断。)

矩阵按键是一个比较基础的算是51单片机結构。它的原理比较简单相当于把4*4的按键标上X,Y坐标用8个引脚分两次输入不同的电平并检测,最终确定你按下的键
-首 先,我们可以囚为设定1-4引脚全为高电平5-8全为低电平(这是软件定义的)当你按下一个键时,高电平引脚还是高电平但低电平引脚变为高电平。这样僦能检测出是哪一行的按键按下再将电平反转,可测出是哪一列的按键按下最终确定按键。具体程序在下一篇

  • 当设置引脚的点位时峩们可以宏定义一组引脚用十六进制数进行控制(其实是二进制,1:高电平0低电平。)
  • 延时消抖开发板上的按键很灵,当按下时由于接触问题其实你已经按下很多次避免这种问题的方法可以在当单片机第一次检测到电位变化时延时一小会,再检测一次确定是否真的按下。
  • 需要用到38译码器用三个引脚控制八个管。其原理也可以理解成是三位二进制数组成十位的一到八每个管上有8个段这个用宏定义囷十六进制数控制。这里不做详细解释

  • 码管动态显示,由于三个引脚每次只能确定1个管亮想要让八个51单片机按键计数数码管显示看起來全亮就需要在短时间内让一到八位全亮一次,并且每个管的内容不一样需要用到循环函数。
    具体程序会结合计算器的程序在下一篇讲

内容参考:学长学姐们,普中单片机教程电子发烧友。

}

我要回帖

更多关于 51单片机按键计数数码管显示 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信