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

正文內(nèi)容

基于s3c44b0步進(jìn)電機(jī)的控制系統(tǒng)畢業(yè)設(shè)計論文-文庫吧資料

2025-07-03 19:38本頁面
  

【正文】 delayLoopCount=10。 if(time==0){time=10。 表44 看門狗定時器計數(shù)寄存器WTCNTWTCNT 地址:0x01D30008 R/W 初始值:0x8000位位名稱描述[15:0]計數(shù)值看門狗定時器的當(dāng)前計數(shù)值延時程序流程圖如圖46所示:開 始 定義變量 判斷參數(shù)是否為零運(yùn)行For循環(huán)延時開啟看門狗定時器結(jié)束圖46 延時程序流程圖延時程序為:static int delayLoopCount=10。注意:當(dāng)看門狗定時器初始使能時,其數(shù)據(jù)寄存器中的值不能自動裝入計數(shù)寄存器。初始時使用0x8000,第一個時限發(fā)生之后,WTDAT值得自動裝入WTCNT。 表42 看門狗定時器控制寄存器WTCONWTCON 地址:0x01D30000 R/W 初始值:0x8021位位名稱描述[15:8]Prescaler Value預(yù)分頻值:0~(2的8次方1)[7:6]保留[5]Watchdog TimerEnable/Disable看門狗定時器的允許位:0=禁止看門狗定時器 1=允許看門狗定時器[4:3]Clock Select確定時鐘除數(shù)因子:00=1/16 01=1/32 10=1/64 11=1/128[2]InterruptEnable/Disable看門狗中斷允許位0=禁止中斷產(chǎn)生 1=允許中斷產(chǎn)生[1]保留,在正常狀態(tài)下該位必須為0[0]ResetEnable/Disable看門狗輸出復(fù)位信號的允許位:0=不允許 1=允許 (2) 定時器數(shù)據(jù)寄存器WTDAT看門狗定時器數(shù)據(jù)寄存器WTDAT如表43所列,其用于指定時限值。如果不想重啟處理器,那么看門狗定時器禁用。使用WTCON,可使能看門狗定時器從4個不同的時鐘源中選擇時鐘信號,使能或禁止中斷,使能或禁止看門狗定時器復(fù)位信號輸出。因此,在看門狗定時器開始工作前,初值必須寫到看門狗定時計數(shù)寄存器WTCNT中[6]。使用下列公式計算看門狗定時器頻率和每個定時器時鐘周期值。有效的預(yù)分頻值為0~(2的8次方1)。要產(chǎn)生相應(yīng)的看門狗定時器時鐘,MCLK頻率首先預(yù)分頻,然后結(jié)果頻率在分頻。1. 看門狗定時器操作圖45是看門狗定時器的功能框圖。帶中斷請求的普通間隔定時器模式; 它可用做一個普通的16位定時器去請求中斷服務(wù),并可在每128MCLK后產(chǎn)生一個周期的復(fù)位信號。目前大部分嵌入式芯片片內(nèi)都帶有看門狗定時器,以次來提高系統(tǒng)運(yùn)行的可靠性。}(二)延時程序設(shè)計[9]看門狗根據(jù)程序在運(yùn)行指定時間間隔內(nèi)是否進(jìn)行相應(yīng)的操作來判斷程序是否出錯,即未按時復(fù)位看門狗,定時器為出錯。 // pe6 = 1, pe3=1Delay(d_time)。Delay(10)。 // pe5 = 1, pe6=1Delay(d_time)。Delay(10)。 // pe4 = 1, pe5=1Delay(d_time)。Delay(10)。 // pe3 = 1, pe4=1 Delay(d_time)。 Delay(10)。 //0xff。 (~((0x36) |(0x38)|(0x310) |(0x312))) |(0x16)|(0x18)|(0x110)|(0x112)。上拉電阻配置[7:0]PE7~PE00=允許上拉電阻連接到對應(yīng)腳1=不允許上拉電阻連接到對應(yīng)腳PE8沒有可編程的上拉電阻開 始流程圖如圖44所示: 設(shè)置變量及初始化狀態(tài)允許上拉電阻配置設(shè)置PEPE4口 調(diào) 用 延 時設(shè)置PEPE5口 調(diào) 用 延 時 設(shè)置PEPE6口 調(diào) 用 延 時設(shè)置PEPE3口 調(diào) 用 延 時結(jié)束 圖44 電機(jī)控制流程圖 程序為:void bj_dj ( unsigned int d_time){ unsigned int i,j=0。 表41 端口E控制寄存器PCONE 地址:0X01D20028 R/W 配置寄存器 初始值:0X00PDATE 地址:0X01D2002C R/W 數(shù)據(jù)寄存器 初始值:未定義PUPE 地址:X01D20030 R/W 上拉電阻配置 初始值:0X00寄存器位位名稱描述配置寄存器[17:16]PE800=保留 01=OUTPUT10=CODECLK 11=保留[15:14]PE700=INPUT 01=OUTPUT 10=TOUT4 11=VD7[13:12]PE600=INPUT 01=OUTPUT 10=TOUT3 11=VD6 [11:10]PE500=INPUT 01=OUTPUT 10=TOUT2 11= TCLK [9:8]PE400=INPUT 01=OUTPUT 10=TOUT1 11=TCLK IN[7:6]PE300=INPUT 01=OUTPUT 10=TOUT0 11=保留[5:4]PE200=INPUT 01=OUTPUT 10=RxD0 11=保留[3:2]PE100=INPUT 01=OUTPUT 10=TxD0 11=保留[1:0]PE000=INPUT 01=OUTPUT 10=Fpllo out 11=Fout out數(shù)據(jù)寄存器[8:0]PE8~PE0當(dāng)端口配置為輸出口時,對應(yīng)腳的狀態(tài)和該位的值相同。通過對PEPEPEPE6的設(shè)置進(jìn)行延時形成脈沖使電機(jī)轉(zhuǎn)動。在引腳配置之前,需要對引腳的初始化狀態(tài)進(jìn)行設(shè)定,以避免一些出現(xiàn)的問題。每個端口的功能通常都要在主程序開始前被定義。S3C44BOX有71個通用可編程多功能輸入/輸出引腳,可以分為7類端口:反轉(zhuǎn)時,只要將控制信號按相反的順序給出即可。開發(fā)板中使用PEPEPEPE6四個端口控制四相步進(jìn)電機(jī)的驅(qū)動的四個引腳。其中:m 為相數(shù),控制方法是四相單四拍和四相雙四拍時C 為1,控制方法是四相單、雙八拍時C 為2,Zk 為轉(zhuǎn)子小齒數(shù)[2]。四相步距電機(jī)的控制方法有四相單四拍,四相單、雙八拍和四相雙四拍三種控制方式。這樣就不再需要脈沖分配器。此步進(jìn)電機(jī)為四相步進(jìn)電機(jī)。由于步進(jìn)電機(jī)的角位移量和輸入脈沖的個數(shù)成正比,在時間上與輸入脈沖同步,因此只要控制輸入脈沖的數(shù)量、頻率及電機(jī)繞組通電順序,便可獲得所需的轉(zhuǎn)角、轉(zhuǎn)速及轉(zhuǎn)動方向。步進(jìn)電機(jī)是一種利用電磁鐵的作用原理將電脈沖信號轉(zhuǎn)換為線位移或角位移的電機(jī)。根據(jù)設(shè)計內(nèi)容要求編寫的主程序流程圖如圖42所示:開 始定義變量分配系統(tǒng)空間確定工作頻率 中斷/I/O口/通用異步收發(fā)器(UART)初始化 電機(jī)控制延時 判斷接受按鍵信號 否 是結(jié)束 圖42 主程序流程圖4.3.2 主要摸塊軟件設(shè)計(一) 電機(jī)控制程序本設(shè)計中選用四相永磁式步進(jìn)電動機(jī)。這種方法在程序設(shè)計時的優(yōu)點是明顯的,但在具體編程時最好采用“自底向上”的方法,即從最低層的模塊開始編程,然后進(jìn)行上層的模塊編程,直至最后完成。有利于大程序的搭建,也便于程序的修改。把整個程序按照“自頂向下”的設(shè)計來分塊,一層層分下去,一直分到最下層的每一模塊能容易編寫為止,即所謂模塊化編程。為了使程序易于編寫與調(diào)試,也為了便于檢驗和維護(hù),總是設(shè)法把程序編寫成一個個結(jié)構(gòu)完整,相對獨(dú)立的程序段。本系統(tǒng)軟件設(shè)計思想是采用結(jié)構(gòu)化設(shè)計方法中的模塊化程序設(shè)計。對于一個硬件電路,配以不同的軟件,所實現(xiàn)的功能也就不同,而且有些硬件電路功能??梢杂密浖韺崿F(xiàn)。在系統(tǒng)初始化完成之后,程序?qū)?zhí)行權(quán)交給主函數(shù)main (),在main()中執(zhí)行與系統(tǒng)功能相關(guān)的操作。設(shè)置中斷系統(tǒng)需要的RAM變量系統(tǒng)運(yùn)行環(huán)境的初始化主要包括以下內(nèi)容:然后,C運(yùn)行時庫中的__main()初始化應(yīng)用程序。對于有操作系統(tǒng)支持的應(yīng)用系統(tǒng)來說,在操作系統(tǒng)啟動時將會初始化系統(tǒng)運(yùn)行環(huán)境。系統(tǒng)初始化程序通常也稱為Boot Loader,代碼量雖少,但是作用非常大,相當(dāng)于PC上的BIOS,負(fù)責(zé)將操作系統(tǒng)內(nèi)核固化到Flash中和系統(tǒng)初始化工作,然后將系統(tǒng)控制權(quán)交給操作系統(tǒng)。而且如果異常中斷向量表放在RAM中,程序在運(yùn)行過程中程序可以修改中斷向量表的內(nèi)容,使得系統(tǒng)更為靈活。Bank7的空間大小和Bank6一樣是可變的,也可配置為2/4/8/16/32MB。Bank0~Bank5的起始地址和空間大小都是固定的;從圖可以看出:在S3C44B0X處理器的嵌入式系統(tǒng)開發(fā)中,也是通過存儲控制器為片外存儲器訪問提供必要的控制信號,管理片外存儲部件的。對于嵌入式系統(tǒng)來說,在系統(tǒng)復(fù)位時RAM中是不存在代碼和數(shù)據(jù)的。此外,由于嵌入式系統(tǒng)一般都應(yīng)用在環(huán)境比較惡劣的場合,易受各種干擾,從而影響到系統(tǒng)的可靠性,因此,應(yīng)用程序的抗干擾技術(shù)也是必須考慮的,這也是嵌入式系統(tǒng)應(yīng)用程序不同于其他應(yīng)用程序的一個重要特點。對于一個特定的系統(tǒng)來說,其系統(tǒng)資源,如Flash. EEPROM, SDRAM、中斷控制等,都是有限的,應(yīng)合理配置系統(tǒng)資源。在編寫嵌入式系統(tǒng)應(yīng)用程序時,可采取如下幾個步驟:(1)明確所要解決的問題:根據(jù)問題的要求,將軟件分成若干個相對獨(dú)立的部分,并合理設(shè)計軟件的總體結(jié)構(gòu)。它是一個使用方便的集成開發(fā)環(huán)境。硬件調(diào)試器的原理一般是通過仿真硬件的真正執(zhí)行過程,讓開發(fā)者在調(diào)試過程中可時刻獲得執(zhí)行情況。而由于真正的硬件運(yùn)行環(huán)境與軟件模擬環(huán)境有教大的差異,ISS只能用于開發(fā)者編程練習(xí)或者軟件的初步調(diào)試。由于嵌入式系統(tǒng)特殊的開發(fā)環(huán)境,不可避免的是,調(diào)試是必然需要目標(biāo)運(yùn)行平臺和調(diào)試器兩方面的支持。當(dāng)可執(zhí)行的程序映像文件下載完成后,就可以打開電源運(yùn)行系統(tǒng)。下載 下載就是把可執(zhí)行映像文件燒寫到ROM里。鏈接一個程序想要在內(nèi)存中運(yùn)行,除了編譯之外,還要經(jīng)過鏈接的步驟。在目標(biāo)文件中規(guī)定了信息的組織方式,也即目標(biāo)文件格式。編譯器主要負(fù)責(zé)的工作就是將源代碼編譯成特定的目標(biāo)代碼,順便檢查語法的錯誤,所產(chǎn)生的目標(biāo)代碼是不執(zhí)行的,不過可從目標(biāo)代碼找出許多有用的信息。C語言在開發(fā)軟件時具有易模塊化、易調(diào)試、易維護(hù)和易移植等優(yōu)點,所以應(yīng)用廣泛,是目前嵌入式軟件開發(fā)中最常用的語言。 源文件編譯階段源程序的啟動代碼、硬件初始化代碼要用匯編語言編寫,這樣可以發(fā)揮匯編語言短小精悍的優(yōu)勢,以提高代碼的執(zhí)行效率。對交叉開發(fā)環(huán)境有了一定的了解后,就可根據(jù)開發(fā)需求選擇一種開發(fā)環(huán)境進(jìn)行代碼編寫。使用Makefile的開發(fā)環(huán)境需要編譯Makefile來管理和控制項目的開發(fā),可以自己手寫,有時也可以使用一些自動化的工具。 開發(fā)環(huán)境的建立按照發(fā)布的形式,交叉開發(fā)環(huán)境主要分為開放和商用2種類型。調(diào)試只能在運(yùn)行態(tài)完成,因此在主機(jī)和目標(biāo)板之間通過連接,由主機(jī)控制目標(biāo)板上程序的運(yùn)行,可達(dá)到調(diào)試內(nèi)核或者嵌入式應(yīng)用程序的目標(biāo)。最后通過重定位機(jī)制和下載過程。純粹使用匯編代碼編寫源代碼,除了編寫困難外,調(diào)試和維護(hù)困難也是匯編代碼的難題;而C語言可直接對硬件進(jìn)行操作,而且又有高級語言變成結(jié)構(gòu)化、容易移植等優(yōu)點,因而嵌入式系統(tǒng)源代碼主要由匯編和C語言混合編寫。 整個過程中的部分工作在主機(jī)上完成,另一部分工作在目標(biāo)板上完成。第4章 系統(tǒng)軟件設(shè)計4.1 嵌入式應(yīng)用軟件開發(fā)的基本流程由于嵌入式系統(tǒng)是一個受資源限制的系統(tǒng),因此直接在嵌入式系統(tǒng)硬件上進(jìn)行編程顯然是不合理的。開機(jī)時,JB1~JB4均為高電平,依次將JB1~JB4切換為低電平即可驅(qū)動步進(jìn)電機(jī)運(yùn)行,注意在切換之前將前一個輸出引腳變?yōu)楦唠娖健#ㄈ? 硬件電路 本次設(shè)計整個硬件電路連接圖如37所示:步進(jìn)電機(jī) 四相 RAM7TDMI 3C44B0X 68 69 70 71JB1JB2 驅(qū)動電路JB3 JB4 圖37 硬件電路原理圖35BY48型永磁步進(jìn)電機(jī)共有四組線圈,四組線圈的一個端點連在一起引出,這樣一共有5根引出線。(二)電機(jī)的驅(qū)動電路通過簡單的驅(qū)動電路來實現(xiàn)對步進(jìn)電機(jī)的控制。重覆以上這個過程。然后對B向繞阻通電,使轉(zhuǎn)子由A向繞阻向B向繞阻轉(zhuǎn)動,即轉(zhuǎn)子隨磁場方向轉(zhuǎn)動。 例如一典型的步進(jìn)電動機(jī)作用原理:一個兩相繞阻。永磁式步進(jìn)電機(jī)工作原理簡述:永磁式步進(jìn)電動機(jī)是一個永久磁鐵電動子, 卷繞并且磁性地導(dǎo)電性定子。3.3 硬件電路設(shè)計
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1