




免費(fèi)預(yù)覽已結(jié)束,剩余22頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
簡易電子琴課程設(shè)計- 27 - 課程設(shè)計實(shí)訓(xùn)報告設(shè)計題目:簡易電子琴設(shè)計與制作 目 錄1.實(shí)訓(xùn)課題32.設(shè)計目的33.設(shè)計原理34.硬件電路45.軟件流程86.Proteus 仿真147.C 語言源程序188.元件清單259.心得體會26一設(shè)計的課題:簡易電子琴的設(shè)計與制作二課程設(shè)計的目的:培養(yǎng)和鍛煉在校學(xué)生綜合應(yīng)用所學(xué)理論知識解決實(shí)際問題能力。為了鞏固和運(yùn)用所學(xué)課程,理論聯(lián)系實(shí)際,提高分析、解決實(shí)際問題以及團(tuán)隊的合作能力,旨培養(yǎng)在培養(yǎng)大學(xué)生理論聯(lián)系實(shí)際、敢于動手、善于動手和獨(dú)立自主解決設(shè)計實(shí)踐中遇到的各種問題能力的一種較好方法。電子琴能夠彈奏出美妙的音符,對我們充滿了吸引同時也讓我們充滿了好奇,通過此次的課程設(shè)計讓我們親手來揭開電子琴神秘的面紗。讓我們知道我們也是有能力來制作出一個簡易的電子琴的。三、課程設(shè)計原理:電子琴是由4*4個組成16個按鈕矩陣,設(shè)計成16個音。然后利用三極管放大的原理使聲音變大,可通過16個按鈕組成16種不同的音節(jié)。本文的主要內(nèi)容是用AT89S51單片機(jī)為核心控制元件,設(shè)計一個電子琴。以單片機(jī)作為主控核心,與鍵盤、揚(yáng)聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有16個按鍵和揚(yáng)聲器。聲音的產(chǎn)生方法:一首音樂是許多不同的音階組成的,而每個音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,當(dāng)然對于單片機(jī)來產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時/計數(shù)器T0來產(chǎn)生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應(yīng)頻率關(guān)系弄正確即可。四、硬件電路(一)、系統(tǒng)板硬件連線 系統(tǒng)板硬件連線如圖1-1所示,發(fā)生模塊,鍵盤模塊,及電源模塊連接如下:1.把“單片機(jī)系統(tǒng)”區(qū)域中的P2.0端口用導(dǎo)線連接到“音頻放大模塊”區(qū)域中的SPK IN端口上;2.把“單片機(jī)系統(tǒng)”區(qū)域中的P1.0P1.7端口用8芯排線連接到“4X4行列式鍵盤”區(qū)域中的C1C4R1R4端口上;3.把電源電路與揚(yáng)聲器連接,直接對揚(yáng)聲器供電。(二)、主要芯片簡介1、AT89S51簡介AT89S51是一個低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強(qiáng)大的微型計算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。 AT89S51具有如下特點(diǎn):40個引腳(如圖1-2所示),4k Bytes Flash片內(nèi)程序存儲器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。 此外,AT89S51設(shè)計和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式。空閑模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。主要功能特性兼容MCS-51指令系統(tǒng) 32個雙向I/O口 2個16位可編程定時/計數(shù) 器 全雙工UART串行中斷口線 2個外部中斷源 中斷喚醒省電模式圖1-2 引腳圖 看門狗(WDT)電路 靈活的ISP字節(jié)和分頁編程 4k可反復(fù)擦寫ISP Flash ROM 4.5-5.5V工作電壓 時鐘頻率0-33MHz 128*8bit內(nèi)部RAM 低功耗空閑和省電模式 3級加密位 軟件設(shè)置空閑和省電功能 雙數(shù)據(jù)寄存器指針2、7805簡介: 電子產(chǎn)品中,常見的三端穩(wěn)壓集成電路有正電壓輸出的78 系列和負(fù)電壓輸出的79系列。顧名思義,三端IC是指這種穩(wěn)壓用的集成電路,只有三條引腳輸出,分別是輸入端、接地端和輸出端。它的樣子象是普通的三極管,TO- 220 的標(biāo)準(zhǔn)封裝,也有9013樣子的TO-92封裝。 用78/79系列三端穩(wěn)壓IC來組成穩(wěn)壓電源所需的外圍元件極少,電路內(nèi)部還有過流、過熱及調(diào)整管的保護(hù)電路,使用起來可靠、方便,而且價格便宜。該系列集成穩(wěn)壓IC型號中的78或79后面的數(shù)字代表該三端集成穩(wěn)壓電路的輸出電壓,如7806表示輸出電壓為正6V,7909表示輸出電壓為負(fù)9V。 因?yàn)槿斯潭煞€(wěn)壓電路的使用方便,電子制作中經(jīng)常采用。五、軟件流程(一)、4X4行列式鍵盤識別及顯示組成鍵盤的按鍵有機(jī)械式、電容式、導(dǎo)電橡膠式、薄膜式多種,但不管什么形式,其作用都是一個使電路接通與斷開的開關(guān)。目前微機(jī)系統(tǒng)中使用的鍵盤按其功能不同,通??煞譃榫幋a鍵盤和非編碼鍵盤兩種基本類型。 編碼鍵盤:鍵盤本身帶有實(shí)現(xiàn)接口主要功能所需的硬件電路。不僅能自動檢測被按下的鍵,并完成去抖動、防串鍵等功能,而且能提供與被按鍵功能對應(yīng)的鍵碼(如ASCII碼)送往CPU。所以,編碼鍵盤接口簡單、使用方便。但由于硬件電路較復(fù)雜,因而價格較貴。 非編碼鍵盤:鍵盤只簡單地提供按鍵開關(guān)的行列矩陣。有關(guān)按鍵的識別、鍵碼的確定與輸入、去抖動等功能均由軟件完成。目前微機(jī)系統(tǒng)中,一般為了降低成本大多數(shù)采用非編碼鍵盤。 鍵盤接口必須具有去抖動、防串鍵、按鍵識別和鍵碼產(chǎn)生4個基本功能: (1)去抖動:每個按鍵在按下或松開時,都會產(chǎn)生短時間的抖動。抖動的持續(xù)時間與鍵的質(zhì)量相關(guān),一般為520mm。所謂抖動是指在識別被按鍵是必須避開抖動狀態(tài),只有處在穩(wěn)定接通或穩(wěn)定斷開狀態(tài)才能保證識別正確無誤。去抖問題可通過軟件延時或硬件電路解決。 (2)防串鍵:防串鍵是為了解決多個鍵同時按下或者前一按鍵沒有釋放又有新的按鍵按下時產(chǎn)生的問題。常用的方法有雙鍵鎖定和N鍵輪回兩種方法。雙鍵鎖定,是當(dāng)有兩個或兩個以上的按鍵按下時,只把最后釋放的鍵當(dāng)作有效鍵并產(chǎn)生相應(yīng)的鍵碼。N鍵輪回,是當(dāng)檢測到有多個鍵被按下時,能根據(jù)發(fā)現(xiàn)它們的順序依次產(chǎn)生相應(yīng)鍵的鍵碼。 (3)被按鍵識別:如何識別被按鍵是接口解決的主要問題,一般可通過軟硬結(jié)合的方法完成。常用的方法有行掃描法和線反轉(zhuǎn)法兩種。行掃描法的基本思想是,由程序?qū)︽I盤逐行掃描,通過檢測到的列輸出狀態(tài)來確定閉合鍵,為此,需要設(shè)置入口、輸出口一個,該方法在微機(jī)系統(tǒng)中被廣泛使用。線反轉(zhuǎn)法的基本思想是通過行列顛倒兩次掃描來識別閉合鍵,為此需要提供兩個可編程的雙向輸入/輸出端口。 (4)鍵碼產(chǎn)生:為了從鍵的行列坐標(biāo)編碼得到反映鍵功能的鍵碼,一般在內(nèi)存區(qū)中建立一個鍵盤編碼表,通過查表獲得被按鍵的鍵碼。用AT89S51的并行口P1接44矩陣鍵盤,以P1.0P1.3作輸入線,以P1.4P1.7作輸出線。(二)、系統(tǒng)板上硬件連線設(shè)計1、把“單片機(jī)系統(tǒng)”區(qū)域中的P1.0P1.7端口用8芯排線連接到“4X4行列式鍵盤”區(qū)域中的C1C4R1R4端口上;2、把揚(yáng)聲器的基極輸出接單片機(jī)的P2.0端口;3、在單片機(jī)31腳和9腳接復(fù)位電路;4、在單片機(jī)19腳和18腳接12MHZ的晶體振蕩電路。(三)、程序設(shè)計內(nèi)容1、44矩陣鍵盤識別處理,每個按鍵有它的行值和列值,行值和列值的組合就是識別這個按鍵的編碼。矩陣的行線和列線分別通過兩并行接口和CPU通信。每個按鍵的狀態(tài)同樣需變成數(shù)字量“0”和“1”,開關(guān)的一端(列線)通過電阻接VCC,而接地是通過程序輸出數(shù)字“0”實(shí)現(xiàn)的。2、鍵盤處理程序的任務(wù)是:確定有無鍵按下,判斷哪一個鍵按下,鍵的功能是什么;還要消除按鍵在閉合或斷開時的抖動。兩個并行口中,一個輸出掃描碼,使按鍵逐行動態(tài)接地,另一個并行口輸入按鍵狀態(tài),由行掃描值和回饋信號共同形成鍵編碼而識別按鍵,通過軟件查表,查出該鍵的功能。電路圖如下(四)、音樂產(chǎn)生的方法一首音樂是許多不同的音階組成的,而每個音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,當(dāng)然對于單片機(jī)來產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時/計數(shù)器T0來產(chǎn)生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應(yīng)頻率關(guān)系正確即可。若要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),再將此周期除以2,即為半周期的時間。利用定時器計時半周期時間,每當(dāng)計時終止后就將P1.0反相,然后重復(fù)計時再反相。就可在P1.0引腳上得到此頻率的脈沖。 利用AT89S51的內(nèi)部定時器使其工作計數(shù)器模式(MODE1)下,改變計數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法產(chǎn)生不同音階,例如,頻率為523Hz,其周期T1/5231912s,因此只要令計數(shù)器計時956s/1s956,每計數(shù)956次時將I/O反相,就可得到中音DO(523Hz)。計數(shù)脈沖值與頻率的關(guān)系式(如式2-1所示)是:Nfi2fr 2-1式中,N是計數(shù)值;fi是機(jī)器頻率(晶體振蕩器為12MHz時,其頻率為1MHz);fr是想要產(chǎn)生的頻率。其計數(shù)初值T的求法如下:T65536N65536fi2fr T65536N65536fi2fr6553610000002fr65536500000/fr低音DO的T65536500000/26263627中音DO的T65536500000/52364580高音DO的T65536500000/104665059單片機(jī)12MHZ晶振,高中低音符與計數(shù)T0相關(guān)的計數(shù)值如表2-2所示表2-2 音符頻率表Table 2-2 notes the frequency table音符頻率(HZ)簡譜碼(T值)音符頻率(HZ)簡譜碼(T值)低1DO26263628# 4 FA#74064860#1DO#27763731中 5 SO78464898低2RE29463835# 5 SO#83164934#2 RE#31163928中 6 LA88064968低 3 M33064021# 693264994低 4 FA34964103中 7 SI98865030# 4 FA#37064185高 1 DO104665058低 5 SO39264260# 1 DO#110965085# 5 SO#41564331高 2 RE117565110低 6 LA44064400# 2 RE#124565134# 646664463高 3 M131865157低 7 SI49464524高 4 FA139765178中 1 DO52364580# 4 FA#148065198# 1 DO#55464633高 5 SO156865217中 2 RE58764684# 5 SO#166165235# 2 RE#62264732高 6 LA176065252中 3 M65964777# 6186565268中 4 FA69864820高 7 SI196765283我們要為這個音符建立一個表格,單片機(jī)通過查表的方式來獲得相應(yīng)的數(shù)據(jù) 低音019之間,中音在2039之間,高音在4059之間TABLE: DW 0, 63628, 63835, 64021, 64103, 64260, 64400, 64524, 0, 0DW 0, 63731, 63928, 0, 64185, 64331, 64463, 0, 0, 0DW 0, 64580, 64684, 64777, 64820, 64898, 64968, 65030, 0, 0DW 0, 64633, 64732, 0, 64860, 64934, 64994, 0, 0, 0DW 0, 65058, 65110,65157, 65178, 65217, 65252, 65283, 0, 0DW 0, 65085, 65134, 0, 65198, 65235, 65268, 0, 0, 0DW 0音樂的音拍,一個節(jié)拍為單位(C調(diào))(如表2-3所示)表2-3 曲調(diào)值表Table 2-3 Tune the value of the table曲調(diào)值DELAY曲調(diào)值DELAY調(diào)4/4125ms調(diào)4/462ms調(diào)3/4187ms調(diào)3/494ms調(diào)2/4250ms調(diào)2/4125ms對于不同的曲調(diào)我們也可以用單片機(jī)的另外一個定時/計數(shù)器來完成。琴鍵處理程序,根據(jù)檢測到得按鍵值,查詢音律表,給計時器賦值,發(fā)出相應(yīng)頻率的聲音。對音調(diào)的控制:根據(jù)不同的按鍵,對定時器T1送入不同的初值,調(diào)節(jié)T1的溢出時間,這樣就可以輸出不同音調(diào)頻率的方波。不同音調(diào)下各個音階的定時器。在這個程序中用到了兩個定時/計數(shù)器來完成的。其中T0用來產(chǎn)生音符頻率,T1用來產(chǎn)生音拍。六、proteus仿真七、程序#include /包含51單片機(jī)寄存器定義的頭文件sbit P14=P14; /將P14位定義為P1.4引腳sbit P15=P15; /將P15位定義為P1.5引腳sbit P16=P16; /將P16位定義為P1.6引腳sbit P17=P17; /將P17位定義為P1.7引腳unsigned char keyval; /定義變量儲存按鍵值sbit sound=P20; /將sound位定義為P3.7unsigned int C; /全局變量,儲存定時器的定時常數(shù)unsigned int f; /全局變量,儲存音階的頻率/以下是C調(diào)低音的音頻宏定義#define l_dao 262 /將“l(fā)_dao”宏定義為低音“1”的頻率262Hz#define l_re 286 /將“l(fā)_re”宏定義為低音“2”的頻率286Hz#define l_mi 311 /將“l(fā)_mi”宏定義為低音“3”的頻率311Hz#define l_fa 349 /將“l(fā)_fa”宏定義為低音“4”的頻率349Hz#define l_sao 392 /將“l(fā)_sao”宏定義為低音“5”的頻率392Hz#define l_la 440 /將“l(fā)_a”宏定義為低音“6”的頻率440Hz#define l_xi 494 /將“l(fā)_xi”宏定義為低音“7”的頻率494Hz /以下是C調(diào)中音的音頻宏定義#define dao 523 /將“dao”宏定義為中音“1”的頻率523Hz#define re 587 /將“re”宏定義為中音“2”的頻率587Hz#define mi 659 /將“mi”宏定義為中音“3”的頻率659Hz#define fa 698 /將“fa”宏定義為中音“4”的頻率698Hz#define sao 784 /將“sao”宏定義為中音“5”的頻率784Hz#define la 880 /將“l(fā)a”宏定義為中音“6”的頻率880Hz#define xi 987 /將“xi”宏定義為中音“7”的頻率53 /以下是C調(diào)高音的音頻宏定義#define h_dao 1046 /將“h_dao”宏定義為高音“1”的頻率1046Hz#define h_re 1174 /將“h_re”宏定義為高音“2”的頻率1174Hz#define h_mi 1318 /將“h_mi”宏定義為高音“3”的頻率1318Hz#define h_fa 1396 /將“h_fa”宏定義為高音“4”的頻率1396Hz#define h_sao 1567 /將“h_sao”宏定義為高音“5”的頻率1567Hz#define h_la 1760 /將“h_la”宏定義為高音“6”的頻率1760Hz#define h_xi 1975 /將“h_xi”宏定義為高音“7”的頻率1975Hz/*函數(shù)功能:軟件延時子程序*/ void delay20ms(void) unsigned char i,j;for(i=0;i100;i+) for(j=0;j60;j+) ; /*函數(shù)功能:節(jié)拍的延時的基本單位,延時250ms*/void delay() unsigned char i,j; for(i=0;i250;i+) for(j=0;j250;j+) ; /*函數(shù)功能:輸出音頻入口參數(shù):F*/void Output_Sound(void) C=(46083/f)*10; /計算定時常數(shù) TH0=(8192-C)/32; /可證明這是13位計數(shù)器TH0高8位的賦初值方法 TL0=(8192-C)%32; /可證明這是13位計數(shù)器TL0低5位的賦初值方法 TR0=1; /開定時T0 delay(); /延時200ms,播放音頻 TR0=0; /關(guān)閉定時器 sound=1; /關(guān)閉蜂鳴器 keyval=0xff; /播放按鍵音頻后,將按鍵值更改,停止播放/*函數(shù)功能:主函數(shù)*/void main(void) EA=1; /開總中斷 ET0=1; /定時器T0中斷允許ET1=1; /定時器T1中斷允許TR1=1; /定時器T1啟動,開始鍵盤掃描 TMOD=0x10; /分別使用定時器T1的模式1,T0的模式0 TH1=(65536-500)/256; /定時器T1的高8位賦初值 TL1=(65536-500)%256; /定時器T1的高8位賦初值 while(1) /無限循環(huán) switch(keyval)case 1:f=dao; /如果第1個鍵按下,將中音1的頻率賦給fOutput_Sound(); /轉(zhuǎn)去計算定時常數(shù) break;case 2:f=l_xi;/如果第2個鍵按下,將低音7的頻率賦給fOutput_Sound(); /轉(zhuǎn)去計算定時常數(shù) break; case 3:f=l_la; /如果第3個鍵按下,將低音6的頻率賦給Output_Sound(); /轉(zhuǎn)去計算定時常數(shù) break;case 4:f=l_sao; /如果第4個鍵按下,將低音5的頻率賦給fOutput_Sound(); /轉(zhuǎn)去計算定時常數(shù) break;case 5:f=sao; /如果第5個鍵按下,將中音5的頻率賦給fOutput_Sound(); /轉(zhuǎn)去計算定時常數(shù) break;case 6:f=fa; /如果第6個鍵按下,將中音4的頻率賦給fOutput_Sound();/轉(zhuǎn)去計算定時常數(shù) break;case 7:f=mi; /如果第7個鍵按下,將中音3的頻率賦給fOutput_Sound(); /轉(zhuǎn)去計算定時常數(shù) break; case 8:f=re; /如果第8個鍵按下,將中音2的頻率賦給fOutput_Sound(); /轉(zhuǎn)去計算定時常數(shù) break;case 9:f=h_re; /如果第9個鍵按下,將高音2的頻率賦給fOutput_Sound(); /轉(zhuǎn)去計算定時常數(shù) break;case 10:f=h_dao; /如果第10個鍵按下將高音1的頻率賦給fOutput_Sound(); /轉(zhuǎn)去計算定時常數(shù) break;case 11:f=xi; /如果第11個鍵按下,將中音7的頻率賦給fOutput_Sound();/轉(zhuǎn)去計算定時常數(shù) break;case 12:f=la; /如果第12個鍵按下,將中音6的頻率賦給fOutput_Sound(); /轉(zhuǎn)去計算定時常數(shù) break; case 13:f=h_la; /如果第13個鍵按下,將高音6的頻率賦給fOutput_Sound(); /轉(zhuǎn)去計算定時常數(shù) break;case 14:f=h_sao;/如果第14個鍵按下,將高音5的頻率賦給fOutput_Sound();/轉(zhuǎn)去計算定時常數(shù) break;case 15:f=h_fa; /如果第15個鍵按下,將高音4的頻率賦給fOutput_Sound(); /轉(zhuǎn)去計算定時常數(shù) break;case 16:f=h_mi; /如果第16個鍵按下,將高音3的頻率賦給fOutput_Sound(); /轉(zhuǎn)去計算定時常數(shù) break; /*函數(shù)功能:定時器T0的中斷服務(wù)子程序,使P2.0引腳輸出音頻方波*/ void Time0_serve(void ) interrupt 1 using 1 TH0=(8192-C)/32; /可證明這是13位計數(shù)器TH0高8位的賦初值方法TL0=(8192-C)%32; /可證明這是13位計數(shù)器TL0低5位的賦初值方法 sound=!sound; /將P2.0引腳取反,輸出音頻方波 /*函數(shù)功能:定時器T1的中斷服務(wù)子程序,進(jìn)行鍵盤掃描,判斷鍵位*/ void time1_serve(void) interrupt 3 using 2 /定時器T1的中斷編號為3,使用第2組寄存器 TR1=0; /關(guān)閉定時器T0P1=0xf0; /所有行線置為低電平“0”,所有列線置為高電平“1”if(P1&0xf0)!=0xf0) /列線中有一位為低電平“0”,說明有鍵按下 delay20ms();/延時一段時間、軟件消抖if(P1&0xf0)!=0xf0) /確實(shí)有鍵按下P1=0xfe; /第一行置為低電平“0”(P1.0輸出低電平“0”)if(P14=0) /如果檢測到接P1.4引腳的列線為低電平“0”keyval=1; /可判斷是S1鍵被按下if(P15=0) /如果檢測到接P1.5引腳的列線為低電平“0”keyval=2; /可判斷是S2鍵被按下if(P16=0) /如果檢測到接P1.6引腳的列線為低電平“0”keyval=3; /可判斷是S3鍵被按下if(P17=0) /如果檢測到接P1.7引腳的列線為低電平“0”keyval=4; /可判斷是S4鍵被按下P1=0xfd; /第二行置為低電平“0”(P1.1輸出低電平“0”)if(P14=0) /如果檢測到接P1.4引腳的列線為低電平“0”keyval=5; /可判斷是S5鍵被按下if(P15=0) /如果檢測到接P1.5引腳的列線為低電平“0”keyval=6; /可判斷是S6鍵被按下if(P16=0) /如果檢測到接P1.6引腳的列線為低電平“0”keyval=7; /可判斷是S7鍵被按下if(P17=0) /如果檢測到接P1.7引腳的列線為低電平“0”keyval=8; /可判斷是S8鍵被按下P1=0xfb; /第三行置為低電平“0”(P1.2輸出低電平“0”)if(P14=0) /如果檢測到接P1.4引腳的列線為低電平“0”keyval=9; /可判斷是S9鍵被按下if(P15=0) /如果檢測到接P1.5引腳的列線為低電平“0” keyval=10; /可判斷是S10鍵被按下if(P16=0) /如果檢測到接P1.6引腳的列線為低電平“0”keyval=11; /可判斷是S11鍵被按下if(P17=0) /如果檢測到接P1.7引腳的列線為低電平“0”keyval=12; /可判斷是S12鍵被按下P1=0xf7; /第四行置為低電平“0”(P1.3輸出低電平“0”) if(P14=0) /如果檢測到接P1.4引腳的列線為低電平“0”keyval=13; /可判斷是S13鍵被按下if(P15=0) /如果檢測到接P1.5引腳的列線為低電平“0”keyval=14; /可判斷是S14鍵被按下if(P16=0) /如果檢測到接P1.6引腳的列線為低電平“0”keyval=15; /可判斷是S15鍵被按下if(P17=0) /如果檢測
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 種子行業(yè)競爭格局與戰(zhàn)略選擇考核試卷
- 藤制品市場營銷渠道建設(shè)考核試卷
- 生物技術(shù)在食品安全生物技術(shù)檢測中的應(yīng)用考核試卷
- 豆類種植的農(nóng)業(yè)科技創(chuàng)新能力提升考核試卷
- 竹筍采集技術(shù)及其保鮮處理考核試卷
- 稻谷加工產(chǎn)品市場分析與預(yù)測考核試卷
- 呼吸窘迫護(hù)理
- 環(huán)保設(shè)備研發(fā)、生產(chǎn)、銷售、運(yùn)營與市場調(diào)研合同
- 培訓(xùn)活動簡報
- 節(jié)能減排技術(shù)標(biāo)準(zhǔn)共同制定與推廣合同
- 施工總承包管理方案與措施
- 桿塔組立的全過程
- 急診??谱o(hù)士進(jìn)修總結(jié)培訓(xùn)課件
- 綠色上網(wǎng)文明上網(wǎng)課件
- 交通事故行政復(fù)議申請書范本
- 礦井防爆門(防爆井蓋)安全檢測技術(shù)規(guī)范
- 山水田園詩鑒賞公開課一等獎市賽課一等獎?wù)n件
- 酒店管理會所希爾頓酒店設(shè)計標(biāo)準(zhǔn)第節(jié)電梯電扶梯
- 器質(zhì)性精神障礙患者的護(hù)理
- 趣味英語課件完整版
- 大學(xué)武術(shù)智慧樹知到答案章節(jié)測試2023年浙江大學(xué)
評論
0/150
提交評論