




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 . . . 1 / 56 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(論計(論 文)文)題題 目:目: 基于 CVI 可視界面的直流電機(jī) 測控系統(tǒng)的設(shè)計 學(xué)生 曉敏 指導(dǎo)教師 國樹 二級學(xué)院 機(jī)電工程學(xué)院 專 業(yè) 電氣工程與其自動化 班級06 電氣工程與其自動化 學(xué)號 0605120108 提交日期 2010 年 5 月 12 日 答辯日期 2010 年 5 月 15 日 . . . I / 56目 錄摘要摘要 IIIIIIABSTRACTABSTRACTIVIV第一章第一章 設(shè)計的總體思想設(shè)計的總體思想 5 5第二章第二章 直流電動機(jī)直流電動機(jī) 2 22.1 直流電機(jī)的概述 2第三章第三章 LABWINDOWS
2、/CVILABWINDOWS/CVI 的簡介的簡介 5 53.1 虛擬儀器的簡介 53.2 虛擬儀器的結(jié)構(gòu) 53.3 LABWINDOWS/CVI 編程語言 7第四章第四章 硬件設(shè)計硬件設(shè)計 8 84.1 硬件的簡介 84.2 設(shè)計原理圖各部分的說明 114.2.1 直流電動機(jī)正轉(zhuǎn)、反轉(zhuǎn)以與停轉(zhuǎn) 114.2.2 直流電動機(jī)轉(zhuǎn)速檢測方法 114.2.3 直流電動機(jī)的控制方法 134.3 RS-232 通信電路 144.3.1 串行通信與并行通信 144.3.2 異步串行通信的數(shù)據(jù)傳送格式 154.3.3 RS-232 接口電路圖與其功能說明 16第五章第五章 直流電動機(jī)的調(diào)速與檢測的軟件的設(shè)計直
3、流電動機(jī)的調(diào)速與檢測的軟件的設(shè)計 19195.1 直流電動機(jī)的 PWM 程序設(shè)計 195.2 直流電動機(jī)的檢測子程序 215.3 串口通信的程序 22第六章第六章上位機(jī)的軟件設(shè)計上位機(jī)的軟件設(shè)計 2525 . . . II / 566.1 CVI 界面的設(shè)計 256.2 串口參數(shù)選擇 256.4 電機(jī)的控制 296.5 調(diào)試好的 CVI 界面 31結(jié)論結(jié)論 3232參考文獻(xiàn)參考文獻(xiàn) 3333致致 3535附錄附錄 3636附錄一 直流電動機(jī)控制的總體原理圖 36附錄二 直流電動機(jī)控制的程序 36附錄二:CVI 上位機(jī)的軟件設(shè)計 40 . . . III / 56基于 CVI 可視界面的直流電機(jī)
4、測控系統(tǒng)的設(shè)計摘要直流電動機(jī)由于具有良好的起動、制動性能,適宜在大圍平滑調(diào)速等特點(diǎn),在許多需要調(diào)速或快速正反向的電力拖動系統(tǒng)中得到了廣泛的應(yīng)用。本設(shè)計應(yīng)用單片機(jī)(AT89S52)來實(shí)現(xiàn)直流電機(jī)的雙向控制、轉(zhuǎn)速的檢測和顯示、波形的整形和利用 RS232 與計算機(jī)進(jìn)行通信的過程,其中利用 Labwindows/CVI 編寫上位機(jī)用戶界面軟件來實(shí)時的獲取直流電機(jī)的轉(zhuǎn)速。設(shè)計中用 protel99SE 完成電路原理圖的繪制,實(shí)現(xiàn)了系統(tǒng)硬件模塊的搭建,利用 Proteus 對原理圖進(jìn)行仿真,最后利用專業(yè)編程語言和 keilc 軟件對設(shè)計的電路進(jìn)行編程。關(guān)鍵詞:單片機(jī) Labwindows/CVI RS2
5、32 串口通信 protel99SE keilc . . . IV / 56CVI-basedCVI-based visualvisual interfaceinterface ofof thethe DCDC MotorMotor ControlControl SystemSystemAbstractAbstractDC motor as a good start, braking performance, suitable for a large range of speed and so smooth in many needed fast forward and reverse spe
6、ed or power drive system has been widely used.The design application MCU (AT89S52) to achieve bi-directional DC motor control, speed detection and display, waveform shaping and the use RS232 to communicate with the computer process, including use of Labwindows / CVI preparation of PC user interface
7、software for real-time DC motor speed.Design using protel99SE complete circuit schematic drawing, hardware modules to achieve system structures,using Proteus schematic diagram of the simulation, the final use of specialized programming languages and software design of the circuit keilc programming.K
8、eywords:SCM Labwindows/CVI RS232 serial communication protel99SE keilc . . . 5 / 56第一章 設(shè)計的總體思想本設(shè)計要完成的任務(wù)是利用單片機(jī)來控制直流電動機(jī), 并設(shè)計其硬件電路,包括直流電機(jī)雙向控制電路,轉(zhuǎn)速檢測電路,波形整形電路、轉(zhuǎn)速顯示電路、RS232 通信電路。其中單片機(jī)負(fù)責(zé)底層的對電機(jī)的 PWM 控制,分為正轉(zhuǎn)和反轉(zhuǎn),轉(zhuǎn)速分為低速、中速、高速。單片機(jī)還負(fù)責(zé)獲取光電傳感器檢測到的轉(zhuǎn)盤轉(zhuǎn)速(即電機(jī)的轉(zhuǎn)速),并用整形電路對波形整形。同時還利用單片機(jī)的串口與計算機(jī)通信,在 LabWindows/CVI 中編寫上位機(jī)用
9、戶界面軟件,向單片機(jī)發(fā)送改變轉(zhuǎn)速的命令,按照正轉(zhuǎn)和反轉(zhuǎn)與轉(zhuǎn)速(低、中、高),來實(shí)時控制電機(jī),并采集其電機(jī)轉(zhuǎn)速數(shù)據(jù)。采用巴特沃斯濾波器進(jìn)行濾波,實(shí)時顯示電機(jī)轉(zhuǎn)速波形,并將采集到的數(shù)據(jù)保存在.txt 文件中。設(shè)計結(jié)構(gòu)圖如圖 1 所示:圖1 設(shè)計的結(jié)構(gòu)圖PWM輸出89S52單片機(jī)功率驅(qū)動器整形電路顯示波形直流電機(jī)轉(zhuǎn)速的控制光電傳感器CVI 上位機(jī)RS232方向的控制 . . . 2 / 56第二章 直流電動機(jī)2.1 直流電機(jī)的概述在現(xiàn)實(shí)生活中,直流電動機(jī)較為常見,因?yàn)榇蟛糠值碾妱油婢咧惺褂玫亩际侵绷麟妱訖C(jī),這一類直流電動機(jī)體積小、功率低、轉(zhuǎn)速高,在一些比較小的場合十分適用,但它的特性與大型直流電動機(jī)
10、十分相似。從控制的角度來看,直流調(diào)速還是交流拖動系統(tǒng)的基礎(chǔ)。早期直流電動機(jī)的控制均以模擬電路為基礎(chǔ)。由運(yùn)算放大器、非線性集成電路以與少量的數(shù)字電路組成,控制系統(tǒng)的硬件部分非常復(fù)雜,功能單一,而且系統(tǒng)非常不靈活、調(diào)試?yán)щy,阻礙了直流電動機(jī)控制技術(shù)的發(fā)展和應(yīng)用圍的推廣。隨著單片機(jī)技術(shù)的日新月異。使許多控制功能與算法可以采用軟件技術(shù)來完成,不但為直流電動機(jī)的控制提供了更大的靈活性,而且使系統(tǒng)能達(dá)到了更高的性能,從而大大節(jié)約了人力資源,降低了系統(tǒng)成本,有效地提高了工作效率。1、直流電動機(jī)的工作原理直流電動機(jī)由轉(zhuǎn)子部分和定子部分組成。轉(zhuǎn)子部分由電樞和換向器組成。電樞由漆包線纏繞在特殊形狀的鐵氧體上構(gòu)成,
11、換向器是電樞繞組的線圈引出端,通常情況下,直流電動機(jī) 有3個繞組,那么換向器就有3個,由于換向器的存在,使得電樞繞組的電流在不同的磁極下電流的方向不同,從而保證直流電動機(jī)的轉(zhuǎn)子能夠向一個方向旋轉(zhuǎn)。定子部分由勵磁和電刷(碳刷)組成。在直流電機(jī)中勵磁部分大都是由永久磁鐵構(gòu)成,電刷一般由銅片構(gòu)成,與換向器進(jìn)行滑動接觸,用于將外部加載的直流電壓傳送到電樞繞組中。(1)、直流電動機(jī)的電磁轉(zhuǎn)矩 直流電動機(jī)的工作原理圖如圖2所示:圖2 直流電動機(jī)的原理圖 . . . 3 / 56F為導(dǎo)體受到的電磁力,該值大小為:F=Bli,式中,B為導(dǎo)體所在處的磁通密度;l為導(dǎo)體在磁場中的長度;i為導(dǎo)體中流過的電流。由于電
12、磁力的存在,使得沿著電樞的外圓切線方向產(chǎn)生電磁轉(zhuǎn)矩。直流電動機(jī)產(chǎn)生的電磁轉(zhuǎn)矩作為驅(qū)動轉(zhuǎn)矩使直流電動機(jī)旋轉(zhuǎn)。當(dāng)直流電動機(jī)帶著負(fù)載勻速旋轉(zhuǎn)時,其輸出轉(zhuǎn)矩必定與負(fù)載轉(zhuǎn)矩相等,但直流電動機(jī)的輸出轉(zhuǎn)矩不是電磁轉(zhuǎn)矩。因?yàn)橹绷麟妱訖C(jī)本身的機(jī)械摩擦(例如軸承的摩擦、電刷和換向器的摩擦等)和電樞鐵芯中的渦流、磁滯損耗都要引起阻轉(zhuǎn)矩,此轉(zhuǎn)矩用T0表示。這樣,直流電動機(jī)的輸出轉(zhuǎn)矩T2便等于電磁轉(zhuǎn)矩T減去直流電動機(jī)本身的阻轉(zhuǎn)矩T0。所以,當(dāng)直流電動機(jī)克服負(fù)載阻轉(zhuǎn)矩TL勻速旋轉(zhuǎn)時,則有:T2=T-T0=TL表明,當(dāng)直流電動機(jī)穩(wěn)態(tài)運(yùn)行時,其輸出轉(zhuǎn)矩的大小由負(fù)載阻轉(zhuǎn)矩決定。實(shí)際上,直流電動機(jī)經(jīng)常運(yùn)行在轉(zhuǎn)速變化的情況下,例如
13、啟動、停轉(zhuǎn)或反轉(zhuǎn)等,以此必須考慮轉(zhuǎn)速轉(zhuǎn)速改變時的轉(zhuǎn)矩平衡關(guān)系。當(dāng)直流電動機(jī)的轉(zhuǎn)速改變時,由于電動機(jī)與負(fù)載具有轉(zhuǎn)動慣量,將產(chǎn)生慣性轉(zhuǎn)矩Tj,即:Tj=Jd/dt式中,J為負(fù)載和電動機(jī)轉(zhuǎn)動部分的轉(zhuǎn)動慣量,即折算到電動機(jī)軸上的轉(zhuǎn)動慣量; 為電動機(jī)的角速度;d/dt為電動機(jī)的角加速度。這時電動機(jī)軸上的轉(zhuǎn)矩平衡方程式為:T2-TL=Tj=Jd/dt(1)或: T2=TL+Tj=TL+Jd/dt(2)式2表明當(dāng)輸出轉(zhuǎn)矩T2大于負(fù)載轉(zhuǎn)矩TL時,d/dt0,說明電動機(jī)在加速;當(dāng)輸出轉(zhuǎn)矩T2小于負(fù)載轉(zhuǎn)矩TL時,d/dt0,說明電動機(jī)在減速??梢姶耸奖硎巨D(zhuǎn)速變化時電動機(jī)軸上的轉(zhuǎn)矩平衡關(guān)系,所以稱為電動機(jī)的動態(tài)轉(zhuǎn)矩
14、平衡方程式。2、 電動機(jī)的特性當(dāng)直流電動機(jī)的轉(zhuǎn)速N=0時,此時電動機(jī)上的電流最大,電流值的大小可以根據(jù)式Ist=Ua/Ra進(jìn)行計算(Ist時直流電動機(jī)的啟動電流)。出現(xiàn)N=0的情況有兩種:一種是直流電動機(jī)在啟動的瞬間;另一種情況是電動機(jī)堵轉(zhuǎn),即當(dāng)電動機(jī)運(yùn)行時,如果外加阻轉(zhuǎn)矩過大,造成直流電動機(jī)停轉(zhuǎn)的現(xiàn)象。這兩種情況的出現(xiàn)對于直流電動機(jī)來說都是比較致命的。所以在保證直流電動機(jī)能夠正常啟動的同時最好能降低啟動電流,在直流電動機(jī)運(yùn)行過程中為了防止電動機(jī)出現(xiàn)堵轉(zhuǎn)現(xiàn)象,如果有條件的話可以在電動機(jī) . . . 4 / 56軸上加裝飛輪裝置,或者在選擇電動機(jī)時,考慮好需要帶動負(fù)載的大小,一般的,最好讓直流電
15、動機(jī)帶動全部負(fù)載時的功率的60%-80%,這樣既保護(hù)了直流電動機(jī),同時效率也比較高。 . . . 5 / 56第三章 Labwindows/CVI 的簡介3.1 虛擬儀器的簡介虛擬儀器是計算機(jī)技術(shù)、儀器技術(shù)和通信技術(shù)相結(jié)合的產(chǎn)物。虛擬儀器的目的是利用計算機(jī)強(qiáng)大資源使硬件技術(shù)軟件化,分立元件模塊化,降低程序開發(fā)的復(fù)雜程度,增強(qiáng)系統(tǒng)的功能和靈活性。虛擬儀器基于計算機(jī)的軟硬件測試平臺,它可以代替?zhèn)鹘y(tǒng)的測量儀器,如示波器、邏輯分析儀、信號發(fā)生器、頻譜分析儀等;可集成自動控制、工業(yè)控制系統(tǒng);可自由構(gòu)建專有儀器系統(tǒng)。它由計算機(jī)、應(yīng)用軟件和儀器硬件組成。虛擬儀器系統(tǒng)是將儀器硬件搭載到計算機(jī)平臺,并輔以相應(yīng)軟
16、件而構(gòu)成的。虛擬儀器通過軟件將計算機(jī)硬件資源與儀器硬件有機(jī)地融合為一體,從而把計算機(jī)強(qiáng)大的計算處理能力和儀器硬件的測量、控制能力結(jié)合在一起,大大降低了儀器硬件的成本,并通過軟件實(shí)現(xiàn)對數(shù)據(jù)的顯示、存儲以與分析處理功能。從發(fā)展史看,電子測量儀器經(jīng)歷了由模擬儀器、智能儀器到虛擬儀器三個階段。如果在計算機(jī)中插入數(shù)據(jù)采集卡,利用計算機(jī)高速計算能力完成儀器信號的分析與處理、結(jié)果的輸出,就可以把傳統(tǒng)儀器的所有功能模塊集成在一臺計算機(jī)上,軟件稱為儀器系統(tǒng)的關(guān)鍵。虛擬儀器技術(shù)的優(yōu)勢在于可由用戶自己定義通用儀器系統(tǒng),且功能靈活,很容易構(gòu)建,所以應(yīng)用面極為廣泛,尤其在科研、開發(fā)、測量、檢測、計量、控制等領(lǐng)域,更是不
17、可多得優(yōu)秀開發(fā)工具。虛擬儀器技術(shù)先進(jìn),符合國際上流行的“硬件軟件化”的發(fā)展趨勢。它功能強(qiáng)大,可實(shí)現(xiàn)示波器、邏輯分析儀、頻譜儀信號發(fā)生器等多種普通儀器全部功能,配以專用探頭和軟件,還可以檢測特定系統(tǒng)的參數(shù);它操作靈活,完全圖形化界面;它集成方便,不但可以和高速數(shù)據(jù)采集設(shè)備構(gòu)成自動測量系統(tǒng),而且可以和控制設(shè)備構(gòu)成自動控制系統(tǒng)。3.2 虛擬儀器的結(jié)構(gòu)一個典型的數(shù)據(jù)采集控制系統(tǒng)由傳感器、信號調(diào)理電路、數(shù)據(jù)采集卡(板)、計算機(jī)、控制執(zhí)行設(shè)備五部分組成。一個好的數(shù)據(jù)采集產(chǎn)品不僅應(yīng)具備良好性能和高可靠性,還應(yīng)提供高性能的驅(qū)動程序和簡單易用的高層語言接口,使用戶能較快速地建立可靠的應(yīng)用系統(tǒng)。近年來,由于多層電
18、路板、可編程儀器 . . . 6 / 56放大器、即插即用、系統(tǒng)定時控制器、多數(shù)據(jù)采集板實(shí)時系統(tǒng)集成總線、高速數(shù)據(jù)采集的雙緩沖區(qū)以與實(shí)現(xiàn)數(shù)據(jù)高速傳送的中斷、DMA(直接存儲器存?。┑燃夹g(shù)的應(yīng)用,使得最新的數(shù)據(jù)采集卡能保證儀器級的高準(zhǔn)確度與可靠性。軟件是虛擬儀器測控方案的關(guān)鍵。虛擬儀器的軟件系統(tǒng)主要分為四層結(jié)構(gòu):系統(tǒng)管理層、測控程序?qū)?、儀器驅(qū)動層和I/O接口層。I/O接口驅(qū)動程序完成特定外部硬件設(shè)備的擴(kuò)展、驅(qū)動和通信。驅(qū)動軟件有如下的基本功能。 以特定的采樣頻率獲取數(shù)據(jù)。 在處理器運(yùn)算的同時提取數(shù)據(jù)。 使用編程的I/O、中斷和DMA傳送數(shù)據(jù)。 在磁盤上存取數(shù)據(jù)流。 同時執(zhí)行幾種功能。 集成一個以
19、上的DAQ卡。 同信號調(diào)理器結(jié)合在一起。虛擬儀器硬件系統(tǒng)包括GPIB(IEE488.2)、VXI、插入式數(shù)據(jù)/圖像采集板、串行通信與網(wǎng)絡(luò)等幾類I/O接口。虛擬儀器測試系統(tǒng)構(gòu)成方案如圖3所示:Active XDDESQL系統(tǒng)執(zhí)行測試報告統(tǒng)計過程控 制系統(tǒng)管理虛擬儀器模塊測控程序儀器驅(qū)動軟件儀器驅(qū)動IEE488.2VXI/VISADAQ接口IMAQ接口I/O 接口GPIB儀器串行儀器VXI儀器DAQ儀器IMAQ板卡儀器硬件 . . . 7 / 56圖 3 虛擬儀器測試系統(tǒng)構(gòu)成方案 . . . 8 / 563.3 Labwindows/CVI 編程語言Labwindows/CVI是一個完全的ANSI
20、 C開發(fā)環(huán)境,用于儀器控制、自動檢測、數(shù)據(jù)處理的應(yīng)用軟件。它以ANSI C為核心,將功能強(qiáng)大、使用靈活的C 語言平臺與用于數(shù)據(jù)采集、分析和顯示的測控專業(yè)工具有機(jī)結(jié)合起來。它的交互式開發(fā)平臺、交互式編程方法、豐富的功能面板和函數(shù)庫大大增強(qiáng)了C語言的功能,為熟悉C語言的開發(fā)人員建立自動化檢測系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、過程控制系統(tǒng)等提供了一個理想的軟件開發(fā)環(huán)境。Labwindows/CVI的一般特性: 提供了標(biāo)準(zhǔn)函數(shù)庫和交互式函數(shù)面板。 利用便捷的用戶界面編輯器,代碼創(chuàng)建向?qū)c函數(shù)庫,實(shí)現(xiàn)可視化用戶界面的建立、顯示和控制。 利用向?qū)Ш秃瘮?shù)庫開發(fā)IVI驅(qū)動程序和控制ActiveX服務(wù)器。 提供了部分特定儀器
21、的驅(qū)動。 可創(chuàng)建和編輯NI-DAQmx任務(wù)。 . . . 9 / 56第四章 硬件設(shè)計4.1 硬件的簡介本設(shè)計的控制核心是單片機(jī)AT89S52。其部結(jié)構(gòu)如圖4所示:圖4 單片機(jī)的部結(jié)構(gòu)AT89S52是一種低功耗、高性能COMS 8位微控制器,具有8KB系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash存儲器允許程序存儲器ISP可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和可ISP編程的Flash存儲器,使得AT89S52為眾多嵌入式應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:
22、8KBFlash存儲器,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,3個16位定時器/計數(shù)器,一個6向量2級終端結(jié)構(gòu),全雙工串行口,片晶振與時鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持兩種軟件可選擇節(jié)點(diǎn)模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作;掉電保護(hù)模式下,RAM容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。I/O存儲器EPROM/ROM定時/計數(shù)器運(yùn)算器控制器中斷CPU片內(nèi)振蕩器RAM/SFP并行口存儲器擴(kuò)展控制器串行口XTAL . . . 9 / 56圖5 單片機(jī)的引腳圖管腳說明:VC
23、C:供電電壓。GND: 接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于部上拉的緣故。在FLASH編程和校驗(yàn)時,P1口作為第八位地址接收。 P2口:P2口為一個部上拉
24、電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的容。P2口在FLASH編程和校驗(yàn)時接收高八位地址信號和控制信號。 P3口:P3口管腳是8個帶部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被部上拉為高電平,并用作輸入。作為輸
25、入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示: P3.0 RXD(串行輸入口) 。 . . . 10 / 56P3.1 TXD(串行輸出口) 。P3.2 /INT0(外部中斷0) 。P3.3 /INT1(外部中斷1) 。P3.4 T0(記時器0外部輸入) 。P3.5 T1(記時器1外部輸入) 。P3.6 /WR(外部數(shù)據(jù)存儲器寫選通) 。P3.7 /RD(外部數(shù)據(jù)存儲器讀選通) 。P3口同時為閃爍編程和編程校驗(yàn)接收一些控制信號。 RST:復(fù)位輸入。ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于
26、鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。ALE/PROG:地址鎖存允許信號端。當(dāng) 89C51 上電正常工作后,ALE 引腳不斷向外輸出正脈沖信號,此頻率位振蕩器頻率 fosc 的 1/6.當(dāng) CPU 訪問片外存儲器時,ALE 輸出信號作為鎖存低 8 位地址的控制信號。平時不訪問片外存儲器時,ALE 端也以振蕩頻率的 1/6 固定輸出正脈沖,因而 ALE 信號可以用作對外輸出時鐘或定時信號。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個 ALE 脈沖。如想禁止 ALE 的輸出可在 SFR8EH 地址上置 0。此時, ALE 只有在執(zhí)行 MOVX,MOVC 指令是
27、ALE 才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài) ALE 禁止,置位無效。ALE 端的負(fù)載驅(qū)動能力為 8 個 LS型 TTL(低功耗甚高速 TTL)負(fù)載。此引腳的第二功能/PROG 在對片帶有4KBFLASH ROM 的 89C51 編程寫入(固化程序)時,作為編程脈沖輸入端。/PSEN:程序存儲允許輸出信號端。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN 有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN 信號將不出現(xiàn)。/EA/VPP:外部程序存儲器地址允許輸入端/固化編程電壓輸入端。當(dāng)/EA引腳接高電平時,CPU 只訪問片 FLASH ROM 并執(zhí)行部程序
28、存儲器中的指令;但當(dāng) PC(程序計數(shù)器)的值超過 0FFFH(4KB)時,將自動轉(zhuǎn)去執(zhí)行片外程序存儲器的程序。當(dāng)輸入信號/EA 引腳接低電平時,CPU 只訪問片外 FLASH ROM 并執(zhí)行部程序存儲器中的指令;而不管是否有部程序存儲器。需要注意的是,如果位LB1 被編程,則復(fù)位時在部會鎖存/EA 端的狀態(tài)。當(dāng)/EA 端保持高電平時,CPU 則執(zhí)行部程序存儲器中的程序。在 FLASH ROM編程期間,此引腳也用于施加 12V 編程允許電源(VPP)。XTAL1:接外部晶體和微調(diào)電容的一端。在片,它是振蕩電路反相放大器的輸入端。在采用外部時鐘時,則該引腳輸入外部時鐘脈沖。 . . . 11 /
29、56XTAL2:接外部晶體和微調(diào)電容的另一端。它是振蕩電路反相放大器的輸出端,振蕩電路額頻率就是晶體的固有頻率。若需采用外部時鐘電路,則該引腳懸空。4.2 設(shè)計原理圖各部分的說明4.2.1 直流電動機(jī)正轉(zhuǎn)、反轉(zhuǎn)以與停轉(zhuǎn)本設(shè)計采用晶體三極管來控制直流電動機(jī)的正、反轉(zhuǎn)以與停轉(zhuǎn),原理圖如圖6所示:圖6 直流電動機(jī)正轉(zhuǎn)、反轉(zhuǎn)以與停轉(zhuǎn)的原理圖當(dāng)PWM1為高電平,PWM2為低電平時,三極管Q2、Q3、Q6均導(dǎo)通,使得直流電動機(jī)正轉(zhuǎn),同理,當(dāng)PWM1為低電平,PWM2為高電平時,直流電動機(jī)反轉(zhuǎn)。當(dāng)PWM1和PWM2同時為低電平時,三極管Q1、Q2均能工作,電路中的其他部分均不工作,直流電動機(jī)停轉(zhuǎn)。當(dāng)PWM1
30、和PWM2同時為高電平時,三極管Q1、Q2均不能工作,直流電機(jī)也停轉(zhuǎn)。該電路板可以直接通過引線或插針的形式與單片機(jī)相連。4.2.2 直流電動機(jī)轉(zhuǎn)速檢測方法在應(yīng)用直流電動機(jī)作為執(zhí)行部件時,如果要很好地控制直流電動機(jī),首先要知道直流電動機(jī)的轉(zhuǎn)速。對于轉(zhuǎn)速的檢測,方法有很多,常用到的傳感器有:霍爾傳感器、光電傳感器、旋轉(zhuǎn)編碼器等。其中霍爾傳感器是應(yīng)用磁感應(yīng)的方 . . . 12 / 56式進(jìn)行檢測,由于其安裝結(jié)構(gòu)的限制,這種傳感器檢測的精度很低,所以常常用在高轉(zhuǎn)速并且對精度要求不高的場合;旋轉(zhuǎn)編碼器的檢測精度非常高,通常旋轉(zhuǎn)一圈可輸出幾百至幾千個脈沖,適用于轉(zhuǎn)速較低的場合,但是這種傳感器價格較比其他
31、傳感器高很多,一般情況下不予采用;光電傳感器的檢測精度介于前兩種傳感器之間,安裝簡單、價格較低,所以是設(shè)計中的首選。光電傳感器有時又為光電開光,具有體積小、功能多、壽命長、精度高、響應(yīng)速度快、檢測距離遠(yuǎn),以與抗電磁干擾能力強(qiáng)等優(yōu)點(diǎn),同時由于光電傳感器屬于非接觸式檢測器件,對檢測對象不會造成損傷,所以被應(yīng)用到很多領(lǐng)域中。透射式光電傳感器是將砷化鎵紅外發(fā)光管和硅光敏三極管等,以相對的方向裝在中間帶槽的支架上。當(dāng)槽無物體時,砷化鎵發(fā)光管發(fā)出的光直接照在硅光敏三極管的窗口上,從而產(chǎn)生一定大的電流輸出,當(dāng)有物體經(jīng)過槽時則擋住光線,光敏管無輸出,以此可識別物體的有無。適用于光電控制、光電計量等電路中,可檢
32、測物體的有無、運(yùn)動方向、轉(zhuǎn)速等方面。利用透射式光電傳感器檢測的電路圖如圖7所示:圖7 透射式光電傳感器檢測速度的電路圖可是當(dāng)直流電動機(jī)高速旋轉(zhuǎn),并且光電碼盤上的條紋或孔較多時,在示波器上看到的波形對單片機(jī)來說,識別起來十分困難。為了能夠讓單片機(jī)準(zhǔn)確識別光電傳感器輸出的信號,可以在傳感器的輸出端連接一個具有施密特觸發(fā)特性的器件或是連接一個比較器。其原理圖如圖8所示: . . . 13 / 56圖8 應(yīng)用74LS14為輸出波形整形的電路圖4.2.3 直流電動機(jī)的控制方法直流電動機(jī)在使用時需要在電動機(jī)的兩個接線端上加載電壓,電壓的高低直接影響電動機(jī)的轉(zhuǎn)速,這取決于兩者之間的關(guān)系:n=(U-IR)/C
33、e上式中,U為加載在電動機(jī)兩端的直流電壓,I為直流電動機(jī)的工作電流,R為直流電動機(jī)線圈的等效阻,Ce=PN/(60a),其中,P為電極的極對數(shù),N為電樞繞組總導(dǎo)體數(shù),a為支路對數(shù),通常表示為2a,即電刷間的并聯(lián)支路數(shù),這個參數(shù)與電動機(jī)繞組的具體結(jié)構(gòu)有關(guān),所以Ce是一個常數(shù)由電動機(jī)本身的結(jié)構(gòu)參數(shù)有關(guān),為每極總磁通。由于我們買到的直流電動機(jī),其機(jī)械結(jié)構(gòu)已經(jīng)固定,勵磁部分為永久磁鐵,所以式中的R、Ce和已經(jīng)固定,只能改變加載在直流電動機(jī)兩端的直流電壓。所以,常見的直流電動機(jī)轉(zhuǎn)速控制方法是調(diào)節(jié)直流電壓。電壓調(diào)節(jié)的兩種方法:D/A轉(zhuǎn)換器輸出法和PWM輸出法。由于D/A轉(zhuǎn)換器大多是電流輸出型,需要外接運(yùn)算
34、放大器才能轉(zhuǎn)換成電壓,另外由于運(yùn)算放大器輸出的電流有限,如果直接連接到直流電動機(jī)將會造成直流電動機(jī)的轉(zhuǎn)矩過小和運(yùn)算放大器過熱的現(xiàn)象,所以建議采用PWM輸出方法。該方法可以利用單片機(jī)的一個I/O引腳作為PWM的輸出端,輸出信號控制大功率晶體管的開啟和關(guān)閉,以控制電動機(jī)的運(yùn)轉(zhuǎn)和停止,當(dāng)PWM的頻率足夠高時,由于電動機(jī)的繞組是感性負(fù)載,具有儲能的作用,對PWM輸出的高低電平起到了平波的作用,在電動機(jī)的兩端可以近似得到直流電壓值,PWM的占空比越高,電 . . . 14 / 56動機(jī)獲得的直流電壓越高,反之,PWM的占空比越低,電動機(jī)獲得的直流電壓越低。PWM的周期對于控制直流電動機(jī)的轉(zhuǎn)速和轉(zhuǎn)動特性有
35、十分重要的作用。當(dāng)PWM的周期較長,占空比較小時,在一個周期加載在直流電動機(jī)兩端電壓的時間為100ms,而電動機(jī)失去電壓的時間為900ms,在這段時間,電動機(jī)線圈繞組的電流已經(jīng)釋放完畢(當(dāng)電動機(jī)轉(zhuǎn)速較低時,線圈繞組的性質(zhì)顯現(xiàn)為阻性,感性較少),電動機(jī)在部繞組的轉(zhuǎn)動慣量下將繼續(xù)向前轉(zhuǎn)動,如果負(fù)載的轉(zhuǎn)矩較大,那么此時電動機(jī)的轉(zhuǎn)速跌落很快,甚至出現(xiàn)停轉(zhuǎn)的現(xiàn)象,只有下一個PWM周期到來時,電動機(jī)才能重新轉(zhuǎn)動起來,如此循環(huán)。當(dāng)PWM的周期較短、占空比仍然為10%時,在一個周期直流電動機(jī)獲得電壓的時間為0.1ms,而失去電壓的時間為0.9ms,在這段時間,直流電動機(jī)線圈繞組的電流并不會釋放完畢(主要取決于
36、繞組感性的大小),直流電動機(jī)繼續(xù)轉(zhuǎn)動,當(dāng)下一個PWM周期到來時,直流電動機(jī)重新獲得電壓,如此循環(huán),直流電動機(jī)不再有停轉(zhuǎn)的現(xiàn)象。4.3 RS-232 通信電路4.3.1 串行通信與并行通信在微型計算機(jī)系統(tǒng)中,MCU與外圍電路通信的基本方式有兩種,如圖9所示:并行通信數(shù)據(jù)的各位同時傳送串行通信數(shù)據(jù)一位一位順序傳送圖9 MCU與外圍電路通信的方式外部RAM擴(kuò)展電路、基本“I/O”擴(kuò)展電路、實(shí)時時鐘電路、鍵盤電路、LCD接口電路都是采用并行通信方式,從圖上可以看出,在并行通信中,數(shù)據(jù)有多少位就需要多少條傳送線。而串行通信只需要一對傳送線,故串行通信能節(jié)省傳送線,特別是當(dāng)數(shù)據(jù)位數(shù)很多和傳送距離較遠(yuǎn)時,這
37、一優(yōu)點(diǎn)更加突MCUMCU或外圍電路D1D2Dn狀態(tài)控制D0 . . . 15 / 56出。A/D采樣電路就是串行通信的一個應(yīng)用,當(dāng)然串行通信還包括許多其他的通信形式,比如RS-232、CAN總線等。串行通信的主要缺點(diǎn)是數(shù)據(jù)的傳送速率比并行通信要慢。4.3.2 異步串行通信的數(shù)據(jù)傳送格式串行通信是將構(gòu)成字符的每個二進(jìn)制數(shù)據(jù)位依據(jù)一定的順序逐位傳送。按照數(shù)據(jù)傳送格式可以分為異步串行通信和同步串行通信。同步串行通信應(yīng)用在傳輸速度要求較高的場合,通信開始時需要同步信息,對收發(fā)兩端時間要求嚴(yán)格,這些條件局限了同步串行通信的應(yīng)用。異步串行通信規(guī)定了字符數(shù)據(jù)的傳送格式,即每個數(shù)據(jù)以一樣的幀格式傳送。如下圖所
38、示。每一幀由起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位構(gòu)成,字符數(shù)據(jù)一個接一個的傳送,在發(fā)送間隙,通信線路上總是處于邏輯“1”狀態(tài)。0起始位第 n+1 個字符第 n 個字符起始位0空閑位空閑位低位高位58 位數(shù)據(jù)奇偶校驗(yàn)停止位空閑位和起始位:當(dāng)通信線上沒有數(shù)據(jù)傳送時就處于空閑狀態(tài),通信線上保持邏輯電平“1”,即相當(dāng)于發(fā)送端不斷發(fā)送空閑位“1”,當(dāng)發(fā)送端要發(fā)送一個字符數(shù)據(jù)時,首先發(fā)出一個邏輯“0”信號,這個低電平就是起始位,接收端檢測到這個邏輯低電平后,就開始準(zhǔn)備接收數(shù)據(jù)位信號,所以起始位就表示字符傳送開始,起始位只有1位。數(shù)據(jù)位:緊跟在起始位后面的就是數(shù)據(jù)位,數(shù)據(jù)位長度可以是5、6、7或8位數(shù)據(jù)。在數(shù)
39、據(jù)傳送過程中,數(shù)據(jù)從最小有效位開始傳送。奇偶校驗(yàn)位:數(shù)據(jù)位發(fā)送完后,可以選擇是否發(fā)送奇偶校驗(yàn)位,奇偶校驗(yàn)用于差錯檢測,有奇校驗(yàn)和偶校驗(yàn)兩種方式。奇校驗(yàn)是指在所有數(shù)據(jù)位和校驗(yàn)位中,“1”的個數(shù)為奇數(shù);偶校驗(yàn)是指在所有數(shù)據(jù)位和校驗(yàn)位中,“1”的個數(shù)為偶數(shù)。奇偶校驗(yàn)的方法是:如果采用奇校驗(yàn),則對所有數(shù)據(jù)位取異或后求反便是校驗(yàn)位的數(shù)值;如果采用歐校驗(yàn),則對所有數(shù)據(jù)位取異或 . . . 16 / 56即是校驗(yàn)位的數(shù)值。停止位:在奇偶校驗(yàn)位或數(shù)據(jù)位之后發(fā)送的是停止位,可以是1位、1位半或2位,表示一個字符的結(jié)束。波特率:通信線路上的字符數(shù)據(jù)是按位傳送的,每一位寬度(位信號持續(xù)時間)由數(shù)據(jù)傳送速率確定,傳送
40、速率越快,每一位的寬度越短。把數(shù)據(jù)傳送速率稱為波特率,其定義是:單位時間傳送的信息量,以每秒傳送的位(bit)表示,單位為波特。1波特=1位/秒=1bit/s=1bps在異步串行通信中,發(fā)送端和接收端保持一樣的傳送波特率,一樣的起始位、奇偶位和停止位,這樣收發(fā)兩端才能成功地傳送數(shù)據(jù)。4.3.3 RS-232 接口電路圖與其功能說明單片機(jī)上有UART(通用異步接收/發(fā)送)用于串行通信,發(fā)送時數(shù)據(jù)由TXD端送出,接收時數(shù)據(jù)由RXD端輸入,片有兩個緩沖器,一個作為發(fā)送緩沖器,另一個作為接收緩沖器。UART是可編程的全雙工串行口,這里的串行口只提供TTL電平,可以使用驅(qū)動芯片如“MAX232”把TTL
41、電平變成RS-232標(biāo)準(zhǔn)接口電平,從而和通用微機(jī)通信。串行通信的RS-232接口電路,包括擴(kuò)展串行通信的異步收發(fā)器以與RS-232電平轉(zhuǎn)換電路。(1)、MAX232片介紹MAX232是一種把電腦的串行口RS232信號電平(-10 ,+10v)轉(zhuǎn)換為單片機(jī)所用到的TTL信號點(diǎn)平(0 ,+5)的芯片, MAX232芯片是美信公司專門為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計的接口電路,使用+5v單電源供電。部結(jié)構(gòu)基本可分三個部分:第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個電源,提供給RS-232串口電平的需要。第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、
42、11、12、13、14腳構(gòu)成兩個數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電 . . . 17 / 56腦DP9插頭;DP9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。第三部分是供電。15腳DNG、16腳VCC(+5v)。其部結(jié)構(gòu)如圖10所示:圖10 MAX232的部結(jié)構(gòu)MAX232
43、的元件封裝圖如圖11所示:圖11 MAX232芯片的封裝圖主要特點(diǎn) :1、單 5V 電源工作。2、 LinBiCMOSTM 工藝技術(shù)。 . . . 18 / 563、 兩個驅(qū)動器與兩個接收器。4、 30V 輸入電平。5、低電源電流:典型值是 8mA。6、符合甚至優(yōu)于 ANSI 標(biāo)準(zhǔn) EIA/TIA-232-E 與 ITU 推薦標(biāo)準(zhǔn) V.28。7、ESD 保護(hù)大于 MIL-STD-883(方 法 3015)標(biāo)準(zhǔn)的 2000V。(2)、RS-232(DB9)的引腳定義:DCD :載波檢測。主要用于Modem通知計算機(jī)其處于在線狀態(tài),即Modem檢測到撥號音,處于在線狀態(tài)。RXD:此引腳用于接收外部
44、設(shè)備送來的數(shù)據(jù);在你使用Modem時,你會發(fā)現(xiàn)RXD指示燈在閃爍,說明RXD引腳上有數(shù)據(jù)進(jìn)入。TXD:此引腳將計算機(jī)的數(shù)據(jù)發(fā)送給外部設(shè)備;在你使用Modem時,你會發(fā)現(xiàn)TXD指示燈在閃爍,說明計算機(jī)正在通過TXD引腳發(fā)送數(shù)據(jù)。DTR:數(shù)據(jù)終端就緒;當(dāng)此引腳高電平時,通知Modem可以進(jìn)行數(shù)據(jù)傳輸,計算機(jī)已經(jīng)準(zhǔn)備好。GND:信號地;此位不做過多解釋。DSR:數(shù)據(jù)設(shè)備就緒;此引腳高電平時,通知計算機(jī)Modem已經(jīng)準(zhǔn)備好,可以進(jìn)行數(shù)據(jù)通訊了。RTS:請求發(fā)送;此腳由計算機(jī)來控制,用以通知Modem馬上傳送數(shù)據(jù)至計算機(jī);否則,Modem將收到的數(shù)據(jù)暫時放入緩沖區(qū)中。CTS: 清除發(fā)送;此腳由Modem
45、控制,用以通知計算機(jī)將欲傳的數(shù)據(jù)送至Modem。RI : Modem通知計算機(jī)有呼叫進(jìn)來,是否接聽呼叫由計算機(jī)決定。RS-232接口原理圖如圖12所示: . . . 19 / 56圖12 RS-232接口原理圖 . . . 19 / 56第五章 直流電動機(jī)的調(diào)速與檢測的軟件的設(shè)計本設(shè)計采用單片機(jī)對直流電動機(jī)進(jìn)行控制,根據(jù)設(shè)計的直流電動機(jī)的測速系統(tǒng)的硬件電路的要求,通過對系統(tǒng)功能的總結(jié)將系統(tǒng)軟件程序劃分為:直流電動機(jī)控制的主程序、直流電動機(jī)轉(zhuǎn)速檢測子程序、直流電動機(jī)的三種速度的控制的子程序、轉(zhuǎn)速顯示的子程序和串口通信的子程序。5.1 直流電動機(jī)的 PWM 程序設(shè)計直流電機(jī)驅(qū)動使用最廣泛的就是H型
46、全橋式電路,這種驅(qū)動電路方便地實(shí)現(xiàn)直流電機(jī)的三象限運(yùn)行,分別對應(yīng)正轉(zhuǎn)、反轉(zhuǎn)和停轉(zhuǎn)。單片機(jī)PWM 脈沖信號的產(chǎn)生從程序設(shè)計上來講,可以采用軟件延時和計時器延時兩種方法。軟件延時雖然理論上實(shí)現(xiàn)起來較容易,但占用系統(tǒng)資源過多,使用并不方便。本設(shè)計應(yīng)用的是軟件延時的方式輸出PWM,該P(yáng)WM 調(diào)速器采用定時器2中斷方式產(chǎn)生PWM脈沖,PWM 控制子程序也就是定時器2的中斷服務(wù)程序。其程序流程圖如圖13所示。圖13 PWM控制的框圖開始初始化開啟定時器 2調(diào)用 PWM 控制子程序調(diào)用顯示子程序速度顯示在 LCD上YesNoPWM1=0直流電動機(jī)反轉(zhuǎn)PWM2=0直流電動機(jī)正轉(zhuǎn)計算出電動機(jī)的轉(zhuǎn)速 . . .
47、20 / 56其程序片段為:#ifndef _MOTOR_PWM_#define _MOTOR_PWM_#define uint unsigned int#define uchar unsigned charsbit PWM1 = P10;sbit PWM2 = P11;void Init_Timer2(void) RCAP2H = 0 xfc;/12M 1ms 16bit 自動重載 RCAP2L = 0 x66; ET2=1; EA=1; TR2=1;void main(void)Init_Timer0(); /timer0用來定時采樣電機(jī)的速度 Initial_Uart();/timer1
48、用做串口通信 波特率設(shè)置9600,11.0592MHzInit_Timer2(); /timer2產(chǎn)生PWMInit_INT0(); /int0用來計數(shù)電機(jī)轉(zhuǎn)速測量脈沖數(shù),下降沿觸發(fā) InitLcd(); EX0=1;TR0=1;EA=1;PWM1=0;PWM2=0;while(1) ShowString(0,Line0); ;void Int0_ISR(void) interrupt 0PulseCounter+; /因?yàn)殡姍C(jī)轉(zhuǎn)速慢,這里不考慮PulseCounter溢出問題 . . . 21 / 56void Timer2_ISR(void) interrupt 5 using 1TF2=
49、0; /T2中斷標(biāo)志位清0if(Forward_Rotation_Flag = 1) /正向轉(zhuǎn)動 PWM2=0;Timer2Count+; /計數(shù) if( Timer2Count = PWM1_ON) PWM1 = 0; / if( Timer2Count = PERIOD) if(PWM1_ON != 0) PWM1 = 1; /如果占空比D=0 保持原來狀態(tài) Timer2Count=0; else if(Reverse_Rotation_Flag = 1) /反向轉(zhuǎn)動 PWM1=0;Timer2Count+; /計數(shù) if ( Timer2Count = PWM2_ON) PWM2 = 0
50、; / if( Timer2Count = PERIOD) if(PWM2_ON != 0) PWM2 = 1; /如果占空比D=0 保持原來狀態(tài) Timer2Count=0; 5.2 直流電動機(jī)的檢測子程序直流電動機(jī)轉(zhuǎn)速的測量有兩種方法:定時法和間隔法。定時法是在一定的時間間隔檢測脈沖的數(shù)量(即通過對發(fā)射式光電傳感器的光電碼盤上的孔的數(shù)量進(jìn)行測量),通過計算得出在單位時間直流電動機(jī)轉(zhuǎn)過的圈數(shù),即可得到轉(zhuǎn)速;間隔法是檢測光電碼盤上孔與孔之間的間隔時間,通過這個時間可以計算出直流電動機(jī)旋轉(zhuǎn)一周需要的時間,進(jìn)而得到轉(zhuǎn)速。本設(shè)計采用的是定時法。當(dāng)直流電動機(jī)開始轉(zhuǎn)動時,光電傳感器上有四個槽,每一個槽通
51、過時,就會計數(shù),每次定時為50ms,在定時的次數(shù)到第五次時,就得到脈沖數(shù)。因?yàn)槊?. . . 22 / 56四個槽為一組,轉(zhuǎn)速為脈沖數(shù)除以4,通常轉(zhuǎn)速用轉(zhuǎn)每秒表示,而前面得到的是轉(zhuǎn)每250毫秒,只要乘以4就能得到所要的轉(zhuǎn)速。其程序片段為:#ifndef _TIMER0_#define _TIMER0_void Init_Timer0(void)TMOD |= 0 x01;/定時器設(shè)置 1ms in 12M crystalTH0=0 x4c; TL0=0 x00;/定時50mS EA=0;ET0=1;TR0=0;#endifvoid Timer0_ISR(void) interrupt 1TH0
52、 = 0 x4c;TL0 = 0 x00; /50ms定時,11.0592MHz Timer0Count+;if(Timer0Count = 5) /250msspeed = PulseCounter; /PulseCounter/4*4Timer0Count=0;PulseCounter=0;5.3 串口通信的程序當(dāng)計算機(jī)和TTL電平的設(shè)備通信時,如計算機(jī)和單片機(jī)通信時,需要使用RS-232C/TTL 電平轉(zhuǎn)換器件,常用的有MAX232。MAX232芯片中的兩路發(fā)送接收中任選一路作為接口,要注意其發(fā)送與接收引腳對應(yīng),否則可能對器件或計算機(jī)串口造成永久性損壞。如選他T1IN接單片機(jī)的發(fā)送端TX
53、D,則PC機(jī)、的RS232的接收端RD一定要對應(yīng)接T1OUT引腳。同時,R1OUT接單片機(jī)的接受端RXD引腳,則PC機(jī)的RS232的發(fā)送端TD一定要對應(yīng)接R1IN引腳。本設(shè)計采用的是R1IN和T1OUT這一組引腳。其程序片段為:void UART_ISR (void) interrupt 4 using 3/串行中斷服務(wù)程序 . . . 23 / 56 unsigned char UartTemp; /定義臨時變量 if(RI) /一幀接收結(jié)束,硬件將RI置1RI=0; /軟件將標(biāo)志位清零 UartTemp=SBUF; /讀入緩沖區(qū)的值 switch(UartTemp)case 0 xAA:
54、TI=1; /收到要發(fā)送速度的指令,TI=1,準(zhǔn)備發(fā)送速度.case 0 xBB: /正轉(zhuǎn)命令 Forward_Rotation_Flag=1;Reverse_Rotation_Flag=0;break; case 0 xCC: /反轉(zhuǎn)命令 Forward_Rotation_Flag=0;Reverse_Rotation_Flag=1;break; case 0 xBD: PWM1_ON=2, PWM2_ON=0;break; /正向低速命令 case 0 xBE: PWM1_ON=5, PWM2_ON=0;break; /正向中速命令 case 0 xBF: PWM1_ON=10,PWM2_
55、ON=0;break; /正向高速命令 case 0 xCD: PWM1_ON=0, PWM2_ON=2; break; /反向低速命令 case 0 xCE: PWM1_ON=0, PWM2_ON=5; break; /反向中速命令 case 0 xCF: PWM1_ON=0, PWM2_ON=15;break; /反向高速命令 case 0 xEE: /停止命令 Forward_Rotation_Flag=0;Reverse_Rotation_Flag=0;PWM1_ON=0;PWM2_ON=0;break; default: ;if(TI) /如果是發(fā)送標(biāo)志位,清零 . . . 24 /
56、 56TI=0; if (UartTemp = 0 xAA) /接收到指令0 xAA,則發(fā)送速度 SBUF=speed; /啟動發(fā)送 UartTemp = 0; . . . 25 / 56第六章上位機(jī)的軟件設(shè)計6.1 CVI 界面的設(shè)計界面的設(shè)計如圖 13 所示:圖 13 CVI 界面的設(shè)計6.2 串口參數(shù)選擇在進(jìn)行 CVI 上位機(jī)的運(yùn)行時,首先必須要使計算機(jī)上的端口與實(shí)驗(yàn)板上所用的端口一致,所以必須選擇合適的串口;也要根據(jù)不同串口選擇合適的波特率,選擇你所要的奇偶校驗(yàn)?zāi)J?、?shù)據(jù)位數(shù)和停止位數(shù)。程序片段為:/串口參數(shù)選擇子程序void SelectUartPara(void)int ComVa
57、lue,BaudValue,JoValue,LengthValue,StopValue;/*選擇串行口*/GetCtrlVal(PANEL,PANEL_COMSELECT,&ComValue);switch(ComValue)case 1:ComSelect=1;break; . . . 26 / 56case 2:ComSelect=2;break;case 3:ComSelect=3;break;case 4:ComSelect=4;break;case 5:ComSelect=5;break;/*選擇波特率*/GetCtrlVal(PANEL,PANEL_BTLSELECT,&a
58、mp;BaudValue);switch(BaudValue)case 1:BaudSelect=1200;break;case 2:BaudSelect=2400;break;case 3:BaudSelect=4800;break;case 4:BaudSelect=9600;break;case 5:BaudSelect=19200;break;/*選擇奇偶校驗(yàn)?zāi)J?/GetCtrlVal(PANEL,PANEL_JYSELECT,&JoValue);switch(JoValue)case 1:JoSelect=0;break;case 2:JoSelect=1;break;ca
59、se 3: . . . 27 / 56JoSelect=2;break;/*選擇數(shù)據(jù)位長度*/GetCtrlVal(PANEL,PANEL_LONGSELECT,&LengthValue);switch(LengthValue)case 1:LengthSelect=7;break;case 2:LengthSelect=8;break;case 3:LengthSelect=9;break;/*選擇停止位*/GetCtrlVal(PANEL,PANEL_STOPSELECT,&StopValue);switch(StopValue)case 1:StopSelect=1;br
60、eak;case 2:StopSelect=2;break;6.3 數(shù)據(jù)采集數(shù)據(jù)采集程序流程:啟動數(shù)據(jù)采集主程序設(shè)置通道號與通道代碼啟動轉(zhuǎn)換。查詢轉(zhuǎn)換狀態(tài)。如果轉(zhuǎn)換結(jié)束,讀轉(zhuǎn)換結(jié)果的高位和低位。將轉(zhuǎn)換結(jié)果轉(zhuǎn)換為十進(jìn)制數(shù)據(jù)。程序片段:int Send (unsigned char command)FlushInQ(ComSelect);/清空輸入緩沖區(qū) . . . 28 / 56FlushOutQ(ComSelect); /清空輸出緩沖區(qū) status=ComWrtByte(ComSelect,command); /發(fā)送 if(status != 1) MessagePopup(Error,Send data failed!);r
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教遼寧 九年級 下冊 語文 期末專題訓(xùn)練《 專題七 文言文對比閱讀》課件
- 網(wǎng)絡(luò)信息安全技術(shù)課件 第10章 網(wǎng)絡(luò)掃描技術(shù)
- 軟件產(chǎn)品交付流程
- 重點(diǎn)環(huán)節(jié)應(yīng)急管理制度和預(yù)案
- 連鎖藥店店長年終總結(jié)及計劃
- 人教版一年級上冊數(shù)學(xué)第二單元《位置》試卷2
- 個人收匯傭金合同范例
- 倉庫貨物承攬合同范例
- 加油站拍賣合同范例
- 加工承攬簡易合同范例
- 2025教科版六年級科學(xué)下冊全冊教案【含反思】
- 2025年常州機(jī)電職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫含答案
- 南充經(jīng)濟(jì)開發(fā)區(qū)投資集團(tuán)有限公司2024年招聘筆試參考題庫附帶答案詳解
- 2025年湖南機(jī)電職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫1套
- 2025中建三局(中原)社會招聘高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 2024年湖北省武漢市中考數(shù)學(xué)試題(解析版)
- 2025年河南測繪職業(yè)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 《奢香夫人》歌詞(男女聲歌詞標(biāo)注)
- 2025口腔科年度工作計劃
- 商業(yè)辦公樓網(wǎng)絡(luò)改造施工方案
- 2023年高考真題-歷史(遼寧卷) 含解析
評論
0/150
提交評論