在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 3723|回复: 11

AT89S52实现电子秤的基本控制功能

[复制链接]
发表于 2008-12-29 00:42:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
AT89S52实现电子秤的基本控制功能

AT89S52实现电子秤的基本控制功能.rar

185.8 KB, 下载次数: 67 , 下载积分: 资产 -2 信元, 下载支出 2 信元

头像被屏蔽
发表于 2008-12-29 11:40:38 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2009-10-28 23:27:51 | 显示全部楼层
不错,先谢过
发表于 2010-4-16 20:32:55 | 显示全部楼层
好东西啊
发表于 2010-5-31 12:28:49 | 显示全部楼层
我先把自己写的有问题程序
#include <reg52.h>
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,
                               0x66,0x6d,0x7d,0x07,
                               0x7f,0x6f,0x77,0x7c,
                               0x39,0x5e,0x79,0x71,0x00};
unsigned char code table[]={7,6,5,4,3,2,1,0};
unsigned char second;
unsigned char keycnt;
unsigned int tcnt,tt;
sbit P32=P3^2;
void delay()
{
        for(tt=0;tt<=1000;tt++);
}  
void main()
{
  unsigned char i,j;
  
  TMOD=0x02;
  ET0=1;
  EA=1;
  second=0;
  P0=dispcode[second/10];
  P2=table[0];
  delay();
  P0=dispcode[second%10];
  P2=table[1];
  delay();
  while(1)
    {
      if(P32==0)
        {
          for(i=20;i>0;i--)
          for(j=248;j>0;j--);
          if(P32==0)
            {
              keycnt++;
              switch(keycnt)
                {
                  case 1:
                    TH0=0x06;
                    TL0=0x06;
                    TR0=1;
                    break;
                  case 2:
                    TR0=0;
                    break;
                  case 3:
                    keycnt=0;
                    second=0;
                      P0=dispcode[second/10];
                                          P2=table[0];
                                          delay();
                                          P0=dispcode[second%10];
                                          P2=table[1];
                                          delay();
                    break;
                }
              while(P32==0);
            }
        }
    }
}
  
void t0(void) interrupt 1 using 0
{
  tcnt++;
  if(tcnt==400)
    {
      tcnt=0;
      second++;
      if(second==100)
        {
          second=0;
        }
                       P0=dispcode[second/10];
                                          P2=table[0];
                                          delay();
                                          P0=dispcode[second%10];
                                          P2=table[1];
                                          delay();
    }
}
发表于 2010-7-17 16:47:57 | 显示全部楼层
正在这方面的东西,下来参考
Thank you
发表于 2010-7-17 16:58:32 | 显示全部楼层
仅仅是一个毕业设计(方案),只能是参考
发表于 2010-7-21 18:22:05 | 显示全部楼层
Xilinx FPGA全局时钟和第二全局时钟资源的使用方法
发表于 2010-12-1 15:11:26 | 显示全部楼层
什么来的,说明白点吧
发表于 2011-4-26 15:53:11 | 显示全部楼层
下来看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-10-18 13:26 , Processed in 0.024993 second(s), 11 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表