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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  緒 論</b></p><p><b>  摘要:</b></p><p>  單片機(jī)是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器

2、等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。、</p><p>  電子鬧鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì).時(shí),分,秒.數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車站, 碼頭辦公室等公共場(chǎng)所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過(guò)老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自

3、動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。數(shù)字鐘已成為人們?nèi)粘I钪校罕夭豢缮俚谋匦杵?,廣泛用于個(gè)人家庭以及車站、碼頭、劇場(chǎng)、辦公室等公共場(chǎng)所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來(lái)極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使數(shù)字鐘具有走時(shí)準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)點(diǎn),它還用于計(jì)時(shí)自動(dòng)報(bào)時(shí)及自動(dòng)控制的領(lǐng)域。因此,研究數(shù)

4、字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。</p><p>  關(guān)鍵字:C52、單片機(jī)、定時(shí)鬧鐘、電子設(shè)計(jì)</p><p><b>  設(shè)計(jì)目的和要求</b></p><p>  1.1設(shè)計(jì)任務(wù):設(shè)計(jì)一個(gè)可控制的定時(shí)鬧鐘。</p><p><b>  1.2設(shè)計(jì)目的:</b></p>&l

5、t;p>  1.了解定時(shí)鬧鐘的組成及工作原理。</p><p>  2.進(jìn)一步熟悉和掌握單片機(jī)的結(jié)構(gòu)和工作原理。</p><p><b>  1.3設(shè)計(jì)要求:</b></p><p><b>  A.基本要求:</b></p><p>  1).由晶振電路產(chǎn)生1HZ標(biāo)準(zhǔn)秒信號(hào)。</p&g

6、t;<p>  2).秒、分為00-59六十進(jìn)制計(jì)數(shù)器。</p><p>  3).時(shí)為00-23二十四進(jìn)制計(jì)數(shù)器。</p><p>  4).可手動(dòng)校正:能分別進(jìn)行秒、分、時(shí)的校正。只要將開關(guān)置于手動(dòng)位置,可分別對(duì)秒、分、時(shí)進(jìn)行連續(xù)脈沖輸入調(diào)整。</p><p>  5).當(dāng)時(shí)間到達(dá)鬧鐘設(shè)定時(shí)間時(shí),蜂鳴器發(fā)出報(bào)警聲。</p><p

7、><b>  B.提高要求:</b></p><p>  a).通過(guò)按鈕快速切換鬧鐘顯示。</p><p>  b).通過(guò)計(jì)算機(jī)串口在PC上快速設(shè)定時(shí)間鬧鐘</p><p><b>  c).整點(diǎn)報(bào)時(shí)。</b></p><p><b>  系統(tǒng)設(shè)計(jì)</b></p&g

8、t;<p><b>  2.1硬件系統(tǒng):</b></p><p>  2.1.1電源電路:</p><p>  電源是單片機(jī)系統(tǒng)的重要組成部分,它不僅為系統(tǒng)提供多路電壓源,還直接影響到系統(tǒng)的技術(shù)指標(biāo)和抗干擾性能。AT89C51單片機(jī)和一般的數(shù)字芯片一樣,都是5V電壓供電,所以可以共用一個(gè)5V電源。另外,為了提高電源的穩(wěn)定性,在離電源的最近處做好退耦處理,

9、即用一個(gè)47UF和一個(gè)10UF電容,以濾去干擾,保證電源的穩(wěn)定。</p><p>  2.1.2 AT89C51單片機(jī)</p><p>  AT89C51是一種帶4K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。</p><

10、;p>  使用時(shí)VCC接電源,GND接地。P0-P3可作為輸入或者輸出端口。RST接復(fù)位電路。</p><p><b>  2.1.3時(shí)鐘電路</b></p><p>  單片機(jī)的時(shí)鐘產(chǎn)生方法有兩種:內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。本系統(tǒng)中AT89C51單片機(jī)采用內(nèi)部時(shí)鐘方式。最常用的內(nèi)部時(shí)鐘方式是采用外接晶體和電容組成的并聯(lián)諧振回路。振蕩晶體可在1.2MHz~12

11、MHz之間。電容值無(wú)嚴(yán)格要求,但電容取值對(duì)振蕩頻率輸出的穩(wěn)定性、大小和振蕩電路起振速度有少許影響,一般可在20pF~100pF之間取值。</p><p><b>  單片機(jī)的時(shí)鐘產(chǎn)生</b></p><p><b>  、</b></p><p>  2.1.4數(shù)碼管顯示電路</p><p>  要

12、同時(shí)使得6個(gè)數(shù)碼管點(diǎn)亮,所需的IO口是很多的。為了節(jié)省單片機(jī)的IO口,通常采用動(dòng)態(tài)掃描的顯示方法,將每個(gè)數(shù)碼管的同名段連在一起,分6次向數(shù)碼管寫數(shù)據(jù),每次對(duì)6個(gè)數(shù)碼管寫相同的數(shù)據(jù),每次選通一個(gè)數(shù)碼管,完成掃描,通過(guò)調(diào)整、縮短掃描的時(shí)間,由于人眼的視覺暫留作用,使得人們看起來(lái)就像同時(shí)顯示一樣,以達(dá)到動(dòng)態(tài)顯示的目的.</p><p><b>  2.2設(shè)計(jì)原理</b></p>&l

13、t;p>  2.2.1 系統(tǒng)總體方案</p><p>  1)由于要顯示數(shù)字時(shí)間,所以需要6位數(shù)碼管。</p><p>  2)時(shí)間的定時(shí)用時(shí)鐘電路,修改時(shí)間和定時(shí)用手動(dòng)按鍵控制,報(bào)警聲通過(guò)喇叭發(fā)出。</p><p>  3)AT89S52單片機(jī)加上外圍器件(6個(gè)共陰數(shù)碼管,限流電阻和一個(gè)蜂鳴器)和應(yīng)用程序(KEIL編譯軟件),構(gòu)成相應(yīng)的應(yīng)用系統(tǒng)。</p

14、><p>  2.2.2 系統(tǒng)設(shè)計(jì)方框圖</p><p>  2.2.3 軟件設(shè)計(jì)流程</p><p><b>  實(shí)驗(yàn)結(jié)果和討論</b></p><p>  在確立了編程設(shè)計(jì)的基本思路后,我們開始查找相關(guān)的編程資料,然后采用C語(yǔ)言對(duì)軟件設(shè)計(jì)的要求進(jìn)行編譯。一開始進(jìn)展很慢,并且編程過(guò)程中出現(xiàn)個(gè)各種錯(cuò)誤,經(jīng)過(guò)大量時(shí)間的編譯與完

15、善,我們終于逐步完成定時(shí)鬧鐘的軟件設(shè)計(jì)過(guò)程。</p><p><b>  最終程序如下:</b></p><p>  #include<reg51.h></p><p>  #define uint unsigned int</p><p>  #define uchar unsigned char</

16、p><p>  uchar code shu[]={0x3f,0x06,0x5b,0x4f,</p><p>  0x66,0x6d,0x7d,0x07,</p><p>  0x7f,0x6f}; //0~9</p><p>  uchar code shu2[]={0xbf,0x86,0xdb,0xcf,</p&

17、gt;<p>  0xe6,0xed,0xfd,0x87,</p><p>  0xff,0xef}; //帶小數(shù)點(diǎn)0~9</p><p>  uchar code wei[]={0xef,0xdf,0xbf,0x7f,0xf7,0xfb};//數(shù)碼管位選碼</p><p>  uchar x[]={0,0,0,0};</p

18、><p>  uchar y[]={0,0,0,0,0,0};</p><p>  uint hour=12,min,sec,h=22,m=0;</p><p>  uint a,s1=1,s2=1,s3=0,i=0,status=0,num=0,class=0;</p><p>  bit flag=0;</p><p>

19、;  sbit P3_7=P3^7;</p><p>  void delay(uint t); </p><p>  void keyprint(unsigned char key);</p><p>  void display();</p><p>  void timer0();</p><p>  vo

20、id sint()interrupt 4 //串口中斷,實(shí)現(xiàn)PC上快速設(shè)定時(shí)間與鬧鐘</p><p><b>  {</b></p><p><b>  s3++;</b></p><p><b>  s3=s3%4;</b></p><p>  if(RI&&am

21、p;s3==1)</p><p><b>  { </b></p><p><b>  RI=0;</b></p><p>  hour=SBUF;</p><p><b>  }</b></p><p>  if(RI&&s3==2)

22、</p><p><b>  {</b></p><p><b>  RI=0;</b></p><p><b>  min=SBUF;</b></p><p><b>  }</b></p><p>  if(RI&&am

23、p;s3==3)</p><p><b>  {</b></p><p><b>  RI=0;</b></p><p><b>  h=SBUF;</b></p><p><b>  }</b></p><p>  if(RI&a

24、mp;&s3==0)</p><p><b>  {</b></p><p><b>  RI=0;</b></p><p><b>  m=SBUF;</b></p><p><b>  }</b></p><p><

25、;b>  if(!TI)</b></p><p><b>  TI=0; </b></p><p><b>  }</b></p><p>  void delay(uint t) </p><p><b>  {</b></p><

26、;p><b>  uint i;</b></p><p>  while(t--)</p><p>  for(i=0;i<125;i++);</p><p><b>  }</b></p><p>  main() </p><p><b&

27、gt;  { </b></p><p><b>  uchar n;</b></p><p>  uchar input;</p><p><b>  n=0x0f;</b></p><p>  TMOD=0x21; </p><p>  TH0=(65

28、536-5000)/256; </p><p>  TL0=(65536-5000)%256; </p><p><b>  TH1=0xfd;</b></p><p><b>  TL1=0xfd;</b></p><p>  SCON=0x50; </p><p&

29、gt;  PCON=0x00;</p><p><b>  TR1=1;</b></p><p>  IP=0x10; </p><p>  TR0=1; </p><p>  IE=0x92; //開定時(shí)器0,串口中斷</p><p>  while(1)

30、 //鍵掃描程序 </p><p>  { </p><p>  input=P2&0x0f;</p><p>  if(input!=0x0f&&s1==1) </p><p><b>  { </b></p><p>  d

31、elay(10);</p><p><b>  s1=0;</b></p><p>  if(input!=0x0f&&s2==1)</p><p><b>  {</b></p><p>  s2=0; //按住不放</p><p>  n =

32、 input; //n用來(lái)暫時(shí)存放鍵值</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(input==0x0f&&s1==0)</p><p><b>  {</b></p><

33、;p><b>  s1=1; </b></p><p><b>  s2=1;</b></p><p>  keyprint(n);</p><p><b>  n=0x0f;</b></p><p><b>  }</b></p>&

34、lt;p>  if((hour==h&&min==m)||(h!=0&&min==0)) </p><p><b>  {</b></p><p>  if(sec==0)</p><p><b>  P3_7=0;</b></p><p>  if(sec

35、==1)</p><p><b>  P3_7=1;</b></p><p>  if(sec==2)</p><p><b>  P3_7=0;</b></p><p>  if(sec==3)</p><p><b>  P3_7=1;</b><

36、;/p><p>  if(sec==4)</p><p><b>  P3_7=0;</b></p><p>  if(sec==5)</p><p><b>  P3_7=1;</b></p><p><b>  } </b></p>&

37、lt;p><b>  else </b></p><p><b>  P3_7=1;</b></p><p>  if(h>=24) </p><p><b>  h=0; </b></p><p>  display();</p><p>

38、;<b>  }</b></p><p><b>  }</b></p><p>  void keyprint(unsigned char key) //各個(gè)按鍵功能</p><p><b>  { </b></p><p>  if(key==0x0e)</p&g

39、t;<p><b>  {</b></p><p><b>  num++;</b></p><p>  if(num==1) {class=1;}</p><p>  if(num==2) {class=2;num=0;}</p><p><b>  }</b&g

40、t;</p><p>  if(key==0x0d)</p><p><b>  {</b></p><p><b>  status++;</b></p><p>  if(status>=5)</p><p><b>  status=0;</b&g

41、t;</p><p><b>  }</b></p><p>  if(key==0x0b)</p><p><b>  {</b></p><p>  if(status==1)</p><p><b>  {</b></p><p

42、>  if(min<59)min++;</p><p>  else {min=0;hour++;}</p><p><b>  }</b></p><p>  if(status==2)</p><p><b>  {</b></p><p>  if(hou

43、r<23) hour++;</p><p>  else hour=0;</p><p><b>  }</b></p><p>  if(status==3)</p><p><b>  {</b></p><p>  if(m<59)m++;</p&g

44、t;<p>  else {m=0;h++;}</p><p><b>  }</b></p><p>  if(status==4)</p><p><b>  {</b></p><p>  if(h<23) h++;</p><p><b>

45、;  else h=0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void display() //數(shù)碼管數(shù)值顯示函數(shù)</p>

46、<p><b>  {</b></p><p>  uchar d=0;</p><p>  if(class==1||class==0)</p><p><b>  { </b></p><p>  x[0]=hour/10; // 顯示時(shí)的十位</p>

47、<p>  x[1]=hour%10; // 顯示時(shí)的個(gè)位</p><p>  x[2]=min/10; // 顯示分的十位</p><p>  x[3]=min%10; // 顯示分的個(gè)位</p><p>  while(d<4)</p><p><b>  

48、{</b></p><p>  P2=wei[d];</p><p>  P0=shu[x[d]];</p><p><b>  delay(1);</b></p><p><b>  d++;</b></p><p><b>  }</b>

49、</p><p><b>  }</b></p><p>  else if(class==2)</p><p><b>  {</b></p><p>  y[0]=h/10; // 顯示時(shí)的十位</p><p>  y[1]=h%10;

50、 // 顯示時(shí)的個(gè)位</p><p>  y[2]=m/10; // 顯示分的十位</p><p>  y[3]=m%10; // 顯示分的個(gè)位</p><p><b>  d=0; </b></p><p>  if(flag==0)// 每過(guò)0.5s小數(shù)

51、點(diǎn)閃爍一次</p><p><b>  {</b></p><p>  while(d<4)</p><p><b>  {</b></p><p>  P2=wei[d];</p><p>  P0=shu2[y[d]];</p><p>&l

52、t;b>  delay(1);</b></p><p><b>  d++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  else if(flag==1)</p><p>

53、<b>  {</b></p><p>  while(d<4)</p><p><b>  {</b></p><p>  P2=wei[d];</p><p>  P0=shu[y[d]];</p><p><b>  delay(1);</b>

54、;</p><p><b>  d++;</b></p><p><b>  }</b></p><p><b>  } </b></p><p><b>  }</b></p><p><b>  }</b

55、></p><p>  void timer0() interrupt 1 //定時(shí)器0方式1中斷函數(shù)</p><p><b>  { </b></p><p>  uint count;</p><p>  TH0=(65536-5000)/256; // 定時(shí)器0設(shè)置初始值1ms中斷初始值<

56、;/p><p>  TL0=(65536-5000)%256; </p><p><b>  TR0=1;</b></p><p>  count++; //正常計(jì)時(shí)</p><p>  if(count>=100) </p><p><b>

57、  {</b></p><p><b>  flag=1;</b></p><p>  if(count>=200) // 定時(shí) 1S 到,以下為時(shí)鐘的正常走鐘邏輯 </p><p><b>  {</b></p><p><b>  flag

58、=0;</b></p><p><b>  count=0;</b></p><p><b>  sec++;</b></p><p>  if(sec>= 60)</p><p>  { </p><p><b> 

59、 sec=0;</b></p><p>  min++; //秒到60分加一,秒清零</p><p><b>  }</b></p><p>  if(min>= 60) </p><p>  { </p><p><b>  min=0; &

60、lt;/b></p><p>  hour++; //分到60時(shí)加一,分清零</p><p><b>  }</b></p><p>  if(hour>= 24) </p><p><b>  { </b></p><p>  hour=0; //時(shí)到

61、24立即變?yōu)?</p><p><b>  }</b></p><p><b>  } </b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  結(jié)論</

62、b></p><p>  4.1本次課程設(shè)計(jì)的特點(diǎn):</p><p>  本次課程設(shè)計(jì)對(duì)單片機(jī)這么課程的知識(shí)原理要求比較高,具有一定的編程要求。設(shè)計(jì)出的定時(shí)鬧鐘比較貼近生活產(chǎn)品,實(shí)用性計(jì)較強(qiáng),因此達(dá)到了知識(shí)與實(shí)踐相結(jié)合,學(xué)以致用的目的。</p><p><b>  4.2主要貢獻(xiàn):</b></p><p>  讓我

63、們?cè)僖淮紊钊肓私饬藛纹瑱C(jī)的基本知識(shí)和原理,給予我們一定的單片機(jī)設(shè)計(jì)經(jīng)驗(yàn),強(qiáng)化了教學(xué)目標(biāo)。</p><p><b>  4.3心得與體會(huì):</b></p><p>  課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn)、提出、分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程。</p><p>  回顧起此次單片機(jī)課程設(shè)計(jì)

64、,我仍感慨頗多,學(xué)到了很多的東西。同時(shí)不僅鞏固了以前所學(xué)過(guò)的知識(shí),而且還學(xué)到了很多在書本上所沒有學(xué)到過(guò)的知識(shí)。在實(shí)際設(shè)計(jì)中才發(fā)現(xiàn),書本上理論性的東西與在實(shí)際運(yùn)用中的還是有一定的出入的,所以有些問題不但要深入地理解,而且要不斷地更正以前的錯(cuò)誤思維。一切問題必須要靠自己一點(diǎn)一滴的解決,而在解決的過(guò)程當(dāng)中你會(huì)發(fā)現(xiàn)自己在飛速的提升。對(duì)于單片機(jī)設(shè)計(jì),其硬件電路是比較簡(jiǎn)單的,主要是解決程序設(shè)計(jì)中的問題,而程序設(shè)計(jì)是一個(gè)很靈活的東西,它反映了你解決問

65、題的邏輯思維和創(chuàng)新能力,它才是一個(gè)設(shè)計(jì)的靈魂所在。因此可以說(shuō)單片機(jī)的設(shè)計(jì)是軟件和硬件的結(jié)合,二者是密不可分的。</p><p><b>  五.參考文獻(xiàn)</b></p><p>  【1】《C51單片機(jī)技術(shù)教程》 人民郵電出版社</p><p><b>  ——田希輝、薛亮儒</b></p><p>

66、;  【2】《單片機(jī)應(yīng)用技術(shù)選編》 北京航空航天大學(xué)出版社</p><p><b>  ——何立民</b></p><p><b>  六.附 錄:</b></p><p>  1.主要使用軟件:Keil C語(yǔ)言編寫軟件</p><p>  Protues 仿真軟件</p><

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論