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

正文內(nèi)容

基于單片機的簡易電子琴設(shè)計課程設(shè)計-資料下載頁

2025-06-27 20:45本頁面
  

【正文】 .8051單片機課程設(shè)計實訓(xùn)教材[M].北京:清華大學(xué)出版社,2003年9月[2] 徐新艷.單片機原理、應(yīng)用與實踐[M].北京:高等教育出版社,2005年3月[3] 吳金戌,沈慶陽,郭庭吉.8051單片機實踐與應(yīng)用[M].第一版.北京:清華大學(xué)出版社,2002年.[4] 吳金戌,沈慶陽,郭庭吉,8051單片機實踐與應(yīng)用[M].清華大學(xué)出版社,2001[5] 馮博琴,微型計算機原理與接口技術(shù)[M].清華大學(xué)出版社,2004[6] 張毅剛,MCS51單片機應(yīng)用設(shè)計[M].哈爾濱工業(yè)大學(xué)出版社,2004[7] 張淑清,姜萬錄等,單片微型計算機接口技術(shù)及應(yīng)用[M].國防工業(yè)出版社,2003[8] 吳金戌,沈慶陽,郭庭吉,8051單片機實踐與應(yīng)用[M].清華大學(xué)出版社,2001[9] 馮博琴,微型計算機原理與接口技術(shù)[M].清華大學(xué)出版社,2004附錄一 原理圖附錄二 源代碼include define keyport P1define uchar unsigned chardefine uint unsigned intuchar high,low。 //定時器預(yù)裝值的高8位和低8位sbit speak=P3^0。sbit gao=P3^5。sbit di=P3^6。sbit zdbf=P3^7。uchar yinjie=1。uchar time。uchar n=0。uchar bo=0。uchar code fre[][2]= { 0x8c,0xf8, 0x5b,0xf9, 0x15,0xfa, 0x67,0xfa, 0x90,0xfb, 0xae,0xfb, 0x0c,0xfc, //低音 0x44,0xfc, 0xac,0xfc, 0x09,0xfd, 0x34,0xfd, 0x82,0xfd, 0xc2,0xfd, 0x06,0xfe, //中音 0x22,0xfe, 0x56,0xfe, 0x85,0xfe, 0x9a,0xfe, 0xc1,0xfe, 0xe4,0xfe, 0x03,0xff, //高音 }。void delay(uint )。void ITimer0(void)。//定時器初始化void key(void)。void dtxs(int,int)。void song(){TH0=high。TL0=low。TR0=1。delay(time*240)。 }void yinyue(){uchar code hls[]={ 5,2,2, 3,2,1, 5,2,1, 1,3,4, 6,2,2, 1,3,2, 5,2,4, 5,2,2, 1,2,1, 2,2,1 ,3,2,2 ,2,2,1, 1,2,1 ,2,2,6, 5,2,2, 3,2,1, 5,2,1, 1,3,3, 7,2,1, 6,2,2, 1,3,2, 5,2,4, 5,2,2, 2,2,1, 3,2,1, 4,2,3, 7,1,1, 1,2,6, 6,2,2, 1,3,2, 1,3,4, 7,2,2, 6,2,1, 7,2,1, 1,3,4 ,6,2,1, 7,2,1, 1,3,1 ,6,2,1, 6,2,1 ,5,2,1 ,3,2,1, 1,2,1, 2,2,6, 5,2,2, 3,2,1, 1,2,1, 1,3,3, 7,2,1, 6,2,2, 1,3,2, 5,2,4, 5,2,2, 2,2,1, 3,2,1, 4,2,3, 7,1,1, 1,2,6 }。 uchar m。 n=0。 while(n174) { m=hls[n]+7*(hls[n+1]1)1。 high=fre[m][1]。 low=fre[m][0]。 time=hls[n+2]。 n=n+3。 song()。 }} void main (void){ uchar num。 ITimer0()。 speak=0。 while(1) { key()。 switch(keyport) { case 0xfe:num=1。break。 case 0xfd:num=2。break。 case 0xfb:num= 3。break。 case 0xf7:num= 4。break。 case 0xef:num= 5。break。 case 0xdf:num= 6。break。 case 0xbf:num= 7。break。 case 0x7f:num= 8。break。 default:num= 0。break。 } if(num==0) { TR0=0。 speak=0。 } else { high=fre[7*yinjie+num1][1]。 low=fre[7*yinjie+num1][0]。 TR0=1。 } dtxs(yinjie,num)。 }}void ITimer0(void){TMOD |= 0x01。 //使用模式1,16位定時器,使用|符號可以在使用多個定時器時不受影響 EA=1。 //總中斷打開ET0=1。 //定時器中斷打開TR0=1。 //定時器開關(guān)打開}void Timer0_isr(void) interrupt 1{TH0=high。TL0=low。speak=!speak。if(zdbf==0) { delay(100)。 if(zdbf==0) { bo++。 if(bo/2==1) { delay(100)。 if(n174)n=500。 //n賦值大于174,跳出while,停止音樂 else n=0。 dtxs(3,0)。 } if(bo%2==0) { delay(100)。 n=500。 //n賦值大于174,跳出while,停止音樂 } } }/**/}void key(){ if(zdbf==0) {delay(100)。 if(zdbf==0) yinyue()。 } if(gao==0) { delay(100)。 if(gao==0) { delay(100)。 if(yinjie==2) yinjie=1。 else yinjie=2。 } } if(di==0) { delay(100)。 if(di==0) { delay(100)。 if(yinjie==0) yinjie=1。 else yinjie=0。 } }}void delay(unsigned int x){ int a,b。 for(a=x。a0。a) for(b=110。b0。b)。}void dtxs(k,l)//k是按鍵號,l是工作方式{ char seg[14]={0x6f,0x0a,0xe3,0xcb,0x8e,0xcd, 0xed,0x0b,0xef,0xcf,0xaf,0xec,0x65,0xea}。 P2=0x01。//選擇第一個數(shù)碼管 P0=seg[l]。//顯示按鍵號 delay(4)。 P2=0x02。//選擇第二個數(shù)碼管 P0=seg[k+10]。//顯示工作方式 delay(4)。 }
點擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1