找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2757|回复: 4
打印 上一主题 下一主题
收起左侧

单片机测速程序

[复制链接]
跳转到指定楼层
楼主
ID:113763 发表于 2016-4-12 17:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg51.h>
#define TOHIGH Ox3C
#define TOLOW OxB0
sbit P3_5=P3^5;
sbit P3_0=P3^0;
sbit P3_1=P3^1;
sbit P3_3=P3^3;
sbit P3_7=P3^7;
void count(void);
void display(void);
void disp_init(void);
unsigned char i,number;
unsigned int n,len[4],sum=0;
char code table[]={OxC0,OxF9,OxA4,OxB0,Ox99,Ox92,Ox82,OxF8,Ox80,Ox90,Oxff};
void main(void)
{
disp_init();
while(1)
{  while(! P3_3){}
    if(P3_3){
           sum++;
      while(P3_3){}
    }
}
}
void count(void)
{
n=sum*20;
if(n>6000&&n<600){
  len[0]=0;
  len[1]=0;
  len[2]=0;
  len[3]=0;
}
len[0]=n/1000;
len[1]=n%1000/100;
len[2]=n%1000%100/10;
len[3]=n%10;
}
void display(void)
{
TMOD=Ox1;
TCON=Ox00;
TH0=TOHIGH;
TL0=TOLOW;
IE=Ox82;
TR0=1;
}
void system_tick(void) interrut 1
{
static unsigned char second_cnt=20;
TR0=0;
TH0=TOHIGH;
TL0=TOLOW;
second_cnt--;
if(! second_cnt)
{

      count();
   P3_7=0;
   P3_5=1;
   P3_1=1;
   P3_0=1;
   number=table[len[3]];
   display();
   P3_7=1;
   P3_5=0;
   P3_1=1;
   P3_0=1;
   number=table[len[2]];
   display();
   P3_7=1;
   P3_5=1;
   P3_1=0;
   P3_0=1;
   number=table[len[1]];
   display();
   P3_7=1;
   P3_5=1;
   P3_1=1;
   P3_0=0;
   number=table[len[0]];
   display();
   second_cnt=20;
   sum=0;
   TR0=1;
}
TR0=1;
}



评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2016-4-12 17:24 | 只看该作者
电路能否说明一下呢?
回复

使用道具 举报

板凳
ID:114635 发表于 2016-4-16 22:14 | 只看该作者
发下电路图 谢谢
回复

使用道具 举报

地板
ID:116962 发表于 2016-4-27 00:17 | 只看该作者
谢谢楼主
回复

使用道具 举报

5#
ID:105155 发表于 2016-4-30 16:16 | 只看该作者

 电路能否说明一下呢?
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表