基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)_第1頁(yè)
基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)_第2頁(yè)
基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)_第3頁(yè)
基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)_第4頁(yè)
基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、0引言步進(jìn)電機(jī)是1 種純數(shù)字控制電動(dòng)機(jī),它將電脈沖信號(hào)轉(zhuǎn)換成相應(yīng)位置的轉(zhuǎn)換裝置,是與輸入脈沖對(duì)應(yīng)的增量驅(qū)動(dòng)元件,當(dāng)負(fù)荷不超過(guò)步進(jìn)電機(jī)所提供的動(dòng)態(tài)轉(zhuǎn)矩時(shí),它就能實(shí)現(xiàn)快速起、停. 另外,它的步距角和轉(zhuǎn)速不受電壓和負(fù)載變化的影響,也不受環(huán)境條件如溫度、氣壓、沖擊和震動(dòng)等影響,僅與脈沖頻率和脈沖數(shù)有關(guān),因此非常適合于單片機(jī)控制. 由于步進(jìn)電機(jī)有快速響應(yīng)特性,并且無(wú)積累誤差(僅有小于7 d 的誤差) ,在許多數(shù)控裝置及儀器設(shè)備上都得到廣泛應(yīng)用. 文中設(shè)計(jì)利用了單片機(jī)對(duì)步進(jìn)電機(jī)對(duì)進(jìn)行數(shù)字控制。在這個(gè)控制系統(tǒng)中,控制器是核心,它負(fù)責(zé)發(fā)脈沖和LCD顯示的控制。下文對(duì)電機(jī)速度的控制及顯示做出了詳細(xì)的介紹。1.

2、總體方案設(shè)計(jì) 系統(tǒng)框圖如(1)所示,本系統(tǒng)主要由5部分組成,即:步進(jìn)電機(jī),步進(jìn)電機(jī)驅(qū)動(dòng)器,控制電路,LCD顯示,執(zhí)行元件。本文重點(diǎn)介紹步進(jìn)電機(jī)控制電路,LCD顯示兩部分。 步進(jìn)電機(jī)控制器步進(jìn)電機(jī)驅(qū)動(dòng)器步進(jìn)電機(jī)執(zhí)行機(jī)構(gòu)LCD顯示碼 盤(pán)圖1 系統(tǒng)框架2. 系統(tǒng)設(shè)計(jì)2.1 步進(jìn)電機(jī)的控制系統(tǒng)步進(jìn)電機(jī)的控制系統(tǒng)主要由單片機(jī),晶振電路,復(fù)位電路,步進(jìn)電機(jī)驅(qū)動(dòng)器等組成。如圖(2)所示。 AT89C51步進(jìn)電機(jī)驅(qū)動(dòng)器晶振電 路復(fù)位電 路鍵盤(pán) 圖2 步進(jìn)電機(jī)控制電路(1)晶振電路單片機(jī)的時(shí)鐘信號(hào)通常用兩種電路方式獲得:內(nèi)部震蕩方式和外部震蕩方式,在引腳XTAL1和XTAL2外接晶體振蕩器,就構(gòu)成了內(nèi)部振蕩方式

3、。由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器。當(dāng)外接晶振后,就構(gòu)成了自激震蕩器并產(chǎn)生震蕩時(shí)鐘脈沖,內(nèi)部震蕩方式的外部電路如圖(3)所示,本系統(tǒng)選C1和C2為30PF.圖3 晶振電路(2)復(fù)位電路:復(fù)位電路如圖(4)所示:圖4 復(fù)位電路a.當(dāng)系統(tǒng)上電時(shí),C3導(dǎo)通,RESET鍵至高,系統(tǒng)復(fù)位。b.當(dāng)S1按下,支線2導(dǎo)通,RESET鍵至高,系統(tǒng)復(fù)位。(3)步進(jìn)電機(jī)脈沖產(chǎn)生 在采用單片機(jī)的步進(jìn)電機(jī)開(kāi)環(huán)系統(tǒng)中,控制系統(tǒng)的CP脈沖的頻率實(shí)際上就是控制步進(jìn)電機(jī)的運(yùn)行速度。系統(tǒng)可以用兩種方法實(shí)現(xiàn):1.延時(shí);2.定時(shí)。 在本電路設(shè)計(jì)中,采用了步進(jìn)電機(jī)驅(qū)動(dòng)器,步進(jìn)電機(jī)驅(qū)動(dòng)器及其接線電路如圖(5)所示,其脈沖的輸入由單片

4、機(jī)的定時(shí)器發(fā)出,在軟件中由軟件來(lái)實(shí)現(xiàn)。 控 +5V制機(jī)驅(qū)動(dòng)器A+A-B+B-DC+DC-兩項(xiàng)混合式步進(jìn)電機(jī)DC電源10V-40V 說(shuō)明:在電路中,由于其他方面考慮,沒(méi)有接方向信號(hào)和脫機(jī)信號(hào)兩根線,讀者可根據(jù)實(shí)際情況自行使用。脈沖信號(hào)由單片機(jī)T0定時(shí)器中斷發(fā)出,能產(chǎn)生任意周期的定時(shí)信號(hào),可以通過(guò)調(diào)節(jié)脈沖頻率準(zhǔn)確的控制電機(jī)的轉(zhuǎn)速??紤]到精度的要求,在容許范圍之內(nèi),不考慮由于定時(shí)器裝載完重新啟動(dòng)開(kāi)始到定時(shí)器申請(qǐng)中斷止的那段時(shí)間。(4)鍵盤(pán)電路:4 4 的矩陣鍵盤(pán)是由4 條行線和4 條列線組成,按鍵設(shè)置在行列線交點(diǎn)上, 行列線分別連接到按鍵開(kāi)關(guān)的兩端。行線通過(guò)上拉電阻接到+ 5V 上, 平時(shí)無(wú)按鍵動(dòng)作

5、時(shí), 行線處于高電平狀態(tài), 而當(dāng)有按鍵按下時(shí),行線狀態(tài)將由與此相連的列線電平?jīng)Q定。鍵盤(pán)中有無(wú)按鍵按下是由列線送入全掃描字,將所有行由與門(mén)相連,輸出接中斷。當(dāng)有鍵按下時(shí),行線由高變低產(chǎn)生負(fù)跳變,即可進(jìn)入中斷進(jìn)行處理。電路圖如下:圖5 鍵盤(pán)電路圖中R1,R2,R3,R4均為4.7K,目的是將行拉高,以便在有鍵按下時(shí),可以跳進(jìn)中斷。2.2 LCD液晶顯示 本文采用12864液晶顯示,其與單片機(jī)P0口相接,用于顯示控制界面信息。其引腳可參照說(shuō)明書(shū),本文主要對(duì)軟件的設(shè)計(jì)進(jìn)行詳細(xì)的介紹。采用的連接方式是直連方式,通過(guò)直接的人為控制狀態(tài)位,來(lái)實(shí)現(xiàn)LCD的顯示。其硬件連接圖如圖6所示 圖6 LCD與單片機(jī)連接

6、圖2.3 執(zhí)行機(jī)構(gòu) 用步進(jìn)電機(jī)帶動(dòng)皮帶進(jìn)行切割機(jī)模擬運(yùn)行。其基本位置關(guān)系及定位如下圖所示:每塊支架均有加強(qiáng)筋,圖中未示出。2.4 數(shù)據(jù)采集 本文采用旋轉(zhuǎn)式編碼器采集實(shí)時(shí)速度,并通過(guò)LCD顯示出來(lái)。編碼器脈沖端接單片機(jī)T1計(jì)數(shù)器,通過(guò)脈沖的計(jì)數(shù),轉(zhuǎn)化為實(shí)際轉(zhuǎn)數(shù)。其接線可參照有關(guān)資料。3. 軟件設(shè)計(jì)。 本例中,為了使步進(jìn)電機(jī)有較高的轉(zhuǎn)數(shù),采用曲線加速的方法,即不斷的減小定時(shí)時(shí)間。使其由低速啟動(dòng),以獲得較高的轉(zhuǎn)矩,之后不斷的加速,最終獲得所需高轉(zhuǎn)速。目的在某些情況下,可以獲得高轉(zhuǎn)速,滿(mǎn)足要求.其工作方式如下圖:基本速度為基準(zhǔn)的整數(shù)倍,1速為13倍,2為11倍,依次類(lèi)推。要達(dá)到最高轉(zhuǎn)速,由于受到轉(zhuǎn)矩的

7、限制,必須采取低轉(zhuǎn)速啟動(dòng),經(jīng)過(guò)一段時(shí)間加到高轉(zhuǎn)速。 碼盤(pán)數(shù)據(jù)的處理,本文中采用AT89c51系列單片機(jī),其只有2個(gè)定時(shí)器/計(jì)數(shù)器中斷,因此如何處理碼盤(pán)采回的脈沖數(shù),是軟件的核心部分。我們假設(shè)碼盤(pán)在一定時(shí)間內(nèi)的脈沖數(shù)是N,設(shè)步進(jìn)電機(jī)的轉(zhuǎn)速為S,于是有如下的方程進(jìn)行計(jì)算。 其中:采集編碼器脈沖得時(shí)間為T(mén)(us) 編碼器旋轉(zhuǎn)一周發(fā)生360個(gè)脈沖。流程圖如下:鍵盤(pán)掃描加減速控制流程圖源程序見(jiàn)附表(1)4 結(jié)論 步進(jìn)電機(jī)開(kāi)環(huán)控制系統(tǒng)具有成本低、簡(jiǎn)單、控制方便等。在此方案中,通過(guò)曲線加速,可以獲得較高的轉(zhuǎn)速。通過(guò)步進(jìn)電機(jī)驅(qū)動(dòng)器使得步進(jìn)電機(jī)的精度得以提高,運(yùn)動(dòng)較為平穩(wěn)。使用碼盤(pán),將現(xiàn)有的速度實(shí)時(shí)反應(yīng)在控制界

8、面上。本實(shí)驗(yàn)?zāi)康脑谟谀M切割機(jī)的一部分,其基本功能均可實(shí)現(xiàn),且步進(jìn)電機(jī)的誤差在容許范圍之內(nèi),滿(mǎn)足使用要求。參考文獻(xiàn)(1) 王福瑞,等 單片機(jī)微機(jī)系統(tǒng)設(shè)計(jì)大全 北京:北京航天航空大學(xué)(2) 胡漢才 單片機(jī)原理及其接口技術(shù) 北京:清華大學(xué)說(shuō)明: 由于編者水平有限,僅供參考,如有不對(duì)之處還請(qǐng)多多指教。 其中胡嘯峰做軟件設(shè)計(jì),李俊生電路設(shè)計(jì),盧勝軍QQ: 特別感謝機(jī)電工程學(xué)院 姚小敏,李天劍老師的耐心指導(dǎo)和幫助。源程序:;定義控制位 RS EQU P2.0 RW EQU P2.1 E EQU P2.2 PULSE EQU P2.4 DIR EQU P2.5;程序標(biāo)志位 STATUS BIT 00H ;

9、運(yùn)轉(zhuǎn)停止標(biāo)志位,1轉(zhuǎn)0停 STATUS1 BIT 01H ;正反轉(zhuǎn)標(biāo)志位,1正0反 RESETFLAG BIT 02H ;系統(tǒng)復(fù)位標(biāo)志位 SPEEDSHOWFLAG BIT 03H ;轉(zhuǎn)速刷新標(biāo)志位 RIGHTSHOWFLAG BIT 04H ;版權(quán)顯示標(biāo)志位;LCD顯示的變量定義 N DATA 30H ;行數(shù)顯示 ADDR DATA 31H ADDR1 DATA 32H N1 DATA 33H;鍵盤(pán)中斷程序變量 KEY1 DATA 38H KEY2 DATA 39H KEY3 DATA 3AH;程序中間變量 GEWEI DATA 40H ;個(gè)位數(shù) SHIWEI DATA 41H ;十位數(shù) B

10、AIWEI DATA 42H ;百位數(shù) COUNTERL DATA 43H ;存計(jì)數(shù)器低八位 COUNTERH DATA 44H ;存計(jì)數(shù)器高八位 SPEEDLEVELPT DATA 50H ;速度顯示指針 TIMPT DATA 51H ;轉(zhuǎn)速定時(shí)器指針 TIMNOW DATA 52H ;定時(shí)器周期當(dāng)前值 TIMNOW1 DATA 53H ;遞減用 TIMTARGET DATA 54H ;定時(shí)器周期目標(biāo)值 TIMCOUNTER1 DATA 55H ;采樣顯示計(jì)數(shù)1 TIMCOUNTER2 DATA 56H ;采樣顯示計(jì)數(shù)2 STAYCOUNTER DATA 57H ;曲線加速階段停留次數(shù);延時(shí)

11、子程序變量 DR0 DATA 48H DR1 DATA 49H;*;入口地址設(shè)置 ORG 0000H LJMP START ORG 0003H LJMP KEYBOARD ORG 000BH LJMP PULSE_GENERATOR ORG 0013H LJMP LIMITSTART: MOV SP,#60H SETB EA ;開(kāi)中斷控制位 SETB EX0 ;開(kāi)INT0 SETB EX1 ;開(kāi)INT1 SETB ET0 ;開(kāi)定時(shí)器0中斷 SETB IT0 ;INT0下降沿觸發(fā) SETB IT1 ;INT1下降沿觸發(fā) MOV IP,#02H ;設(shè)定中斷優(yōu)先級(jí) MOV TMOD,#52H ;定時(shí)

12、器0方式2,計(jì)數(shù)器1方式1START1: LCALL INITIAL_SYS LCALL INITIAL_LCD ;初始化液晶面板 LCALL GUDINGSHOW ;液晶面板固定顯示LOOP: CJNE R5,#0FFH,KEY ;鍵值改變,則KEY JB RESETFLAG,START1 ;若按下復(fù)位鍵,則START1 JB SPEEDSHOWFLAG,NEXT ;若速度顯示計(jì)時(shí)到,則NEXT SJMP LOOPNEXT: LCALL HEX2BCD ;十六進(jìn)制到BCD碼轉(zhuǎn)換 LCALL SPEEDSHOW ;顯示轉(zhuǎn)速 SJMP LOOP;*;鍵值處理KEY: JNB RIGHTSHOWF

13、LAG,NEXT0 ;沒(méi)有顯示版權(quán),到NEXT0判斷按下的鍵 LCALL GUDINGSHOW LJMP NEXT5NEXT0: CJNE R5,#0AH,NEXT1 LCALL ON_OFFNEXT1: CJNE R5,#0BH,NEXT2 LCALL FOR_BACKNEXT2: CJNE R5,#0CH,NEXT3 LCALL FASTNEXT3: CJNE R5,#0DH,NEXT4 LCALL SLOWNEXT4: CJNE R5,#0EH,NEXT5 LCALL RESETNEXT5: LCALL FORBACKSHOW LCALL SPEEDLEVELSHOW CJNE R5,#

14、0FH,EXIT0 LCALL ABOUT LJMP EXIT9EXIT0: CLR RIGHTSHOWFLAG SETB TR0EXIT9: MOV R5,#0FFH LJMP LOOP;*;啟停切換ON_OFF: CPL STATUS JB STATUS,EXIT1 MOV TIMNOW,#15 ;若要停止,恢復(fù)初始定時(shí)器周期15,實(shí)現(xiàn)低速啟動(dòng)EXIT1: RET;*;正反轉(zhuǎn)切換FOR_BACK: JNB STATUS,EXIT2 ;運(yùn)轉(zhuǎn)中改變方向? MOV TIMNOW,#15 ;恢復(fù)初始定時(shí)器周期15EXIT2: CPL DIR CPL STATUS1 RET;*;加速FAST: MO

15、V DPTR,#SPEEDLEVELTAB MOV A,SPEEDLEVELPT INC A MOVC A,A+DPTR JZ EXIT3 ;已經(jīng)最高速,則EXIT2 INC SPEEDLEVELPT INC TIMPT LCALL SPEEDSHIFTEXIT3: RET;*;減速SLOW: MOV DPTR,#SPEEDLEVELTAB MOV A,SPEEDLEVELPT DEC A MOVC A,A+DPTR JZ EXIT4 ;已經(jīng)最低速,EXIT3 DEC SPEEDLEVELPT DEC TIMPT LCALL SPEEDSHIFTEXIT4: RET;*;復(fù)位RESET: SE

16、TB RESETFLAG RET;*;版權(quán)顯示ABOUT: JB STATUS,EXIT8 JNB RIGHTSHOWFLAG,NEXT6 CLR RIGHTSHOWFLAG SETB TR0 LJMP EXIT8NEXT6: LCALL RIGHTSHOW SETB RIGHTSHOWFLAG CLR TR0EXIT8: RET;*;系統(tǒng)初始化INITIAL_SYS: MOV TL0,#0C4H ;基準(zhǔn)時(shí)間60微秒 MOV TH0,#0C4H MOV TL1,#00H ;脈沖計(jì)數(shù)器清零 MOV TH1,#00H MOV SPEEDLEVELPT,#01H ;速度檔顯示指針初值 MOV TIM

17、NOW,#15 ;初始定時(shí)器周期20 MOV TIMNOW1,#15 MOV TIMPT,#00H ;定時(shí)器周期指針初值 MOV DPTR,#TIMTAB ;初始目標(biāo)頻率200HZ MOV A,TIMPT MOVC A,A+DPTR MOV TIMTARGET,A MOV TIMCOUNTER1,#253 ;采樣顯示計(jì)數(shù)1 MOV TIMCOUNTER2,#44 ;采樣顯示計(jì)數(shù)2 MOV STAYCOUNTER,#40 ;階段停留次數(shù)初值 SETB TR0 SETB TR1 MOV R5,#00H ;鍵值初值 MOV P1,#0FH ;鍵盤(pán)列掃描線置零 CLR STATUS ;啟停標(biāo)志初值 S

18、ETB STATUS1 ;正反轉(zhuǎn)標(biāo)志初值 CLR RESETFLAG ;初始化系統(tǒng)復(fù)位標(biāo)志 CLR RIGHTSHOWFLAG ;初始化版權(quán)顯示標(biāo)志位 CLR SPEEDSHOWFLAG ;初始化速度顯示標(biāo)志位 CLR PULSE ;初始脈沖置高 CLR DIR ;初始轉(zhuǎn)向 RET;*;執(zhí)行LCD初始化工作INITIAL_LCD: MOV A,#30H ;功能設(shè)定 LCALL W_COMMAND MOV A,#01H LCALL W_COMMAND ;清屏 MOV A,#06H LCALL W_COMMAND ;進(jìn)入模式設(shè)定 MOV A,#0CH LCALL W_COMMAND ;顯示器控制,

19、游標(biāo)不顯示,字閃爍 RET;*;檢查L(zhǎng)CD忙碌標(biāo)志CHKBUSY_LCD: PUSH ACC CLR RS SETB RW SETB E MOV P0,#0FFH ;準(zhǔn)備讀P0口CHK: MOV A,P0 ;P0口讀到A JB ACC.7,CHK ;BF為1則CHK,再次查BF CLR E POP ACC RET;*;寫(xiě)命令到LCDW_COMMAND: CALL CHKBUSY_LCD CLR RS CLR RW MOV P0,A SETB E CLR E RET;*;寫(xiě)資料到LCDW_DATA: CALL CHKBUSY_LCD SETB RS CLR RW MOV P0,A SETB E

20、CLR E RET;*;固定顯示GUDINGSHOW: MOV ADDR1,#00H MOV N1,#08H MOV DPTR,#DHZTAB1 LCALL DHZ MOV ADDR1,#10H MOV N1,#08H MOV DPTR,#DHZTAB2 LCALL DHZ MOV ADDR1,#08H MOV N1,#08H MOV DPTR,#DHZTAB3 LCALL DHZ MOV ADDR1,#18H MOV N1,#08H MOV DPTR,#DHZTAB4 LCALL DHZ RETDHZTAB1: DB 電機(jī)控制界面 DHZTAB2: DB 轉(zhuǎn)速:000轉(zhuǎn)分鐘DHZTAB3:

21、DB 速度檔: 1 DHZTAB4: DB 轉(zhuǎn)向: 正 ;*;版權(quán)顯示RIGHTSHOW: MOV ADDR1,#00H MOV N1,#08H MOV DPTR,#DHZTAB5 LCALL DHZ MOV ADDR1,#10H MOV N1,#08H MOV DPTR,#DHZTAB6 LCALL DHZ MOV ADDR1,#08H MOV N1,#08H MOV DPTR,#DHZTAB7 LCALL DHZ MOV ADDR1,#18H MOV N1,#08H MOV DPTR,#DHZTAB8 LCALL DHZ RETDHZTAB5: DB 盧勝軍:機(jī)械架構(gòu)DHZTAB6: DB

22、 李俊生:電路設(shè)計(jì)DHZTAB7: DB 胡嘯峰:軟件設(shè)計(jì)DHZTAB8: DB 版權(quán)所有 ;*;顯示16*16點(diǎn)陣漢字DHZ: MOV ADDR,ADDR1 MOV B,N1DHZ1: MOV A,ADDR ORL A,#80H LCALL W_COMMANDDHZ2: CLR A MOVC A,A+DPTR INC DPTR LCALL W_DATA CLR A MOVC A,A+DPTR INC DPTR LCALL W_DATA DJNZ B,DHZ2 RET;*;正反轉(zhuǎn)顯示子程序FORBACKSHOW: MOV A,#9CH LCALL W_COMMAND JB STATUS1,FO

23、RBACK: MOV A,#0B7H ;顯示反 LCALL W_DATA MOV A,#0B4H LCALL W_DATA LJMP EXIT6FOR: MOV A,#0D5H ;顯示正 LCALL W_DATA MOV A,#0FDH LCALL W_DATAEXIT6: RET;*;速度檔顯示子程序SPEEDLEVELSHOW: MOV A,#8CH LCALL W_COMMAND MOV A,#20H LCALL W_DATA MOV A,SPEEDLEVELPT MOV DPTR,#SPEEDLEVELTAB MOVC A,A+DPTR LCALL W_DATA RET;*;轉(zhuǎn)速顯示子

24、程序SPEEDSHOW: MOV A,R3 ANL A,#0FH ORL A,#30H MOV GEWEI,A ;準(zhǔn)備個(gè)位顯示 MOV A,R3 SWAP A ANL A,#0FH ORL A,#30H MOV SHIWEI,A ;準(zhǔn)備十位顯示 MOV A,R2 ANL A,#0FH ORL A,#30H MOV BAIWEI,A ;準(zhǔn)備百位顯示 MOV A,#92H LCALL W_COMMAND MOV A,#3AH LCALL W_DATA MOV A,BAIWEI ;顯示百位 LCALL W_DATA MOV A,SHIWEI ;顯示十位 LCALL W_DATA MOV A,GEWE

25、I ;顯示個(gè)位 LCALL W_DATA CLR SPEEDSHOWFLAG RET;*;速度切換SPEEDSHIFT: MOV DPTR,#TIMTAB MOV A,TIMPT MOVC A,A+DPTR MOV TIMTARGET,A RET;*;十六進(jìn)制到BCD碼轉(zhuǎn)換 結(jié)果存R1,R2,R3,最高位存在R1中HEX2BCD: MOV R4,#02HAGAIN1: CLR C ;除以4 MOV A,COUNTERH RRC A MOV COUNTERH,A MOV A,COUNTERL RRC A MOV COUNTERL,A DJNZ R4,AGAIN1HB2: CLR A ;碼初始化

26、CLR C MOV R1,A MOV R2,A MOV R3,A MOV R0,#10H ;轉(zhuǎn)換雙字節(jié)十六進(jìn)制整數(shù)HB20: MOV A,COUNTERL ;從高端移出待轉(zhuǎn)換數(shù)的一位到CY中 RLC A MOV COUNTERL,A MOV A,COUNTERH RLC A MOV COUNTERH,A MOV A,R3 ;碼帶進(jìn)位自身相加,相當(dāng)于乘 ADDC A,R3 DA A ;十進(jìn)制調(diào)整 MOV R3,A MOV A,R2 ADDC A,R2 DA A MOV R2,A MOV A,R1 ADDC A,R1 MOV R1,A ;雙字節(jié)十六進(jìn)制數(shù)的萬(wàn)位數(shù)不超過(guò),不用調(diào)整 DJNZ R0,H

27、B20 ;處理完 RET;*;發(fā)脈沖中斷服務(wù)子程序PULSE_GENERATOR: PUSH ACC PUSH PSW;計(jì)脈沖采集周期 DJNZ TIMCOUNTER1,DD1 MOV TIMCOUNTER1,#253 DJNZ TIMCOUNTER2,DD1 MOV TIMCOUNTER2,#44 MOV COUNTERL,TL1 MOV COUNTERH,TH1 MOV TL1,#00H MOV TH1,#00H SETB SPEEDSHOWFLAG;計(jì)發(fā)脈沖周期DD1: JNB STATUS,DD DJNZ TIMNOW1,DD CPL PULSE DJNZ STAYCOUNTER,DD

28、6 MOV STAYCOUNTER,#40 MOV A,TIMNOW CJNE A,TIMTARGET,DD4 LJMP DD6DD4: JC DD5 DEC A MOV TIMNOW,A LJMP DD6DD5: INC A MOV TIMNOW,ADD6: MOV TIMNOW1,TIMNOWDD: POP PSW POP ACC RETI;*;鍵盤(pán)中斷服務(wù)子程序KEYBOARD: PUSH DPL PUSH DPH PUSH ACC LCALL DELAY MOV KEY1,#0EFH ;列掃描始值 MOV KEY2,#04H ;列數(shù)4 MOV KEY3,#00H ;列值計(jì)數(shù)器清零KEYSM1: MOV A,KEY1 MOV P1,A ;列掃描 RL A MOV KEY1,A ;列掃描左移一位 ORL P1,#0FH ;準(zhǔn)備讀行 MOV A,P

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論