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

正文內(nèi)容

基于單片機(jī)的步進(jìn)電機(jī)的設(shè)計-畢設(shè)論文-資料下載頁

2024-11-10 02:46本頁面

【導(dǎo)讀】未定義書簽。未定義書簽。

  

【正文】 式時,電路簡單,所得的時鐘信號比較穩(wěn)定,實際使用中常采用這種方式,如圖 32 所示在其外接晶體振蕩器 (簡稱晶振 )或陶瓷諧振器就構(gòu)成了內(nèi)部振蕩方式,片內(nèi)高增益反向放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起可構(gòu)成一個自激振蕩器并產(chǎn)生振蕩時鐘脈沖。圖 32 中外接晶體以及電容 C2 和 C1 構(gòu)成并聯(lián)諧振電路,它們起穩(wěn)定振蕩頻率、快速起振的作用,其值均為 20pF 左右,晶振頻率選 12MHz。 圖 32 AT89C52 時鐘電路 復(fù)位電路 為了初始化單片機(jī)內(nèi)部的某些特殊功能寄存器,必須采用復(fù)位的方式,復(fù)位后可使 CPU 及系統(tǒng)各部件處于確定的初始狀態(tài),并從初始狀態(tài)開始正常工作。單片機(jī)的復(fù)位是靠外電路來實現(xiàn)的,在正常運行情況下,只要 RST 引腳上出現(xiàn)兩個機(jī)器周期時間以上的高電平,即可引起系統(tǒng)復(fù)位,但如果 RST 引腳上持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。復(fù)位后系統(tǒng)將輸入 /輸出 (1/0)端口寄存器置為 FFH,堆棧指針 SP 置為 07H, SBUF 內(nèi)置為不定值,其余的寄存器全部清 0,內(nèi)部 RAM 的狀態(tài)不受復(fù)位的影響,在系統(tǒng)上電時 RAM 的內(nèi)容是不定的。復(fù)位操作有兩種情況,即上電復(fù)位和手動 (開關(guān) )復(fù)位。本設(shè)計采用上電復(fù)位方式。 圖 33 中電阻和電容組成上電復(fù)位電路,其值 R 取為 10K, C 取值為 10pF。 基于 Proteus 與 AT89C52 的步進(jìn)電機(jī)控制設(shè)計 19 圖 33 AT89C52 上電復(fù)位電路 圖 34 單片機(jī)最小系統(tǒng) 驅(qū)動電路的設(shè)計 一般脈沖分配器輸出的驅(qū)動能力有限,不能直接驅(qū)動步進(jìn)電機(jī),而需要經(jīng)過一級功率放大,即功率驅(qū)動電路。本設(shè) 計選用了單極性功率驅(qū)動電路,將單片機(jī)產(chǎn)生的脈沖信號通過達(dá)林頓管 ULN2803 放大,然后輸出給步進(jìn)電機(jī)。 達(dá)林頓管又稱復(fù)合管,它將二只三極管適當(dāng)?shù)倪B接在一起,以組成一只等效的新的三極管。組成的新的等效三極管的放大倍數(shù)是二者之積。在電子 電路設(shè)計中,達(dá)林頓接法常用在功率放大器和穩(wěn)壓電源中。 ULN2803 是八組 NPN 型達(dá)林頓功放三極管集成芯片,典型的輸入電壓是 5V,集電極輸出功率可達(dá) 50V600mA。 ULN2803 的設(shè)計與標(biāo)準(zhǔn) TTL 電平兼容,這一特性使得該器件廣泛應(yīng)用基于 Proteus 與 AT89C52 的步進(jìn)電機(jī)控制設(shè)計 20 于計算機(jī)控制、工業(yè)控制和消費類產(chǎn)品中。 ULN2803 的選用使驅(qū)動控制電路的可靠性、穩(wěn)定性和簡潔性得到了極大的提高。 圖 35 ULN2803 的引腳圖及內(nèi)部電路 單片機(jī)產(chǎn)生的脈沖經(jīng)過 ULN2803 達(dá)林頓管 進(jìn)行放大,再驅(qū)動步進(jìn)電機(jī)。具體的連接圖如 36 所示: 圖 36 步進(jìn)電機(jī)驅(qū)動電路圖 顯示電路及控制按鍵的設(shè)計 顯示模塊的設(shè)計 本系統(tǒng)的顯示部分采用 RT1602 字符顯示模塊,與采用數(shù)碼管相比,硬件連接和軟件調(diào)試上都由優(yōu)勢。只要把要顯示的內(nèi)容放進(jìn)液晶模塊的顯示存儲器里面就可以直觀的顯示出指定的內(nèi)容,操作方便。本設(shè)計將 LCD 連接 到 AT89C52 的 口上,其電路如圖 37 所示。 基于 Proteus 與 AT89C52 的步進(jìn)電機(jī)控制設(shè)計 21 圖 37 顯示電路原理圖 LCD1602 采用標(biāo)準(zhǔn)的 14 腳接口,其各引腳定義如下: 第 1 腳: VSS 為地電源。 第 2 腳: VDD 接 5V正電源。 第 3 腳: V0 為液晶顯示器對比度調(diào)整端。 第 4 腳: RS 為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。 第 5 腳: RW 為讀寫信號線,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作。當(dāng) RS 和 RW 共同為低電平時可以寫入指令或者顯示地址,當(dāng) RS 為低電平 RW為高電平時可以讀忙信號,當(dāng) RS 為高電平 RW 為低電平時 可以寫入數(shù)據(jù)。 第 6 腳: E 端為使能端,當(dāng) E 端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。 第 7~ 14 腳: D0~ D7 為 8 位雙向數(shù)據(jù)線。 第 15~ 16 腳:空腳。 鍵盤模塊的設(shè)計 鍵盤的連接一般有兩種方式,一種是獨立式鍵盤;一種是行列式鍵盤。獨立式鍵盤就是各個鍵相互獨立,每個鍵盤接一根輸入線,通過檢測輸入線的電平狀態(tài)來確定那個鍵按下。這種鍵盤的輸入線較多,結(jié)構(gòu)復(fù)雜,一般適用于按鍵較少操作速度較高的場合。而行列式鍵盤是由行 線 和列線交 叉 組成,一般用于按鍵較多的場合。本次設(shè)計一共 4 個鍵 , 因此采用獨立式鍵盤 , 分 別 接到 AT89C52 的 口而實現(xiàn), 獨立式鍵盤的示意 圖如 38 所示 。 基于 Proteus 與 AT89C52 的步進(jìn)電機(jī)控制設(shè)計 22 圖 38 鍵盤連接圖 當(dāng)按鍵 K 未被按下時, 輸入為高電平。當(dāng) K 閉合時, 輸入為低電平。通常按鍵所用的開關(guān)為機(jī)械彈性開關(guān), 因此 機(jī)械觸點斷開 、 閉合 時 均會有一系列的抖動 , 如圖 39 所示 。 圖 39 按鍵抖動 抖動時間長短由按鍵的機(jī)械特性決定,一般是 5 到 10ms。為了確保 CPU對鍵的一次閉合 只做一次處理,必須去除鍵盤抖動。鍵盤消抖有硬件和軟件兩種方法, 一般多使用軟件消抖。軟件 消抖 的方法是指,檢測到有按鍵按下時 ,執(zhí)行一個 10 ms 左右(具體時間應(yīng)視所使用的按鍵進(jìn)行調(diào)整)的延時程序后,產(chǎn)生延時,等電壓穩(wěn)定后在讀取按鍵的狀態(tài),從而消除抖動。同理,在檢測到該鍵釋放后,也應(yīng)采用相同的步驟,從而可消除抖動的影響。 基于 Proteus 與 AT89C52 的步進(jìn)電機(jī)控制設(shè)計 23 圖 310 鍵盤及顯示器與 MCU的接線圖 基于 Proteus 與 AT89C52 的步進(jìn)電機(jī)控制設(shè)計 24 4 系統(tǒng)軟件的詳細(xì)設(shè)計 系統(tǒng)軟件設(shè)計的基本原則 系統(tǒng)中控制任務(wù)的實現(xiàn)最終是靠控制軟件來完成的,控制軟件的設(shè)計將直接決定整個系統(tǒng)的控制性能,以下首先闡述一下軟件設(shè)計的一些基本要求,然后再概述本系統(tǒng)軟件的設(shè)計方案。 1)實時性 單片機(jī)必須在一定的時間內(nèi),完成一系 列的軟件處理過程,如對系統(tǒng)的被控參數(shù) (如轉(zhuǎn)速、轉(zhuǎn)角等 )的 信號進(jìn)行采樣、計算、邏輯判斷和分析,按照規(guī)定的控制算法進(jìn)行數(shù)值計算,輸出各種控制信號,以及對可能出現(xiàn)的故障進(jìn)行處理。 2)可靠性 軟件的可靠性是指軟件在運行過程中避免發(fā)生故障的能力,以及一旦發(fā)生故障后的 解決 和排除故障的能力。因此,為了提高軟件的可靠性,軟件設(shè)計 要考慮系統(tǒng)運行過程中可能出現(xiàn)的一切非正常情況,且在系統(tǒng)一旦出現(xiàn)故障,如用戶按錯鍵,輸入錯誤參數(shù)等誤操作,或發(fā)生程序受外界嚴(yán)重干擾而“跑飛”等情況時,也要有一定的對策,以防止對系統(tǒng)造成嚴(yán)重?fù)p失。 3)可維護(hù)性 一個完整的控制軟件,通常需要一個不斷地設(shè)計、調(diào)試、修改和完善的過程,才會最終滿足系統(tǒng)所需的功能要求。因此,在軟件的總體設(shè)計時,必須要有良好的程序結(jié)構(gòu)設(shè)計,以便于程序的反復(fù)調(diào)試、修改和補(bǔ)充,并保證最終的軟件仍具有簡潔明了的結(jié)構(gòu)。 主程序的設(shè)計 系統(tǒng)軟件采用模塊化程序設(shè)計,使程序流程清晰明了。系統(tǒng)主程序主要完成的內(nèi)容:系統(tǒng)參數(shù)初始化、打開中斷、啟動電機(jī)等。系統(tǒng)主程序流程圖如圖 41所示??梢钥闯?,主程序是一個死循環(huán),在系統(tǒng)上電初始化完畢后,系統(tǒng)一直在不斷的執(zhí)行這個循環(huán)程序。在循環(huán)過程中,若 產(chǎn)生中斷,則程序就轉(zhuǎn)去執(zhí)行相應(yīng)的中斷服務(wù)程序。在后面將逐一介紹中斷服務(wù)程序,功能子程序等的設(shè)計。 基于 Proteus 與 AT89C52 的步進(jìn)電機(jī)控制設(shè)計 25 圖 41 主 程序流程圖 顯示子程序的設(shè)計 LCD1602 顯示原理 LCD1602 液晶模塊內(nèi)部的字符發(fā)生存儲器 (CGROM)已經(jīng)存儲了 160 個不同的點陣字符圖形,如表 41 所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號等,每一個字符都有一個固定的代碼 [10],比如大寫的英文字母‘ A’的代碼是 41H,顯示時 1602 把地址 41H 中的點陣字符圖形顯示出來,我們就能基于 Proteus 與 AT89C52 的步進(jìn)電機(jī)控制設(shè)計 26 看到字母‘ A’。 表 41 1602 字符碼表 它的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實現(xiàn)的。 指令如表42 所示。 表 42 LCD1602 字符模塊指令表 指令 RS RW D7 D6 D5 D4 D3 D2 D1 D0 清顯示 0 0 0 0 0 0 0 0 0 1 光標(biāo)返回 0 0 0 0 0 0 0 0 1 ? 置位輸入模式 0 0 0 0 0 0 0 1 I/D S 顯示 開 /關(guān) 控制 0 0 0 0 0 0 1 D C B 光標(biāo)或字符移位 0 0 0 0 0 1 S/C R/L ? ? 置位顯示行、字體 0 0 0 0 1 DL N F ? ? 置位字符發(fā)生存儲器 0 0 0 1 字符發(fā)生存儲器地址 (ACG) 置位數(shù)據(jù)存儲器地址 0 0 1 顯示數(shù)據(jù)存儲器地址 (ADD) 讀忙標(biāo)志或地址 0 1 BF 計數(shù)器地址 (AC) 寫數(shù)到 CGRAM 或 DDRAM 1 0 要寫入的數(shù)據(jù) 從 CGRAM 或 DDRAM 讀數(shù) 1 1 讀出的數(shù)據(jù) 表中 1 代表 高電平、 0 代表 低電平 ,指令功能具體說明如下: 指令 1:清顯示,指令碼 01H,光標(biāo)復(fù)位到地址 00H 位置。 指令 2:光標(biāo)復(fù)位,光標(biāo)返回到地址 00H。 指 令 3:光標(biāo)和顯示模式設(shè)置。 I/D:光標(biāo)移動方向,高電平右移,低電平左基于 Proteus 與 AT89C52 的步進(jìn)電機(jī)控制設(shè)計 27 移。 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。 指令 4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示。 C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo)。 B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。 指令 5:光標(biāo)或顯示移位。 S/C:高電平時移動顯示的文字,低電平時移動光標(biāo)。 指令 6:功能設(shè)置命令。 DL:高電平時為 4 位總線,低電平時為 8 位總線。N:低電平時為單行顯示,高電平時雙行 顯示。 F:低電平時顯示 57 的點陣字符,高電平時顯示 510 的點陣字符。 指令 7:字符發(fā)生器 RAM 地址設(shè)置。 指令 8: DDRAM 地址設(shè)置。 指令 9:讀忙信號和光標(biāo)地址。 BF:為忙標(biāo)志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。 指令 10:寫數(shù)據(jù)。 指令 11:讀數(shù)據(jù)。 LCD1602 液晶顯示流程 字符顯示模塊 LCD1602 的編程較 為 簡單,只要先輸入命令字,設(shè)置其工作方式,然后在將顯示數(shù)據(jù)輸入指定的存儲器位置即可。流程圖如圖 42 所示。 圖 42 LCD1602 顯示 子程序流程圖 基于 Proteus 與 AT89C52 的步進(jìn)電機(jī)控制設(shè)計 28 鍵盤子程序的設(shè)計 在“鍵盤模塊的設(shè)計” 部分 中提到 了 由于本設(shè)計的鍵盤鍵數(shù)較少,所以采取了獨立鍵盤作為設(shè)計的控制信號采集裝置。軟件實現(xiàn)時,可以采用中斷方式,也可以采用查詢方式。考慮到 AT89C52 的中斷源合理分配,本設(shè)計采取了查詢方式。 查詢方式是指在程序中用一段專門的掃描和讀按鍵程序不停查詢有無按鍵按下,確定鍵值。這種方式電路簡單,但需要占用單片機(jī)的機(jī)器時間??刂菩畔⒉杉能浖鞒虉D如下: 圖 43 鍵盤程序流程圖 基于 Proteus 與 AT89C52 的步進(jìn)電機(jī)控制設(shè)計 29 驅(qū)動程序流程 圖 圖 44 驅(qū)動程序流程圖 調(diào)速程序流程圖 正反轉(zhuǎn)程序流程圖 步進(jìn)電機(jī)正向轉(zhuǎn)動時,單片機(jī) P1 口 輸出序列為: 0xf3, 0xf1, 0xf9, 0xf8,0xfc, 0xf4, 0xf6, 0xf2;將單片機(jī)脈沖反向輸出即可實現(xiàn)步進(jìn)電機(jī)的反向轉(zhuǎn)動。 基于 Proteus 與 AT89C52 的步進(jìn)電機(jī)控制設(shè)計 30 圖 45 正反轉(zhuǎn)程序流程圖 轉(zhuǎn)速快慢程序流程圖 定時器初始值定義后,改變定時器循環(huán)次數(shù),即可實現(xiàn)步進(jìn)電機(jī)的加減速調(diào)節(jié)。 輸出 頻率延時序列為: 40, 24, 15, 12, 10, 8, 4, 3, 2, 1,對應(yīng)的電機(jī)速度為: 3, 5, 8, 10, 12, 15, 30, 40, 60, 120 轉(zhuǎn) /分鐘。 基于 Proteus 與 AT89C52 的步進(jìn)電機(jī)控制設(shè)計 31 圖 46 轉(zhuǎn)速快慢程序流程圖 定時中斷流程圖 圖 47 中斷子程序流程圖 基于 Proteus 與 AT89C52 的步進(jìn)電機(jī)控制設(shè)計 32 5 系統(tǒng)的仿真 在控制系統(tǒng)開發(fā)中,常常需要消耗各種硬件資源,系統(tǒng)構(gòu)建時間長,而在調(diào)試時很難對硬件系統(tǒng)進(jìn)行修改,從而延長開發(fā)周期。隨著計算機(jī)仿真技術(shù)的出現(xiàn)和發(fā)展,可用計算機(jī)對系統(tǒng)進(jìn)行仿真,從而減小系統(tǒng)開發(fā)開支和周期。 計算機(jī)仿真可分為整體仿真和實時仿真。整體仿真是對系統(tǒng)各個時間段對各個對象進(jìn)行計算和分析,從而對各個對象的變化情況有直觀的整體
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1