#include <REGX51.H> #define uchar unsigned char uchar code discode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar timer=0; uchar second=60; uchar key=0;

void main() { TMOD=0x01; ET0=1; EA=1;

P0=discode[second/10]; P2=discode[second%10]; }

void int_T0()interrupt 1 using 0 { TR0=0; TH0=0xee; TL0=0x00; timer++; if(timer==200) { timer=0; second--; P0=discode[second/10]; P2=discode[second%10]; } if(second==0) { TR0=0; second=0; }

}

void keyscan() { if(P1!=0xff) { delay(1000); if(P1!=0xff) { key=P1; switch(key) { case 0xfe: TR0=1;break; //start timing case 0xfd: TR0=0;break; //pause timing case 0xfb: second=60; //reset timing P0=discode[second/10]; P2=discode[second%10]; break; default: break; } } } }

void delay(uchar i) { uchar j,k; for(;i>0;i--) for(j=190;j>0;j--) for(k=2;k>0;k--); }

//main function void main() { TMOD=0x01; ET0=1; EA=1;

while(1) { keyscan(); } }


原文地址: https://www.cveoy.top/t/topic/nyDO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录