版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2013年全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽設(shè) 計(jì) 報(bào) 告 【本科組】2013年9月7日26 / 27文檔可自由編輯打印摘 要 本系統(tǒng)以單片機(jī)為控制核心,采用角度傳感器(ADXL345)實(shí)時(shí)采集自由擺旋轉(zhuǎn)角度及方向,通過(guò)直流電機(jī)開(kāi)環(huán)控制旋轉(zhuǎn)角度,以實(shí)現(xiàn)控制要求。此外,為方便實(shí)驗(yàn)和調(diào)試,專(zhuān)門(mén)有1602液晶顯示旋轉(zhuǎn)角度模塊和按鍵模塊。本設(shè)計(jì)以PWM調(diào)速來(lái)控制角度的調(diào)整,這種外部事件驅(qū)動(dòng)的程序設(shè)計(jì)方法能夠及時(shí)響應(yīng)擺桿角度的變化,總體程序設(shè)計(jì)簡(jiǎn)潔,響應(yīng)時(shí)間快,控制精度高。由于直流電機(jī)速度大,且不易控制,因此我們根據(jù)單擺在運(yùn)動(dòng)過(guò)程中的狀態(tài),實(shí)時(shí)調(diào)節(jié)單擺的速度,使其在運(yùn)動(dòng)過(guò)程中,更加平穩(wěn)。關(guān)鍵字: 角度傳感器(ADX
2、L345) 單擺平穩(wěn)運(yùn)動(dòng) 直流電機(jī) AbstractThis design by STC15F2K60S2 microcontroller as the control core, system variable is obtained by Angle sensor, the application of PID control algorithm, PWM motor speed to control level inverted pendulum, realize stand in certain Angle range of dynamic balance. At the same t
3、ime can be set by keyboard operation mode and the related point of value, has a good man-machine interface. System design has simple structure, low production cost, high control precision, has the high cost performance.Key words: single chip microcomputer; Level 1 inverted pendulum; The PID目 錄一、系統(tǒng)方案
4、分析31.1 主控制器件的選擇41.2 角度測(cè)量獲取模塊的選擇5二、系統(tǒng)理論分析與計(jì)算52.1 電機(jī)驅(qū)動(dòng)模塊的選擇52.2倒立擺的控制分析52.2.1 簡(jiǎn)易旋轉(zhuǎn)倒立擺及控制裝置62.2.2 倒立擺旋轉(zhuǎn)角度分析72.3角度測(cè)量分析以及功能介紹7三、電路與程序設(shè)計(jì)93.1電路的設(shè)計(jì)9系統(tǒng)總體框圖如圖6所示。9電路原理圖詳見(jiàn)附錄1。93.2程序設(shè)計(jì)103.2.1程序功能描述103.2.2具體的程序分析設(shè)計(jì)103.2.3源程序11部分源程序見(jiàn)附錄2。11四、測(cè)試方案與測(cè)試結(jié)果11五、總結(jié)11附錄1:電路原理圖13附錄2:部分源程序15簡(jiǎn)易旋轉(zhuǎn)倒立擺及控制裝置(C題) 一、系統(tǒng)方案分析設(shè)計(jì)并制作一套簡(jiǎn)易
5、旋轉(zhuǎn)倒立擺及其控制裝置。旋轉(zhuǎn)倒立擺的結(jié)構(gòu)如后面文中的圖2所示。電動(dòng)機(jī)A固定在支架B上,通過(guò)轉(zhuǎn)軸F驅(qū)動(dòng)旋轉(zhuǎn)臂C旋轉(zhuǎn)。擺桿E通過(guò)轉(zhuǎn)軸D固定在旋轉(zhuǎn)臂C的一端,當(dāng)旋轉(zhuǎn)臂C在電動(dòng)機(jī)A驅(qū)動(dòng)下作往復(fù)旋轉(zhuǎn)運(yùn)動(dòng)時(shí),帶動(dòng)擺桿E在垂直于旋轉(zhuǎn)臂C的平面作自由旋轉(zhuǎn)。在實(shí)時(shí)控制時(shí),對(duì)自由擺的擺角、擺速及擺動(dòng)方向的測(cè)量十分關(guān)鍵,傳感器的的精度和單擺相應(yīng)速度也直接決定著最終的控制效果。據(jù)此,本系統(tǒng)采用以單片機(jī)為核心的倒立擺控制系統(tǒng)主要由以下幾個(gè)功能模塊構(gòu)成:1、單片機(jī)控制模塊2、角度測(cè)量獲取模塊 3、傳感器平衡控制模塊4、電機(jī)驅(qū)動(dòng)模塊5、角度值顯示模塊系統(tǒng)框圖如圖1所示。單片機(jī)控制角度測(cè)量獲取控制平穩(wěn)運(yùn)動(dòng)驅(qū)動(dòng) 角度值顯示 圖
6、1 系統(tǒng)組成框圖1.1 主控制器件的選擇方案一:采用在面包板上搭建簡(jiǎn)易單片機(jī)系統(tǒng)在面包板上搭建單片機(jī)系統(tǒng)可以方便的對(duì)硬件做隨時(shí)修改,也易于搭建,但是系統(tǒng)連線(xiàn)較多,不僅相互干擾,使電路雜亂無(wú)章,而且系統(tǒng)可靠性低,不適合本系統(tǒng)使用。方案二:自制單片機(jī)印刷電路板自制印刷電路實(shí)現(xiàn)較為困難,實(shí)現(xiàn)周期長(zhǎng),此外也會(huì)花費(fèi)較多的時(shí)間,影響整體設(shè)計(jì)進(jìn)程。不宜采用該方案。方案三:采用單片機(jī)最小系統(tǒng)。單片機(jī)最小系統(tǒng)包含了、A/D、D/A以及獨(dú)立鍵盤(pán)等模塊,能明顯減少外圍電路的設(shè)計(jì),降低系統(tǒng)設(shè)計(jì)的難度,非常適合本系統(tǒng)的設(shè)計(jì)。綜合以上三種方案,我們最終選擇方案三。簡(jiǎn)單易行,又能鍛煉我們自身的能力。我們選用STC15F2K
7、60S2單片機(jī)作為控制核心。1.2 角度測(cè)量獲取模塊的選擇方案一:采用加速度傳感器加速度傳感器采用模擬量輸出,需要放大電路及A/D完成角度的測(cè)量,并在1602上顯示出來(lái)。方案二:采用電位器作為角度傳感器自由擺系統(tǒng)的角度測(cè)量也可采用可變電阻器。精密的可變電阻器具易獲得、價(jià)格低廉、重復(fù)性高、分辨率高、高頻響應(yīng)特性好、易使用等特點(diǎn)。但是可變電阻器也是模擬信號(hào)輸出,需要A/D信號(hào)的轉(zhuǎn)換,增加系統(tǒng)復(fù)雜性,而且安裝要求較高,帶來(lái)了硬件設(shè)計(jì)的不便。方案三:采用增量式光電旋轉(zhuǎn)編碼器光電編碼器是一種角度(角速度)檢測(cè)裝置,它將輸入給軸的角度量,利用光電轉(zhuǎn)換原理轉(zhuǎn)換成相應(yīng)的電脈沖。旋轉(zhuǎn)編碼器具有體積小,精度高,工
8、作可靠,接口數(shù)字化等優(yōu)點(diǎn)。但是旋轉(zhuǎn)編碼器操作較為麻煩,實(shí)現(xiàn)條件較高。綜合以上三種方案,我們最終選擇方案一。我們選擇角度傳感器ADXL345作為量化角度的器件,精度達(dá)到0.1度。ADXL345是一款小而薄的超低功耗3軸加速度計(jì),分辨率高(13位),測(cè)量范圍達(dá)±16g。數(shù)字輸出數(shù)據(jù)為16位二進(jìn)制補(bǔ)碼格式,可通過(guò)SPI(3或4線(xiàn))或I2C數(shù)字接口訪(fǎng)問(wèn)。ADXL345非常適合移動(dòng)設(shè)備應(yīng)用。它可以在傾檢測(cè)應(yīng)用中測(cè)量靜態(tài)重力加速度,還可以測(cè)量運(yùn)動(dòng)或沖擊導(dǎo)致的動(dòng)態(tài)加速度。其高分辨率(3.9mg/LSB),能夠測(cè)量不到1.0°的傾斜角度變化。二、系統(tǒng)理論分析與計(jì)算2.1 電機(jī)驅(qū)動(dòng)模塊的選擇
9、步進(jìn)電動(dòng)機(jī)的速率較慢,對(duì)本題的部分功能例如倒立等動(dòng)作的實(shí)現(xiàn)是十分困難的。所以我們采用PWM方式控制的直流電機(jī)。直流電機(jī)速度大,便于實(shí)現(xiàn)題目中旋轉(zhuǎn)一周,倒立等動(dòng)作,同時(shí)可以通過(guò)實(shí)時(shí)控制單擺的速率來(lái)使單擺運(yùn)行更平穩(wěn),且直流電機(jī)較步進(jìn)電機(jī)控制較為簡(jiǎn)單,對(duì)本系統(tǒng)來(lái)說(shuō)較為合適。采用L298直流電機(jī)驅(qū)動(dòng)模塊:最大可提供2A驅(qū)動(dòng)電流和24V驅(qū)動(dòng)電壓,可驅(qū)動(dòng)小車(chē)直流電機(jī)作精確運(yùn)動(dòng)。2.2倒立擺的控制分析2.2.1 簡(jiǎn)易旋轉(zhuǎn)倒立擺及控制裝置(1) 建立倒立擺運(yùn)動(dòng)模型,由于系統(tǒng)是由輕桿和直流電機(jī)等組成,相較于直流電機(jī),輕桿質(zhì)量很小,可以近似認(rèn)為旋轉(zhuǎn)臂重心在直流電機(jī)中心即支架的中心附近,擺桿在沿一定半徑自由擺動(dòng)。(
10、2) 示意圖如圖2所示:圖2 旋轉(zhuǎn)倒立擺結(jié)構(gòu)示意圖 (1)在最低位置時(shí)單擺將達(dá)到最大速度,因此在不計(jì)空氣阻力及固定點(diǎn)摩擦力的情況下利用能量守恒定律有:,得出在不超過(guò)60°,l=1.0m的情況下。計(jì)算得v=2.236m/s,由角速度與線(xiàn)速度之間的關(guān)系,得出= =2.236rad/s=128/s(2)自由擺周期計(jì)算根據(jù)單擺的周期計(jì)算公式;得單擺周期T=1.986ms(3)使單擺左右轉(zhuǎn)擺角達(dá)到或超過(guò)-60° +60°的模型分析在自由擺在一個(gè)小角度時(shí)擺動(dòng)時(shí),自由擺運(yùn)動(dòng)模型便是一個(gè)物理單擺模型。本系統(tǒng)由于受直流電機(jī)控制,速度變化較大,不易控制,在實(shí)驗(yàn)初期發(fā)現(xiàn)單擺基本是在旋轉(zhuǎn)
11、臂慣性的作用下機(jī)械的移動(dòng),于是我們通過(guò)軟件控制,使其在上升過(guò)程中通過(guò)增加占空比加速,下降過(guò)程中減小占空比減速,通過(guò)不斷調(diào)試,最終單擺可以平滑的運(yùn)動(dòng)。 在做圓周運(yùn)動(dòng)時(shí),先給單擺一個(gè)較大的初速度,等到轉(zhuǎn)到最高點(diǎn)時(shí),給它一個(gè)反向的速度,使其反方向做圓周運(yùn)動(dòng)。2.2.2 倒立擺旋轉(zhuǎn)角度分析對(duì)于基礎(chǔ)部分(1),為使擺桿從處于自然下垂?fàn)顟B(tài)(擺角0°)開(kāi)始,驅(qū)動(dòng)電機(jī)帶動(dòng)旋轉(zhuǎn)臂作往復(fù)旋轉(zhuǎn)使擺桿擺動(dòng),并盡快使擺角達(dá)到或超過(guò)-60° +60°;需要保持C旋轉(zhuǎn)臂始終垂直于自由擺臂E。本實(shí)驗(yàn)倒立擺的圓周運(yùn)動(dòng),以及角度的顯現(xiàn)是通過(guò)該角度傳感器的角度特性,比較容易實(shí)現(xiàn)。2.3角度測(cè)量分析以及
12、功能介紹ADXL345是加速度傳感器,根據(jù)重力在xyz軸上的分量,有反正弦以及反正切函數(shù)可以求得各個(gè)面或者各個(gè)軸上偏轉(zhuǎn)的夾角。本系統(tǒng)偏轉(zhuǎn)角為-180+180,由于單擺的變化始終在一個(gè)面內(nèi),所以選擇X軸的偏轉(zhuǎn)角,作為采樣以及處理的數(shù)據(jù)。原理圖如圖3所示:圖3 ADXL345原理圖ADXL345測(cè)得的精度為0.1度,能夠靈敏的檢測(cè)到單擺的移動(dòng),根據(jù)傳感器的返回值可以準(zhǔn)確的控制單擺的動(dòng)作。以下圖4為ADXL345的功能框圖,圖5為引腳配置圖,表1為功能描述。圖4 ADXL的功能框圖圖5 ADXL345引腳圖表1 ADXL345功能描述表三、電路與程序設(shè)計(jì)3.1電路的設(shè)計(jì)系統(tǒng)總體框圖如圖6所示。圖6
13、系統(tǒng)總體框圖電路原理圖詳見(jiàn)附錄1。3.2程序設(shè)計(jì)3.2.1程序功能描述主程序根據(jù)不同的要求設(shè)定不同的控制模式,在各個(gè)模式間切換。根據(jù)設(shè)計(jì)要求,我們把程序歸為幾個(gè)模式,由按鍵切換模式。具體分配如下:模式一對(duì)應(yīng)為基本要求一,即擺桿從處于自然下垂?fàn)顟B(tài)(擺角0°)開(kāi)始,驅(qū)動(dòng)電機(jī)帶動(dòng)旋轉(zhuǎn)臂作往復(fù)旋轉(zhuǎn)使擺桿擺動(dòng),并盡快使擺角達(dá)到或超過(guò)-60° +60°。模式二對(duì)應(yīng)為基本要求二,即使擺盡快的旋轉(zhuǎn)做圓周運(yùn)動(dòng)。模式三對(duì)應(yīng)基本要求三,倒立擺在外力的作用下,通過(guò)角度傳感器以一定的方式倒立狀態(tài)不小于5秒鐘,且保證擺臂C旋轉(zhuǎn)角度不大于90度。3.2.2具體的程序分析設(shè)計(jì) (1)主程序分析設(shè)
14、計(jì)圖7 主程序流程圖主程序流程圖如圖7所示,主程序由三個(gè)按鍵控制三個(gè)模式的選擇。當(dāng)系統(tǒng)啟動(dòng)時(shí),S1按下選擇模式一,S2按下選擇模式二;若S3按下,那么執(zhí)行模式三。(2)模式三的角度測(cè)量分析論證模式三的角度測(cè)量中斷服務(wù)判斷程序。選擇模式三后,擺桿緩慢拉到一定的角度,同時(shí)單片機(jī)獲得送來(lái)的脈沖并記錄下來(lái),拉到一定角度后擺桿停止,此時(shí),單片機(jī)就獲得了最后的角度值。按鍵開(kāi)始后,單片機(jī)根據(jù)獲取的角度值,換算為電機(jī)的轉(zhuǎn)動(dòng)脈沖數(shù),送給電機(jī),電機(jī)立即開(kāi)始轉(zhuǎn)動(dòng),保持平板對(duì)擺桿的垂直。最后,電機(jī)鎖定,避免電機(jī)的抖動(dòng)。3.2.3源程序部分源程序見(jiàn)附錄2。四、測(cè)試方案與測(cè)試結(jié)果1測(cè)量驗(yàn)證擺臂帶動(dòng)自由擺轉(zhuǎn)動(dòng)角度測(cè)試方法:
15、在最低點(diǎn)處保持?jǐn)[臂水平,啟動(dòng)電機(jī)開(kāi)始轉(zhuǎn)動(dòng),同時(shí)單擺擺動(dòng),用量角器測(cè)出擺臂偏離水平的角度是否符合模式一的要求。 2完成圓周運(yùn)動(dòng)測(cè)試方法:從擺桿處于自然下垂?fàn)顟B(tài)開(kāi)始,啟動(dòng)電機(jī)并啟動(dòng)定時(shí)器,盡快增大運(yùn)轉(zhuǎn)速度,直至完成圓周運(yùn)動(dòng)。如果在30秒內(nèi)仍然沒(méi)有完成完美的圓周運(yùn)動(dòng),則要調(diào)節(jié)電機(jī)驅(qū)動(dòng)的加速模塊,在30秒內(nèi)盡快完成圓周運(yùn)動(dòng)。3外力撤除同時(shí),啟動(dòng)控制旋轉(zhuǎn)臂使擺桿保持倒立狀態(tài)時(shí)間不少于5s;期間旋轉(zhuǎn)臂的轉(zhuǎn)動(dòng)角度不大于90°。測(cè)試方法:將擺桿推至一個(gè)角度165度,在旋轉(zhuǎn)桿上綁定角速度傳感器,啟動(dòng)系統(tǒng)后,利用定時(shí)器達(dá)到這一目的。五、總結(jié)此次基于自由擺的平板控制系統(tǒng)設(shè)計(jì),以STC15F2K60S2單片
16、機(jī)為控制核心,采用直流電機(jī)開(kāi)環(huán)控制旋轉(zhuǎn)臂E轉(zhuǎn)動(dòng),利用加速度傳感器ADXL345,以實(shí)現(xiàn)控制要求。通過(guò)不斷地調(diào)試程序,不斷地用自己的方法制作精美的裝置,雖然很辛苦,但感受到了有史以來(lái)最大的滿(mǎn)足感,不僅鍛煉了我們堅(jiān)持不懈的品質(zhì),還培養(yǎng)了我們敢于吃苦的精神。通過(guò)這次大賽,讓我們懂得了團(tuán)隊(duì)合作無(wú)比的重要,讓我們學(xué)到了以前沒(méi)有有學(xué)到的知識(shí),更鍛煉了我們的自學(xué)能力。在此表示深深地謝意。 參考文獻(xiàn)1全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽組委會(huì).全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽獲獎(jiǎng)作品選編M.北京:北京理工大學(xué)出版社,2007.2劉寶延.步進(jìn)電機(jī)直流電機(jī)及其驅(qū)動(dòng)控制系統(tǒng)M.哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1972.3周航慈.單片機(jī)應(yīng)用程
17、序設(shè)計(jì)技術(shù)M.北京:北京航空航天大學(xué)出版社,1991.4 郁有文.傳感器原理及工程應(yīng)用M.西安:西安電子科技大學(xué)出版社,2008.5 吳建平.傳感器原理及應(yīng)用M.北京:機(jī)械工業(yè)出版社,2009.6 宋戈.51單片機(jī)應(yīng)用開(kāi)發(fā)范例大全M.北京:人民郵電出版社,2010.7 唐繼賢.51單片機(jī)工程應(yīng)用實(shí)例M.北京:北京航空航天大學(xué)出版社,2009.附錄1:電路原理圖附錄2:部分源程序ADXL345 模塊#include<IAP15F2K61S2.h>#include<function.h>#include<stdio.h>#include<math.h>
18、;#include"PWM.h"#define slaveaddress_I2C 0xa6double xtemp,ytemp,ztemp;float x,y,z;uchar date_xyz6;int xyz_value3;uchar xtab8,ytab8,ztab8;bit w1byte_ADXL345_I2C(uchar regaddress,uchar date)start_I2C();w1byte_I2C(slaveaddress_I2C);if(ack=0)return 0;w1byte_I2C(regaddress);if(ack=0)return 0;w1
19、byte_I2C(date);if(ack=0)return 0;stop_I2C();return 1;uchar r1byte_ADXL345_I2C(uchar regaddress)uchar temp;start_I2C();w1byte_I2C(slaveaddress_I2C);w1byte_I2C(regaddress);start_I2C();w1byte_I2C(slaveaddress_I2C+1);temp=r1byte_I2C();ack_I2C(1);stop_I2C();return temp;void readxyz_ADXL345_I2C()uchar i;s
20、tart_I2C();w1byte_I2C(slaveaddress_I2C);w1byte_I2C(0x32);start_I2C();w1byte_I2C(slaveaddress_I2C+1);for(i=0;i<6;i+)date_xyzi=r1byte_I2C();if(i=5)ack_I2C(1);else ack_I2C(0);stop_I2C();delayms(5);void get_xyz_value()readxyz_ADXL345_I2C();xyz_value0=(date_xyz1<<8)|date_xyz0;xyz_value1=(date_xy
21、z3<<8)|date_xyz2;xyz_value2=(date_xyz5<<8)|date_xyz4;void init_ADXL345()uchar i;int tempx=0,tempy=0,tempz=0; char x,y,z; w1byte_ADXL345_I2C(0x31,0x2B); /測(cè)量范圍,正負(fù)16g,13位模式 w1byte_ADXL345_I2C(0x2C,0x0a); /速率設(shè)定為12.5 參考pdf13頁(yè) w1byte_ADXL345_I2C(0x2D,0x08); /選擇電源模式 參考pdf24頁(yè) w1byte_ADXL345_I2C(
22、0x2E,0x80); /不使能 DATA_READY 中斷 w1byte_ADXL345_I2C(0x1E,0x06); /X 偏移量 根據(jù)測(cè)試傳感器的狀態(tài)寫(xiě)入pdf29頁(yè) w1byte_ADXL345_I2C(0x1F,0x00); /Y 偏移量 根據(jù)測(cè)試傳感器的狀態(tài)寫(xiě)入pdf29頁(yè) w1byte_ADXL345_I2C(0x20,0x00); /Z 偏移量 根據(jù)測(cè)試傳感器的狀態(tài)寫(xiě)入pdf29頁(yè)for(i=0;i<50;i+)get_xyz_value();tempx+=xyz_value0;tempy+=xyz_value1;tempz+=xyz_value2;x=-(tempx/
23、50/4+0.5);y=-(tempy/50/4+0.5);z=-(tempz/50-256)/4+0.5); w1byte_ADXL345_I2C(0x1E,x); /X 偏移量 根據(jù)測(cè)試傳感器的狀態(tài)寫(xiě)入pdf29頁(yè) w1byte_ADXL345_I2C(0x1F,y); /Y 偏移量 根據(jù)測(cè)試傳感器的狀態(tài)寫(xiě)入pdf29頁(yè) w1byte_ADXL345_I2C(0x20,z); /Z 偏移量 根據(jù)測(cè)試傳感器的狀態(tài)寫(xiě)入pdf29頁(yè) void getdate()get_xyz_value();x=xyz_value0*3.9/1000.0;y=xyz_value1*3.9/1000.0;z=xy
24、z_value2*3.9/1000.0;void getangle()xtemp=atan2(y,x);xtemp=xtemp/3.1415926*180;ytemp=atan2(sqrt(x*x+y*y+z*z),y);ytemp=ytemp/3.1415926*180;/ztemp=atan2(z,sqrt(y*y+x*x);/ztemp=ztemp/3.1415926*180-180;void xianshi() init_I2C();init_1602();init_ADXL345(); writestring_1602(0,0,"ADXL345:");if(r1b
25、yte_ADXL345_I2C(0)!=0xe5)writestring_1602(1,0,"no found");while(1);elsewhile(1)getdate();getangle();sprintf(xtab,"x:%3.1fxdf",xtemp);writestring_1602(0,8,xtab);delayms(10);/sprintf(ytab,"y:%3.1fxdf",ytemp);writestring_1602(1,0,ytab);/delayms(10);/sprintf(ztab,"z:%3
26、.1fxdf",z);writestring_1602(1,9,ztab);/delayms(300); 定義函數(shù)#define uchar unsigned char#define uint unsigned intsbit scl=P16;sbit sda=P17;/sbit lcdrs=P45;/sbit lcdwr=P55;/sbit lcden=P54;/extern bit ack;extern void init_I2C();extern void start_I2C();extern void stop_I2C();extern void ack_I2C(bit a)
27、;extern void w1byte_I2C(uchar date);extern uchar r1byte_I2C();extern void delayms(uint ms);extern void init_1602();extern void writestring_1602(uchar hang,uchar lie,uchar *string);/extern uchar date_xyz6;extern int xyz_value3;extern void init_ADXL345();extern void getdate();extern void getangle();ex
28、tern void xianshi();extern void _165_();extern void readxyz_ADXL345_I2C();extern uchar r1byte_ADXL345_I2C(uchar regaddress);extern bit w1byte_ADXL345_I2C(uchar regaddress,uchar date);extern void get_xyz_value();#ifndef _PWM_H_#define _PWM_H_#define uchar unsigned char #define uint unsigned int#defin
29、e full_speed 80/#define correct_speed 0sbit IN1=P10; sbit IN2=P11;sbit ENA=P12;sbit key1=P25;sbit key2=P26;sbit key3=P27;extern void delay(uint xms);extern void init();extern void zheng();extern void zhengjia();extern void zhengjian();extern void fan();extern void fanjia();extern void fanjian();exte
30、rn void stop();extern void tiyi();extern void tier();#endifIIC函數(shù)#include<IAP15F2K61S2.h>#include<function.h>#include<intrins.h>bit ack;void delay_I2C()uchar i;_nop_();_nop_();i = 12;while (-i);void init_I2C()sda=1;scl=1;delay_I2C();void start_I2C()sda=1;scl=1;delay_I2C();sda=0;dela
31、y_I2C();scl=0;void stop_I2C()sda=0;scl=1;delay_I2C();sda=1;delay_I2C();/sda=0;/scl=0;void ack_I2C(bit a)/a=1是非應(yīng)答位,0是應(yīng)答位if(a=0)sda=0;else sda=1;scl=1;delay_I2C();scl=0;if(a=0)sda=1;else sda=0;void w1byte_I2C(uchar date)uchar i2cnt,wtemp;wtemp=date;for(i2cnt=0;i2cnt<8;i2cnt+)wtemp=wtemp<<1;sd
32、a=CY;scl=1;delay_I2C();scl=0; sda=1;scl=1;if(sda=0)ack=1;else ack=0;scl=0;uchar r1byte_I2C()uchar i2cnt,retc;for(i2cnt=0;i2cnt<8;i2cnt+)sda=1;scl=1;retc=(retc<<1)|sda;scl=0; return (retc);1602液晶串口顯示#include<IAP15f2K61S2.h>#include<intrins.h>#define uint unsigned int#define uchar
33、 unsigned charsbit SCL=P07;sbit SDA=P06;/uchar num1;void delay();void delayms(uchar i)uchar j;while(i-)for(j=110;j>0;j-);void IIC_init()SCL=1;delay(); SDA=1;delay(); void IIC_start()SDA=1;delay(); SCL=1;delay(); SDA=0;delay(); void IIC_stop()SDA=0;delay(); SCL=1;delay(); SDA=1;delay(); void IIC_r
34、espons()uchar i;SCL=1;delay();while(SDA=1)&&(i<255) i+;SCL=0;delay(); void Writebyte(uchar byte)uchar i,temp;temp=byte;for(i=0;i<8;i+)temp=temp<<1;SCL=0;delay(); SDA=CY;delay(); SCL=1;delay(); SCL=0;delay(); SDA=1;delay(); void Write_add(uchar address)IIC_start();Writebyte(0x4e);IIC_respons();Writebyte(address);IIC_respons();
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度文化傳媒內(nèi)容制作合同
- 2024年大型活動(dòng)保障車(chē)輛租賃合同
- 2024年上海房屋裝修工程分包合同
- 2024年廉潔承諾函:雙方誠(chéng)信自律協(xié)議
- 教育工作者主要先進(jìn)事跡(5篇)
- 中學(xué)生讀書(shū)演講稿
- 2024年度質(zhì)量控制合同:MLB棒球帽正品知識(shí)分享
- 2024年工程監(jiān)測(cè)與檢測(cè)合同
- 2024室內(nèi)外演唱會(huì)舞臺(tái)安全檢測(cè)合同
- 2024年國(guó)際商貿(mào)合同的科學(xué)與藝術(shù)
- GB/T 17879-2023齒輪磨削后表面回火的化學(xué)浸蝕檢驗(yàn)
- 建設(shè)單位對(duì)監(jiān)理工作要求
- FDS火災(zāi)模擬技術(shù)
- 新版建筑材料構(gòu)配件和設(shè)備管理制度樣本
- 小學(xué)國(guó)防教育公開(kāi)課一等獎(jiǎng)市賽課獲獎(jiǎng)?wù)n件
- 溝通的藝術(shù):看入人里,看出人外
- 人員缺崗應(yīng)急預(yù)案方案
- 水利工程外觀(guān)質(zhì)量評(píng)定標(biāo)準(zhǔn)
- 鋼絲繩使用規(guī)范標(biāo)準(zhǔn)
- 三級(jí)醫(yī)院評(píng)審標(biāo)準(zhǔn)(2023年版)實(shí)施細(xì)則
- 全國(guó)際多式聯(lián)運(yùn)合同 (中英文對(duì)照)
評(píng)論
0/150
提交評(píng)論