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

正文內(nèi)容

基于stc89c52單片機的步進(jìn)電機控制系統(tǒng)設(shè)計與實現(xiàn)-資料下載頁

2025-06-02 22:37本頁面
  

【正文】 CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 L L L L L L L L H SR 功能: SR=1;允許輸入卷動位址 SR=0;允許輸入 IRAM 位址 。 (14)反白選擇( 14H) CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 L L L L L L L H R1 R0 功能:選擇 4 行中的任一行作反白顯示,并可決定反白的與否。 (15)睡眠模式( 015H) CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 L L L L L L H SL X X 功能: SL=1;脫離睡眠模式 SL=0;進(jìn)入睡眠模式。 (16)擴充功能設(shè)定( 016H) CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 L L L L H H X 1 RE G L 功能: RE=1;擴充指令集動作 RE=0;基本指令集動作 G=1;繪圖顯示ON G=0;繪圖顯示 OFF。 (17)設(shè)定 IRAM 位址或卷動位址( 017H) CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 L L L H AC5 AC4 AC3 AC2 AC1 AC0 功 能: SR=1; AC5~AC0 為垂直卷動位址 SR=0; AC3~AC0 寫 ICONRAM 位 唐 山 學(xué) 院 畢 業(yè) 設(shè) 計 20 址。 (18)設(shè)定繪圖 RAM 位址( 018H) CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 L L H AC6 AC5 AC4 AC3 AC2 AC1 AC0 功能:設(shè)定 GDRAM 位址到位址計數(shù)器( AC)。 12864 液晶接口電路 本設(shè)計中顯示器顯示出電機的轉(zhuǎn)動狀態(tài),正轉(zhuǎn)、反轉(zhuǎn)、速度等顯示內(nèi)容。本設(shè)計的液晶電路如圖 318 所示 。 圖 318 LCD 連接電路圖 此電路是液晶的驅(qū)動電路,使液晶顯示電機狀態(tài),單片機的 P1 口為數(shù)據(jù)接口, 及 控制液晶的命令與數(shù)據(jù)傳輸。滑動電阻器用來控制液晶的亮度。 蜂鳴器模塊 蜂鳴器介紹 蜂鳴器是一種常見的一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,在計算機、打印機、復(fù)印機、報警器、電子玩具、汽車電子設(shè)備、電話機、定時器等電子產(chǎn)品中廣泛應(yīng)用。蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。蜂鳴器在電U512864 液晶 1KR?Res Tap5VGND 唐 山 學(xué) 院 畢 業(yè) 設(shè) 計 21 路中用字母“ H”或“ HA”(舊標(biāo)準(zhǔn)用“ FM”、“ LB”、“ JD”等)表 示 [15]。 蜂鳴器的接口電路 蜂鳴器有無源蜂鳴器和有源蜂鳴器之分。有源蜂鳴器在接通接通電源后,內(nèi)部振蕩器產(chǎn)生的音頻信號電流通過電磁線圈,產(chǎn)生震蕩,使蜂鳴器周期性發(fā)聲。無源蜂鳴器需要通過外接信號震蕩,從而使蜂鳴器發(fā)聲。設(shè)計中使用的是無源揚聲器,所以必須由單片機供給震蕩信號。其連接電路如圖 319 所示。 圖 319 蜂鳴器連接電路圖 由于設(shè)計所用的是無源蜂鳴器,接 PNP 三極管以放大電流,單片機 口用來發(fā)出脈沖以驅(qū)動蜂鳴器,每當(dāng)按下遙控器的鍵盤時蜂鳴器都會發(fā)出聲音。 Q12N3906VCCR5Res2LS1BellGND 唐 山 學(xué) 院 畢 業(yè) 設(shè) 計 22 4 軟件設(shè)計與調(diào)試 主程序流程圖 通過在遙控器上的指令輸入,發(fā)出紅外信號,設(shè)計中的 TL1838 接收到紅外信號濾波并處理傳送給單片機,單片機對所得到的信號進(jìn)行解碼,以判斷所得命令的用意,來控制步進(jìn)電機的轉(zhuǎn)動以及顯示器的顯示。主 程序流程圖如 41 所示。 否 否 是 是 完畢 完畢 圖 41 主 程序流程圖 設(shè)計中的程序主要是由中斷函數(shù)來主宰。主要用了外部中斷 1,定時中斷 2,主程序輸入 初始化 LCD 顯示 While 循環(huán) 改變電機轉(zhuǎn)動狀態(tài)及相應(yīng)顯示 是否觸發(fā)外 部中斷 0 定時器 1 是 否中斷 產(chǎn)生脈沖 驅(qū)動電機 遙控解碼 驅(qū)動蜂鳴器 開始 結(jié)束 唐 山 學(xué) 院 畢 業(yè) 設(shè) 計 23 而主函數(shù)主要用來初始化和等待中斷。當(dāng)收到外部中斷 0 的觸發(fā)時,證明遙控器已發(fā)射信號 需要解碼,定時器 2 產(chǎn)生中斷時來供給步進(jìn)電機脈沖。 程序設(shè)計思路 本設(shè)計的程序設(shè)計包括遙控的解碼,顯示屏的顯示及步進(jìn)電機的驅(qū)動。其中遙控發(fā)出的碼位通過 TL1838 接收由單片機中程序解碼并依此來控制步進(jìn)電機及顯示屏。 遙控器的解碼 遙控器具有發(fā)射指令作用,由于本設(shè)計所用遙控器是任意電視遙控,其載頻為38KHZ,所以需將遙控器的所有用到鍵位解碼,得到相應(yīng)鍵位編碼后,將其鍵位編碼放到單片機程序中,當(dāng)遙控器向 TL1838 發(fā)射時,單片機又對其解碼,如果其編碼與單片機所存編碼相同時即認(rèn)定此為用戶 要發(fā)的命令,執(zhí)行這個命令來控制顯示器及步進(jìn)電機。 由上所述,遙控器的解碼很重要。遙控器發(fā)射 32 位碼,當(dāng)我想要知道其所用的鍵的編碼時,必須編一個程序可以顯示相應(yīng)的鍵的編碼。將 TL1838 連接到單片機的外部中斷 0 口,當(dāng)接受到所發(fā)信息后, TL1838 會首先去掉其 38K 的載頻,以此得到真正要發(fā)射的信息。由于發(fā)射的信息是二進(jìn)制碼,所以只包含 1 和 0,又因為發(fā)射的 1 和 0 都包括高電平和低電平,只是其高低電平的時間不同,所以當(dāng)外部中斷采用脈沖觸發(fā)時,每個碼都會觸發(fā)外部中斷,當(dāng)觸發(fā)外部中斷時,立刻開啟定時器定時,以此判斷 1 和 0,同時把其編碼發(fā)送到顯示器上并記錄,然后寫到本設(shè)計的程序中。 在本設(shè)計中,識別遙控器的編碼的程序思路與上面所述是相同的,只是設(shè)計中將其編碼進(jìn)行比較來判斷。 步進(jìn)電機的控制 在本設(shè)計中,當(dāng)單片機發(fā)送一組步進(jìn)電機識別的編碼脈沖時,步進(jìn)電機就會轉(zhuǎn)動。所以在程序中,將其脈沖編碼放在數(shù)組中,以供程序調(diào)用并控制電機。此脈沖編碼共有 8 個狀態(tài),正反轉(zhuǎn)是相同的只是其調(diào)用書序相反,需要注意的是調(diào)用時編碼必須按順序,其編碼表為 0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09。 當(dāng)發(fā)送完這 一串編碼后,步進(jìn)電機只轉(zhuǎn)動 45 度,所以要轉(zhuǎn)動一圈,需要調(diào)用 8次,也就是說,轉(zhuǎn)動一圈需要 64 個脈沖。要控制步進(jìn)電機的速度,只需在每次發(fā)完編碼表一次后,延時。步進(jìn)電機的優(yōu)點就是轉(zhuǎn)動角位移準(zhǔn)確,所以設(shè)計中用定時器發(fā)送脈沖,這樣可以得到非常準(zhǔn)確的轉(zhuǎn)動速度。 設(shè)計中,用 P2 口發(fā)送脈沖編碼,即把脈沖編碼一個一個的通過 P2 口發(fā)送給步 唐 山 學(xué) 院 畢 業(yè) 設(shè) 計 24 進(jìn)電機。而此動作放在定時中斷中,每次中斷傳送一個編碼,這樣步進(jìn)電機優(yōu)化了普通延時程序的不穩(wěn)定、不準(zhǔn)確等問題。 顯示屏的控制 12864 液晶是一種帶存貯功能的器件,有 4 個顯示行,每行 可顯示 8 個漢字、16 個英文字符,一共有 20 個引腳,帶有背光燈,亮度可以調(diào)節(jié)。 在控制顯示屏的顯示時,分為命令和數(shù)據(jù)的控制。無論是數(shù)據(jù)控制還是命令控制,都需要向顯示器的數(shù)據(jù)口中寫數(shù)據(jù),此數(shù)據(jù)口為 8 位,在本設(shè)計中用單片機的P1 口來傳輸。而寫數(shù)據(jù)和寫命令控制上的區(qū)別是 RS 和 E 引腳。寫命令時控制方法是, RS 置為 0, E 置為 0,將要寫命令通過數(shù)據(jù)口用單片機傳輸,然后將 E 置為 1,即把命令寫入顯示器中。寫數(shù)據(jù)時先將 RS 置為 1, E 置為 0,將要寫數(shù)據(jù)通過數(shù)據(jù)口用單片機傳輸,然后將 E 職位 1,即把數(shù)據(jù)寫入顯示器中。 寫命令和寫數(shù)據(jù) 是相互配合使用的。寫命令是控制顯示器的顯示格式、顯示位置、清屏、光標(biāo)設(shè)置等,只有指定了上述的命令,才可以寫數(shù)據(jù)寫到自己滿意的地方。寫數(shù)據(jù)就是寫命令之后把自己要顯示的內(nèi)容寫到顯示器中。 蜂鳴器的控制 設(shè)計中揚聲器用的是無源蜂鳴器,用來指示遙控按鍵后單片機是否解碼成功。無源蜂鳴器的聲音往往大于有源蜂鳴器,所以本設(shè)計選用了無源蜂鳴器。 無源蜂鳴器和有源蜂鳴器程序上控制的區(qū)別在于有源蜂鳴器給正 5V 電壓即可發(fā)出聲音。而無源蜂鳴器必須有震蕩,所以要發(fā)送高頻脈沖。為了方便,設(shè)計中直接用延時函數(shù)并且 0 與 1 不停的 連續(xù)發(fā)送。 模塊中的通信 依前面所述,各模塊都可以單獨工作,但是要稱為一個整體,就必須找到一個模塊之間通信的方法。本設(shè)計用的是控制變量的方式來協(xié)調(diào)各模塊的工作。 當(dāng)遙控器發(fā)出命令后, TL1838 接收并傳送到單片機中,單片機接收并解碼, 判斷所發(fā)出命令。設(shè)置一個變量 num,不同的遙控器按鍵給 num不同的數(shù)值。通過這個 num 的數(shù)值,傳遞給步進(jìn)電機和顯示屏。在步進(jìn)電機和顯示屏中都用條件語句,來判斷 num 的值并響應(yīng)不同的動作。 程序運行初始化以后即進(jìn)入 While 循環(huán)中,這是一個死循環(huán)。死循環(huán)的作用是等待 ,等待定時器 1 的中斷,等待外部中斷 0 的中斷。其中設(shè)置定時器 1 的中斷優(yōu)先級高于外部中斷 0。把解碼程序放入外部中斷 0 中,驅(qū)動電機的程序放入定時器1 中斷中,再通過對變量的賦值的判斷,即可完成整個設(shè)計的不同模塊之間的通信。 唐 山 學(xué) 院 畢 業(yè) 設(shè) 計 25 5 編程與下載軟件 單片機的正常運行需要程序的支持,一般使用匯編語言或 C 語言的編程,編譯鏈接成 .hex文件并下載到單片機中。 Keil 軟件為用戶提供了程序編輯、編譯、鏈接、調(diào)試等功能,為用戶提供一套完整的程序開發(fā)環(huán)境。但是 keil 生成的 .hex文件必須依靠 STCISP 軟件才能下載到 STC89C52 中。下面介紹 Keil 和 STCISP 的特點及使用方法。 Keil 軟件 隨著單片機開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展, Keil 軟件是目前最流行開發(fā) MCS51 系列單片機的軟件。 Keil 提供了包括 C 編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境( uVision)將這些部份組合在一起。運行 Keil 軟件需要 Pentium 或以上的 CPU, 16MB 或更多 RAM、20M 以上空閑的硬盤空間、 WIN9 NT、 WIN202 WINXP 等操作系統(tǒng) [16]。 應(yīng)用 Keil 進(jìn)行軟件仿真開發(fā)的主要步驟為:編寫源程序并保存 ——建立工程并添加源文件 ——設(shè)置工程 ——編譯 /匯編、連接,產(chǎn)生目標(biāo)文件 ——程序調(diào)試。 Keil使用 “工程 ”( Project)的概念,對工程(而不能對單一的源程序)進(jìn)行編譯 /匯編、連接等操作。工程的建立、設(shè)置、編譯 /匯編及連接產(chǎn)生目標(biāo)文件的方法非常易于掌握。首先選擇菜單 File/New,在源程序編輯器中輸入?yún)R編語言或 C 語言源程序(或選擇 File/Open,直接打開已用其它編輯器編輯好的源程序文檔)并保存 ,注意保存時必須在文件名后加上擴展名 .asm或 .c;然后選擇菜單 Project/New Project,建立新工程并保存;工程保存后會立即彈出一個設(shè)備選擇對話框,選擇 CPU 后點確定返回主界面。這時工程管理窗口的文件頁( Files)會出現(xiàn) “Target1”,將其前面 “+”號展開,接著選擇 Source Group1,右擊鼠標(biāo)彈出快捷菜單,選擇 Add File to Group/Source Group1,出現(xiàn)一個對話框,要求尋找并加入源文件(在加入一個源文件后,該對話框不會消失,而是等待繼續(xù)加入其它文件)。加入 文件后點 “close”返回主界面,展開 “Source Group1”前面 “+”號,就會看到所加入的文件,雙擊文件名,即可打開該源程序文件。緊接著對工程進(jìn)行設(shè)置,選擇工程管理窗口的 Target1,再選擇Project/Option for Target“Target1”(或點右鍵彈出快捷菜單再選擇該選項),打開工程屬性設(shè)置對話框,共有 8 個選項卡
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1