【正文】
) interrupt 1 { static byte tt_0=0。 music1=0。 time_flg=0。 led_show()。 music3=0。 music1=0。 TR0=1。 //10ms EA=1。 TH0=(6553610000)/256。 //數(shù)碼管顯示//****************************延時*********************************//void delay(word t){ while(t)。 //數(shù)碼管位顯示 void keyscan(void)。 //延時 void init_sys(void)。 //成功標(biāo)志byte fail_flg=0。 //停止標(biāo)志byte time_flg=0。 //游戲時間byte start_flg=0。 //系統(tǒng)時間byte num_0=0,num_1=0,num_2=0。 byte code addr[6]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf}。sbit music3=P2^5。sbit music1=P2^3。sbit key1=P2^0。 three a digital tube running at different rates, and use two buttons control the digital control and stop running when the same data is displayed three produce successful voice, whereas failure playback voice. One minute time period, if no success can be repeated for the game, if successful, or time to stop the game is over. Text focuses on the design principles and explain the process in detail and description.[Key words] touch number MCU 附一: 源程序includeinclude define byte unsigned char define word unsigned intsbit dula=P2^7。Physics and Electronic Engineering HU Yangyang 10310283 music3=0。 music1=0。通過初始化的10ms乘以systemtime100再乘以設(shè)定的game_time60從而實現(xiàn)一分鐘定時。 if(game_time1) game_time=0。 } } } if(systemtime100) //100*10ms { systemtime=0。 num_2++。 num_1++。 num_0++。!fail_flg) tt_0++。 } if(start_flgamp。amp。 //10ms TL0=(6553610000)%256。void timer0() interrupt 1 { static byte tt_0=0。}P3口設(shè)置的為位選,P0口設(shè)置的為段選。 }void display(byte num ,byte wei){ P3=addr[wei]。 display(game_time%10,1)。 display(game_time/10,0)。 display(num_2,4)。 display(num_1,3)。void led_show(void){ display(num_0,2)。 } while(!key2)。 music2=0。 } } else { start_flg=1。 music2=1。 music3=0。 //有按鍵按下+數(shù)字1等于數(shù)字2等于數(shù)字3 if(win_flg) { music1=1。amp。amp。 if(ss%2==0) { start_flg=0。!win_flg) { ss++。!fail_flgamp。 if(key2==0amp。 while(!key1)。 win_flg=0。 game_time=60。 ss=0。music2=0。num_2=0。(fail_flg||win_flg)) { num_0=0。 if(key1==0amp。 //定時器0啟動計數(shù)} 按鍵掃描void keyscan(void){ static byte ss=0。 //開啟總中斷 ET0=1。 //預(yù)先設(shè)定定時器初值為10ms TL0=(6553610000)%256。 圖4 74hc573引腳圖void init_sys(void){ TMOD=0x01。這種電路可以驅(qū)動大電容或低阻抗負(fù)載,可以直接與系統(tǒng)總線接口并驅(qū)動總線,而不需要外接口。當(dāng)使能為低時,輸出將鎖存在已建立的數(shù)據(jù)電平上。Atmel公司的AT89C51是一種低功耗、高性能的片內(nèi)含有4kB快閃可編程/擦除只讀存儲器(