版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
基于單片機的步進電機控制系統(tǒng)設計【摘要】:步進電機廣泛應用于工業(yè)自動化開展中,介紹了由L297專用驅(qū)動芯片實施對步進電機的控制,采用AT89C51單片機作為中央處理器,通過接受外部信號來發(fā)出步進電機的正轉(zhuǎn)、反轉(zhuǎn)、加速、減速等命令,同時由LCD液晶屏顯示步進電機轉(zhuǎn)向及轉(zhuǎn)速等相關信息;分析了步進電機的結(jié)構(gòu)和工作原理,并給出系統(tǒng)硬件結(jié)構(gòu)圖和軟件程序模塊。實踐說明,系統(tǒng)性能優(yōu)于傳統(tǒng)的步進電機。【關鍵詞】:步進電機;單片機AT89C51;控制系統(tǒng)【Abstract】:Steppingmotorisnowwidelyusedinautomaticdevelopmentofindustry,thisarticleintroduceasteppingmotorcontrolsystembasedondedicatedL297drivingship,MCUAT89C51iscentralprocessingunit,throughreceiveexternalsignaltoissuetheorder:right-run,left-run,acceleratedandslowdown,anddisplaytheinformationofrotationdirectionandrotationspeedontheLED;Itisanalysedthatthesteppingmotorstructureanditisworkingprinciple,andmoreover,thehardvarestructureandsoftwaremodulesweregiven.Thepracticeshowedthattheperformanceofthissystemoutdidthetraditionalsteppingmotorcontroller.[Keywords]:Steppingmotor;MCUAT89C51;controlsystem.前言步進電機是一種利用電磁鐵的作用原理將電脈沖信號轉(zhuǎn)換為線位移或角位移的電機,在非超載的情況下,電機的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,即給電機加一個脈沖信號,電機那么轉(zhuǎn)過一個步距角。由于步進電機只有周期性的誤差而無累積誤差等特點,使得在速度、位置等數(shù)字控制領域中應用日益廣泛。工業(yè)控制系統(tǒng)中,可以通過控制脈沖個數(shù)來控制角位移量,從而到達調(diào)速的目的。步進電機可以作為一種控制用的特種電機,利用其沒有積累誤差的特點,廣泛應用與各種控制。第一章步進電機的特點及分類步進電機的特點步進電機的角位移與輸入脈沖數(shù)嚴格成正比,因此,當它轉(zhuǎn)動一周后,沒有累積誤差,具有良好的跟隨性。步進電機的動態(tài)響應快,易于起停、正反轉(zhuǎn)及變速。由步進電機與驅(qū)動電路組成的開環(huán)數(shù)控系統(tǒng),既非常簡單、廉價,又非??煽?。同時,它也可以與角度反響環(huán)節(jié)組成高性能的閉環(huán)數(shù)控系統(tǒng)。速度可在相當寬的范圍內(nèi)平滑調(diào)節(jié),低速下仍能保證獲得大轉(zhuǎn)矩,因此,一般可以不用減速器而直接驅(qū)動負載。步進電機只能通過脈沖電源供電才能運行,它不能直接使用交流電源和直流電源。步進電機存在震蕩和失步現(xiàn)象,必須對控制系統(tǒng)和機械負載采取相應的措施。步進電機自身的噪聲和震動較大,帶慣性負載的能力較差。步進電機的分類步進電機可分為反響式步進電機、永磁式步進電機、混合式步進電機,永磁式步進電機一般為兩相,轉(zhuǎn)矩和體積較小,步進角一般為7.5度或15度;反響式步進電機一般為三相,可實現(xiàn)大轉(zhuǎn)矩輸出,步進角一般為1.5度,但噪聲和振動都很大,在歐美等興旺國家80年代已被淘汰。混合式步進電機是指混合了永磁式和反響式的優(yōu)點。它又分為兩相和五相:兩相步進角一般為1.8度而五相步進角一般為0.72度。這種步進電機的應用很廣泛。我們以四相步進電機35BYJ46為例,說明步進電機的工作方式:35BYJ46有四相ABCD,如果對各個相依次單獨通電,“AB-C-D〞,磁場旋轉(zhuǎn)一周需要換四次,那么稱為四相單四拍;如果每次對兩相同時通電,“AB-BC-CD-DA〞,那么稱為四相雙四拍;也可以每次對三相同時通電,“ABC-BCD-CDA-DAB〞;將四拍和雙四拍交替使用,就稱為四相八拍,如:“A-AB-B-BC-C-CD-DA〞,“AB-ABC-BC-BCD-CD-CDA-DA-DAB〞,此時磁場旋轉(zhuǎn)一周需要換相八次。雙四拍每次對多相同時通電,與單四拍比擬起來,每相通電的時間長,消耗的功率增大,電機所得到的電磁轉(zhuǎn)矩也大。同時,采用多相勵磁會產(chǎn)生電磁阻尼,會削弱或消除震蕩現(xiàn)象,使得電機不易產(chǎn)生失步。四相八相與四相四拍相比擬,步距角減小了一倍,有利于削弱振蕩,提高電機的帶負載能力。一般說來,步進電機控制系統(tǒng)需要以下局部,如下圖:其中的脈沖發(fā)生器用于產(chǎn)生頻率變化的脈沖信號;脈沖分配器根據(jù)方向控制信號將脈沖信號轉(zhuǎn)換成有一定邏輯關系的環(huán)形脈沖;功率放大器將脈沖分配器輸出的環(huán)形脈沖放大,用于控制步進電機的運轉(zhuǎn),這些局部都可以由專門的電路來實現(xiàn)。如果用單片機加上專門的驅(qū)動芯片來控制步進電機,可以簡化電路,提高可靠性。第二章硬件系統(tǒng)設計本設計實現(xiàn)一個基于C51單片機控制的4相步進電機系統(tǒng),由單片機產(chǎn)生驅(qū)動脈沖信號,步進電機的驅(qū)動器收到驅(qū)動脈沖信號后,步進電機將會按照設定的方向轉(zhuǎn)動一個固定的方向,將電脈沖轉(zhuǎn)化成角位移。電機的轉(zhuǎn)速由脈沖信號頻率來控制決定的,可以通過控制脈沖的個數(shù)來控制角位移量,從而到達調(diào)速的目的。AT89C51系列單片機AT89C51是一種帶4K字節(jié)閃存可編程可擦除只讀存儲器的低電壓、高性能CMOS8位微處理器,俗稱單片機。AT89C51是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C51是它的一種精簡版本。AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。外形及引腳排列如下圖:管腳說明:VCC:供電電壓。GND:接地。PO口:PO口為一個8位漏極開路雙向I/O口,每腳可吸收8TTL門電流。當PO口的管腳第一次寫1時,被定義為高祖輸入。PO能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,PO口作為原碼輸入口,當FIASH進行校驗時,PO輸出原碼,此時PO外部必須被拉高。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,p1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1〞時,其管腳被內(nèi)部上拉電阻拉高,且作為輸出。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。再給出地址“1〞時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能存放器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1〞后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:管腳備選功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INTO(外部中斷0)P3.3INT1(外部中斷1)P3.4T0(記時器0外部輸入)P3.5T1(記時器1外部輸入)P3.6WR(外部數(shù)據(jù)存儲器寫選通)P3.7RD(外部數(shù)據(jù)存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入變成脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如果禁止ALE的輸出可在SFR8EH地址上置0.此時,ALE只有在執(zhí)行MOVX,MOVC指令時ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。PSEN:外部程序存儲器的選通信號。由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。EAVPP:當EA保持低電平時,那么在此期間外部程序存儲器,不管是否有內(nèi)部程序存儲器。注意加密方式1時,EA將內(nèi)部鎖定為RESET,當/EA端保持高電平時,此期間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V變成電源。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出??刂破鱈297L297是意大利SGS半導體公司生產(chǎn)的步進電機專用控制器,它能產(chǎn)生4相控制信號,可用于計算機控制的兩相雙極和四相單相步進電機,能夠用單四拍、雙四拍、四相八拍方式控制步進電機。芯片內(nèi)的PWM斬波器電路可開關模式下調(diào)節(jié)步進電機繞組中的電流。該集成電路采用了SGS公司的模擬/數(shù)字兼容的I2L技術(shù),使用5V的電源電壓,全部信號的連接都與TFL/CMOS或集電極開路的晶體管兼容。L297的芯片引腳特別緊湊,采用雙列直插20腳封裝,其引腳見圖:L297各引腳功能說明1腳〔SYNG〕----斬波器輸出端。如多個297同步控制,所有的SYNC端都要連在一起,共用一套震蕩元件。如果使用外部時鐘源,那么時鐘信號接到此引腳上。2腳〔GND〕------接地端3腳〔HOME〕-------集電極開路輸出端。當L297在初始狀態(tài)時,此端有指示。當此引腳有效時,晶體管開路。4腳〔A〕-----A相驅(qū)動信號5腳〔INHI〕-------控制A相和B相的驅(qū)動極。當此引腳為低電平時A相、B相驅(qū)動控制被禁止;當線圈級斷電時,雙極性橋用這個信號負載電源快速衰減。假設CONTROL端輸入是低電平時,用斬波器調(diào)節(jié)負載電流。6腳〔B〕-----B相驅(qū)動信號。7腳〔C〕-----C相驅(qū)動信號8腳〔INH2〕-----控制C相和D相的驅(qū)動級。作用同INH1相同。9腳〔D〕-----D相驅(qū)動信號。10腳〔ENABLE〕-----L297的使能輸入端。當它為低電平時,INH1,INH2,A,B,C,D都為低電平。當系統(tǒng)被復制時用來阻止電機驅(qū)動。11腳〔CONTROL〕-----斬波器功能控制端。低電平使INH1和INH2起作用,高電平時使A,B,C,D起作用。12腳〔vcc〕-----+5V電源輸入端。13腳〔SENS2〕-----C相、D相繞組電流檢測電壓反響輸入端。14腳〔SENSI〕------A相、B相繞組電流檢測電壓反響輸入端。15腳〔VREF〕------斬波器基準電壓輸入端。加到此引腳的電壓決定繞組電流的峰值。16腳〔osc〕----斬波器頻率輸入端。一個RC網(wǎng)絡接至此引腳以決定斬波器頻率,在多個L297同步工作時其中一個接到RC網(wǎng)絡,其余的此引腳接地,個個器件的腳〔SYNC〕應連接到一起這樣可雜波的引入問題如圖5所示。17腳〔CW/CCW〕----方向控制端。步進電機實際旋轉(zhuǎn)方向由繞組的連接方式?jīng)Q定。當改變此引腳的電平狀態(tài)時,步進電機反轉(zhuǎn)旋轉(zhuǎn)。18腳〔CLOCK〕----步進時鐘輸入端。該引腳輸入負脈沖時步進電機向前步進一個增量,該步進是在信號的上升沿產(chǎn)生。19腳〔HALF/FULL〕----半步、全步方式選擇端。此引腳輸入高電平時為半步方式〔四相八拍〕,低電平時為全步方式。如選擇全步方式時變換器在奇數(shù)狀態(tài),會得到單相工作方式〔單四拍〕。20腳〔RESET〕----復位輸入端。此引腳輸入負脈沖時,變換器恢復初始狀態(tài)〔ABCD=0101〕。3.L297驅(qū)動相序的產(chǎn)生L297能產(chǎn)生單四拍、雙四拍和四相八拍工作所需的適當相序。3種方式的驅(qū)動相序都可以很容易地根據(jù)變換器輸出的格雷碼的順序產(chǎn)生,格雷碼的順序直接與四八拍(半步方式)相符合,只要在腳19輸入一高電平即可得到。通過交替跳過在八步順序中的狀態(tài)就可以得到全步工作方式,此時需在腳19接一低電平,前已述及根據(jù)變換器的狀態(tài)可得到四拍或雙四拍2種工作模式,如圖2-4-1,2-4-2所示。4:LCD16024.1:工業(yè)字符型液晶,能夠同時顯示16*02即32個字符〔1表示高電平,0表示低電平〕4.2:管腳功能:1602采用標準的16腳接口,其中:第1腳:VSS為電源池。第2腳:VDD接5V電源正極。第3腳:V0為液晶顯示器比照度調(diào)整端,接正電源時比照度最弱,接低電源時比照度最高〔比照度過高時會產(chǎn)生“鬼影〞,使用時可以通過一個10K的電位器調(diào)整比照度〕。第4腳:RS為存放器選擇,高電平1時選擇數(shù)據(jù)存放器、低電平0時選擇指令存放器。第5腳:RW為讀寫信號線,高電平1時進行讀操作,低電平0時進行寫操作。第6腳:E端為使能端。第7~14腳:D0~D7為8位雙向數(shù)據(jù)端。第15~16腳:空腳或背燈電源。15腳背光正極,16腳背光負極。4.3:操作控制操作:讀狀態(tài)、寫指令、讀數(shù)據(jù)、寫數(shù)據(jù)輸入RS=0,RW=1,E=1RS=0,RW=0,D0~7=指令碼,E=H脈沖RS=1,RW=1,E=14.4字符集1602液晶模塊內(nèi)部的字符發(fā)生存儲器〔CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比方大寫的英文字母“A〞的代碼是01000001B〔41H〕,顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A〞。因為1602識別的是ASCII碼,試驗可以用ASCII碼直接賦值,在單片機編程中還可以用字符型常量或變量賦值,如'A’。讀的時候,先讀上面那列,再讀左邊那行,如:感慨號!的ASCII為0x21,字母B的ASCII為0x42〔前面加0x表示十六進制〕。指令集1602通過D0~D7的8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。顯示模式設置:(初始化)00110000[0x38]設置16×2顯示,5×7點陣,8位數(shù)據(jù)接口;顯示開關及光標設置:(初始化)00001DCBD顯示(1有效)、C光標顯示(1有效)、B光標閃爍(1有效)000001NSN=1(讀或?qū)懸粋€字符后地址指針加1&光標加1),N=0(讀或?qū)懸粋€字符后地址指針減1&光標減1),S=1且N=1(當寫一個字符后,整屏顯示左移)s=0當寫一個字符后,整屏顯示不移動數(shù)據(jù)指針設置:數(shù)據(jù)首地址為80H,所以數(shù)據(jù)地址為80H+地址碼(0-27H,40-67H)其他設置:01H(顯示清屏,數(shù)據(jù)指針=0,所有顯示=0);02H(顯示回車,數(shù)據(jù)指針=0)。第2.1節(jié)LCD與單片機的通訊接口電路總圖設計圖2-5LCD與單片機的通訊接口電路圖第2.2節(jié)步進電機驅(qū)動電路設計步進電機的驅(qū)動方式很多,有單電壓驅(qū)動、雙電壓驅(qū)動、細分驅(qū)動和集成電路驅(qū)動。由于集成電路集驅(qū)動和保護于一體的,作為步進電機的專用驅(qū)動芯片,使用起來非常方便。本文中使用L297來產(chǎn)生步進脈沖。L297是步進電機專用控制器,它能產(chǎn)生四相控制信號可用于計算機控制的兩項雙擊和四相單級步進電機該器件采用雙列直插20腳塑封封裝,主要引腳功能如下:CW/CCW:電機旋轉(zhuǎn)方向控制。CLOCK:步進時鐘脈沖,信號的上升沿觸發(fā)。HALF/FULL:高電平。HALF有效,四相8拍,低電平。FULL有效,四相單4拍〔translator為偶數(shù)狀態(tài)〕:低電平,F(xiàn)ULL有效,四相雙4拍〔translator為奇數(shù)狀態(tài)〕。RSTET:復位到HOME初始狀態(tài)〔STATE=1,ABCD=0101〕。L297主要由譯碼器、2個固定斬波頻率的PWM恒流斬波器以及輸出邏輯控制組成。其核心是脈沖分頻器,它產(chǎn)生3種相序信號,對應于3種不同的工作方式,即:①步進方式〔HALFSTEP,半步〕;②根本步距〔FULLSTEP,整步〕一相鼓勵方式;③根本步距兩相鼓勵方式。脈沖分配器內(nèi)容是1個3bit可逆計數(shù)器,加上一些組合邏輯,產(chǎn)生每周期9補個雷碼時序信號,這也就是半步工作方式的時序信號。此時HALF/FULL信號為高電平。假設HALF/FULL取低電平,得到根本步距工作方式,即4步工作方式。L297另一個重要組成是由2個PWM斬波器來控制相繞組電流,實現(xiàn)恒流斬波控制以獲得良好的轉(zhuǎn)矩一頻率特征。每個斬波器由1個比擬器、一個RS觸發(fā)器和外接采樣點組組成并設有1個公共振蕩器,向2個斬波器提供觸發(fā)信號。第2.3節(jié)鍵盤輸入模塊電路設計設計中,鍵盤采用非編制碼鍵盤系統(tǒng)中的獨立式按鍵結(jié)構(gòu)。鍵盤工作方式采用定時掃描方式。采用獨立式按鍵電路,各按鍵開關均采用上拉電阻,保證在按鍵斷開時,各I/O由確定的高電平。按鍵功能定義如下:當P3.2按下時,步進電機開始加速;當P3.3按下時,步進電機開始減速;當P3.4按下時,步進電機開始正轉(zhuǎn);當P3.5按下時,步進電機開始反轉(zhuǎn);按鍵抖動的消除采用軟件消抖實現(xiàn)。第2.4節(jié)液晶顯示模塊電路設計LCD顯示模塊是把LCD顯示屏、背景光源、線路板和驅(qū)動集成電路德國部件構(gòu)成1個整體作為1個獨立部件使用,只留1個接口與外部通。顯示模塊通過這個接口接受顯示的命令和數(shù)據(jù),并按指令和數(shù)據(jù)的要求進行顯示,外部電路通過這個接口讀出顯示模塊的工作狀態(tài)和顯示數(shù)據(jù)。1602液晶模塊內(nèi)部的字符發(fā)生存儲器已經(jīng)存儲了16個不同的點陣字符圖形,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號和日文假名等,每1個字符都有1個固定的代碼用戶對模塊寫入適當?shù)目刂泼?,即可完成清屏、顯示、地址設置等操作。設計采用并行方式控制,LCD與單片機的通訊接口電路,如圖3-1所示,采用直連方式。第三章軟件程序設計第3.1節(jié)系統(tǒng)程序設計系統(tǒng)的程序設計主要包括脈沖信號發(fā)生,鍵盤的識別處理,LCD顯示等。主程序流程圖,如圖3-1所示,包括了程序的總體結(jié)構(gòu)和工作過程。圖3-1主程序流程圖設計采用四相8拍工作,即采用A-AB-B-BC-CCDD-DA-A的循環(huán)方式傳送數(shù)據(jù),單字母表示四相里只有一相導通,雙子母表示有兩相導通。步進電機轉(zhuǎn)過1個齒距,續(xù)連續(xù)送完一下8個數(shù)據(jù):0001、0011、0010、0110、0100、1100、1000、1001.步進電機連續(xù)轉(zhuǎn)動,那么需循環(huán)送完這8個數(shù)據(jù)。逆序送數(shù)可讓電機反轉(zhuǎn),控制脈沖的頻率可控制電機的轉(zhuǎn)速。步進電機精準的1圈送多少個數(shù)據(jù)取決于所使用的步進電機的轉(zhuǎn)子齒數(shù)??刂撇竭M電機的運行速度實際上是控制系統(tǒng)發(fā)出時鐘脈沖的頻率或換相的周期,即在升速過程中,使用脈沖的頻率逐漸增加;在減速過程中,使脈沖的輸出頻率逐漸減少。脈沖的信號頻率孔用軟件延時和硬件中斷2種方法來確定。轉(zhuǎn)速控制,如圖3-2所示。鍵盤程序設計的任務是賦予各按鍵相應的功能,完成速度設定值得輸入和向控制器的發(fā)送。當P3.4按下時,步進電機開始正轉(zhuǎn)。當P3.5按下時,步進電機開始反轉(zhuǎn)。圖3-2轉(zhuǎn)速控制圖方向控制流程圖,如圖3-3所示。LCD的初始化包括復位設置,去除設置、地址歸位、顯示開關‘游標設置、讀寫地址設置等,LCD中所有數(shù)字和字符都可以通過他的ASCII碼來訪問顯示。LCD操作只要有一下步驟:〔1〕初始化模塊。根據(jù)LCM的使用規(guī)格,在模塊的電壓上電后,模塊內(nèi)有復位電路自動復位,當內(nèi)部復位電路不能復位時,可用軟件方法來復位。根據(jù)需要設定好LCD的工作顯示方式?!?〕寫命令。包括但不限于初始化、調(diào)節(jié)顯示位置、消除顯示?!?〕寫數(shù)據(jù)。把1個字符的ASCII碼寫入液晶使其顯示?!?〕讀忙信號。液晶顯示模塊是1個慢顯示器件,所以在執(zhí)行每條指令之前一定應該測試忙信號,確定其不忙時再操作。當確認模塊的忙標志為低電平,表示不忙,否那么此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符。第3.2節(jié)系統(tǒng)驅(qū)動程序編寫有了上面的驅(qū)動電路,可以得出單片機控制步進電機的驅(qū)動程序。#include“AT89X51.h“intdelay();voidinti_lcd();voidshow_lcd(int);vioidcmd_wr();voidShowStatc();voidclock(unsignedintDelay);voidDoSpeed();//計算速度//反轉(zhuǎn)值#defineRIGHT_RUN1//反轉(zhuǎn)值#definLEFT_RUN0sbitRS=0xA0;sbitRW=0xA1;sbitE=0xA2;charSpeedChar[]=“SPEED(n/min):〞;charStateChar[]=〞RUNSTATE:〞;charSTATE_CW[]=〞CW〞;charSTAE_CCW[]=〞CCW〞;charSPEED[3]=〞050”unsignedintRunSpeed=50;//速度unsignedcharRunState=RIGHT_RUN;//運行狀態(tài)main(){/*定時器設置*/TMOD=0x66;//定時器0,1都為計數(shù)方式;方式2;EA=1;//開中斷TH0=Oxff;//定時器0初值FFH;TLO=Oxff;ET0=1;TR0=1;TH1=Oxff;//定時器1初值FFH;TL1=Oxff;ET1=1;TR1=1;IT0=1;//脈沖方式EX1=1;//開外部中斷0:加速IT1=1;//脈沖方式EX1=1;//開外部中斷1:減速inti_lcd();DoSpee();ShowState();While(1){clock(RunSpeed);P0_1=P0_1^0x01;}}//定時器0中斷程序;正轉(zhuǎn)Voidt_0(void)interrupt1{RunState=RIGHT_RUN;//正轉(zhuǎn)P0_0=1;P1=0x01;cmd_wr();ShowState();}//定時器1中斷:反轉(zhuǎn)Voidt_1(void)interrupt3{RunState=RIGHT_RUN;//正轉(zhuǎn)P0_0=0;P1=0x01;cmd_wr();ShowState();}//中斷0:加速程序VoidSpeedUp()interrupt0{If(RunSpeed>=12)RunSpeed=RunSpeed-2;DoSpeed();P1=0x01;Cmd_wr();ShowStater();}//中斷1:減速程序VoidSpeedUp()interrupt2{If(RunSpeed<=100)RunSpeed=RunSpeed+2;DoSpeed();P1=0x01;Cmd_wr();ShowStater();}intdelay()//判斷LCD是否忙{inta;start:RS=0;RW=1;E=0;for(a=0;a<2;a++);E=1;P1=0xff;if(P1_7==0);return0;elsegotostart;}voidinti_lcd()//設置LCD方式{P1=0x38;cmd_wr();delay();P1=0x01;//去除cmd_wr();delay();P1=0x0f;cmd_wr();delay();P1=0x06;cmd_wr();delay();P1=0x0c;cmd_wr();delay();}voidcmd_wr()//寫控制字{RS=0;RW=0;E=0;E=1;}voidshow_lcd(inti)//LCD顯示子程序{P1=1;RS=1;RW=0;E=0;}E=1;}voidShowState()//顯示狀態(tài)與速度{inti=0;while(SpeedChar[i]!=`\0`){delay();show_lcd(SpeedChar[i]);i++;}delay();P1=0x80l0x0d;cmd_wr();i=0;while(SPEED[i]!=`\0`){delay();show_lcd(SPEED[i]);i++;}delay();P1=0xC0;cmd_wr();i=0;while(StateChar[i]!=`\0`){delay();show_lcd(StateChar[i]);i++;}delay();P1=0xC010x0A;cmd_wr();i=0;i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 跨境電商2025年知識產(chǎn)權(quán)授權(quán)協(xié)議
- 程序設計考試題庫及答案
- 2025-2026人教版七年級語文上期末卷
- 2026年重點高中自主招生考試英語試卷試題(含答案+答題卡)
- 2025-2026一年級體育期末測試卷
- 用養(yǎng)結(jié)合輪作制度-編制說明
- 美容店安全衛(wèi)生管理制度
- 衛(wèi)生院內(nèi)部治安保衛(wèi)制度
- 衛(wèi)生院實行工資制度
- 衛(wèi)生院戒煙門診工作制度
- DB21-T 4279-2025 黑果腺肋花楸農(nóng)業(yè)氣象服務技術(shù)規(guī)程
- 2026廣東廣州市海珠區(qū)住房和建設局招聘雇員7人考試參考試題及答案解析
- 2026新疆伊犁州新源縣總工會面向社會招聘工會社會工作者3人考試備考題庫及答案解析
- 廣東省汕頭市2025-2026學年高三上學期期末語文試題(含答案)(含解析)
- 110接處警課件培訓
- DB15∕T 385-2025 行業(yè)用水定額
- 火箭軍教學課件
- 新媒體運營專員筆試考試題集含答案
- 護理不良事件之血標本采集錯誤分析與防控
- 心臟電生理檢查操作標準流程
- 盾構(gòu)構(gòu)造與操作維護課件 2 盾構(gòu)構(gòu)造與操作維護課件-盾構(gòu)刀盤刀具及回轉(zhuǎn)中心
評論
0/150
提交評論