ºìÍâÒ£¿ØÃÜÂëËø½²½â

loading ·ÖÏí 2026-7-19 ÏÂÔØÎĵµ

ºìÍâÒ£¿ØËøÔª¼þÇåµ¥

¸½Â¼2

/********************************************************************** ºìÍâÒ£¿ØËøÈ«²¿³ÌÐò

***********************************************************************/

#include

#define uint unsigned int #define uchar unsigned char uchar code table[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

uchar code table1[]={0x80,0x40,0x20,0x10}; uchar code table2[]={0x10,0x20,0x40,0x80};

sbit P2_0=P2^0; sbit P0_0=P0^0; sbit P0_1=P0^1; sbit P0_2=P0^2;

uchar htime;//ºìÍâʱ¼ä±äÁ¿

uchar startflag;//ºìÍâÊý¾Ý¿ªÊ¼ÌáÈ¡±äÁ¿ uchar hdata[33];//ºìÍâÊý¾ÝµÄÊý×é uchar bytenumber; uchar endflag; uchar date[4];

12

uchar hp; uchar disp[8]; void delay1(uint a) {while(a--); }

void delay(uint del) {uint i,j;

for(i=0;i

void time0_init() {TMOD=0x02; TH0=0x00; TL0=0x00; EA=1; ET0=1; TR0=1; }

void int1init() {EA=1; EX1=1; IT1=1; }

//ºìÍâÊý¾ÝÌáÈ¡º¯Êý void hpros() {uchar k=1,i,j; uchar value; for(j=0;j<4;j++) {

for(i=0;i<8;i++) { value=value>>1; if(hdata[k]>6) {value=value|0x80; } k++; }

date[j]=value; }

hp=1; }

//ºìÍâÊý¾Ý´¦Àíº¯Êý void hchuli()

{disp[0]=date[0]/16; disp[1]=date[0];

13

disp[2]=date[1]/16; disp[3]=date[1]; disp[4]=date[2]/16; disp[5]=date[2]; disp[6]=date[3]/16; disp[7]=date[3]; }

//·äÃùÆ÷·¢ÉùºÍLedÁÁ void BEEP() {uchar m=20; P0_0=0; while(m--) {P2_0=1; delay(1); P2_0=0; delay(1); }

P0_0=1; }

void main()

{uint i=0,k,flag=0,b=0,d=0,FLAG=1,rflag=1,RFLAG=1,alarm=0,G=0,g=0,rag=0; uchar key[8]={4,5,4,6,4,7,4,4},key1[8],key2[8]={4,0,4,3,0,7,1,5};//µç¿ØËøÃÜÂëÊý×éΪkey,key2ΪÕýתºÍ·´×ª£¬key1Îª×ªÔØºìÍâÊý¾ÝµÄÊý×é time0_init(); int1init(); while(1)

{ if(endflag) {hpros(); endflag=0; } if(hp)

{hchuli(); hp=0;

flag=1;//°´¼ü°´Ï·äÃùÆ÷·¢ÉùºÍledÁÁµÄ±êÖ¾ }

//µç¿ØËø¸´Î»±êÖ¾

if((disp[4]==1)&&(disp[5]==6)) {uchar a;

for(a=0;a<8;a++) {key1[a]=0;} FLAG=1; rflag=1; alarm=0; RFLAG=1;

14

i=0; } if(flag)

{BEEP();

key1[i]=disp[4]; key1[i+1]=disp[5]; i=i+2; flag=0; rag=1; alarm++; if(i==8) {i=0;} }

//ÐÞ¸ÄÃÜÂë

if((disp[4]==1)&&(disp[5]==9)) { uchar a;

for(a=0;a<8;a++) {key1[a]=0;} RFLAG=0; i=0; }

//½øÈëÐÞ¸ÄÃÜÂëµÄ¾ßÌåµÄʵÏÖ if(RFLAG==0) {

//È·ÈÏÒªÐ޸ĵÄÃÜÂëµÄÔ­ÃÜÂë

if((key[0]==key1[0])&&(key[1]==key1[1])&&(key[2]==key1[2])&&(key[3]==key1[3])&&(key[4]==key1[4])&&(key[5]==key1[5])&&(key[6]==key1[6])&&(key[7]==key1[7]))

{uint H; G=1;

for(H=0;H<10;H++) { P0_1=0; delay(20); P0_1=1; delay(20); }

for(H=0;H<8;H++) {key1[H]=0;} i=0; rag=0; }

15


ºìÍâÒ£¿ØÃÜÂëËø½²½â.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ
ËÑË÷¸ü¶à¹ØÓÚ£º ºìÍâÒ£¿ØÃÜÂëËø½²½â µÄÎĵµ
Ïà¹ØÍÆ¼ö
Ïà¹ØÔĶÁ