基于51單片機(jī)的智能節(jié)水型水表的設(shè)計(jì)_第1頁(yè)
基于51單片機(jī)的智能節(jié)水型水表的設(shè)計(jì)_第2頁(yè)
基于51單片機(jī)的智能節(jié)水型水表的設(shè)計(jì)_第3頁(yè)
基于51單片機(jī)的智能節(jié)水型水表的設(shè)計(jì)_第4頁(yè)
基于51單片機(jī)的智能節(jié)水型水表的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(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、 基于51單片機(jī)的數(shù)顯節(jié)水型水表的設(shè)計(jì)摘要: 本設(shè)計(jì)是基于51單片機(jī)的一種數(shù)顯節(jié)水型水表。該水表是采用霍爾傳感器采集水流信號(hào),通過(guò)對(duì)現(xiàn)有水表的改進(jìn),并結(jié)合電子傳感技術(shù),設(shè)計(jì)出一種體積小,重量輕,全數(shù)顯的節(jié)水型水表。該數(shù)顯水表的葉輪處安裝上小磁柱,水表外殼上裝有霍爾元件ah44e,霍爾元件接收到的信號(hào)被傳入單片機(jī),信號(hào)通過(guò)處理,傳送到顯示板上,顯示板上分別帶有可顯示瞬時(shí)流量、累計(jì)流量的視窗、報(bào)警燈和報(bào)警器,顯示板上蓋有透明密封板。本設(shè)計(jì)有如下的優(yōu)點(diǎn):一、準(zhǔn)確反應(yīng)瞬時(shí)流量和累計(jì)流量,讀數(shù)準(zhǔn)確,使用效果好;二、能夠在超過(guò)用戶設(shè)定值時(shí)提醒用戶,起到了時(shí)時(shí)提醒用戶節(jié)水的目的。關(guān)鍵字:數(shù)顯,霍爾

2、傳感器,小磁柱,顯示板,報(bào)警the design of digital showed water-meter based on 51 microcontrollerabstract: this design is a saving meter which based on a digital display 51 microcontroller. the water meter is collected using hall sensor signal flow through the improvement of the existing water meter, combined with

3、 electronic sensing technology,design a small size, light weight, all figures show the water-meter. the figures show that the impeller to install water meters on the small cylinder. the water meter is equipped with a hall element ah44e shell. hall element received signal is passed to scm. the signal

4、 is processed, sent to the display board. display board can be displayed with the instantaneous flow, respectively, the cumulative flow window, alarm lights and alarm, the display board covered with a transparent sealing plate. this design has the following advantages: 1, accurately reflect the inst

5、antaneous flow and total flow rate, reading accuracy, and efficiency is good; 2, the user can set the value in more than remind the user, playing the purpose of saving time to time to remind the user.keyword: figures show, hall sensors, small cylinders, display board, alarm 目 錄1設(shè)計(jì)來(lái)源及設(shè)計(jì)意義32設(shè)計(jì)方案3

6、2.1總體設(shè)計(jì)32.1.1智能水表的硬件組成部分32.1.2智能水表應(yīng)具有以下功能:32.1.3智能水表實(shí)現(xiàn)方式42.2 理論基礎(chǔ)42.2.1 at89s51單片機(jī)42.2.2 ah44e霍爾傳感器52.2.3 1602lcd液晶顯示屏62.2.4 水流計(jì)73 硬件設(shè)計(jì)83.1 設(shè)計(jì)方案83.2電路圖的設(shè)計(jì)93.2.1信號(hào)采集電路93.2.2數(shù)據(jù)顯示電路103.2.3復(fù)位電路103.2.4 報(bào)警燈電路114 軟件設(shè)計(jì)124.1主流程框圖124.2按鍵掃描子程序框圖144.3 流水量計(jì)數(shù)程序框圖154.4報(bào)警子程序框圖155 系統(tǒng)調(diào)試176總結(jié)17致謝17附錄:18附錄一:1602lcd簡(jiǎn)介18

7、附錄二:霍爾元件簡(jiǎn)介及應(yīng)用22附錄三:按鍵掃描子程序301設(shè)計(jì)來(lái)源及設(shè)計(jì)意義近年來(lái),全球缺水問(wèn)題已引起人們普遍關(guān)注。我國(guó)是淡水資源嚴(yán)重緊缺的國(guó)家之一,城市缺水特別是我國(guó)北方城市缺水已經(jīng)到了相當(dāng)嚴(yán)重的地步。人們雖然有很好的節(jié)水意識(shí),但是在生活中一般難以控制好用水量,如果每月沒(méi)有限定好用水量,那將造成淡水資源的嚴(yán)重浪費(fèi)。傳統(tǒng)的水表就只有計(jì)數(shù)功能,而且安裝在戶外,不具有提醒用戶節(jié)水的功能,基于這一現(xiàn)象,我設(shè)計(jì)了一款能夠提醒用戶主動(dòng)節(jié)水的智能數(shù)顯節(jié)水型水表。同時(shí)推動(dòng)我國(guó)智能水表產(chǎn)業(yè)的發(fā)展,中國(guó)智能水表網(wǎng)特地推出智能水表技術(shù)推廣工程,限量扶持部分個(gè)人或企業(yè),投入智能水表生產(chǎn),成為創(chuàng)業(yè)級(jí)合作伙伴。2設(shè)計(jì)方

8、案2.1總體設(shè)計(jì)2.1.1智能水表的硬件組成部分 水流計(jì),小磁柱,霍爾元件ah44e, 液晶屏1602lcd,矩陣鍵盤(pán),單片機(jī)at89s51,12mhz晶振,無(wú)極電容104,復(fù)位開(kāi)關(guān),5v穩(wěn)壓電源等,報(bào)警燈,蜂鳴器。2.1.2智能水表應(yīng)具有以下功能:1) 用戶可以設(shè)定兩個(gè)用水量值,當(dāng)這個(gè)月的流水量達(dá)到這兩個(gè)值時(shí),數(shù)顯式節(jié)水水表進(jìn)行報(bào)警,提醒用戶設(shè)定的值已經(jīng)達(dá)到,用戶應(yīng)該進(jìn)行節(jié)水措施,不要無(wú)意識(shí)的浪費(fèi)水資源;2) 當(dāng)一個(gè)月的時(shí)間到時(shí),數(shù)顯式節(jié)水型水表將把用戶一個(gè)月的用水量顯示在液晶屏上,提示用戶這個(gè)月的用水情況。;3) 液晶屏?xí)r鐘顯示時(shí)間功能4) 液晶屏上時(shí)刻顯示用水量信息,以便用戶及時(shí)了解用水

9、信息。2.1.3智能水表實(shí)現(xiàn)方式葉輪轉(zhuǎn)動(dòng)霍爾元件檢測(cè)報(bào)警器報(bào)警燈at89s51驅(qū)動(dòng)電路led顯示屏圖1 數(shù)顯式節(jié)水水表工作原理圖數(shù)據(jù)采集:在普通水表葉片處安裝上小磁柱,外殼處安裝上霍爾元件以檢測(cè)葉片轉(zhuǎn)過(guò)的圈數(shù),再根據(jù)水表內(nèi)部的體積,計(jì)算出用戶的用水量。 數(shù)據(jù)處理:通過(guò)單片機(jī)將采集的數(shù)據(jù),經(jīng)過(guò)單片機(jī)處理計(jì)算出每一段時(shí)間的用水量,同時(shí),將用水量同用戶設(shè)定的用水預(yù)期用水量進(jìn)行比較。 數(shù)據(jù)顯示:一個(gè)月內(nèi),用戶的實(shí)時(shí)用水量超過(guò)設(shè)定的預(yù)期用水量時(shí),智能水表上的報(bào)警燈亮起,同時(shí)lcd液晶屏上顯示報(bào)警信息,提醒用戶節(jié)約用水。一個(gè)月到時(shí),單片機(jī)將把這一個(gè)月的用水量顯示在液晶屏上,好讓用戶對(duì)當(dāng)月的用水情況有個(gè)大概

10、的了解。2.2 理論基礎(chǔ)2.2.1 at89s51單片機(jī)at89s51是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用atmel高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲(chǔ)器組合在單個(gè)芯片中,atmel的at89s51是一種高效微控制器,at89s51是它的一種精簡(jiǎn)版本。at89s51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。外形及引腳排列如圖2-1所示圖2 at89s51芯片引腳圖at89s51共有40個(gè)引腳,大致可分為4類:電源引腳、時(shí)鐘電路引腳

11、、i/o引腳、控制線引腳。根據(jù)開(kāi)發(fā)的需要和單片機(jī)的結(jié)構(gòu),我們就可以實(shí)現(xiàn)單片機(jī)的自動(dòng)工作,即實(shí)現(xiàn)自動(dòng)化!2.2.2 ah44e霍爾傳感器圖3 ah44e 霍爾傳感器電路開(kāi)關(guān)型霍爾傳感器(簡(jiǎn)稱霍爾開(kāi)關(guān))是一種新型的集成電路無(wú)觸點(diǎn)開(kāi)關(guān),其外形尺寸和內(nèi)部結(jié)構(gòu)如圖25所示。其中a是恒壓源;b是霍爾電勢(shì)發(fā)生器(霍爾片);c是差分放大器;d是施密特觸發(fā)器;e是集電極開(kāi)路(oc門(mén))輸出。圖中1、2、3表示霍爾開(kāi)關(guān)的三個(gè)引出端,分別為電源u+,接地gnd和輸出out。其工作原理為:在(1)、(2)端輸入電壓uc,經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍爾片的兩端。由霍爾效應(yīng)原理知:當(dāng)霍爾片處在磁場(chǎng)中時(shí),霍爾電勢(shì)發(fā)生器就會(huì)有一個(gè)霍爾

12、電壓uh輸出,該uh經(jīng)放大器放大后,送至施密特觸發(fā)器整形,當(dāng)施加的磁場(chǎng)達(dá)到該器件的工作點(diǎn)時(shí),施密特電路翻轉(zhuǎn),使oc門(mén)開(kāi)關(guān)。表一、ah44e開(kāi)關(guān)型霍爾集成元件主要參數(shù):型號(hào)電源電壓vcc(v)動(dòng)作磁場(chǎng)b(mt)內(nèi)部電流icc(ma)輸出電流iout(ma)輸出形式工作溫區(qū)44e4.52445920單oc門(mén)4085簡(jiǎn)要說(shuō)明: 用于無(wú)觸點(diǎn)開(kāi)關(guān),汽車點(diǎn)火器,剎車電路,位置,轉(zhuǎn)速檢測(cè)與控制報(bào)警裝置,紡織控制系統(tǒng) 電壓范圍:4.5-24v 耐溫范圍: ah44e -40-85度 ah44l -40-150度特點(diǎn):結(jié)構(gòu)簡(jiǎn)單,塑料外殼,體積小,需要一個(gè)小磁鐵配合使用;開(kāi)關(guān)型元件,集電極開(kāi)路輸出; 

13、無(wú)觸點(diǎn),壽命長(zhǎng);  開(kāi)關(guān)速度快,工作頻帶寬(dc100khz);2.2.3 1602lcd液晶顯示屏在單片機(jī)系統(tǒng)中應(yīng)用液晶顯示器作為輸出器件有以下幾個(gè)優(yōu)點(diǎn):一、顯示質(zhì)量高,由于液晶顯示器每一個(gè)點(diǎn)在收到信號(hào)后就一直保持那種色彩和亮度,恒定發(fā)光,而不像陰極射線管顯示器(crt)那樣需要不斷刷新新亮點(diǎn)。因此,液晶顯示器畫(huà)質(zhì)高且不會(huì)閃爍。二、數(shù)字式接口,液晶顯示器都是數(shù)字式的,和單片機(jī)系統(tǒng)的接口更加簡(jiǎn)單可靠,操作更加方便。三、體積小、重量輕,液晶顯示器通過(guò)顯示屏上的電極控制液晶分子狀態(tài)來(lái)達(dá)到顯示的目的,在重量上比相同顯示面積的傳統(tǒng)顯示器要輕得多。四、功耗低,相對(duì)而言,液晶顯示器的功耗主要消耗

14、在其內(nèi)部的電極和驅(qū)動(dòng)ic上,因而耗電量比其它顯示器要少得多。本系統(tǒng)選用的字符型lcd是一種專門(mén)用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式lcd,目前常用16*1,16*2,20*2和40*2行等的模塊。本次設(shè)計(jì)選用的是長(zhǎng)沙太陽(yáng)人電子有限公司的1602字符型液晶顯示器。一般1602字符型液晶顯示器實(shí)物如圖3-1: 圖4 1602字符型液晶顯示器實(shí)物圖2.2.4 水流計(jì)水流計(jì)采用透明狀的的小型直管水流計(jì)為一。內(nèi)部尺寸規(guī)格為 ,根據(jù)圓柱體積計(jì)算公式和物體重量計(jì)算公式得葉輪轉(zhuǎn)一圈流過(guò)的水量約為12g.圖 5 水流計(jì)實(shí)物圖3 硬件設(shè)計(jì)3.1 設(shè)計(jì)方案按鍵電路晶振電路復(fù)位電路采集電路電源電路at89s51驅(qū)動(dòng)電路l

15、ed顯示電路報(bào)警電路 圖6 設(shè)計(jì)總體圖3.2電路圖的設(shè)計(jì)單片機(jī)是整個(gè)系統(tǒng)的控制中樞,它指揮外圍器件協(xié)調(diào)工作,從而完成特定的功能。硬件實(shí)現(xiàn)上采用模塊化設(shè)計(jì),每一模塊只實(shí)現(xiàn)一個(gè)特定功能,最后再將各個(gè)模塊搭接在一起。這種設(shè)計(jì)方法可以降低系統(tǒng)設(shè)計(jì)的復(fù)雜性。系統(tǒng)電路原理圖如圖3-2所示。本系統(tǒng)主要硬件設(shè)計(jì)包括電源電路、蜂鳴器電路、晶振電路、復(fù)位電路、lcd顯示電路、矩陣鍵盤(pán)電路以及霍爾元件傳感器電路。12mzh30pf30pf10ufs?sw-pb10krstvcc123»ô¶ûÔª¼þvcc1k12345678910111

16、213141516lcd1602gndvccv0rsr/wed0d1d2d3d4d5d6d7blablkvcc10kvccd0d1d2d3d4d5d6d7p3.7p3.6vccp3.5p3.4vccp0.7p0.0p0.1p0.2p0.3p0.4p0.5p0.6p2.7p1.0p1.1p1.2p1.3p1.4p1.5p1.6p3.0/rxdp3.1/txdrstp3.7/rdp3.2/int0p3.3/int1p3.4/t0gndxtal1xtal2p2.0p2.1p2.2p2.3p2.4p2.5p2.6p2.7ea/vppale/progpsenp3.6/wrp3.5/t1at89s51we

17、ladublevccvcc12345678j301234567123j5123j51k12345678j41k1kvccredyellowgreen10kvcc圖7 電路原理圖3.2.1信號(hào)采集電路圖8 信號(hào)采集電路(1)、(2)、(3)代表集成霍耳傳感器的三個(gè)引出端點(diǎn)。在輸入端輸入電壓vcc,經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍耳電勢(shì)發(fā)生器的兩端,根據(jù)霍耳效應(yīng)原理,當(dāng)霍耳片處在磁場(chǎng)中時(shí),在垂直于磁場(chǎng)的方向通以電流,則與這二者相垂直的方向上將會(huì)產(chǎn)生霍耳電勢(shì)差h v 輸出,該h v信號(hào)經(jīng)放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸送到oc門(mén)輸出。當(dāng)施加的磁場(chǎng)達(dá)到工作點(diǎn)(即bop)時(shí),觸發(fā)器輸出高電壓(相對(duì)于

18、地電位),使三極管導(dǎo)通,此時(shí)oc門(mén)輸出端輸出低電壓,通常稱這種狀態(tài)為開(kāi)。當(dāng)施加的磁場(chǎng)達(dá)到釋放點(diǎn)(即brp)時(shí),觸發(fā)器輸出低電壓,三極管截止,使oc門(mén)輸出高電壓,這種狀態(tài)為關(guān)。這樣兩次電壓變換,霍耳元件完成了一次開(kāi)關(guān)動(dòng)作。使開(kāi)關(guān)輸出穩(wěn)定可靠,這也就是集電成霍耳傳感器優(yōu)良特性之一。3.2.2數(shù)據(jù)顯示電路圖9液晶屏顯示電路滑動(dòng)變阻器用以調(diào)節(jié)背光燈與字符顯示度的對(duì)比度,讀寫(xiě)選擇端接地,設(shè)置成寫(xiě)狀態(tài)。采集的數(shù)據(jù)經(jīng)過(guò)單片機(jī)處理后,通過(guò)p2口將所得到的數(shù)據(jù)顯示在液晶屏上。使用戶能夠即使知道用水量的信息。3.2.3復(fù)位電路圖10 復(fù)位電路復(fù)位是單片機(jī)的初始化操作,其主要功能是pc初始化為0000h,是單片機(jī)從

19、0000h單元開(kāi)始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行錯(cuò)誤獲操作錯(cuò)誤使系統(tǒng)處在死鎖狀態(tài),為了擺脫困境,也需按復(fù)位鍵以重新啟動(dòng)。我采用按鍵復(fù)位電路,按鍵電平復(fù)位是通過(guò)使復(fù)位端經(jīng)電阻與vcc電源接通而實(shí)現(xiàn)的3.2.4 報(bào)警燈電路圖11 報(bào)警燈電路 p0口外接上拉電阻,以便更好的驅(qū)動(dòng)p0口的電路,報(bào)警燈由黃色和紅色二極管組成,黃色二極管亮起表示第一個(gè)設(shè)定的用水量已經(jīng)達(dá)到,紅色二極管亮起表示第二個(gè)設(shè)定的用水量已經(jīng)達(dá)到,再次提醒用戶節(jié)約用水。報(bào)警器采用蜂鳴器進(jìn)行報(bào)警,報(bào)警器可以更好的提醒用戶及時(shí)知道用水量超標(biāo)的情況。4 軟件設(shè)計(jì)4.1主流程框圖主程序流程圖如圖2,所示。主程序包括六個(gè)判

20、斷。第一次判斷在設(shè)定完報(bào)警值后,判斷按鍵k1是否按下,是則進(jìn)入檢測(cè)流水量階段,否則繼續(xù)判斷;第二次判斷是在進(jìn)入流水計(jì)數(shù)狀態(tài)時(shí),檢測(cè)第一個(gè)報(bào)警值是否大于水流量的值,是則進(jìn)入第一次報(bào)警狀態(tài),此時(shí)報(bào)警燈黃燈亮,提醒用戶節(jié)水,否則繼續(xù)判斷;第三個(gè)判斷是檢測(cè)按鍵k2是否按下,是則停止報(bào)警,否則繼續(xù)報(bào)警;第四次判斷是檢測(cè)第二個(gè)報(bào)警值是否大于水流量的值,是就進(jìn)入第二次報(bào)警,否則繼續(xù)報(bào)警;第五次判斷是檢測(cè)按鍵k2是否按下,是則停止報(bào)警,否則繼續(xù)報(bào)警;第六次判斷是檢測(cè)是否進(jìn)入下個(gè)月,是則重新開(kāi)始計(jì)數(shù)。第二次報(bào)警開(kāi)始按鍵設(shè)報(bào)警值a1和報(bào)警值a2k1按下?顯示水流量yn系統(tǒng)初始化第一次報(bào)警水流量>a1?按鍵k

21、2按下?按?下?ynny繼續(xù)顯示按鍵1按下?y水流量>a2?按?下?ynn下個(gè)月到?ny停止報(bào)警停止報(bào)警圖12 主程序流程圖框圖 4.2按鍵掃描子程序框圖按鍵掃描程序是有四個(gè)功能和動(dòng)作相同的步驟組成。整個(gè)程序順序掃描p1.0p1.3口,掃描每個(gè)口,先判斷是否有按鍵按下,有則對(duì)按鍵消抖,然后根據(jù)當(dāng)前狀態(tài)識(shí)別按鍵,進(jìn)而繼續(xù)讀取下一個(gè);否則直接讀取下一個(gè)。p1=feh跟據(jù)當(dāng)前狀態(tài)識(shí)別按鍵有鍵按下?延時(shí)10ms真的有鍵按下?p1=fdh有鍵按下?延時(shí)10ms真的有鍵按下?跟據(jù)當(dāng)前狀態(tài)識(shí)別按鍵p1=fbh有鍵按下?延時(shí)10ms真的有鍵按下?p1=f7h有鍵按下?延時(shí)10ms真的有鍵按下?跟據(jù)當(dāng)前狀

22、態(tài)識(shí)別按鍵跟據(jù)當(dāng)前狀態(tài)識(shí)別按鍵圖13 按鍵掃描子程序框圖4.3 流水量計(jì)數(shù)程序框圖流水量計(jì)數(shù)時(shí),先對(duì)計(jì)數(shù)量進(jìn)行初始化,利用外部中斷進(jìn)行加一設(shè)置。當(dāng)葉輪上的磁鐵接近霍爾元件時(shí),霍爾元件輸出一個(gè)脈沖,中斷0口每來(lái)一個(gè)低電平,每中斷一次,計(jì)數(shù)值每加一次,將流水計(jì)的容乘以計(jì)數(shù)量就得到了水流量。開(kāi)始計(jì)數(shù)變量num初始化水流量 n初始化num自加1有外部中斷?ny返回n=num x 12圖14 流水量計(jì)數(shù)程序框圖4.4報(bào)警子程序框圖p0.0控制黃燈亮滅,用來(lái)發(fā)出第一次提醒,p0.1控制紅燈亮滅,用來(lái)發(fā)出第二次提醒,p0.5用來(lái)控制蜂鳴器的工作。進(jìn)入流水計(jì)數(shù)狀態(tài)時(shí),首先檢測(cè)第一個(gè)報(bào)警值是否大于水流量的值,是

23、則進(jìn)入第一次報(bào)警狀態(tài),此時(shí)報(bào)警燈黃燈亮,提醒用戶節(jié)水,否則繼續(xù)判斷;再次,檢測(cè)第二個(gè)報(bào)警值是否大于水流量的值,是就進(jìn)入第二次報(bào)警,否則繼續(xù)報(bào)警。 直到有按鍵按下就解除報(bào)警狀態(tài)!y綠燈亮,黃燈和紅燈滅,蜂鳴器不響水流量>a1?n黃燈燈亮,蜂鳴器響紅燈燈亮,蜂鳴器響水流量>a1? 圖15 報(bào)警子程序框圖5 系統(tǒng)調(diào)試設(shè)計(jì)好電路原理圖后,按照原理圖,根據(jù)電子元件認(rèn)真焊接好電路,保證電路的穩(wěn)定性,焊接好電路圖后用電流表檢測(cè)好電路的正確性,防止電路的短路現(xiàn)象的發(fā)生。利用wv仿真器進(jìn)行軟件仿真和硬件仿真。根據(jù)硬件電路的設(shè)計(jì),編譯好相應(yīng)的匯編程序,先利用wv軟件進(jìn)行軟件調(diào)試,確保程序大體正確。然后

24、利用wv仿真器進(jìn)行硬件仿真調(diào)試,并按順序檢查錯(cuò)誤進(jìn)行修改,盡快完成系統(tǒng)的調(diào)試。最終將程序的hex文件燒錄進(jìn)入單片機(jī)進(jìn)行實(shí)測(cè)。在調(diào)試過(guò)程中出現(xiàn)的主要問(wèn)題分析:一) 發(fā)現(xiàn)電路的穩(wěn)定性不好。原因分析:在多次檢查電路后,發(fā)現(xiàn)為了 達(dá)到較好的穩(wěn)定性,我們應(yīng)該防止漏焊,而且盡可能的少用焊錫絲作為導(dǎo)線。二) p0口不能很好得驅(qū)動(dòng)顯示電路或報(bào)警電路部分。原因分析:由于p0口輸出電流比較小,用上拉電阻提供電流分量,可以把電平“拉高”。三) 排線用的多會(huì)之間影響電路接觸問(wèn)題,因此盡可能避免外接排線的使用。四)液晶屏?xí)霈F(xiàn)亂碼。原因分析:在程序中沒(méi)有將數(shù)據(jù)指針確定好,同時(shí)沒(méi)有控制好液晶屏的時(shí)序問(wèn)題。經(jīng)過(guò)認(rèn)真的調(diào)試分

25、析,最終完成了數(shù)顯節(jié)水型水表的制作,達(dá)到了一開(kāi)始設(shè)計(jì)的效果。6總結(jié)回顧此次單片機(jī)培訓(xùn)論文設(shè)計(jì)從理論到實(shí)踐,不僅鞏固了以前所學(xué)的知識(shí),而且學(xué)到了很多書(shū)本上學(xué)不到的東西。通過(guò)論文設(shè)計(jì)使我懂得了理論與實(shí)踐相結(jié)合非常重要,光有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,從理論和實(shí)踐中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。當(dāng)看到lcd顯示屏上顯示出事先設(shè)定的字符時(shí),內(nèi)心的喜悅真的是無(wú)法形容,辛苦了這么長(zhǎng)時(shí)間總算沒(méi)有白費(fèi)。不過(guò)在完成此次單片機(jī)論文設(shè)計(jì)后,我們發(fā)現(xiàn)我還有許多不足,所學(xué)到的知識(shí)還遠(yuǎn)遠(yuǎn)不夠,以至于還有一些功能不能順利完成。但通過(guò)學(xué)習(xí)這一次實(shí)踐,增強(qiáng)了我們的動(dòng)手能力,提高和鞏固了單片

26、機(jī)方面的知識(shí),特別是軟件方面。從中我認(rèn)識(shí)到把理論應(yīng)用到實(shí)踐中去是多么重要。致謝論文設(shè)計(jì)過(guò)程中需要特別感謝的是我的指導(dǎo)老師,賀新民老師和王玉芝老師,沒(méi)有他們的指導(dǎo)和幫助我不可能如此順利的完成本次設(shè)計(jì)。實(shí)驗(yàn)室實(shí)驗(yàn)設(shè)備非常齊全,室內(nèi)環(huán)境良好,有專業(yè)的教師輔導(dǎo)監(jiān)督我們的論文設(shè)計(jì)。焊接電路板時(shí)老師耐心講解和示范,寫(xiě)論文時(shí)老師細(xì)心指導(dǎo)和更正,調(diào)試電路時(shí)老師仔細(xì)檢查并修改錯(cuò)誤。我們不僅感受到實(shí)驗(yàn)時(shí)良好的學(xué)術(shù)氛圍,還感受到老師們淵博的學(xué)識(shí)和平易近人的學(xué)者風(fēng)范。附錄:附錄一:1602lcd簡(jiǎn)介引腳功能說(shuō)明1602lcd采用標(biāo)準(zhǔn)的14腳(無(wú)背光)或16腳(帶背光)接口,各引腳接口說(shuō)明如表3-1所示:表1:引腳接口

27、說(shuō)明表編號(hào)符號(hào)引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明1vss電源地9d2數(shù)據(jù)2vdd電源正極10d3數(shù)據(jù)3vl液晶顯示偏壓11d4數(shù)據(jù)4rs數(shù)據(jù)/命令選擇12d5數(shù)據(jù)5r/w讀/寫(xiě)選擇13d6數(shù)據(jù)6e使能信號(hào)14d7數(shù)據(jù)7d0數(shù)據(jù)15bla背光源正極8d1數(shù)據(jù)16blk背光源負(fù)極第1腳:vss為地電源。第2腳:vdd接5v正電源。第3腳:vl為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10k的電位器調(diào)整對(duì)比度。第4腳:rs為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳:r/w為讀寫(xiě)信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)

28、行寫(xiě)操作。當(dāng)rs和r/w共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址,當(dāng)rs為低電平r/w為高電平時(shí)可以讀忙信號(hào),當(dāng)rs為高電平r/w為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。第6腳:e端為使能端,當(dāng)e端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第714腳:d0d7為8位雙向數(shù)據(jù)線。第15腳:背光源正極。第16腳:背光源負(fù)極。表2:控制命令表序號(hào)指令rsr/wd7d6d5d4d3d2d1d01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001i/ds4顯示開(kāi)/關(guān)控制0000001dcb5光標(biāo)或字符移位000001s/cr/l*6置功能00001dlnf*7置字符發(fā)生存貯器地址0001

29、字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01bf計(jì)數(shù)器地址10寫(xiě)數(shù)到cgram或ddram)10要寫(xiě)的數(shù)據(jù)內(nèi)容11從cgram或ddram讀數(shù)11讀出的數(shù)據(jù)內(nèi)容1602液晶模塊的讀寫(xiě)操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。(說(shuō)明:1為高電平、0為低電平)指令1:清顯示,指令碼01h,光標(biāo)復(fù)位到地址00h位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00h。指令3:光標(biāo)和顯示模式設(shè)置 i/d:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 s:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無(wú)效。指令4:顯示開(kāi)關(guān)控制。 d:控制整體顯示的開(kāi)與關(guān),高電平表示開(kāi)顯示

30、,低電平表示關(guān)顯示 c:控制光標(biāo)的開(kāi)與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo) b:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標(biāo)或顯示移位 s/c:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。指令6:功能設(shè)置命令 dl:高電平時(shí)為4位總線,低電平時(shí)為8位總線 n:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 f: 低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。指令7:字符發(fā)生器ram地址設(shè)置。指令8:ddram地址設(shè)置。指令9:讀忙信號(hào)和光標(biāo)地址 bf:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫(xiě)數(shù)據(jù)。指令11:讀數(shù)據(jù)。1602lc

31、d的ram地址映射及標(biāo)準(zhǔn)字庫(kù)表液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,圖3-5是1602的內(nèi)部顯示地址。圖3-5 1602lcd內(nèi)部顯示地址例如第二行第一個(gè)字符的地址是40h,那么是否直接寫(xiě)入40h就可以將光標(biāo)定位在第二行第一個(gè)字符的位置呢?這樣不行,因?yàn)閷?xiě)入顯示地址時(shí)要求最高位d7恒定為高電平1所以實(shí)際寫(xiě)入的數(shù)據(jù)應(yīng)該是01000000b(40h)+10000000b(80h)=11000000b(c0h)。在對(duì)液晶模塊的初始化中要先設(shè)置其顯示模式,在液晶模塊顯示

32、字符時(shí)光標(biāo)是自動(dòng)右移的,無(wú)需人工干預(yù)。每次輸入指令前都要判斷液晶模塊是否處于忙的狀態(tài)。1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(cgrom)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫(xiě)、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫(xiě)的英文字母“a”的代碼是01000001b(41h),顯示時(shí)模塊把地址41h中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到字母“a”。其中字符代碼與字符圖形對(duì)應(yīng)關(guān)系如圖3-6所示: 1602lcd的一般初始化(復(fù)位)過(guò)程延時(shí)15ms寫(xiě)指令38h(不檢測(cè)忙信號(hào))延時(shí)5ms寫(xiě)指令38h(不檢測(cè)忙信號(hào))延時(shí)5ms寫(xiě)指令38

33、h(不檢測(cè)忙信號(hào))以后每次寫(xiě)指令、讀/寫(xiě)數(shù)據(jù)操作均需要檢測(cè)忙信號(hào)寫(xiě)指令38h:顯示模式設(shè)置寫(xiě)指令08h:顯示關(guān)閉寫(xiě)指令01h:顯示清屏寫(xiě)指令06h:顯示光標(biāo)移動(dòng)設(shè)置寫(xiě)指令0ch:顯示開(kāi)及光標(biāo)設(shè)置液晶顯示模塊的設(shè)計(jì)本設(shè)計(jì)液晶顯示模塊的設(shè)計(jì)如下圖3-7所示,該電路實(shí)現(xiàn)的功能是:通過(guò)at89s51的p00p07八個(gè)口輸出控制信號(hào),控制液晶的8位雙向數(shù)據(jù)線,通過(guò)單片機(jī)的p24、p25、p26向液晶模塊發(fā)送命令,控制液晶執(zhí)行各種命令,其中p24控制液晶的使能端,當(dāng)e端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令,p25控制液晶模塊的讀寫(xiě),高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng)p25和p26共同為低電平時(shí)

34、可以寫(xiě)入指令或者顯示地址,當(dāng)p26為低電平p25為高電平時(shí)可以讀忙信號(hào),當(dāng)p26為高電平p25為低電平時(shí)可以寫(xiě)入數(shù)據(jù),p26控制寄存器的選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。液晶部分引腳說(shuō)明:第1腳:vss為地電源第2腳:vdd接5v正電源第3腳:v0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10k的電位器調(diào)整對(duì)比度第15腳:背光源正極第16腳:背光源負(fù)極附錄二:霍爾元件簡(jiǎn)介及應(yīng)用霍爾元件之作用原理也就是霍爾元件,所謂霍耳效應(yīng)如圖1所示,系指將電流i 通至一物質(zhì),并對(duì)與電流成正角之方向施加磁場(chǎng)b 時(shí),在電

35、流與磁場(chǎng)兩者之直角方向所產(chǎn)生的電位差v 之現(xiàn)象。此電壓是在下列情況下所產(chǎn)生的,有磁場(chǎng)b 時(shí),由于弗萊銘(fleming)左手定則,使洛仁子力(即可使流過(guò)物質(zhì)中之電子或正孔向箭頭符號(hào)所示之方向彎曲的力量:(lorentz force)發(fā)生作用,而將電子或正孔擠向固定輸出端子之一面時(shí)所產(chǎn)生。電位差v 之大小通常決定于洛仁子力與藉所發(fā)生之電位差而將電子或正孔推回之力(亦即前者之力等于后者之力),而且與電流i 乘以磁場(chǎng)b 之積成比例。比例常數(shù)為決定于物質(zhì)之霍耳常數(shù)除以物質(zhì)在磁場(chǎng)方向之厚度所得之值。         

36、;            圖1 霍爾組件之原理在平板半導(dǎo)體介質(zhì)中,電子移動(dòng)(有電場(chǎng))的方向,將因磁的作用(有磁場(chǎng)) ,而改變電子進(jìn)的方向。電場(chǎng)與磁場(chǎng)互相垂直時(shí),其傳導(dǎo)的載子(電子或電) ,將集中于平板的上下兩邊,因而形成電位差存在的現(xiàn)象。該電位差即霍爾電壓(霍爾電壓) 在實(shí)際的霍爾組件中,一般使用物質(zhì)中之電流載子為電子的n 型半導(dǎo)體材料。將一定之輸入施加至霍爾組件時(shí)之輸出電壓,利用上述之關(guān)系予以分析時(shí),可以獲致下列的結(jié)論:(1) 材料性質(zhì)與霍爾系數(shù)乘以電子移動(dòng)度之積之平方根成正比。(2

37、) 材料之形狀與厚度之平方根之倒數(shù)成正比。由于上述關(guān)系,實(shí)際的霍爾組件中,可將霍爾系數(shù)及電子移動(dòng)度大的材料加工成薄的十字形予以制成。圖2系表示35 端子之霍爾組件的使用方法,在三端子霍爾元件之輸出可以產(chǎn)生輸入端子電壓之大致一半與輸出信號(hào)電壓之和的電壓,而在四端子及五端子霍爾組件中,在原理上雖然可以免除輸入端子電壓的影響,但實(shí)際上即使在無(wú)磁場(chǎng)時(shí),也有起因于組件形狀之不平衡等因素之不平衡電壓存在。(a)3腳組件        (b)4腳組件       (c)5腳組件&

38、#160;                   圖2 霍爾組件使用方法種類及接法:構(gòu)造:無(wú)鐵心型,鐵心型,測(cè)試用探針霍爾集成電路 接法:三端子組件,四端子組件,五端子組件用途:霍爾組件有下列三種用法:(a) 事先使一定電流流過(guò)霍爾組件,用以檢出磁場(chǎng)或變換成磁場(chǎng)的其它物理量的方法。(b) 利用組件的電流、磁場(chǎng)及作為其變量的該兩種量的乘法作用的方法。(c) 利用非相反性(即在一定磁場(chǎng)中,使與輸入端子通以電流時(shí)所

39、得的輸出同方向的電流流過(guò)輸出端子時(shí),在輸入端子會(huì)產(chǎn)生與最初的電壓反方向的霍爾電壓的現(xiàn)象)的方法。上述各種使用方法的具體例參照前述磁電變換組件的用途的項(xiàng)所述。在這些具體例中,有不少在組件的靈敏度及溫度特性上,霍爾組件形成1 匝(turn)的線圈有妨礙而難以符合實(shí)用。但利用霍爾探針測(cè)定磁場(chǎng)因?qū)儆诒容^簡(jiǎn)便的用法,已經(jīng)定型,另外例如無(wú)電刷馬達(dá)(霍爾馬達(dá))開(kāi)關(guān)等也逐漸進(jìn)入實(shí)用的階段,磁頭的制造也有人嘗試過(guò)?;魻栐╇?#160;              

40、0;        圖3 定電壓驅(qū)動(dòng)之一                           圖4  定電壓驅(qū)動(dòng)之二      圖5 定電流驅(qū)動(dòng)之一圖6 定電流驅(qū)動(dòng)之二   圖7 霍爾傳感器

41、不平衡調(diào)整方法在一個(gè)結(jié)晶片中形成有霍爾組件及放大并控制其輸出電壓的電路而具有磁場(chǎng) 電氣變換機(jī)能的固態(tài)組件稱為霍爾集成電路。外觀構(gòu)造如圖2-19 所示,具有與樹(shù)脂封閉型晶體管、集成電路等相同的構(gòu)造,即多半呈現(xiàn)在大小5mm 見(jiàn)方、厚3mm 以下的角形或長(zhǎng)方形板狀組件上附設(shè)四根導(dǎo)線的構(gòu)造。導(dǎo)線系由金屬薄片所形成,各個(gè)金屬薄片上均附有半導(dǎo)體結(jié)晶片(通常為硅芯片),而在結(jié)晶體中利用集成電路技術(shù)形成有霍爾組件及信號(hào)處理電路。為防止整個(gè)組件性能的劣化,通常利用樹(shù)脂加以封閉,另外為了使磁場(chǎng)的施加容易起見(jiàn),其厚度也盡量減薄。圖8 霍爾集成電路的構(gòu)造作用原理磁場(chǎng)強(qiáng)度可利用形成在結(jié)晶片的一部份的霍爾組件變換成電氣信

42、號(hào)(參照前述霍爾組件的作用原理)。結(jié)晶通常使用半導(dǎo)體硅,霍爾組件的磁場(chǎng)靈敏度為1020mv/k.oe。此信號(hào)經(jīng)形成在同一結(jié)晶中的信號(hào)處理電路放大后,作為適合所定目的的信號(hào)電壓被取出。通常四根導(dǎo)線中的兩根連接于一方接地的電源,而從剩下的兩根的一根取出正極性的信號(hào)電壓,并從另一根取出負(fù)極性的信號(hào)電壓?;魻柦M件的輸入電阻通常需符合信號(hào)處理電路的電源,以便可利用定電壓使用霍爾組件。此時(shí)組件的輸出電壓不管在n 型或p 型均無(wú)大差異。又因輸出電壓與電子或正孔的移動(dòng)度成正比,故溫度特性也應(yīng)該盡量保持一定,這是與單體霍爾組件不同的地方。種類:依輸出信號(hào)的性質(zhì)加以分類時(shí)如表1所示。如圖9所示,線性型(linea

43、r type)霍爾集成電路可以獲得與磁場(chǎng)強(qiáng)度成正比的輸出電壓。磁場(chǎng)靈敏度雖然可利用電路的放大度加以調(diào)節(jié),但在高靈敏度時(shí),比例范圍會(huì)變窄(雖電源5v 使靈敏度達(dá)到10mv/oe,但比例范圍在500oe以下)。表1 依輸出電壓分類時(shí)的種類                 (a)線性型             &#

44、160;   (b)   圖9 霍爾集成電路的輸出特性開(kāi)關(guān)型霍爾集成電路可在一定范圍的磁場(chǎng)中獲得on-off的電壓,此開(kāi)關(guān)型對(duì)磁場(chǎng)的磁滯(hysteresis)現(xiàn)象,乃是為使開(kāi)關(guān)動(dòng)作更為霍爾集成路線性型確實(shí)起見(jiàn)而故意如此設(shè)計(jì)的。 依照制造方法加以分類時(shí)如表2 所示,但任何一種制造方法雖然均可獲得同樣的特性,在現(xiàn)階段中,雙極性型霍爾集成電路已開(kāi)始進(jìn)入商品化的階段。表2依制造方法分類時(shí)的種類用途霍爾集成電路通常使用于前述磁電變換組件的項(xiàng)所述的(a-1)、(a-2)范圍的用途,在這些用途的中,特別像開(kāi)關(guān)那樣,以磁氣為媒介將位置的變化、速度、回轉(zhuǎn)等的物理量變換為

45、電氣量時(shí),使用起來(lái)非常簡(jiǎn)單。使用霍爾集成電路的開(kāi)關(guān)系如圖2-21 所示,這種開(kāi)關(guān)具有:(1)無(wú)震動(dòng)(chattering),(2)不生雜音,(3)使用壽命長(zhǎng),可靠度高,(4)響應(yīng)速度快等特征,已經(jīng)實(shí)際被使用作為高級(jí)的鍵盤(pán)用開(kāi)關(guān)。                   圖10 使用霍爾集成電路的開(kāi)關(guān)圖11是a44e集成霍耳開(kāi)關(guān),a44e集成霍耳開(kāi)關(guān)由穩(wěn)壓器a、霍耳電勢(shì)發(fā)生器(即硅霍耳片)(mt)、差分放大器c、施密特觸發(fā)

46、器d和oc門(mén)輸出e 五個(gè)基本部分組成,如圖12(a)所示。(1)、(2)、(3)代表集成霍耳開(kāi)關(guān)的三個(gè)引出端點(diǎn)。在輸入端輸入電壓vcc,經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍耳電勢(shì)發(fā)生器的兩端,根據(jù)霍耳效應(yīng)原理,當(dāng)霍耳片處在磁場(chǎng)中時(shí),在垂直于磁場(chǎng)的方向通以電流,則與這二者相垂直的方向上將會(huì)產(chǎn)生霍耳電勢(shì)差h v 輸出,該h v信號(hào)經(jīng)放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸送到oc門(mén)輸出。當(dāng)施加的磁場(chǎng)達(dá)到工作點(diǎn)(即bop)時(shí),觸發(fā)器輸出高電壓(相對(duì)于地電位),使三極管導(dǎo)通,此時(shí)oc門(mén)輸出端輸出低電壓,通常稱這種狀態(tài)為開(kāi)。當(dāng)施加的磁場(chǎng)達(dá)到釋放點(diǎn)(即brp)時(shí),觸發(fā)器輸出低電壓,三極管截止,使oc門(mén)輸出高電壓,

47、這種狀態(tài)為關(guān)。這樣兩次電壓變換,使霍耳開(kāi)關(guān)完成了一次開(kāi)關(guān)動(dòng)作。bop與brp  的差值一定,此差值bh = bop - brp稱為磁滯,在此差值內(nèi),v 0保持不變,因而使開(kāi)關(guān)輸出穩(wěn)定可靠,這也就是集電成霍耳開(kāi)關(guān)傳感器優(yōu)良特性之一。          圖11 a44e集成開(kāi)關(guān)型霍耳傳感器原理圖     圖12 a44e集成開(kāi)關(guān)型霍耳傳感器引腳圖         

48、0;                                     霍爾元件外觀圖片附錄三:按鍵掃描子程序proc    keychkkeyname    &#

49、160;    data    40h    按鍵名稱存儲(chǔ)單元;keyrtime        data    43h             ;重復(fù)按鍵時(shí)間間隔signal         

50、; data    50h             ;提示信號(hào)時(shí)間存儲(chǔ)單元key             equ     p3              ;鍵盤(pán)

51、接口(必須完整i/o口)keypl           equ     p0.6            ;指示燈接口rtime           equ     30   

52、60;          ;重復(fù)按鍵輸入等待時(shí)間keychk:/=按鍵檢測(cè)程序=mov     key,#0fh                ;送掃描信號(hào)mov     a,key        &

53、#160;          ;讀按鍵狀態(tài)cjne    a,#0fh,next1            ;acc<=0fhclr     c            acc等于0fh,則cy為0,無(wú)須置0

54、next1:   setb    c   acc不等于0fh,則acc必小于0fh.;cy為1,無(wú)須置1mov     a,keynameanl     keyname,#1fh            ;按鍵名稱屏蔽高三位rrc     a    &

55、#160;  ;acc帶cy右移一位,紀(jì)錄當(dāng)前按鍵狀態(tài)anl     a,#0e0h                 ;屏蔽低五位orl     keyname,a               ;保留按鍵狀態(tài);

56、/=判別按鍵狀態(tài),決定是否執(zhí)行按鍵掃描=cjne    a,#0c0h,next2   ;110按鍵穩(wěn)定閉合,調(diào)用按鍵檢測(cè)子程序sjmp    keyscannext2:cjne    a,#0e0h,next3    ;111按鍵長(zhǎng)閉合,重復(fù)輸入允許判斷sjmp    wait   next3:cjne    a,#0a0h,exit  

57、0;   ;101干擾,當(dāng)111長(zhǎng)閉合處理orl     keyname,#0e0hwait:mov     a,keyrtimejnz     exit                    ;時(shí)間沒(méi)到,退出;/=鍵盤(pán)掃描程序=keyscan:mov 

58、60;   r1,#0                   ;初始化列地址mov     r3,#11110111b           ;初始化掃描碼loop:mov     a,r3rl  

59、60;   amov     r3,a                    ;保留掃描碼  mov     key,a               

60、    ;送掃描碼mov     a,key                   ;讀鍵盤(pán)orl     a,#0f0h                

61、; ;屏蔽高四位cjne    a,#0ffh,next31   a不等于ffh,說(shuō)明該列有按鍵動(dòng)作inc     r1     ;列地址加1,準(zhǔn)備掃描下一列cjne    r1,#4,loop       列地址不等于4,掃描下一列sjmp    exit      ;沒(méi)有按鍵

62、,退出;/=按鍵判斷對(duì)應(yīng)位等于零,說(shuō)明該行有按鍵按下=next31:jb      acc.0,next32mov     r2,#0                   ;第0行有按鍵sjmp    next5next32:jb      acc.

63、1,next33mov     r2,#1                   ;第1行有按鍵sjmp    next5next33:jb      acc.2,next34mov     r2,#2     

64、              ;第2行有按鍵sjmp    next5next34:mov     r2,#3                   ;第3行有按鍵next5:    

65、                              ;計(jì)算按鍵地址mov     a,r1rl      arl      a   

66、       ;列地址乘4(每列對(duì)應(yīng)4行)add     a,r2                    ;加行地址mov     dptr,#keytabmovc    a,a+dptranl     keyname,#0e0horl     keyname,a    ;送按鍵(送值的時(shí)候已經(jīng)置按鍵有效)mov     keyrtime,#rtime

溫馨提示

  • 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)論