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

正文內(nèi)容

片機課程設(shè)計——紅外遙控音樂播放器-資料下載頁

2025-06-06 22:51本頁面
  

【正文】 ,0x15, 0x1F,0x05,0x20,0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40, 0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20, 0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x30,0x20,0x30,0x1C,0x10,0x18,0x40,0x1C,0x20, 0x20,0x20,0x26,0x40,0x13,0x60,0x18,0x20,0x15,0x40,0x13,0x40,0x18,0x80,0x00}。 void delay_50us(uint t) //延時 50 微秒 { uchar j。 for(。t0。t) { for(j=19。j0。j)。 } } void delay_25us(uint t) //延時 25 微秒 { uchar j。 for(。t0。t) { for(j=3。j0。j)。 } } void timer0init(void) { TMOD=0x02。 //定時器 0 定時方式 2 8 位自動重裝 TH0=0x00。 //初值為 0 實現(xiàn)定時 256us 齊齊哈爾大學(xué) 25 TL0=0x00。 ET0=1。 //開定時器 0中斷 EA=1。 //開總中斷 TR0=1。 //啟動定時器 0 } void int1init(void) { IT1=1。 //外部中斷 1負(fù)跳變沿有效 EX1=1。 //開外部中斷 1中斷 EA=1。 //開總中斷 } void irproc(void) //解碼函數(shù) { uchar k,value,m,j。 k=1。 for(j=0。j4。j++) //4 組二進(jìn)制碼 { for(m=0。m8。m++) //每組 8 位 { value=value1。 //由于低位在前,所以右移到正常順序 if(irdata[k]6) //irtime 大于 6*256us 則解碼數(shù)據(jù)為 1 { value=value | 0x80。 //解碼數(shù)據(jù)為 1 則高位或 1 則高位置 1 } k++。 //所有二進(jìn)制碼的位 } ircode[j]=value。 //每組解碼后的值存入 ircode } irprocok=1。 //解碼完成 } void irwork(void) //把解碼后的數(shù)據(jù)轉(zhuǎn)成 16進(jìn)制的兩位數(shù) { disp[0]=ircode[2]/16。 //取出 ircode 中的兩位“數(shù)據(jù)碼” disp[1]=ircode[2]%16。 //取出 ircode 中的兩位“數(shù)據(jù)碼” } void display(void) //數(shù)碼管顯示函數(shù) { P0=table[disp[0]]。 //P0 口送數(shù)據(jù) P2=0x06。 //數(shù)據(jù)管位選 delay_50us(2)。 //顯示數(shù)值保持 100us P2=0x00。 //關(guān)閉位選 P0=table[disp[1]]。 //P0 口送數(shù)據(jù) P2=0x07。 //數(shù)據(jù)管位選 delay_50us(2)。 //顯示數(shù)值保持 100us P2=0x00。 //關(guān)閉位選 齊齊哈爾大學(xué) 26 } void play(uchar l) //音樂播放函數(shù) { uchar temp1,temp2。 uint addr。 //song[]播放位置 count = 0。 //中斷計數(shù)清 0 addr = l * 217。 while(1) { temp1 = song[addr++]。 if (temp1 == 0xFF) //休止符 { TR0 = 0。 //關(guān)閉定時器 0 delay_50us(100)。 } else if (temp1 == 0x00) //歌曲結(jié)束符 { return。 } else { temp2 = song[addr++]。 TR0 = 1。 //啟動定時器 0 while(1) { P0=table[disp[0]]。 //P0 口送數(shù)據(jù) P2=0x06。 //數(shù)據(jù)管位選 FM = ~FM。 delay_25us(temp1)。 P2=0x00。 //關(guān)閉位選 P0=table[disp[1]]。 //P0 口送數(shù)據(jù) P2=0x07。 //數(shù)據(jù)管位選 delay_25us(temp1)。 P2=0x00。 //關(guān)閉位選 if(temp2 == count) //節(jié)拍 { count = 0。 break。 } } } if(irreceok) //接收完成 { irproc()。 //解碼 齊齊哈爾大學(xué) 27 irreceok=0。 } if(irprocok) //解碼完成 { irwork()。 //把解碼后的數(shù)據(jù)轉(zhuǎn)成 16 進(jìn)制的兩位數(shù) irprocok=0。 if(ircode[2]==0x02amp。amp。shuaxin==1) //暫停 { shuaxin=0。 while(1) { if(irreceok) //接收完成 { irproc()。 //解碼 irreceok=0。 } if(irprocok) //解碼完成 { irwork()。 //把解碼后的數(shù)據(jù)轉(zhuǎn)成 16進(jìn)制的兩位數(shù) irprocok=0。 } display()。 //顯示 if(ircode[2]==0x06) //暫停后重新播放 { shuaxin=0。 break。 } if(ircode[2]==0x0aamp。amp。shuaxin==1) //停止播放 { shuaxin=0。 return。 } if(ircode[2]==0x17amp。amp。shuaxin==1) //曲目 0 { shuaxin=0。 return。 } if(ircode[2]==0x16amp。amp。shuaxin==1) //曲目 1 { shuaxin=0。 return。 } if(ircode[2]==0x07amp。amp。shuaxin==1) //播放上一曲 { 齊齊哈爾大學(xué) 28 if(l==0) //當(dāng)前播放曲目 0 { shuaxin=0。 n=1。 return。 //返回主函數(shù)播放qumu[n] } else //當(dāng)前播放曲目 1 { shuaxin=0。 n=0。 return。 //返回主函數(shù)播放qumu[n] } } if(ircode[2]==0x05amp。amp。shuaxin==1) //播放下一曲 { if(l==0) //當(dāng)前播放曲目 0 { shuaxin=0。 n=1。 return。 //返回主函數(shù)播放qumu[n] } else //當(dāng)前播放曲目 1 { shuaxin=0。 n=0。 return。 //返回主函數(shù)播放qumu[n] } } } } if(ircode[2]==0x0aamp。amp。shuaxin==1) //停止 { shuaxin=0。 return。 } if(ircode[2]==0x17amp。amp。shuaxin==1) //曲目 0 { shuaxin=0。 return。 } if(ircode[2]==0x16amp。amp。shuaxin==1) //曲目 1 齊齊哈爾大學(xué) 29 { shuaxin=0。 return。 } if(ircode[2]==0x07amp。amp。shuaxin==1) //播放上一曲 { if(l==0) //當(dāng)前播放曲目 0 { shuaxin=0。 n=1。 return。 //返回主函數(shù)播放 qumu[n] } else //當(dāng)前播放曲目 1 { shuaxin=0。 n=0。 return。 //返回主函數(shù)播放 qumu[n] } } if(ircode[2]==0x05amp。amp。shuaxin==1) //播放下一曲 { if(l==0) //當(dāng)前播放曲目 0 { shuaxin=0。 n=1。 return。 //返回主函數(shù)播放 qumu[n] } else //當(dāng)前播放曲目 1 { shuaxin=0。 n=0。 return。 //返回主函數(shù)播放 qumu[n] } } } } } void main() { timer0init()。 //定時器初始化 int1init()。 //外部中斷初始化 while(1) { if(irreceok) //接收完成 { 齊齊哈爾大學(xué) 30 irproc()。 //解碼 irreceok=0。 } if(irprocok) //解碼完成 { irwork()。 //把解碼后的數(shù)據(jù)轉(zhuǎn)成 16 進(jìn)制的兩位數(shù) irprocok=0。 } display()。 //顯示 if(ircode[2]==0x06) //播放歌曲 { shuaxin=0。 play(qumu[0])。 } if(ircode[2]==0x17) //播放曲目 0 { shuaxin=0。 play(qumu[0])。 } if(ircode[2]==0x16) //播放曲目 1 { shuaxin=0。 play(qumu[1])。 } if(ircode[2]==0x07) //上一曲 { shuaxin=0。 play(qumu[n])。 } if(ircode[2]==0x05) //下一曲 { shuaxin=0。 play(qumu[n])。 } } } void timer0() interrupt 1 { irtime++。 i++。 if(i==39) //39*256us=10ms { i=0。 count++。 //蜂鳴器節(jié)拍 齊齊哈爾大學(xué) 31 } } void int1() interrupt 2 { if(startflag==1) { if(irtime32) //檢測 9ms 引導(dǎo)碼 { bitnum=0。 } irdata[bitnum]=irtime。 irtime=0。 bitnum++。 if(bitnum==33) //接收結(jié)束 { bitnum=0。 irreceok=1。 //接收完成 } } else { startflag=1。 //接 收開始標(biāo)志位 irtime=0。 } shuaxin=1。 } 齊齊哈爾大學(xué) 32 致 謝 本 次單片機課程 設(shè)計 是 在 祁 老師的指導(dǎo)和要求下 完成 的 , 每一個電路的設(shè)計步驟和程序設(shè)計過程都有 老師的 細(xì)心教導(dǎo) , 同時也有同學(xué)們的各種幫助。所以課程設(shè)計要感謝老師 的精心指導(dǎo) ,讓 我受益匪淺 ,也感謝同學(xué)們對我的幫助 。在此向老 師 表示深深的感謝和崇高的敬意。
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1