課程設(shè)計(jì)(論文)基于單片機(jī)的八路搶答器設(shè)計(jì)_第1頁(yè)
課程設(shè)計(jì)(論文)基于單片機(jī)的八路搶答器設(shè)計(jì)_第2頁(yè)
課程設(shè)計(jì)(論文)基于單片機(jī)的八路搶答器設(shè)計(jì)_第3頁(yè)
課程設(shè)計(jì)(論文)基于單片機(jī)的八路搶答器設(shè)計(jì)_第4頁(yè)
課程設(shè)計(jì)(論文)基于單片機(jī)的八路搶答器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程設(shè)計(jì)(論文)題 目 名 稱(chēng) 基于單片機(jī)的八路搶答器 課 程 名 稱(chēng) 單片機(jī)原理及在電氣測(cè)控學(xué)科中的應(yīng)用 學(xué) 生 姓 名 學(xué) 號(hào) 系 、專(zhuān) 業(yè) 電氣工程系、電氣測(cè)控類(lèi) 指 導(dǎo) 教 師 2010年6月30日邵陽(yáng)學(xué)院課程設(shè)計(jì)(論文)任務(wù)書(shū)年級(jí)專(zhuān)業(yè)08電氣測(cè)控類(lèi)學(xué)生姓名學(xué) 號(hào)題目名稱(chēng)基于單片機(jī)的八路搶答器設(shè)計(jì)設(shè)計(jì)時(shí)間2010年6月1日2010年6月30日課程名稱(chēng)單片機(jī)原理及在電氣測(cè)控學(xué)科中的應(yīng)用課程編號(hào)121200105設(shè)計(jì)地點(diǎn)數(shù)字控制與PLC實(shí)驗(yàn)室(305)一、 課程設(shè)計(jì)(論文)目的課程設(shè)計(jì)是在校學(xué)生素質(zhì)教育的重要環(huán)節(jié),是理論與實(shí)踐相結(jié)合的橋梁和紐帶。單片機(jī)課程設(shè)計(jì),要求學(xué)生更多的完成軟硬結(jié)合的

2、動(dòng)手實(shí)踐方案,解決目前學(xué)生課程設(shè)計(jì)過(guò)程中普遍存在的缺乏動(dòng)手能力的現(xiàn)象. 單片機(jī)課程設(shè)計(jì)是繼電子技術(shù)、和單片機(jī)原理與應(yīng)用課程之后開(kāi)出的實(shí)踐環(huán)節(jié)課程,其目的和任務(wù)是訓(xùn)練學(xué)生綜合運(yùn)用已學(xué)課程“電子技術(shù)基礎(chǔ)”、“單片機(jī)原理及應(yīng)用”的基本知識(shí),獨(dú)立進(jìn)行單片機(jī)應(yīng)用技術(shù)和開(kāi)發(fā)工作,掌握單片機(jī)程序設(shè)計(jì)、調(diào)試和應(yīng)用電路設(shè)計(jì)、分析及調(diào)試檢測(cè)。二、 已知技術(shù)參數(shù)和條件1、按鍵、蜂鳴器,數(shù)碼管及其他所需的電子元器件;2、89C51系列單片機(jī);3、KEIL軟件;Wave軟件4、THKSCM-1型單片機(jī)實(shí)驗(yàn)系統(tǒng)。三、 任務(wù)和要求利用MCS-51系列單片機(jī)設(shè)計(jì)一搶答器,供八路搶答輸入;當(dāng)沒(méi)有任一路按鍵按下時(shí),數(shù)碼管七段每隔

3、2秒閃爍一次(亮的時(shí)間和滅的時(shí)間分別為1秒);當(dāng)任一路搶答時(shí),蜂鳴器發(fā)音(鳴叫1秒),并且LED數(shù)碼管顯示該路的編號(hào);一次搶答結(jié)束后,過(guò)5S恢復(fù)到開(kāi)機(jī)初始狀態(tài),等待下一輪搶答。1、要求進(jìn)行方案論證,說(shuō)明控制系統(tǒng)的工作原理;2、要求設(shè)計(jì)控制系統(tǒng)的硬件電路,給出電路原理圖和元器件清單;3、要求給出軟件流程圖并編寫(xiě)程序源代碼;4、完成系統(tǒng)的調(diào)試,給出調(diào)試結(jié)果并分析;5、撰寫(xiě)符合要求的課程設(shè)計(jì)說(shuō)明書(shū)。注:1此表由指導(dǎo)教師填寫(xiě),經(jīng)系、教研室審批,指導(dǎo)教師、學(xué)生簽字后生效;2此表1式3份,學(xué)生、指導(dǎo)教師、教研室各1份。四、參考資料和現(xiàn)有基礎(chǔ)條件(包括實(shí)驗(yàn)室、主要儀器設(shè)備等)1、單片機(jī)課程設(shè)計(jì)指導(dǎo),北京航空

4、航天大學(xué)出版社,樓然苗等2007年7月2、單片機(jī)實(shí)驗(yàn)與實(shí)踐教程,北京航空航天大學(xué)出版社,何立民等2004年7月3、THKSCM-1型單片機(jī)實(shí)驗(yàn)系統(tǒng)實(shí)驗(yàn)指導(dǎo)書(shū)、KEIL軟件,WAVE軟件4、數(shù)字控制與PLC實(shí)驗(yàn)室”THKSCM-1型單片機(jī)實(shí)驗(yàn)系統(tǒng)”。五、進(jìn)度安排2010年6月1日-7日:收集和課程設(shè)計(jì)有關(guān)的資料,熟悉課題任務(wù)何要求2010年6月8日-12日:總體方案設(shè)計(jì)2010年6月13日-18日日:硬件電路設(shè)計(jì)2010年6月19日-23日:軟件設(shè)計(jì)2010年6月24日-25日:系統(tǒng)調(diào)試改進(jìn)2010年6月26日-28日:整理書(shū)寫(xiě)設(shè)計(jì)說(shuō)明書(shū)2010年6月29-30日:答辯并考核六、教研室審批意見(jiàn)教

5、研室主任(簽字): 年 月 日七|、主管教學(xué)主任意見(jiàn) 主管主任(簽字): 年 月 日八、備注指導(dǎo)教師(簽字): 學(xué)生(簽字):邵陽(yáng)學(xué)院課程設(shè)計(jì)(論文)評(píng)閱表學(xué)生姓名 游城 學(xué) 號(hào) 0841229034 系 電氣工程系 專(zhuān)業(yè)班級(jí) 08級(jí)測(cè)控類(lèi)一班 題目名稱(chēng) 基于單片機(jī)的八路搶答器設(shè)計(jì) 課程名稱(chēng) 單片機(jī)原理及在電氣測(cè)控學(xué)科中的應(yīng)用 一、學(xué)生自我總結(jié) 學(xué)生簽名: 年 月 日二、指導(dǎo)教師評(píng)定評(píng)分項(xiàng)目平時(shí)成績(jī)論文答辯綜合成績(jī)權(quán) 重304030單項(xiàng)成績(jī)指導(dǎo)教師評(píng)語(yǔ): 指導(dǎo)教師(簽名): 年 月 日注:1、本表是學(xué)生課程設(shè)計(jì)(論文)成績(jī)?cè)u(píng)定的依據(jù),裝訂在設(shè)計(jì)說(shuō)明書(shū)(或論文)的“任務(wù)書(shū)”頁(yè)后面;2、表中的“評(píng)

6、分項(xiàng)目”及“權(quán)重”根據(jù)各系的考核細(xì)則和評(píng)分標(biāo)準(zhǔn)確定。摘 要電子智能搶答計(jì)分器在搶答過(guò)程中,為了知道哪一組或哪一位選手先答題,必須要設(shè)計(jì)一個(gè)系統(tǒng)來(lái)完成這個(gè)任務(wù)。如果在搶答中,靠視覺(jué)是很難判斷出哪組先答題。利用單片機(jī)系統(tǒng)來(lái)設(shè)計(jì)搶答器,使以上問(wèn)題得以解決,即使兩組的搶答時(shí)間相差幾微秒,也可分辨出哪組優(yōu)先答題。搶答組數(shù)可以在八組以內(nèi)任意使用,本系統(tǒng)設(shè)計(jì)為模塊形式采用九針插頭進(jìn)行連接,系統(tǒng)工作原理本系統(tǒng)采用AT89S51單片機(jī)作為核心??刂葡到y(tǒng)的五個(gè)模塊分別為:?jiǎn)纹瑱C(jī)最小系統(tǒng)(六位并行數(shù)碼顯示、4*4矩陣式鍵盤(pán))、顯示模塊、顯示驅(qū)動(dòng)模塊、搶答開(kāi)關(guān)模塊、音樂(lè)音頻輸出模塊。關(guān)鍵詞:?jiǎn)纹瑱C(jī);矩陣式鍵盤(pán);顯示;

7、驅(qū)動(dòng);搶答目 錄引言31 單片機(jī)的應(yīng)用技術(shù)32 系統(tǒng)設(shè)計(jì)要點(diǎn)3 搶答器的硬件設(shè)計(jì)要求32.2 計(jì)分器系統(tǒng)的軟件流程.3 2.3 計(jì)分器的硬件設(shè)計(jì)要求52.4 人機(jī)交互程序設(shè)計(jì).5 2.5 搶答器系統(tǒng)軟件的流程圖7 2.6 搶答數(shù)碼顯示軟件程序設(shè)計(jì)8 2.7 音樂(lè)音頻輸出程系流程圖93各模塊方案選擇和論證10 3.1 搶答器顯示模塊10 3.2 控制器模塊10 3.3 電源方案的選擇11 3.4 槍答器鍵盤(pán)的選擇11 3.5 計(jì)分器顯示模塊13 3.6 計(jì)分器鍵盤(pán)的選擇144 模塊的最終方案145 電子智能搶答器系統(tǒng)的硬件電路設(shè)計(jì)14 5.1計(jì)分器的電路設(shè)計(jì)14搶答器的電路設(shè)計(jì)166 單片機(jī)干擾

8、防護(hù)18 6.1 采用隔離技術(shù)18 6.2 正確的接地措施19結(jié)論.19謝 辭.19參考文獻(xiàn)20計(jì)分器顯示程序(附1)21搶答器軟件程序(附2)261 單片機(jī)的應(yīng)用技術(shù)單片機(jī)由硬件系統(tǒng)與軟件系統(tǒng)組成。硬件系統(tǒng)是指構(gòu)成微機(jī)系統(tǒng)的實(shí)體與裝置,通常由運(yùn)算器、控制器、存儲(chǔ)器、輸入接口電路和輸入設(shè)備、輸出接口電路和輸出設(shè)備等組成。其中運(yùn)算器和控制器一般做在一個(gè)集成芯片上,統(tǒng)稱(chēng)中央處理單元(Central Processing Unit),簡(jiǎn)稱(chēng)CPU,是微機(jī)的核心部件。CPU配上存放程序和數(shù)據(jù)的存儲(chǔ)器、輸入/輸出(Input/Output,簡(jiǎn)稱(chēng)I/O)接口電路以及外部設(shè)備即構(gòu)成單片機(jī)的硬件系統(tǒng)。軟件系統(tǒng)是

9、微機(jī)系統(tǒng)所使用的各種程序的總稱(chēng),人們通過(guò)它對(duì)微機(jī)進(jìn)行控制并與微機(jī)系統(tǒng)進(jìn)行信息交換,使微機(jī)按照人的意圖完成預(yù)定的任務(wù)。軟件系統(tǒng)與硬件系統(tǒng)共同構(gòu)成完整的單片微型計(jì)算機(jī)系統(tǒng),兩者相輔相成,缺一不可。2 系統(tǒng)設(shè)計(jì)要點(diǎn)系統(tǒng)設(shè)計(jì)主要包括硬件和軟件兩大部分,依據(jù)控制系統(tǒng)的工作原理和技術(shù)性能,將硬件和軟件分開(kāi)設(shè)計(jì)。硬件設(shè)計(jì)部分包括電路原理圖、合理選擇元器件、繪制線路圖,然后對(duì)硬件進(jìn)行調(diào)試、測(cè)試,以達(dá)到設(shè)計(jì)要求。軟件設(shè)計(jì)部分,首先在總體設(shè)計(jì)中完成系統(tǒng)總框圖和各模塊的功能設(shè)計(jì),擬定詳細(xì)的工作計(jì)劃;然后進(jìn)行具體設(shè)計(jì),包括各模塊的流程圖,選擇合適的編程語(yǔ)言和工具,進(jìn)行代碼設(shè)計(jì)等;最后是對(duì)軟件進(jìn)行調(diào)試、測(cè)試,達(dá)到所需功

10、能要求。在系統(tǒng)設(shè)計(jì)中設(shè)計(jì)方法的選用是系統(tǒng)設(shè)計(jì)能否成功的關(guān)鍵。硬件電路是采用結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)方法,該方法保證設(shè)計(jì)電路的標(biāo)準(zhǔn)化、模塊化。硬件電路的設(shè)計(jì)最重要的選擇用于控制的單片機(jī),并確定與之配套的外圍芯片,使所設(shè)計(jì)的系統(tǒng)既經(jīng)濟(jì)又高性能。硬件電路設(shè)計(jì)還包括輸入輸出接口設(shè)計(jì),畫(huà)出詳細(xì)電路圖,標(biāo)出芯片的型號(hào)、器件參數(shù)值,根據(jù)電路圖在仿真機(jī)上進(jìn)行調(diào)試,發(fā)現(xiàn)設(shè)計(jì)不當(dāng)及時(shí)修改,最終達(dá)到設(shè)計(jì)目的。軟件設(shè)計(jì)的方法與開(kāi)發(fā)環(huán)境的選取有著直接的關(guān)系,本系統(tǒng)由于是采用51系列單片機(jī),因此使用Keil C語(yǔ)言進(jìn)行開(kāi)發(fā)。此編程工具相比匯編語(yǔ)言具有結(jié)構(gòu)化、適用范圍大、可移植性好等特點(diǎn)。本系統(tǒng)軟件設(shè)計(jì)采用模塊化系統(tǒng)設(shè)計(jì)方法,先編寫(xiě)

11、各個(gè)功能模塊子程序,然后進(jìn)行組合與調(diào)整,經(jīng)過(guò)調(diào)試后,達(dá)到設(shè)計(jì)功能要求。2.1 搶答器的硬件設(shè)計(jì)要求搶答器同時(shí)供8名選手或8個(gè)代表隊(duì)比賽,分別用8個(gè)按鈕S1S8表示。設(shè)置一個(gè)系統(tǒng)清除和搶答控制按扭,該按扭由主持人控制。搶答器具有鎖存與顯示功能。即選手按動(dòng)按鈕,鎖存相應(yīng)的編號(hào),并在LED數(shù)碼管上顯示,同時(shí)揚(yáng)聲器發(fā)出報(bào)警聲響提示。選手搶答實(shí)行優(yōu)先鎖存,優(yōu)先搶答選手的編號(hào)一直保持到主持人將系統(tǒng)清除為止。2.3 計(jì)分器的硬件設(shè)計(jì)要求加減計(jì)分有三位顯示,用串行通信口,顯示分?jǐn)?shù),用4*4陣列式鍵盤(pán)進(jìn)行同時(shí)加減和單組加分。 人機(jī)交互程序設(shè)計(jì)系統(tǒng)的人機(jī)交互程序設(shè)計(jì),主要是解決按鍵的掃描與信息的顯示,讓操作者能夠

12、靈活地控制系統(tǒng)工作。鍵盤(pán)用來(lái)輸入指令,發(fā)光數(shù)碼管用來(lái)顯示單片機(jī)的狀態(tài),這是一個(gè)比較簡(jiǎn)單的人機(jī)交互形式。3 各模塊方案選擇和論證3.1 搶答器顯示模塊在步進(jìn)電機(jī)控制過(guò)程中,系統(tǒng)需要對(duì)運(yùn)行的時(shí)間和轉(zhuǎn)向、相數(shù)做必要的顯示。我們考慮有以下兩種顯示方案。方案一:使用液晶屏顯示時(shí)間。液晶顯示屏(LCD)具有輕薄短小、低耗電量、無(wú)輻射危險(xiǎn),平面直角顯示以及影像穩(wěn)定不閃爍等優(yōu)勢(shì),可視面積大,畫(huà)面效果好,分辨率高,抗干擾能力強(qiáng)的特點(diǎn)。但由于只需要顯示時(shí)間和轉(zhuǎn)向、相數(shù)這樣的數(shù)字,信息量比較少,且由于液晶是以點(diǎn)陣的模式顯示各種符號(hào),需要利用控制芯片創(chuàng)建字符庫(kù),編程工作量大,控制器的資源占用較多,其成本也偏高。在使用

13、時(shí),不能有靜電干擾,否則易燒壞液晶顯示芯片,不易維護(hù)。方案二:在使用傳統(tǒng)的數(shù)碼管顯示。數(shù)碼管具有:低能耗、低損耗、低壓、壽命長(zhǎng)、耐老化、防曬、防潮、防火、防高(低)溫,對(duì)外界環(huán)境要求低,易于維護(hù),同時(shí)其精度高,稱(chēng)量快,精確可靠,操作簡(jiǎn)單。數(shù)碼顯示是采用BCD編碼顯示數(shù)字,程序編譯容易,資源占用較少。:74LS164的引腳圖 74LS164為8位串入并出移位寄存器,1、2為串行輸入端,Q0-Q7為并行輸出端,CLK為移位時(shí)鐘脈沖上升沿移入一位;MR為清零端,低電平時(shí)并行輸出為零。根據(jù)以上的論述,采用方案二。3.2 控制器模塊控制器主要用于各模塊控制對(duì)顯示、搶答、音樂(lè)、計(jì)分等??刂破鞯倪x擇有以下兩

14、鐘方案。方案一:采用FPGA(現(xiàn)場(chǎng)可編程門(mén)列陣)作為系統(tǒng)的控制器。FPGA可以實(shí)現(xiàn)各種復(fù)雜的邏輯功能,規(guī)模大,密度高,它將所有器件集成在一塊芯片上,減小了體積,提高了穩(wěn)定性,并且可以應(yīng)用EDA軟件仿真、調(diào)試,易于進(jìn)行功能擴(kuò)展。FPGA采用并行的輸入輸出方式,提高了系統(tǒng)的處理速度,適合作為大規(guī)模實(shí)時(shí)系統(tǒng)的控制核心。但由于本設(shè)計(jì)對(duì)數(shù)據(jù)處理的速度要求不高,F(xiàn)PGA的高速處理的優(yōu)勢(shì)得不到充分體現(xiàn),并且由于其集成度高,使其成本偏高,同時(shí)由于芯片的引腳較多,實(shí)物硬件電路板布線復(fù)雜,加重了電路設(shè)計(jì)和實(shí)際焊接的工作。方案二:采用ATMEL公司的AT89C51作為系統(tǒng)控制器的CPU方案。單片機(jī)算術(shù)運(yùn)算功能強(qiáng),軟

15、件編程靈活、自由度大,可以用軟件編程實(shí)現(xiàn)各種算法和邏輯控制,并且由于其功耗低、體積小、技術(shù)成熟和成本低等優(yōu)點(diǎn),使其在各個(gè)領(lǐng)域應(yīng)用廣泛?;谝陨戏治鰯M訂方案二。3.3 電源方案的選擇系統(tǒng)需要多個(gè)電源,AT89C51使用5V穩(wěn)壓電源,驅(qū)動(dòng)芯片需要5-50V電壓驅(qū)動(dòng),步進(jìn)電機(jī)等需要12V穩(wěn)壓電源。方案一:采用升壓型穩(wěn)壓電路。用兩片MC34063芯片分別將3V的電池電壓進(jìn)行直流嶄波調(diào)壓,得到5V和12V的穩(wěn)壓輸出。只需使用兩節(jié)電池,既節(jié)省了電池,又減小系統(tǒng)體積重量但該電路供電電流小,供電時(shí)間短,無(wú)法使相對(duì)龐大的系統(tǒng)穩(wěn)定運(yùn)作。方案二:采用三端穩(wěn)壓集成7805與7812分別得到5V和12V的穩(wěn)定電壓。利用

16、該方法方便簡(jiǎn)單,工作穩(wěn)定可靠。綜上所述,選擇方案二,采用三端穩(wěn)壓器電路。3.4 搶答器鍵盤(pán)的選擇鍵盤(pán)是單片機(jī)不可缺少的輸入設(shè)備,是實(shí)現(xiàn)人機(jī)對(duì)話的紐帶。鍵盤(pán)按結(jié)構(gòu)形式可以分為非編碼鍵盤(pán)和編碼鍵盤(pán),前者用軟件方法產(chǎn)生鍵碼,而后者則用硬件方法來(lái)產(chǎn)生鍵碼。在單片機(jī)中使用的都是非編碼鍵盤(pán),因?yàn)榉蔷幋a鍵盤(pán)結(jié)構(gòu)簡(jiǎn)單,成本低廉,非編碼鍵盤(pán)的類(lèi)型很多,常用的有獨(dú)立式鍵盤(pán),行列式鍵盤(pán)等。方案一:獨(dú)立式鍵盤(pán)鍵盤(pán)接口中使用多少根I/O線,鍵盤(pán)中就有幾個(gè)按鍵,鍵盤(pán)接口使用了8根I/O口線,該鍵盤(pán)就有8個(gè)按鍵,這種類(lèi)型的鍵盤(pán),其按鍵比較少,且鍵盤(pán)中各按鍵的工作互不干擾。因此可以根據(jù)實(shí)際需要對(duì)鍵盤(pán)中的按鍵靈活的編碼。如圖.

17、1。圖3.2獨(dú)立式鍵盤(pán)最簡(jiǎn)單的編碼方式就是根據(jù)I/O輸入口所直接反映的相應(yīng)按鍵,按下的狀態(tài)進(jìn)行編碼,稱(chēng)按鍵直接狀態(tài)碼,對(duì)于這樣編碼的獨(dú)立式鍵盤(pán),CPU可以通過(guò)直接讀取I/O口的狀態(tài)來(lái)獲取按鍵的直接狀態(tài)編碼值,根據(jù)這個(gè)值直接進(jìn)行按鍵識(shí)別,這樣形式的鍵盤(pán)結(jié)構(gòu)簡(jiǎn)單,按鍵識(shí)別容易。獨(dú)立式鍵盤(pán)的缺點(diǎn)是需要占用比較多的I/O口線,當(dāng)單片機(jī)應(yīng)用系統(tǒng)鍵盤(pán)中需要的按鍵比較少或I/O口線比較富余時(shí),可以采用這樣類(lèi)型的鍵盤(pán)。方案二:行列式鍵盤(pán)行列式鍵盤(pán)是用N條I/O線作為行線,M條I/O線作為列線組成的鍵盤(pán),在行線和列線的每個(gè)交叉點(diǎn)上,設(shè)置一個(gè)按鍵中按鍵的個(gè)數(shù)是M*N個(gè)。這種形式的鍵盤(pán)結(jié)構(gòu),能夠有效的提高單片機(jī)系統(tǒng)

18、中I/O的利用率,列線接P1.0P1.3行線接P1.4P1.7,行列適用于按鍵輸入多的情況。CPU對(duì)鍵盤(pán)的掃描可以采用取程序控制的隨機(jī)方式,即只有在CPU空閑是時(shí)才去掃描鍵盤(pán),響應(yīng)操作人員的鍵盤(pán)輸入,但CPU在執(zhí)行應(yīng)用程序的過(guò)程中,不能響應(yīng)鍵盤(pán)輸入,對(duì)鍵盤(pán)的掃描可以采用定時(shí)方式,即利用單片機(jī)內(nèi)部定時(shí)器每隔一定時(shí)間對(duì)鍵盤(pán)掃描一次,這樣控制方式,不管鍵盤(pán)上有無(wú)鍵閉合,CPU總是定時(shí)的關(guān)心鍵盤(pán)狀態(tài)。在大多數(shù)情況下,CPU對(duì)鍵盤(pán)可能進(jìn)行空掃描。為了提高CPU的效率而又能及時(shí)響應(yīng)鍵盤(pán)輸入,可以采用中斷方式,既CPU平時(shí)不必掃描鍵盤(pán),只要當(dāng)鍵盤(pán)上有鍵盤(pán)閉合時(shí)就產(chǎn)生中斷請(qǐng)求,向CPU申請(qǐng)中斷后,立即對(duì)鍵盤(pán)上

19、有鍵盤(pán)進(jìn)性掃描,識(shí)別閉合鍵,并做相應(yīng)的處理。根據(jù)以上的論述,采用方案一,在本系統(tǒng)中采用了獨(dú)立式鍵盤(pán),其按鍵比較少,且鍵盤(pán)中各個(gè)按鍵的工作互不干擾。如圖.2所示。 圖3.3行列式鍵盤(pán)3.5 計(jì)分器顯示模塊顯示模塊必須要顯示三位數(shù)為一組,本系統(tǒng)設(shè)計(jì)為八組,共要顯示27位數(shù)。采用靜態(tài)顯示,其方案如下:方案一:不帶鎖存方式。顯示器由9個(gè)共陰極數(shù)碼管組成。輸入只有兩個(gè)信號(hào),它們是串行數(shù)據(jù)線DIN和移位信號(hào)CLK。9個(gè)串/并移位寄存器芯片74LS164首尾相連,74LS164為8位串入并出移位寄存器,1、2為串行輸入端,Q0-Q7為并行輸出端,CLK為移位時(shí)鐘脈沖上升沿移入一位;MR為清零端,低電平時(shí)并行

20、輸出為零。實(shí)驗(yàn)證明在顯示位數(shù)超出6位,數(shù)碼管有閃爍的現(xiàn)象。方案二:帶鎖存方式。采用帶有鎖存功能的移位寄存器74LS595芯片,74595的數(shù)據(jù)端:QA-QH: 八位并行輸出端,可以直接控制數(shù)碼管的8個(gè)段。QH': 級(jí)聯(lián)輸出端。我將它接下一個(gè)595的SI端。SI: 串行數(shù)據(jù)輸入端。74595的控制端說(shuō)明:SRCLR(10腳): 低點(diǎn)平時(shí)將移位寄存器的數(shù)據(jù)清零。通常接Vcc。SRCK(11腳):上升沿時(shí)數(shù)據(jù)寄存器的數(shù)據(jù)移位。QA->QB->QC->.->QH;下降沿移位寄存器數(shù)據(jù)不變。(脈沖寬度:5V時(shí),大于幾十納秒就行了。我通常都選微秒級(jí))RCK(12腳):上升沿

21、時(shí)移位寄存器的數(shù)據(jù)進(jìn)入數(shù)據(jù)存儲(chǔ)寄存器,下降沿時(shí)存儲(chǔ)寄存器數(shù)據(jù)不變。(通常我將RCK置為低電平,) 當(dāng)移位結(jié)束后,在RCK端產(chǎn)生一個(gè)正脈沖(5V時(shí),大于幾十納秒就行了。我通常都選微秒級(jí)),更新顯示數(shù)據(jù)。13腳: 高電平時(shí)禁止輸出(高阻態(tài))。如果單片機(jī)的引腳不緊張,用一個(gè)引腳控制它,可以方便地產(chǎn)生閃爍和熄滅效果。比通過(guò)數(shù)據(jù)端移位控制要省時(shí)省力。74164和74595功能相仿,都是8位串行輸入轉(zhuǎn)并行輸出移位寄存器。74164的驅(qū)動(dòng)電流(25mA)比74595(35mA)的要小,14腳封裝,體積也小一些。74595的主要優(yōu)點(diǎn)是具有數(shù)據(jù)存儲(chǔ)寄存器,在移位的過(guò)程中,輸出端的數(shù)據(jù)可以保持不變。這在串行速度慢

22、的場(chǎng)合很有用處,數(shù)碼管沒(méi)有閃爍感。與164只有數(shù)據(jù)清零端相比,595還多有輸出端時(shí)能/禁止控制端,可以使輸出為高阻態(tài)。根據(jù)以上論證,采用方案二。3.6 計(jì)分器鍵盤(pán)的選擇方案一:行列式鍵盤(pán)行列式鍵盤(pán)是用N條I/O線作為行線,M條I/O線作為列線組成的鍵盤(pán),在行線和列線的每個(gè)交叉點(diǎn)上,設(shè)置一個(gè)按鍵中按鍵的個(gè)數(shù)是M*N個(gè)。這種形式的鍵盤(pán)結(jié)構(gòu),能夠有效的提高單片機(jī)系統(tǒng)中I/O的利用率,列線接P1.0P1.3行線接P1.4P1.7,行列適用于按鍵輸入多的情況。方案二:獨(dú)立式鍵盤(pán)鍵盤(pán)接口中使用多少根I/O線,鍵盤(pán)中就有幾個(gè)按鍵,鍵盤(pán)接口使用了16根I/O口線,需要占用比較多的I/O口線這種類(lèi)型的鍵盤(pán),根據(jù)

23、以上論證,采用方案一。4 硬件設(shè)計(jì)4.1 硬件模塊方案主控制器模塊:采用AT89C51單片幾機(jī)控制搶答器顯示模塊:數(shù)碼管顯示電源方案的選擇:采用三端穩(wěn)壓器電路搶答器鍵盤(pán)模塊:獨(dú)立式鍵盤(pán)計(jì)分器顯示模塊:采用帶有鎖存功能的移位寄存器74LS595芯片計(jì)分器鍵盤(pán)模塊:行列式鍵盤(pán)4.2 計(jì)分器的電路設(shè)計(jì)主控制器采用AT89C51單片機(jī)作為微處理器,AT89C51是美國(guó)ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位單片機(jī),片內(nèi)含4K bytes的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-

24、51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash 存儲(chǔ)單元。計(jì)分器的工作原理是采用最小系統(tǒng),用4x4鍵盤(pán)來(lái)輸入是選手需要加減進(jìn)行分?jǐn)?shù)的加減輸入。主板上的6個(gè)數(shù)碼顯示,加幾分的數(shù),按確定鍵后分?jǐn)?shù)值從串口p3.0,p3.1傳到計(jì)分器顯示模塊上再通過(guò)數(shù)碼管驅(qū)動(dòng)模塊顯示。原理圖如圖所示圖計(jì)分器系統(tǒng)的硬件電路4.3 搶答器的電路設(shè)計(jì)搶答電路模塊搶答器的工作原理是采用單片機(jī)最小系統(tǒng),用查詢式鍵盤(pán)進(jìn)行搶答。通過(guò)搶答按鍵模塊,連接按鍵進(jìn)行搶答。其工作原理為: 主持人按清零鍵后,選手可按鍵搶答,單片機(jī)鎖存信號(hào),屏蔽外界信號(hào)。串顯示編號(hào),并有丁冬聲輸出。搶答選手的編號(hào)一直保持到主持人將系統(tǒng)清除為止。搶

25、答器原理如圖4.2。圖4.2 搶答器原理圖搶答按鍵模塊的設(shè)計(jì)搶答按鍵模塊的設(shè)計(jì)是通過(guò)利用光電耦合器,光電偶合器的輸入/輸出之間沒(méi)有接觸,能有效地防止輸入端的電磁干擾以電藕合的方式進(jìn)入應(yīng)用系統(tǒng),而且光電偶合器的輸入阻抗很小,干擾源的內(nèi)阻很大,所以能輸入到光電偶合器的干擾電壓很小。把單片機(jī)信號(hào)和按鈕的信號(hào)隔開(kāi),采用+12V電源給單片機(jī)開(kāi)關(guān)量的控制。其原理圖如圖。圖 輸入隔離電路5 軟件設(shè)計(jì) 搶答器系統(tǒng)軟件的流程圖搶答組數(shù)可以在八組以內(nèi)任意使用,其流程如圖 搶答器系統(tǒng)軟件的流程圖 計(jì)分器系統(tǒng)的軟件流程初始化開(kāi)始掃描鍵盤(pán)S1S8是那一個(gè)組要加分,并組號(hào)顯示在主板上(六個(gè)數(shù)碼管)為0單組加減分為1全部統(tǒng)

26、一加減分加分按鍵S14減分按鍵S15鍵盤(pán)錄入分值,并顯示在主板上(六個(gè)數(shù)碼管)加分按鍵S12減分按鍵S13鍵盤(pán)錄入分值,并顯示在主板上(六個(gè)數(shù)碼管)確定S16P1.7輸入一個(gè)單次脈沖,并保持高電平(鎖存數(shù)據(jù)由P3.0 P3.1串口輸出顯示分?jǐn)?shù)) 計(jì)分器系統(tǒng)的軟件流程鍵盤(pán)掃描程序流程圖本系統(tǒng)的鍵盤(pán)采用的是4×4矩陣式鍵盤(pán),矩陣式鍵盤(pán)由行線和列線組成,按鍵位于行、列線的交叉點(diǎn)上。一個(gè)4×4的行、列結(jié)構(gòu)可以構(gòu)成一個(gè)含有16個(gè)按鍵的鍵盤(pán),顯然,在按鍵數(shù)量較多時(shí),矩陣式鍵盤(pán)較之獨(dú)立式按鍵鍵盤(pán)要節(jié)省很多I/O口。矩陣式鍵盤(pán)中,行、列線分別連接到按鍵開(kāi)關(guān)的兩端,在進(jìn)行鍵盤(pán)掃描時(shí),首先把矩

27、陣鍵盤(pán)列線的第一根線置高,然后分別再檢測(cè)矩陣鍵盤(pán)行線是否有高電平的信號(hào),如果有信號(hào),那么就證明這根行線與第一根列線相交處的按鍵被按下了,單片機(jī)就讀入這個(gè)鍵值。如果所有的四根行線都沒(méi)有信號(hào),那么就把第一根列線置低,把第二根列線置高,再一次檢測(cè)行線有沒(méi)有信號(hào),然后依次類(lèi)推。由于鍵盤(pán)掃描的速度很快,而人按鍵總會(huì)持續(xù)一定的時(shí)間,因此只要單片機(jī)處在等待輸入的狀態(tài),這個(gè)鍵盤(pán)掃描程序基本上不會(huì)錯(cuò)過(guò)任何一個(gè)按鍵信號(hào)。由于一般人按鍵會(huì)有抖動(dòng),抖動(dòng)信號(hào)造成鍵盤(pán)掃描時(shí)會(huì)出現(xiàn)一些錯(cuò)誤的信號(hào),要不就是掃描不進(jìn)數(shù)據(jù),要不就是重復(fù)輸入很多次數(shù)據(jù),因此需要有一個(gè)消除抖動(dòng)的程序。讓單片機(jī)不響應(yīng)一些相關(guān)的抖動(dòng)信號(hào),而只響應(yīng)一次確

28、實(shí)存在的按鍵信號(hào)。消抖動(dòng)程序是這樣實(shí)現(xiàn)的,當(dāng)檢測(cè)到一個(gè)脈沖信號(hào)時(shí),并不立即認(rèn)為是一次按鍵,而是延時(shí)一段時(shí)間以后再進(jìn)行檢測(cè),如果三次檢測(cè)都有信號(hào),那么就認(rèn)為有一次按鍵動(dòng)作發(fā)生了。延時(shí)的選擇非常重要,太快了,起不到消除抖動(dòng)的效果,太慢了又讓鍵盤(pán)太不靈活,錯(cuò)過(guò)較多的按鍵信號(hào)。鍵盤(pán)掃描程序的流程圖如圖所示。鍵盤(pán)掃描程序流程 搶答數(shù)碼顯示軟件程序設(shè)計(jì)采用靜態(tài)顯示,顯示器由9個(gè)共陽(yáng)極數(shù)碼管組成。輸入只有兩個(gè)信號(hào),它們是串行數(shù)據(jù)線DIN和移位信號(hào)CLK。9個(gè)串/并移位寄存器芯片74LS164首尾相連,了九位共陽(yáng)極七段數(shù)碼管,共陽(yáng)極數(shù)碼管的8個(gè)發(fā)光二極管的陽(yáng)極(二極管正端)連接在一起,通常,公共陽(yáng)極接高電平(

29、一般接電源),七它管腳接段驅(qū)動(dòng)電路輸出端。當(dāng)某段驅(qū)動(dòng)電路的輸出端為低電平時(shí),則該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時(shí),要求段驅(qū)動(dòng)電路能吸收額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來(lái)確定相應(yīng)的限流電阻,這里的限流電阻選100。數(shù)碼顯示程序流程如圖:數(shù)碼顯示程序流程5.5 音樂(lè)音頻輸出程序流程圖開(kāi)始輸出音頻脈沖低電平延時(shí)輸出音頻脈沖高電平延時(shí)音樂(lè)音頻輸出由P3.7輸出,如圖5.5音頻輸出程序流程圖5 單片機(jī)干擾防護(hù)單片機(jī)應(yīng)用系統(tǒng)在實(shí)際工作過(guò)程中,難免會(huì)受到各種外部或內(nèi)部的干擾,使系統(tǒng)發(fā)生異常情況。比如,因干擾使程序指針發(fā)生錯(cuò)誤時(shí),可能會(huì)將非操作碼執(zhí)

30、行,造成程序執(zhí)行的混亂(跑飛)或進(jìn)入死循環(huán),甚至可能會(huì)損壞元器件。干擾竄入應(yīng)用系統(tǒng)的主要渠道有三條:通過(guò)電磁波輻射竄入系統(tǒng)的空間干擾;通過(guò)輸入/輸出通道竄入的通道干擾;電源的干擾。6.1 采用隔離技術(shù)對(duì)于供電系統(tǒng)的干擾,可以采用交流穩(wěn)壓器、不間斷電源(UPS)、隔離變壓器、底通慮波器等,以防止電源電壓的波動(dòng)和干擾噪聲;在直流電源的抗干擾措施中,對(duì)應(yīng)用系統(tǒng)中的不同等級(jí)的直流電源采取集成穩(wěn)壓塊單獨(dú)供電,以避免模塊間的互相影響,使直流開(kāi)關(guān)電源、DC-DC變換器以加強(qiáng)隔離提高電源穩(wěn)定性等。在單片機(jī)應(yīng)用系統(tǒng)的輸入/輸出通道中,普遍采用通道隔離技術(shù)來(lái)防止通道干擾。其中應(yīng)用較多的是光電耦合器。光電耦合器的輸

31、入/輸出之間沒(méi)有接觸,能有效地防止輸入端的電磁干擾以電耦合的方式進(jìn)入應(yīng)用系統(tǒng),而且光電耦合器的輸入阻抗很小,干擾源的內(nèi)阻很大,所以能輸入到光電偶合器的干擾電壓很小。6.2 正確的接地措施在低頻電路中,因寄生電抗的影響不大,常采用一點(diǎn)接地,以減少地線造成的地環(huán)路。在單片機(jī)系統(tǒng)中,數(shù)字地和模擬地應(yīng)分別接地,即使一個(gè)芯片上有兩種地也要分別接地,然后再在一點(diǎn)處把兩種分別連接起來(lái)。在研制印刷電路板時(shí),對(duì)地線的分布、形狀、長(zhǎng)度和寬度等也有一定的要求,比如地線要呈輻射狀,避免環(huán)行,地線要寬,連接旁路電容的地線不要太長(zhǎng)等。單片機(jī)應(yīng)用系統(tǒng)中的數(shù)字地、模擬地(低電平電路地)、大功率電氣設(shè)備等強(qiáng)電設(shè)備的地(噪聲地)

32、、機(jī)殼或其他金屬構(gòu)件的屏蔽地應(yīng)分開(kāi)布置并在一點(diǎn)上和電源地相連。每個(gè)單元宜采用一個(gè)接地點(diǎn),地線應(yīng)盡量加粗以減少地線的阻抗。在采用屏蔽雙絞線傳遞信號(hào)時(shí),應(yīng)將地與工作地連在一起。要注意只能在一個(gè)點(diǎn)接地,以免形成回路,在屏蔽體上產(chǎn)生較大的噪聲。結(jié)論通過(guò)這次課程設(shè)計(jì)。我們小組設(shè)計(jì)電子智能搶答計(jì)分器,采用了單片機(jī)技術(shù)、數(shù)字電子、模擬電子、制作電路板等相關(guān)技術(shù)。把在學(xué)校這一段時(shí)間所學(xué)知識(shí)連成一串。理論聯(lián)系實(shí)踐,體現(xiàn)出大學(xué)生動(dòng)手能力。通過(guò)查資料和搜集有關(guān)的文獻(xiàn),培養(yǎng)了自學(xué)能力和動(dòng)手能力。并且由原先的被動(dòng)的接受知識(shí)轉(zhuǎn)換為主動(dòng)的尋求知識(shí),這可以說(shuō)是學(xué)習(xí)方法上的一個(gè)很大的突破。在以往的傳統(tǒng)的學(xué)習(xí)模式下,我們可能會(huì)記

33、住很多的書(shū)本知識(shí),但是通過(guò)畢業(yè)論文,我們學(xué)會(huì)了如何將學(xué)到的知識(shí)轉(zhuǎn)化為自己的東西,學(xué)會(huì)了怎么更好的處理知識(shí)和實(shí)踐相結(jié)合的問(wèn)題。把握重點(diǎn)、攻克難關(guān),學(xué)到用到、活學(xué)活用。在設(shè)計(jì)過(guò)程中由于時(shí)間倉(cāng)促有很多地方難免存在不足之處,硬件設(shè)計(jì)已經(jīng)完成,在軟件設(shè)計(jì)中有些功能還尚未開(kāi)發(fā)出來(lái)。但在以后的工作中,我們會(huì)嚴(yán)格要求自己,追求完美。參考文獻(xiàn)1 康華光,鄒壽彬編.電子技術(shù)基礎(chǔ)數(shù)字部分(第四版)M.北京:高等教育出版社,20052 謝自美編.電子線路設(shè)計(jì)·實(shí)驗(yàn)·測(cè)試 (第二版) M.上海:電子工業(yè)出版社,20013 何立民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)系統(tǒng)配置與接口技術(shù)M.北京:北京航空

34、航天大學(xué)出版社,1999年4 陸坤,奚大順,李之權(quán)等,電子設(shè)計(jì)技術(shù)M.成都:電子科技大學(xué)出版社1997年5 何立民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)系統(tǒng)配置與接口技術(shù)M.北京:北京航空航天大學(xué)出版社,1999年5 胡學(xué)海.單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì)M.北京:京電子工業(yè)出版社,2005年6 林凌,李剛,丁茹,李小霞.新型單片機(jī)接口器件與技術(shù)M.西安:西安電子科技大學(xué)出版社,2005年 附:?jiǎn)纹瑱C(jī)程序計(jì)分器顯示程序(附1)/搶答器加減記分顯示程序2DBUFEQU30H;三位顯示緩沖區(qū)首址ORG0000HAJMPMAINORG0030HMAIN:MOVSP,#60HACALLKEYSCAN;調(diào)用鍵盤(pán)

35、掃描子程序判斷是加分或減分CJNEA,#0EH,NEXT2;不是加分鍵,則轉(zhuǎn)移判斷是減分鍵?NEXT1:ACALLKEYSZ;是加分鍵,調(diào)用鍵盤(pán)設(shè)置子程序ACALLDISPLAY;調(diào)用串口靜態(tài)顯示子程序SJMPMAINNEXT2:CJNEA,#0FH,MAIN;都不是,則轉(zhuǎn)MAINAJMPNEXT1;是減分鍵,調(diào)用鍵盤(pán)設(shè)置子程序ORG0100HKEYSZ:PUSHPSW;鍵盤(pán)設(shè)置子程序PUSHACCSETBRS1MOVR0,#DBUF;R0指向顯示緩沖區(qū)首地址MOVR7,#3;設(shè)置鍵盤(pán)輸入位數(shù)L1:CLRRS1ACALLKEYSCAN;調(diào)用鍵盤(pán)掃描子程序取按下鍵的鍵號(hào)SETBRS1CJNEA,

36、#0AH,L2;鍵入數(shù)合法性檢測(cè)(是否大于9)L2:JNCL1;大于9,重新鍵入MOVR0,A;鍵號(hào)送顯示緩沖區(qū)INCR0DJNZR7,L1;3位數(shù)值輸入完否?未完繼續(xù),否則返回POPACCPOPPSWCLRRS1RETKEYSCAN:MOVR3, #0F7H;掃描初值(P1.3=0)MOVR1,#00H;取碼指針L3:MOVA,R3;開(kāi)始掃描MOVP1,A;將掃描值輸出至P1MOVA,P1;讀入P1值,判斷是否有鍵按下MOVR4,A;存入R4,以判斷按鍵是否放開(kāi)SETBC;C=1L4:RLCA;將按鍵左移一位JNCKEYIN;判斷C=0?有鍵按下則C=0,跳至KEYININCR1;C=1,則

37、無(wú)鍵按下,將取碼指針值加1DJNZR5,L4;4列掃描完畢了嗎?MOVA,R3;掃描值載入SETBC;C=1RRCA;掃描下一行(P1.3P1.0)MOVR3,A;存回掃描寄存器SJMPKEYSCAN;C=0,則四行已掃描完畢KEYIN:MOVR7,#60;延時(shí)消除抖動(dòng)D2:MOVR6,#248;DJNZR6,$;DJNZR7,D2;D3:MOVA,P1;延時(shí)后再讀入P1值XRLA,R4;與上次讀入值作比較JZD3;A=0,表示按鍵未放,等待按鍵釋放MOVA,R1;按鍵已放開(kāi),取碼指針載入累加器MOVDPTR,#TABLE;鍵盤(pán)碼表首地址送DPTRMOVCA,A+DPTR;查鍵碼RET;返回T

38、ABLE:DB00H,01H,02H,03H;鍵碼安排表與鍵盤(pán)相同DB04H,05H,06H,07HDB08H,09H,0AH,0BHDB0CH,0DH,0EH,0FHORG0200HDISPLAY:MOVR0,#DBUF;串口靜態(tài)顯示子程序 MOVR2,#3;顯示3位數(shù)碼 MOVDPTR,#SEGTAB;DISP: MOVA,R0; MOVCA,A+DPTR;取字段碼 MOVSCON,#0;置串口工作方式0 MOVSBUF,A;開(kāi)始發(fā)送 JNBTI,$;等待發(fā)送完畢 CLRTI;發(fā)送完畢,標(biāo)志位清零 INCR0;緩沖單元地址增1 DJNZR2,DISP;三位數(shù)碼發(fā)送完否? RET;發(fā)送完畢,

39、則返回SEGTAB: DB0FCH,60H,0DAH,0F2H ;0,1,2,3(共陽(yáng)極字段碼表) DB66H,0B6H, 0BEH,0E0H;4,5,6,7 DB0FEH,0F6H,0EEH,3EH;8,9,A,B DB9CH,7AH,9EH,8EH ;C,D,+,- ENDDBUFEQU30H;三位顯示緩沖區(qū)首址ORG0000HAJMPMAINORG0030HMAIN:MOVSP,#60HACALLKEYSCAN;調(diào)用鍵盤(pán)掃描子程序判斷是加分或減分CJNEA,#0EH,NEXT2;不是加分鍵,則轉(zhuǎn)移判斷是減分鍵?NEXT1:ACALLKEYSZ;是加分鍵,調(diào)用鍵盤(pán)設(shè)置子程序ACALLDIS

40、PLAY;調(diào)用串口靜態(tài)顯示子程序SJMPMAINNEXT2:CJNEA,#0FH,MAIN;都不是,則轉(zhuǎn)MAINAJMPNEXT1;是減分鍵,調(diào)用鍵盤(pán)設(shè)置子程序ORG0100HKEYSZ:PUSHPSW;鍵盤(pán)設(shè)置子程序PUSHACCSETBRS1MOVR0,#DBUF;R0指向顯示緩沖區(qū)首地址MOVR7,#3;設(shè)置鍵盤(pán)輸入位數(shù)L1:CLRRS1ACALLKEYSCAN;調(diào)用鍵盤(pán)掃描子程序取按下鍵的鍵號(hào)SETBRS1CJNEA,#0AH,L2;鍵入數(shù)合法性檢測(cè)(是否大于9)L2:JNCL1;大于9,重新鍵入MOVR0,A;鍵號(hào)送顯示緩沖區(qū)INCR0DJNZR7,L1;3位數(shù)值輸入完否?未完繼續(xù),

41、否則返回POPACCPOPPSWCLRRS1RETKEYSCAN:MOVR3, #0F7H;掃描初值(P0.3=0)MOVR1,#00H;取碼指針L3:MOVA,R3;開(kāi)始掃描MOVP0,A;將掃描值輸出至P1MOVA,P0;讀入P1值,判斷是否有鍵按下MOVR4,A;存入R4,以判斷按鍵是否放開(kāi)SETBC;C=1L4:RLCA;將按鍵左移一位JNCKEYIN;判斷C=0?有鍵按下則C=0,跳至KEYININCR1;C=1,則無(wú)鍵按下,將取碼指針值加1DJNZR5,L4;4列掃描完畢了嗎?MOVA,R3;掃描值載入SETBC;C=1RRCA;掃描下一行(P1.3P1.0)MOVR3,A;存回掃描寄存器SJMPKEYSCAN;C=0,則四行已掃描完畢KEYIN:MOVR7,#60;延時(shí)消除抖動(dòng)D2:MOVR6,#248;DJNZR6,$;DJNZR7,D2;D3:MOVA,P0;延時(shí)后再讀入P1值XRLA,R4;與上次讀入值作比較JZD3;A=0,表示按鍵未放,等待按鍵釋放MOVA,R1;按鍵已放開(kāi),取碼指針載入累加

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論