5242|7

78

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

急!请问单片机怎么实现两个“加”和“减”按键的按下检测 和 显示? [复制链接]

功能描述:键盘有2个按键分别为"加1"和"减1",用来设置LED上显示的当前阀值大小.按下一次加,阀值加1,按下一次减,阀值减1,并且可以把当前阀值读入程序.单片机选用片内带AD的STC89系列,请问怎么实现两个加减按键的按下检测和显示?怎样把当前阀值读入程序?按键和显示有什么合适的器件?

最新回复

太厉害了,刚刚才听说  详情 回复 发表于 2008-8-9 10:31
点赞 关注

回复
举报

70

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
......
看不太懂你说什么,你那按键不能像普通按键一样接I/O口吗?
你的显示用什么显示?
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
有两种方案
1、将两个按键接到单片机的两个外部中断口,每当有键按下,则进入相应的中断服务子程序,在中断服务子程序中去处理加减
2、将两个按键接到单片机的两个普通I/O口,在程序中用询问的方式检测是否有按键按下。

而关于阈值本来就是保存在某个变量(寄存器)中的,加和减都是针对这个变量(寄存器)进行,然后再把它进行显示

按键就用普通的不带自锁的按键就行,显示器最简单的是数码管,如果对LCD熟悉的话,硬件还可以简单一些
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

4
 
建楼上的,分别放在int0和int1中,下降沿中断就可以。
 
 
 

回复

56

帖子

0

TA的资源

一粒金砂(初级)

5
 
同意二楼,说一下普通IO口的检测:按下为低电平,不按键为高电平:D1:jb p0.0,$
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

6
 
按键检测我就不说了,楼上说的够多了,我来说说怎么显示吧
1. 如果按键不多,可直接用I/O口即可,如果按键比较多,建议用ZLG7289可以同时显示64个LED或8个数码管
2. 显示可以用数码管或液晶屏
3. 按键"加1"和"减1"显示思路:
    3.1 首先如果用数码管显示,可以建个数码管显示码表,如果用LCD要建个液晶字库
    3.2 定义个键值寄存器,如KEY_CODE
    3.3 如果检测到加1键,KEY_CODE加1,然后查数码管表或字库送显示即可
         如果检测到减1键,KEY_CODE减1,然后查数码管表或字库送显示即可

以上回答,不知能不能解决你的问题
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

7
 
我也在做这个题目,

我在这有更多提问,

希望大虾们能给解答,

一,比如我程序在跳显,就是从00-99以步进为一秒的速度跳,当按K1数字暂停,暂停时按K2++,按K3--,然后

得到的值显示出来,再按K1时数字继续跳动,这样的程序应该再按K2和K3时要知道当前暂停的值吧?怎么获得?

二,如果我做的是从00-99显示然后又以步进为一秒往回跳该怎么设计程序呢?就是99,98,97....到1,然后又往99跳

如果有好建议或者程序,跪求大虾们了,要不真有被炒鱿鱼的可能!

知道者点回复或者往我邮箱发,邮箱地址tangbiao668@163.com

谢谢斑竹了
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

8
 
太厉害了,刚刚才听说
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表