版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、題目名稱:乒乓球升降高度自動(dòng)控制裝置(G題) 摘 要本裝置由兩部分組成,即乒乓球升降高度設(shè)置和顯示單元A、乒乓球升降高度控制單元B。A與B之間采用雙向無線通訊方式收發(fā)控制信息,在單元A上能設(shè)定乒乓球升降高度、停留時(shí)間、動(dòng)作次序等,并能夠?qū)崟r(shí)顯示乒乓球高度及其誤差信息以及動(dòng)作狀態(tài)等;單元B可以接收單元A的信息,通過超聲波測(cè)距模塊乒乓球的升降,并將乒乓球的動(dòng)作信息通過無線傳輸技術(shù)反饋給A,使信息可以在單元A中顯示,乒乓球在升降控制過程中不需要進(jìn)行任何的人工干預(yù)。AbstractThis device consists of two parts,That table tennis lifting h
2、eight setting and display unit A、Table tennis lifting height control unit B.Between A and B by two-way wireless communication mode and control information,In the unit on A can set up table tennis lifting height、residence time、residence time、Action sequence, etc,And the ability to real-time display t
3、able tennis height and the error information and motion state, etc;Unit B can receive A unit of information,Through the ultrasonic ranging module table tennis lifting,And the table tennis movement information through the wireless transmission technology feedback to A,Make information can be shown in
4、 A unit,Table tennis in the elevator control process do not need to undertake any manual intervention.關(guān)鍵詞:雙向無線通信 超聲波測(cè)距模塊 無線傳輸技術(shù) 目 錄題目名稱:乒乓球升降高度自動(dòng)控制裝置(G題)2一、方案分析與論證41.1 小球裝置41.2 控制裝置5二、系統(tǒng)設(shè)計(jì)與分析62.1 總體設(shè)計(jì)62.2 局部設(shè)計(jì)6三、系統(tǒng)測(cè)試10四、結(jié)論11五、附件13一、方案分析與論證1.1 小球裝置方案一:利用紅外收發(fā)對(duì)管,測(cè)試乒乓球位置紅外對(duì)管是紅外線發(fā)射管與光敏接收管,或者紅外線接收管,或者紅外線接
5、收頭配合在一起使用時(shí)候的總稱。發(fā)射管與接收管之間的紅外光束被完全遮斷或按給定百分比遮斷時(shí)能產(chǎn)生報(bào)警狀態(tài)。通過紅外收發(fā)對(duì)管發(fā)射、接收紅外線來檢測(cè)發(fā)射端與接收端之間是否有障礙。將紅外收發(fā)對(duì)管與單片機(jī)連接,通過單片機(jī)來處理接收信息。乒乓球在細(xì)管中運(yùn)動(dòng),在細(xì)管兩側(cè)安裝兩排紅外收發(fā)對(duì)管,將發(fā)射端與接收端置于同一條水平線上,且距離在可接收范圍之內(nèi)。當(dāng)電源接通時(shí),發(fā)射管發(fā)出紅外線,并與接收管保持通信,這時(shí)兩者電壓發(fā)生變化,當(dāng)遇到乒乓球時(shí),兩者壓降沒有改變,在發(fā)射端或者接收端安裝一個(gè)發(fā)光二級(jí)管,通過發(fā)光二極管的亮滅就能確定乒乓球的位置。從理論上來講,這種辦法可以達(dá)到測(cè)量乒乓球高度的目的,但是紅外收發(fā)對(duì)管的連接
6、與安裝非常復(fù)雜,經(jīng)測(cè)量,流過發(fā)光二極管的電流非常小,導(dǎo)致發(fā)光二級(jí)管不能發(fā)光,所以此方案無法實(shí)施。方案二:在管子底部安裝超聲波測(cè)距模塊,測(cè)試小球位置乒乓球在細(xì)管中運(yùn)動(dòng),在細(xì)管底部安裝超聲波測(cè)距模塊,其工作原理如(圖1-1)所示。當(dāng)接通電源時(shí),超聲波測(cè)距模塊的發(fā)射器會(huì)源源不斷的發(fā)出超聲波,乒乓球運(yùn)動(dòng)時(shí),超聲波達(dá)到乒乓球上會(huì)反射信號(hào),并將信號(hào)返回給接收器,然后通過單片機(jī)處理,在LCD上實(shí)時(shí)顯示相應(yīng)數(shù)據(jù)。超聲波檢測(cè)往往比較迅速、方便、易于做到實(shí)時(shí)控制,測(cè)量精度高,能實(shí)現(xiàn)乒乓球位置的檢測(cè)。所以此方案為最佳方案!障礙物89C52 單片機(jī)發(fā)射器接收器圖1-1 超聲波測(cè)距工作原理圖1.2 控制裝置方案一:通過
7、控制排風(fēng)量來控制風(fēng)速乒乓球在細(xì)管中運(yùn)動(dòng),在細(xì)管口安裝風(fēng)扇與發(fā)動(dòng)機(jī),通過單片機(jī)控制發(fā)動(dòng)機(jī)轉(zhuǎn)速來控制風(fēng)扇速度,進(jìn)而控制風(fēng)速,可達(dá)到控制乒乓球上升或下降的目的。電動(dòng)機(jī)的基本工作原理是:通電導(dǎo)體在磁場(chǎng)中產(chǎn)生電磁力,使導(dǎo)體產(chǎn)生旋轉(zhuǎn)運(yùn)動(dòng),實(shí)現(xiàn)了電能與機(jī)械能的轉(zhuǎn)變。用電動(dòng)機(jī)帶動(dòng)風(fēng)扇運(yùn)動(dòng),產(chǎn)生風(fēng)力,從而實(shí)現(xiàn)乒乓球的上升或下降。發(fā)動(dòng)機(jī)轉(zhuǎn)速控制起來不穩(wěn)定,難以控制,而且不容易實(shí)現(xiàn),風(fēng)力忽大忽小,要控制乒乓球緩慢柔和的運(yùn)動(dòng)是非常困難的。所以此方案不可行。方案二:通過進(jìn)風(fēng)量(轉(zhuǎn)動(dòng)通風(fēng)口擋板)來控制風(fēng)速乒乓球在細(xì)管中運(yùn)動(dòng),在細(xì)管口安裝一個(gè)硬質(zhì)薄片作為擋風(fēng)板,通過單片機(jī)控制步進(jìn)電機(jī)轉(zhuǎn)動(dòng)來控制擋板轉(zhuǎn)動(dòng)角度,控制進(jìn)風(fēng)量進(jìn)而控
8、制風(fēng)速,可達(dá)到乒乓球上升或下降的目的。步進(jìn)電機(jī)是一種感應(yīng)電機(jī),它的工作原理是利用電子電路,將直流電變成分時(shí)供電的,多相時(shí)序控制電流,用這種電流為步進(jìn)電機(jī)供電,步進(jìn)電機(jī)才能正常工作,驅(qū)動(dòng)器就是為步進(jìn)電機(jī)分時(shí)供電的,多相時(shí)序控制器。單片機(jī)控制步進(jìn)電機(jī)轉(zhuǎn)動(dòng)是比較容易實(shí)現(xiàn)的,而且所使用的步進(jìn)電機(jī)每次可轉(zhuǎn)動(dòng)0.18°,可實(shí)現(xiàn)步進(jìn)電機(jī)帶動(dòng)擋板緩慢的轉(zhuǎn)動(dòng),乒乓球所受到的風(fēng)力比較容易控制,從而控制乒乓球柔和緩慢運(yùn)動(dòng),達(dá)到預(yù)期效果。所以此方案可行!二、系統(tǒng)設(shè)計(jì)與分析2.1 總體設(shè)計(jì)系統(tǒng)結(jié)構(gòu)框圖如(圖2-1)所示:圖2-1 系統(tǒng)結(jié)構(gòu)框圖整體方案描述:根據(jù)題目要求,為便于實(shí)現(xiàn)乒乓球升降高度自動(dòng)控制,本裝置
9、應(yīng)分為乒乓球升降高度設(shè)置和顯示單元A和乒乓球升降高度控制單元兩個(gè)單元,A單元由單片機(jī)、LCD液晶顯示器、矩陣鍵盤、無線收發(fā)等模塊構(gòu)成,B單元由單片機(jī)、吹風(fēng)裝置、步進(jìn)電機(jī)、細(xì)長管,乒乓球等構(gòu)成。采用雙向無線通信模式傳遞信息,用89C52單片機(jī)控制系統(tǒng),用矩陣鍵盤輸入指令,用LCD液晶顯示器顯示數(shù)據(jù),用步進(jìn)電機(jī)控制擋板進(jìn)而調(diào)節(jié)風(fēng)速,用超聲波測(cè)距模塊控制乒乓球高度。整個(gè)裝置分為A與B兩個(gè)單元。在單元A中主要實(shí)現(xiàn)目標(biāo)的設(shè)定、數(shù)據(jù)顯示,以及與B通信。在B單元中主要實(shí)現(xiàn)乒乓球的高度控制以及與A通信。2.2 局部設(shè)計(jì)1、 LCD液晶顯示器此模塊為整個(gè)系統(tǒng)的顯示裝置,通過單片機(jī)來控制。LCD液晶顯示器也叫16
10、02液晶(如圖2-2),它是一種專門用來顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊。它由若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用。1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個(gè)字符液晶模塊(顯示字符和數(shù)字)。圖2-2 LCD液晶二、矩陣鍵盤此模塊為整個(gè)系統(tǒng)的指令輸入裝置,通過單片機(jī)控制。矩陣鍵盤又稱為行列式鍵盤(如圖2-3),它是用4條I/O線作為行線,4條I/O線作為列線組成的鍵盤。在行線和列線的每一個(gè)交叉點(diǎn)上,設(shè)置一個(gè)按鍵。這樣鍵盤中按鍵的個(gè)數(shù)是4×4個(gè)。這
11、種行列式鍵盤結(jié)構(gòu)能夠有效地提高單片機(jī)系統(tǒng)中I/O口的利用率。圖2-3 矩陣鍵盤LCD顯示與矩陣鍵盤電路圖:圖2-4 LCD顯示與矩陣鍵盤電路圖2、 風(fēng)源裝置用直流電動(dòng)機(jī)帶動(dòng)風(fēng)葉旋轉(zhuǎn),從而產(chǎn)生風(fēng)。用風(fēng)力來帶動(dòng)乒乓球運(yùn)動(dòng)。電動(dòng)機(jī)(Motors)是把電能轉(zhuǎn)換成機(jī)械能的一種設(shè)備。它是利用通電線圈(也就是定子繞組)產(chǎn)生旋轉(zhuǎn)磁場(chǎng)并作用于轉(zhuǎn)子鼠籠式式閉合鋁框形成磁電動(dòng)力旋轉(zhuǎn)扭矩。電動(dòng)機(jī)按使用電源不同分為直流電動(dòng)機(jī)和交流電動(dòng)機(jī),電力系統(tǒng)中的電動(dòng)機(jī)大部分是交流電機(jī),可以是同步電機(jī)或者是異步電機(jī)(電機(jī)定子磁場(chǎng)轉(zhuǎn)速與轉(zhuǎn)子旋轉(zhuǎn)轉(zhuǎn)速不保持同步速)。電動(dòng)機(jī)主要由定子與轉(zhuǎn)子組成,通電導(dǎo)線在磁場(chǎng)中受力運(yùn)動(dòng)的方向跟電流方向和磁
12、感線(磁場(chǎng)方向)方向有關(guān)。電動(dòng)機(jī)工作原理是磁場(chǎng)對(duì)電流受力的作用,使電動(dòng)機(jī)轉(zhuǎn)動(dòng)。本裝置中使用直流電動(dòng)機(jī)。原理圖如(圖2-5)所示:圖2-5 風(fēng)扇工作原理圖3、 改變風(fēng)力裝置在細(xì)管的管口加一個(gè)薄片硬質(zhì)擋板,然后用步進(jìn)電機(jī)控制擋板轉(zhuǎn)動(dòng),從而改變進(jìn)風(fēng)口的的大小,進(jìn)而改變風(fēng)力,改變乒乓球運(yùn)動(dòng)。步進(jìn)電機(jī)基本原理:通常電機(jī)的轉(zhuǎn)子為永磁體,當(dāng)電流流過定子繞組時(shí),定子繞組產(chǎn)生一矢量磁場(chǎng)。該磁場(chǎng)會(huì)帶動(dòng)轉(zhuǎn)子旋轉(zhuǎn)一角度,使得轉(zhuǎn)子的一對(duì)磁場(chǎng)方向與定子的磁場(chǎng)方向一致。當(dāng)定子的矢量磁場(chǎng)旋轉(zhuǎn)一個(gè)角度。轉(zhuǎn)子也隨著該磁場(chǎng)轉(zhuǎn)一個(gè)角度。每輸入一個(gè)電脈沖,電動(dòng)機(jī)轉(zhuǎn)動(dòng)一個(gè)角度前進(jìn)一步。它輸出的角位移與輸入的脈沖數(shù)成正比、轉(zhuǎn)速與脈沖頻率成
13、正比。改變繞組通電的順序,電機(jī)就會(huì)反轉(zhuǎn)。所以可用控制脈沖數(shù)量、頻率及電動(dòng)機(jī)各相繞組的通電順序來控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)。有關(guān)步進(jìn)電機(jī)電路圖如(圖2-6)所示:圖2-6 步進(jìn)電機(jī)電路圖4、 超聲波測(cè)距裝置在乒乓球運(yùn)動(dòng)路徑最底部安裝一個(gè)超聲波測(cè)距模塊(Y401 US-100),用來接收與發(fā)送小球運(yùn)動(dòng)情況,并與單片機(jī)之間進(jìn)行雙向通信。超聲波測(cè)距原理:超聲波測(cè)距原理是通過超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時(shí)刻的同時(shí)開始計(jì)時(shí),超聲波在空氣中傳播時(shí)碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計(jì)時(shí)。超聲波在空氣中的傳播速度為v ,而根據(jù)計(jì)時(shí)器記錄的測(cè)出發(fā)射和接收回波的時(shí)間差t ,就可以計(jì)算出發(fā)射
14、點(diǎn)距障礙物的距離S ,即: S = v·t /2 。US-100超聲波測(cè)距模塊(圖2-7)可實(shí)現(xiàn)2cm4.5m的非接觸測(cè)距功能,擁有2.45.5V的寬電壓輸入范圍,靜態(tài)功耗低于2mA,自帶溫度傳感器對(duì)測(cè)距結(jié)果進(jìn)行校正,同時(shí)具有GPIO,串口等多種通信方式,內(nèi)帶看門狗,工作穩(wěn)定可靠。六、無線雙向通信裝置本裝置主要用S002 nRF24LO1+無線數(shù)傳模塊來實(shí)現(xiàn)A與B之間的無線雙向通信,是整個(gè)作品的重要組成部分。nRF24LO1+(如圖2-2-6)是一款工作在2.42.5GHz世界通用ISM頻段的單片無線收發(fā)器芯片。無線收發(fā)器包括:頻率發(fā)生器、增強(qiáng)型SchockBurstTM模式控制器、
15、功率放大器、晶體振蕩器調(diào)制器、解調(diào)器。輸出功率頻道選擇和協(xié)議的設(shè)置可以通過SPI接口進(jìn)行設(shè)置。 圖2-2-6極低的電流功耗,當(dāng)工作在發(fā)射模式下發(fā)射功率為0dBm時(shí)電流消耗為11.3mA,接收模式時(shí)為13.5mA,掉線模式和待機(jī)模式下電流消耗更低。nRF24LO1+使用于多種無線通信的場(chǎng)合,如無線數(shù)據(jù)傳輸系統(tǒng)、無線鼠標(biāo)、遙控開鎖、遙控玩具等。本裝置中分別在A、B兩個(gè)單元安裝S002 nRF24LO1+無線數(shù)傳模塊,通過該模塊使單片機(jī)之間進(jìn)行通信,系統(tǒng)模式圖如(圖2-2-7)所示:信號(hào)無線 收發(fā)模塊89C52單片機(jī)無線 收發(fā)模塊89C52單片機(jī) (圖2-2-7)雙向無線通信系統(tǒng)流程圖如(圖2-2-
16、8)所示:上電上電初始化單片機(jī)初始化單片機(jī)配置24L01接收模式配置24L01發(fā)射模式檢測(cè)載波信號(hào)寫數(shù)據(jù)并開啟發(fā)送切換到下個(gè)頻率發(fā)送是否收到應(yīng)答信號(hào)?存在當(dāng)前頻點(diǎn)的載波信號(hào)? 否 否 是否收到應(yīng)答信號(hào)?跳到下一個(gè)頻率向串口傳送數(shù)據(jù) 是 是 數(shù)據(jù)包 是 否 是否收到應(yīng)答信號(hào)? 結(jié)束 接收端結(jié)束已關(guān)機(jī)或者 信號(hào)干擾嚴(yán)重 (圖2-2-8)3、 系統(tǒng)測(cè)試1. 測(cè)試使用的儀器設(shè)備測(cè)試使用的儀器設(shè)備如表3-1所示。表3-1 測(cè)試使用的儀器設(shè)備序號(hào)名稱數(shù)量備注1秒表一個(gè)用來測(cè)量LCD液晶顯示器顯示的時(shí)間2圓珠筆、本各一個(gè)用來記錄數(shù)據(jù)裝置全部安裝完成后,接通電源,輸入乒乓球的升降高度數(shù)據(jù),然后按下開始鍵,同時(shí)
17、用秒表進(jìn)行記時(shí),與LCD液晶顯示器顯示的時(shí)間數(shù)據(jù)進(jìn)行對(duì)比。同時(shí),要看乒乓球升降的具體高度和在LCD液晶顯示器上顯示的高度以及舉行鍵盤輸入的數(shù)據(jù)進(jìn)行對(duì)比。3.測(cè)試數(shù)據(jù)輸入高度5cm10cm15cm20cm25cm30cm顯示高度5cm10cm15cm20cm25cm30cm實(shí)際高度4.2cm9.8cm15.1cm20.0cm24.6cm30.0cm高度誤差0.8cm0.2cm0.1cm0.0cm0.4cm0.0cmLCD顯示時(shí)間3s6s9s12s16s21s實(shí)際時(shí)間3.6s6.8s8.2s12.8s15.12s22s時(shí)間誤差0.6s0.8s0.8s0.8s0.88s1s2. 測(cè)試結(jié)果分析由測(cè)試數(shù)
18、據(jù)可知,題目中的要求本裝置均可達(dá)到,且誤差不超1cm,是比較精確的。乒乓球的運(yùn)動(dòng)緩慢融合,易于觀察。并且整個(gè)運(yùn)動(dòng)過程都不需要人工干預(yù)。LCD液晶顯示器能夠?qū)崟r(shí)顯示信息。綜上所述,本裝置是非??尚?、合理的。四、總結(jié)通過一系列的方案論證與分析,我們確定了一套比較合理的實(shí)施方案,方案流程圖如圖4-1-1所示:A單元: 單片機(jī) 89C524×4矩形鍵盤LCD 液晶顯示器 輸入 時(shí)間、距離 信息 顯示 雙向 通信nRF24l01無線通信模塊 與B 通信 與A通信 nRF24l01無線通信模塊風(fēng)扇乒乓球裝置 雙 通 向 信 單片機(jī) 89C52 測(cè)試 乒乓球高度 控制 風(fēng)速步進(jìn)電機(jī)超聲波測(cè)距模塊
19、US-100 信息傳遞 控制轉(zhuǎn)動(dòng) 圖4-1-1在本裝置中,主要以單片機(jī)為控制中心,以C語言為基本語言,通過對(duì)各單元信息的接收與處理,完成了乒乓球上升、下降、連續(xù)起伏運(yùn)動(dòng),并且在LCD顯示器上能夠顯示出乒乓球的高度,以及停留的時(shí)間。當(dāng)乒乓球的質(zhì)量變大時(shí),以上動(dòng)作也均能完成。由于系統(tǒng)架構(gòu)設(shè)計(jì)合理,功能電路實(shí)現(xiàn)較好,系統(tǒng)性能優(yōu)良、穩(wěn)定,較好地達(dá)到了題目要求的各項(xiàng)指標(biāo)。五、附件(1) 原件清單元件名稱元件型號(hào)元件數(shù)量單片機(jī)STC 89C512個(gè)雙向無線收發(fā)模塊S002 nRF24LO1+2對(duì)步進(jìn)電機(jī)四項(xiàng)五線1個(gè)LCD液晶顯示器16021個(gè)超聲波測(cè)距模塊Y401 US-1001個(gè)乒乓球2.8克2個(gè)乒乓球
20、14克2個(gè)(2) 參考文獻(xiàn)1 彭偉.單片機(jī)C語言程序設(shè)計(jì)實(shí)訓(xùn)100例基于8051+Proteus仿真 北京:電子工業(yè)出版社, 2009. 2 朱清慧 張鳳蕊等.Proteus 教程電子線路設(shè)計(jì)、制版與仿真 北京:清華大學(xué)出版社, 2011. 3 視頻: 紅外對(duì)射報(bào)警器電子制作 diy套件 散件演示 (3) 部分程序清單1、Led顯示 超聲波測(cè)距#include <reg51.h>sbit Trig=P20;/超聲波發(fā)sbit Echo=P32;/超聲波收sbit wlen=P27;sbit wlrs=P26;sbit RW=P25;#define uchar unsigned ch
21、ar#define uint unsigned intuint succeed_flag,timeL,timeH,test,time;uint LedOut10;uchar i,DelayCNT=0;uchar a="0123456789.L="uchar b=" WALL.E 1 "/*.延時(shí)程序,延時(shí)1ms.*/void delay(uchar z)uchar x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void delay_20us()uchar a;for(a=0;a<100;a+);/*.1602
22、命令函數(shù).*/void write_com(uchar com)wlrs=0; /寫命令0/寫數(shù)據(jù)1RW=0; /讀0/寫1P0=com; /給1602送命令delay(5);wlen=1;delay(5);wlen=0;/*.1602數(shù)據(jù)函數(shù).*/void write_date(uchar date)wlrs=1; RW=0;P0=date;delay(5);wlen=1;delay(5);wlen=0;void init()/1602初始化函數(shù)wlen=0;write_com(0x38);write_com(0x01);write_com(0x0c);write_com(0x04);/顯示
23、數(shù)據(jù)轉(zhuǎn)換程序void display(uint LedNumVal) if(+DelayCNT>=20) /控制數(shù)字變化速度 DelayCNT=0; /20個(gè)掃描周期清零一次 write_com(0x84); i=0; while(bi!='0') /顯示字符 write_date(bi);i+; write_com(0x80+0x44); write_date(a11); write_com(0x80+0x45); write_date(a12); write_com(0x80+0x46); write_date(aLedNumVal%10000/1000); writ
24、e_com(0x80+0x47); write_date(a10); write_com(0x80+0x48); write_date(aLedNumVal%1000/100); write_com(0x80+0x49); write_date(aLedNumVal%100/10); write_com(0x80+0x4a); write_date(aLedNumVal%10);void main()uint distance;test =0;Trig=0;/首先拉低脈沖輸入引腳EA=1; /打開總中斷0TMOD=0x10; /定時(shí)器1,16位工作方式init();/1602初始化函數(shù)dela
25、y(10);while(1)EA=0; /關(guān)總中斷Trig=1;/超聲波輸入端delay_20us();/延時(shí)20usTrig=0; /產(chǎn)生一個(gè)20us的脈沖while(Echo=0); /等待Echo回波引腳變高電平succeed_flag=0; /清測(cè)量成功標(biāo)志EA=1;EX0=1; /打開外部中斷0TH1=0; /定時(shí)器1清零TL1=0; /定時(shí)器1清零TF1=0; /計(jì)數(shù)溢出標(biāo)志TR1=1; /啟動(dòng)定時(shí)器1delay(20); /等待測(cè)量的結(jié)果TR1=0; /關(guān)閉定時(shí)器1EX0=0; /關(guān)閉外部中斷0if(succeed_flag=1)time=timeH*256+timeL;dist
26、ance=time*0.172; /厘米display(distance);if(succeed_flag=0)distance=0; /沒有回波則清零/外部中斷0,用做判斷回波電平void exter() interrupt 0 / 外部中斷0是0號(hào)timeH =TH1; /取出定時(shí)器的值timeL =TL1; /取出定時(shí)器的值succeed_flag=1;/至成功測(cè)量的標(biāo)志EX0=0; /關(guān)閉外部中斷/定時(shí)器1中斷,用做超聲波測(cè)距計(jì)時(shí)void timer1() interrupt 3TH1=0;TL1=0;2、步進(jìn)電機(jī) #include <reg51.h>sbit SET=P1
27、0;sbit ADD=P12;sbit SUB=P11; sbit AA=P13;sbit BB=P14; sbit CC=P15; sbit DD=P16; sbit EE=P17;sbit Pa=P34;sbit Pb=P35;sbit Pd=P37;sbit Pc=P36;unsigned char cnt;bit sec,key_mark,direct; shuzhi;void key();int n,speed,index;unsigned char step1=0x80,0x40,0x20,0x10,step2=0x80,0xc0,0x40,0x60,0x20,0x30,0x10,
28、0x90; void delay() unsigned char i,j; for(i=0;i<4;i+) for(j=0;j<100;j+); void key() if(!AA) /direct=!direct; shuzhi=5; elseif(!BB) /direct=!direct; shuzhi=10; elseif(!CC) /direct=!direct; shuzhi=15; elseif(!DD) /direct=!direct; shuzhi=20; elseif(!EE) /direct=!direct; shuzhi=30; else if(!ADD) i
29、f(+speed>2000) speed=2000; else if(!SUB) if(-speed<1) speed=1; P2=speed;void t0() interrupt 1 TH0=-50000>>8;TL0=-50000;if(+cnt>=speed) cnt=0; sec=1;void init_t0() TMOD|=0X01;IE|=0X82;TR0=1; void main() float b; b=30; /待輸入的超聲波返回值 init_t0();speed=10; while(1) if(!AA | !ADD | !SUB|!BB|!C
30、C|!DD|!EE) && !key_mark) delay(); if(!AA | !ADD | !SUB|!BB|!CC|!DD|!EE) key(); key_mark=1; else if(AA && ADD && SUB &&BB&&CC&&DD&&EE) key_mark=0; if(sec) sec=0; if(b<(shuzhi+1) if(+index>3) index=0; if(b>shuzhi-1) if(-index<0) index
31、=3; P3=step1index; 3、矩形鍵盤與1602#include<reg52.h>#include<math.h>#include<absacc.h>#define uchar unsigned char#define uint unsigned int/*定義變量區(qū)*sbit dula=P26; /關(guān)閉數(shù)碼管顯示之用sbit wela=P27;sbit lcden=P34; /LCD使能信號(hào)sbit lcdrs=P35; /LCD數(shù)據(jù)/命令選擇信號(hào)uchar tab_key50;uchar code tab="0123456789ab
32、cdef" uchar n=0,temp,key;/*函數(shù)聲明區(qū)*void lcd_disp(); /LCD顯示函數(shù)void lcd_init(); /LCD初始化函數(shù)void write_com(uchar); /寫命令函數(shù)void write_data(uchar); /寫數(shù)據(jù)函數(shù)void delay(uint); /延遲函數(shù)void key_scan(); /鍵盤掃描函數(shù)void key_manage1(); /鍵盤功能分配函數(shù)void key_manage2(); void key_manage3(); void key_manage4(); void key_manage5
33、(); void key_manage6(); void key_manage7(); void key_manage8(); void key_manage9(); void key_manage10();void key_manage11(); void key_manage12(); void key_manage13(); void key_manage14(); void key_manage15(); void key_manage16();/*主函數(shù)開始*void main() lcd_init(); write_com(1); while(1) key_scan(); lcd_
34、disp(); /*LCD顯示函數(shù)開始*void lcd_disp() uchar a,i=0; write_com(0x80); for(i=0;i<n;i+) a=tab_keyi; write_data(taba); /*LCD初始化函數(shù)開始*void lcd_init() dula=0; wela=0; / 關(guān)閉數(shù)碼管顯示 lcden=0; write_com(0x38); /設(shè)置顯示模式:16X2,5X7,8位數(shù)據(jù)接口 write_com(0x0c); /開顯示,顯示光標(biāo),光標(biāo)閃爍 write_com(0x06); /讀寫一個(gè)字符后,地址指針及光標(biāo)加一,且光標(biāo)加一整屏顯示不移動(dòng)
35、 write_com(0x80); /設(shè)置光標(biāo)指針/*寫命令函數(shù)開始*void write_com(uchar com) lcdrs=0; /低電平寫命令 P0=com; /寫入命令 delay(3); /延時(shí)約3ms delay(5); /延時(shí)約5ms lcden=0; /LCD使能端拉低電平/*寫數(shù)據(jù)函數(shù)開始*void write_data(uchar dat) lcdrs=1; /低電平寫數(shù)據(jù) P0=dat; /寫入命令 delay(3); /延時(shí)約3ms lcden=1; /LCD使能端置高電平 delay(5); /延時(shí)約5ms lcden=0; /LCD使能端拉低電平/*鍵盤掃描函
36、數(shù)開始*void key_scan() /*掃描第一行* P3=0xfe; temp=P3; temp=temp&0xf0; if(temp!=0xf0) delay(100); if(temp!=0xf0) temp=P3; switch(temp) case 0xee: key_manage1(); break; case 0xde: key_manage2(); break; case 0xbe: key_manage3(); break; case 0x7e: key_manage4(); break; while(temp!=0xf0) temp=P3; temp=temp&
37、amp;0xf0; /*掃描第二行* P3=0xfd; temp=P3; temp=temp&0xf0; if(temp!=0xf0) delay(100); if(temp!=0xf0) temp=P3; switch(temp) case 0xed: key_manage5(); break; case 0xdd: key_manage6(); break; case 0xbd: key_manage7(); break; case 0x7d: key_manage8(); break; while(temp!=0xf0) temp=P3; temp=temp&0xf0; /*掃描第三行* P3=0xfb; temp=P3; temp=temp&0xf0; if(temp!=0xf0) delay(100); if(temp!=0xf0) temp=P
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度購物中心水電維修服務(wù)合同(1000字)6篇
- 二零二五年度冷鏈物流食品供應(yīng)合同3篇
- 二零二五年度環(huán)保材料買賣合同樣本詳述3篇
- 二零二五年度綠色建筑文明施工與環(huán)境保護(hù)一體化協(xié)議書3篇
- 二零二五年度行政上訴狀編制要點(diǎn)與官方格式3篇
- 二零二五年度企業(yè)委托高校培養(yǎng)博士研究生技術(shù)合作協(xié)議3篇
- 二零二五年度互聯(lián)網(wǎng)醫(yī)療健康品牌授權(quán)協(xié)議3篇
- 二零二五年度企業(yè)股權(quán)激勵(lì)協(xié)議(限制性股權(quán))6篇
- 二零二五年度農(nóng)產(chǎn)品銷售承包協(xié)議
- 2025版科技研發(fā)園區(qū)物業(yè)管理權(quán)轉(zhuǎn)讓與技術(shù)創(chuàng)新服務(wù)合同3篇
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 《活著》讀書分享課件
- 新課標(biāo)人教版小學(xué)數(shù)學(xué)六年級(jí)下冊(cè)集體備課教學(xué)案全冊(cè)表格式
- 校園保潔培訓(xùn)課件
- 渠道管理就這樣做
- 大客戶銷售這樣說這樣做
- 精裝修樣板房房屋使用說明
- 喬遷新居結(jié)婚典禮主持詞
- 小學(xué)四年級(jí)數(shù)學(xué)競賽試題(附答案)
- 魯科版高中化學(xué)必修2全冊(cè)教案
- 人口分布 高一地理下學(xué)期人教版 必修第二冊(cè)
評(píng)論
0/150
提交評(píng)論