![單片機課程設(shè)計-計算器_第1頁](http://file4.renrendoc.com/view/f76600db0649e2f9d853b9d842c01293/f76600db0649e2f9d853b9d842c012931.gif)
![單片機課程設(shè)計-計算器_第2頁](http://file4.renrendoc.com/view/f76600db0649e2f9d853b9d842c01293/f76600db0649e2f9d853b9d842c012932.gif)
![單片機課程設(shè)計-計算器_第3頁](http://file4.renrendoc.com/view/f76600db0649e2f9d853b9d842c01293/f76600db0649e2f9d853b9d842c012933.gif)
![單片機課程設(shè)計-計算器_第4頁](http://file4.renrendoc.com/view/f76600db0649e2f9d853b9d842c01293/f76600db0649e2f9d853b9d842c012934.gif)
![單片機課程設(shè)計-計算器_第5頁](http://file4.renrendoc.com/view/f76600db0649e2f9d853b9d842c01293/f76600db0649e2f9d853b9d842c012935.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
課程設(shè)計報告題目計算器課程設(shè)計
課程名稱單片機原理及接口技術(shù)院部名稱專業(yè)班級學(xué)生姓名學(xué)號地點學(xué)時指導(dǎo)教師目錄摘要 2第一章緒論 31.1課題簡介 31.2設(shè)計目的 31.3設(shè)計任務(wù) 3第二章課題背景 52.1單片機開展現(xiàn)狀 52.2計算器開展現(xiàn)狀 52.3單片機簡介 52.4矩陣鍵盤 72.5計算器設(shè)計思路 7第三章硬件系統(tǒng)設(shè)計 93.1鍵盤接口電路 93.2LED顯示模塊 103.3運算模塊 11第四章軟件設(shè)計 124.1C語言的特點 124.2鍵盤掃描程序設(shè)計 124.3算術(shù)運算程序設(shè)計 134.4顯示程序設(shè)計 14第五章系統(tǒng)調(diào)試與存在的問題 155.1軟件調(diào)試 155.2硬件調(diào)試 15總結(jié) 16參考文獻 17附錄一C語言源程序 18主函數(shù): 18鍵盤掃描函數(shù): 21數(shù)碼管輸出函數(shù): 25附錄二Protel仿真電路 27附錄三Proteus仿真電路 28摘要計算機在人們的日常生活中是比擬常見的電子產(chǎn)品之一??墒撬€在開展之中,以后必將出現(xiàn)功能更加強大的計算器,基于這樣的理念,本次設(shè)計是用單片機設(shè)計計算器。該設(shè)計系統(tǒng)是以AT89C51單片機為核心,外接矩陣鍵盤,通過鍵盤掃描輸入數(shù)據(jù),經(jīng)過單片機執(zhí)行處理,再由LED數(shù)碼管作為顯示輸出,軟件程序用C語言編寫,具有較好的移植性。實驗報告詳細(xì)介紹了整個計算器系統(tǒng)的硬件組成結(jié)構(gòu),工作原理以及軟件程序設(shè)計。計算其具有簡單的整數(shù)加減乘除功能。整個計算器系統(tǒng)的工作過程為:首先存儲單元初始化,顯示初始值和鍵盤掃描,判斷按鍵位置,查表得出按鍵值,單片機那么對數(shù)據(jù)進行儲存與相應(yīng)處理轉(zhuǎn)換,之后送入LED顯示器動態(tài)顯示。整個系統(tǒng)可分為三個主要功能模塊:功能模塊一,實時鍵盤掃描;功能模塊二,數(shù)據(jù)轉(zhuǎn)換成顯示器顯示;功能模塊三,顯示器動態(tài)顯示。關(guān)鍵字:計算器AT89C51C第一章緒論1.1課題簡介當(dāng)今社會,隨著人們物質(zhì)生活的不斷提高,電子產(chǎn)品已經(jīng)走進了家家戶戶,無論是生活或?qū)W習(xí),還是娛樂和消遣幾乎樣樣都離不開電子產(chǎn)品,大型復(fù)雜的計算能力是人腦所不能勝任的,而且比擬容易出錯。計算器作為一種快速通用的計算工具方便了用戶的使用。計算器可謂是我們最親密的電子伙伴之一。本設(shè)計著重在于分析計算器軟件和開發(fā)過程中的環(huán)節(jié)和步驟,并從實踐經(jīng)驗出發(fā)對計算器設(shè)計做了詳細(xì)的分析和研究。單片機由于其微小的體積和極低的本錢,廣泛的應(yīng)用于家用電器、工業(yè)控制等領(lǐng)域中。在工業(yè)生產(chǎn)中。單片微型計算機是微型計算機的一個重要分支,也是頗具生命力的機種。單片微型計算機簡稱單片機,特別適用于控制領(lǐng)域,故又稱為微控制器。本系統(tǒng)就是充分利用了8051芯片的I/O引腳。系統(tǒng)以采用MCS-51系列單片機Intel8051為中心器件來設(shè)計計算器控制器,實現(xiàn)了能根據(jù)實際輸入值顯示并存儲的功能,計算程序那么是參照教材。至于位數(shù)和功能,如果有需要可以通過設(shè)計擴充原系統(tǒng)來實現(xiàn)。1.2設(shè)計目的通過本次課題設(shè)計,應(yīng)用?單片機應(yīng)用根底?、?計算機應(yīng)用根底?等所學(xué)相關(guān)知識及查閱資料,完成簡易計算器的設(shè)計,以到達理論與實踐更好的結(jié)合、進一步提高綜合運用所學(xué)知識和設(shè)計的能力的目的。通過本次設(shè)計的訓(xùn)練,可以使我在根本思路和根本方法上對基于MCS-51單片機的嵌入式系統(tǒng)設(shè)計有一個比擬感性的認(rèn)識,并具備一定程度的設(shè)計能力。1.3設(shè)計任務(wù)在本次課程設(shè)計中,主要完成如下方面的設(shè)計任務(wù):〔1〕簡要闡述單片機技術(shù)開展的國內(nèi)外現(xiàn)狀及LED動態(tài)顯示和矩陣鍵盤根本原理;〔2〕掌握AT89C51的最小電路及外圍擴展電路的設(shè)計方法;〔3〕了解單片機數(shù)據(jù)轉(zhuǎn)換功能及工作過程;〔4〕完成主要功能模塊的硬件電路設(shè)計及必要的參數(shù)確定;〔5〕自學(xué)Protel、Proteus等在課程設(shè)計中要用到的軟件。第二章課題背景目前,51系列單片機在我國的各行各業(yè)得到了廣泛應(yīng)用,各大專業(yè)院校、職業(yè)培訓(xùn)學(xué)校,均開設(shè)了單片機原理與應(yīng)用方面的課程,這是一門技術(shù)性和實踐性很強的學(xué)科,必須通過一系列的軟硬件實驗、理論聯(lián)系實際,才能學(xué)好、學(xué)懂,取得較好的學(xué)習(xí)效果。2.1單片機開展現(xiàn)狀單片機的開展趨勢:低功耗CMOS化;微型單片化;主流與多品種共存;單片機從8位、16位到32位,數(shù)不勝數(shù),應(yīng)有盡有,有與主流C51系列兼容的,也有不兼容的,但它們各具特色,互成互補,為單片機的應(yīng)用提供廣闊的天地。2.2計算器開展現(xiàn)狀計算器一般由運算器、控制器、存儲器、鍵盤、顯示器、電源和一些可選外圍設(shè)備及電子配件通過人工或機器設(shè)備組成。低檔計算器的運算器、控制器由數(shù)字邏輯電路實現(xiàn)簡單的串行運算,其隨機存儲器只有一、二個單元,供累加存儲用。高檔計算器由微處理器和只讀存儲器實現(xiàn)各種復(fù)雜的運算程序,有較多的隨機存儲單元以存放輸入程序和數(shù)據(jù)。鍵盤是計算器的輸入部件,一般采用接觸式或傳感式。為減小計算器的尺寸,一鍵常常有多種功能。顯示器是計算器的輸出部件,有發(fā)光二極管顯示器和液晶顯示器等。除顯示計算結(jié)果外,還常有溢出指示、錯誤指示等。計算器電源采用交流轉(zhuǎn)換器或電池,電池可用交流轉(zhuǎn)換器或太陽能轉(zhuǎn)換器再充電。為節(jié)省電能,計算器都采用CMOS工藝制作的大規(guī)模集成電路〔見互補金屬-氧化物-半導(dǎo)體集成電路〕,并在內(nèi)部裝有定時不操作自動斷電電路。計算器可選用的外圍設(shè)備有微型打印機、盒式磁帶機和磁卡機等。2.3單片機簡介8051是MCS-51系列單片機的典型產(chǎn)品,以這一代表性的機型進行系統(tǒng)的講解。8051單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,其內(nèi)部結(jié)構(gòu)如圖2.1所示,現(xiàn)在分別加以說明:圖2.18051內(nèi)部結(jié)構(gòu)圖中央處理器:中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。數(shù)據(jù)存儲器(RAM):8051內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用存放器單元,它們是統(tǒng)一編址的,專用存放器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。程序存儲器(ROM):8051共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。定時/計數(shù)器:8051有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷,用于控制程序轉(zhuǎn)向。并行輸入輸出(I/O)口:8051共有4組8位I/O口(P0、P1、P2和P3),用于對外部數(shù)據(jù)的傳輸。全雙工串行口:8051內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。中斷系統(tǒng):8051具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。時鐘電路:8051內(nèi)置最高頻率達12MHz的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但8051單片機需外置振蕩電容。單片機的結(jié)構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-51系列單片機采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機那么采用普林斯頓結(jié)構(gòu)。2.4矩陣鍵盤鍵盤是單片機系統(tǒng)中最常用的人機對話輸入設(shè)備,用戶通過鍵盤向單片機輸入數(shù)據(jù)或指令。鍵盤控制程序需完成的任務(wù)有:監(jiān)測是否有鍵按下,有鍵按下時,假設(shè)無硬件去抖動電路時,應(yīng)用軟件延時方法消除按鍵抖動影響;當(dāng)有多個鍵同時按下時,只處理一個按鍵,不管一次按鍵持續(xù)多長時間,僅執(zhí)行一次按鍵功能程序。矩陣按鍵掃描程序是一種節(jié)省I/O口的方法,按鍵數(shù)目越多節(jié)省I/O口就越可觀,思路:先判斷某一列〔行〕是否有按鍵按下,再判斷該行〔列〕是哪一只鍵按下。但是,在程序的寫法上,采用了最簡單的方法,使得程序效率最高。本程序中,如果檢測到某鍵按下了,就不再檢測其它的按鍵,這完全能滿足絕大多數(shù)需要,又能節(jié)省大量的CPU時間。2.5計算器設(shè)計思路根據(jù)功能和指示要求,本系統(tǒng)選用以MCS-51單片機為主控機。通過擴展必要的外圍接口電路,實現(xiàn)對計算器的設(shè)計。具體設(shè)計如下:〔1〕由于要設(shè)計的是簡單的計算器,可以進行四那么運算,為了得到教好的顯示效果,采用LCD顯示數(shù)據(jù)和結(jié)果。(2)另外鍵盤包括數(shù)字鍵〔0-9〕、符號鍵〔+、-、*、/〕、去除鍵和等號鍵,故只需要16個按鍵即可,設(shè)計中采用集成的計算機鍵盤。(3)LED開始顯示零,等待輸入數(shù)值,當(dāng)輸入第一個數(shù)字,LED顯示輸入值,當(dāng)輸入+、-、*、/運算符后,LED顯示0,輸入第二個數(shù)字,LED顯示第二個輸入數(shù)字,按“=〞就會在LED上顯示運算結(jié)果?!?〕由于只進行整數(shù)運算,當(dāng)計算9÷4結(jié)果只顯示整數(shù)局部,即結(jié)果只顯示2。〔5〕計算最大數(shù)字為255,當(dāng)輸入256時,將顯示0。第三章硬件系統(tǒng)設(shè)計硬件系統(tǒng)是指構(gòu)成微機系統(tǒng)的實體和裝置,通常由運算器、控制器、存儲器、輸入接口電路和輸入設(shè)備、輸出接口電路和輸出設(shè)備等組成。單片機實質(zhì)上是一個硬件的芯片,在實際應(yīng)用中,通常很難直接和被控對象進行電氣連接,必須外加各種擴展接口電路、外部設(shè)備、被控對象等硬件和軟件,才能構(gòu)成一個單片機應(yīng)用系統(tǒng)。本設(shè)計選用以AT89S51單片機為主控單元。顯示局部:采用LCD靜態(tài)顯示。按鍵局部,采用4*4鍵盤。硬件電路原理圖如圖3-1所示:圖3-1硬件電路原理圖3.1鍵盤接口電路計算機輸入數(shù)字和其他功能按鍵時要用到很多按鍵,在這種情況下,編程會很簡單,但是會占用大量的I/O口資源,因此在很多情況下都不采用這樣的方式,而是采用矩陣鍵盤的方式。矩陣鍵盤采用四條I/O線作為行線,四條I/O線作為列線組成鍵盤,在行線和列線的每個交叉點上設(shè)置一個按鍵。這樣鍵盤上按鍵的數(shù)量就為4*4個。這樣行列式鍵盤結(jié)構(gòu)能有效的提高單片機系統(tǒng)中I/O口的利用率。計算器的鍵盤布局:一般有16個鍵組成,在單片機中正好有一個P端口實現(xiàn)16個按鍵功能,這種形式在單片機系統(tǒng)中最常用。3.2LED顯示模塊發(fā)光二極管LED是單片機應(yīng)用中簡單而常用的輸出設(shè)備,其在系統(tǒng)中的主要作用是顯示單片機的輸出數(shù)據(jù)、狀態(tài)等。因而作為典型的外圍設(shè)備,LED顯示單元是反映系統(tǒng)輸出和操作輸入的有效器件。LED具備數(shù)字接口可以方便的和系統(tǒng)連接。3.3運算模塊MCS-51單片機是在一塊芯片中集成了CPU、RAM、ROM、定時器/計數(shù)器和多功能I/O等計算機所需要的根本功能部件。如果按功能劃分,它由以下功能部件組成,即微處理器(CPU),數(shù)據(jù)存儲器(RAM),程序存儲器〔ROM/EPROM〕,并行I/O口,串行口,定時器/計數(shù)器,中斷系統(tǒng)及特殊功能存放器〔SFR〕。單片機是靠程序運行的,并且可以修改。通過不同的程序?qū)崿F(xiàn)不同的功能,尤其是特殊的一些功能,通過使用單片機編寫的程序可以實現(xiàn)高智能、高效率以及高可靠性,因此采用單片機作為計算器的主要功能部件,可以很快的實現(xiàn)運算功能。第四章軟件設(shè)計4.1C語言的特點本設(shè)計是硬件電路和軟件編程相結(jié)合的設(shè)計方案,選擇的編程語言是C語言。C語言語言簡潔,使用方便,靈活,運算豐富,表達化類型多樣化,數(shù)據(jù)結(jié)構(gòu)類型豐富,具有結(jié)構(gòu)化的控制語句,程序設(shè)計自由度大,有很好的可重用性,可移植性等特點。4.2鍵盤掃描程序設(shè)計鍵掃程序的過程為:開始時,先判斷是否有鍵閉合,無鍵閉合時,返回繼續(xù)判斷,有鍵閉合時,先去抖動,然后確定是否有鍵按下,假設(shè)無鍵按下,那么返回繼續(xù)判斷是否有鍵閉合,假設(shè)有鍵按下,那么判斷鍵號,然后釋放,假設(shè)釋放按鍵完畢,那么返回,假設(shè)沒有釋放按鍵,那么返回繼續(xù)釋放。其流程圖如下圖。4.3算術(shù)運算程序設(shè)計首先初始化參數(shù),送LED低位顯示“0〞,高位不顯示。然后掃描鍵盤看是否有鍵盤輸入,假設(shè)有,讀取鍵碼。判斷鍵碼是數(shù)字鍵、清零鍵還是功能鍵〔+-*∕=〕〕,是數(shù)值鍵那么送LED顯示并保存數(shù)值,是清零鍵那么做清零處理,是功能鍵就判斷是“=〞還是運算鍵,假設(shè)是“=〞那么計算出最后結(jié)果并送LED顯示,假設(shè)是運算鍵那么保存相對運算程序的首地址。運算程序框圖如下圖:4.4顯示程序設(shè)計LED開始顯示零,等待輸入數(shù)值,當(dāng)輸入第一個數(shù)字,LED顯示輸入值,當(dāng)輸入+、-、*、/運算符后,LED顯示0,輸入第二個數(shù)字,LED顯示第二個輸入數(shù)字,按“=〞就會在LED上顯示運算結(jié)果。第五章系統(tǒng)調(diào)試與存在的問題5.1軟件調(diào)試軟件調(diào)試一般分為以下四個階段:〔1〕編寫程序并檢查;〔2〕編寫源程序;〔3〕進行編譯生成可執(zhí)行程序。在本次調(diào)試中出現(xiàn)的問題有:〔1〕在程序中有的函數(shù)名未定義;〔2〕在抄錄程序時,少錄入一些字符,如:“;〞、“{〞、“-〞等符號,而出現(xiàn)錯誤;〔3〕有一些函數(shù)名錄入時少寫一個字母或順序顛倒;〔4〕沒有注意函數(shù)名的調(diào)用及定義;〔5〕芯片引腳定義出錯而導(dǎo)致沒有實驗現(xiàn)象。在軟件調(diào)試過程中,對出現(xiàn)的錯誤進行了認(rèn)真的分析和修改,屢次調(diào)試成功后,能夠很好的到達既定的設(shè)計效果。5.2硬件調(diào)試在AT89C51中載入編寫好的程序,運行電路,觀察是否執(zhí)行命令,運算結(jié)果是否正確。如果不正確,檢查電路、修改程序,反復(fù)磨合,最終得到理想結(jié)果。總結(jié)我的題目是簡易計算器的設(shè)計,對于我們這些實踐中的新手來說,這是一次考驗。怎樣才能找到課堂所學(xué)與實際應(yīng)用的最正確結(jié)合點,怎樣讓自己的業(yè)余更接近專業(yè),怎樣讓自己的方案更具有序性,而不會忙無一用,這都是我們所要考慮和努力的。這次課程設(shè)計我學(xué)到很多很多的東西,學(xué)會了怎么樣去制定方案,怎么樣去實現(xiàn)這個方案,并掌握了在執(zhí)行過程中怎么樣去克服心理上的不良情緒。不僅穩(wěn)固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上沒有學(xué)到過的知識,掌握了一種系統(tǒng)的研究方法,可以進行一些簡單的編程。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會效勞,從而提高自己的實際動手能力和獨立思考的能力。同時在設(shè)計的過程中發(fā)現(xiàn)了自己的缺乏之處,例如對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,對C語言掌握得不夠好等。在這里真誠地對所有關(guān)心我、幫助我、鼓勵我的老師和同學(xué)們。參考文獻[1]徐愛鈞.智能化測量控制儀表原理與設(shè)計〔第二版〕.北京航天航空大學(xué)出版社,2004.9[2]孫育才等.MCS-51系列單片微型計算機及其應(yīng)用〔第4版〕.東南大學(xué)出版社,2004.3[3]李萍等.智能儀器實驗指導(dǎo)書.大連交通大學(xué),2007.9[4]單片機應(yīng)用技術(shù)〔C語言〕.中國勞動社會保障出版社,2006.6[5]武慶生,仇梅等著.單片機原理與應(yīng)用.電子科技大學(xué)出版,1998.12[6]朱定華著.單片機原理與接口技術(shù).電子工業(yè)出版社,2001.4[7]王宜懷,劉曉升等著.嵌入式應(yīng)用技術(shù)根底教程.北京清華大學(xué)出版社,2005.7[8]王威著.HCS12微控制器原理及應(yīng)用.北京航空航天大學(xué)出版社,2007.10[9]龔運新著.單片機C語言開發(fā)技術(shù).北京清華大學(xué)出版社,2006.10[10]周立功.單片機實驗與實踐.北京航空航天大學(xué)出版社,2004.3附錄一C語言源程序主函數(shù):#include<reg51.h>#include<intrins.h>#include"key.h"#include"display.h"unsignedchartempdata[6]={11,11,11,11,11,11},temp[6];bitfirstflag;voidmain(void) { unsignedcharkeynum,i,sign,a,b; while(1) { keynum=KeyPro(); if(keynum!=0xff) { if((keynum=='+')||(keynum=='-')||(keynum=='*')||(keynum=='/')||(keynum=='=')||(keynum=='c')) { i=0; if(firstflag==0) { firstflag=1; } for(i=0;i<6;i++) temp[i]=0; i=0; if(keynum!='=') { sign=keynum; if(sign=='c') { a=b=0; sign=0; firstflag=0; i=0; } } else { firstflag=0; switch(sign) { case'+':a=a+b;break; case'-':a=a-b;break; case'*':a=a*b;break; case'/':a=a/b;break; default:break; } b=0; } } elseif(i<6) { if((i==1)&&temp[0]=='0') { temp[0]=keynum-'0'; i=0; } else { temp[i]=keynum-'0'; if(firstflag==0) a=a*10+temp[i]; else b=b*10+temp[i]; i++; } } } if(firstflag==0) { tempdata[3]=a/100; tempdata[4]=a/10%10; tempdata[5]=a%10; if(a<100) tempdata[3]=11; if(a<10) { tempdata[4]=11; tempdata[3]=11; } } else { tempdata[3]=b/100; tempdata[4]=b/10%10; tempdata[5]=b%10; if(b<100) tempdata[3]=11; if(b<10) { tempdata[4]=11; tempdata[3]=11; } } display(tempdata); }}鍵盤掃描函數(shù):#ifndef__KEY_H__#define__KEY_H__#defineKeyPortP3/*將跳線帽套在J5的BIN針上獨立按鍵掃描函數(shù),返回掃描鍵值左邊一列從上向下對應(yīng)P30,P31,P32,P33分別是0,1,2,3號鍵*/voiddelay50us(unsignedintt)//50us延時{ unsignedcharj; for(;t>0;t--)for(j=19;j>0;j--);}unsignedcharKeyScan(void)//鍵盤掃描函數(shù),使用行列逐級掃描法{ unsignedcharVal; KeyPort=0xf0;//高四位置高,低四位拉低 if(KeyPort!=0xf0)//表示有按鍵按下 { delay50us(200);//去抖 if(KeyPort!=0xf0) {//表示有按鍵按下 KeyPort=0xfe;//檢測第一行 if(KeyPort!=0xfe) { Val=KeyPort&0xf0; Val+=0x0e; while(KeyPort!=0xfe); delay50us(200);//去抖 while(KeyPort!=0xfe); returnVal; } KeyPort=0xfd;//檢測第二行 if(KeyPort!=0xfd) { Val=KeyPort&0xf0; Val+=0x0d; while(KeyPort!=0xfd); delay50us(200);//去抖 while(KeyPort!=0xfd); returnVal; } KeyPort=0xfb;//檢測第三行 if(KeyPort!=0xfb) { Val=KeyPort&0xf0; Val+=0x0b; while(KeyPort!=0xfb); delay50us(200);//去抖 while(KeyPort!=0xfb); returnVal; } KeyPort=0xf7;//檢測第四行 if(KeyPort!=0xf7) { Val=KeyPort&0xf0; Val+=0x07; while(KeyPort!=0xf7); delay50us(200);//去抖 while(KeyPort!=0xf7); returnVal; } } } return0xff;}unsignedcharKeyPro(void){ switch(KeyScan()) { case0xbe:return'9';break;//4 9 case0xbd:return'6';break;//5 6 case0xbb:return'3';break;//6 3 case0xde:return'8';break;//8 8 case0xdd:return'5';break;//9 5 case0xdb:return'2';break;//a 2 case0xd7:return'0';break;//b 0 case0xee:return'7';break;//c 7 case0xed:return'4';break;//d 4 case0xeb:return'1';break;//e 1 case0xe7:return'c';b
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 儀器儀表行業(yè)發(fā)展趨勢分析考核試卷
- 2025年度醫(yī)療機構(gòu)聘用麻醉科醫(yī)生合同范本(含風(fēng)險責(zé)任)3篇
- 二零二五年度智能化牧場牛合作養(yǎng)殖服務(wù)合同
- 2025-2030年提升免疫力靈芝孢子粉行業(yè)跨境出海戰(zhàn)略研究報告
- 皇姑區(qū)2025版二手房買賣合同(含物業(yè)移交及稅費說明)2篇
- 2025-2030年地質(zhì)構(gòu)造探測儀行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 2025-2030年戶外露營折疊衣柜行業(yè)跨境出海戰(zhàn)略研究報告
- 2025-2030年搖滾音樂舞臺行業(yè)跨境出海戰(zhàn)略研究報告
- 2025-2030年手術(shù)臨床數(shù)據(jù)研究行業(yè)跨境出海戰(zhàn)略研究報告
- 2025-2030年堅果混合堅果粉便攜包裝行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 建筑工地工人職業(yè)健康體檢計劃
- 河南省鄭州市十校聯(lián)考2024-2025學(xué)年高二上學(xué)期11月期中考試語文試題
- 音樂教學(xué)集訓(xùn)課程設(shè)計
- 妊娠期肝內(nèi)膽汁淤積癥臨床診治和管理指南(2024版)解讀課件
- 肺切除手術(shù)的術(shù)前評估課件
- 招聘專職人員報名表
- 牛津上海版小學(xué)英語四年級下冊(英語單詞表)
- 《大學(xué)生創(chuàng)新與創(chuàng)業(yè)》課件
- 2024年體育賽事運動員贊助合同3篇
- 護士的護理職業(yè)生涯規(guī)劃
- 2024年高考語文復(fù)習(xí):古詩文閱讀強化練習(xí)題匯編(含答案解析)
評論
0/150
提交評論