4076|10

8

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

求个单片机问题 [复制链接]

求个单片机编程问题,可简化为:用3号键控制1、2灯 按下3号 1、2两灯谁亮灭谁 抬开恢复原先状态 这个怎么编
此帖出自51单片机论坛

最新回复

这个可以定义成数组吗?  详情 回复 发表于 2012-7-25 15:17

点评

这是个歧义句,可以理解为: 1、把亮度较高的灯熄灭。 2、把已被点亮的灯熄灭。 如是后者,3号键就是个灯的电源总开关而已。  详情 回复 发表于 2012-7-24 16:52
点赞 关注
 

回复
举报

3138

帖子

0

TA的资源

裸片初长成(初级)

沙发
 

谁亮灭谁?

这是个歧义句,可以理解为:
1、把亮度较高的灯熄灭。
2、把已被点亮的灯熄灭。

如是后者,3号键就是个灯的电源总开关而已。
此帖出自51单片机论坛

点评

三号按键的作用是 按下时把已经点亮的灯熄灭 抬手时恢复按前状态  详情 回复 发表于 2012-7-25 00:11
不是歧义句  详情 回复 发表于 2012-7-24 17:23
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

给你个参考

假设你的按键子函数为 bit key(uchar key_num);去抖神马的都写好了,key_num是按键号,你不是3号键么,按下的话就返回1,没按返回0。LED1为你控制灯1的单片机口,LED2为你控制灯2的单片机口,我不知道你具体电路怎么样的,这里假设LED1= 1,灯1亮,LED2 = 1,灯2量
不管你前面函数怎么写的,在主函数循环里面加入以下语句
bit LED1_buf,LED2_buf,LED_change_sign;
if((key(3) == 0) && (LED_change_sign == 0))    //在LED1,LED2状态没变的时候存入缓存,LED_change_sign为LED状态变化标志位。
{
  LED1_buf = LED1;
  LED2_buf = LED2;
}
if(key(3) == 1)
{
  if(LED1 == 1)
  {
    LED1 = 0;
    LED_change_sign = 1;   
  }
  if(LED2 == 1)
  {
    LED2 = 0;
    LED_change_sign = 1;
  }
}
else
{
  LED1 = LED1_buf;
  LED2 = LED2_buf;
  LED_change_sign = 0;
}

[ 本帖最后由 yipengjiusui 于 2012-7-24 17:21 编辑 ]
此帖出自51单片机论坛

点评

这是我编的程序::: #include #define uchar unsigned char #define uint unsigned int sbit key(1)=P3^0; sbit key(2)=P3^1; sbit key(3)=P3^2; sbit key(4)=P3^3; sbit key(5)=P3^4  详情 回复 发表于 2012-7-25 02:32
 
 
 

回复

2856

帖子

260

TA的资源

五彩晶圆(高级)

4
 
定义个变量记录灯的状态。根据记录灯的状态进行按键处理
此帖出自51单片机论坛
 
 
 

回复

2856

帖子

260

TA的资源

五彩晶圆(高级)

5
 
按下3号 1、2两灯谁亮灭谁
太复杂了,简单点吗。按下3号就是 1、2两灯全灭
此帖出自51单片机论坛

点评

不复杂的  详情 回复 发表于 2012-7-24 17:22
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

6
 

回复 5楼 ltbytyn 的帖子

不复杂的
此帖出自51单片机论坛
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

7
 

回复 沙发 仙猫 的帖子

闂備礁鎼悮顐﹀磿閸愯鑰块柛娑欐綑鐎氬銇勯幒鍡椾壕缂備焦顨嗛敃銏犵暦濡ゅ懎惟闁宠桨绀佹慨銈夋煟閻橀亶妾烽柛鏂跨箻椤㈡瑩骞嬮敂鑺ユ珫閻庡厜鍋撻柛鎰劤濞堬拷闂備浇鐨崱鈺佹缂傚倸绋勯幏锟�闂備胶鎳撻悺銊╂偋閻愬搫鐒垫い鎺戯攻鐎氾拷婵犵數鍋涢ˇ顓㈠礉瀹€鍕埞闁跨噦鎷�
此帖出自51单片机论坛
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

8
 

回复 沙发 仙猫 的帖子

闂備礁鎼悮顐﹀磿閸愯鑰块柛娑欐綑鐎氬銇勯幒鍡椾壕缂備焦顨嗛敃銏犵暦濡ゅ懎惟闁宠桨绀佹慨銈夋煟閻橀亶妾烽柛鏂跨箻椤㈡瑩骞嬮敂鑺ユ珫閻庡厜鍋撻柛鎰劤濞堬拷闂備浇鐨崱鈺佹缂傚倸绋勯幏锟�闂備胶鎳撻悺銊╂偋閻愬搫鐒垫い鎺戯攻鐎氾拷婵犵數鍋涢ˇ顓㈠礉瀹€鍕埞闁跨噦鎷�
此帖出自51单片机论坛
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

9
 

回复 板凳 yipengjiusui 的帖子

闂備礁鎼悮顐﹀磿閸愯鑰块柛娑欐綑鐎氬銇勯幒鍡椾壕缂備焦顨嗛敃銏犵暦濡ゅ懎惟闁宠桨绀佹慨銈夋煟閻橀亶妾烽柛鏂跨箻椤㈡瑩骞嬮敂鑺ユ珫閻庡厜鍋撻柛鎰劤濞堬拷闂備浇鐨崱鈺佹缂傚倸绋勯幏锟�闂備胶鎳撻悺銊╂偋閻愬搫鐒垫い鎺戯攻鐎氾拷婵犵數鍋涢ˇ顓㈠礉瀹€鍕埞闁跨噦鎷�
此帖出自51单片机论坛

点评

sbit key(1)=P3^0; sbit key(2)=P3^1; sbit key(3)=P3^2; sbit key(4)=P3^3; sbit key(5)=P3^4; sbit key(6)=P3^5; 把他们的括号给我去掉。。。。。。 后面的一样子改掉!  详情 回复 发表于 2012-7-25 10:41
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

10
 

回复 9楼 kk9101042 的帖子

闂備礁鎼悮顐﹀磿閸愯鑰块柛娑欐綑鐎氬銇勯幒鍡椾壕缂備焦顨嗛敃銏犵暦濡ゅ懎惟闁宠桨绀佹慨銈夋煟閻橀亶妾烽柛鏂跨箻椤㈡瑩骞嬮敂鑺ユ珫閻庡厜鍋撻柛鎰劤濞堬拷闂備浇鐨崱鈺佹缂傚倸绋勯幏锟�闂備胶鎳撻悺銊╂偋閻愬搫鐒垫い鎺戯攻鐎氾拷婵犵數鍋涢ˇ顓㈠礉瀹€鍕埞闁跨噦鎷�
此帖出自51单片机论坛

点评

这个可以定义成数组吗?  详情 回复 发表于 2012-7-25 15:17
 
 
 

回复

15

帖子

0

TA的资源

一粒金砂(中级)

11
 

回复 10楼 yipengjiusui 的帖子

闂備礁鎼悮顐﹀磿閸愯鑰块柛娑欐綑鐎氬銇勯幒鍡椾壕缂備焦顨嗛敃銏犵暦濡ゅ懎惟闁宠桨绀佹慨銈夋煟閻橀亶妾烽柛鏂跨箻椤㈡瑩骞嬮敂鑺ユ珫閻庡厜鍋撻柛鎰劤濞堬拷闂備浇鐨崱鈺佹缂傚倸绋勯幏锟�闂備胶鎳撻悺銊╂偋閻愬搫鐒垫い鎺戯攻鐎氾拷婵犵數鍋涢ˇ顓㈠礉瀹€鍕埞闁跨噦鎷�
此帖出自51单片机论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
有奖直播报名| TI 面向楼宇和工厂自动化行业的毫米波雷达解决方案
【内容简介】TI 60GHz IWRL6432和 IWRL1432毫米波雷达传感器如何帮助解决楼宇和工厂自动化应用中的感应难题
【直播时间】5月28日(周三)上午10:00
【直播礼品】小米双肩包、contigo水杯、胶囊伞、安克充电器

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

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

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

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

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