單片機(jī)應(yīng)用技術(shù)的項(xiàng)目教程的項(xiàng)目7 呼叫器ppt課件_第1頁
單片機(jī)應(yīng)用技術(shù)的項(xiàng)目教程的項(xiàng)目7 呼叫器ppt課件_第2頁
單片機(jī)應(yīng)用技術(shù)的項(xiàng)目教程的項(xiàng)目7 呼叫器ppt課件_第3頁
單片機(jī)應(yīng)用技術(shù)的項(xiàng)目教程的項(xiàng)目7 呼叫器ppt課件_第4頁
單片機(jī)應(yīng)用技術(shù)的項(xiàng)目教程的項(xiàng)目7 呼叫器ppt課件_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目小結(jié)項(xiàng)目小結(jié)工程7:呼叫器 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版教學(xué)目標(biāo)教學(xué)目標(biāo)知識(shí)目的:1掌握矩陣式鍵盤的任務(wù)原理與接口銜接;2掌握C言語開關(guān)語句switch case的運(yùn)用;3掌握單片機(jī)矩陣鍵盤接口的程序設(shè)計(jì)方法。 技藝訓(xùn)練目的:1熟習(xí)數(shù)碼管的原理與接口;2熟練運(yùn)用C言語開關(guān)語句switch case;3熟習(xí)單片機(jī)矩陣鍵盤接口的程序設(shè)計(jì)方法。 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版工作任務(wù)工作任務(wù) 如下圖,用AT89C52的并行口P1接44矩陣鍵盤,以P1.0P1.3作輸入線,以P1.4P1.7作輸出線;在兩位數(shù)碼管上顯示每個(gè)按鍵的“01

2、5序號(hào)。對(duì)應(yīng)的按鍵序號(hào)陳列如下圖。0123456789101112131415 圖7.1 矩陣鍵盤規(guī)劃圖制造一個(gè)基于單片機(jī)的鍵值顯示呼叫器 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目分析項(xiàng)目分析1.1.系統(tǒng)組成系統(tǒng)組成 本系統(tǒng)功能由硬件和軟件兩大部份協(xié)調(diào)完成,硬件部分主要完本系統(tǒng)功能由硬件和軟件兩大部份協(xié)調(diào)完成,硬件部分主要完成信息的顯示;軟件主要完成信號(hào)的處置及控制功能等。成信息的顯示;軟件主要完成信號(hào)的處置及控制功能等。 本系統(tǒng)的硬件采用模塊化設(shè)計(jì),以本系統(tǒng)的硬件采用模塊化設(shè)計(jì),以AT89C52AT89C52單片機(jī)為中心,與單片機(jī)為中心,與數(shù)碼管接口電路、鍵盤電路組成控制系統(tǒng)。該系統(tǒng)硬件

3、主要包括以數(shù)碼管接口電路、鍵盤電路組成控制系統(tǒng)。該系統(tǒng)硬件主要包括以下幾個(gè)模塊:下幾個(gè)模塊:AT89C52AT89C52主控模塊、數(shù)碼管顯示模塊、鍵盤模塊等。主控模塊、數(shù)碼管顯示模塊、鍵盤模塊等。其中其中AT89C52AT89C52主要完成外圍硬件的控制以及一些運(yùn)算功能,數(shù)碼管主要完成外圍硬件的控制以及一些運(yùn)算功能,數(shù)碼管顯示模塊完成字符、數(shù)字的顯示功能;鍵盤模塊主要完成按鍵處置顯示模塊完成字符、數(shù)字的顯示功能;鍵盤模塊主要完成按鍵處置功能。系統(tǒng)組成方框圖如下圖。功能。系統(tǒng)組成方框圖如下圖。一、總體設(shè)計(jì)一、總體設(shè)計(jì) 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目分析項(xiàng)目分析 運(yùn)用軟件采用模塊化設(shè)

4、計(jì)方法。該系統(tǒng)軟件主要由主程序、按鍵掃描子程序等模塊組成,系統(tǒng)軟件構(gòu)造框圖如圖3.3所示。 數(shù)碼管顯示程序主程序按鍵掃描與功能程序圖73 鍵值顯示控制系統(tǒng)軟件構(gòu)造框圖數(shù)碼管顯示按鍵輸入電路復(fù)位電路時(shí)鐘電路電源電路單 片 機(jī)圖72 鍵值顯示控制系統(tǒng)組成方框圖 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目知識(shí)平臺(tái)項(xiàng)目知識(shí)平臺(tái)鍵盤的構(gòu)造與原理鍵盤的構(gòu)造與原理矩陣式鍵盤 單片機(jī)系統(tǒng)中,假設(shè)運(yùn)用按鍵較多時(shí),通常采用矩陣式鍵盤,其構(gòu)造如以下圖所示。由圖可知,一個(gè)44的行、列構(gòu)造,可以構(gòu)成一個(gè)含有16個(gè)按鍵的鍵盤,節(jié)省了很多I/O口。 控制方式:先判別能否有鍵按下。如有,再判別哪一鍵按下,并得到 鍵碼值,然

5、后根據(jù)鍵碼值轉(zhuǎn)向不同的功能程序。最常用的識(shí)別方法是鍵盤掃描法。 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目知識(shí)平臺(tái)項(xiàng)目知識(shí)平臺(tái)switch case 判別語句 switch case 判別語句switch語句的普通方式如下:switch(表達(dá)式)case常量表達(dá)式1:語句1; break; case常量表達(dá)式2:語句2; break; case常量表達(dá)式3:語句3; break; case常量表達(dá)式4:語句4; break; default :語句N; 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目知識(shí)平臺(tái)項(xiàng)目知識(shí)平臺(tái)2. return2. return語句:語句: return 表達(dá)式;表達(dá)

6、式;或或 return(表達(dá)式表達(dá)式); 編寫函數(shù)時(shí),假設(shè)求函數(shù)值,就要用編寫函數(shù)時(shí),假設(shè)求函數(shù)值,就要用return,假設(shè)函,假設(shè)函數(shù)類型為數(shù)類型為void,那么不用,那么不用return語句。語句。return 從當(dāng)前的方法中退出,前往到該調(diào)用的方法的語句處,繼續(xù)執(zhí)行;return 前往一個(gè)值給調(diào)用該方法的語句,前往值的數(shù)據(jù)類型必需與方法的聲明中的前往值的類型一致,可以運(yùn)用強(qiáng)迫類型轉(zhuǎn)換來是數(shù)據(jù)類型一致;return 當(dāng)方法闡明中用void聲明前往類型為空時(shí),應(yīng)運(yùn)用這種格式,不前往任何值。格式:格式: 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目知識(shí)平臺(tái)項(xiàng)目知識(shí)平臺(tái)1return語句只能前往

7、一個(gè)結(jié)果,假設(shè)有多個(gè)處置結(jié)果需前往調(diào)用函數(shù),要采用其他方法。2假設(shè)沒有return語句,就不斷執(zhí)行到函數(shù)體的末尾 ,然后前往調(diào)用函數(shù)。3流程從調(diào)用函數(shù)中的哪條語句轉(zhuǎn)移到被調(diào)函數(shù),前往時(shí)仍回到該語句。即從哪來哪回。哪 特點(diǎn)特點(diǎn): : 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目知識(shí)平臺(tái)項(xiàng)目知識(shí)平臺(tái)1只能在循環(huán)體內(nèi)和switch語句體內(nèi)運(yùn)用break語句。2當(dāng)break出如今循環(huán)體中的switch語句體內(nèi)時(shí),其作用只是跳出該switch語句體。3當(dāng)break出如今循環(huán)體中,但并不在switch語句體內(nèi)時(shí),那么在執(zhí)行break后,跳出本層循環(huán)體。4在循環(huán)構(gòu)造中,運(yùn)用break語句使流程跳出本層循環(huán)體

8、,從而提早終了本層循環(huán)。breakbreak語句語句 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目知識(shí)平臺(tái)項(xiàng)目知識(shí)平臺(tái)1 continue語句的普通方式為:continue;2其作用是終了本次循環(huán),即跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進(jìn)展循環(huán)的條件斷定。3留意:執(zhí)行continue語句并沒有使整個(gè)循環(huán)終止。在while和do-while循環(huán)中,continue語句使得流程直接跳到循環(huán)控制條件的測試部分,然后決議循環(huán)能否繼續(xù)進(jìn)展。4在for循環(huán)中,遇到continue后,跳過循環(huán)體中余下的語句,而去對(duì)for語句中的“表達(dá)式3求值,然后進(jìn)展“表達(dá)式2的條件測試,最后根據(jù)“表達(dá)式2的值來

9、決議for循環(huán)能否執(zhí)行。在循環(huán)體內(nèi),不論continue是作為何種語句中的語句成分,都將按上述功能執(zhí)行,這點(diǎn)與break有所不同。ContinueContinue語句語句 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目實(shí)施項(xiàng)目實(shí)施矩陣式鍵盤設(shè)計(jì)與實(shí)現(xiàn)矩陣式鍵盤設(shè)計(jì)與實(shí)現(xiàn)4X4小鍵盤,16個(gè)鍵分別對(duì)應(yīng)116;有鍵按下,數(shù)碼管顯示;無鍵按下,數(shù)碼管顯示00;經(jīng)過輸出的列碼和讀取的行碼來判別按下什么鍵;有鍵按下,要有一定的延時(shí),防止由于鍵盤抖動(dòng)而引起誤操作。 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目實(shí)施項(xiàng)目實(shí)施【活動(dòng)一】硬件電路設(shè)計(jì)【活動(dòng)一】硬件電路設(shè)計(jì)圖圖7.7 鍵值顯示控制系統(tǒng)電路圖鍵值顯示控

10、制系統(tǒng)電路圖XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1

11、225P2.5/A1326P2.6/A1427U1AT89C52X1CRYSTALC220pFR11kC322uFC120pF12345678161514131211109RN14 45 56 67 78 89 910101111121213131414151516163 32 21 1 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目實(shí)施項(xiàng)目實(shí)施【活動(dòng)二】軟件設(shè)計(jì)1、算法分析與流程圖設(shè)計(jì):判別有無鍵按下去除按鍵的抖動(dòng)求按鍵的鍵值判別閉合鍵能否釋放 主程序設(shè)計(jì)流程圖 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目實(shí)施項(xiàng)目實(shí)施判別按鍵按下的方法判別按鍵按下的方法 判別能否有鍵按下的方法是:向一切的行輸

12、出口線輸出低電平P1=0 x0f; 不能為高電平,由于假設(shè)為高電平,按鍵按下與否都不會(huì)引起行線電平的變化,然后將行線的電平形狀讀入tmp=P1。假設(shè)無鍵按下,一切的行線仍堅(jiān)持高電平形狀;if(tmp=0 x0f) continue; 假設(shè)有鍵按下,列線中至少應(yīng)有一條線為低電平,那么轉(zhuǎn)入鍵掃描程序,確定鍵位. 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目實(shí)施項(xiàng)目實(shí)施識(shí)別按鍵的方法識(shí)別按鍵的方法 按鍵識(shí)別的掃描方法:往列線上按順序一列一列的送出低電平。先送第0列為低電平,其他列為高電平,讀入的行的電平形狀就闡明了第0列的4個(gè)鍵的情況,假設(shè)讀入的行值全為高電平,那么表示無鍵按下;再送第1列為低電平,

13、其他列為高電平,讀入的行的電平形狀那么顯示了該行上的4個(gè)按鍵的情況;依次輪番給各列送出低電平,直至4列全部送完,再從第0列開場,依此循環(huán)。采用鍵盤掃描,我們?cè)賮聿炜吹?行與第2列交叉點(diǎn)的鍵按下時(shí)的判別過程,當(dāng)?shù)?列送出低電平常,讀第2行為低電平,而其他列送出低電平常,讀第2行卻為高電平,由此即可斷定按下的鍵應(yīng)是第2行與第2列交叉點(diǎn)的鍵。 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目實(shí)施項(xiàng)目實(shí)施主程序設(shè)計(jì)流程圖開場初始化:系統(tǒng)上電顯示0鍵盤掃描:置初始值第1列為0,即P1=0 xef,鍵值為0判別按鍵有無按下掃描第一行按下否?掃描第二行按下否?掃描第三行按下否?掃描第四行按下否?最后一列否/?求

14、鍵值,顯示求鍵值,顯示求鍵值,顯示求鍵值,顯示掃描下一列終了 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目實(shí)施項(xiàng)目實(shí)施判別有無鍵按下判別有無鍵按下P1.4P1.7輸出0,然后讀P0口;假設(shè)低4位P1.0P1.3全為1,那么鍵盤上沒有鍵按下;假設(shè)P1.0P1.3不全為1,那么有鍵按下。while(tmp=0 x0f) /循環(huán)判別能否有鍵按下 P1=0 x0f; /一切列輸出低電平 tmp=P1; /讀行信號(hào) 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目實(shí)施項(xiàng)目實(shí)施去除按鍵的抖動(dòng)去除按鍵的抖動(dòng)當(dāng)判別到鍵盤上有鍵按下后;延時(shí)一段時(shí)間再判別鍵盤的形狀;假設(shè)仍為有鍵按下形狀,那么以為有一個(gè)鍵按下,否那么

15、當(dāng)作按鍵抖動(dòng)來處置。delay10ms(); /延時(shí)10ms去抖P1=0 x0f; /一切列輸出低電平tmp=P1; /再次讀鍵盤形狀if(tmp=0 x0f) continue; /假設(shè)無鍵按下那么以為是按鍵抖動(dòng),重新掃描鍵盤 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目實(shí)施項(xiàng)目實(shí)施鍵盤掃描確定鍵號(hào)鍵盤掃描確定鍵號(hào)對(duì)鍵盤的列線進(jìn)展掃描,P1.4P1.7循環(huán)輸出1110、1101、1011和0111,依次讀P1口,假設(shè)行低4位全為1,那么斷定該列上沒有鍵按下;初始化:unsigned char scan_key(void) /鍵盤掃描子程序 unsigned char n,scan,col,r

16、ol,tmp; bit flag=0; /設(shè)有鍵按下標(biāo)志位scan=0 xef; /對(duì)鍵盤第0列掃描為0,即P1.40 P1=0 x0f; /行全為1 列掃描: for(n=0;n4;n+) P1=scan; /逐列送出低電平 tmp=P1; /讀行值,并取反 tmp=tmp&0 x0f; /tmp=0,無鍵按下;否那么 有鍵按下 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目實(shí)施項(xiàng)目實(shí)施求按鍵的鍵值求按鍵的鍵值否那么,該列上就有鍵按下,并且就是行線為0,列線為0的交叉點(diǎn),行號(hào)和列號(hào)按公式:rol*4+col 計(jì)算得到按下鍵的鍵值。例如,P1.4P1.7輸出1101時(shí),P1口的低四位讀入

17、的值為1011,不全為1,就可以斷定有鍵按下,并且是第2行和第1列交叉點(diǎn)的鍵。于是,該鍵的鍵值=24+1=9。按照一樣的方法可以得到一切鍵的鍵值。如:return(rol*4+col); 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目實(shí)施項(xiàng)目實(shí)施求按鍵的鍵值求按鍵的鍵值 col=n; / col=n; /保管列號(hào)到保管列號(hào)到colcol flag=1; / flag=1; /有鍵按下標(biāo)志;有為有鍵按下標(biāo)志;有為1 1,無為,無為0 0 / /* *判別哪一行有鍵按下,并保管行號(hào)到判別哪一行有鍵按下,并保管行號(hào)到rolrol* */ /if(tmp=0 x01)if(tmp=0 x01) rol=

18、0; break; / rol=0; break; /第第0 0行有鍵按下行有鍵按下 else if(tmp=0 x02) else if(tmp=0 x02) rol=1; break; / rol=1; break; /第第1 1行有鍵按下行有鍵按下 else if(tmp=0 x04) else if(tmp=0 x04) rol=2; break; / rol=2; break; /第第2 2行有鍵按下行有鍵按下 else if(tmp=0 x08) else if(tmp=0 x08) rol=3; break; / rol=3; break; /第第3 3行有鍵按下行有鍵按下 el

19、se else flag=0; flag=0; scan=(scan1)+1; scan=(scan1)+1; if(flag=0) if(flag=0) return -1; return -1; else else return(rol return(rol* *4+col);4+col); 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目實(shí)施項(xiàng)目實(shí)施【活動(dòng)三】系統(tǒng)仿真調(diào)試【活動(dòng)三】系統(tǒng)仿真調(diào)試 啟動(dòng)Keil uVision4軟件,創(chuàng)建新工程:CH7.UVPROJ,CPU選擇Atmel 89C52。 對(duì)工程的屬性進(jìn)展設(shè)置:目的屬性中選擇“生成HEX文件。 編寫參考源程序CH7.c,以C為擴(kuò)展名

20、保管在工程文件夾中。 將參考源程序參與程序組:鼠標(biāo)右鍵單擊程序組圖標(biāo),參與文件組。 調(diào)試:進(jìn)入調(diào)試形狀,期間能夠需求修正參考源程序,直到?jīng)]有語法錯(cuò)誤為止。翻開相應(yīng)窗口,運(yùn)轉(zhuǎn)程序,察看運(yùn)轉(zhuǎn)結(jié)果。 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目實(shí)施項(xiàng)目實(shí)施【活動(dòng)四】實(shí)物制造【活動(dòng)四】實(shí)物制造鍵值顯示系統(tǒng)實(shí)物圖 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目小結(jié)項(xiàng)目小結(jié)獨(dú)立式按鍵8 0 3 1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7Vc c接口電路: 出版社 理工分社單片機(jī)應(yīng)用技術(shù)項(xiàng)目教程版項(xiàng)目考核項(xiàng)目考核考核項(xiàng)目考核內(nèi)容技術(shù)要求評(píng)分標(biāo)準(zhǔn)得分備注總體設(shè)計(jì)任務(wù)分析方案設(shè)計(jì)軟件和硬件功能劃分任務(wù)明確(5分);方案設(shè)計(jì)合理、有新意(10分);軟件和硬件功能劃分合理(5分);20分硬件設(shè)計(jì)片內(nèi)器件分配;電路原理圖設(shè)計(jì);電路板制作;片內(nèi)器件分配正確、合理(5分);電路原理圖設(shè)計(jì)正確(10分);電路板制作:布線正確、整齊、合理(5分);20分軟件設(shè)計(jì)算法和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì);流

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論