版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、大連海洋大學(xué)畢業(yè)設(shè)計(jì)(論文) 第一章 前 言 畢業(yè)論文(設(shè)計(jì))基于單片機(jī)的一種小型避障機(jī)器人的設(shè)計(jì)學(xué) 生 姓 名: 關(guān)惠元 指導(dǎo)教師: 李向軍 專業(yè)名稱: 自動(dòng)化 所在學(xué)院: 信息與工程學(xué)院 2015年5月31目 錄摘 要IAbstractII第一章 前 言11.1研究目的和意義11.2智能機(jī)器人的發(fā)展歷史、現(xiàn)狀以及發(fā)展趨勢(shì)11.3 本課題要解決的問(wèn)題2第二章 總體設(shè)計(jì)方案32.1任務(wù)分析32.2總體方案的設(shè)計(jì)3第三章 硬件電路的設(shè)計(jì)43.1紅外傳感器電路設(shè)計(jì)43.3伺服電機(jī)123.4模數(shù)轉(zhuǎn)換芯片簡(jiǎn)介133.5串口通信簡(jiǎn)介163.6行走路線設(shè)計(jì)19第四章 系統(tǒng)軟件設(shè)計(jì)204.1 軟件簡(jiǎn)介204
2、.2基本巡航動(dòng)作224.3勻加速/減速運(yùn)動(dòng)234.4 避障程序23第五章 結(jié) 論26參考文獻(xiàn)27附錄A28附錄B30附錄C31摘 要隨著科技的進(jìn)步,機(jī)器人的發(fā)展已是一種社會(huì)進(jìn)步的必然趨勢(shì),機(jī)器人技術(shù)的進(jìn)展非常迅速,同時(shí)機(jī)器人在人類領(lǐng)域的應(yīng)用越來(lái)越廣泛,人類已經(jīng)不單單為了探索那些危險(xiǎn)領(lǐng)域,如太空,深海等,在我們的生活中也變得越來(lái)越重要。本次設(shè)計(jì)基于單片機(jī)的簡(jiǎn)單避障機(jī)器人,主要由單片機(jī)、電動(dòng)機(jī)、紅外傳感器和電源等模塊組成,是通過(guò)紅外傳感器采集數(shù)據(jù),經(jīng)過(guò)A/D轉(zhuǎn)換,在經(jīng)由單片機(jī)處理來(lái)控制伺服電機(jī)的轉(zhuǎn)動(dòng),當(dāng)機(jī)器人前行是紅外線發(fā)射器左右兩邊信號(hào)發(fā)射器發(fā)出信號(hào),左右接收器接受信號(hào),當(dāng)左邊出現(xiàn)障礙時(shí),紅外線
3、接收器得到信號(hào)輸出為0,機(jī)器人右轉(zhuǎn),轉(zhuǎn)完后重復(fù)上面程序,當(dāng)右邊遇到障礙時(shí)過(guò)程和左邊動(dòng)作相同。其中單片機(jī)的程序是由VB上位機(jī)顯示程序結(jié)合C語(yǔ)言編程所完成的。關(guān)鍵詞:?jiǎn)纹瑱C(jī) 紅外傳感器 伺服電機(jī) 避障AbstractWith the progress of science and technology, the development of the robot is a kind of trend of social progress, robot technology progress very quickly, at the same time, more and more widely ap
4、plied in the field of robot in the human, the human has not only to explore the dangerous areas, such as space, deep sea and so on, also becomes more and more important in our life. Simple robot obstacle avoidance, this design is based on single chip microcomputer is mainly composed of single chip,
5、motor, infrared sensor and power supply modules, such as through infrared sensors to collect data, after A/D conversion, the processed by single chip microcomputer to control the servo motor rotation, when robots are infrared transmitters on both sides signal emitter signal, control receiver signal
6、reception, when problems to the left, infrared receiver signal output is 0, the robot turn right, turn after repeating the above procedure, when encounter problems when the process is the same as the action on the left on the right. The MCU program by VB PC display program with C language programmin
7、g.Keywords: SCM infrared sensors servo motor obstacle avoidance第一章 前 言1.1研究目的和意義隨著科學(xué)的進(jìn)步和社會(huì)的發(fā)展,人們?yōu)榱颂剿饕恍┪粗念I(lǐng)域,如海洋深處,外太空這些人類不能到達(dá)的地方,機(jī)器人的應(yīng)用越來(lái)越普及,就連我們的日常生活中機(jī)器人的應(yīng)用也日趨變多,如搬運(yùn)、加工、排障,甚至連炒菜都在用。機(jī)器人是多學(xué)科技 術(shù)集成的產(chǎn)物 , 它涉及機(jī)械設(shè)計(jì)與制造技術(shù)往往一個(gè)國(guó)家的機(jī)器人制造水平反映著這個(gè)國(guó)家工業(yè)與制造業(yè)的發(fā)展程度。所以,機(jī)器人的研究越來(lái)越重要。1.2智能機(jī)器人的發(fā)展歷史、現(xiàn)狀以及發(fā)展趨勢(shì)智能機(jī)器人主要由單片機(jī)、電動(dòng)機(jī)、紅外
8、傳感器和電源等模塊組成。一般來(lái)說(shuō),要求在運(yùn)行的過(guò)程中,機(jī)器人車能夠有效的避開前方的障礙物。它的根本原理就是,機(jī)器人在行進(jìn)的過(guò)程中,通過(guò)紅外傳感器發(fā)射接收信號(hào),并將信號(hào)送給單片機(jī),單片機(jī)根據(jù)已經(jīng)設(shè)定好的程序來(lái)命令伺服電機(jī)的轉(zhuǎn)動(dòng),改變機(jī)器人的運(yùn)行方向來(lái)達(dá)到我們想要的避障的目的1。實(shí)用步行機(jī)器人首先在軍事上使用,幫助士兵收集信息,吸引敵人,避免傷害。這種機(jī)器人也將有助于公民救災(zāi)和科學(xué),探索地球危險(xiǎn)地帶,在太空中,探索其他行星和衛(wèi)星。隨著成本下降,行走機(jī)器人就會(huì)出現(xiàn)我們的身邊,改善我們的生活質(zhì)量,尤其是對(duì)我們那些都是老年人,體弱者,或者只是累了在家休息的。在十九世紀(jì)后期,機(jī)器人的設(shè)計(jì)與制造在全球風(fēng)靡,
9、世界上一些著名的公司開始研制移動(dòng)機(jī)器人,因而使得機(jī)器人的研究方向出現(xiàn)了很多種。90年代以來(lái),因?yàn)閭鞲衅骷夹g(shù)的提高,信息處理技術(shù)的發(fā)展,機(jī)器人的適應(yīng)能力越來(lái)越強(qiáng)?,F(xiàn)在的機(jī)器人種類多,應(yīng)用廣。綜合國(guó)外專家的解釋,可普遍認(rèn)為機(jī)器人一般有如下功能的機(jī)器2:(1)行為動(dòng)作與任何動(dòng)物的某些活動(dòng)類似;(2)應(yīng)用性廣,動(dòng)作程序靈活多變;(3)具有學(xué)習(xí),推理,判斷以及學(xué)習(xí)等一定簡(jiǎn)單的智能。(4)有一定獨(dú)立性,在一個(gè)完整的系統(tǒng)里可以不需要人類的操作。隨著智能技術(shù)、pc技術(shù)、自動(dòng)化的發(fā)展,機(jī)器人的發(fā)展必然越來(lái)越好。機(jī)器人近幾年有如下趨勢(shì):(1)性價(jià)比逐步提高,性能不斷提高,而單價(jià)不斷下降。(2)由于PC技術(shù)的發(fā)展,
10、集成電路技術(shù)的不斷提高。機(jī)器人更便于操作,可靠性更強(qiáng),維護(hù)性也大大地提高了。(3)傳感器的發(fā)展越來(lái)越成熟,現(xiàn)在已經(jīng)不單單是簡(jiǎn)單的定位,測(cè)速度等,越來(lái)越像人類來(lái)發(fā)展,如人體所具有的觸覺(jué),聽覺(jué)等,都在用來(lái)建模與控制。 (4)虛擬技術(shù)在機(jī)器人中的作用已經(jīng)不僅僅是模擬,演算,而是向過(guò)控方向發(fā)展3。1.3 本課題要解決的問(wèn)題(1)機(jī)器人電路設(shè)計(jì),讓組成機(jī)器人的各部分可以緊密的配合。(2)紅外傳感器的選擇和調(diào)試,要求信號(hào)強(qiáng),受干擾程度小。(3)運(yùn)用C語(yǔ)言以及VB對(duì)軟件系統(tǒng)的編程編程,做到簡(jiǎn)單有效的避障。(4)考慮生活中種種環(huán)境因素,設(shè)計(jì)出一條路線,讓機(jī)器人能接觸到各種各樣的障礙。第二章 總體設(shè)計(jì)方案2.1
11、任務(wù)分析本設(shè)計(jì)的主要任務(wù)主要是在紅外線傳感器將數(shù)據(jù)采集來(lái)以后經(jīng)過(guò)處理,通過(guò)單片的已經(jīng)編好程序來(lái)控制機(jī)器人的前進(jìn),停止,左右轉(zhuǎn)動(dòng),來(lái)達(dá)到避障的效果。機(jī)器人要實(shí)現(xiàn)下面的4個(gè)基本智能任務(wù): (1)具有紅外傳感器 (2)可以探測(cè)周邊環(huán)境 (3)在紅外傳感器信息上做出判斷 (4)控制機(jī)器人運(yùn)動(dòng)2.2總體方案的設(shè)計(jì)本次設(shè)計(jì)分為傳感器機(jī)構(gòu)、控制機(jī)構(gòu)、執(zhí)行機(jī)構(gòu)、電源四個(gè)硬件。執(zhí)行機(jī)構(gòu)是來(lái)完成行走效果,傳感器機(jī)構(gòu)主要任務(wù)是信息采集,控制機(jī)構(gòu)主要是信息處理,而電源是為前三個(gè)機(jī)構(gòu)提供電力支持。本文研究的小型避障機(jī)器人是以單片機(jī)為核心,通過(guò)紅外傳感器接受信息,利用伺服電動(dòng)機(jī)來(lái)控制機(jī)器人移動(dòng),從而達(dá)到避障效果的。傳感器
12、模塊 紅外裝置 電源模塊控制模塊執(zhí)行器模塊伺服電機(jī)圖1 系統(tǒng)結(jié)構(gòu)框圖大連海洋大學(xué)畢業(yè)設(shè)計(jì)(論文) 第三章 硬件電路的設(shè)計(jì)第三章 硬件電路的設(shè)計(jì)3.1紅外傳感器電路設(shè)計(jì)3.1.1紅外發(fā)射二極管的選擇紅外發(fā)射二極管的按峰值波長(zhǎng)(p)主要為:850nm、870nm、880nm、940nm、980nm,我們接觸較多的850nm和940nm 。本次所用的就是后者,940nm紅外發(fā)射二極管具高強(qiáng)光度,快反應(yīng)度。在紅外遙控,紅外探測(cè),紅外幕墻安保的系統(tǒng)中廣泛的應(yīng)用4。表1 紅外發(fā)射二極管極限參數(shù)參數(shù)名稱符號(hào)額定值單位 正向電流IFM3060mA正向脈沖電流(1)IFPM0.31A 反向電壓VR5V耗散功率P
13、M90mW工作溫度范圍Top-25+80貯存溫度范圍Tst-40+100焊接溫度(2)Tst260注(1): f=1KHz,tp/T1% 注(2): t3s,離器件本體4mm以上 表2 紅外發(fā)射二極管的光電參數(shù)(TA=25)參數(shù)符號(hào)測(cè)試條件規(guī)范值單位正向電壓VFIF50mA1.5V 反向電流IRVR5V10 A法向輻射強(qiáng)度IEIF50mA2mW/sr峰值發(fā)射波長(zhǎng)pIF50mA850940nm光譜半寬度 IF50mA50nm 輻射度角21/2IF50mA16deg圖2 相對(duì)光譜靈敏度與波長(zhǎng)的關(guān)系紅外發(fā)射二極管發(fā)射管的輻射強(qiáng)度(Power)與輸入電流(If)成正比。輻射強(qiáng)度:Power(單位:W,
14、W/sr,W/cm2)的作用就是用來(lái)表示二極管的發(fā)出的信號(hào)強(qiáng)度的大小的5。發(fā)射距離與輻射強(qiáng)度(Power) 成正比。W/sr:是輻射強(qiáng)度的單位,為IR發(fā)射紅外線光之單位立體角(sr)所輻射出的光功率的大小。W/cm2:表示照度的單位,為sensor單位面積(cm2)所接收IR發(fā)射之輻射功率的大小。半功率角:2½ 指紅外線二極管其上下或左右兩邊所輻射出之紅外線強(qiáng)度為該組件最大輻射強(qiáng)度的50%時(shí),其上下或左右兩邊所夾的角度稱為半功率角6。 圖3 30度半功率角輻射強(qiáng)度示意圖3.1.2紅外接收器的選擇本次設(shè)計(jì)選用HS38B,該器件特性:低功耗、高靈敏度、優(yōu)良的抗干擾能力。一般用于家用電器。
15、表3 紅外接收器電路原理 極限參數(shù):電源電壓(v)6.0工作溫度-2585功耗(mw)30儲(chǔ)存溫度-40125光電參數(shù):(T=25 Vcc=5V F0=38Khz)參數(shù)測(cè)試條件MinTypMax工作電壓4.55.51接收距離測(cè)試信號(hào)=300mA1015載波頻率38K接收角度距離衰減+/-45BMP寬度-3Db Bandwidth23.35靜態(tài)電流無(wú)信號(hào)輸入時(shí)0.81.5低電平輸出Vin=0V Vcc=5V0.20.4高電平輸出Vcc=5V4.5輸出脈沖寬度Vin=500Vp-p500600700Vin=50mVp-p500600700注:光軸上測(cè)試,以寬度為600/900s為發(fā)射脈沖,在5CM
16、范圍內(nèi),取50次平均值INWaveformRectifierAGCControlWaveformDetctorATCBOFoscillatorInputAGCPostAmpVCCOUT圖4 HS38B內(nèi)部結(jié)構(gòu)測(cè)試波形inout圖5 測(cè)試紅外接收器的時(shí)序圖在使用說(shuō)明書上我們找到了生產(chǎn)廠商提供的最佳使用條件:項(xiàng)目MINTYPMAX工作電壓2.75.5輸入頻率38工作溫度-102580表4 HS38B最佳使用條件紅外發(fā)射接收器圖6 紅外發(fā)射與接收器機(jī)器人在行進(jìn)過(guò)程中,紅外線二極管發(fā)射光線,在遇到障礙物時(shí),光線反射回來(lái),紅外檢測(cè)器檢測(cè)到,給出信號(hào)到單片機(jī),后者在這個(gè)信號(hào)的基礎(chǔ)上命令電機(jī)轉(zhuǎn)動(dòng)。試驗(yàn)中我們
17、只需要940nm波長(zhǎng)的紅外線,所以我們按了一個(gè)光濾波器,不讓別的波長(zhǎng)的光通過(guò)。為了防止普通光源(陽(yáng)光和燈光)對(duì)IR的干涉,紅外檢測(cè)器還有一個(gè)電子濾波器,它的作用是只允許大約38.0KHz的電信號(hào)通過(guò)。3.2 STC89C52單片機(jī)介紹STC89C52單片機(jī)是高性能、低功耗的CMOS8位單片機(jī)。STC89C52是8051單片機(jī)的增強(qiáng)型,可選擇十二時(shí)鐘周期或六時(shí)鐘周期,指令代碼與傳統(tǒng)8051完全兼容。STC89C52單片機(jī)包括一個(gè)8位的微型處理器CPU,一個(gè)256字節(jié)的片內(nèi)數(shù)據(jù)存儲(chǔ)器,具有 8K 在系統(tǒng)可編程Flash存儲(chǔ)器,片上集成512 字節(jié)RAM,3個(gè)16位計(jì)數(shù)器/定時(shí)器(定時(shí)器T0、T1、
18、T2 ),4個(gè)中斷源的中斷控制系統(tǒng),32個(gè)并行的通用I/O接口(P0-P3),全雙工異步串行接口UART(可以用定時(shí)器軟件實(shí)現(xiàn)多個(gè)UART),片內(nèi)振蕩器和時(shí)鐘發(fā)生電路等7。3.2.2 STC89C52單片機(jī)引腳圖及各引腳功能簡(jiǎn)介STC89C52單片機(jī)的引腳分布圖如圖7所示圖7 STC89C52單片機(jī)的引腳分布包括電源引腳,外接晶體引腳,控制和復(fù)位引腳,輸入和輸出(I/O)引腳。電源引腳Vcc和GND,Vcc接+5 V電壓,GND接地。外接晶體引腳:XTAL 1 :芯片的內(nèi)部有一個(gè)反相放大器的輸出端和輸入端。一般情況下與晶體振蕩器連接。XTAL 2:振蕩器反相放大器的輸入端口??刂埔_:ALE允
19、許地址鎖存,外部擴(kuò)展的并行I/O口或外部存儲(chǔ)器被訪問(wèn)時(shí),AEL 的輸出來(lái)鎖存地址字節(jié)的低八位。通常情況下,地址鎖存控制信號(hào)ALE可用作外部時(shí)鐘或定時(shí)器,此時(shí)其輸出脈沖頻率為振蕩頻率fosc的六分之一。外部數(shù)據(jù)存儲(chǔ)器被訪問(wèn)的時(shí)候,地址鎖存控制信號(hào)ALE脈沖會(huì)被跳過(guò)。需要的時(shí)候,把1寫入地址鎖存控制信號(hào)ALE的使能標(biāo)志位,也就是8EH地址的SFR的第0位,地址鎖存控制信號(hào)ALE是無(wú)效的。復(fù)位引腳:在輸入持續(xù)的兩個(gè)時(shí)鐘周期以上正電平到復(fù)位引腳RST時(shí),單片機(jī)的復(fù)位初始化操作可以由此來(lái)完成。此功能由DISRTO位控制,DISRTO是地址為8EH的特殊寄存器AUXR的一位,DISRTO默認(rèn)值是高電平復(fù)位
20、有效。 PSEN:外部程序存儲(chǔ)器選通信號(hào),在外部代碼在單片機(jī)的外部程序存儲(chǔ)器執(zhí)行的時(shí)候,每半個(gè)機(jī)器周期就激活PSEN一次,在外部數(shù)據(jù)存儲(chǔ)器被訪問(wèn)的時(shí)候,不激活外部程序存儲(chǔ)器選通信號(hào)8。訪問(wèn)外部程序存儲(chǔ)器控制信號(hào)EA:EA接地時(shí),外部程序存儲(chǔ)器讀取指令的地址是0000H-FFFFH。EA接VCC時(shí),執(zhí)行內(nèi)部程序指令。輸入和輸出(I/O)引腳:STC89C52單片機(jī)最多可有32個(gè)I/O口線,分別為9:P 0口:P 0.0-P 0.7,當(dāng)P0口用作輸出口時(shí),P 0.0-P 0.7每個(gè)引腳能驅(qū)動(dòng)八個(gè)TTL負(fù)載,P0口可作為高阻抗輸入(對(duì)P0口輸入1)。P0口是八位雙向I/O口且其屬性是漏極開路的。P0
21、口的復(fù)用功能:可以作為數(shù)據(jù)總線(D 7-D 0)或者地址總線低八位(A7-A0)。P 1口:P 1.0-P 1.7,P1口是八位雙向I/O口,且內(nèi)部帶有上拉電阻,4個(gè)TTL輸入可以被P 1.0-P 1.7輸出緩沖器輸出或者吸收,P1口用為輸入口時(shí),需要把1輸入P1口,P1口的電位被其內(nèi)部的上拉電阻拉高,這個(gè)時(shí)候由于其上拉電阻的緣故,會(huì)有電流從被外部拉低的端口中輸出。復(fù)用功能:P1.1作為計(jì)數(shù)器/定時(shí)器2的觸發(fā)輸入,P1.0作為計(jì)數(shù)器/定時(shí)器2的外部技術(shù)輸入。P 2口:P 2.0-P 2.7是八位雙向I/O端口,且內(nèi)部帶有上拉電阻,4個(gè)TTL輸入可以被P 2.0-P 2.7輸出緩沖器輸出或者吸收
22、。P2口用為輸入口時(shí),需要把1輸入P2口,P2口的電位被其內(nèi)部的上拉電阻拉高,這個(gè)時(shí)候由于其上拉電阻的緣故,會(huì)有電流從被外部拉低的端口中輸出。P2口復(fù)用功能:外部程序存儲(chǔ)器被訪問(wèn)時(shí),地址總線高八位從P2口輸出。P 3口:P 3.0-P 3.7是八位雙向I/O口,且內(nèi)部帶有上拉電阻,4個(gè)TTL輸入可以被P 3.0-P 3.7輸出緩沖器輸出或者吸收。P3口用為輸入口時(shí),需要把1輸入P3口,P3口的電位被其內(nèi)部的上拉電阻拉高,這個(gè)時(shí)候由于其上拉電阻的緣故,會(huì)有電流從被外部拉低的端口中輸出。復(fù)用功能如表5所示引腳復(fù)用功能P3.7RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3.6WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.5T
23、1(定時(shí)器1的外部輸入)P3.4T0(定時(shí)器0的外部輸入)P3.3INT1(外部中斷1)P3.2INT0(外部中斷0)P3.1TXD(串行輸出口)P3.0RXD(串行輸入口)表5 P3口各引腳復(fù)用功能單片機(jī)I/O口的使用:STC89C52單片機(jī)的每個(gè)I/O口能承受的灌電流是20ma,但在實(shí)際應(yīng)用中,為了保護(hù)單片機(jī),一般情況下都會(huì)使用限流電阻,防止I/O口被燒毀。即使輸出時(shí)能輸出20ma的拉電流,實(shí)際也要加限流電阻。STC89C52單片機(jī)芯片的最大工作電流最好不要超過(guò)70ma,也就是從MCU-GND流出的電流不能超過(guò)70ma。STC89C52單片機(jī)的I/O口的驅(qū)動(dòng)能力可以達(dá)到20ma,在實(shí)際使用
24、時(shí),可以采用拉電流方式和灌電流方式。實(shí)際中,應(yīng)盡可能使用灌電流方式,這樣能提高整個(gè)系統(tǒng)的可靠性和負(fù)載能力。STC89C52單片機(jī)新增了16位計(jì)數(shù)器/定時(shí)器2,各個(gè)控制位如表6所示:表6 T2各個(gè)控制位分布76543210TF2EXF2RCLKTCLKEXEN2TR2C/T2CP/RL2T2控制寄存器中各位功能介紹如表7所示:表7 T2控制寄存器中各位功能介紹符號(hào)功能 CP/RL2重裝載/捕獲選擇。在CP/RL2的值為0時(shí),如果EXEN2的值也為1,而且T2EX端脈沖由正變負(fù),這時(shí)執(zhí)行捕獲操作。當(dāng)CP/RL的值為的值為1時(shí),如果EXEN2的值為1,定時(shí)器T2溢出時(shí),且負(fù)跳變脈沖作用于T2EX端,
25、就能執(zhí)行自動(dòng)重裝載操作。在RCLK的值為1時(shí),或者TCLK的值為1時(shí),CP/RL2無(wú)效,只有在定時(shí)器T2溢出的情況下才會(huì)強(qiáng)制它自動(dòng)重裝載。C/T2決定定時(shí)器T2工作于計(jì)數(shù)方式還是定時(shí)方式的控制位。當(dāng)C/T2的值為0時(shí),該位可以選擇定時(shí)方式,當(dāng)C/T2的值為1時(shí),該位可以選擇對(duì)外部事件技術(shù)方式,而且是下降沿才能觸發(fā)。TR2決定定時(shí)器T2啟動(dòng)還是停止的控制位。當(dāng)TR2的值為1時(shí),定時(shí)器T2就會(huì)啟動(dòng)。EXEN2定時(shí)器T2的外部允許控制位。在EXEN2的值為1時(shí),若串行口的波特率發(fā)生器不是定時(shí)器T2,當(dāng)負(fù)跳變脈沖作用于T2EX端口時(shí),就能激活定時(shí)器T2重裝載或捕獲。在EXEN2的值為0時(shí),定時(shí)器T2的
26、接收端是無(wú)效的外部信號(hào)。TCLK發(fā)送時(shí)鐘允許。在TCLK的值為1時(shí),串口的發(fā)送時(shí)鐘由定時(shí)器T2溢出脈沖提高,當(dāng)TCLK的值為0時(shí),發(fā)送脈沖由定時(shí)器T1的溢出脈沖提高。RCLK接收時(shí)鐘允許。在RCLK的值為1時(shí),串口的接收時(shí)鐘由定時(shí)器T2的溢出脈沖提供,在RCLK的值為0時(shí),接收脈沖由定時(shí)器T1的溢出脈沖提供。EXF2定時(shí)器T2外部標(biāo)志位。在EXEN2的值為1時(shí),還要在脈沖由正變負(fù)時(shí)作用于定時(shí)器T2的接收端引腳上或者有捕獲或重裝載出現(xiàn)的時(shí)候,這時(shí)EXF2會(huì)置位,并開始申請(qǐng)中斷。這個(gè)時(shí)候如果允許定時(shí)器T2中斷,那么CPU就會(huì)響應(yīng)中斷,定時(shí)器T2 的中斷程序運(yùn)行,只能用軟件對(duì)EXF2清除。
27、當(dāng)DCEN=1時(shí),EXF2不能激活中斷。TF2定時(shí)器T2溢出標(biāo)志位。當(dāng)定時(shí)器T2溢出時(shí),硬件使其置位,只能用軟件對(duì)其清零;在RCLK的值為1時(shí),或者TCLK的值為1時(shí),定時(shí)器T2溢出,不對(duì)TF2置位10。當(dāng)模式是捕獲時(shí),2個(gè)選項(xiàng)由EXEN2設(shè)置,EXEN2的值為0時(shí), T2用作16位計(jì)數(shù)器或定時(shí)器,至于是定時(shí)器還是計(jì)數(shù)器由T2CON中的C/T2位決定,當(dāng)TF2置位時(shí)溢出,TF2還能產(chǎn)生中斷,該功能由定時(shí)器2的中斷使能位決定。EXEN2=1時(shí),同上,但外部輸入T2EX從“1”跳變到“0”時(shí),RCAP2L捕獲TL2的當(dāng)前值,而RACP2H捕獲TH2的當(dāng)前值。此外,T2EX的由正變負(fù)能使E
28、XF2置位,EXF2產(chǎn)生中斷,該功能由定時(shí)器2的中斷使能位決定。中斷服務(wù)程序可以確定引起中斷的事件,具體確定方法是查詢TF2和EXF2來(lái)確定。在捕獲模式中,千萬(wàn)不能重新裝載TH2和TL2的值,在T2EX有捕獲時(shí)間時(shí),計(jì)數(shù)器仍按T2EX的由正變負(fù)計(jì)數(shù),或者在六時(shí)鐘模式時(shí),按晶振頻率的六分之一計(jì)數(shù),在十二時(shí)鐘模式時(shí),按晶振頻率的一半計(jì)數(shù)。在16位的自動(dòng)重裝模式中,定時(shí)器/計(jì)數(shù)器的選擇可以由C/T2來(lái)決定,遞增或者遞減由其編寫的程序控制。遞減計(jì)數(shù)使能位DCEN決定計(jì)數(shù)的方向,T2MOD寄存器包含遞減計(jì)數(shù)使能位DCEN4。在DCEN為“0”時(shí),向上計(jì)數(shù)是定時(shí)器2的默認(rèn)設(shè)置;在DCEN為“1”時(shí),遞增計(jì)
29、數(shù)還是遞減計(jì)數(shù)由T2中的T2EX來(lái)決定。在DCEN為“0”時(shí),T2自動(dòng)遞增計(jì)數(shù)。在這種模式中,EXEN2位的設(shè)置決定地址。當(dāng)EXEN2為“0”時(shí),TF2置位前溢出,T2遞增計(jì)數(shù)到0FFFFH的地址,然后定時(shí)器2把RCAP2H的8位數(shù)值與RCAP2L的8位的數(shù)值重新裝載??梢酝ㄟ^(guò)軟件設(shè)置RCAP2H和RCAP2L的值。3.3伺服電機(jī)3.3.1伺服電機(jī)的介紹電動(dòng)機(jī)的作用是將電能轉(zhuǎn)換為機(jī)械能, 電動(dòng)機(jī)根據(jù)使用電源不同分為直流電動(dòng)機(jī)和交流電動(dòng)機(jī)兩種,在本次設(shè)計(jì)的電機(jī)選擇上我們就有步進(jìn)電機(jī)和直流電機(jī)兩種,我們選擇的是直流伺服電機(jī)(servo motor ),伺服電機(jī)是指在伺服系統(tǒng)中控制機(jī)械元件運(yùn)轉(zhuǎn)的發(fā)動(dòng)
30、機(jī),是一種間接變速裝置。伺服電機(jī)可的優(yōu)點(diǎn)就是可以控制速度,精確度也非常準(zhǔn)確,可以把電壓信號(hào)轉(zhuǎn)換成電機(jī)的轉(zhuǎn)矩與轉(zhuǎn)速來(lái)控制驅(qū)動(dòng)。伺服電機(jī)轉(zhuǎn)子轉(zhuǎn)速在輸入信號(hào)控制下快速反應(yīng),在自動(dòng)控制系統(tǒng)中,用作執(zhí)行原件,且具有時(shí)間常數(shù)小、可控性強(qiáng),線性度高等優(yōu)點(diǎn),可把所收到的電信號(hào)轉(zhuǎn)換成電動(dòng)機(jī)軸上的角位移或角速度輸出。本次設(shè)計(jì)使用的直流伺服電機(jī)特點(diǎn)11: 1.體積小、動(dòng)作快、反應(yīng)快、過(guò)載能力大、調(diào)速范圍寬 2.低速力矩大, 波動(dòng)小,運(yùn)行平穩(wěn) 3.低噪音,高效率 4.后端編碼器反饋(選配)構(gòu)成直流伺服等優(yōu)點(diǎn) 5.變壓范圍大,頻率可調(diào)3.3.2 伺服電機(jī)的信號(hào)控制電機(jī)轉(zhuǎn)速為零的控制信號(hào)時(shí)序圖1.3ms的控制脈沖序列使電
31、機(jī)順時(shí)針全速旋轉(zhuǎn)1.7ms的控制脈沖序列使電機(jī)順時(shí)針全速旋轉(zhuǎn)3.4模數(shù)轉(zhuǎn)換芯片簡(jiǎn)介如今電子市場(chǎng)上模數(shù)轉(zhuǎn)換的芯片有很多,但芯片功能、模數(shù)轉(zhuǎn)換速度、模數(shù)轉(zhuǎn)換精確度的高低都不相同,但是對(duì)用戶來(lái)講,無(wú)論什么芯片,都肯定要包括轉(zhuǎn)換啟動(dòng)信號(hào)輸入口、模擬信號(hào)輸入口、數(shù)字信號(hào)輸出口、轉(zhuǎn)換結(jié)束信號(hào)輸出端這幾部分。其中模擬信號(hào)輸入口包括雙極性和單極性的,數(shù)字信號(hào)輸出口還包括串行口和并行口。除了這基本的幾部分,不同類型的芯片可能還會(huì)有控制信號(hào)端。至于選擇哪種模數(shù)芯片,要根據(jù)自身的需要和技術(shù)參數(shù),一般情況下還需了解模數(shù)芯片的其他兩個(gè)特性: (1)數(shù)字信號(hào)輸出端是否有可控的三態(tài)輸出。數(shù)字信號(hào)輸出端有可控三態(tài)輸出的模數(shù)轉(zhuǎn)
32、換芯片,單片機(jī)的數(shù)據(jù)總線可以與模數(shù)轉(zhuǎn)換芯片的輸出端直接相連,模數(shù)轉(zhuǎn)換完成以后,選通三態(tài)門,此操作由讀數(shù)信號(hào)RD來(lái)完成,最后把轉(zhuǎn)換的數(shù)據(jù)送到總線。如果數(shù)字信號(hào)輸出端沒(méi)有可控三態(tài)輸出。這種芯片有兩種情況,一種是芯片內(nèi)部本身就沒(méi)有輸出三態(tài)門,另一種是雖然芯片有三態(tài)門,但是模數(shù)芯片外部不可控。數(shù)字信號(hào)輸出端沒(méi)有可控三態(tài)輸出的模數(shù)芯片不能將數(shù)據(jù)輸出線與單片機(jī)的數(shù)據(jù)總線直接相連,這種芯片通過(guò)I/O接口才能與單片機(jī)進(jìn)行信息交換。 (2)要看模數(shù)芯片啟動(dòng)轉(zhuǎn)換時(shí)控制方式是電平控制式還是脈沖控制式。如果模數(shù)轉(zhuǎn)換芯片啟動(dòng)轉(zhuǎn)換是脈沖控制式的,需要一個(gè)脈沖信號(hào),但這個(gè)脈沖信號(hào)要符合芯片要求,把這個(gè)脈沖施加在啟動(dòng)轉(zhuǎn)換引腳
33、上,模數(shù)轉(zhuǎn)換就能啟動(dòng)并且自動(dòng)完成。通常情況下,能與單片機(jī)配合使用的芯片,單片機(jī)的I/O端口寫脈沖都能滿足模數(shù)轉(zhuǎn)換芯片對(duì)啟動(dòng)脈沖的要求。如果模數(shù)轉(zhuǎn)換芯片啟動(dòng)轉(zhuǎn)換是電平控制式的,這就需要一個(gè)規(guī)定的電平作為啟動(dòng)信號(hào),并且在轉(zhuǎn)換過(guò)程中該電平保持恒定。如果轉(zhuǎn)換中途撤消或者改變規(guī)定的電平,模數(shù)轉(zhuǎn)換芯片就會(huì)停止模數(shù)轉(zhuǎn)換,那么得到的結(jié)果很可能是錯(cuò)誤的。所以,一定要用可編程并行I/O接口芯片的一位或者D觸發(fā)器來(lái)鎖存這個(gè)規(guī)定的電平,從而保持該電平保持恒定。 3.4.1 ADC 0809芯片的主要技術(shù)參數(shù)和特性本設(shè)計(jì)選擇的芯片是ADC0809 。ADC 0809轉(zhuǎn)換精度為7位,它是CMOS元器件,ADC0809的A
34、DC部分是8位的,而且是逐次逼近型的,除此之外,ADC 0809還擁有通道尋址邏輯和模擬多路開關(guān),它們也都是8通道的。因此完全可以把ADC 0809當(dāng)作一個(gè)簡(jiǎn)單的數(shù)據(jù)采集系統(tǒng)??梢灾苯影?個(gè)單端的模擬信號(hào)輸入ADC 0809進(jìn)行分時(shí)A/D轉(zhuǎn)換,這種方法普遍應(yīng)用于過(guò)程控制、巡回多點(diǎn)檢測(cè)和運(yùn)動(dòng)控制。 ADC 0809的分辨率為8位,還具有可控的三態(tài)輸出緩存器。芯片的外接電源為額定電壓+5V。 ADC 0809模擬輸入電壓的范圍分為單極性和雙極性兩種,單極性時(shí)為05V;雙極性時(shí)為固定的±5V,±10V,這種情況需要一定的外接電路。 ADC 0809的模數(shù)轉(zhuǎn)換時(shí)間由芯片的時(shí)鐘頻率所
35、決定。使用ADC 0809芯片時(shí)不需要調(diào)節(jié)它的滿刻度和零點(diǎn)。ADC 0809啟動(dòng)模數(shù)轉(zhuǎn)換時(shí)控制方式是脈沖式的,而且是正脈沖,脈沖的上升沿能把所有的內(nèi)部寄存器都清零,脈沖的下降沿則控制A/D轉(zhuǎn)換的開始12。 3.4.2 ADC 0809芯片各引腳功能簡(jiǎn)介ADC 0809的內(nèi)部結(jié)構(gòu)和外部引腳分布分別如圖8和圖9所示。內(nèi)部結(jié)構(gòu)和工作原理可以通過(guò)下圖看出,不需要再重新贅述一番。圖8 ADC0809芯片的內(nèi)部結(jié)構(gòu)圖9 ADC0809芯片的外部引腳分布ADC 0809芯片的各引腳功能介紹如下:(1)IN0IN7:這是8路模擬量輸入端,其中的任意一路的選擇都是通過(guò)ADDA、ADDB、ADDC這3根地址譯碼線
36、的置零和置一來(lái)決定的。 (2)D7D0:模數(shù)轉(zhuǎn)換結(jié)束后的數(shù)字量輸出端,這8位數(shù)字量輸出端排列順序是D0是最低位,從D0-D7依次升高,D7是最高位。因?yàn)檫@八個(gè)引腳是三態(tài)可控輸出,所以可以與單片機(jī)的數(shù)據(jù)線直接連接。(3)ALE:地址鎖存允許信號(hào),當(dāng)該引腳是高電平或上升沿時(shí)有效。當(dāng)?shù)刂锋i存允許信號(hào)引腳是高電平或上升沿時(shí),芯片會(huì)鎖存ADDC、ADDB、ADDA這三位地址信號(hào),模擬通道與譯碼選通對(duì)應(yīng)。在使用該引腳時(shí),地址鎖存允許信號(hào)通常情況下和START信號(hào)連接,這樣可以鎖存啟動(dòng)A/D轉(zhuǎn)換和鎖存通道地址。(4)ADDC、ADDB、ADDA:模擬信號(hào)通道選擇的地址信號(hào),從ADDA到ADDC位數(shù)依次升高。
37、地址信號(hào)和選中的通道一一對(duì)應(yīng),即ADDC、ADDB、ADDA都為零時(shí),對(duì)應(yīng)的被選擇的通道是IN0,ADDC、ADDB、ADDA分別為0、0、1時(shí),被選擇的通道是IN1,ADDC、ADDB、ADDA分別為0、1、0時(shí),被選擇的通道是IN2,ADDC、ADDB、ADDA分別為0、1、1時(shí),被選擇的通道是IN3,ADDC、ADDB、ADDA分別為1、0、0時(shí),被選擇的通道是IN4,ADDC、ADDB、ADDA分別為1、0、1時(shí),被選擇的通道是IN5,ADDC、ADDB、ADDA分別為1、1、0時(shí),被選擇的通道是IN6,ADDC、ADDB、ADDA分別為1、1、1時(shí),被選擇的通道是IN7 。(5)OE
38、:輸出允許信號(hào),該引腳是正脈沖或者上升沿時(shí)有效。當(dāng)輸出允許信號(hào)引腳是高電平的時(shí)候,表示模數(shù)轉(zhuǎn)換結(jié)束;當(dāng)輸出允許信號(hào)引腳是低電平的時(shí)候,表示模數(shù)轉(zhuǎn)換正在進(jìn)行。在單片機(jī)發(fā)出輸出允許信號(hào)的時(shí)候,ADC 0809打開輸出三態(tài)門,數(shù)據(jù)總線把轉(zhuǎn)換結(jié)果讀走。當(dāng)是中斷工作方式的時(shí)候,輸出允許信號(hào)引腳可以向CPU申請(qǐng)中斷。(6)START:模數(shù)轉(zhuǎn)換啟動(dòng)信號(hào),該引腳是正脈沖或者上升沿時(shí)有效。模數(shù)轉(zhuǎn)換啟動(dòng)信號(hào)引腳上的正脈沖或脈沖上升沿能促使逐次逼近寄存器置零,模數(shù)轉(zhuǎn)換啟動(dòng)信號(hào)引腳上脈沖的下降沿促使開始模數(shù)轉(zhuǎn)換。如果芯片正在進(jìn)行模數(shù)轉(zhuǎn)換過(guò)程中,又有新的啟動(dòng)脈沖到該引腳,那么原來(lái)的模數(shù)轉(zhuǎn)換進(jìn)程就會(huì)中斷,開始重新從頭轉(zhuǎn)換
39、。 (7)VREF+、VREF-:正參考電壓輸入端和負(fù)參考電壓輸入端,用作逐次逼近的基準(zhǔn),為片內(nèi)DAC電阻網(wǎng)絡(luò)提供一個(gè)基準(zhǔn)電壓。當(dāng)輸入是單極性的時(shí)候,VREF+通常情況下為+5V,VREF-通常情況下為0V;當(dāng)輸入為雙極性的時(shí)候,VREF+接正極性的參考電壓,VREF-接負(fù)極性的參考電壓。 (8)EOC:轉(zhuǎn)換結(jié)束信號(hào),該引腳是正脈沖或者上升沿時(shí)有效。在模數(shù)轉(zhuǎn)換進(jìn)程中時(shí),轉(zhuǎn)換結(jié)束信號(hào)引腳的信號(hào)是低電平,否則,轉(zhuǎn)換結(jié)束信號(hào)引腳的信號(hào)就是高電平。轉(zhuǎn)換結(jié)束信號(hào)引腳的信號(hào)可以向CPU發(fā)送中斷請(qǐng)求信號(hào),CPU也可以查詢轉(zhuǎn)換結(jié)束信號(hào)引腳的狀態(tài)信號(hào)。當(dāng)不斷采樣模擬信號(hào)和模數(shù)轉(zhuǎn)換時(shí),轉(zhuǎn)換結(jié)束信號(hào)引腳能當(dāng)作啟動(dòng)信
40、號(hào),和START端接在一起,但是需要外加電路第一次啟動(dòng)。 ADC0809芯片的工作時(shí)序如圖10所示:圖10 ADC0809芯片的工作時(shí)序在通道選擇地址有效時(shí),ALE(地址鎖存允許信號(hào))一旦有信號(hào),就立即鎖存地址,與地址鎖存允許信號(hào)同時(shí)出現(xiàn)轉(zhuǎn)換啟動(dòng)信號(hào),有時(shí)候是地址鎖存允許信號(hào)之后是轉(zhuǎn)換啟動(dòng)信號(hào)。而START(A/D轉(zhuǎn)換啟動(dòng)信號(hào))的上升沿會(huì)促使逐次逼近寄存器復(fù)位,在這個(gè)上升沿之后8個(gè)時(shí)鐘周期加上2s的時(shí)間內(nèi),EOC(轉(zhuǎn)換結(jié)束信號(hào))的信號(hào)會(huì)變成低電平,表明A/D轉(zhuǎn)換正在進(jìn)行中,A/D轉(zhuǎn)換結(jié)束后,轉(zhuǎn)換結(jié)束信號(hào)再變高電平。單片機(jī)接收到轉(zhuǎn)換結(jié)束信號(hào)的高電平信號(hào)后,會(huì)立即送出OE(輸出允許信號(hào))信號(hào),打開
41、輸出三態(tài)門,進(jìn)而讀取A/D轉(zhuǎn)換結(jié)果。選擇模擬輸入通道和A/D轉(zhuǎn)換開始操作是可以相互獨(dú)立的兩個(gè)部分,但是ADC 0809允許選擇模擬輸入通道和啟動(dòng)模數(shù)轉(zhuǎn)換結(jié)合起來(lái),所以,通常情況下,把它們結(jié)合起來(lái)完成。這樣做的好處是可以用一條指令既啟動(dòng)轉(zhuǎn)換又能選擇模擬通道。在與單片機(jī)接口時(shí),有兩種方法選擇輸入通道,一種通過(guò)數(shù)據(jù)總線選擇,另一種是通過(guò)地址總線選擇13。 如果要用EOC信號(hào)去向CPU請(qǐng)求中斷,要特別留心啟動(dòng)信號(hào)后2s+8個(gè)時(shí)鐘周期的時(shí)間內(nèi)才是EOC信號(hào)電平的變低。所以,最好的方法是利用EOC的上升沿產(chǎn)生中斷請(qǐng)求。 3.5串口通信 3.5.1串口通信簡(jiǎn)介串口通信的概念是串口是按位接收和發(fā)送字節(jié)的。串口
42、通信比并行通信慢,但串口通信結(jié)構(gòu)和原理簡(jiǎn)單,使用時(shí)價(jià)格低,還能夠?qū)崿F(xiàn)遠(yuǎn)距離通信(但遠(yuǎn)距離通信要在限制內(nèi)),因?yàn)榇谕ㄐ拍苁褂靡桓鶖?shù)據(jù)線發(fā)送數(shù)據(jù),而且在同一時(shí)間可以在另一根數(shù)據(jù)線接收數(shù)據(jù)。串口通信包括地線,發(fā)送和接收3根線。因?yàn)榇谕ㄐ攀钱惒降?,串口通信能使用一根?shù)據(jù)線發(fā)送數(shù)據(jù),而且在同一時(shí)間可以在另一根數(shù)據(jù)線接收數(shù)據(jù)。串口通信最重要的參數(shù)有(1)起始位(2)數(shù)據(jù)位(3)停止位(4)奇偶校驗(yàn)(5)波特率。這5個(gè)參數(shù)必須匹配時(shí)這兩個(gè)端口才能進(jìn)行串行通信: 1.起始位:先低位后高位是數(shù)據(jù)傳送的順序,不定長(zhǎng)度的空閑位存在于字符之間。起始位“0”是開始傳送的信號(hào),告訴接收方開始傳送,接收設(shè)備在接收狀態(tài)下
43、不停地檢測(cè)傳送數(shù)據(jù)線,當(dāng)接收方在檢測(cè)到一系列的“1”后,檢測(cè)到一個(gè)“0”,就表明出現(xiàn)起始位,數(shù)據(jù)開始接收。 2.數(shù)據(jù)位:在串口通信中,數(shù)據(jù)位是實(shí)際數(shù)據(jù)位的參數(shù)。在一個(gè)信息由發(fā)送端發(fā)送時(shí),這個(gè)信息包括起始位、奇偶校驗(yàn)位、數(shù)據(jù)位和停止位。位于起始位和校檢位之間的數(shù)據(jù)就是數(shù)據(jù)位,在沒(méi)有校檢位的時(shí)候,則位于起始位和停止位之間的是數(shù)據(jù)位。3.奇偶校驗(yàn)位:它是一種檢錯(cuò)方式存在于串口通信過(guò)程中,校驗(yàn)位是可有可無(wú)的。奇校驗(yàn)、偶校驗(yàn)、高校驗(yàn)和低校驗(yàn)是奇偶校驗(yàn)位的四種檢錯(cuò)方式。奇校驗(yàn)和偶校驗(yàn)時(shí),校驗(yàn)位由串口設(shè)置,奇?zhèn)€或偶個(gè)邏輯高位的傳輸數(shù)據(jù)用一個(gè)值保證。低位校驗(yàn)和高位校驗(yàn)并不是真正的檢查數(shù)據(jù),它們只是邏輯高時(shí)置位
44、,邏輯低時(shí)校驗(yàn)。這就使得接收設(shè)備能很清楚一個(gè)位的狀態(tài),進(jìn)一步判斷接收數(shù)據(jù)和傳輸數(shù)據(jù)是否同步,是否有噪聲干擾串口通訊等等。4.停止位:它表示串口通信中傳輸數(shù)據(jù)的最后一位。因?yàn)樵趥鬏斁€上數(shù)據(jù)是定時(shí)的,且每個(gè)設(shè)備的時(shí)鐘都不相同,在通訊中有可能兩個(gè)設(shè)備會(huì)有小小的不同步。因此停止位不但表示數(shù)據(jù)傳輸?shù)慕Y(jié)束,還提供了設(shè)備校正時(shí)鐘同步的機(jī)會(huì)。 5.波特率:在串口通信中,它是表示通信速度的參數(shù)。表示通信中每秒傳送位的個(gè)數(shù)。一般電話線的波特率為15200、36600、28800和14400。當(dāng)然波特率還可以更大,但是波特率越大,通信距離距離就越短。通常距離很近設(shè)備間的通信才用高波特率。現(xiàn)在社會(huì)上使用最多的串行通信
45、接口是RS-232。如圖所示:圖11 串行通信接口是RS-232接口相對(duì)于信號(hào)地而言,才叫做收發(fā)端的數(shù)據(jù)信號(hào)。高低電平之間來(lái)回?cái)[動(dòng)是RS-232典型的信號(hào),發(fā)送數(shù)據(jù)時(shí),五到十五伏之間的正電平和負(fù)十五伏到負(fù)五伏之間的負(fù)電平作用于發(fā)送端驅(qū)動(dòng)器。沒(méi)有傳輸數(shù)據(jù)的時(shí)候,線上電平是TTL,數(shù)據(jù)傳送從開始到結(jié)束的進(jìn)程中,從TTL電平轉(zhuǎn)換到RS-232電平,再返回TTL電平是線上電平的變化過(guò)程。從+3V到+12V和從-3V到-12V是接收器常見(jiàn)的工作電平。因?yàn)榻邮针娖胶桶l(fā)送電平的值相差也就2V到3V上下,所以它的共模抑制能力有點(diǎn)差,還有雙絞線上分布電容的影響,15米是它的最大傳送距離,而且最高速率不超過(guò)20k
46、b/s。另外,RS-232是為點(diǎn)對(duì)點(diǎn)通信,也就是說(shuō)只用一對(duì)收發(fā)設(shè)備。如圖所示:圖12 下位機(jī)和上位機(jī)的接線方法全雙工串行通訊接口具有UART所有的功能,STC89C52單片機(jī)內(nèi)部這種接口,并且可以編程。 在異步通信時(shí),接收數(shù)據(jù)和發(fā)送數(shù)據(jù)都由自己的時(shí)鐘(RCLK與TCLK)控制,但必須要和字符位數(shù)的波特率一致。發(fā)送和接收的過(guò)程如下:串行口發(fā)送啟動(dòng)是從執(zhí)行一條寫SBUF的指令開始的,就是說(shuō)SBUF被CPU寫入數(shù)據(jù)時(shí),串行口發(fā)送過(guò)程就已經(jīng)開始了。然后同步移位脈沖,除了方式0,低位在前面,高位在后面,依次是起始位、數(shù)據(jù)位、停止位從TXD引腳開始一位一位地向外發(fā)送。串行口接收的狀態(tài)由允許接收位REN決定
47、,允許接收器接收的條件是用軟件置REN為“1”。一位接一位的數(shù)據(jù)被接收端RXD接收,然后RXD把這些數(shù)據(jù)送入輸入移位寄存器,并且輸入移位寄存器最左面是起始位,控制電路最后一次移位的時(shí)候,把“1”寫入接收中斷標(biāo)志RI,向CPU申請(qǐng)中斷。SBUF中的數(shù)據(jù)被CPU讀入累加器。接收中斷標(biāo)志RI和TI都是由硬件置位,但需要用軟件復(fù)位14。3.5.2 串口通信的四種工作方式 方式0:串行口工作于這種方式時(shí),串行數(shù)據(jù)由收信號(hào)線RXD來(lái)輸出或輸入,移位脈沖由TXD輸出,發(fā)送的數(shù)據(jù)是8位,接收的數(shù)據(jù)也是8位,低位在前面,高位在后面。它的波特率是固定的,也就是振蕩頻率fosc的十二分之一16。 方式1:串行口工作
48、于方式1時(shí)是10位的幀格式,8位數(shù)據(jù)位、1位停止位和1位起始位組成這十位數(shù)據(jù)。這種工作方式下,串行口的波特率是可以變化的,具體的大小隨著定時(shí)器T1的溢出率的變化而變化。 方式2:串行口工作于方式2時(shí)是11位的幀格式,數(shù)據(jù)位八位和附加的第九位、起始位一位和停止位一位組成這十一位數(shù)據(jù)。這種工作方式下,它的波特率固定為晶振頻率的三十二分之一或六十四分之一。方式3:串行口工作于方式3時(shí)幀格式為11位,數(shù)據(jù)位八位和附加的第九位、起始位一位和停止位一位組成這十一位數(shù)據(jù)。這種工作方式下,它的波特率是可以變化的,具體的大小隨著定時(shí)器T1的溢出率的變化而變化。第9位附加的數(shù)據(jù),發(fā)送的時(shí)候?yàn)镾CON寄存器中的TB
49、8,接收的時(shí)候?yàn)镾CON中的RB8,清零或置位由軟件來(lái)決定,多機(jī)通信中這個(gè)附加的數(shù)據(jù)可當(dāng)作地址/數(shù)據(jù)信息的標(biāo)志位,或者還可以作為數(shù)據(jù)的奇偶校驗(yàn)位。3.5.3 串口通信設(shè)備的連接因?yàn)榇谑荰TL電平,不同于RS232電平。所以PC機(jī)和單片機(jī)通信時(shí)必須轉(zhuǎn)換電平,電平轉(zhuǎn)換器典型器件是MAX232,5V是它的供電引腳。一般情況下選擇最簡(jiǎn)單的連接方法:三線制連接串口。就是只和計(jì)算機(jī)的串口的9針的3根線連接:第2腳的RXD、第3腳的TXD和第5腳的GND。3.6行走路線設(shè)計(jì)為了更好的測(cè)試機(jī)器人在行進(jìn)過(guò)程中的避障效果,特意設(shè)計(jì)一個(gè)有直線,弧形,以及S型彎的簡(jiǎn)易跑道。這樣設(shè)計(jì)的主要目的是,在機(jī)器人行走的過(guò)程中
50、,既可以遇到障礙物左轉(zhuǎn),又可以遇到障礙物右轉(zhuǎn),同時(shí)直線行走又很好的測(cè)試了機(jī)器人的行走能力。 圖13賽道實(shí)際圖大連海洋大學(xué)畢業(yè)設(shè)計(jì)(論文) 第四章 系統(tǒng)軟件設(shè)計(jì)第四章 系統(tǒng)軟件設(shè)計(jì)要做好本次設(shè)計(jì)光有硬件是不夠的,還要有相應(yīng)的軟件系統(tǒng)來(lái)配合。本次設(shè)計(jì)中軟件主要的任務(wù)是完成軟件編程使單片機(jī)、紅外線傳感器,電動(dòng)機(jī)正常工作。c語(yǔ)言編程普及與絕大多數(shù)軟件,并且教程資料頁(yè)很豐富,所以軟件編程采用c語(yǔ)言編程。4.1 軟件簡(jiǎn)介4.1.1單片機(jī)編程部分本次設(shè)計(jì)的核心編程選擇c語(yǔ)言進(jìn)行編程,因?yàn)橛胏語(yǔ)言對(duì)單片機(jī)編程具有明顯的優(yōu)勢(shì),因?yàn)閏語(yǔ)言編程具有簡(jiǎn)潔方便、使用靈活等特點(diǎn)。而且c語(yǔ)言是高級(jí)編程語(yǔ)言,可以結(jié)構(gòu)化編程,
51、還可以移植。c語(yǔ)言編寫的規(guī)范的程序,甚至能夠原封不動(dòng)的移植到不同的計(jì)算機(jī)系統(tǒng)內(nèi),就算是單片機(jī)等嵌入式芯片,c語(yǔ)言編寫的程序也很少需要改動(dòng),最重要的是c語(yǔ)言編寫的程序容易讀懂,易于維護(hù)。相對(duì)來(lái)講,對(duì)于不同的操作系統(tǒng)和不同的單片機(jī)等微控制器,匯編語(yǔ)言的編程指令都是完全不同的,或者就算編程的某些指令相似,匯編語(yǔ)言也不能夠直接移植。而且要讀懂匯編語(yǔ)言的程序,必須要讀懂微控制器的操作指令和微控制器各個(gè)寄存器的說(shuō)明。另外,匯編語(yǔ)言程序的維護(hù)和修改也相對(duì)麻煩。 本次設(shè)計(jì)對(duì)單片機(jī)進(jìn)行c語(yǔ)言編程的軟件選擇Keil,Keil C51是51系列單片機(jī)C語(yǔ)言軟件編程開發(fā)系統(tǒng),由美國(guó)Keil Software公司研發(fā)的
52、。Keil由c語(yǔ)言編譯器、庫(kù)管理、連接器和仿真調(diào)試器等幾部分通過(guò)開發(fā)環(huán)境(uVision)組成。美國(guó)Keil Software公司于一九九八年推出Keil C51編譯器以來(lái),先后推出了Keil uVision2、Keil uVision3、Keil uVision4等,直到今天的Keil uVision5,從單一的為8051單片機(jī)提供編譯環(huán)境到可以調(diào)試各種型號(hào)的單片機(jī)、ARM7、ARM9等嵌入式芯片開發(fā)工具,如今更是控制領(lǐng)域開發(fā)工具的佼佼者。4.1.2 編程 VB的全稱是Microsoft Visual Basic17 ,是美國(guó)微軟集團(tuán)開發(fā)的用于Wintows操作系統(tǒng)下事件驅(qū)動(dòng)編程語(yǔ)言,在當(dāng)今世界,VB是所有編程語(yǔ)言中全球使用人數(shù)最多的編程語(yǔ)言,因?yàn)閂B編程語(yǔ)言的簡(jiǎn)潔方便和迅速快捷,所以,大多數(shù)初學(xué)者都更傾向于把VB編程語(yǔ)言作為進(jìn)入計(jì)算機(jī)編程的入門語(yǔ)言。1991年,美國(guó)微軟集團(tuán)研發(fā)并推廣了Microsoft Visual Basic 1.0。引起了當(dāng)時(shí)業(yè)界和社會(huì)上很大的關(guān)注。許多社會(huì)人士和多數(shù)學(xué)者專家都認(rèn)為軟件開發(fā)歷史上一個(gè)具有里程碑的重大事件就是 VB 的誕生。因?yàn)樵?991年,VB開創(chuàng)性的可視化的編程模式是史無(wú)前例的,軟件工作者們對(duì)此欣喜之極,因?yàn)榭梢暬管浖ぷ髡叩墓ぷ髯兊每旖莘奖?,而且很?shí)用,所以軟件工作者都試著在VB的操作平臺(tái)上進(jìn)行工作。隨著VB的良好前景愈加明朗,美
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022年安徽省淮北市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2023年黑龍江省黑河市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2024年遼寧省大連市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 2021年安徽省合肥市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2021年四川省瀘州市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2022年江西省九江市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2024年物業(yè)買賣合同范本(含物業(yè)服務(wù)企業(yè)信息公開)3篇
- 2024年綠化景觀工程苗木采購(gòu)承包合同2篇
- 2022-2024年中考道德與法治試題分項(xiàng)匯編:友誼的天空(解析版)
- 2024戊方提供財(cái)務(wù)咨詢服務(wù)合同
- 滬教2011課標(biāo)版三年級(jí)起點(diǎn)五年級(jí)下冊(cè)《Buying Clothes》說(shuō)課稿
- 幼兒園教職工教代會(huì)會(huì)議記錄
- 車輛移交安全協(xié)議書
- 《涑水記聞》2021年江蘇鎮(zhèn)江中考文言文閱讀真題(含答案與翻譯)
- 家庭家教家風(fēng)·家庭美德·文明家庭主題班會(huì)
- 廬山云霧閱讀答案千姿百態(tài)
- 個(gè)人營(yíng)業(yè)執(zhí)照注銷委托書范文
- 影像敘事語(yǔ)言智慧樹知到答案章節(jié)測(cè)試2023年中國(guó)傳媒大學(xué)
- 鋼筋工具箱實(shí)訓(xùn)任務(wù)指導(dǎo)課件項(xiàng)目三整體框架角柱構(gòu)造
- 流體力學(xué)(清華大學(xué)張兆順54講) PPT課件 1
- 騰訊績(jī)效考核方案設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論