客車用盤式制動閘制動性能檢測系統(tǒng)設計
客車用盤式制動閘制動性能檢測系統(tǒng)設計,客車用盤式制動閘制動性能檢測系統(tǒng)設計,客車,用盤式,制動閘,制動,性能,機能,檢測,系統(tǒng),設計
畢 業(yè) 設 計 附 件 四
源程序
專 業(yè) 機械設計制造及其自動化
學生姓名
班 級
學 號
指導教師
完成日期 2011年6月6日
源程序
速度采集AD/轉換接口程序
ORG 0000H
ADIO: SJMP START
ORG 0013H ; INT1中斷入口
MOV R6,#0AH ; 設置循環(huán)次數(shù),
延時10s
LOOP: LCALL DEL; 調用1s延時子程序
JMP INDATA
DJNZ R6,LOOP
ORG 0040H; 主程序入口
START: ANL P2,#07FH; 芯片選擇
MOVX A,@R1; 讀一個數(shù)據(jù)并復位ADC中斷觸發(fā)器
ORL P2,80H; 置位P2.7
MOV R0,#20H; 數(shù)據(jù)地址
MOV Rl,0FFH; 虛擬地址
MOV A,#0FFH; 為中斷循環(huán)置位累加器
ANL P2,#07FH; 發(fā)送片選信號
MOVX @Rl,A 發(fā)送寫輸出信號,啟動A/D轉換
SETB EA 中斷開放
SETB EXI 允許INT1中斷
LOOP: JNZ LOOP 中斷等待,判A的內容=0,進入中斷后A=0
NOP
NOP
INDATA: MOVX A,@R1; 若片選為低,則輸入數(shù)據(jù)
MOV @R0,A 存儲在存儲器中
CRL A; 清累加器以得到中斷循環(huán)輸出
RET; 返回
SMJZ: ORG 3000H
MOV DPTR,#6000H 8279命令口地址
MOV A,#10H; 8位顯示,右入口
MOVX @DPTR,A; 輸出控制字
MOV A,#14H 分頻數(shù)20
MOVX @DPTR,A; 8279內部產(chǎn)生100kHz頻率
MOV A#90H; 寫顯示RAM地址,Al=1遞增
MOVX @DPTR,A
RET
轉速顯示編程:
ORG 3100H
ZSDISP: MOV RO,#43H; 顯示緩沖地址43H
MOV R2, #04H 顯示共4位
MOV DPTR,#4000H; 指向8279數(shù)據(jù)口
LOOP: MOV A,@R0
MOV DPTR,#TAB; 開始查表,TAB=3180H
MOVC A,A+@DPTR
MOVX @DPTR,A
DEC R0
DJNZ R2 ,LOOP
RET
延時lms程序:
DL 1MS: MOV R3, #02H
Ll: MOV R4, #0F8H
L2: DJNZ R4, L2
DJNZ R3, Ll
RET
數(shù)據(jù)處理及拆字程序如下:
ADCP: ORG 1000H
MOV A,@R0; 從AD轉換中取數(shù)據(jù)
MOV 26H,A; 數(shù)據(jù)送26H儲存,作比較用
MOV B,#0FH; 將15的二進制數(shù)0FH送B
DIV AB
MOV 20H,A; 商數(shù)存A
MOV 21H,B; 余數(shù)存B
MOV R4,#02H; 兩個單元均需要拆字顯示
MOV R0,#20H; 從暫存單元取數(shù)
MOV Rl,#40H; 設暫存拆字結果臨時單元
LOOP: MOV A,@R0
MOV B,#0AH; 除以10即可
DIV AB
MOV @R1,B; 存余數(shù)(個位)
INC Rl
MOV @R1,A; 存商(十位)
INC Rl
INC R0
DJNZ R4,LOOP
RET
轉速賦初值:
ZSFCZ: MOV DPTR,#34X()H; 設置地址3400H
MOV R4,#02H; 兩個初值分別傳送
MOV R0,#21H; 設暫存單元首地址
LOOP: MOVX A,@DPTR
MOV @R0,A
DEC R0; 指向轉速百位、千位
INC DPTR; 指向轉速個位、十位
DJNZ R4, L
RET
主程序:
ORG 4200H
MAIN: LCALL SMLZ
LCALL ZSFCZ
MOV R6,#0AH; 置循環(huán)次數(shù),延時10S
LOOP1: LCALL DEL; 調用1S延時子程序
LCALL ADIO
LCALL ADCP
LCALL DLlms; 調用lms延時子程序
LCALL ZSDISP
DJNZ R6,LOOP1
LCALL KZYS
MOV P2,#02H;
ORL P2,#80H; 禁止片選信號
LCALL SMLZ
LCALL TOCSH
LCALL MBFCZ
LOOP2: LCALL CX
LCALL MBDISP
LCALL DLlms; 調用lms延時子程序
MOV R4,26H
CJNE R4,00H,L00P2; 判轉速是否為0,不為0,繼續(xù)
SETB P2.2; 鎖存秒表顯示
END
ATmega16單片機對A/D芯片TLC3545的初始化和采樣程序如下:
?void??Init_TLC3545(?) //初始化程序
?{
CS3545_A?=?0;?
CS3545_A?=?0;//這里是把拉低2us,TLC3545初始化把拉低至少1個SCLK時鐘
CS3545_A?=?1;
?}
?void????Sample_TLC3545(?) //采樣程序
?{
uint8 k;
EA?=?0;
EA?=?1;
CS3545_A?=?0;?
SPIDAT?=?0x77;?? //寫SPIDAT產(chǎn)生SCLK時鐘
while?(!ISPI);?
datah?=?SPIDAT;? //收TLC3545發(fā)出的前8位,第一個字節(jié)
SPIDAT?=?0x77;
while?(!ISPI);
????????datal?=?SPIDAT; //收后8位,第二個字節(jié)??
SPIDAT?=?0x77;? //繼續(xù)給SCLK時鐘,直到24thSCLK之后釋放cs
do?{
k?=?0;
}while(k);???? //拖延時間,讓TLC3545的在24個SCLK周期后才得以釋放
dUw0?=?((datah<<8)?+?(datal&0xfc));
? CS3545_A?=?1;
?}
數(shù)據(jù)采集器的串行口初始化和中斷子程序的代碼如下:
初始化程序:
MOV SCON,#50H ;設置成串口1方式
MOV PCON,#00H
MOV TMOD,#21H ;波特率發(fā)生器T1工作在模式2上
MOV TH1,#0FDH ;T1初始化,設定波特率為38400
MOV TL1,#0FDH
SETB TR1 ;啟動波特率發(fā)生器
SETB EA
SETB ES ;允許串口中斷
串行中斷子程序:
SSERVER: MOV 34H, A ;保護現(xiàn)場
CLR ES
JNB RI, KZHD
CLR RI
MOV A, SBUF
CJNE A, #02H, KZHD ;若地址不匹配,開串口中斷并中斷返回
MOV SBUF, #02H ;若匹配,發(fā)送自身地址
JNB TI, $
CLR TI
MOV R1, #40H ;發(fā)送采集的數(shù)據(jù)
MOV R4, #16
JIXU: MOV SBUF, @R1
JNB TI, $
CLR TI
INC R1
DJNZ R4, JIXU
MOV R1, #40H ;將采集數(shù)據(jù)存儲區(qū)清零
MOV R4, #16
QL: MOV @R1, #00
INC R1
DJNZ R4, QL
KZHD: SETB ES ;開中斷
FANHUI: MOV A, 34H ;還原現(xiàn)場
RETI ;中斷返回
本系統(tǒng)實現(xiàn)串行通訊主要分兩步:MsComm控件屬性的設置和OnComm對事件作出響應。詳細程序如下:
(1)MsComm控件屬性的設置
MsComm1.Settings=“38400,n,8,1”
’數(shù)據(jù)傳輸波特率為38400b/s,無奇偶校驗,8位數(shù)據(jù)位,1位停止位
MsComm1.ComPort=Y ’設Y為1,2,分別代表串行口1,2
MsComm1.Inputlen=0 ’將緩沖區(qū)內容一次讀入
MsComm1.InBufferSize = 1024 ’接收緩沖區(qū)大小
MsComm1.InputMode = ComInputModeBinary ’數(shù)據(jù)以二進制的格式取回
MsComm1.RThreshold = 2 ’接收兩個字節(jié)觸發(fā)一次OnComm事件
MsComm1.OutBufferSize = 512 ’傳輸緩沖區(qū)大小
MsComm1.PortOpen = True ’打開串口
(2)OnComm事件響應程序
Private Sub MSComm1_OnComm()
Dim i As Integer
Dim recdata() As Byte
’定義二進制數(shù)組,由緩沖區(qū)接收到的數(shù)據(jù)用二進制格式接收
Dim DataCom As Single ’數(shù)據(jù)轉換為Single格式
’以下程序是comEvReceive事件觸發(fā)后,將數(shù)據(jù)存入相應的數(shù)組
Select Case MsComm1.CommEvent
Case ComEvReceive
recdata = MsComm1.Input
DataCom = (256 * recdata(i) + recdata(i - 1))
Next i
End Select
End Sub
本系統(tǒng)中利用ADO對象編程訪問數(shù)據(jù)庫的具體使用方法如下:
首先,在Access中建立名為Datamb.mdb的數(shù)據(jù)庫,表1為數(shù)據(jù)表的結構。表中存儲了制動壓力、閘間隙、油壓、運行速度和安全回路狀態(tài),以及相應的數(shù)據(jù)采集的時間。
表1 數(shù)據(jù)表結構
字段名稱
數(shù)據(jù)類型
Id (編號)
自動編號
Datadat (日期)
日期/時間(短時間)
Datatim (時間)
日期/時間(長時間)
Dataval1_press (壓力)
數(shù)字(單精度型)
Dataval1_gap (間隙)
數(shù)字(單精度型)
……
……
Dataval24_press (壓力)
數(shù)字(單精度型)
Dataval24_gap (間隙)
數(shù)字(單精度型)
Dataval1_oil
數(shù)字(單精度型)
Dataval2_oil
數(shù)字(單精度型)
Dataval_speed
數(shù)字(單精度型)
Dataval_relay
數(shù)字(布爾型)
其次,通過引用ADO對象建立數(shù)據(jù)庫中的表與數(shù)據(jù)源的連接:
Ado1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=" & DataPath.Text & "; Persist Security Info=False"
Ado1.CommandType = adCmdTable
Ado1.RecordSource = "datamb"
再次,對數(shù)據(jù)表進行操作,包括更新和清空:
Ado1.Refresh
If Ado1.Recordset.RecordCount > 0 Then
Ado1.Recordset.MoveFirst
While Not Ado1.Recordset.EOF
Ado1.Recordset.Delete
Ado1.Recordset.MoveNext
Wend
End If
最后,對數(shù)據(jù)記錄進行操作,包括增加、修改、刪除記錄,以下是增加新記錄的程序代碼:
With Ado1.Recordset
.AddNew ’新增加一條記錄
.Fields(1).Value = Date ’數(shù)據(jù)采集日期
.Fields(2).Value = Time ’數(shù)據(jù)采集時間
For i=3 to 54
.Fields(i).Value = DataCom(i-2)
’將采集到的數(shù)據(jù)值賦給相應的字段
Next i
.MoveNext
End with
形成報表的輸出,實現(xiàn)的主要代碼如下:
'//聲明一個WORD應用程序,使WORD中的APPLICATION對象對自動功能有效
Dim Myword As New Word.Application
'//定義變量,使其代表WORD的一篇文檔
Dim Mydoc As Word.Document
Dim Myrange As Range
Dim Mytable As Table
Dim mybook As Bookmark
Set Mydoc = Myword.Documents.OPEN(App.Path & "\報表模版.doc")
Mydoc.SaveAs (App.Path & "\報表1.doc")
'AppActivate Mydoc.Application.Caption
Set Mytable = Mydoc.Tables(1)
Mytable.Select
7
收藏
編號:20944636
類型:共享資源
大?。?span id="ksoyjmq" class="font-tahoma">8.90MB
格式:ZIP
上傳時間:2021-04-21
40
積分
- 關 鍵 詞:
-
客車用盤式制動閘制動性能檢測系統(tǒng)設計
客車
用盤式
制動閘
制動
性能
機能
檢測
系統(tǒng)
設計
- 資源描述:
-
客車用盤式制動閘制動性能檢測系統(tǒng)設計,客車用盤式制動閘制動性能檢測系統(tǒng)設計,客車,用盤式,制動閘,制動,性能,機能,檢測,系統(tǒng),設計
展開閱讀全文
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。