找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

ST89C52中斷方式實(shí)現(xiàn)簡易三位秒表

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:864860 發(fā)表于 2021-1-21 20:51 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include<reg52.h>
#define uchar unsigned char
sbit duan=P2^6;
sbit wei=P2^7 ;
int index=0;
uchar ms;
uchar s;
uchar code duanS[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar code weiS[]={0xef,0xdf,0xbf};

void initP1(){
EA=1;
ET0=1;
TR0=1;
TMOD|=0x01;
TH0=(65535-19453)/255;
TL0=(65535-19453)%255;
}
void initP3(){
EA=1;
ET1=1;
TR1=1;
TMOD|=0x10;
TH1=60927/255;
TL1=60927%255;
}

void display(uchar i){
        P0=weiS[index];
    switch(index) {
         case 0:         wei=1;duan=0;wei=0;duan=1;P0=duanS[i/100];
         break;
         case 1:         wei=1;duan=0;wei=0;duan=1;P0=duanS[i/10%10];
         break;
         case 2:         wei=1;duan=0;wei=0;duan=1;P0=duanS[i%10];
         break;
        }
        index++;
        if(index>=3)
        index=0;
}

void main(){          
          initP1();
          initP3();
          while(1);  
}

void interP1() interrupt 1 {
     TH0=(65535-19453)/255;
     TL0=(65535-19453)%255;
         ms++;         
         if(ms==60){
         P1=~P1        ;
         s++;
         ms=0;           
         }
         if(s>=100)
         s=0;
}

void interP3() interrupt 3{
        TH1=60927/255;
    TL1=60927%255;
        display(s);
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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