请教:89C52 里面能放系统吗?(希望能够实现多线程操作)

[复制链接]
3158|10
 楼主| 星星电灯 发表于 2007-5-31 08:35 | 显示全部楼层 |阅读模式
请教:
void Sendtex2() //向电脑发送字符 '1'
{
    int i;
    for(i=0;i<2;i++)
    {
      SBUF=sends1;
    while(!TI);
    TI=0;
  }
}

void Sendtex3() //向电脑发送字符 '1'
{
    int i;
    for(i=0;i<2;i++)
    {
      SBUF=sends2;
    while(!TI);
    TI=0;
  }
}

main()
{
while(1)
    {
       if (D0==0)  //按键
          {
          key = D0;  //处理抖动
          delay2();
          if (D0==key)
             {
               Sendtex2();
               while(D0==0); //如果按键不松开,则不退出
             }
        }  
               
       if (D1==0)  //按键
          {
          key = D1;
         delay2();
         if (D1==key)
            {
              Sendtex3();
              while(D1==0);
            }
         }                              
     }
}




现在情况是,如果 D0 不松开,则
if (D1==0)  //按键
   {
      key = D1;
      delay2();
      if (D1==key)
         {
         Sendtex3();
         while(D1==0);
         }
  }   
就不能运行啊?

 89C52 里面能放系统吗?
一般是放哪个系统?

谢谢!     
foyyof 发表于 2007-5-31 08:44 | 显示全部楼层

这些人都中毒了```什么系统系统的!

系统能做的,直接写程序没理由做不来!

用个定时器中断不就好了!
li_mu 发表于 2007-5-31 08:47 | 显示全部楼层

能放系统,自己编一个

不要用延时(那段时间你什么也没法干了),用精确时标中断(比如1微秒或更长一点)
到时候查询相应东西,置标志位
估计也就占一百几十个字节程序空间和二三十字节RAM
li_mu 发表于 2007-5-31 08:49 | 显示全部楼层

如果做的好,所用资源甚至更少

比如把散转表什么的都用上

不过需要你对实时系统有所了解
 楼主| 星星电灯 发表于 2007-5-31 08:52 | 显示全部楼层

谢谢楼上各位大哥!

系统能做的,直接写程序没理由做不来!

用个定时器中断不就好了!

举个例子,好吗?
程序要怎么写啊?
谢谢!
 
5880527 发表于 2007-5-31 10:36 | 显示全部楼层

51就那么一点东西,要什么系统啊

51就那么一点东西,要什么系统啊
gyt 发表于 2007-5-31 10:42 | 显示全部楼层

对啊

“系统能做的,直接写程序没理由做不来!”

这句话说得很好啊
古道热肠 发表于 2007-5-31 10:47 | 显示全部楼层

周立功公司有人做过51的多任务实时操作系统

  周立功公司有一本书是专写51实时多任务操作系统的,有源代码,专为51单片机度身定做,如能彻底整明白,uC/OS -II也就不在话下了。
prcxf 发表于 2007-5-31 11:18 | 显示全部楼层

自己写吧,但如下这种用法实在不妥

main()
{
while(1)
    {
       if (D0==0)  //按键
          {
          key = D0;  //处理抖动
          delay2();
          if (D0==key)
             {
               Sendtex2();
               while(D0==0); //如果按键不松开,则不退出    此处在死等,cpu在这里做无用功,如何多任务?
             }
        }  
 
木头东瓜 发表于 2007-5-31 13:45 | 显示全部楼层

圈圈就写过一个51上的系统的

diannaoza 发表于 2007-5-31 14:57 | 显示全部楼层

我也在考虑51的系统

即然一片不够就两片,三片,四片...总这它是51的多任务系统
别说多此一举, 就想体验51的多任务不为别的,就为这个多任务系统。就这么简单
您需要登录后才可以回帖 登录 | 注册

本版积分规则

74

主题

121

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部