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

正文內(nèi)容

片機課程設(shè)計——紅外遙控音樂播放器(參考版)

2025-06-10 22:51本頁面
  

【正文】 。所以課程設(shè)計要感謝老師 的精心指導 ,讓 我受益匪淺 ,也感謝同學們對我的幫助 。 } shuaxin=1。 //接收完成 } } else { startflag=1。 if(bitnum==33) //接收結(jié)束 { bitnum=0。 irtime=0。 //蜂鳴器節(jié)拍 齊齊哈爾大學 31 } } void int1() interrupt 2 { if(startflag==1) { if(irtime32) //檢測 9ms 引導碼 { bitnum=0。 if(i==39) //39*256us=10ms { i=0。 } } } void timer0() interrupt 1 { irtime++。 } if(ircode[2]==0x05) //下一曲 { shuaxin=0。 } if(ircode[2]==0x07) //上一曲 { shuaxin=0。 } if(ircode[2]==0x16) //播放曲目 1 { shuaxin=0。 } if(ircode[2]==0x17) //播放曲目 0 { shuaxin=0。 //顯示 if(ircode[2]==0x06) //播放歌曲 { shuaxin=0。 //把解碼后的數(shù)據(jù)轉(zhuǎn)成 16 進制的兩位數(shù) irprocok=0。 //解碼 irreceok=0。 //定時器初始化 int1init()。 return。 //返回主函數(shù)播放 qumu[n] } else //當前播放曲目 1 { shuaxin=0。 n=1。amp。 return。 //返回主函數(shù)播放 qumu[n] } else //當前播放曲目 1 { shuaxin=0。 n=1。amp。 return。amp。 return。amp。 return。amp。 return。 //返回主函數(shù)播放qumu[n] } else //當前播放曲目 1 { shuaxin=0。 n=1。amp。 return。 //返回主函數(shù)播放qumu[n] } else //當前播放曲目 1 { shuaxin=0。 n=1。amp。 return。amp。 return。amp。 return。amp。 break。 } display()。 } if(irprocok) //解碼完成 { irwork()。 while(1) { if(irreceok) //接收完成 { irproc()。amp。 //把解碼后的數(shù)據(jù)轉(zhuǎn)成 16 進制的兩位數(shù) irprocok=0。 //解碼 齊齊哈爾大學 27 irreceok=0。 break。 P2=0x00。 //P0 口送數(shù)據(jù) P2=0x07。 P2=0x00。 //數(shù)據(jù)管位選 FM = ~FM。 //啟動定時器 0 while(1) { P0=table[disp[0]]。 } else { temp2 = song[addr++]。 //關(guān)閉定時器 0 delay_50us(100)。 while(1) { temp1 = song[addr++]。 //song[]播放位置 count = 0。 //關(guān)閉位選 齊齊哈爾大學 26 } void play(uchar l) //音樂播放函數(shù) { uchar temp1,temp2。 //數(shù)據(jù)管位選 delay_50us(2)。 //關(guān)閉位選 P0=table[disp[1]]。 //數(shù)據(jù)管位選 delay_50us(2)。 //取出 ircode 中的兩位“數(shù)據(jù)碼” } void display(void) //數(shù)碼管顯示函數(shù) { P0=table[disp[0]]。 //解碼完成 } void irwork(void) //把解碼后的數(shù)據(jù)轉(zhuǎn)成 16進制的兩位數(shù) { disp[0]=ircode[2]/16。 //所有二進制碼的位 } ircode[j]=value。 //由于低位在前,所以右移到正常順序 if(irdata[k]6) //irtime 大于 6*256us 則解碼數(shù)據(jù)為 1 { value=value | 0x80。m8。j4。 k=1。 //開外部中斷 1中斷 EA=1。 //啟動定時器 0 } void int1init(void) { IT1=1。 //開定時器 0中斷 EA=1。 //初值為 0 實現(xiàn)定時 256us 齊齊哈爾大學 25 TL0=0x00。 } } void timer0init(void) { TMOD=0x02。j0。t0。 } } void delay_25us(uint t) //延時 25 微秒 { uchar j。j0。t0。 void delay_50us(uint t) //延時 50 微秒 { uchar j。 //送往數(shù)碼管的數(shù) uchar qumu[2] ={0,1}。 //所有 irtime uchar ircode[4]。 uchar i,count。 //定義蜂鳴器引腳 uchar table[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}。這次課程設(shè)計 使我 真正 懂得了理論與實際相結(jié)合 的 重要性。另外,我 還 在焊接單片機電路的過程中,學到了許多焊接方面的知識與技巧。 本次設(shè)計 讓我 學 到 的知識有很多,提高了我的邏輯思維能力,使我 在邏輯電路的分析與 程序的設(shè)計上有了更大的進步。 (7) 按下頻道“ ”,對應碼值 0a,數(shù)碼管顯示 0a,蜂鳴器停止工作,實現(xiàn)停止播放功能。按下音量“ ”,對應碼值 07,數(shù)碼管顯示 07,蜂 鳴器播放曲目 1,實現(xiàn)暫停時更換曲目。按下確認鍵,對應碼值 06,數(shù)碼管顯示 06,蜂鳴器繼續(xù)工作,實現(xiàn)斷點播放曲目 2。 (3) 按下數(shù)字鍵 2,對應碼值 16,數(shù)碼管顯示 16,蜂鳴器工作,實現(xiàn)播放曲目 2:八月桂花遍地開。 } } 齊齊哈爾大學 17 第 4 章 硬件調(diào)試 根據(jù)上述設(shè)計電路畫出電路原理圖,根據(jù)原理圖焊接電路板,實物圖如 圖 41所示 : 圖 41 實物圖 在本設(shè)計中使用的紅外遙控器 如圖 42所示, 遙控器 各按鍵相應碼值如 圖 43所示: 圖 42 紅外遙控器 圖 43 遙控器 按鍵 碼值 紅外遙控音樂播放器的設(shè)計中,對于紅外遙控器未將全部的按鍵設(shè)計功能,本設(shè)計1b 18 17 16 15 14 13 12 11 10 0f 1a 0e 19 00 08 02 07 06 05 0a 1d 03 1f 04 0b 齊齊哈爾大學 18 使用按鍵對應碼值及功能如 表 41所示: 表 41 遙控器按鍵、碼值及功能表 遙控器按鍵 按鍵對應碼值 功能 數(shù)字鍵 1 17 曲目 1 數(shù)字鍵 2 16 曲目 2 頻道“ +” 02 暫停 音量“ ” 07 上一曲 確認 06 確認 音量“ +” 05 下一曲 頻道“ ” 0a 停止 根據(jù)設(shè)計功能進行硬件調(diào)試,調(diào)試過程如下: (1)單片機上電,此時 無按鍵按鍵,數(shù)碼管顯示 00,蜂鳴器不工作。 //顯示數(shù)值保持 100us P2=0x00。 //P0 口送數(shù)據(jù) P2=0x07。 //顯示數(shù)值保持 100us P2=0x00。 //P0 口送數(shù)據(jù) P2=0x06。 //取出 ircode 中的兩位“數(shù)據(jù)碼” disp[1]=ircode[2]%16。 //數(shù)碼管顯示編碼 齊齊哈爾大學 16 uchar disp[2]。 count++。 // play(0)為祝你平安 play(1)為 八月桂花遍地開 } } void timer0() interrupt 1 { TH0 = 0xDC。 } } } void main() { timer0init()。 if(temp2 == count)//節(jié)拍 { count = 0。 //啟動定時器 0 while(1) { FM = ~FM。 齊齊哈爾大學 15 } else { temp2 = song[addr++]。 //關(guān)閉定時器 0 delay_50us(100)。 while(1) { temp1 = song[addr++]。 //song[]播放位置 count = 0。 //定時 10ms } void play(uchar i) //音樂播放函數(shù) { uchar temp1,temp2。 //開定時器中斷 開總中斷 TH0 = 0xDC。 } } void timer0init(void) { TMOD = 0x01。j0。t0。 void delay_50us(uint t) //延時 50 微秒 { uchar j。 //定義蜂鳴器引腳 uchar count。 紅外信號解碼后,用兩位共陰數(shù)碼管顯示其中的數(shù)據(jù)碼 [3]。 程序 設(shè)計 中用軟件 延時程序
點擊復制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1