免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1186 | 回复: 2
打印 上一主题 下一主题

C51问题大家帮忙 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-09-07 18:05 |只看该作者 |倒序浏览
#include<absacc.h>;
#include<reg51.h>;
#define uchar unsigned char
#define uint unsigned int

sbit Di=P1^1;
sbit frq_src=P1^2;
uchar flag,i;
uint count;
uchar code table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};


void int_0(void) interrupt 0 using 1
{
  
  Di=0;
  flag=0;
  TR0=0;TR1=0;
  TH0=-50000/256;TL0=-50000%256;
  TH1=0;TL1=0;
  TR0=1; TR1=1;
  while(TF0==0);
  TR0=0;TR1=0;
  TF1=0;TF0=0;
  count=(TH1*256+TL1);
  flag=1;
}


void display(uchar *P)
{  
  uint t;
  uchar sel=0x01,j;
  
  if(*P==0&&*(P+1)==0&&*(P+2)==0&&*(P+3)==0)
  { P0=table[*P];
    P2=0x01;
  }
  else
  { for(j=0;j<4;j++)
    {
     if(j==2)P0=table[*P]+0x80;
     else P0=table[*P];
     P2=sel;
         P++;
     sel=sel<<1;
     for(t=0;t<200;t++);
    }
   }
}


main(void)
{
  uint f;
  uchar idata dis_buf[4];
  TMOD=51;
  EA=1;
  EX0=0;
  ET0=0;ET1=0;
  Di=0;
  for(f=0;f<2000;f++);
  EX0=1;
  TF0=0;TF1=0;
  
  do
  {
   if(flag==1)
   {
    flag=0;
   
    if(frq_src==0)
      {
            if(count>;1770 && count<1830)Di=1;
        else Di=0;
      }
    else if (frq_src==1)
     {
           if(count>;2950&&count<3050)Di=1;
       else Di =0;
     }
        
    for(i=0;i<4;i++)
    {
      dis_buf=count%10;
      count=count/10;
    }
  }
  display(dis_buf);
}while(1);
}
文件烧录后 没有执行

论坛徽章:
0
2 [报告]
发表于 2005-09-07 22:07 |只看该作者

C51问题大家帮忙

用仿真器调

论坛徽章:
0
3 [报告]
发表于 2005-09-07 22:25 |只看该作者

C51问题大家帮忙

可否看的出 是什么问题  这个程序 是测试两种电压用的   但是不会计数     帮忙看程序是否有问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP