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

正文內(nèi)容

基于單片機(jī)的多功能音樂(lè)電子時(shí)鐘-資料下載頁(yè)

2025-06-27 19:56本頁(yè)面
  

【正文】 10。 // 顯示‘’ if(hidmin4){ buffer[3]=min/10。 // 顯示分的十位 buffer[4]=min%10。 // 顯示分的個(gè)位 } else { buffer[3]=11。 buffer[4]=11。 } buffer[5]=10。 if(hidsec4){ buffer[6]=sec/10。 // 顯示秒的十位 buffer[7]=sec%10。 // 顯示秒的個(gè)位 }else{ buffer[6]=0x11。 buffer[7]=0x11。 } for(i=0。i8。i++) { P0=segcode[buffer[i]]。 //查找段碼值 P2=dispbit[i]。 //查找位碼值 delayMS(1)。 //防止數(shù)碼管顯示的時(shí)候閃動(dòng) P2=0xFF。 } } }/**********************判斷按鍵程序******************/void press() { keyinput=P1amp。0xf0。 // 鍵掃描程序,全掃描,逐行掃描。按鍵彈起后才處理 if(keyinput!=0xf0) //如果有變化則表示有按鍵按下 { delayMS(10)。 //延時(shí),進(jìn)行去抖動(dòng) if(keyinput!=0xf0) //如果有變化則表示有按鍵按下 { if(keyrelease==1) //確實(shí)有鍵按下 { keyrelease=0。 //按鍵釋放 buf = keyinput。 //buf用來(lái)暫時(shí)存放鍵值 } } else { keyrelease=1。 //鍵釋按下 keyprocess(buf)。 //調(diào)用按鍵處理函數(shù) buf = 0xff。 } } else { keyrelease=1。 keyprocess(buf)。 buf=0xff。 } }/*******************定時(shí)器T0中斷*****************/void t0() interrupt 1 { TH0=(6553646080)/256。 // 定時(shí)器0設(shè)置初始值50ms中斷初始值 TL0=(6553646080)%256。 TR0=1。 //啟用定時(shí)器T0開(kāi)始計(jì)時(shí) count++。 //正常計(jì)時(shí) if(count=20) // 定時(shí) 1S 到,以下為時(shí)鐘的正常走鐘邏輯 { count=0。 sec++。 if(sec= 60) { sec=0。 min++。 if(min= 60) { min=0。 hour++。 if(hour= 24) { hour=0。 } } } } }/**********定時(shí)器T1中斷。用來(lái)產(chǎn)生不同頻率方波********/void t1() interrupt 3 { TR1=0。 //先關(guān)中斷 music=~music。 //產(chǎn)生方波 TH1=timer1h。 TL1=timer1l。 //重新裝入初值 TR1=1。 //在開(kāi)始計(jì)數(shù)}/*********************延遲半節(jié)拍數(shù)*******************/void delay(uchar t) { uchar t1。 unsigned long t2。 for(t1=0。t110*t。t1++) { display()。 //防止響音樂(lè)時(shí)數(shù)碼管無(wú)顯示 press()。 for(t2=0。t2200。t2++) 。 } TR1=0。 //一個(gè)音符發(fā)送完后關(guān)計(jì)數(shù)}/********************產(chǎn)生音樂(lè)程序***************/void send() { TH1=timer1h。 TL1=timer1l。 TR1=1。 delay(time)。 //根據(jù)節(jié)拍數(shù)調(diào)用延遲}/********************主函數(shù)*********************/void main() { uint h=0。 uint i,k。 music=1。 TMOD=0x11。 TH0=(6553646080)/256。 // 定時(shí)器0設(shè)置初始值50ms中斷初始值 TL0=(6553646080)%256。 TR0=1。 //啟用定時(shí)器T0開(kāi)始計(jì)時(shí) IE=0x82。 //開(kāi)定時(shí)器0中斷 EA=1。 ET0=1。//開(kāi)中斷 ET1=1。 while(1) { press()。 //判斷是否有鍵按下并處理 if(ringoff==0amp。amp。hour==ringhouramp。amp。min==ringmin) //鬧鐘打開(kāi),定時(shí)報(bào)警,報(bào)警時(shí)長(zhǎng)1分鐘 { i=0。 time=1。 while(!ringoff) { music=0。 k=song[i]+7*song[i+1]8。//找到相應(yīng)音符的計(jì)數(shù)初值 timer1h=freqh[k]。 timer1l=freql[k]。 //裝入計(jì)數(shù)初值 time=song[i+2]。 i=i+3。 if(time!=0) send()。 //播放音符 else i=0。 //循環(huán)播放 if(min!=ringmin) break。 } } else { music=1。 } /***********調(diào)整時(shí)位閃計(jì)數(shù)***************/ if(shansuo==1){ switch(status) { case 0x01: hidhour++。 if(hidhour10)hidhour=0。 display()。 break。 case 0x02: hidhour=0。 hidmin++。 if(hidmin10)hidmin=0。 display()。 break。 case 0x03: hidmin=0。 hidsec++。 if(hidsec10)hidsec=0。 display()。 break。 case 0x04: hidsec=0。 hidringhour++。 if(hidringhour10)hidringhour=0。 display()。 break。 case 0x05: hidringhour=0。 hidringmin++。 if(hidringmin10)hidringmin=0。 display()。 break。 default:break。 } }else{ //不調(diào)整時(shí)正常顯示 display()。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1