2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩8頁(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、<p><b>  1 引言</b></p><p>  單片機(jī)作為微型計(jì)算機(jī)發(fā)展的一個(gè)重要分支,以其高可靠、高性能價(jià)格比、低電壓、低功耗等優(yōu)勢(shì),贏得了廣泛的應(yīng)用。單片機(jī)是一門(mén)實(shí)用性很強(qiáng)的應(yīng)用學(xué)科,在目前和今后相當(dāng)長(zhǎng)的一段時(shí)間內(nèi)仍有著廣泛的應(yīng)用前景。作為自動(dòng)化專(zhuān)業(yè)的學(xué)生,更應(yīng)該熟練掌握各種電路編輯軟件,作為專(zhuān)業(yè)必需的技能更要及時(shí)地對(duì)這一類(lèi)軟件的更新版本進(jìn)行學(xué)習(xí),其日趨強(qiáng)大的功能是對(duì)

2、我們專(zhuān)業(yè)技能的補(bǔ)充。之前由于培養(yǎng)過(guò)自己的動(dòng)手能力,在本次課程設(shè)計(jì)中,本人使用單片機(jī)作為這次作業(yè)的核心。課程設(shè)計(jì)通過(guò)使用90C51單片機(jī)和共陽(yáng)極二位數(shù)碼管,綜合應(yīng)用基礎(chǔ)電子電路和單片機(jī)的知識(shí),來(lái)實(shí)現(xiàn)該電路的制作。</p><p>  通過(guò)實(shí)際程序設(shè)計(jì)和調(diào)試,逐步掌握塊化程序設(shè)計(jì)方法和調(diào)試技術(shù),通過(guò)課程設(shè)計(jì),掌握一單片機(jī)核心的電路設(shè)計(jì)的基本方法和技術(shù),了解有關(guān)電路參數(shù)的計(jì)算方法,通過(guò)完成一個(gè)包括電路設(shè)計(jì)和程序設(shè)計(jì)開(kāi)發(fā)

3、的完整過(guò)程,了解開(kāi)發(fā)單片機(jī)應(yīng)用系統(tǒng)的全過(guò)程,為今后從事相應(yīng)工作打下基礎(chǔ)。</p><p>  2 設(shè)計(jì)方案及原理 </p><p><b>  2.1 題目要求</b></p><p>  8支連續(xù)排列的發(fā)光二極管,發(fā)光二極管的依次點(diǎn)亮代表乒乓球的運(yùn)動(dòng)。用兩個(gè)按鍵模擬左右兩個(gè)球拍,鍵按下代表球拍擊球。“左拍”按下可使發(fā)光二極管從左向右依次點(diǎn)亮,

4、如同乒乓球從左向右飛來(lái);反之,“右拍”按下則可使發(fā)光二極管從右向左依次點(diǎn)亮,代表乒乓球從右向左運(yùn)動(dòng)。</p><p>  本游戲供兩人玩耍,以一方按鍵開(kāi)始,這時(shí)“乒乓球”就向?qū)Ψ竭\(yùn)動(dòng),接球方應(yīng)在“乒乓球”到達(dá)終點(diǎn)時(shí)刻擊球。如擊球時(shí)機(jī)合適,則把球擊回,算得分;否則就算失誤,由對(duì)方重新發(fā)球。在游戲過(guò)程中,以LED顯示器顯示雙方比分。</p><p><b>  2.2 題目分析<

5、;/b></p><p>  (1) “乒乓球”移動(dòng)速度是固定的,假定每秒鐘移動(dòng)1位LED。</p><p>  (2) 在“乒乓球”移位一次的過(guò)程中,進(jìn)行50次測(cè)試,查詢(xún)接球方是否有擊球動(dòng)作。</p><p>  (3) 接球方的擊球動(dòng)作應(yīng)發(fā)生在“乒乓球”到達(dá)最后一位LED1秒鐘時(shí)間之內(nèi)。如接球方在此1秒鐘時(shí)間之內(nèi)按鍵,則接球成功,接球方得分?!捌古仪颉?/p>

6、轉(zhuǎn)為相反方向運(yùn)動(dòng)。此后,原接球方變?yōu)榘l(fā)球方,原發(fā)球方變?yōu)榻忧蚍?。游戲繼續(xù)進(jìn)行。</p><p>  (4) 如接球方提前或滯后擊球,則接球方失誤,雙方都不得分。這時(shí)“乒乓球”熄滅,LED顯示器顯示出雙方比分,然后仍由原發(fā)球方發(fā)球。</p><p><b>  2.3 解決方案</b></p><p>  本設(shè)計(jì)采用90C51單片機(jī)系統(tǒng),任何軟

7、件的設(shè)計(jì)首先都應(yīng)該對(duì)模型進(jìn)行抽象畫(huà),使用實(shí)用化語(yǔ)言對(duì)對(duì)任務(wù)進(jìn)行描述,對(duì)于具體到本實(shí)驗(yàn)的設(shè)計(jì),最需要描述和處理的事件是擊球動(dòng)作,比賽雙方的任何一方按下鍵都是一個(gè)擊球動(dòng)作,需要判斷是發(fā)球還是擊球,是提前擊球還是滯后擊球還是準(zhǔn)確擊球,這是本設(shè)計(jì)把乒乓球游戲抽象為系統(tǒng)模型的關(guān)鍵點(diǎn)。</p><p>  是否準(zhǔn)確擊球是具體體現(xiàn)為:若有鍵按下時(shí)則先判斷A還是B擊球,再根據(jù)球所在位置就可以判斷擊球準(zhǔn)確還是失球。比如現(xiàn)在A按鍵擊

8、球,而同時(shí)LED當(dāng)前顯示值為01H,則判斷A正確擊球,反之若LED點(diǎn)亮處于其他任何狀態(tài)都判A失球B得分,同樣B的有效擊球時(shí)間應(yīng)為L(zhǎng)ED顯示值為80H額時(shí)間段內(nèi),其他時(shí)間段B有擊球動(dòng)作都判B時(shí)分。</p><p>  球移動(dòng)的動(dòng)作抽象到系統(tǒng)模型即為L(zhǎng)ED的逐個(gè)點(diǎn)亮,而具體設(shè)計(jì)程序時(shí),需要設(shè)計(jì)一個(gè)LED顯示的子程序,再用不同的亮燈數(shù)值通過(guò)調(diào)用LED顯示子程序刷新LED顯示即可完成。另外定時(shí)中斷在本實(shí)驗(yàn)中也有相當(dāng)大的

9、比重,LED逐個(gè)點(diǎn)亮的時(shí)間間隔,擊球是否在規(guī)定時(shí)間內(nèi)完成,這些都需要使用定時(shí)器來(lái)產(chǎn)生所需要的時(shí)間標(biāo)度。</p><p><b>  3 硬件設(shè)計(jì)</b></p><p>  3.1 I/O地址分配</p><p>  由90C51組成的單片機(jī)系統(tǒng)通常情況下,P0口分時(shí)復(fù)用作為地址、數(shù)據(jù)總線,P2口提供A15-A8即高8位地址,P3口用作第二功能

10、,只有P1口通常用作I/O口。8051的P1口作為基本I/O口使用,P1口是8位準(zhǔn)雙向口,它的每一位都可獨(dú)立地定義為輸入或輸出,因此,既可作為8位的并行I/O口,也可作為8為的輸入輸出端。</p><p>  3.2 系統(tǒng)硬件模擬圖</p><p>  本設(shè)計(jì)采用硬件與軟件相結(jié)合,對(duì)所求題目進(jìn)行仿真,proteus仿真圖如圖3.1所示,硬件實(shí)物圖如圖3.2所示。</p>&l

11、t;p>  圖3.1 proteus硬件電路圖</p><p><b>  4 軟件設(shè)計(jì)</b></p><p>  主程序流程圖如圖4.1所示。</p><p>  具體程序見(jiàn)附錄。5 總結(jié)</p><p>  本課程設(shè)計(jì)經(jīng)過(guò)了三個(gè)階段的程序設(shè)計(jì),第一階段是了解打乒乓球的工作方式及其原理,確定設(shè)計(jì)的方向與方法以及

12、確定設(shè)計(jì)過(guò)程中需要的軟件及工具。第二階段是熟悉用keil軟件編寫(xiě)C語(yǔ)言的方法,這一階段側(cè)重于對(duì)C語(yǔ)言的基本掌握,第三階段是學(xué)校單片機(jī)AT89C51芯片的工作原理,并設(shè)計(jì)原理圖,在Proteus里畫(huà)好原理圖然后加載程序后進(jìn)行仿真驗(yàn)證??傮w上,本設(shè)計(jì)已經(jīng)達(dá)到了預(yù)期目標(biāo),在軟件上做了相關(guān)的功能仿真和時(shí)序仿真,最終實(shí)現(xiàn)了正常打乒乓球。</p><p>  在本課程設(shè)計(jì)中,最初遇到了很多的棘手問(wèn)題,比如如何實(shí)現(xiàn)發(fā)球的控制。

13、通過(guò)查閱大量資料和虛心請(qǐng)教他人慢慢解決掉了設(shè)計(jì)過(guò)程中遇到的這一系列的問(wèn)題。</p><p>  本設(shè)計(jì)也存在一些不足,比如記分板顯示并不清晰,只能單方發(fā)球。因此,這需要改進(jìn)。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 李華,王思明.單片機(jī)應(yīng)用及原理[M].蘭州大學(xué)出版社,2001:30-40.</p>

14、<p>  [2] 李廣弟.單片機(jī)基礎(chǔ)[M].北京航空航天大學(xué)出版社,1994:45-48.</p><p>  [3] 房小翠.單片機(jī)實(shí)用系統(tǒng)設(shè)計(jì)技術(shù)[M].國(guó)防工業(yè)出版社,1999:33-45.</p><p>  [4] 張金敏,董海棠.單片機(jī)原理與應(yīng)用系統(tǒng)設(shè)計(jì)[M].西南交通大學(xué)出版社,2010:35-56.</p><p><b>

15、  附錄</b></p><p>  #include<reg52.h></p><p>  /*******************************************宏定義***************************************************/</p><p>  #define uint un

16、signed int</p><p>  #define uchar unsigned char</p><p>  sbit LSB=P1^0;</p><p>  sbit RSB=P1^1;</p><p>  uchar d_s=2;</p><p>  bit HLSB=0;</p><

17、p>  bit HRSB=0;</p><p>  uchar code wei_code[]={0x0e,0x0d,0x0b,0x07};</p><p>  uchar code duan_code[]={~0x3F, ~0x06, ~0x5B, ~0x4F, ~0x66, ~0x6D, ~0x7D, ~0x07, ~0x7F, ~0x6F};</p><p&

18、gt;  uchar code dis_led[] = {0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff};</p><p>  uchar i=0,num=0;</p><p>  uchar Li=0,Ri=0;</p><p>  uchar count=0;</p><p>  uc

19、har LN=0,RN=0;</p><p>  uchar dis[]={0x3f,0x3f,0x3f,0x3f};</p><p>  void TimeInit(void)</p><p><b>  {</b></p><p>  TMOD=0X11;</p><p>  TH0=(655

20、36-50000)/256;</p><p>  TL0=(65536-50000)%256;</p><p>  TH1=(65536-6000)/256;</p><p>  TL1=(65536-6000)%256;</p><p><b>  ET0=1;</b></p><p><

21、b>  TR0=1;</b></p><p><b>  ET1=1;</b></p><p><b>  TR1=1;</b></p><p><b>  EA=1;</b></p><p><b>  }</b></p>

22、<p>  void ReadLK(void)</p><p><b>  {</b></p><p>  if(HLSB==1&&LSB==0)</p><p><b>  {</b></p><p><b>  if(i==1)</b></

23、p><p><b>  d_s=1;</b></p><p><b>  if(i==9)</b></p><p><b>  {</b></p><p><b>  i=1;</b></p><p><b>  d_s=1;

24、</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  HLSB=LSB;</b></p><p><b>  }</b></p><p>  void Re

25、adRK(void)</p><p><b>  {</b></p><p>  if(HRSB==1&&RSB==0)</p><p><b>  {</b></p><p><b>  if(i==8)</b></p><p><

26、;b>  d_s=0;</b></p><p><b>  if(i==0)</b></p><p><b>  {</b></p><p><b>  i=8;</b></p><p><b>  d_s=0;</b></p>

27、;<p><b>  }</b></p><p><b>  }</b></p><p><b>  HRSB=RSB;</b></p><p><b>  }</b></p><p>  void discode(void)</p&g

28、t;<p><b>  {</b></p><p>  dis[0]=LN/10;</p><p>  dis[1]=LN%10;</p><p>  dis[2]=RN/10;</p><p>  dis[3]=RN%10;</p><p><b>  }</b&g

29、t;</p><p><b>  main()</b></p><p><b>  {</b></p><p>  TimeInit();</p><p><b>  while(1)</b></p><p><b>  {</b>

30、</p><p><b>  ReadRK();</b></p><p><b>  ReadLK();</b></p><p>  P0=dis_led[i];</p><p>  discode();</p><p><b>  }</b></

31、p><p><b>  }</b></p><p>  void timer0() interrupt 1</p><p><b>  {</b></p><p>  TH0 = (65536 - 50000) / 256;</p><p>  TL0 = (65536 - 50

32、000) % 256; //給T1裝初值</p><p><b>  num++;</b></p><p>  if(num==10)</p><p><b>  {</b></p><p><b>  Li=i;</b></p><p><

33、;b>  Ri=i;</b></p><p>  if(d_s==1)</p><p><b>  i++;</b></p><p>  else if(d_s==0)</p><p><b>  i--;</b></p><p>  else if(d_s

34、==2)</p><p><b>  i=i;</b></p><p><b>  num=0;</b></p><p>  if(Li==8&&i==9)</p><p><b>  {</b></p><p><b>  d

35、_s=2;</b></p><p><b>  LN++;</b></p><p><b>  }</b></p><p>  if(Li==1&&i==0)</p><p><b>  {</b></p><p><b

36、>  d_s=2;</b></p><p><b>  RN++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(i>9)i=9;</p><p>  if(i&

37、lt;0)i=0;</p><p><b>  }</b></p><p>  /***************************************顯示數(shù)據(jù)*********************************************/</p><p>  void timer1() interrupt 3</p

38、><p><b>  {</b></p><p>  TH1 = (65536 - 6000) / 256;</p><p>  TL1 = (65536 - 6000) % 256;</p><p>  P2=duan_code[dis[count]];</p><p>  P3=wei_code[

溫馨提示

  • 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ù)僅提供信息存儲(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)論