




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
電子信息與電氣工程系課程設計報告設計題目:直流伺服電機限制系統(tǒng)設計系別:電子信息與電氣工程系年級專業(yè):學號:學生姓名:2006級自動化專業(yè)《計算機限制技術》課程設計任務書論文題目直流伺服電機限制系統(tǒng)設計設計類型導師姓名丁健干開峰主要內(nèi)容及目標設計對象是直流伺服電機試驗臺,設計一個計算機限制的直流伺服電機限制系統(tǒng)。由測量元件(位移傳感器)對被限制對象(電機)的被控參數(shù)(位移)進行測量,由變換發(fā)送單元(A/D轉換器)將被控參數(shù)變成確定形式的信號,送給限制器CPU,限制器將測量信號(實際位移量)與給定信號(位移量)進行比較,若有誤差則按預定的限制規(guī)律產(chǎn)生一限制信號驅動執(zhí)行機構(伺服電機限制電源)工作,使被控參數(shù)(實際位移量)與給定信號(位移量)保持一樣。其電機位置隨動系統(tǒng):其中:=1.8,=0.035,=0.15,K=100,限制算法選用數(shù)字PID限制。設計條件PC機一臺,教學試驗箱一臺;支配學生數(shù)及任務3人(1):明確課題功能。(2):把困難問題分解為若干模塊,確定各模塊處理方法,畫出流程圖。(3):存儲器資源安排(4):編制程序,依據(jù)流程圖來編制源程序(5):對程序進行匯編,調(diào)試和修改,直到程序運行結果正確為止。支配設計進程總體方案設計限制系統(tǒng)的建模和數(shù)字限制器設計硬件的設計和實現(xiàn)選擇計算機字長(選用51內(nèi)核的單片機)設計支持計算機工作的外圍電路(EPROM、RAM、I/O端口、鍵盤、顯示接口電路等);設計輸入信號接口電路;設計輸出限制電路;其它相關電路的設計或方案(電源、通信等)。軟件設計安排系統(tǒng)資源,編寫系統(tǒng)初始化和主程序模塊框圖;編寫A/D轉換和位置檢測子程序框圖;編寫限制程序和D/A轉換限制子程序模塊框圖;其它程序模塊(顯示與鍵盤等處理程序)框圖。五、編寫課程設計說明書,繪制完整的系統(tǒng)電路圖(A3幅面)。參考文獻1.于海生計算機限制技術[M]北京:機械工業(yè)出版社,2007.62、周荷琴等微型計算機原理及接口技術[M]合肥:中國科技高校出版社,2008.63、李剛民等單片機原理及應用技術[M]北京:高等教化出版社4、樓然苗51系列單片機設計實例[M]北京:北京航空航天高校出版社5、計算機限制技術試驗指導書摘要隨著集成電路技術的飛速發(fā)展,微限制器在伺服限制系統(tǒng)普遍應用,這種數(shù)字伺服系統(tǒng)的性能可以大大超過模擬伺服系統(tǒng)。數(shù)字伺服系統(tǒng)可以實現(xiàn)高精度的位置限制、速度跟蹤,可以隨意地變更限制方式。單片機和DSP在伺服電機限制中得到了廣泛地應用,用單片機作為限制器的數(shù)字伺服限制系統(tǒng),有體積小、牢靠性高、經(jīng)濟性好等明顯優(yōu)點。。本設計探討的直流伺服電機限制系統(tǒng)即以單片機作為核心部件,主要是單片機為限制核心通過軟硬件結合的方式對直流伺服電機轉速實現(xiàn)開環(huán)限制。對于伺服電機的閉環(huán)限制,采納PID限制,利用MATLAB軟件對單位階躍輸入響應的PID校正動態(tài)模擬仿真,探討PID限制作用以及PID各參數(shù)值對限制系統(tǒng)的影響,通過試湊法得到最佳PID參數(shù)。同時能更深度地駕馭在自動限制領域應用極為廣泛的MATLAB軟件。關鍵詞:單片機直流伺服電機PIDMATLAB目錄1.引言 42.單片機限制系統(tǒng)硬件組成 52.1微限制器 52.2DAC0808轉換器 52.3運算放大器 62.4按鍵輸入和顯示模塊 62.4.1按鍵輸入 62.4.2顯示模塊 62.5直流伺服電動機 63.單片機限制系統(tǒng)軟件設計 73.1主程序 73.2鍵盤處理子程序 84.限制系統(tǒng)原理圖及仿真 94.1限制系統(tǒng)方框圖 94.2限制系統(tǒng)電路原理圖 104.3Proteus仿真結果 115.Simulink組件對直流伺服限制系統(tǒng)的仿真 115.1MATLAB與Simulink簡介 115.1.1MATLAB簡介 115.1.2Simulink簡介 125.2直流伺服電機數(shù)學模型 125.3系統(tǒng)Simulink模型剛好域特性仿真 125.3.1開環(huán)系統(tǒng)Simulink模型及仿真 135.3.2單位負反饋系統(tǒng)Simulink模型及仿真 135.4PID校正 145.4.1PID參數(shù)的湊試法確定 155.4.2比例限制器校正 155.4.3比例積分限制器校正 175.4.4PID限制器校正 196.小結 22參考文獻 22附錄 231.引言本設計的單片機限制直流伺服電機系統(tǒng)是一個開環(huán)的自動限制系統(tǒng)限制系統(tǒng)。是以單片機為限制器,通過按鈕設置設定值輸入到單片機,單片機對輸入信號處理后輸出限制信號,經(jīng)D/A轉換器DAC0808轉換后把數(shù)字信號轉變?yōu)槟M電壓,再經(jīng)放大器放大后,去限制伺服電機工作,進而限制電機向著預定的轉速轉動。同時單片機處理的數(shù)字信號通過LCD來顯示,實時顯示單片機的轉速值。另外本設計還利用了MATLAB軟件,利用Simulink構造直流電機限制系統(tǒng)模型,通過對各個單元部件的參數(shù)進行設定,進而對直流伺服電機系統(tǒng)限制進行仿真,就其仿真功能對系統(tǒng)進行時域分析。2.單片機限制系統(tǒng)硬件組成本系統(tǒng)是由一片單片機、矩陣式鍵盤,DAC0808轉換器、運算放大器、顯示模塊和一臺直流伺服電機組成,另外通過Proteus7.4軟件進行仿真。2.1微限制器選用AT89C52單片機。AT89C52是51系列單片機的一個型號,它是ATMEL公司生產(chǎn)的。AT89C52是一個低電壓,高性能CMOS8位單片機,片內(nèi)含8kbytes的可反復擦寫的Flash只讀程序存儲器和256bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采納ATMEL公司的高密度、非易失性存儲技術生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中心處理器和Flash存儲單元,功能強大的AT89C52單片機可為您供應很多較困難系統(tǒng)限制應用場合。AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,AT89C52可以依據(jù)常規(guī)方法進行編程,但不行以在線編程(S系列的才支持在線編程)。其將通用的微處理器和Flash存儲器結合在一起,特殊是可反復擦寫的Flash存儲器可有效地降低開發(fā)成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應不同產(chǎn)品的需求。主要功能特性:(1)兼容MCS51指令系統(tǒng),8k可反復擦寫(>1000次)FlashROM(2)32個雙向I/O口,256x8bit內(nèi)部RAM(3)3個16位可編程定時/計數(shù)器中斷,時鐘頻率0-24MHz(4)2個串行中斷,可編程UART串行通道(5)2個外部中斷源,共6個中斷源(6)2個讀寫中斷口線,3級加密位(7)低功耗空閑和掉電模式,軟件設置睡眠和喚醒功能圖2-1AT89C522.2DAC0808轉換器設計中采納的芯片是DAC0808,它是一個8位DAC。圖2是DAC0808典型應用電路。圖2-1中輸出的模擬量是一個正電壓,當須要負電壓時,在DAC的第4引腳干脆接一個3KΩ左右的電阻即可。DAC的第4引腳的電流總是流入的,其最大值為1.992mA。當外接一個3KΩ的負載電阻RL時,輸出的電壓是通過RL上所加的電壓,最大的電壓為-3KΩ×1.922mA≈-6V(當全部位輸入都是高電平的時候),與試驗中的數(shù)據(jù)相符合。須要指出的是,負載電阻的大小會影響轉換時間,當負載電阻為2.5KΩ的時候,在最壞的狀況下,會使轉換時間增加1.2μs。圖2-2DAC0808典型應用電路2.3運算放大器把D/A轉換器的電流輸出轉換為電壓輸出,同時也是把微小的電流信號放大為較大的電壓信號,以驅動電機轉動。2.4按鍵輸入和顯示模塊2.4.1按鍵輸入采納自己設計的形如3×4矩陣式按鈕,按鈕用于設定某一數(shù)值,即電機轉速值。通過程序設置延時環(huán)節(jié)來消退按鈕的抖動問題,這樣做使矩陣式按鈕硬件連線簡潔,同時按鈕的軟件設計也不困難。2.4.2顯示模塊系統(tǒng)采納點陣式液晶顯示器,顯示電機的當前轉速值,通過軟件設計使得連線簡潔。2.5直流伺服電動機直流伺服電動機在伺服系統(tǒng)中限制機械元件運轉的發(fā)動機.是一種補助馬達間接變速裝置。又稱執(zhí)行電動機,在自動限制系統(tǒng)中,用作執(zhí)行元件,把所收到的電信號轉換成電動機軸上的角位移或角速度輸出。其主要特點是,當信號電壓為零時無自轉現(xiàn)象,轉速隨著轉矩的增加而勻速下降。其作用可使限制速度,位置精度特別精確。直流伺服電動機的結構與直流電動機基本相同。只是為減小轉動慣量,電機做得瘦長一些。所不同的是電樞電阻大,機械特性軟、線性(電阻大,可弱磁起動、可干脆起動)。供電方式是他勵供電,即勵磁繞組和電樞分別兩個獨立的電源供電。限制方式有.電樞限制和磁極限制,其中變更電樞電壓U調(diào)速范圍較大,直流伺服電機常用此方法調(diào)速直流伺服電動機轉速的計算公式如下:式中:n為轉速;Φ為磁通;U為外加電壓;I、R為電樞電流和電阻;Ke為電勢系數(shù)。3.單片機限制系統(tǒng)軟件設計軟件設計采納模塊化設計,由主程序模塊和功能實現(xiàn)模塊兩大部分組成。主程序通過讀取鍵值處理后送到D/A轉換以達到限制電機的目的;功能實現(xiàn)模塊主要由主函數(shù)模塊、鍵盤處理子程序和D/A轉換子程序等組成。3.1主程序主程序首先對鍵盤和顯示模塊的程序進行初始化,通過讀取鍵值處理后送到D/A轉換以達到限制電機的目的。主程序流程圖如圖2-1所示。顯示模塊初始化顯示模塊初始化鍵盤掃描程序起先讀取鍵值電機轉速顯示模塊鍵盤模塊程序初始化輸入值是否有效?D/A轉換NY圖2-1主程序流程圖3.2鍵盤處理子程序鍵盤采納程序掃描的工作方式,即在特定的程序位置段上支配鍵盤掃描程序讀取鍵盤狀態(tài)。鍵盤處理子程序的程序掃描法流程圖如圖2-2所示。是否有鍵按下?是否有鍵按下?延時20ms調(diào)用按鍵掃描子程序起先是否有鍵按下?按鍵散轉、處理程序返回NNYY圖2-2鍵盤處理子程序的程序掃描法流程圖4.限制系統(tǒng)原理圖及仿真4.1限制系統(tǒng)方框圖限制系統(tǒng)是以單片機為限制器,通過鍵盤設置輸入轉速值,經(jīng)單片機處理后送到D/A轉換器,模擬信號經(jīng)功率放大后驅動電機,最終電機以設定的轉速值穩(wěn)定旋轉。圖4-1即為限制系統(tǒng)方框圖按鍵輸入按鍵輸入AT89C52D/A轉換驅動電機圖4-1限制系統(tǒng)方框圖4.2限制系統(tǒng)電路原理圖圖4-2限制系統(tǒng)電路原理圖4.3Proteus仿真結果圖4-3Proteus仿真圖利用Proteus7.4a進行仿真,當通過鍵盤選擇某一數(shù)值時,電機轉速即為相應的設定值,并在仿真電路圖中電機下方顯示電機對應轉速值的變更及最終穩(wěn)定值。圖4-3中仿真圖是當通過按鍵設定值為158時,電機下方液晶顯示器即顯示158,表明電機轉速為158r/min。經(jīng)多次仿真分析,某些時候與鍵盤輸入值相比較得知當電機響應輸入值時有很小的穩(wěn)態(tài)誤差存在,緣由是沒有加入反饋環(huán)節(jié)。以下利用MATLAB仿真軟件探討PID反饋限制對直流伺服電機限制系統(tǒng)的作用。5.Simulink組件對直流伺服限制系統(tǒng)的仿真5.1MATLAB與Simulink簡介5.1.1MATLAB簡介MATLAB軟件推出并應用到自動限制領域后,極大地改善了自動限制系統(tǒng)的動態(tài)仿真和性能分析環(huán)境。MATLAB(MatrixLaboratory,矩陣試驗室)是一個適用于科學計算和工程應用的數(shù)學軟件系統(tǒng)。自1982年由Mathworks軟件公司推出后,經(jīng)二十多年的發(fā)展,現(xiàn)已是IEEE組織認可的最優(yōu)化的科技應用軟件,成為高校教學和科研中最常用的工具。駕馭了MATLAB的應用,對直流伺服電機限制效果的改善,確定有著意想不到的幫助。該軟件具有以下特點:(1)數(shù)值運算功能強大;(2)編程環(huán)境簡潔;(3)數(shù)據(jù)可視化功能強;(4)豐富的程序工具箱;(5)可擴展性能強等。5.1.2Simulink簡介Simulink是MATLAB軟件的擴展,它是實現(xiàn)動態(tài)系統(tǒng)建模和仿真的一個軟件包,他與MATLAB語言的主要區(qū)分在于,其與用戶的交互接口是基于Windows模型化圖形輸入,使得用戶可以把更多的精力投入到系統(tǒng)模型的構建,而非編程上。運用Simulink進行仿真一般分為兩步:用戶首先須要在仿真模型編輯窗口中搭建好自己的仿真模型,設置好詳細模型參數(shù)和仿真參數(shù),然后就可以起先仿真,Simulink將依據(jù)用戶搭建的模型,模擬系統(tǒng)在用戶設定條件下的詳細行為。下面將以直流伺服電機的自動限制為例,演示MATLAB中Simulink仿真的應用。5.2直流伺服電機數(shù)學模型直流伺服電機開環(huán)系統(tǒng)結構圖如圖圖5-1所示U(S)U(S)N(S)圖5-1直流伺服電機開環(huán)系統(tǒng)結構圖其中直流伺服電機的傳遞函數(shù)為5.3系統(tǒng)Simulink模型剛好域特性仿真對于單輸入單輸出系統(tǒng),在經(jīng)典限制理論中可用傳遞函數(shù)來描述系統(tǒng),獲得系統(tǒng)的動態(tài)響應。同樣,S仿真軟件也有傳遞函數(shù)模塊,可便利地描述系統(tǒng)的特性,且簡化了仿真模型。從模塊庫窗口創(chuàng)建系統(tǒng)模型如圖1所示,選信號源模塊組中的階躍信號模塊為輸入信號,以輸出模塊組中的示波器模塊作為顯示器來視察系統(tǒng)階躍響應。在模型窗口設置傳遞函數(shù)模塊的參數(shù)和特性,運行仿真模型,得系統(tǒng)階躍響應曲線。5.3.1開環(huán)系統(tǒng)Simulink模型及仿真圖5-2直流伺服電機開環(huán)系統(tǒng)Simulink模型端口Step為直流伺服電機的輸入電壓,輸出端口為電機轉速。圖5-3是開環(huán)系統(tǒng)的仿真結果,即開環(huán)系統(tǒng)的階躍響應曲線,也即直流伺服電機輸入1V單位階躍電壓時。電機的轉軸輸出呈線性變更。圖5-3開環(huán)系統(tǒng)仿真圖由圖5-3響應曲線可知,系統(tǒng)沒有在可視范圍內(nèi)達到穩(wěn)態(tài)值“1”,但從理論上分析知此系統(tǒng)屬穩(wěn)定系統(tǒng),在足夠時間內(nèi)是能夠達到穩(wěn)定狀態(tài)的。上述分析說明:系統(tǒng)的響應速度較慢,系統(tǒng)性能較差,從而可能不具備運用價值。這個分析結果表明,該系統(tǒng)沒有達到預期的設計要求。5.3.2單位負反饋系統(tǒng)Simulink模型及仿真圖5-4是在圖5-3的基礎上加一個單位負反饋環(huán)節(jié),構成直流伺服電機的單位負反饋系統(tǒng),單位負反饋系統(tǒng)Simulink模型如圖5-4所示圖5-4直流伺服電機單位負反饋系統(tǒng)Simulink模型圖5-5是單位負反饋系統(tǒng)的仿真結果圖5-5單位負反饋系統(tǒng)仿真圖系統(tǒng)超調(diào):40%,調(diào)整時間:2s。由圖5-5和開環(huán)階躍響應曲線相比較知:系統(tǒng)應經(jīng)可以達到較快達到穩(wěn)態(tài)值。說明閉環(huán)單位負反饋系統(tǒng)對系統(tǒng)性能有很大改善。5.4PID校正為了使系統(tǒng)能夠達到設計要求,我們可以在圖5-4前向通道上設置一個限制器構成閉環(huán)系統(tǒng)來校正直流伺服電機。基于PID限制(閉環(huán))的直流伺服電機系統(tǒng)框圖如圖5-6所示。圖5-6基于PID限制(閉環(huán))的直流伺服電機系統(tǒng)框圖其限制過程為由測速發(fā)電機輸出電壓得到直流電機輸出量,即轉速,通過轉速反饋后與系統(tǒng)輸入信號進行比較,得到偏差信號。偏差信號作為PID限制器的輸入信號依據(jù)設定的PID限制規(guī)律計算后輸出信號U,作為限制量輸入給直流電機,從而實現(xiàn)整個直流電機調(diào)速系統(tǒng)的閉環(huán)負反饋PID限制。5.4.1PID參數(shù)的湊試法確定增大比例系數(shù)KP一般系統(tǒng)響應利于減小靜差,但是過大會增大超調(diào),并產(chǎn)生震蕩,是穩(wěn)定性變壞。增大TI有減小超調(diào),減小震蕩,是系統(tǒng)更穩(wěn)定,但靜差消退變慢。增大微分TD利于加快系統(tǒng)響應時間,使超調(diào)減小,穩(wěn)定性增加,但對擾動的抑制實力減弱,對擾動有較敏感的響應。在湊試時,對參數(shù)實行下述先比例,后積分,再微分的整定步驟。(1)首先只整定比例部分。即將比例部分由小變大,并視察相應的系統(tǒng)響應,直到得到反應快,超調(diào)小的響應曲線。假如系統(tǒng)沒有靜差或靜差已小到允許范圍內(nèi),并且響應曲線已屬滿足,那么只需用比例限制器即可,最優(yōu)比例系數(shù)可由此確定。(2)假如在比例調(diào)整的基礎下系統(tǒng)的靜差不能滿足設計要求,則須加入積分環(huán)節(jié)。整定時首先置積分時間T1為一較大值,并將經(jīng)第一步整定得到的比例系數(shù)略微縮小,然后減小積分時間,并在保持系統(tǒng)良好動態(tài)性能的狀況下,靜差得到消退。在此過程中,可依據(jù)響應曲線的好壞反復變更比例系數(shù)與積分時間,以期得到滿足的限制過程與整定參數(shù)。(3)若運用比例積分限制器消退了靜差,但動態(tài)過程經(jīng)反復調(diào)整仍不能滿足,則可加入微分環(huán)節(jié),構成比例積分微分限制器。在整定時,可先置微分時間Td為零。在其次步整定的基礎上,增大Td,同時相應的變更比例系數(shù)和積分時間,逐步湊試,以獲得滿足的調(diào)整效果和限制參數(shù)。5.4.2比例限制器校正為能要求系統(tǒng)在特殊短的時間內(nèi)達到設定的轉速值,比例增益K應盡可能大,以提高比例作用的強度,但必需同時考慮系統(tǒng)的穩(wěn)定性。采納單純的比例限制,其調(diào)整時間和超調(diào)量是一對沖突,無法同時滿足:要縮短調(diào)整時間,K要加大;而K加大,超調(diào)量也同時加大了。經(jīng)過多次參數(shù)選擇,當K。=10時,階躍響應曲線較為志向,呈現(xiàn)接近0.75衰減率的振蕩過程。比例限制系統(tǒng)Simulink模型及仿真圖5-7比例限制系統(tǒng)Simulink模型Kp=1時仿真圖Kp=3時仿真圖Kp=5時仿真圖由以上三個比例限制的仿真圖可知,增大比例系數(shù)KP一般系統(tǒng)響應利于減小靜差,但是過大會增大超調(diào),并產(chǎn)生震蕩,是穩(wěn)定性變壞。5.4.3比例積分限制器校正積分限制的作用是只要系統(tǒng)存在誤差,積分限制作用就不斷地積累,輸出限制量以消退誤差,因而,只要有足夠的時間,積分限制將能完全消退誤差。在比例環(huán)節(jié)基礎上加入積分環(huán)節(jié),只要參數(shù)設置合適就能完全消退系統(tǒng)偏差。比例積分限制系統(tǒng)Simulink模型圖5-8比例積分限制系統(tǒng)Simulink模型Kp=1、Ki=1時仿真圖Kp=1、Ki=3時仿真圖Kp=5、Ki=3時仿真圖由以上三個比例積分限制的仿真圖可知,增大TI有減小超調(diào),減小震蕩,使系統(tǒng)更穩(wěn)定,但靜差消退變慢。PI限制參數(shù)設置適當可使系統(tǒng)靜差為零。經(jīng)多次試湊,選KI=1.5.4.4PID限制器校正比例積分作用雖能是系統(tǒng)誤差為零,但系統(tǒng)動態(tài)性能不能得到滿足。積分作用太強可能會使系統(tǒng)出現(xiàn)震蕩。微分限制具有超前限制實力,可抑制最大動態(tài)偏差,改善系統(tǒng)動態(tài)性能,提高系統(tǒng)的穩(wěn)定性。為此,在PI作用基礎上引入微分限制,構成PID限制器,以使系統(tǒng)滿足穩(wěn)、準、快的要求。PID限制限制系統(tǒng)Simulink模型如圖圖5-9PID限制系統(tǒng)Simulink模型Kp=1、Ki=1、Kd=0.1時仿真圖和PI限制閉環(huán)響應曲線相比較可知:系統(tǒng)響應時間變短,超調(diào)變小,但仍不符合要求;Kp=5、Ki=1、Kd=0.1時仿真圖與KP=1、KI=1、KD=0.1時的仿真圖相比,系統(tǒng)超調(diào)和調(diào)整時間都變小,仍舊不符合要求,接著校正。需加大Kp及Ki。Kp=12、Ki=1、Kd=0.5時仿真圖由上曲線知此時系統(tǒng)有微量的超調(diào),進一步加大Ki時超調(diào)為零。Kp=12、Ki=1、Kd=0.9時仿真圖經(jīng)過多次校正參數(shù),此時當Kp=12、Ki=1、Kd=0.9時系統(tǒng)超調(diào)量為0,穩(wěn)態(tài)誤差為0,性能滿足設計要求,穩(wěn)定、精確、快速得到了完滿的統(tǒng)一。6.小結限制系統(tǒng)特點是以單片機為限制器,通過鍵盤設置輸入轉速值,使得電機的轉速設置便利快捷,另外又通過軟件實現(xiàn)系統(tǒng)轉速設置范圍的愛護。但在proteus中沒能實現(xiàn)閉環(huán)系統(tǒng)的PID限制。此缺點通過軟件彌補,在MATLAB軟件中的SIMULINK中進行了直流伺服電機的開環(huán)限制系統(tǒng)仿真,單位閉環(huán)限制系統(tǒng)仿真,閉環(huán)PI限制系統(tǒng)仿真,閉環(huán)PD限制仿真,閉環(huán)PID限制仿真能夠更好的測試和限制系統(tǒng)的性能,從而為設計事物供應了更精確的性能指標。參考文獻[1]于海生.計算機限制技術[M].北京:機械工業(yè)出版社,2007.6[2]周荷琴等.微型計算機原理及接口技術[M].合肥:中國科技高校出版社,2008.6[3]張毅剛等.單片機原理與應用設計[M].北京:電子工業(yè)出版社[4]樓然苗.51系列單片機設計實例[M].北京:北京航空航天高校出版,2008.6[5]陳小忠等.單片機接口技術好用子程序.北京:人民郵電出版社,2005.9[6]計算機限制技術試驗指導書附錄單片機限制程序清單:#include"reg52.h"http://#include"absacc.h"http://#include"stdio.h"http://#include"math.h"http://#include"string.h"#defineuncharunsignedchar#defineunintunsignedintvoidwdata(unchardat);//writedatafunctionvoidwcom(uncharcom);//writecommandfunctionvoiddelay(unchart);//delayfunctionsbitrw=P3^1;//rwsbitrs=P3^0;//rssbiten=P3^2;//en#defineMAX_LEN16//數(shù)據(jù)最大長度#definecount_M150000#defineH_0(65536-count_M1)/256#defineL_0(65536-count_M1)%256uncharcodetab2[]={0x31,0x32,0x33,0x41,0x34,0x35,0x36,0x42,0x37,0x38,0x39,0x43,0x0e,0x30,0x0f,0x44};//鍵盤求值表uncharcodetab3[]={"TargetValue:"};uncharcodetab4[]={""};uncharcodetab6[]={"inputERR"};uncharserial_data[MAX_LEN],serial_len=0,sure_flag=0;voidwdata(unchardat);//writedatafunctionvoidwcom(uncharcom);//writecommandfunctionvoiddelay(unchart);//delayfunctionvoidkeyscan(void);//鍵盤操作程序uncharscankey(void);//鍵盤求值程序voidchushi(void);//初始化程序//voidinit_serial(void);//串口初始化//voiduart_serial(void);//串口主程序voidlcd_write(void);//液晶顯示待發(fā)送指令uncharjisuan(void);//計算結果為十進制unintfreq=0;//頻率變量sfr16DPTR=0x82;//申明DPTRchartimes=0;//計算T0中斷次數(shù)//delayfunction//P0=0x00;//中斷初始化voidinit_interrup(void) { IE=0x8a;//啟用T0,T1中斷 TMOD=0x51;//T1為計數(shù)器,T2為定時器,都采納mode1 TH0=H_0; TL0=L_0; TH1=0; TL1=0; TR0=1; TR1=1; }voiddelay(unchart){unchara,b;for(a=0;a<t;a++)for(b=0;b<128;b++);}//ThefunctionforwritedatatoLCDscreenvoidwdata(unchardat){P1=dat;rs=1;rw=0;en=0;delay(6);en=1;}//ThefunctionforwritecommandtoLCDscreenvoidwcom(uncharcom){P1=com;rs=0;rw=0;en=0;delay(6);en=1;}//初始程序voidchushi(void){ unchari;wcom(0x01);wcom(0x38);wcom(0x0c);wcom(0x06); delay(4); wcom(0x80); delay(4);for(i=0;i<17;i++){wdata(tab3[i]);}wcom(0xc0);delay(2);}//鍵盤求值程序uncharscankey(void){unchartemp,c,d; P2=0x0f; temp=P2;temp=temp&0x0f;//屏蔽高四位,取列值temp=~(temp|0xf0);//將temp中的內(nèi)容與0xf0進行相加,最終求反可得到是那列按下if(temp==1)c=0;//P2.0位低電平elseif(temp==2)c=1;//P2.1位低電平elseif(temp==4)c=2;//P2.2位低電平elseif(temp==8)c=3;//P2.3位低電平elsec=0;//否則給返回值C=0P2=0xf0;//給P2的行為高電平,以來推斷是高四為的那位為低電平delay(1);temp=P2;temp=temp&0xf0;//屏蔽低四位temp=~((temp>>4)|0xf0);//將temp中的高四位向右移動4位,與0xf0相加,最終求反可以得到是那行按下if(temp==1)c=c+0;//將行P2.4的值加上列的值elseif(temp==2)c=c+4;//將行P2.5的值加上列的值elseif(temp==4)c=c+8;//將行P2.6的值加上列的值elseif(temp==8)c=c+12;//將行P2.7的值加上列的值elsec=0; d=tab2[c];return(d);//最終返回行加列的值}//lcd_writefunctionvoidlcd_write(void){ uncharwrite_0,write_1,jian_zhi[MAX_LEN]; for(write_0=0;write_0<MAX_LEN;write_0++) { serial_data[write_0]=0; }//清空發(fā)送緩沖數(shù)組 wcom(0x0f);//將光標置在oxc0處 serial_len=0; delay(2); while(1) { write_1=0xc0;//光標地址 wcom(write_1); for(write_0=0;write_0<MAX_LEN;)//輸入指令最大為MAX_LEN { wcom(write_1);P2=0x0f;//等待鍵盤值 while((P2&0x0f)==0x0f); jian_zhi[write_0]=scankey(); delay(1); P2=0x0f; while((P2&0x0f)!=0x0f);//等待按鍵放松 if(jian_zhi[write_0]==0x0e)//當按一下取消鍵時清空全部發(fā)送緩沖數(shù)組, {//當連續(xù)按下兩次時則取消本次通訊,退出 if(write_0==0) gotowrite_out; elseif(write_0>=1) { write_1-=1; wcom(write_1); write_0-=1; wdata(tab4[0]); serial_data[write_0]=0; serial_len--; } } elseif(jian_zhi[write_0]==0x0f)//確定發(fā)送的指令 { if(serial_len==3) {if(serial_data[0]<2) sure_flag++; elseif(serial_data[0]>2); else { if(serial_data[1]<5) sure_flag++; elseif(serial_data[1]>5); else { if(serial_data[2]<6) sure_flag++; else; } } } else sure_flag++;//確定的標記位 gotowrite_out;//退出本次輸入指令 } else { wdata(jian_zhi[write_0]); if(jian_zhi[write_0]<=0x39) serial_data[write_0]=jian_zhi[write_0]-0x30; else serial_data[write_0]=jian_zhi[write_0]-0x37; write_1++; write_0++; serial_len++; } } }write_out: delay(1);}//合并數(shù)組voidserial_and(void){ uncharand0,and1,and2=0; and1=serial_len/2; for(and0=0;and0<and1;and0++) { serial_data[and0]=(serial_data[and0+and2++]<<4)|serial_data[and0+and2]; } } //鍵盤操作voidkeyscan(void){uncharks_0,ks_1;delay(2);//延時去抖動 P2=0x0f;if((P2&0x0f)!=0x0f)//延時后在推斷一次,去除抖動影響 { ks_0=scankey();//求鍵盤值 P2=0x0f; while((P2&0x0f)!=0x0f);//等待放松while(ks_0==0x41) { switch(ks_0) { case0x41: { chushi(); lcd_write();//調(diào)用寫指令程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國事件數(shù)據(jù)記錄器行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國COVID-19 DNA疫苗行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030育林產(chǎn)業(yè)市場發(fā)展分析及前景趨勢與投資戰(zhàn)略研究報告
- 2025-2030中國高鈣奶粉市場投資格局與消費需求趨勢研究報告版
- 2025-2030中國重質(zhì)純堿市場規(guī)模估測與未來發(fā)展戰(zhàn)略規(guī)劃研究報告
- 2025-2030中國聚氨酯膠粘劑行業(yè)經(jīng)營狀況及企業(yè)發(fā)展策略分析研究報告
- 2025-2030中國組合聚醚市場需求前景及發(fā)展戰(zhàn)略研究分析研究報告
- 2025-2030中國筒輥磨行業(yè)戰(zhàn)略規(guī)劃及未來運行形勢分析研究報告
- 2025-2030中國碳鋼行業(yè)發(fā)展分析及前景趨勢與投資風險研究報告
- 2025-2030中國睡褲行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025年開封大學單招職業(yè)技能測試題庫必考題
- 班級管理措施與學生心理健康
- 高中主題班會 揚中國精神承青年擔當團課課件-高一上學期愛國主義教育主題班會
- 《淋巴瘤基礎知識》課件
- 情感營銷在社交網(wǎng)絡中的應用-深度研究
- 滴滴新手司機培訓
- 2024屆安徽省淮北市高三二模地理試卷
- 景區(qū)物業(yè)服務投標方案(技術標)
- 藥事管理與藥物使用制度
- 永磁電機項目可行性研究報告
- 學校1530安全教育記錄
評論
0/150
提交評論