版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、學(xué)生實(shí)驗(yàn)報(bào)告冊課程名稱:自動(dòng)工程實(shí)訓(xùn)學(xué) 院:自動(dòng)化專業(yè)班級(jí):姓 名:學(xué) 號(hào):指導(dǎo)教師:成 績:學(xué)年學(xué)期:2017 -2018 學(xué)年 o春þ秋學(xué)期重慶郵電大學(xué)教務(wù)處制實(shí)驗(yàn)項(xiàng)目名稱車燈本地控制實(shí)驗(yàn)實(shí)驗(yàn)地點(diǎn)電裝實(shí)訓(xùn)室A303實(shí)驗(yàn)時(shí)間2017/10/23一二節(jié)實(shí)驗(yàn)指導(dǎo)教師成績一、實(shí)驗(yàn)?zāi)康?)了解車燈實(shí)驗(yàn)箱控制板原理圖2)熟悉車燈的控制邏輯(邏輯圖、邏輯表)3)了解并熟悉MCS08DZ60主要模塊,看懂?dāng)?shù)據(jù)手冊4)學(xué)會(huì)在CodeWarrior軟件環(huán)境下的簡單編程。二、實(shí)驗(yàn)原理(或設(shè)計(jì)方案)通過車燈邏輯控制圖我們可知我們可以將輸入輸出變量傳給MCS08DZ60芯片,通過MCS08DZ60處理,輸
2、出對各種車燈進(jìn)行有效控制。車燈輸入輸出配置說明:/輸入 PTCD_PTCD2 /遠(yuǎn)光燈開關(guān) PTBD_PTBD1 /小燈開關(guān)PTCD_PTCD1 /左轉(zhuǎn)燈開關(guān) PTAD_PTAD0 /右轉(zhuǎn)燈開關(guān)PTFD_PTFD7 /近光燈開關(guān) PTBD_PTBD0 /前霧燈燈開關(guān) PTDD_PTDD5 /剎車指示燈開關(guān) 保留未用 /輸出 PTBD_PTBD6 /遠(yuǎn)光燈 PTAD_PTAD6 /小燈 PTBD_PTBD5 /左轉(zhuǎn)燈 PTAD_PTAD5 /右轉(zhuǎn)燈 PTCD_PTCD4 /近光燈 PTBD_PTBD4 /前霧燈 PTAD_PTAD4 /剎車指示燈 保留未用 注:所有輸出為高電平才有效。通過上表我
3、們可以得到每個(gè)車燈模塊需要達(dá)到的控制效果,我們通過CodeWarrior編程,結(jié)合車燈控制臺(tái),以達(dá)到以上效果。三、實(shí)驗(yàn)儀器設(shè)備、材料車燈控制臺(tái)、CodeWarrior軟件、一臺(tái)電腦四、實(shí)驗(yàn)步驟(或設(shè)計(jì)過程)1)實(shí)驗(yàn)相關(guān)關(guān)鍵原理圖了解(如繼電器、開關(guān)量輸入接口、AD輸入接口等)、輸入輸出接口定義; 電機(jī)驅(qū)動(dòng)模塊中J1、J2為輸出控制接插件,OUTPUT0-OUTPUT7為7個(gè)繼電器輸出控制信號(hào),電路原理圖如圖1所示,J1、J2的具體管腳定義如表1和表2所示。圖1 電機(jī)驅(qū)動(dòng)模塊電路原理圖圖2、 輸入模塊電路原理圖2)軟件流程圖3)軟件模塊功能介紹軟件模塊主要有IO口控制模塊、RTC定時(shí)中斷模塊、M
4、CG時(shí)鐘模塊、CAN總線模塊幾個(gè)部分。其中IO口分為輸入和輸出,實(shí)現(xiàn)對各車燈的控制,RTC定時(shí)器通過產(chǎn)生一個(gè)100ms的時(shí)間基準(zhǔn),控制燈光的閃爍以及CAN報(bào)文的發(fā)送。IO口控制模塊 在本模塊中,通過對7個(gè)輸入和7個(gè)輸出IO口的控制,來實(shí)現(xiàn)車燈的按鈕控制,主要的程序代碼如下:void IO_Init(void) PTDDD_PTDDD5=0; /輸入 PTFDD_PTFDD7=0; PTBDD_PTBDD0=0; PTCDD_PTCDD1=0; PTADD_PTADD0=0; PTCDD_PTCDD2=0; PTBDD_PTBDD1=0; PTDD_PTDD5=1; /剎車指示燈開關(guān) PTFD_
5、PTFD7=1;/倒車指示燈開關(guān) PTBD_PTBD0=1; /車門燈開關(guān) PTCD_PTCD1=1;/左轉(zhuǎn)燈開關(guān) PTAD_PTAD0=1; /右轉(zhuǎn)燈開關(guān) PTCD_PTCD2=1;/遠(yuǎn)光燈開關(guān) PTBD_PTBD1=1; /近光燈開關(guān) PTBDD_PTBDD6=1;/輸出 PTADD_PTADD6=1;/ PTBDD_PTBDD5=1; PTADD_PTADD5=1; PTCDD_PTCDD4=1; PTBDD_PTBDD4=1; PTADD_PTADD4=1; PTBD_PTBD6=0;/遠(yuǎn)光燈 PTAD_PTAD6=0;/近光燈 PTBD_PTBD5=0;/左轉(zhuǎn)燈 PTAD_PTAD5
6、=0;/右轉(zhuǎn)燈 PTCD_PTCD4=0;/門燈 PTBD_PTBD4=0;/倒車指示燈 PTAD_PTAD4=0;/剎車指示燈 MCG時(shí)鐘模塊 本模塊采用外部晶體為4MHZ、總線頻率8為MHZ的時(shí)鐘源。相應(yīng)的程序代碼請參考光盤中的源代碼。CAN總線模塊 本模塊主要包括CAN模塊寄存器的初始化設(shè)置,本實(shí)驗(yàn)中設(shè)置的CAN通信波特率為125kbps,此外,還有CAN發(fā)送和CAN接收兩個(gè)部分,相應(yīng)的程序代碼請參考光盤中的源代碼。RTC定時(shí)中斷 本模塊中包括RTC定時(shí)器初始化,RTC定時(shí)器中斷函數(shù),通過RTC定時(shí)來產(chǎn)生400ms的定時(shí)器中斷發(fā)送CAN報(bào)文,相應(yīng)的程序代碼請參考光盤中的源代碼。燈光邏輯控
7、制 這部分主要是通過按鍵來控制車燈的點(diǎn)亮和熄滅等操作,通過檢測輸入信號(hào)(按鈕的動(dòng)作),來判斷是哪個(gè)開關(guān)動(dòng)作,從而實(shí)現(xiàn)相應(yīng)的操作(燈點(diǎn)亮或熄滅)。4)下載程序?qū)崿F(xiàn)結(jié)果五、實(shí)驗(yàn)過程原始記錄(數(shù)據(jù)、圖表、計(jì)算等)(或設(shè)計(jì)計(jì)算、圖紙等)給實(shí)驗(yàn)箱上電,打開電源開關(guān)。當(dāng)把按鈕打到近光檔時(shí),近光燈點(diǎn)亮,繼續(xù)把按鈕打到遠(yuǎn)光燈時(shí),近光燈遠(yuǎn)光燈同時(shí)點(diǎn)亮;當(dāng)按下剎車燈的開關(guān)時(shí),剎車燈點(diǎn)亮;當(dāng)按下倒車燈的開關(guān)時(shí),倒車燈點(diǎn)亮;當(dāng)把按鈕打到左轉(zhuǎn)檔時(shí),左轉(zhuǎn)指示燈會(huì)出現(xiàn)周期性(閃爍頻率10HZ)的閃爍,把按鈕打到右轉(zhuǎn)檔時(shí),右轉(zhuǎn)指示燈會(huì)出現(xiàn)周期性(閃爍頻率10HZ)的閃爍,把按鈕打到中間檔時(shí),左轉(zhuǎn)燈和右轉(zhuǎn)燈全部熄滅;當(dāng)按下警示
8、燈開關(guān)時(shí),左轉(zhuǎn)向燈、右轉(zhuǎn)向燈同時(shí)周期性(閃爍頻率10HZ)的閃爍,并且車身上的四個(gè)門燈全部打開。六、實(shí)驗(yàn)結(jié)果及分析(或設(shè)計(jì)總結(jié)) 通過不斷CodeWarrior軟件環(huán)境下編程,不斷實(shí)驗(yàn),最終成功實(shí)現(xiàn)了對近光燈、遠(yuǎn)光燈、左轉(zhuǎn)燈、右轉(zhuǎn)燈、倒車燈、應(yīng)急燈和霧燈等模塊對應(yīng)功能的實(shí)現(xiàn),撥動(dòng)每個(gè)模塊車燈按鈕便能實(shí)現(xiàn)對應(yīng)的車燈效果。 通過這個(gè)實(shí)驗(yàn)我們第一次接觸了汽車電子方面的控制技術(shù),不僅僅培養(yǎng)了我們實(shí)際操作能力,也培養(yǎng)了我們靈活運(yùn)用課本知識(shí),理論聯(lián)系實(shí)際,獨(dú)立自主的進(jìn)行設(shè)計(jì)的能力,學(xué)習(xí)到了很多軟硬件方面的知識(shí),學(xué)會(huì)熟練使用CodeWarrior集成開發(fā)環(huán)境,學(xué)會(huì)了車燈控制臺(tái)的硬件設(shè)計(jì)。實(shí)驗(yàn)時(shí)一定要在安全的
9、情況下多動(dòng)手多實(shí)踐才能熟悉控臺(tái)才能了解操作過程的各個(gè)環(huán)節(jié),同時(shí)在動(dòng)手的過程中就能慢慢學(xué)會(huì)如何去調(diào)好每一個(gè)模塊。是的,紙上得來終覺淺,在這次實(shí)驗(yàn)學(xué)習(xí)中我清楚的認(rèn)識(shí)到了車燈控制操作更多要靠實(shí)踐,衷心感謝學(xué)校給我們安排的這次學(xué)習(xí)機(jī)會(huì),謝謝老師的安排同時(shí)希望我們專業(yè)以后會(huì)有更多這樣的機(jī)會(huì)。七、評閱意見 評閱人簽字:評閱日期:附錄#include <hidef.h> /* for EnableInterrupts macro */#include "derivative.h" /* include peripheral declarations */#include &q
10、uot;MSCAN.h"Unsigned char flag,flag1,flag2,warn_flag;void delay(unsigned int x) unsigned int i,j; for(i=0;i<x;i+) for(j=0;j<250;j+) ; void IO_Init() / 配置為輸入 PTDDD_PTDDD5 = 0; PTFDD_PTFDD7 = 0; PTBDD_PTBDD0 = 0; PTCDD_PTCDD1 = 0; PTADD_PTADD0 = 0; PTCDD_PTCDD2 = 0; PTBDD_PTBDD1 = 0; PTDD_P
11、TDD5 = 1; /剎車指示燈開關(guān) 保留未用 PTFD_PTFD7 = 1; /近光燈開關(guān) PTBD_PTBD0 = 1; /前霧燈燈開關(guān) PTCD_PTCD1 = 1; /左轉(zhuǎn)燈開關(guān) PTAD_PTAD0 = 1; /右轉(zhuǎn)燈開關(guān) PTCD_PTCD2 = 1; /遠(yuǎn)光燈開關(guān) PTBD_PTBD1 = 1; /小燈開關(guān) /配置為輸出 PTBDD_PTBDD6 = 1; PTADD_PTADD6 = 1; PTBDD_PTBDD5 = 1; PTADD_PTADD5 = 1; PTCDD_PTCDD4 = 1; PTBDD_PTBDD4 = 1; PTADD_PTADD4 = 1; PTBD_
12、PTBD6 = 0; /遠(yuǎn)光燈 PTAD_PTAD6 = 0; /小燈 PTBD_PTBD5 = 0; /左轉(zhuǎn)燈 PTAD_PTAD5 = 0; /右轉(zhuǎn)燈 PTCD_PTCD4 = 0; /近光燈燈 PTBD_PTBD4 = 0; /前霧燈燈 PTAD_PTAD4 = 0; /剎車指示燈 保留未用 void led_control() if(PTCD_PTCD2=1) /遠(yuǎn)光燈開關(guān) PTBD_PTBD6 = 0; /遠(yuǎn)光燈關(guān) else PTBD_PTBD6 = 1; /遠(yuǎn)光燈開 if(PTBD_PTBD1=1) /小燈開關(guān) PTAD_PTAD6 = 0; /小燈關(guān) else PTAD_PTAD
13、6 = 1; /小燈開 if(PTFD_PTFD7=1) /近光燈開關(guān) PTCD_PTCD4 = 0; /近光燈關(guān) else PTCD_PTCD4 = 1; /近光燈開 if(PTBD_PTBD0=1) /前霧燈開關(guān) PTBD_PTBD4 = 0; /前霧燈關(guān) else PTBD_PTBD4 = 1; /前霧燈開 void RTC_Init() RTCMOD= 0x00; RTCSC_RTIF = 0; /清除RTC標(biāo)志位 RTCSC_RTCLKS = 0; /選擇時(shí)鐘源 00 1Khz 01 外部時(shí)鐘 1x 內(nèi)部時(shí)鐘 RTCSC_RTIE = 1; /開定時(shí)器中斷 RTCSC_RTCPS =
14、 13; /時(shí)鐘源100預(yù)分頻void main(void) DisableInterrupts; IO_Init(); RTC_Init(); EnableInterrupts; for(;) led_control(); /Send_CAN_Msg(); interrupt VectorNumber_Vrtc void RTI_ISR(void) /100ms定時(shí)中斷 RTCSC_RTIF=1; /該位寫0無效,寫1清除RTIF位和實(shí)時(shí)中斷 if(PTCD_PTCD1=1) /左轉(zhuǎn)燈開關(guān) flag1 = 0; PTBD_PTBD5 = 0; /左轉(zhuǎn)燈關(guān) else if(PTCD_PTCD1
15、=0) flag1+; if(flag1=4) flag1=0; PTBD_PTBD5=PTBD_PTBD5; /左轉(zhuǎn)燈閃爍 if(PTAD_PTAD0=1) /右轉(zhuǎn)燈開關(guān) flag2 = 0; PTAD_PTAD5 = 0; /右轉(zhuǎn)燈關(guān) else if(PTAD_PTAD0=0) flag2+; if(flag2=4) flag2 = 0; PTAD_PTAD5=PTAD_PTAD5; /右轉(zhuǎn)燈閃爍 實(shí)驗(yàn)項(xiàng)目名稱智能天窗本地控制實(shí)驗(yàn)實(shí)驗(yàn)地點(diǎn)電裝實(shí)訓(xùn)室A303實(shí)驗(yàn)時(shí)間2017.10.25一二節(jié)實(shí)驗(yàn)指導(dǎo)教師成績一、實(shí)驗(yàn)?zāi)康?)掌握智能天窗控制的控制邏輯2)天窗控制編程基本方法3)在對原理圖和外圍
16、電路進(jìn)行充分的了解4)編程實(shí)現(xiàn)智能天窗操作按鈕對電機(jī)的控制、邏輯控制二、實(shí)驗(yàn)原理(或設(shè)計(jì)方案)智能天窗的邏輯圖如下智能天窗的邏輯表如下智能天窗模塊功能和定義表序號(hào)功能和定義動(dòng)作顯示形式與說明1天窗玻璃滑移控制向上按鍵天窗玻璃向前滑移(電機(jī)正轉(zhuǎn))向下按鍵天窗玻璃向后滑移(電機(jī)反轉(zhuǎn))2天窗玻璃斜升控制向上按鍵天窗玻璃向上斜升(電機(jī)正轉(zhuǎn))向下按鍵天窗玻璃向下斜降(電機(jī)反轉(zhuǎn))3閱讀燈控制上按鍵閉合前閱讀燈點(diǎn)亮(LED顯示)下按鍵閉合后閱讀燈點(diǎn)亮(LED顯示)三、實(shí)驗(yàn)儀器設(shè)備、材料1) 智能控制實(shí)驗(yàn)箱一套2) BDM下載器一個(gè)3) 預(yù)裝有Freescale開發(fā)軟件的電腦四、實(shí)驗(yàn)步驟(或設(shè)計(jì)過程)1) 實(shí)
17、驗(yàn)相關(guān)關(guān)鍵原理圖了解(如控制信號(hào)輸入接口、控制量輸出接口等)、輸入輸出接口定義; 控制信號(hào)輸入電路原理圖如下:INPUT0-INTPUT3、INPUT6為輸入端口與外圍按鍵連接,KRIN0-KRIN3、KRIN6與單片機(jī)個(gè)引腳相連。圖1 控制信號(hào)輸入端口(只列出兩個(gè)端口其他的類似)引腳編號(hào)網(wǎng)絡(luò)標(biāo)號(hào)含義電平要求1INPUT0天窗玻璃滑移電機(jī)正轉(zhuǎn)低電平有效2INPUT1天窗玻璃滑移電機(jī)反轉(zhuǎn)低電平有效3INPUT2天窗玻璃斜升電機(jī)正轉(zhuǎn)低電平有效4INPUT3天窗玻璃斜升電機(jī)反轉(zhuǎn)低電平有效5INPUT4閱讀燈控制低電平有效6INPUT5閱讀燈控制低電平有效 表1 控制信號(hào)輸入端口定義 圖2中OUT0O
18、UT7分別于單片機(jī)個(gè)控制端口相連,單片機(jī)輸出的控制信號(hào)經(jīng)過ULN2803A后信號(hào)被放大直接輸出控制繼電器。 圖3中繼電器輸出OUTPUT1,OUTPUT2和OUTPUT3,OUTPUT4分別控制電機(jī)轉(zhuǎn)動(dòng)(圖示只列出一個(gè)繼電器),端口定義如表2所示。圖2 單片機(jī)控制信號(hào)輸出圖3 繼電器控制接口含義電平要求OUTPUT0OUTPUT1天窗滑移電機(jī)兩個(gè)輸入端不能相等,相等電機(jī)停止轉(zhuǎn)動(dòng)OUTPUT2OUTPUT3天窗斜升電機(jī)兩個(gè)輸入端不能相等,相等電機(jī)停止轉(zhuǎn)動(dòng)表2 天窗電機(jī)控制端口定義2) 軟件流程圖 3) 軟件模塊功能介紹void Init_IO(void); 為單片機(jī)端口寄存器控制函數(shù),定義端口為
19、輸入還是輸出;void RTC_Init(void);定時(shí)器初始化函數(shù),定義為100ms中斷一次;void MCU_Init(void);電機(jī)控制端口初始化函數(shù),初始化為停止;void MCG_Init(void);時(shí)鐘源初始化函數(shù);void CANInit(void);CAN通信初始化函數(shù);void Send_CAN_Msg(void);CAN發(fā)送數(shù)據(jù)函數(shù);void CAN_TxData( UINT32 CAN_ID,UINT8 Msg_Length,UINT8 *CANTxData); CAN發(fā)送數(shù)據(jù)函數(shù);void scankeystate(void);按鍵狀態(tài)掃描函數(shù),按鍵狀態(tài)放在相應(yīng)的
20、變量中;void MOTORcontrol(void);天窗電機(jī)控制函數(shù);interrupt VectorNumber_Vrtc void RTC_ISR(void);定時(shí)器中斷函數(shù);interrupt VectorNumber_Vcanrx void CANRx_ISR(void);CAN發(fā)送數(shù)據(jù)中斷函數(shù)。4) 實(shí)驗(yàn)程序見光盤資料5) 下載程序6) 程序下載后的操作,如按動(dòng)某按鈕,與之對應(yīng)的電機(jī)會(huì)轉(zhuǎn)動(dòng)。五、實(shí)驗(yàn)過程原始記錄(數(shù)據(jù)、圖表、計(jì)算等)(或設(shè)計(jì)計(jì)算、圖紙等)電子控制系統(tǒng)ECU是一個(gè)數(shù)字控制電路,并設(shè)有定時(shí)器、蜂鳴器和繼電器等。其作用是接受開關(guān)輸入的信息,通過數(shù)字電路進(jìn)行邏輯運(yùn)算,確定
21、繼電器的動(dòng)作,以控制天窗開閉.執(zhí)行機(jī)構(gòu)是用來執(zhí)行駕駛員的指令,使天窗進(jìn)行開閉。六、實(shí)驗(yàn)結(jié)果及分析(或設(shè)計(jì)總結(jié)) 通過兩個(gè)輸入變量便能夠?qū)﹄姍C(jī)進(jìn)行正反轉(zhuǎn)控制,天窗開閉過程就是電機(jī)的正反轉(zhuǎn)過程,通過不斷CodeWarrior軟件環(huán)境下編程,不斷實(shí)驗(yàn),最終成功實(shí)現(xiàn)了智能天窗的控制。 這個(gè)實(shí)驗(yàn)必須了解天窗電機(jī)控制端口定義以及看懂繼電器控制接口原理圖,這樣才能知道怎樣通過編程對天窗進(jìn)行控制。通過這個(gè)實(shí)驗(yàn)我們學(xué)會(huì)了汽車天窗電機(jī)的控制技術(shù),熟練使用CodeWarrior集成開發(fā)環(huán)境寫的編程,學(xué)會(huì)了天窗的硬件設(shè)計(jì)。培養(yǎng)了我們實(shí)際操作能力,把理論控制原理用于實(shí)踐,聯(lián)系實(shí)際,學(xué)以致用,衷心感謝學(xué)校給我們安排的這次
22、學(xué)習(xí)機(jī)會(huì),謝謝老師的安排同時(shí)希望我們專業(yè)以后會(huì)有更多這樣的機(jī)會(huì)。七、評閱意見 評閱人簽字:評閱日期:附錄#include <hidef.h> /* for EnableInterrupts macro */#include "derivative.h" /* include peripheral declarations */#include "mc9s08dz60.h"#include "includes.h"typedef unsigned short UINT16;typedef unsigned char UINT
23、8;typedef unsigned long UINT32;#define CAN_TXID 0x574 /* Transmit message */#define CAN_RXID 0x74 /* Receive message */#define STD_ID (UINT32)(CAN_TXID) << 21)UINT8 RxData8; UINT8 TxBuffer=0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00;UINT16 num;UINT8 TPMFlag;UINT8 FLAG;UINT8 temp1,MOUPsta,MODOWNst
24、a,MTUPsta,MTDOWNsta;UINT8 Bit7=0,Bit6=0,Bit5=0,Bit4=0,Bit3=0,Bit2=0,Bit1=1,Bit0=1,data,temp=0;UINT8 MOUPs,MODOWNs,MTUPs,MOT,MTDOWNs,MTT;UINT8 CANsendDelayFlag;void delay(long z)long x,y;x=z;y=z;while(x-);while(y-);while(z-);/CAN發(fā)送數(shù)據(jù)函數(shù)/void CAN_TxData( UINT32 CAN_ID,UINT8 Msg_Length,UINT8 *CANTxData)
25、 UINT8 TxBuffer = 0; UINT8 Index; if( CANsendDelayFlag!=0xff) return; if(!CANTFLG) /查找空閑發(fā)送緩沖區(qū),并選中發(fā)送緩沖區(qū) return;CANsendDelayFlag=0; CANTBSEL=CANTFLG; TxBuffer=CANTBSEL; *(UINT32 *) (UINT32)(&CANTIDR0)= CAN_ID; / CANTIDR0 = (UINT8)(CAN_ID)>>3); /CANTIDR1 = (UINT8)CAN_ID)&0x007)<<5);
26、 for (Index=0;Index<Msg_Length;Index+) *(&CANTDSR0 + Index)= CANTxDataIndex; CANTDLR =Msg_Length; /數(shù)據(jù)長度 CANTFLG =TxBuffer; / Start transmission /while(CANTFLG & TxBuffer)!=TxBuffer); /CAN發(fā)送數(shù)據(jù)函數(shù)/void Send_CAN_Msg(void) data=128*Bit7+64*Bit6+32*Bit5+16*Bit4+8*Bit3+4*Bit2+2*Bit1+Bit0; TxBuff
27、er1=data; CAN_TxData(STD_ID,sizeof(TxBuffer),TxBuffer);void main(void) Init_IO(); RTC_Init(); MCG_Init(); CANInit(); MCU_Init(); EnableInterrupts; for(;) if(temp=3) CANsendDelayFlag=0xff; Send_CAN_Msg(); temp=0; scankeystate(); MOTORcontrol(); void scankeystate(void) /按鍵狀態(tài)掃描 if(!MOUP) MOUPsta=1; els
28、e MOUPsta=0;if(!MODOWN) MODOWNsta=1; else MODOWNsta=0; if(!MTUP) MTUPsta=1; else MTUPsta=0; if(!MTDOWN) MTDOWNsta=1; else MTDOWNsta=0;void MOTORcontrol(void) /電機(jī)控制 if(MOUPsta) /天窗玻璃滑移電機(jī)正反轉(zhuǎn) M1_OUT0=1; M1_OUT1=0; else if(MODOWNsta) M1_OUT0=0; M1_OUT1=1; else M1_OUT0=1; M1_OUT1=1; if(MTUPsta) /天窗玻璃斜升控制
29、電機(jī)正反轉(zhuǎn) M2_OUT2=1; M2_OUT3=0; else if(MTDOWNsta) M2_OUT2=0; M2_OUT3=1; else M2_OUT2=1; M2_OUT3=1; if(LIGHTON=0)&&(LIGHTOFF=0) /閱讀燈控制 M3_OUT4=1; M3_OUT5=1; else if(LIGHTON=0) M3_OUT4=1; M3_OUT5=0; else if(LIGHTOFF=0) M3_OUT4=0; M3_OUT5=1; else M3_OUT4=0; M3_OUT5=0; interrupt VectorNumber_Vrtc v
30、oid RTC_ISR(void) RTCSC_RTIF=1; temp+; interrupt VectorNumber_Vcanrx void CANRx_ISR(void) UINT8 Msg_Length; UINT8 Index; Msg_Length=(CANRDLR&0x0F); for (Index=0; Index < Msg_Length; Index+) RxDataIndex = *(&CANRDSR0 + Index); CANRFLG_RXF = 1; /* Clear reception flag */ 實(shí)驗(yàn)項(xiàng)目名稱車門本地控制實(shí)驗(yàn)實(shí)驗(yàn)地點(diǎn)電
31、裝實(shí)驗(yàn)室A303實(shí)驗(yàn)時(shí)間2017.10.30一二節(jié)實(shí)驗(yàn)指導(dǎo)教師成績一、實(shí)驗(yàn)?zāi)康?)掌握車門控制的控制邏輯2)車門控制編程基本方法3)在對原理圖和外圍電路進(jìn)行充分的了解4)編程實(shí)現(xiàn)車門操作按鈕對電機(jī)的控制、邏輯控制二、實(shí)驗(yàn)原理(或設(shè)計(jì)方案)智能天窗的邏輯圖如下智能天窗的邏輯表如下車門模塊功能和定義表序號(hào)功能和定義動(dòng)作顯示形式與說明1右車門玻璃滑移控制向上按鍵右車門玻璃向前滑移(電機(jī)正轉(zhuǎn))向下按鍵右車門玻璃向后滑移(電機(jī)反轉(zhuǎn))2左車門玻璃滑移控制向上按鍵左車門玻璃向前滑移(電機(jī)正轉(zhuǎn))向下按鍵左車門玻璃向后滑移(電機(jī)反轉(zhuǎn))3左后視鏡上按鍵閉合左后視鏡上移(電機(jī)正轉(zhuǎn))下按鍵閉合左后視鏡下移(電機(jī)反轉(zhuǎn))
32、左按鍵閉合左后視鏡左移(電機(jī)正轉(zhuǎn))右按鍵閉合左后視鏡右移(電機(jī)反轉(zhuǎn))上按鍵閉合左后視鏡上移(電機(jī)正轉(zhuǎn))下按鍵閉合左后視鏡下移(電機(jī)反轉(zhuǎn))4右后視鏡左按鍵閉合左后視鏡左移(電機(jī)正轉(zhuǎn))右按鍵閉合左后視鏡右移(電機(jī)反轉(zhuǎn))三、實(shí)驗(yàn)儀器設(shè)備、材料1)實(shí)驗(yàn)控制對象模型的小車2)燒寫程序的下載器3)一臺(tái)電腦四、實(shí)驗(yàn)步驟(或設(shè)計(jì)過程)1.首先需要掌握車窗和前視鏡控制的原理,其是通過控制電機(jī)的正反轉(zhuǎn)從而控制車窗和前視鏡的移動(dòng)。2.閱讀相關(guān)的程序,了解相關(guān)的定義,知道I/O口的含義以及其控制的相應(yīng)電機(jī)。/輸入信號(hào)#define LRUP PTAD_PTAD0 /選擇左視鏡#define LRDOWN PTCD_P
33、TCD1 /選擇右視鏡#define RFUP PTBD_PTBD0 /右前窗反轉(zhuǎn)輸入#define KRIN12 PTCD_PTCD2 /右前窗反轉(zhuǎn)輸入#define RFDOWN PTCD_PTCD0 /右前窗正轉(zhuǎn)輸入#define RRDOWN PTCD_PTCD2 /右前窗正轉(zhuǎn)輸入#define LFUP PTDD_PTDD7 /左前窗正轉(zhuǎn)輸入#define LFDOWN PTBD_PTBD1 /左前窗反轉(zhuǎn)輸入#define KRIN8 PTFD_PTFD7 /上#define KRIN9 PTDD_PTDD5 /下#define KRIN10 PTDD_PTDD4 /左#define
34、 KRIN11 PTDD_PTDD3 /右 /電機(jī)方向控制端口#define M_OUT1 PTBD_PTBD6 /左前窗輸出#define M_OUT4 PTAD_PTAD5 /左前窗輸出#define M_OUT2 PTAD_PTAD6 /右前窗輸出#define M_OUT3 PTBD_PTBD5 /右前窗輸出#define M_OUT8 PTAD_PTAD3 /左后視鏡上下輸出#define M_OUT5 PTCD_PTCD4 /左后視鏡左右輸出#define M_OUT9 PTBD_PTBD3 /左后視鏡電機(jī)公共端#define M_OUT10 PTCD_PTCD3 /右后視鏡上下輸
35、出#define M_OUT7 PTAD_PTAD4 /右后視鏡左右輸出#define M_OUT11 PTAD_PTAD2 /右后視鏡電機(jī)公共端3.根據(jù)相應(yīng)的I/O口輸入輸出配置,在相應(yīng)的電機(jī)控制程序中編寫相關(guān)的控制電機(jī)程序。4.編寫好程序后就用下載器下載到控制器上實(shí)現(xiàn)對車窗和前車鏡的控制,如果編寫的程序不能正確控制車窗和車鏡,就再進(jìn)行程序的編寫直到能控制為止。五、實(shí)驗(yàn)過程原始記錄(數(shù)據(jù)、圖表、計(jì)算等)(或設(shè)計(jì)計(jì)算、圖紙等)通過控制相應(yīng)按鈕能夠?qū)崿F(xiàn)對左右車門、左右后視鏡的控制。六、實(shí)驗(yàn)結(jié)果及分析(或設(shè)計(jì)總結(jié))通過本次實(shí)驗(yàn),了解了對電機(jī)的控制,學(xué)會(huì)了電機(jī)控制的原理圖,了解相關(guān)的程序控制語句,
36、通過兩個(gè)輸入變量便能夠?qū)﹄姍C(jī)進(jìn)行正反轉(zhuǎn)控制,車門后視鏡玻璃升降過程就是電機(jī)的正反轉(zhuǎn)過程,通過不斷CodeWarrior軟件環(huán)境下編程,不斷實(shí)驗(yàn),最終成功實(shí)現(xiàn)了車門的控制。 這個(gè)實(shí)驗(yàn)必須了解車門后視鏡電機(jī)控制端口定義以及看懂繼電器控制接口原理圖,這樣才能知道怎樣通過編程對車門后視鏡進(jìn)行控制。通過這個(gè)實(shí)驗(yàn)我們學(xué)會(huì)了汽車電機(jī)的控制技術(shù),熟練使用CodeWarrior集成開發(fā)環(huán)境寫的編程,學(xué)會(huì)了車門后視鏡的硬件設(shè)計(jì)。培養(yǎng)了我們實(shí)際操作能力,把理論控制原理用于實(shí)踐,聯(lián)系實(shí)際,學(xué)以致用,衷心感謝學(xué)校給我們安排的這次學(xué)習(xí)機(jī)會(huì),謝謝老師的安排同時(shí)希望我們專業(yè)以后會(huì)有更多這樣的機(jī)會(huì)。七、評閱意見 評閱人簽字:評
37、閱日期:附錄/頭文件#include <hidef.h> /* common defines and macros */#include "derivative.h" /* derivative-specific definitions */#include <stdlib.h>/#include "includes.h"/#include "main_asm.h" /* interface to the assembly module */宏定義#define RRUP PTBD_PTBD1 /#define
38、 RRDOWN PTCD_PTCD2 /#define LRUP PTAD_PTAD0 /選擇左視鏡#define LRDOWN PTCD_PTCD1 /選擇右視鏡#define RFUP PTBD_PTBD0 /右前窗正轉(zhuǎn)輸入#define RFDOWN PTCD_PTCD0 /右前窗轉(zhuǎn)輸入#define LFUP PTDD_PTDD7 /左前窗轉(zhuǎn)輸入#define LFDOWN PTDD_PTDD6 /左前窗反轉(zhuǎn)輸入#define KRIN8 PTFD_PTFD7 /上#define KRIN9 PTDD_PTDD5 /下#define KRIN10 PTDD_PTDD4 /左#defin
39、e KRIN11 PTDD_PTDD3 /右#define KRIN12 PTDD_PTDD2 /電機(jī)方向控制端口#define M_OUT0 PTCD_PTCD5 /左前窗輸出#define M_OUT1 PTBD_PTBD6#define M_OUT2 PTAD_PTAD6 /右前窗輸出#define M_OUT3 PTBD_PTBD5 #define M_OUT4 PTAD_PTAD5 /左后視鏡前后輸出#define M_OUT5 PTCD_PTCD4#define M_OUT6 PTBD_PTBD4 /右后視鏡前后輸出#define M_OUT7 PTAD_PTAD4#define
40、M_OUT8 PTAD_PTAD3 /左后視鏡上下輸出#define M_OUT9 PTBD_PTBD3#define M_OUT10 PTCD_PTCD3 /右后視鏡上下輸出#define M_OUT11 PTAD_PTAD2#define OUT12 PTBD_PTBD2 /保留void Init_IO(void) PTADD_PTADD0=0; PTBDD_PTBDD1=0; PTCDD_PTCDD2=0; PTCDD_PTCDD1=0; PTBDD_PTBDD0=0; PTCDD_PTCDD0=0; PTDDD_PTDDD7=0; PTFDD_PTFDD7=0; PTDDD_PTDDD
41、2=0; PTDDD_PTDDD3=0; PTDDD_PTDDD4=0; PTDDD_PTDDD5=0; PTDDD_PTDDD6=0; PTBDD_PTBDD6=1; PTCDD_PTCDD5=1; PTADD_PTADD6=1; PTBDD_PTBDD5=1; PTADD_PTADD5=1; PTCDD_PTCDD4=1; PTBDD_PTBDD4=1; PTADD_PTADD4=1; PTADD_PTADD3=1; PTBDD_PTBDD3=1; PTCDD_PTCDD3=1; PTADD_PTADD2=1; PTBDD_PTBDD2=1; void MCU_Init(void) M_O
42、UT0=0; M_OUT1=0; M_OUT2=0; M_OUT3=0; M_OUT4=0; M_OUT5=0; M_OUT6=0; M_OUT7=0; M_OUT8=0; M_OUT9=0; M_OUT10=0; M_OUT11=0; OUT12=1; KRIN8=1; KRIN9=1; KRIN10=1; KRIN11=1; void MOTORcontrol(void) if(PTDD_PTDD7=0) /左前窗 M_OUT4=0; M_OUT1=1; else if(PTBD_PTBD1=0) M_OUT4=1; M_OUT1=0; else M_OUT4=0; M_OUT1=0; i
43、f(PTBD_PTBD0&&PTCD_PTCD2)=0 ) /右前窗 M_OUT2=1; M_OUT3=0; else if(PTCD_PTCD0&&PTDD_PTDD2)=0) M_OUT2=0; M_OUT3=1; else M_OUT2=0; M_OUT3=0; /選擇左后視鏡 if(PTAD_PTAD0=0) /up if(PTFD_PTFD7=0) M_OUT8=0; /上下電機(jī)輸出 M_OUT9=1;/M_out9作為電機(jī)公共端 /down else if(PTDD_PTDD5=0) M_OUT8=1; M_OUT9=0; else M_OUT8=M
44、_OUT9; /left if(PTDD_PTDD4=0) M_OUT5=0;/左右電機(jī)輸出 M_OUT9=1; /right else if(PTDD_PTDD3=0) M_OUT5=1; M_OUT9=0; else M_OUT5=M_OUT9; /選擇右后視鏡 if(PTCD_PTCD1=0) /up if(PTFD_PTFD7=0) M_OUT10=0; /上下電機(jī)輸出M_OUT11=1;/M_out11作為電機(jī)公共端 /down else if(PTDD_PTDD5=0) M_OUT10=1; M_OUT11=0; else M_OUT10=M_OUT11; /left if(PTDD_PTDD4=0) M_OUT7=0;/左右電機(jī)輸出 M_OUT11=1; /right else if(PTDD_PTDD3=0) M_OUT7=1; M_OUT11=0; else
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年蘇科版七年級(jí)生物下冊階段測試試卷含答案
- 2025年度采購合同標(biāo)的質(zhì)量保證協(xié)議3篇
- 2025年人教新起點(diǎn)六年級(jí)英語下冊月考試卷含答案
- 二零二五年度個(gè)人租賃車輛借款合同借條3篇
- 2025年北師大版高三生物下冊階段測試試卷含答案
- 2025年外研銜接版高三物理下冊階段測試試卷含答案
- 2024快遞包裹損壞責(zé)任賠償合同
- 2025年外研版高三數(shù)學(xué)上冊階段測試試卷
- 智能家居相關(guān)課程設(shè)計(jì)
- 2025年仁愛科普版三年級(jí)語文下冊階段測試試卷
- JJG 1149-2022電動(dòng)汽車非車載充電機(jī)(試行)
- 工程款支付報(bào)審表
- 《項(xiàng)目施工組織設(shè)計(jì)開題報(bào)告(含提綱)3000字》
- ICU常見藥物課件
- CNAS實(shí)驗(yàn)室評審不符合項(xiàng)整改報(bào)告
- 農(nóng)民工考勤表(模板)
- 承臺(tái)混凝土施工技術(shù)交底
- 臥床患者更換床單-軸線翻身
- 計(jì)量基礎(chǔ)知識(shí)培訓(xùn)教材201309
- 阿特拉斯基本擰緊技術(shù)ppt課件
- 新課程理念下的班主任工作藝術(shù)
評論
0/150
提交評論