![]() |
好多程序,很有用 |
先看看再說 |
有幾個項目? |
很好,謝謝。正需要 |
有什么東西啊? |
#include <AT89X52.h> #define uint unsigned int #define uchar unsigned char void display(uint); void delay(uint); uchar code Seg_disp[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; uint num; void init() { EA=1; EX0=1; ET0=1; IT0=1; TMOD=0x01; TL0=(65536-10000)%256; TH0=(65536-10000)/256; TR0=0; } void main() { init(); while(1) { display(num); } } void timer_0() interrupt 1 { TL0=(65536-1000)%256; TH0=(65536-1000)/256; num++; if(num==10000)num=0; } void INT0P() interrupt 0 { if(F0==0) //F0ÊDZê־룬0´ú±íÊǵÚÒ»´Î°´¼ü£¬1´ú±íµÚ¶þ´Î°´¼ü { F0=1; num=0; TL0=(65536-1000)%256; TH0=(65536-1000)/256; TR0=1; //½«¶¨Ê±Æ÷T0µÄ¿ªÊ¼´ò¿ª } else { TR0=0; F0=0; } } void display(uint a) { P0=0xff; P2=0x08; P0=Seg_disp[a%10]; delay(5); P0=0xff; P2=0x04; P0=Seg_disp[a%100/10]; delay(5); P0=0xff; P2=0x02; P0=Seg_disp[a%1000/100]; delay(5); P0=0xff; P2=0x01; P0=Seg_disp[a/1000]; P0=P0&0x7f; delay(5); } void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=114;y>0;y--); } |
程序不難,但都有注釋 |