freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)基于at89s52單片機(jī)的籃球計(jì)時(shí)計(jì)分器-資料下載頁(yè)

2024-12-01 19:42本頁(yè)面

【導(dǎo)讀】單片機(jī),亦稱單片微電腦或單片微型計(jì)算機(jī)。它是把中央處理器。陰LED作為顯示器件。在此設(shè)計(jì)中共接入了1個(gè)四位一體7段共陰。甲乙隊(duì)的分?jǐn)?shù),每隊(duì)2個(gè)LED顯示器顯示范圍可達(dá)到0~99分。計(jì)時(shí)采用倒計(jì)時(shí)方式,比賽開始時(shí)啟動(dòng)計(jì)時(shí),直至計(jì)時(shí)到零為止。采用單片機(jī)控制是這個(gè)系統(tǒng)按鍵操作使用簡(jiǎn)潔,LED. 顯示,安裝方便。proteus軟件來(lái)仿真,檢驗(yàn)功能是否能夠正常實(shí)現(xiàn)。

  

【正文】 P0=seg[x%100/10]。 delay(1)。 P2=0xff。 P0=0。 P2=0xdf。 //同理,動(dòng)態(tài)刷新甲隊(duì)分 數(shù)個(gè)位并延時(shí)點(diǎn)亮 P0=seg[x%10]。 delay(1)。 P2=0xff。 P0=0。 P2=0xbf。 / /同理,動(dòng)態(tài)刷新乙隊(duì)分?jǐn)?shù)十位并延時(shí)點(diǎn)亮 P0=seg[y%100/10]。 delay(1)。 P0=0。 P2=0xff。 P2=0x7f。 //同理,動(dòng)態(tài)刷新乙隊(duì)分?jǐn)?shù)十位并延時(shí)點(diǎn)亮 P0=seg[y%10]。 delay(1)。 P0=0。 P2=0xff。 } void t0(void) interrupt 1 //調(diào)用定時(shí)器 T0 基本計(jì)時(shí)單位秒 { TH0=0xb1。 //利用定時(shí)器 T0, 送入計(jì)數(shù)初值TH0=0xb1。 TL0=0x10。 TL0=0x10。 //定時(shí)器定時(shí)單位為 20 毫秒 if(n==0) { //分鐘與秒時(shí)間調(diào)整 當(dāng)秒減到0 以后分鐘減 1 n=60。m。 } i++。 if(i==50) { //利用中間變量 i 令 i 值為 50 50*20 毫秒 =1 秒 n。 //以實(shí)現(xiàn)一秒計(jì)時(shí) i=0。 } display(m,n1,x,y)。 //調(diào)用動(dòng)態(tài)刷新顯示程序 } void keyjiafen1() //加分按鍵子程序,在主程序中不斷調(diào)用該子程序 { //當(dāng)檢測(cè)到甲隊(duì)加分按鍵按下時(shí),對(duì)應(yīng)加分 if(RXD==0) { //調(diào)用延時(shí)子程序 實(shí)現(xiàn)消除按鍵抖動(dòng)功能,即,當(dāng) delay(1)。 //檢測(cè)到按鍵按下時(shí)候,延時(shí),按鍵仍按下,說(shuō)明按鍵 if(RXD==0) //確實(shí)按下,非抖動(dòng),甲隊(duì)對(duì)應(yīng)加分 { while(RXD==0)。 x++。 } } if(TXD==0) //同理,檢測(cè)乙隊(duì)加分按鍵時(shí)候按下,并加分 { delay(1)。 if(TXD==0) { while(TXD==0)。 y++。 } } } void keyjianfen1() //減分按鍵檢測(cè)子程序,其基本算法及功能與加 { if(WR==0) //相同 { delay(1)。 if(WR==0) { while(WR==0)。 x。 } } if(RD==0) { delay(1)。 if(RD==0) { while(RD==0)。 y。 } } } void key2() //顯示時(shí)間調(diào)整程序,即回表和快表 { if(INT0==0) { //在比賽中有時(shí)經(jīng)常需要回表,故寫此程序 delay(10)。 if(INT0==0) //回表子程序,檢測(cè)到 INT0按下時(shí),使時(shí)間回倒 { chuzanting==0。 // chuzanting==0。 zanting=1。為附加變量,當(dāng)回表按鍵 zanting=1。 //松開時(shí) ,表暫停,這兩個(gè)變量用來(lái)調(diào)用暫停 n++。 if(n==60) { m++。 n=1。 } } } if(INT1==0) //快表子程序,檢測(cè)到 INT1按下時(shí),使倒計(jì)加快, { //通常情況下與回表子程序配合使用,即當(dāng)回表 //回過(guò)的時(shí)候,按此鍵調(diào)整時(shí)間 delay(10)。 // chuzanting==0。 zanting=1。作用同上 if(INT1==0) { chuzanting==0。 zanting=1。 n。 } } } void shijian() / /該程序使回表和快表按鍵松開時(shí)候能自動(dòng)暫停 { if(zanting==1amp。amp。INT0==1amp。amp。INT1==1amp。amp。chuzanting==0 ) { EA=0。 // zanting==1amp。amp。INT0==1amp。amp。INT1==1amp。amp。chuzanting==0 作用為 zanting=0。 //當(dāng)按鍵松開的時(shí)候,調(diào)用暫停程序條件 chuzanting=0。 //zanting=0。chuzanting=0,初始化,以便下次回表和快表 while(1) //按鍵松開時(shí)候仍能調(diào)用暫停程序 { display(m,n,x,y)。 if(P1_0==0) //檢測(cè)暫停鍵按下,開中斷,跳出暫停 { delay(1)。 if(P1_0==0) { while(P1_0==0)。 EA=1。 break。 } } } } } void key3() //半場(chǎng)交換場(chǎng)地時(shí)自動(dòng)交換雙方比賽分?jǐn)?shù)子程序 { int temp。 //定義中間變量 temp,檢測(cè)到有按鍵按下時(shí)候 if(zidong==1amp。amp。jie==1) //交換甲隊(duì),乙隊(duì)比賽分?jǐn)?shù) { temp=x。 // zidong==1amp。amp。jie==1 是判斷半場(chǎng)的條件 // y=temp。 display(m,n,x,y)。 zidong=0。 bujin=0。 } } void key4() //比賽暫停子程序 { if(P1_0==0) //檢測(cè)到暫停按鍵按下時(shí)候,令EA=0 關(guān)閉中斷 { delay(1)。 //同通過(guò)死循環(huán)程序 while(1),不斷刷新數(shù)碼管 if(P1_0==0) //當(dāng)暫停鍵再次按下時(shí)候 ,開中斷,以使比賽時(shí)間 { //繼續(xù)倒計(jì)時(shí),由于在暫停的時(shí)候,程序處于死循 while(P1_0==0)。 EA=0。 //無(wú)法回到主程序,故主程序中檢測(cè)按鍵按下的 while(1) //無(wú)法回到主程序,即實(shí)現(xiàn)了暫停時(shí),除了暫停鍵 { //其他按鍵按下均無(wú)效 display(m,n,x,y)。 if(P1_0==0) { //當(dāng)暫停鍵再次按下時(shí)候, EA=1開中斷,計(jì)時(shí)數(shù)碼管 delay(1)。 //繼續(xù)倒計(jì)時(shí),同時(shí)通過(guò) break語(yǔ)句,跳出死循環(huán) if(P1_0==0) { while(P1_0==0)。 EA=1。 break。 } } } } } } void over() //比賽結(jié)束及及點(diǎn)亮下半場(chǎng)指示燈程序 { if((m==0)amp。amp。(n==0)) //當(dāng) m, n 均為 0 的時(shí)候,通過(guò)變量 jie 的值判斷比賽 { //是否結(jié)束 if(jie1) //如果 jie1,說(shuō)明半場(chǎng)到了,比賽沒有結(jié)束, { { //jie,關(guān)中斷,再次按下暫停鍵時(shí)候繼續(xù)倒計(jì)時(shí) m=2。 n=0。 EA=0。 T1=1。 delay(400)。 T1=0。 while(1) { display(m,n,x,y)。 if(P1_0==0) { delay(1)。 if(P1_0==0) { while(P1_0==0)。 EA=1。 break。 } } } jie。 } if(jie==1amp。amp。bujin==2) //如果 jie==1amp。amp。bujin==2,說(shuō)明比賽結(jié)束了,令 EA=0, { //比關(guān)閉中斷,比賽秒表不再走動(dòng),同時(shí)不短刷新數(shù)碼管, EA=0。 //全場(chǎng)比賽結(jié)束蜂鳴器開始報(bào)警 m=0。 n=0。 T1=1。 delay(400)。 T1=0。 P1=0x3f。 // P1=0x3f 上下半場(chǎng)指示燈同時(shí)點(diǎn)亮,比賽結(jié)束 while(1) display(m,n,x,y)。 //不斷刷新數(shù)碼管 } } } void main() // 主程序 { TMOD=0x01。 //設(shè)置定時(shí)器工作方式 EA=1。 ET0=1。 TH0=0xb1。 //定時(shí)器送計(jì)數(shù)初值, EA=1,開中斷, P3 口電平拉高 TL0=0x10。 // P1=0x7f, 上半場(chǎng)指示燈點(diǎn)亮 TR0=1。 P3=0xff。 P1=0x7f
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1