谁有单片机简易秒表的c语言编程。如果可以我可以追加

如题所述

数码管的数据位和段选位都是哪个口?单片机是51系列的吗?晶振是11.0592吗追问

数据位是p0口,段位是p1,89c51芯片,

追答#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char

void delay(uint z)
{
    uint x,y;
    for(x=0;x<z;x++)
        for(y=0;y<110;y++);
}

uchar t,num;
uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,
0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};
void main()
{   
    TMOD=0x10;//设置定时器0为工作方式1
    TH1=(65536-50000)/256;// 50ms进入中断
    TL1=(65536-50000)%256;
    EA=1;//开总中断
    ET1=1;//开定时器0中断
    TR1=1;//启动定时器0
    num=0;
    while(1)
    {
      if(t==20)   //20个50ms就是一秒
      {
        t=0;
        num++;
        if(num==16)
        num=0;
        P1=0;
        P0=table[num];
        }
    /*dula1=1;
    dula2=0;
    P0=table[1];
    delay(1000);
    dula2=1;
    dula3=0;
    P0=table[2];
    delay(1000);
    dula3=1;
    dula4=0;
    P0=table[3];
    delay(1000);
    dula4=1; */
    }
}
void d() interrupt  3
{
     TH1=(65536-50000)/256;//每50ms,t加一
     TL1=(65536-50000)%256;
     t++;
}

只有四个数码管,P1口有8个,四个数码管具体和哪些口相连

看看能用吗?

追问

1.0-1.3与数码管的位选段相连

0.0-0.7与段选位相连

追答

可以用吗?

追问

我的程序不对

追答

我的程序不对?

追问

什么意思,你是问我吗

追答

我给你发程序了,我的程序能用吗

追问

你没给我发程序额,从哪发的

追答#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
 
void delay(uint z)
{
    uint x,y;
    for(x=0;x<z;x++)
        for(y=0;y<110;y++);
}
 
uchar t,num;
uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,
0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};
void main()
{   
    TMOD=0x10;//设置定时器0为工作方式1
    TH1=(65536-50000)/256;// 50ms进入中断
    TL1=(65536-50000)%256;
    EA=1;//开总中断
    ET1=1;//开定时器0中断
    TR1=1;//启动定时器0
    num=0;
    while(1)
    {
      if(t==20)   //20个50ms就是一秒
      {
        t=0;
        num++;
        if(num==16)
        num=0;
        P1=0;
        P0=table[num];
        }
    /*dula1=1;
    dula2=0;
    P0=table[1];
    delay(1000);
    dula2=1;
    dula3=0;
    P0=table[2];
    delay(1000);
    dula3=1;
    dula4=0;
    P0=table[3];
    delay(1000);
    dula4=1; */
    }
}
void d() interrupt  3
{
     TH1=(65536-50000)/256;//每50ms,t加一
     TL1=(65536-50000)%256;
     t++;
}

追问

你这是几位秒表

追答

你没说你要几位,不是说简易秒表吗?你要几位,我改一下就完了

追问

00.00-99.99

三个按键,开始,暂停,复位

追答

按键接的是哪些引脚?

追问

看一下这个

追答

00.00到99.99是什么意思?

追问

显示的秒表时间00:00,最大到99:99.

追答

怎么进位?

追问

什么意思

追答

QQ,告诉我

追问

1428521167

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-29
太简单了,你采纳我,我马上给你写一个,最多10分钟追问

你给我写完了如果运行的好我立即采纳

追答

好,等我10分钟

追问

嗯嗯

追答

上传总是失败,弄不上来,截图又截不完

追问

???

追答

上传不上来,懒得上传了,你直接用那个人的吧

追问

他那个不是四位的

我给你qq你加我

追答

你自己随便改一下啊,又改不了多少

追问

我不晓得怎么改了

相似回答