2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  設(shè)計內(nèi)容及要求</b></p><p>  在PC系統(tǒng)機里,設(shè)計總線接口電路以及功率驅(qū)動電路控制X、Y兩臺三相反應(yīng)式步進電機55BF004,用軟件完成脈沖分配任務(wù),由LED顯示X、Y兩臺步進電機的實際轉(zhuǎn)數(shù)。要求使步進電機X和Y以每分鐘6轉(zhuǎn)的速率正向旋轉(zhuǎn)10min、停3S;然后,使步進電機X以每分鐘30轉(zhuǎn)的速率反向旋轉(zhuǎn)10min,同時使Y以每分鐘50轉(zhuǎn)的速率反向旋

2、轉(zhuǎn)。</p><p><b>  設(shè)計原理</b></p><p>  AT89C51芯片簡介:AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與

3、工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。外形及引腳排列如圖1。</p><p>  XTAL1:振蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端。</p><p>  XTAL2:振蕩器反相

4、放大器的輸出端。</p><p>  時鐘振蕩器:AT89C51中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引起XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器。外接石英晶體及電容C1、C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對外接電容C1、C2雖然沒有十分嚴格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振

5、的難易程序及溫度穩(wěn)定性,如果使用石英晶體,推薦使用30pF左右,如果使用陶瓷諧振器建議選擇40pF左右。</p><p><b>  芯片主要特性</b></p><p>  ·與MCS-51 兼容 ,4K字節(jié)可編程閃爍存儲器,壽命:1000寫/擦循環(huán),數(shù)據(jù)保留時間:10年 ·全靜態(tài)工作:0Hz-24Hz·三級程序存儲器鎖定,128

6、*8位內(nèi)部RAM ·32可編程I/O線,兩個16位定時器/計數(shù)器,5個中斷源 ·可編程串行通道,低功耗的閑置和掉電模式,片內(nèi)振蕩器和時鐘電路</p><p><b>  設(shè)計原理框圖</b></p><p>  設(shè)計程序代碼及流程圖</p><p><b>  org 00h</b><

7、;/p><p>  jmp disp ;顯示初始速度為0</p><p>  stop:orl p1,#0ffh ; 步進電機停止</p><p>  loop:jnb p0.0,for2 ; 如果p0.0按下正轉(zhuǎn)</p><p>  jnb p0

8、.1,rev2 ; 如果p0.1按下反轉(zhuǎn)</p><p>  jnb p0.2,stop1 ; 如果p0.2按下停止</p><p>  jmp loop ;反復(fù)監(jiān)測鍵盤</p><p>  for:mov r0,#00h ;正轉(zhuǎn)到tab取碼指針初值</p>&l

9、t;p>  for1:mov a,r0 ;取碼</p><p>  mov dptr,#table ;</p><p>  movc a,@a+dptr</p><p>  jz for ;是否到了結(jié)束碼00h</p><p>  cpl a

10、 ;把acc反向</p><p>  mov p1,a ;輸出到p1開始正轉(zhuǎn)</p><p>  jnb p0.2,stop1 ; 如果p0.2按下停止</p><p>  jnb p0.1,rev2 ; 如果p0.1按下反轉(zhuǎn)</p><p>

11、;  call delay ;轉(zhuǎn)動的速度</p><p>  inc r0 ;取下一個碼</p><p>  jmp for1 ;繼續(xù)正轉(zhuǎn)</p><p>  rev:mov r0,#05h ;反轉(zhuǎn)到tab取碼指針初值</p>&

12、lt;p>  rev1:mov a,r0</p><p>  mov dptr,#table ;取碼</p><p>  movc a,@a+dptr</p><p>  jz rev ;是否到了結(jié)束碼00h</p><p>  cpl a ;把

13、acc反向</p><p>  mov p1,a ;輸出到p1開始反轉(zhuǎn)</p><p>  jnb p0.2,stop1 ; 如果p0.2按下停止</p><p>  jnb p0.1,rev2 ; 如果p0.1按下反轉(zhuǎn)</p><p>  call delay

14、 ;轉(zhuǎn)動的速度</p><p>  inc r0 ;取下一個碼</p><p>  jmp rev1 ;繼續(xù)反轉(zhuǎn)</p><p>  stop1:call delay ; 按p0.2的消除抖動</p><p>  jnb p0

15、.2,$ ; p0.2放開否?</p><p>  call delay ;放開消除抖動</p><p><b>  jmp stop</b></p><p>  for2:call delay ; 按p0.0的消除抖動</p><p> 

16、 jnb p0.0,$ ; p0.0放開否?</p><p>  call delay ;放開消除抖動</p><p><b>  jmp for</b></p><p>  rev2:call delay ; 按p0.1的消除抖動</p>&l

17、t;p>  jnb p0.1,$ ; p0.0放開否?</p><p>  call delay ;放開消除抖動</p><p><b>  jmp rev</b></p><p>  delay:jnb p0.3,fast ;判斷p0.3是否按下</p>

18、<p>  jnb p0.4,slow ;判斷p0.4是否按下</p><p>  mov r1,#250 ;步進電機的轉(zhuǎn)速20ms</p><p>  d1:mov r2,#248</p><p><b>  djnz r2,$</b></p><p>  

19、djnz r1,d1</p><p>  mov a,#5 顯示速度</p><p>  mov dptr,#tab</p><p>  movc a,@a+dptr</p><p><b>  mov p2,a</b></p><p><b&

20、gt;  mov a,#4</b></p><p>  mov dptr,#tab</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P3,A</b></p><p><b>  ret</b></p><p>  fast:m

21、ov r5,#150 ;加速</p><p>  d2:mov r6,#148 </p><p><b>  djnz r6,$</b></p><p>  djnz r5,d2</p><p>  mov a,#9 ;顯示速度</p

22、><p>  mov dptr,#tab</p><p>  movc a,@a+dptr</p><p><b>  mov p2,a</b></p><p><b>  mov a,#7</b></p><p>  mov dptr,#tab</p><p

23、>  MOVC A,@A+DPTR</p><p><b>  MOV P3,A</b></p><p><b>  ret</b></p><p>  slow:mov r3,#75 ;減速</p><p>  d3:mov r4,#48</p>

24、<p><b>  djnz r4,$</b></p><p>  djnz r3,d3</p><p>  mov a,#1 ;顯示速度</p><p>  mov dptr,#tab</p><p>  movc a,@a+dptr</p><p>

25、<b>  mov p2,a</b></p><p><b>  mov a,#8</b></p><p>  mov dptr,#tab</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P3,A</b></p><p&

26、gt;<b>  ret</b></p><p><b>  table:</b></p><p>  db 03h,09h,0ch,06h ;正轉(zhuǎn)表</p><p>  db 00 ;正轉(zhuǎn)結(jié)束</p><p>  db 03h,06h,0ch,09h

27、 ;反轉(zhuǎn)</p><p>  db 00 ;反轉(zhuǎn)結(jié)束</p><p>  disp:mov a,#0 ;顯示子程序</p><p>  mov dptr,#tab</p><p>  movc a,@a+dptr</p><p><b&g

28、t;  mov p2,a</b></p><p><b>  mov a,#0</b></p><p>  mov dptr,#tab</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P3,A</b></p><p><

29、b>  jmp loop</b></p><p>  tab: db 0c0h,0f9h,0a4h,0b0h,99h;數(shù)碼表</p><p>  db 092h,082h,0f8h,080h,090h;</p><p><b>  end</b></p><p><b>  仿真截圖</

30、b></p><p>  正反轉(zhuǎn)(速度54r/min)</p><p><b>  電機停止轉(zhuǎn)動</b></p><p>  加速(速度97r/min)</p><p>  減速(速度18r/min)</p><p>  停止(速度顯示保持停止為前的速度)</p><p&

31、gt;<b>  PCB圖</b></p><p><b>  生成3D圖</b></p><p><b>  所用器件清單</b></p><p><b>  電阻若干</b></p><p><b>  LED數(shù)碼顯示管</b>&

32、lt;/p><p><b>  芯片AT89C51</b></p><p><b>  按鍵開關(guān)</b></p><p><b>  電容</b></p><p><b>  晶振</b></p><p><b>  參考文獻

33、</b></p><p>  《單片機原理與應(yīng)用》</p><p><b>  人民郵電出版社</b></p><p>  《單片機原理及應(yīng)用技術(shù)》</p><p><b>  電子工業(yè)出版社</b></p><p><b>  收獲及體會</b&

34、gt;</p><p>  這次課程設(shè)計我初步學(xué)會了單片機的使用。也是第一次將編程與仿真結(jié)合在一起。</p><p>  經(jīng)過多次修改才做到了最后的結(jié)果。</p><p><b>  出現(xiàn)的問題:</b></p><p>  在第一次答辯時主要的問題是電機抖動和無法顯示。在改變延時程序后抖動大為減少,使用靜態(tài)顯示方法也將

35、顯示問題解決了。</p><p><b>  缺陷及改進的想法:</b></p><p>  這次的設(shè)計還有許多需要完善的地方</p><p>  如:變速是只能實現(xiàn)3種速度的變化。速度顯示是計算值,并不是電機實際值。</p><p>  改進的想法:速度的變化是通過改變延時程序來實現(xiàn)的。若以一個變量來控制延時,在每按一

溫馨提示

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

評論

0/150

提交評論