單片機(jī)課程設(shè)計(jì)--電子答題器_第1頁
已閱讀1頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  單片機(jī)原理作業(yè)</b></p><p>  ——電子答題器(課程設(shè)計(jì))</p><p><b>  目錄</b></p><p>  一、設(shè)計(jì)任務(wù)與選題2</p><p>  1.作業(yè)設(shè)計(jì)任務(wù)2</p><p>  2.作業(yè)設(shè)計(jì)選題2<

2、;/p><p>  二、系統(tǒng)原理與設(shè)計(jì)分析2</p><p>  1.系統(tǒng)設(shè)計(jì)分析2</p><p>  2.系統(tǒng)原理圖設(shè)計(jì)3</p><p>  三、程序流程圖設(shè)計(jì)4</p><p><b>  四、源程序設(shè)計(jì)5</b></p><p>  1.按鍵查詢程序5&l

3、t;/p><p>  2.聲光提示程序6</p><p>  3.提示燈旋轉(zhuǎn)程序7</p><p>  五、系統(tǒng)調(diào)試與仿真8</p><p><b>  六、心得體會(huì)9</b></p><p>  電子答題器(課程設(shè)計(jì))</p><p><b>  一、設(shè)計(jì)任

4、務(wù)與選題</b></p><p><b>  1.作業(yè)設(shè)計(jì)任務(wù)</b></p><p>  查詢相關(guān)資料,設(shè)計(jì)一個(gè)你自己最感興趣的單片機(jī)系統(tǒng)。</p><p><b>  2.作業(yè)設(shè)計(jì)選題</b></p><p>  電子答題器是基于AT89C51、AT89C52單片機(jī)的電子答題系統(tǒng),通

5、過單刀多擲開關(guān)和答題按鈕控制正確選項(xiàng)。在各種知識(shí)競答的活動(dòng)以及抽獎(jiǎng)等游戲活動(dòng)都可以應(yīng)用。</p><p>  二、系統(tǒng)原理與設(shè)計(jì)分析</p><p><b>  1.系統(tǒng)設(shè)計(jì)分析</b></p><p>  單片機(jī)的最小系統(tǒng)+數(shù)碼管(共陰)+8個(gè)按鈕+直流電動(dòng)機(jī)+L298+二輸入與門(可使用中斷)+報(bào)警蜂鳴器+LED+單刀多擲開關(guān)</p&

6、gt;<p>  沒有按鍵按下,則相應(yīng)輸入為高電平,否則為低電平。這樣可通過讀入AT89C51的P3口的數(shù)據(jù)來判斷按下的是什么鍵。在有鍵按下后,要有一定的延時(shí)以防止抖動(dòng)。當(dāng)按鍵按下后,若單刀多擲開關(guān)撥至該按鍵,則低電平輸入AT89C2051的P3.7端口,在單片機(jī)內(nèi),經(jīng)查詢、識(shí)別、判決等環(huán)節(jié)實(shí)時(shí)發(fā)出鳴笛狀態(tài)控制信號(hào),驅(qū)動(dòng)電路將控制信號(hào)放大并推動(dòng)聲光鳴笛設(shè)備完成相應(yīng)動(dòng)作,同時(shí)波特率發(fā)生器通過程序控制產(chǎn)生PWM信號(hào)送給電機(jī)驅(qū)動(dòng)

7、芯片L298N的使能端口ENA,并通過輸入端口IN1和IN2來控制電機(jī)的啟動(dòng)和停止。</p><p>  最終實(shí)現(xiàn)按下相應(yīng)的按鍵顯示相應(yīng)的選項(xiàng)數(shù)字,當(dāng)按中答案時(shí)系統(tǒng)發(fā)出正確提示音并亮起旋轉(zhuǎn)提示燈,按下復(fù)位鍵時(shí)數(shù)字顯示為0,同時(shí)提示燈停止運(yùn)轉(zhuǎn)。</p><p><b>  2.系統(tǒng)原理圖設(shè)計(jì)</b></p><p>  系統(tǒng)所用元件為單片機(jī)AT8

8、9C51、AT89C52、AT89C2051、CAP(30/0.1pF)、CAP-ELEC(22μF)、BUTTON、LED-RED、7SEG-COM-CATHODE、CRYSTAL(12MHz)、RES、MOTOR、L298、DIODE、AND_2、NPN、SPEARKER、IN4148。</p><p>  電子答題器原理圖如下圖所示:</p><p><b>  三、程序流

9、程圖設(shè)計(jì)</b></p><p><b>  四、源程序設(shè)計(jì)</b></p><p><b>  1.按鍵查詢程序</b></p><p>  #include<reg51.h> </p><p>  #define uint unsigned int </p>

10、<p>  #define uchar unsigned char </p><p><b>  uchar j; </b></p><p><b>  uchar t; </b></p><p><b>  uint n; </b></p><p>  const

11、 uchar tab[]={0x3f,0x06,0x5b,</p><p>  0x4f,0x66,0x6d,</p><p>  0x7d,0x07,0x7f,0x6f};</p><p>  void delay(uint n)</p><p><b>  { uint i;</b></p><p

12、>  for(i=0;i<n;i++);</p><p><b>  }</b></p><p>  void main(void)</p><p><b>  {</b></p><p>  uchar key;</p><p><b>  P2=0x

13、00;</b></p><p><b>  P3=0xff;</b></p><p><b>  while(1) </b></p><p><b>  {</b></p><p>  while(P3==0xff);</p><p>  d

14、elay(2000);</p><p>  while(P3==0xff);</p><p><b>  key=P3;</b></p><p>  switch(key) </p><p><b>  {</b></p><p>  case 0xfe:P2=tab[1];

15、break;</p><p>  case 0xfd:P2=tab[2];break;</p><p>  case 0xfb:P2=tab[3];break;</p><p>  case 0xf7:P2=tab[4];break;</p><p>  case 0xef:P2=tab[5];break;</p><p&

16、gt;  case 0xdf:P2=tab[6];break;</p><p>  case 0xbf:P2=tab[7];break;</p><p>  case 0x7f:P2=tab[0];break;</p><p><b>  }</b></p><p><b>  }</b></

17、p><p><b>  }</b></p><p><b>  2.聲光提示程序</b></p><p>  #include<reg51.h></p><p>  #include<intrins.h></p><p>  #define uint un

18、signed int</p><p>  #define uchar unsigned char</p><p>  sbit zj=P3^7;</p><p>  sbit bell=P1^3;</p><p>  sbit red=P1^7;</p><p>  void Delay100us()</p>

19、;<p><b>  {</b></p><p>  uchar i,j;</p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  i=2;</b></p&

20、gt;<p><b>  j=15;</b></p><p><b>  do</b></p><p><b>  {</b></p><p>  while( --j);</p><p><b>  }</b></p><

21、;p>  while( --i);</p><p><b>  }</b></p><p>  void main(void)</p><p><b>  {</b></p><p><b>  uint z=0;</b></p><p>  uc

22、har a=0;</p><p><b>  P3=0xff;</b></p><p><b>  bell=1;</b></p><p><b>  red=1;</b></p><p><b>  while(1)</b></p><

23、;p><b>  {</b></p><p><b>  if(zj==0)</b></p><p><b>  {</b></p><p><b>  //bell=1;</b></p><p>  bell=!bell;</p>&

24、lt;p><b>  red=0;</b></p><p><b>  a=1;</b></p><p>  Delay100us();</p><p><b>  }</b></p><p><b>  else</b></p>&l

25、t;p><b>  {</b></p><p><b>  bell=0;</b></p><p><b>  red=1;</b></p><p><b>  a=0;</b></p><p><b>  }</b></

26、p><p><b>  if(a==zj)</b></p><p>  for(z=0;z<1000;z++)</p><p><b>  {</b></p><p>  bell=!bell;</p><p><b>  red=0;</b><

27、/p><p>  Delay100us();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  3.提示燈旋轉(zhuǎn)程序</b></p&g

28、t;<p>  #include<reg51.h></p><p>  #define uchar unsigned char</p><p>  uchar cycle=100;</p><p>  uchar speed=50;</p><p>  sbit IN1=P2^0;</p><p&

29、gt;  sbit IN2=P2^1;</p><p>  sbit ENA=P2^2;</p><p><b>  void zz()</b></p><p><b>  {</b></p><p><b>  IN1=1;</b></p><p>&

30、lt;b>  IN2=0;</b></p><p><b>  }</b></p><p>  void stop()</p><p><b>  {</b></p><p><b>  IN1=0;</b></p><p><b

31、>  IN2=0;</b></p><p><b>  }</b></p><p>  void t0(void) interrupt 1 using 1</p><p><b>  {</b></p><p>  if(cycle>100)</p><p

32、><b>  cycle=0;</b></p><p>  if(cycle>speed)</p><p><b>  ENA=0;</b></p><p><b>  else</b></p><p><b>  ENA=1;</b><

33、/p><p><b>  cycle++;</b></p><p><b>  }</b></p><p>  void main(void)</p><p><b>  {</b></p><p><b>  EA=1;</b><

34、;/p><p><b>  EX0=1;</b></p><p><b>  IT0=1;</b></p><p>  TMOD=0x02;</p><p><b>  TH0=0x06;</b></p><p><b>  TL0=0x06;&l

35、t;/b></p><p><b>  TR0=1;</b></p><p><b>  ET0=1;</b></p><p><b>  PX0=1;</b></p><p><b>  P1=0Xff;</b></p><p&

36、gt;<b>  while(1)</b></p><p><b>  {</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void int0(void) interrupt 0 using 0&

37、lt;/p><p><b>  {</b></p><p>  switch(P1)</p><p><b>  {</b></p><p>  case 0xfe:zz();break;</p><p>  case 0xfd:stop();break;</p>

38、<p>  default:P1=0xff;break;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  五、系統(tǒng)調(diào)試與仿真</b></p><p><b>  六、心得體會(huì)</b>&l

39、t;/p><p>  這是這一學(xué)期的單片機(jī)課程的最后一次作業(yè),也是最難的一次作業(yè)。前幾次作業(yè)的不用心讓我前幾次作業(yè)的成績并不是特別好,經(jīng)過老師的多次批評(píng)教育以及一些同學(xué)的成果展示,在親眼目睹了自己和同學(xué)的成績之后,我意識(shí)到了我的問題所在,也在老師的批評(píng)下漸漸醒悟了。</p><p>  第五次作業(yè)才算是我認(rèn)真完成的第一次作業(yè),而作為本學(xué)期最后一次作業(yè)的這次大作業(yè),我更是頗為重視,查閱資料,參考

40、書本,詢問同學(xué),研究程序。因?yàn)閷?duì)匯編語言依然不夠了解,所以我選擇了C語言來進(jìn)行編程。從選擇原件、設(shè)計(jì)電路到編寫程序,每一個(gè)環(huán)節(jié)我都認(rèn)認(rèn)真真,在最后運(yùn)行成功的那一刻,真的有一種成就感油然而生。</p><p>  從第一次用單片機(jī)點(diǎn)亮一盞燈開始,到能夠循環(huán)點(diǎn)亮一串燈,現(xiàn)在回想起來那時(shí),真的的點(diǎn)亮了我的人生,點(diǎn)亮了我人生路上前進(jìn)的明燈,好比在夜晚漆黑的太平洋上漂泊著忽然看見了空中的北斗星。</p>&l

41、t;p>  從能夠循環(huán)點(diǎn)亮一串燈,到用串口驅(qū)動(dòng)數(shù)碼管,我完成了一次又一次的作業(yè)。這其中不乏有借鑒同學(xué)的地方,也有不用心之處,但是其實(shí)每一次作業(yè)完成的那一刻,我都會(huì)在內(nèi)心燃起一絲絲的喜悅。</p><p>  和許多同學(xué)一樣,在這次大作業(yè)的設(shè)計(jì)的過程中我遇到了很多的困難,因?yàn)橹暗膶W(xué)習(xí)并沒有太努力,沒有下那么多的功夫,所以對(duì)知識(shí)的掌握和理解有很多不到位的地方,甚至有許多地方的知識(shí)是不連貫的,需要重新去學(xué)習(xí)。但

42、是功夫不負(fù)有心人,我最終還是克服了這些困難,親手設(shè)計(jì)完成了這次大作業(yè)的任務(wù)。紙上得來終覺淺,絕知此事要躬行。而這次作業(yè)設(shè)計(jì)則是很大程度地鍛煉了我的獨(dú)立思考與設(shè)計(jì)的能力,也讓我有機(jī)會(huì)把所學(xué)的東西與實(shí)際生活聯(lián)系在一起。</p><p>  比如這次大作業(yè),我就設(shè)計(jì)了一套電子答題系統(tǒng),就是在多次參加和舉辦學(xué)生活動(dòng)的過程中所看所想的,而這門課程則給了我把這一想法仿真出來的機(jī)會(huì)。我設(shè)計(jì)的這套電子答題器一共有8個(gè)按鈕和一組單

43、刀多擲開關(guān),通過對(duì)單刀多擲開關(guān)的調(diào)節(jié)將正確選項(xiàng)與相應(yīng)的按鈕相匹配,8個(gè)按鈕中有7個(gè)選擇按鈕和一共復(fù)位按鈕。最終實(shí)現(xiàn)的效果是按下相應(yīng)的按鍵顯示相應(yīng)的選項(xiàng)數(shù)字,當(dāng)選中正確答案時(shí)系統(tǒng)發(fā)出正確提示音并亮起旋轉(zhuǎn)提示燈,當(dāng)按下復(fù)位鍵時(shí)數(shù)字顯示為0,同時(shí)提示燈停止運(yùn)轉(zhuǎn)。這套電子答題器可以用于選擇題的自動(dòng)判斷,也可以用來作為抽獎(jiǎng)游戲的抽獎(jiǎng)器,有著很好的學(xué)習(xí)性和娛樂性,可以廣泛地應(yīng)用于各種現(xiàn)場(chǎng)活動(dòng)中。</p><p>  張老師一

44、直強(qiáng)調(diào)“工具先行”,果不其然,在學(xué)習(xí)一門知識(shí)之前,首先掌握學(xué)習(xí)這門課程所需要的所有工具,這樣在學(xué)習(xí)這門課程時(shí)有會(huì)有“工具”來幫助我們理解所學(xué)的知識(shí),更好更快更加直觀地把所學(xué)的知識(shí)全部展現(xiàn)出來,讓我們能夠更快地把所學(xué)的知識(shí)吸收,并融會(huì)貫通。這種學(xué)習(xí)的方法讓我受益匪淺,雖然我前半段的單片機(jī)學(xué)習(xí)并沒有其他同學(xué)那樣用心,但是即便如此,我所掌握的知識(shí)也是很快,相比較其他專業(yè)的同學(xué)也掌握得更加深刻。我想,這應(yīng)該就是“工具先行”的威力所在吧。所以我也

45、希望,張老師能夠把“工具先行”這一理念傳達(dá)給其他的老師,并在大學(xué)的高等教育中推廣開來。</p><p>  我知道多年以來,張老師都是孤獨(dú)地探索著教育之道,早年的經(jīng)歷和現(xiàn)在的成果給了您莫大的財(cái)富和啟迪,讓您想要把我們帶離這種優(yōu)哉游哉得過且過的墮落現(xiàn)狀,避免我們?cè)僦氐改母厕H,多走彎路。經(jīng)過多年的深入的課程教學(xué)改革研究、探索研究和實(shí)踐,終于在不久前創(chuàng)建出了一套效果十分顯著的全新全異的教學(xué)模式——“能力驅(qū)動(dòng)課程教學(xué)模

46、式”,在提高了課堂教學(xué)和教學(xué)質(zhì)量的同時(shí),成為了解決中國高等教育現(xiàn)存問題的一種解決方案。</p><p>  所以我很榮幸能夠遇見張老師,能夠上這一門課,也在上學(xué)期跟著張老師和學(xué)長學(xué)姐們參加了挑戰(zhàn)杯的研究,真的讓我覺得受益匪淺。張老師以大愛之心鑄就教育之魂,對(duì)我們盡心盡力,對(duì)教育盡職盡責(zé),讓我們?cè)谔岣吣芰Φ耐瑫r(shí)充滿了自信,收獲了知識(shí),也收獲了成長。</p><p>  非常感謝張老師,感謝張

溫馨提示

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

評(píng)論

0/150

提交評(píng)論