找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2346|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

計(jì)數(shù)器出錯

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:74904 發(fā)表于 2015-3-21 16:45 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
觸發(fā)一次,跳轉(zhuǎn)好幾個數(shù)。從網(wǎng)上下的計(jì)數(shù)程序。 求大俠賜教!涕零感激!
#include "reg52.h"
#define u8 unsigned char
#define u16 unsigned int
sbit sw1=P3^4;
sbit sw2=P3^5;
sbit sw3=P3^6;
sbit e0=P2^0;
sbit e1=P2^1;
sbit e2=P2^2;
sbit e3=P2^3;
u8 ds[4]={0,0,0,0};
u16 num=0;
u8 code table[]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F,0x00};
u8 ajsm()
{
    static u16 ms;
    if(sw3==0)
    {
        if(++ms==2)
        {
            return 1;
        }
    }
    else
    {
        ms=0;
    }
    return 0;
}
void xs()
{
    static u8 a;
    a++;
    if(a>3)a=0;
    e0=1;
    e1=1;
    e2=1;
    e3=1;
    P0=table[ds[a]];
    switch(a)
    {
        case 0:
        {
            e0=0;
            e1=1;
            e2=1;
            e3=1;
        }break;
        case 1:
        {
            e0=1;
            e1=0;
            e2=1;
            e3=1;
        }break;
        case 2:
        {
            e0=1;
            e1=1;
            e2=0;
            e3=1;
        }break;
        case 3:
        {
            e0=1;
            e1=1;
            e2=1;
            e3=0;
        }break;
    }
}
void main()
{
    TMOD=0x66;
    TH0=0xff;
    TL0=0xff;
    TH1=0xff;
    TL1=0xff;
    TR1=1;
    TR0=1;
    ET0=1;
    ET1=1;
    EA=1;
    while(1)
    {      
        ds[0]=num/1000%10;
        ds[1]=num/100%10;
        ds[2]=num/10%10;
        ds[3]=num%10;
        xs();
        if(ajsm())
        {
            num=0;
        }
   
    }
}
void time0()interrupt 1
{
    if(num<9999)num++;
}
void time1()interrupt 3
{
    if(num>0)num--;
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表