• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

单片机按键LED显示,双位的做了好久都没做出来

小熊123 2018-03-28 浏览量:949
小弟因为工作需要需做一个用单片机控制按键然后相应的数值显示在LED数码管上。但由于小弟出入江湖,才疏学浅自己做了一个程序只能够完成单个键值的显示,双位的做了好久都没做出来,所以请哪位高手大哥或大姐帮忙指点一下下,以下是我自己做的程序介绍:
单片机:AT89S51 P0:显示 P2.0~P2.3 按键扫描 P1.0~P1.3 读键值
硬件电路: 略过(画的不好)
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 设个计数器,按下按键自增一。

    显示时,分别得出十位和个位。

    然后动态扫描显示。

    先显示十位数码管,延时一段时间。

    再显示个位数码管,延时一段时间。

    • 发布于 2018-03-28
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了 :尾缀TE2代表在卷盘中的极性点方向,具体请参考附件图片 回复

其他答案 数量:7
  • 这要看你的数码管是否自带译码器、锁存的,如果没有可以加一个锁存,当然如果有两组八位输出口,也可以直接接两位数码管。
    • 发布于2018-03-28
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :尾缀RL7代表卷装,数量1000pcs 回复

  • 你可以申明一个指示按键被按下次数的变量,一旦检测到按键被按下,变量就加一。而这个变量数值大小与你数码管显示位数挂钩。
    如:按键第一次被按下,变量为1,数码管显示一位。按下两次,变量值为2,数码管显示两位。应该可以满足你的需求。
    • 发布于2018-03-28
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :替代型号:1-1939638-3 TE 请参考。 回复

  • 双位数码管一般采用动态方式扫描,两个位的数码管分别由两个共阴脚或者共阳脚做位选控制,段选信号(a b c d e f g dp)都接到一起,分时复用给两个数码管用。

    • 发布于2018-03-28
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :没有国产的,封装不满足 回复

  • 考虑使用标志位,这个比较好,而且我之前调过51单片机显示一位小数和两位小数,虽然程序不能给你,但是可以说说思路。第一你先实现正常显示功能,接下来,判断按键按下来的数据,比如小数点按下什么反应(给个标志位),然后在显示的时候,根据标志位来显示。
    • 发布于2018-03-28
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :尾缀包装区别,产品同一物料
回复

  • 其实这个和译码器有关,和控制设备的位宽有关

    如果有好的译码器,可以直接输出字符,由译码器译码输出来控制数码管

    如果没有译码器,则控制器需要至少满足一个数码管各管脚接口的位宽,再加一个选片来实现2位控制,通过分时控制实现数码管显示。

    • 发布于2018-03-29
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :DPS310XTSA1,Infineon Technologies,供参考 回复

  • 多位数码管可以价格位选择,如果比较多,建议用74芯片
    • 发布于2018-04-22
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

单片机按键LED显示,双位的做了好久都没做出来