| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 388 人关注过本帖
标题:这个程序如何改写
只看楼主 加入收藏
我的世界123
Rank: 1
等 级:新手上路
帖 子:43
专家分:1
注 册:2013-10-14
结帖率:81.82%
收藏
已结贴  问题点数:16 回复次数:4 
这个程序如何改写
k1断开,此时按下机器总开关(短,长),执行:k1一直通,k4通1s,然后断开。
k1接通,此时按下机器总开关(短按),执行:k1仍接通,k4接通1s,然后断开。
k1接通,此时按下机器总开关(长按),执行:k1断开,k4无动作。
用的芯片是at89c51,机器总开关p0.0,k1p2.4,k4p2.1.
如何添加程序,实现其功能。
#include<reg51.h>
#include<intrins.h>
sbit key0=P0^0;
sbit key3=P0^3;
sbit b1=P0^4;
sbit k1=P2^4;
sbit k4=P2^1;
void delay1s(void)
{  
    unsigned char a,b,c;
    for(c=167;c>0;c--)
        for(b=171;b>0;b--)
            for(a=16;a>0;a--);
      _nop_();
}
main()
{
_nop_();
 k1=0;
 k4=0;
if(key3==1)
 while(1)
   {
 if(key0==0)
  {
  while(!key0);
   k1=1;
  k4=1;
   }
   if(k4==1)
    {
  delay1s();
  k4=0;
     }
  }
}
短按(小于2s),长按(大于3s)
搜索更多相关主题的帖子: include 如何 开关 
2013-11-05 14:33
pink_duo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:209
专家分:1054
注 册:2013-11-5
收藏
得分:10 
按键应该在中断里面处理,计时使用定时器

埋头做牛,抬头做人,低头做狗
2013-11-05 14:50
我的世界123
Rank: 1
等 级:新手上路
帖 子:43
专家分:1
注 册:2013-10-14
收藏
得分:0 
回复 2楼 pink_duo
#include <reg51.h>
sbit key0=P0^0;
sbit key3=P0^3;
sbit k1=P2^4;
sbit k4=P2^1;
char count;
void timer1(void) interrupt 1//T0定时中断处理
{count++;}//T0积满次数
void main(void)
{
unsigned long timelength;
TMOD=0x01;//设T0为16位计时外部启动
IE=0x82;//允许T0中断

while(1)
 {
TH0=0;
TL0=0;
count=0;
while(key0);//没按下等待
TR0=1;//启动计时
while(!key0);
TR0=0;//停止计时
timelength=(count*65536)+(TH0*256)+TL0;//计时总长
if(timelength<2000000);    //是短按
if(timelength>3000000);    //是长按
 }
}
中断程序是这样的,可是这两个程序怎么合到一起怎么老错啊,请帮一下忙
2013-11-05 15:21
pink_duo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:209
专家分:1054
注 册:2013-11-5
收藏
得分:6 
不知道你说的出错是编译还是运行出错,如果运行出错,建议设置断点,看按键和松开有没有进入中断,计时器有没有启动,看看相关寄存器设置,中断优先级设置等等

埋头做牛,抬头做人,低头做狗
2013-11-05 15:44
我的世界123
Rank: 1
等 级:新手上路
帖 子:43
专家分:1
注 册:2013-10-14
收藏
得分:0 
回复 4楼 pink_duo
就是编译出错,怎样才能实现那些条件啊,用c语言编写?
2013-11-05 16:06
快速回复:这个程序如何改写
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.053094 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved