freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于vc的伺服電機速度控制系統(tǒng)畢業(yè)設(shè)計-文庫吧

2025-06-12 19:23 本頁面


【正文】 機轉(zhuǎn)速控制界面圖Visual C++。是目前綜合性最高、最強大,也是最為復(fù)雜的Windows 應(yīng)用程序開發(fā)軟件。Visual C++是一個功能強大的可視化軟件開發(fā)工具。自1993年Microsoft公司推出Visual C++,隨著其新版本的不斷問世,Visual C++已成為專業(yè)程序員進行軟件開發(fā)的首選工具。首先,要了解VC++++語言。在計算機領(lǐng)域,C/C++語言相信一定無人不知、無人不曉。C語言最初主要用于unix系統(tǒng),大多數(shù)unix系統(tǒng)的程序都是用C編寫的。借助早期unix系統(tǒng)的流行和C本身的優(yōu)秀品質(zhì),C語言從此名揚天下、威震四方。而后,伴隨著面向?qū)ο蟾拍畹奶岢龊蛻?yīng)用,形成了C++語言,AT&T公司于1985年正式推出了C++,它是c語言面向?qū)ο蟮臄U充。C++、單繼承、重載、虛函數(shù)、友員、內(nèi)聯(lián)等面向?qū)ο蟮某绦蛟O(shè)計機制。1989年推出的C++++、保護接口、模板和異常等。C++被公認為“最好的面向?qū)ο蟮木幊陶Z言,是學(xué)習(xí)面向?qū)ο缶幊碳夹g(shù)人員較好的啟蒙語言。Visual C++++編譯器,而且是一個基于Windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境。Visual C++,包括編輯器、調(diào)試器以及程序向?qū)ppWizard、類向?qū)lass Wizard等開發(fā)工具。 這些組件通過一個名為Developer Studio的組件集成為和諧的開發(fā)環(huán)境[17]。VC++是微軟公司開發(fā)的C++語言開發(fā)環(huán)境,VC的特點是微軟公司做了一個自己獨有的類庫MFC,里面封裝了絕大多數(shù)的API函數(shù),使得WINDOWS程序的開發(fā)變的高效和易于理解,如果用API直接開發(fā)WINDOWS程序的話,將會是一件非常煩瑣的工作,WINDOWS對資源的管理是非常嚴格的這與DOS可直接用中斷處理程序和I/O指令操作硬件端口是截然相反的;所以這個MFC就是VC和其他公司出產(chǎn)的編譯器的最大區(qū)別了,當(dāng)然了別的公司也有自己封裝API的類庫比如DELPHI等,不過由于微軟公司掌握著WINDOWS內(nèi)核的全部秘密,所以他們的編譯器與其他公司的相比有其獨到的優(yōu)勢。主界面控件參數(shù)設(shè)置首先打開VC++,選擇菜單項File/New,在出現(xiàn)的對話框中選中Projects標(biāo)簽中的MFC AppWizard(exe),然后在Project Name框中填入MyCOMM(可根據(jù)需要命名),之后點OK按鈕。在接著出現(xiàn)的對話框中選中Dialog Based項,然后點NEXT按鈕。以下的各對話框都按照缺省設(shè)置,這樣即可生成一個基于對話框的應(yīng)用程序。在資源編程器中會出現(xiàn)其對話框模板。在對話框中添加相應(yīng)應(yīng)用的控件,再對參數(shù)進行屬性設(shè)置,如設(shè)置ID,: 實時曲線在伺服電機轉(zhuǎn)速控制過程中,需要采集電機的實際轉(zhuǎn)速,并實時顯示到控制界面上,這樣可以輕松的觀察的速度曲線的實時變化。實現(xiàn)的方法為在工程中添加曲線資源,然后自Dlg中添加代碼:GetDlgItem(IDC_OSCOPE)GetWindowRect(rect) 。ScreenToClient(rect) 。 //適應(yīng)picture控件的大小創(chuàng)建畫圖工具(WS_VISIBLE | WS_CHILD, rect, this) 。初始化畫圖工具 (0, 200, 0) 。 //設(shè)置縱坐標(biāo)以及小數(shù)位數(shù) (電機轉(zhuǎn)速(轉(zhuǎn)/秒)) 。 //設(shè)置y軸標(biāo)題 (時間軸) 。 //設(shè)置x軸標(biāo)題 (RGB(0, 0, 64)) 。 //背景色 (RGB(192, 192, 255)) 。 //坐標(biāo)顏色 (RGB(255, 255, 255)) 。 // 曲線顏色當(dāng)串口調(diào)通后可以收發(fā)數(shù)據(jù)時,便可以接收下位機的速度給定時,可以實時顯示速度曲線。 按鈕圖標(biāo)的實現(xiàn)按鈕圖標(biāo)是通過CButtonST這個類實現(xiàn)的,CButtonST是目前最強大功能最全的CButton派生類,、在VC++的Workspace — FileView中導(dǎo)入以上的四個文件之后,如include 。下面介紹應(yīng)用CButtonST可實現(xiàn)下面6種效果;(1)在按鈕上加入Icon,使Icon和文字同時顯示;假設(shè)按鈕ID為IDC_BUTTON1。①添加成員變量 CButtonST  m_btn。②添加Icon資源,設(shè)其ID設(shè)為IDI_ICON1。③在OnInitDialog函數(shù)中初始化按鈕;(IDC_BUTTON1,this)。 (IDI_ICON1)。(FALSE)。 根據(jù)Icon的大小調(diào)整按鈕的大小。(2)顯示平面按鈕。(FALSE)。語句去掉。(3)使按鈕上的圖標(biāo)可變;假設(shè)按鈕ID為IDC_BUTTON1。① 添加成員變量CButtonST  m_btn。② 添加兩個Icon資源,ID設(shè)為IDI_ICON1和IDI_ICON2。IDI_ICON1是普通狀態(tài)的圖標(biāo),IDI_ICON2是按下時的圖標(biāo);③ 在OnInitDialog函數(shù)中初始化按鈕;(IDC_BUTTON1,this)。 (IDI_ICON2,IDI_ICON1);(4)設(shè)置按鈕在不同狀態(tài)下的底色和文字顏色;假設(shè)按鈕ID為IDC_BUTTON1。① 添加成員變量 CButtonST  m_btn。② 添加Icon資源,設(shè)其ID設(shè)為IDI_ICON1。③ 在OnInitDialog函數(shù)中初始化按鈕。(IDC_BUTTON1,this)。 (IDI_ICON1)。(CButtonST::BTNST_COLOR_BK_OUT, RGB(208,208,208))。 (CButtonST::BTNST_COLOR_BK_FOCUS,RGB(208,208,208))。 (CButtonST::BTNST_COLOR_BK_IN, 30)。SetColor函數(shù)和OffsetColor函數(shù)的第一個參數(shù)表示按鈕的各個狀態(tài),前景色就是文字的顏色,它們的取值表示:BTNST_COLOR_BK_IN?! ?/鼠標(biāo)放在按鈕內(nèi)時的背景色BTNST_COLOR_FG_IN。  //鼠標(biāo)放在按鈕內(nèi)時的前景色BTNST_COLOR_BK_OUT?! ?/普通狀態(tài)時的背景色  BTNST_COLOR_FG_OUT?! ?/普通狀態(tài)時的前景色BTNST_COLOR_BK_FOCUS?! ?/按鈕被按下后的背景色BTNST_COLOR_FG_FOCUS。  //按鈕被按下后的前景色實例:演示程序中的4848 icon 按鈕、Zip按鈕等。(5)設(shè)置圖標(biāo)和文字的位置?!〖僭O(shè)按鈕ID為IDC_BUTTON1。①添加成員變量 CButtonST  m_btn。②添加Icon資源,ID設(shè)為IDI_ICON1。③在OnInitDialog函數(shù)中初始化按鈕。(IDC_BUTTON1,this)。(IDI_ICON1)?!? (CButtonST::ST_ALIGN_VERT)。SetAlign函數(shù)的第一個參數(shù)表示位置信息,缺省情況下,文字在圖標(biāo)右邊ST_ALIGN_HORIZ?! ? // 文字在右ST_ALIGN_VERT?! ? //文字在下ST_ALIGN_HORIZ_RIGHT。 // 文字在左(6)根據(jù)Icon的形狀設(shè)置按鈕的形狀。假設(shè)按鈕ID為IDC_BUTTON1。①添加成員變量 CButtonST  m_btn。②添加Icon資源,設(shè)其ID設(shè)為IDI_ICON1。③在OnInitDialog函數(shù)中初始化按鈕。(IDC_BUTTON1,this)。 (IDI_ICON1)。 (FALSE)。 (CButtonST::BTNST_COLOR_BK_OUT, RGB(208,208,208))。 (CButtonST::BTNST_COLOR_BK_IN, RGB(208,208,208))。 (CButtonST::BTNST_COLOR_BK_FOCUS, RGB(208,208,208))。為達到最好效果,請根據(jù)Icon的大小調(diào)整按鈕的大小。并根據(jù)實際情況設(shè)置背景顏色,請事先將按鈕的文字去掉。第四章 串口通訊 PC機與單片機通信方式PC機與單片機通訊通常采用兩種方式:并行通信和串行通信。并行通信是指代發(fā)送的數(shù)據(jù)各位同時傳送,串行通信則是數(shù)據(jù)一位一位的按順序傳送。并行通信雖然傳輸效率高,由于所需硬件設(shè)計復(fù)雜,不適于長距離通信,所以一般只適用于要求實時性強。傳送速率較高的測控系統(tǒng)中,實用面較窄;相比之下,串行通信簡單易實現(xiàn),傳輸距離較長,所以已被廣泛應(yīng)用于各種工控系統(tǒng)中[2]。串行通行分為同步通行和異步通信2種方式。同步通信是指通過在每個數(shù)據(jù)塊開始時的同步字符來實現(xiàn)收/發(fā)雙方同步的一種數(shù)據(jù)傳送方法,常用于信息量大,速度要求高的場合;異步通信則規(guī)定了標(biāo)準的字符數(shù)據(jù)傳輸格式,即每一幀信息由起始位、數(shù)據(jù)位、奇偶校驗位和停止位組成[3]。由于有冗余位,所以傳送效率不高,常用于信息量不大,速度較低的場合。在計算機測控系統(tǒng)中,由于串行接口的標(biāo)準化,一般采用異步串行通信方式,以提高其通用性。PC機與下位機通訊采用標(biāo)準通訊端口RS232。目前RS232是PC機與通信工業(yè)中應(yīng)用最廣泛的一種串行接口,而對于單片機與PC機的串行通信,可以進一步簡化接法,只需要三根線:RxD (接收)、TxD(發(fā)送)、GND(信號地,收發(fā)雙方信號共地,即信號地線接在一起),這種接法俗稱‘零Modem接法”。RS—232傳送的是單端信號,即取RxD及TxD對GND的電壓值為信號電平,電壓+5V—+15V表示邏輯0,電壓15V—5V表示邏輯1,稱之為EIA電平。而單片機一般采用TTl和COMS兼容電平,所以進行機與單片機的串行通信時,要進行EIA電平與TTL電平之間的轉(zhuǎn)換。實施起來很簡單,只要在機串口和單片機串口之間再接上一個電平轉(zhuǎn)換芯片就可以了[12]??墒褂孟鄳?yīng)的專用芯片進行電平轉(zhuǎn)化,如MAX232[11]。  RS—232C是美國電子工業(yè)協(xié)會(EIA)于1962年制定并于1968年最后一次修改而成的一種串行通信標(biāo)準,它既是一個物理接口標(biāo)準,也是一個電氣標(biāo)準。RS—232C接口采用25根線,實際使用時,除去接到設(shè)備外殼的一根安全地線以外,真正用于異步串行通信的只有9根線(其余空著沒定義),也正是因為如此,PC機一般都具有一個或幾個針RS—232C串行接口,分別稱為 COM1 和 COM2。(1)由于RS232接口標(biāo)準出現(xiàn)較早,難免有不足之處,主要有以下四點: ①接口的信號電平值較高,易損壞接口電路的芯片,又因為與TTL 電平不兼容故需使用電平轉(zhuǎn)換電路方能與TTL電路連接。 ②傳輸速率較低,在異步傳輸時,波特率為20Kbps;因此在“南方的老樹51CPLD開發(fā)板”中,綜合程序波特率只能采用19200,也是這個原因。 ③接口使用一根信號線和一根信號返回線而構(gòu)成共地的傳輸形式, 這種共地傳輸容易產(chǎn)生共模干擾,所以抗噪聲干擾性弱。 ④傳輸距離有限,最大傳輸距離標(biāo)準值為50英尺,實際上也只能用在50米左右[10]。(2)針對RS232接口的不足,于是就不斷出現(xiàn)了一些新的接口標(biāo)準,RS485就是其中之一,它具有以下特點:①RS485的電氣特性:邏輯“1”以兩線間的電壓差為+(2—6) V表示;邏輯“0”以兩線間的電壓差為(2—6)V表示。接口信號電平比RS232降低了,就不易損壞接口電路的芯片, 且該電平與TTL電平兼容,可方便與TTL 電路連接。 ② RS485的數(shù)據(jù)最高傳輸速率為10Mbps 。③RS485接口是采用平衡驅(qū)動器和差分接收器的組合,抗共模干能力增強,即抗噪聲干擾性好。 ④ RS485接口的最大傳輸距離標(biāo)準值為4000英尺,實際上可達 3000米,另外RS232接口在總線上只允許連接1個收發(fā)器, 即單站能力。而RS485接口在總線上是允許連接多達128個收發(fā)器。即具有多站能力,這樣用戶可以利用單一的RS485接口建立設(shè)備網(wǎng)絡(luò)[6]。    VC實現(xiàn)串口通訊的四種方式 基于Windows API通信函數(shù)與通信有關(guān)的Windows API函數(shù)共有26個,但主要有關(guān)的有CreateFile() 用 “n”(n為串口號)作為文件名就可以打開串口;ReadFile() 讀串口;WriteFile() 寫串口;CloseHandle() 關(guān)閉串口句柄。初始化時應(yīng)注意CreateFile()函數(shù)中串口共享方式應(yīng)設(shè)為0,串口為不可共享設(shè)備,其它與一般文件讀寫類似,以下給出API實現(xiàn)的源代碼。(1)發(fā)送例程聲明全局變HANDLE m_hIDComDev;OVERLAPPED m_OverlappedRead。void CSerialAPIView::OnSend() //發(fā)送數(shù)據(jù) { char szMessage[20] = “data”。 DWORD dwBytesWritten。 for (int i=0。 i<sizeof(szMessage)。 i++) { WriteFile(m_hIDComDev,(LPSTR)amp。szMessage[i],1,amp。dwBytesWritten,amp。m_OverlappedWrite)。 if (WaitForSingleObject(m_OverlapperWrite, hEvent, 1000))dwBytesWritten = 0。 else{ GentOverlappedResult(m_hIDComDev,amp。m_OverlappedWrite,amp。dwBytesWritten, FALSE)。 m_OverlappedWrite. Offset += dwBytesWritten。 } dwBytesWritten++。 }(2)接收例程 DCB ComDcb。 //設(shè)備控制塊 HANDLE hCom。 hCom = CreateFile (
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1