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

正文內(nèi)容

數(shù)控機(jī)床機(jī)電匹配性能測(cè)試平臺(tái)軟件設(shè)計(jì)畢業(yè)設(shè)計(jì)說明書(參考版)

2025-03-28 03:04本頁(yè)面
  

【正文】 本平臺(tái)可以通過計(jì)算機(jī)ISA接口將8253計(jì)數(shù)芯片上的數(shù)據(jù)采集進(jìn)入平臺(tái)之中,然后經(jīng)過一定的數(shù)學(xué)處理將其轉(zhuǎn)換為坐標(biāo)點(diǎn)數(shù)據(jù),并寫入PC機(jī)硬盤中備用;不僅可以將PC機(jī)中的數(shù)據(jù)文件讀出,并將其繪制到坐標(biāo)系中,而且可以采用最小二乘法對(duì)其進(jìn)行擬合,將擬合的直線與坐標(biāo)點(diǎn)繪制到相同坐標(biāo)系中,并顯示擬合直線方程,同時(shí)還可以對(duì)最小二乘法數(shù)據(jù)擬合以及系統(tǒng)位置誤差進(jìn)行分析;平臺(tái)還提供了設(shè)置理論直線方程,并將其與擬合直線和坐標(biāo)點(diǎn)繪制到同一坐標(biāo)系的功能;通過對(duì)所繪制的圖形的進(jìn)行分析,平臺(tái)會(huì)向用戶給出相關(guān)結(jié)論以及解決存在問題的建議。通過以上設(shè)計(jì),基本完成了軟件的各個(gè)模塊功能,根據(jù)軟件設(shè)計(jì)原理,需要對(duì)軟件進(jìn)行測(cè)試,測(cè)試通過才證明軟件開發(fā)成功,下面進(jìn)行軟件測(cè)試。 //顯示非模態(tài)對(duì)話框比較兩次運(yùn)行的結(jié)果發(fā)現(xiàn),只要在模態(tài)對(duì)話框關(guān)閉后,才能返回進(jìn)行其他操作,然而,在非模態(tài)對(duì)話框中,無論非模態(tài)對(duì)話框關(guān)閉與否,都不影響其它操作。 //定義一個(gè)CResDlg類指針pDlgCreate(IDD_RESULT,this)。 //創(chuàng)建模態(tài)對(duì)話框如果要?jiǎng)?chuàng)建非模態(tài)對(duì)話框,則需要利用CDialog類的Create成員函數(shù),然后調(diào)用ShowWindow函數(shù)將這個(gè)對(duì)話框顯示出來。由于在該部分中定義了一個(gè)CResDlg類,于是,實(shí)現(xiàn)創(chuàng)建模態(tài)對(duì)話框的代碼如下:CResDlg Resdlg。首先,介紹一下模態(tài)對(duì)話框的調(diào)用。下面只介紹一下如何創(chuàng)建該對(duì)話框。 軟件使用幫助軟件使用幫助部分設(shè)計(jì)相對(duì)比較簡(jiǎn)單,為了使得界面友好實(shí)用,最后采用一個(gè)對(duì)話框,利用靜態(tài)文本顯示出來比較好。【聲明】由于結(jié)論和建議內(nèi)容較多,為了使得程序代碼清晰,增加可讀性,此處未給出具體結(jié)論及建議內(nèi)容。GetDlgItem(IDC_STATIC_JY)SetWindowText(建議內(nèi)容)。指令可以將ID號(hào)為IDC_STATIC的顯示內(nèi)容修改為:Text。之所以這么設(shè)計(jì),是因?yàn)閂C++中的靜態(tài)文本可以根據(jù)不同條件改變其文本內(nèi)容,這和設(shè)計(jì)要求不謀而合。也就是說,針對(duì)X軸增益相對(duì)Y軸增益匹配、偏大和偏小時(shí),需要給出相應(yīng)的結(jié)論和建議。首先,結(jié)果分析中包含有結(jié)論和建議兩大部分。運(yùn)行后,:讀取數(shù)據(jù)點(diǎn)打開文件計(jì)算誤差、分析誤差關(guān)閉文件開始結(jié)束列表框顯示繪制誤差圖形讀取完畢文件 數(shù)據(jù)瀏覽及誤差分析流程圖 數(shù)據(jù)及誤差顯示。//定義一個(gè)輸出(0,ch)。 //加載進(jìn)入列表框從上面代碼可以看出,第一行代碼是用來定義一個(gè)儲(chǔ)存每次加載內(nèi)容的數(shù)組;第二行時(shí)設(shè)置數(shù)組內(nèi)容的格式,其中,%6d表示6位十進(jìn)制輸出,%、4為小數(shù)的浮點(diǎn)型輸出;最后一行代碼中,利用AddString函數(shù)將數(shù)組內(nèi)容加載進(jìn)入列表框中,這樣將該核心代碼放在數(shù)據(jù)讀的循環(huán)里面就能夠?qū)⒚看巫x出來的數(shù)據(jù)以及誤差數(shù)據(jù)顯示在列表框中。//定義緩存數(shù)組sprintf(ch,第%6d點(diǎn):X:%6d,Y:%6d, //定義輸出格式△D=%6d,Dy=%,dy=%,lendata,x,y,Delta_D,Dy,dy)。 數(shù)據(jù)瀏覽及誤差顯示數(shù)據(jù)瀏覽及誤差顯示編程過程中,由于需要計(jì)算方差、標(biāo)準(zhǔn)差等相關(guān)誤差,但是他們是每個(gè)點(diǎn)都要進(jìn)行計(jì)算,最后會(huì)有很多值,只有和數(shù)據(jù)放在一起才知道他們的所屬關(guān)系,因此,筆者就將這兩項(xiàng)功能設(shè)計(jì)在相同的對(duì)話框中。擬合直線的繪制代碼與理論直線的繪制完全相識(shí),函數(shù)ExtTextOut可以是用來輸出 “理論直線:”和“擬合直線:”的文本信息,然后利用隨后的兩行代碼繪制出一條小線段,這樣可以讓讀者清晰地認(rèn)識(shí)那條線代表什么含義,當(dāng)然擬合直線和理論直線是采用不同的畫筆。從以上代碼可以看出,代碼中的m_k、m_b是設(shè)置的直線方程的斜率和截距。 //繪制圖例(820,40)。 //移動(dòng)到A點(diǎn)((700m_b)/m_k+20,0)。因此,改變后點(diǎn)A、B的坐標(biāo)分別為:(20,700b)、(20+(700b)/k,0)。 繪制理論直線 繪制理論直線的程序流程圖設(shè)置理論直線開始坐標(biāo)點(diǎn)計(jì)算繪制理論直線結(jié)束理論直線的繪制相對(duì)簡(jiǎn)單,只要知道直線方程Y=k*X+b,然后就是對(duì)當(dāng)X=0時(shí)取一個(gè)點(diǎn),即A點(diǎn)(0,b),當(dāng)y=700時(shí)取一個(gè)點(diǎn),即B點(diǎn)(b/k,700)。 //求斜率kb=averyk*averx。}fclose(fp1)。 Lxy+=(xaverx)*(yavery)。y,sizeof(long),1,fp1)。x,sizeof(long),1,fp1)。 //求y平均fp1=fopen(C:\\,rb)。通過對(duì)最小二乘法的推導(dǎo)和分析,利用VC編寫實(shí)現(xiàn)擬合的核心代碼如下://最小二乘法擬合程序 averx=sumx/len_data。一般而言,只要相關(guān)系數(shù)ρ,那么x、y線性關(guān)系就非常密切了,線性關(guān)系很明顯。因此,本設(shè)計(jì)引入了相關(guān)系數(shù)ρ來判斷直線擬合是否成功,也可以觀察到數(shù)據(jù)點(diǎn)的線性關(guān)系。 最小二乘法擬合直線。//以紅色畫筆繪制坐標(biāo)點(diǎn) }fclose(fp1)。y,sizeof(long),1,fp1)。x,sizeof(long),1,fp1)。//定義文件指針 fp1=fopen(C:\\, rb )。其中,x為橫坐標(biāo),y為縱坐標(biāo),crColor為顏色設(shè)置。最后,再次調(diào)用SelectObject函數(shù)恢復(fù)設(shè)備描述表中的畫筆。 //恢復(fù)默認(rèn)畫筆從修改后的例子可以看出,首先創(chuàng)建了一個(gè)實(shí)線畫筆,其寬度為1,顏色為藍(lán)色。pen)。 //創(chuàng)建新畫筆 CClientDC dc(this)。這三個(gè)參數(shù)都是BYTE類型,取值范圍為:0~255, RGB(255,255,255)代表白色,RGB(0,0,0)代表黑色,當(dāng)三個(gè)參數(shù)分別設(shè)置為0~255之間的任意值時(shí),可以得到各種不同的顏色。RGB宏的聲明如下:COLORREF RGB( BYTE bRed, BYTE bGreen, BYTE bBlue color)。它有三個(gè)構(gòu)造函數(shù),其中一個(gè)構(gòu)造函數(shù)原型聲明如下:CPen(int nPenStyle, int nWidth, COLORREF crColor)。在VC++中,如果想要繪制其他顏色的線條,首先需要?jiǎng)?chuàng)建一個(gè)特定顏色的畫筆,然后將此畫筆選入設(shè)備描述表中,接下來繪制的圖形顏色就由這個(gè)新的畫筆的特性做決定了。另外,由于本次設(shè)計(jì)中會(huì)有擬合直線、理論直線以及所有數(shù)據(jù)坐標(biāo)點(diǎn)在同一坐標(biāo)系中出現(xiàn),因此,需要用不同顏色、大小來顯示所繪制的圖形,這樣才方便分析他們之間的關(guān)系。但是還需要說明的是,不管是VC中窗口還是對(duì)話框,設(shè)備原點(diǎn)(0,0)都是在左上角,這與我們實(shí)際應(yīng)用不一樣,因此需要對(duì)設(shè)備原點(diǎn)(0,0)進(jìn)行改變,這樣才能使得繪出的圖像具有很強(qiáng)的工程意義。由VC++知識(shí)可知,每個(gè)對(duì)象都有一個(gè)this指針指向自己本身,所以,本例子就將this作為參數(shù)傳遞給該對(duì)象的構(gòu)造函數(shù)。以上代碼只提供了縱坐標(biāo)的繪制,其他坐標(biāo)繪制完全相識(shí),筆者就不再贅述,詳細(xì)代碼見程序清單。 //繪制X坐標(biāo)標(biāo)簽(30,20,ETO_OPAQUE,CRect(30,20,30,30),_T(Y),NULL)。 //移動(dòng)到繪圖起點(diǎn)(20,750)。打開文件開始讀取文件數(shù)據(jù)繪制數(shù)據(jù)點(diǎn)讀取完畢關(guān)閉文件是  否 結(jié)束 繪制數(shù)據(jù)程序流程圖為了簡(jiǎn)單介紹CClientDC類的功能,下面給出軟件中坐標(biāo)系的繪制的程序?qū)崿F(xiàn)如下:CClientDC dc(this)。當(dāng)該對(duì)象的生命周期結(jié)束時(shí),會(huì)自動(dòng)釋放其所占的設(shè)備資源。這樣的話,程序中如果使用了CClientDC類型定義的DC對(duì)象,就不需要顯示地調(diào)用GetDC函數(shù)和ReleaseDC函數(shù)了。這個(gè)類派生于CDC類,并且在構(gòu)造時(shí)調(diào)用GetDC函數(shù),在析構(gòu)時(shí)調(diào)用ReleaseDC函數(shù)。可以根據(jù)函數(shù)的返回值判斷文件是否關(guān)閉成功。該函數(shù)返回一個(gè)整型數(shù)。其意義是從實(shí)數(shù)組y中,每次寫4個(gè)字節(jié)(一個(gè)實(shí)數(shù))送入fp所指的文件中,連續(xù)寫5次,即寫5個(gè)實(shí)數(shù)到fp所指的文件中。其意義是從fp所指的文件中,每次讀4個(gè)字節(jié)(一個(gè)實(shí)數(shù))送入實(shí)數(shù)組x中,連續(xù)讀5次,即讀5個(gè)實(shí)數(shù)到x中。fp 表示文件指針。 size 表示數(shù)據(jù)塊的字節(jié)數(shù)。以后將用到的讀數(shù)據(jù)塊函數(shù),其調(diào)用的一般形式為:fread(buffer,size,count,fp)?!、俅蜷_文件 在前面第二行代碼中,fopen函數(shù)用來打開一個(gè)文件,其調(diào)用的一般形式為:文件指針名=fopen(文件名,使用文件方式)其中,第一個(gè)形式參數(shù)表示文件名, 可以包含路徑和文件名兩部分,“文件名”是字符串常量或字符串?dāng)?shù)組。最后一行代碼作用是將該文件關(guān)閉,這是每次打開一個(gè)文件后必須的步驟。}fclose(datafile)。 fwrite(amp。while(!feof(datafile)){ fwrite(amp。該部分核心代碼如下:FILE *datafile。(4) 文件操作筆者最初想將讀取進(jìn)來的數(shù)據(jù)儲(chǔ)存到一個(gè)數(shù)組中,但是由于讀取的數(shù)據(jù)量大,這樣不僅會(huì)浪費(fèi)CPU,而且還可能造成系統(tǒng)崩潰。實(shí)際計(jì)數(shù)值大小為:讀取其他計(jì)數(shù)器中的數(shù)據(jù)與讀取計(jì)數(shù)器0中數(shù)據(jù)完全類似,筆者在此不再贅述。第3行代碼是將地址為0x300,即計(jì)數(shù)器0,的計(jì)數(shù)值分別讀取2次。 //儲(chǔ)存高8位在以上代碼中,第1行代碼中的0x303為第一片芯片控制字地址,0x04是根據(jù)D7D6D5D4D3D2D1=0000 0100B=04H計(jì)算而來,其作用是將計(jì)數(shù)值鎖存。 //讀取數(shù)據(jù) data0=_inp(0x300)。 //計(jì)數(shù)值鎖存(供CPU讀出) _outp(0x303,0x34)。(3) 讀取數(shù)據(jù)及處理初始化編程的順序是:通過控制字先對(duì)計(jì)數(shù)值進(jìn)行所存,供CPU讀出,然后設(shè)置為先讀低8位再讀高8位;然后讀取低8位并儲(chǔ)存低8位,再讀取高8位并儲(chǔ)存高8位。調(diào)用后,它從port參數(shù)指定的端口讀入并返回一個(gè)字節(jié),輸入值可以是在0—255范圍內(nèi)的任意無符號(hào)整數(shù)值。 _inp()函數(shù)原型為:int _inp(unsigned short port)。調(diào)用后,它將databyte參數(shù)指定的值輸出到port 參數(shù)指定的端口并返回該值。_outp()函數(shù)原型為: int _outp(unsigned short port, int databyte )。在VC開發(fā)系統(tǒng)中。第3行代碼中0x300是計(jì)算器0的地址,255是需要初始化進(jìn)入計(jì)數(shù)器的數(shù)值。先低8位,后高8位; _outp(0x300,255)。 //控制字 _outp(0x300,255)。第一片芯片控制字地址為0x303,第二片控制字地址為0x307。選擇工作方式2,則D3D2D1應(yīng)該取010。由于單個(gè)計(jì)數(shù)器是完全獨(dú)立的,所以寫入控制字的順序無任何先寫或后寫的限制。采集數(shù)據(jù)程序的實(shí)現(xiàn)::打開文件初始化計(jì)數(shù)器開始讀取外部數(shù)據(jù)寫入文件處理數(shù)據(jù)讀取完畢關(guān)閉文件是  否 結(jié)束 采集數(shù)據(jù)程序流程圖下面分別介紹每個(gè)小的模塊的實(shí)現(xiàn)過程。地址:300H~303H分別表示第一片8253芯片的計(jì)數(shù)器0、計(jì)數(shù)器計(jì)數(shù)器2和控制字;地址:304H~307H分別表示第二片8253芯片的計(jì)數(shù)器0、計(jì)數(shù)器計(jì)數(shù)器2和控制字。綜合分析,由于雙軸系統(tǒng)中,每個(gè)進(jìn)給軸會(huì)用到2個(gè)計(jì)數(shù)器,即正反方向分別各一個(gè)計(jì)數(shù)器。表 計(jì)算機(jī)端口地址I/O接口名稱端口地址硬驅(qū)控制卡1F0H~FFH游戲控制卡200H~20FH并行口控制卡1370H~37FH并行口控制卡2270H~27FH串行口控制卡13F8H~3FFH串行口控制卡22F0H~2FFH原型插件板(用戶可用)300H~31FH同步通訊卡13A0H~3AFH同步通訊卡2380H~38FH單顯DMA3B0H~3BFH彩顯CGA3D0H~3DFH彩顯EGA/VGA3C0H~3CFH軟驅(qū)控制卡3F0H~3F7H,用戶可用的地址區(qū)域?yàn)椋?00H~31FH,。ISA總線端口編址方式有兩種方式:統(tǒng)一方式:存儲(chǔ)器中一部分地址分配給 I/O; 獨(dú)立方式:存儲(chǔ)器和I/O分別編址,有獨(dú)立的指令, PC采用此方式。其工作頻率為8MHz左右,為16位插槽,最大傳輸率16MB/sec,可插接顯卡,聲卡,網(wǎng)卡已及所謂的多功能接口卡等擴(kuò)展插卡。這種方法唯一的限定也是必須讀完規(guī)定的字節(jié)數(shù)。這個(gè)命令一旦寫入后,就立即把當(dāng)前計(jì)數(shù)值鎖存到鎖存寄存器,而計(jì)數(shù)器可以繼續(xù)工作。本次采用鎖存計(jì)數(shù)器的當(dāng)前計(jì)數(shù)值。D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RL1 RL0 M2 M1 M0 BCD 方式控制字SCSC0 計(jì)數(shù)器選擇RL1 、RL0 CPU讀/寫操作 SC1 SC0 計(jì)數(shù)器 0 0 計(jì)數(shù)器0 0 1 計(jì)數(shù)器1 1 0
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1