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

正文內(nèi)容

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

2024-12-06 01:23本頁面

【導(dǎo)讀】隨著當(dāng)代科學(xué)技術(shù)的發(fā)展,電子產(chǎn)品在人們的日常生活中占據(jù)著越來越重要的地位。作為其中的一個典型代表,引領(lǐng)著許多孩子進(jìn)入音樂的殿堂。因此,我們選擇了簡易電子琴這個。題目來制作,因為它不僅能夠提高我的實踐動手能力,還與實際生活有著緊密地聯(lián)系。單片機(jī)是一門實踐性很強(qiáng)的課程,而此次課程設(shè)計依據(jù)的理論基礎(chǔ)是單片機(jī)的相關(guān)知識。數(shù)字系統(tǒng)的設(shè)計方法,掌握小型數(shù)字系統(tǒng)的組裝和調(diào)試技術(shù),裝握查閱有關(guān)資料的技能。它的體積小、質(zhì)量輕、價格便宜、為學(xué)習(xí)、同時,學(xué)習(xí)使用單片機(jī)是了解計算機(jī)原理與結(jié)構(gòu)的最佳選擇。但大多數(shù)嵌入式系統(tǒng)尚處于單獨應(yīng)用階段。雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟。件可選擇節(jié)電模式。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一。不過,這種電腦,通常是指個人計算機(jī),簡稱PC機(jī)。電壓從而流過電流并發(fā)出可見光的器件。則是通過中斷程序進(jìn)行控制。

  

【正文】 7P 0. 0/ A D 039P 0. 1/ A D 138P 0. 2/ A D 237P 0. 3/ A D 336P 0. 4/ A D 435P 0. 5/ A D 534P 0. 6/ A D 633P 0. 7/ A D 732A L E30P S E N29P 2. 7/ A 1528P 2. 6/ A 1427P 2. 5/ A 1326P 2. 4/ A 1225P 2. 3/ A 1124P 2. 2/ A 1023P 2. 1/ A 922P 2. 0/ A 821U1A T 89 S 51R110KR210KR310KY112 M H zC730 p FC630 p F12345678P1H E A D E R 8S1S W P BS2S W P BS3S W P BS4S W P BS5S W P BS6S W P BS7S W P BS8S W P BS9S W P BS 10S W P BS 11S W P BS 12S W P BS 13S W P BS 14S W P BS 15S W P BS 16S W P BC110 u FV C CV c c6I N +3I N 2B Y P A S S7V O U T5G A I N1G A I N8G N D4U2L M 38 6C210 u FC30. 1u FV C CC410 u FR410KC50. 1u FL S 1揚聲器CR4CR3CR2CR1BR4BR3BR2BR1CR4CR3CR2CR1BR4BR3BR2BR1agdefbcdpa7b6c4d2e1f9GND3GND8g10dp5U3D P Y 7_ S E G _D PR4220 仿真圖 鍵盤識別 程序框圖 語言源程序 include unsigned char code table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}。 unsigned char temp。 unsigned char key。 unsigned char i,j。 void main(void) { while(1) { P3=0xff。 P3_4=0。 temp=P3。 temp=temp amp。 0x0f。 if (temp!=0x0f) { for(i=50。i0。i) for(j=200。j0。j)。 temp=P3。 temp=temp amp。 0x0f。 if (temp!=0x0f) { temp=P3。 temp=temp amp。 0x0f。 switch(temp) { case 0x0e: key=7。 break。 case 0x0d: key=8。 break。 case 0x0b: key=9。 break。 case 0x07: key=10。 break。 } temp=P3。 P1_0=~P1_0。 P0=table[key]。 temp=temp amp。 0x0f。 while(temp!=0x0f) { temp=P3。 temp=temp amp。 0x0f。 } } } P3=0xff。 P3_5=0。 temp=P3。 temp=temp amp。 0x0f。 if (temp!=0x0f) { for(i=50。i0。i) for(j=200。j0。j)。 temp=P3。 temp=temp amp。 0x0f。 if (temp!=0x0f) { temp=P3。 temp=temp amp。 0x0f。 switch(temp) { case 0x0e: key=4。 break。 case 0x0d: key=5。 break。 case 0x0b: key=6。 break。 case 0x07: key=11。 break。 } temp=P3。 P1_0=~P1_0。 P0=table[key]。 temp=temp amp。 0x0f。 while(temp!=0x0f) { temp=P3。 temp=temp amp。 0x0f。 } } } P3=0xff。 P3_6=0。 temp=P3。 temp=temp amp。 0x0f。 if (temp!=0x0f) { for(i=50。i0。i) for(j=200。j0。j)。 temp=P3。 temp=temp amp。 0x0f。 if (temp!=0x0f) { temp=P3。 temp=temp amp。 0x0f。 switch(temp) { case 0x0e: key=1。 break。 case 0x0d: key=2。 break。 case 0x0b: key=3。 break。 case 0x07: key=12。 break。 } temp=P3。 P1_0=~P1_0。 P0=table[key]。 temp=temp amp。 0x0f。 while(temp!=0x0f) { temp=P3。 temp=temp amp。 0x0f。 } } } P3=0xff。 P3_7=0。 temp=P3。 temp=temp amp。 0x0f。 if (temp!=0x0f) { for(i=50。i0。i) for(j=200。j0。j)。 temp=P3。 temp=temp amp。 0x0f。 if (temp!=0x0f) { temp=P3。 temp=temp amp。 0x0f。 switch(temp) { case 0x0e: key=0。 break。 case 0x0d: key=13。 break。 case 0x0b: key=14。 break。 case 0x07: key=15。 break。 } temp=P3。 P1_0=~P1_0。 P0=table[key]。 temp=temp amp。 0x0f。 while(temp!=0x0f) { temp=P3。 temp=temp amp。 0x0f。} [11] 程序清單 ORG 0000H 。初始位置 00H JMP STARET 。跳到主程序 ORG 000BH 。定時器 0 中斷起始單元 JMP TIME0 。跳到中斷程序 STARET: MOV TMOD,00000001B。設(shè)定工作方式為 1 MOV IE, 10000010B 。開中斷允許 SETB TR0 L1: CALL KEY 。調(diào)用鍵盤掃描程序 CLR EA 。關(guān)中斷總允許 JB F0,L1 。查詢鍵盤按下標(biāo)志 MOV A,22H 。將鍵盤碼送單元 A MOV DPTR,TABLE1 MOVC A,@A+DPTR 。將查詢的數(shù)碼管顯示碼送 A MOV P0,A 。將數(shù)碼管顯示碼送數(shù)碼管 MOV A,22H 。將鍵盤碼送單元 A RL A 。數(shù)據(jù)倍乘 MOV DPTR,TABLE MOVC A,@A+DPTR。將聲音編碼送 A MOV TH0,A。將聲音編碼高位給 TH0 MOV 21H,A。送聲音編碼給 21H 單元儲存 MOV A,22H RL A INC A MOVC A,@A+DPTR。取聲音編碼地位給 A MOV TL0,A。將聲音編碼送 TL0 MOV 20H,A。將聲音編碼低位送 20H 儲存 L2: CALL KEY。調(diào)用江畔掃描程序 SETB EA。開斷總允許 JB F0,L1。查詢鍵盤按下標(biāo)志 JMP L2 。沒有轉(zhuǎn) L2 循環(huán) /*******鍵盤掃描程序 *********/ KEY: SETB F0 。鍵盤按下標(biāo)志至 1 MOV R3,0F7H。R3 送掃描碼 MOV R1,00H。R1 初始為 0 L3: MOV A,R3。將掃描碼送 A MOV P2,A 將掃 描碼送 P2 掃描 MOV A,P2。讀取鍵盤狀態(tài) SETB C。進(jìn)位至 1 MOV R5,04H。將 4 給 R5 單元,用于行掃描 L4: RLC A JNC KEYIN。有鍵按下跳到 KEYIN INC R1。無鍵按下 R1 加 1 DJNZ R5,L4。判斷一行有沒有判斷完畢 MOV A,R3。掃描完畢后,再次送掃描碼給 A SETB C。進(jìn)位置 1 RRC A。對 A 進(jìn)行右移 MOV R3 ,A 。送新的掃 描碼給 R3 JC L3 。判斷是否掃描完畢,是則循環(huán) RET。返回主程序 KEYIN: MOV 22H,R1。將鍵盤碼送 22H 儲存 CLR F0。對鍵盤按下標(biāo)志清 0 RET。返回主程序 TIME0: PUSH ACC。將 A 壓入堆棧 PUSH PSW。將 PSW 壓入堆棧 MOV TL0,20H。將聲音編碼低位送 TL0 MOV TH0,21H。將聲音編碼高位送 TH0 CPL 。對輸出口聲音信號取反 POP PSW。.從堆棧還原 PSW POP ACC。從堆棧還原 ACC RETI 。中斷返回 /********音符編碼 ***************/ TABLE: DW 64021,64103,64260,64400 DW 64524,64580,64684,64777 DW 64820,64898,64968,65030 DW 65058,65110,65157,65178 /********共陽極數(shù)碼編碼 *********/ TABLE1: DB 0CH,98H,48H,40H,1EH DB 9FH,25H,0DH,99H,49H,41H,1FH DB 11H,01H,63H,03H END
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1