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

下載本文檔

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

文檔簡介

1、<p><b>  電子課程設(shè)計報告</b></p><p>  設(shè)計題目:自行車?yán)锍田@示</p><p>  專業(yè): </p><p>  班級: </p><p>  學(xué)號:

2、 </p><p>  姓名: </p><p>  指導(dǎo)教師: </p><p>  設(shè)計時間: 2011.6.7——2011.6.19 </p><p>  題目:自行車?yán)锍田@

3、示</p><p><b>  一、設(shè)計目的</b></p><p>  隨著居民生活水平的不斷提高,自行車不再僅僅是普通的運(yùn)輸、代步的工具,而是成為人們娛樂、休閑、鍛煉的首選。因此,人們希望自行車的功用更強(qiáng)大,能給人們帶來更多的方便。自行車?yán)锍趟俣缺碜鳛樽孕熊嚨囊淮筝o助工具也正是隨著這個要求而迅速發(fā)展的,其功能也逐漸從單一的里程顯示發(fā)展到速度、時間顯示,甚至有的還具

4、有測量騎車人的心跳、顯示騎車人熱量消耗等功能。本設(shè)計采用MCS-51系列單片機(jī)設(shè)計一種體積小、操作簡單的便攜式自行車的速度里程表,它能自動地顯示當(dāng)前自行車行走的距離及運(yùn)行的速度。</p><p><b>  二、設(shè)計要求</b></p><p>  在Proteus中畫出原理圖或使用實物,編制程序,實現(xiàn)以下功能:</p><p>  (1)理解

5、自行車?yán)锍唐鞯墓ぷ髟怼?lt;/p><p> ?。?)以按鍵或者pulse脈沖源作為輸入。編制驅(qū)動程序,使用液晶或者八段發(fā)光字符管顯示當(dāng)前自行車?yán)锍獭?lt;/p><p> ?。?)有清除按鍵,按下該按鍵,從0開始。</p><p><b>  三、方案設(shè)計與論證</b></p><p>  自行車?yán)锍田@示的組成方框圖:<

6、;/p><p>  圖1 系統(tǒng)原理結(jié)構(gòu)圖</p><p><b>  設(shè)計方案如下:</b></p><p>  方案一、使用光敏電阻對里程進(jìn)行測量。將光敏電阻安裝在自行車前叉的一側(cè),在同等高度的另一側(cè)安上一個高亮度的發(fā)光二極管。在同等高度的輻條上貼上一圈黑色材料,并在黑色材料上打上等間距的小孔,這樣當(dāng)小孔經(jīng)過光敏電阻時,光敏電阻根據(jù)光電流的變化發(fā)

7、出脈沖,從而測量里程。 方案二、利用編碼器對車輪的圈數(shù)進(jìn)行測量。將旋轉(zhuǎn)編碼器安裝在車軸上,這樣每當(dāng)車輪轉(zhuǎn)過一定的距離編碼器就會發(fā)出一個脈沖。利用脈沖數(shù)對里程進(jìn)行測量。 方案三、利用霍爾元件對里程進(jìn)行測量。將霍爾元件安裝在車前叉的一側(cè),在車圈側(cè)面等間隔貼多個磁片。當(dāng)磁片經(jīng)過霍爾元件時,霍爾元件輸出端的電壓發(fā)生變化產(chǎn)生脈沖,單片機(jī)根據(jù)脈沖數(shù)來計算里程。</p><p><b>  本設(shè)計采用

8、方案三。</b></p><p>  四、設(shè)計原理和電路圖如下</p><p>  本次里程表的設(shè)計,硬件電路主要由霍爾傳感器電路,里程指示電路,里程數(shù)據(jù)存儲電路,時鐘電路,LED顯示模塊及74LS07驅(qū)動器構(gòu)成。</p><p> ?。?)霍爾傳感器電路</p><p>  霍爾傳感器電路圖如下圖2所示。</p>

9、<p><b>  圖2</b></p><p><b> ?。?)里程指示電路</b></p><p>  霍爾傳感器發(fā)出一個低電平脈沖,里程顯示時四個數(shù)碼管點亮后開始計數(shù),表明電動自行車正在行駛中,一盞指示燈一直閃爍著。電路如圖3所示。</p><p><b>  圖3</b></

10、p><p> ?。?)里程數(shù)據(jù)存儲電路</p><p>  里程數(shù)據(jù)的存儲電路是本次設(shè)計的關(guān)鍵電路,單片機(jī)首先向AT24C01發(fā)送寫信號,當(dāng)確認(rèn)后從單片機(jī)內(nèi)部的數(shù)據(jù)儲存單元提取數(shù)據(jù)然后向AT24C01的內(nèi)部地址傳送數(shù)據(jù)。</p><p>  當(dāng)顯示里程時,單片機(jī)首先向AT24C01發(fā)送讀信號,然后確認(rèn)后,單片機(jī)從AT24C01內(nèi)部的地址向單片機(jī)的讀出單元字節(jié)讀出數(shù)據(jù),供

11、顯示所用。因此,最終可保證掉電時數(shù)據(jù)不丟失。</p><p>  圖4 里程數(shù)據(jù)存儲電路</p><p><b> ?。?)時鐘電路</b></p><p><b>  圖5</b></p><p>  在圖3.4.4-1的電路中,電容器C1和C2對振蕩頻率有微調(diào)作用,通常的范圍:30±1

12、0PF;石英晶體選擇6MHZ或12MHZ都可以。</p><p> ?。?)LED顯示模塊電路及74 LS07驅(qū)動器 </p><p>  LED顯示器采用動態(tài)顯示,用74LS07驅(qū)動共陰極LED數(shù)碼管。LED顯示模塊電路圖,</p><p>  如圖6-1所示。LED數(shù)碼管結(jié)構(gòu)圖,如圖6-2(a),(b)為共陰極型,(c)為共陽極型。</p><

13、;p><b>  圖6-1</b></p><p><b>  圖6-2</b></p><p>  OC門驅(qū)動器用7407,7407 即TTL 集電極開路六正相高壓驅(qū)動器.當(dāng)7407輸出低電平時,沒有電流流過LED,當(dāng)7407輸出為開路狀態(tài)時,電流經(jīng)100限流電阻流入LED顯示器,每個七段LED的公共端都接一個7407驅(qū)動器。</p

14、><p>  7407模型如圖6-3:</p><p><b>  圖6-3 </b></p><p>  7407引腳如圖6-4:</p><p><b>  圖6-4</b></p><p> ?。?)89c52單片機(jī)管腳圖</p><p>  如圖為

15、核心單片機(jī)AT89C52管腳圖</p><p><b>  圖7</b></p><p><b>  五、元件清單</b></p><p><b>  六、硬件制作與調(diào)試</b></p><p>  測速,首先要解決是采樣的問題。使用單片機(jī)進(jìn)行測速,可以使用簡單的脈沖計數(shù)法。只

16、要轉(zhuǎn)軸每旋轉(zhuǎn)一周,產(chǎn)生一個或固定的多個脈沖,將脈沖送入單片機(jī)中進(jìn)行計算,即可獲得轉(zhuǎn)速的信息。常用的測速元件有霍爾傳感器、光電傳感器和光電編碼器。里程測量傳感器的選擇也有以下幾種方案:使用光敏電阻對里程進(jìn)行測量、利用編碼器對車輪的圈數(shù)進(jìn)行測量、利用霍爾傳感器對里程進(jìn)行測量、利用干簧管型傳感器測量里程。</p><p>  光敏電阻對光特別敏感,當(dāng)白天行駛時,外界光源將導(dǎo)致光敏電阻發(fā)出錯誤信號;光敏電阻對環(huán)境的要求相

17、當(dāng)高,如果光敏或發(fā)光二極管被泥沙或灰塵所覆蓋,光敏電阻就不能再進(jìn)行準(zhǔn)確測量;而編碼器必須安裝在車軸上,安裝較為復(fù)雜;霍爾元件或干簧管不但不受天氣的影響,即使被泥沙或灰塵覆蓋也不會有影響,而且安裝方便。所以本設(shè)計采用霍爾元件對里程與速度進(jìn)行測量,既簡單易行,又經(jīng)濟(jì)適用。</p><p>  使用霍爾傳感器獲得脈沖信號,其機(jī)械結(jié)構(gòu)也可以做得較為簡單,只要在轉(zhuǎn)軸的齒輪盤上粘上一粒磁鋼,霍爾元件固定在前叉上,當(dāng)車子轉(zhuǎn)動時

18、霍爾元件靠近磁鋼,就有信號輸出,轉(zhuǎn)軸旋轉(zhuǎn)時,就會不斷地產(chǎn)生脈沖信號輸出。如果在齒輪盤上粘上多粒磁鋼,可以實現(xiàn)旋轉(zhuǎn)一周,獲得多個脈沖輸出。在粘磁鋼時要注意,霍爾傳感器對磁場方向敏感,粘之前可以先手動接近一下傳感器,如果沒有信號輸出,可以換一個方向再試。這種傳感器不怕灰塵、油污,在工業(yè)現(xiàn)場應(yīng)用廣泛。</p><p>  霍爾傳感器是對磁敏感的傳感元件,常用于信號采集的有A44E,該傳感器是一個3端器件,外形與三極管相

19、似,只要接上電源、地,即可工作,工作電壓范圍寬,使用非常方便。A44E的外形如圖7所示。</p><p>  1-Vcc 2-GND 3-OUT</p><p>  圖8 A44E外形圖</p><p><b>  七、設(shè)計總結(jié)</b></p><p>  通過仿真證明本次設(shè)計符合設(shè)計的要求,能實現(xiàn)對里程、速度的顯示

20、,功能性較強(qiáng),具有一定的實踐意義,將會在許多場合應(yīng)用。但也有一些不足存在,當(dāng)顯示速度時,若自行車轉(zhuǎn)動太快,顯示器會顯示過快,應(yīng)該將速度定時顯示,使人們能夠清楚地看出速度。</p><p>  本系統(tǒng)操作簡單,易于實現(xiàn)。硬件部分采用的器件應(yīng)用較廣泛,且價格低廉,如AT89C52單片機(jī)、D觸發(fā)器74LS74、存儲器24C02、驅(qū)動器74LS244等。這就意味著所有的器件功能比較強(qiáng)大、穩(wěn)定。尤其是本次設(shè)計的核心元件AT

21、89C52單片機(jī),軟件技術(shù)成熟,并具有種類齊全的支持芯片。這類微處理器既可用作控制器又適合于做數(shù)據(jù)處理,而且成本也甚是低廉。軟件采用模塊化設(shè)計,可讀性強(qiáng),方便二次開發(fā)。</p><p>  本次設(shè)計電路簡單、低成本,而且能夠滿足人們對高性能、多功能自行車的要求,可在很多里程/速度測量場合使用,具有廣泛的應(yīng)用前景。</p><p><b>  八、參考文獻(xiàn)</b><

22、;/p><p>  [1]《電子技術(shù)課程設(shè)計指導(dǎo)》 彭介華編,高等教育出版社,1997年10月</p><p>  [2]《電子系統(tǒng)設(shè)計》,何小艇等編,浙江大學(xué)出版社,2000年</p><p>  [3]《集成電子基礎(chǔ)教程》,鄭家龍、王小海、章安元編,高教出版社,2002年5月</p><p>  [4]《現(xiàn)代電子學(xué)及應(yīng)用》,童詩白、徐振英編,

23、高等教育出版社,1994年</p><p>  [5]《數(shù)字電子技術(shù)》童詩白編著高等教育出版社 2001年</p><p><b>  附錄1 總體電路</b></p><p><b>  附錄 2 程序清單</b></p><p>  (1)鍵盤掃描部分程序</p><p&g

24、t;  #include<reg52.h></p><p>  #include<math.h></p><p>  #include<stdio.h></p><p>  #include<bin2hex.h></p><p>  #include<intrins.h></p

25、><p>  #include<absacc.h></p><p>  #define uchar unsigned char</p><p>  #define uint  unsigned int </p><p>  Sbit k0=p1.0;</p&g

26、t;<p>  Sbit k1=p1.1;</p><p>  Sbit k2=p1.2;</p><p><b>  keyscan()</b></p><p><b>  {</b></p><p>  If (k0==0)</p><p><b>

27、;  uchar a;</b></p><p>  for(a=255;a>0;a--)               //延時</p><p><b>  {}</b></p>

28、<p>  if(k0==0)                  //有鍵按下</p><p>  measure(); //處理程序</p><p>  else if

29、 (k1==0)</p><p><b>  uchar a;</b></p><p>  for(a=255;a>0;a--)               //延時</p><p&g

30、t;<b>  {}</b></p><p>  if(k1==0)                  //有鍵按下</p><p>  measure();</p><

31、p>  else if (k2==0)</p><p><b>  uchar a;</b></p><p>  for(a=255;a>0;a--)               //延時</

32、p><p><b>  {}</b></p><p>  if(k2==0)                  //有鍵按下</p><p>  measure();&l

33、t;/p><p><b>  main()</b></p><p>  {  while(1)</p><p>  {P0=keyscan();</p><p><b>  while(1)</b></p><p><b>  ;</b>

34、</p><p><b>  }</b></p><p><b>  }</b></p><p> ?。?) 存儲器部分程序</p><p>  <absacc.h></p><p>  #include<reg51.h></p><

35、;p>  #include<intrins.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  #define _Nop() _nop_() /*定義空指令*/</p><p>  sbit scl=

36、P1^1;</p><p>  sbit sda=P1^2;</p><p>  sbit DOG=P1^7; </p><p>  sbit led=P0^7;</p><p>  sbit led_1=P0^3;</p><p>  sbit led_2=P0^4;</p><p>  s

37、bit led_3=P0^5;</p><p>  sbit led_4=P0^6;</p><p>  uint LED1_data,LED2_data,LED3_data,LED4_data,LED_data;</p><p>  uchar code led_segment[12]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0x

38、F8,0x80,0x90,0x0,0xFF};</p><p>  uchar x24c02_read(uchar address);</p><p>  void x24c02_write(uchar address,uchar info); </p><p>  void x24c02_init(); </p><p>  void de

39、lay1(uchar x);</p><p>  void flash();</p><p>  void x24c01_init();</p><p>  void start();</p><p>  void stop();#include</p><p>  void writex(uchar j);</

40、p><p>  uchar readx();</p><p>  void clock();</p><p>  void clrscr(void);</p><p><b>  /*延時程序*/</b></p><p>  void delay1(uchar x)</p><p&

41、gt;  { uint i;</p><p>  for(i=0;i<x;i++);</p><p><b>  DOG=~DOG;</b></p><p><b>  }</b></p><p>  /*E2prom工作指示程序*/</p><p>  void

42、flash()</p><p>  { uchar u;</p><p>  DOG=~DOG;}</p><p>  /*E2prom初始化程序*/</p><p>  void x24c02_init()</p><p>  { scl=1; flash(); sda=1; flash();</p&g

43、t;<p><b>  }</b></p><p>  /*E2prom起始信號程序*/</p><p>  void start()</p><p>  { sda=1; flash(); scl=1; flash(); sda=0; flash(); scl=0; flash();</p><p>

44、<b>  }</b></p><p>  /*E2prom結(jié)束信號程序*/</p><p>  void stop()</p><p>  { sda=0; flash(); scl=1; flash(); sda=1; flash();</p><p><b>  }</b></p&g

45、t;<p>  /*E2prom寫控制程序*/</p><p>  void writex(uchar j)</p><p>  { uchar i,temp;</p><p><b>  temp=j;</b></p><p>  for (i=0;i<8;i++)</p><

46、;p>  {temp=temp<<1; scl=0; flash(); sda=CY; flash(); scl=1; flash();</p><p><b>  }</b></p><p>  scl=0; flash(); sda=1; flash();</p><p><b>  }</b><

47、;/p><p>  /*E2prom讀控制程序*/</p><p>  uchar readx()</p><p>  { uchar i,j,k=0;</p><p>  scl=0; flash(); sda=1;</p><p>  for (i=0;i<8;i++){</p><p&g

48、t;  flash(); scl=1; flash();</p><p>  if (sda==1) j=1;</p><p><b>  else j=0;</b></p><p>  k=(k<<1)|j; scl=0;</p><p><b>  }</b></p>

49、<p>  flash(); return(k);</p><p><b>  }</b></p><p>  /*E2prom時鐘發(fā)生程序*/</p><p>  void clock()</p><p>  { uchar i=0;</p><p>  scl=1; flash(

50、);</p><p>  while ((sda==1)&&(i<255))i++;</p><p>  scl=0; flash();</p><p><b>  }</b></p><p>  /*E2prom讀程序*/</p><p>  uchar x24c02_re

51、ad(uchar address)</p><p>  { uchar i;</p><p>  start(); writex(0xa0);</p><p>  clock(); writex(address);</p><p>  clock(); start();</p><p>  writex(0xa1);

52、 clock();</p><p>  i=readx(); stop();</p><p>  delay1(10);</p><p>  return(i);</p><p><b>  }</b></p><p>  /*E2prom寫地址和內(nèi)容程序*/</p><p&g

53、t;  void x24c02_write(uchar address,uchar info)</p><p><b>  { EA=0;</b></p><p>  start(); writex(0xa0);</p><p>  clock(); writex(address);</p><p>  clock(

54、); writex(info);</p><p>  clock(); stop();</p><p><b>  EA=1;</b></p><p>  delay1(50);</p><p><b>  }</b></p><p><b>  /*延時子程序*/

55、</b></p><p>  void delay(uint v)</p><p>  {while(v!=0)v--;</p><p><b>  }</b></p><p>  void display()</p><p><b>  {</b></p&

56、gt;<p><b>  led=1;</b></p><p><b>  led_1=1;</b></p><p><b>  led_2=1;</b></p><p><b>  led_3=1;</b></p><p><b>

57、;  led_4=1;</b></p><p>  delay(50);</p><p>  P2=LED_data;</p><p><b>  led=0;</b></p><p>  delay(50);</p><p>  P2=led_segment[LED1_data];&

58、lt;/p><p><b>  led=1;</b></p><p><b>  led_1=0;</b></p><p>  delay(50);</p><p>  P2=led_segment[LED2_data];</p><p><b>  led_1=1;&

59、lt;/b></p><p><b>  led_2=0;</b></p><p>  delay(50);</p><p>  P2=led_segment[LED3_data];</p><p><b>  led_2=1;</b></p><p><b&g

60、t;  led_3=0;</b></p><p>  delay(50);</p><p>  P2=led_segment[LED4_data];</p><p><b>  led_3=1;</b></p><p><b>  led_4=0;</b></p><

61、p>  delay(50);</p><p><b>  }</b></p><p><b>  main()</b></p><p><b>  {</b></p><p>  delay(100);x24c02_init(); </p><p>

62、;<b>  while(1)</b></p><p><b>  {</b></p><p>  x24c02_write(0x1,2);</p><p>  LED1_data=x24c02_read(0x1);</p><p>  x24c02_write(0x2,2);</p>

63、<p>  LED2_data=x24c02_read(0x2);</p><p>  x24c02_write(0x3,2);</p><p>  LED3_data=x24c02_read(0x3);</p><p>  LED4_data=3;</p><p>  LED_data=0xFF;</p><

64、p>  display();</p><p><b>  }</b></p><p><b>  }</b></p><p><b> ?。?)顯示部分程序</b></p><p>  #include<reg51.h></p><p>

65、;  #include<intrins.h></p><p>  #include<stdio.h></p><p>  #include<string.h></p><p>  #define UN  unsigned char</p><p>  UN read_1byte();</p&

66、gt;<p>  void  write_1byte(unsigned char x);</p><p>  void WriteToChip(UN a,b);</p><p>  void read(UN h,l,d);</p><p>  void JiaMi51();</p><p>  void JiaMi53

67、();</p><p>  void ck(UN x);</p><p>  void csf();</p><p>  UN  d10[4];</p><p>  void del05s();</p><p>  UN btl_bz;</p><p><b>  UN ic

68、xh;</b></p><p>  unsigned int AllByte;//需讀出的字節(jié)數(shù)不16位</p><p>  sbit    lsledcs =P3^7;</p><p>  void delay();</p><p>  UN zh_adh8252r(UN x);</p>

69、<p>  UN zh_adh8252w(UN x);</p><p>  sfr16 DPTR=0x82;</p><p>  sbit    ACC0=ACC^0;</p><p>  sbit    ACC1=ACC^1;</p><p>  sbit 

70、   ACC2=ACC^2;</p><p>  sbit    ACC3=ACC^3;</p><p>  sbit    ACC4=ACC^4;</p><p>  sbit    ACC5=ACC^5;</p><p>  sb

71、it    ACC6=ACC^6;</p><p>  sbit    ACC7=ACC^7;</p><p>  unsigned char bdata bm;</p><p>  sbit  bm0=bm^0;</p><p>  sbit  bm1=bm^1

72、;</p><p>  sbit  bm2=bm^2</p><p>  sbit  bm3=bm^3;</p><p>  sbit  bm4=bm^4;</p><p>  sbit  bm5=bm^5;</p><p>  sbit  bm6=bm^6</p

73、><p>  sbit  bm7=bm^7;</p><p>  UN data rmem[6]={0xff,0xff,0xff,0xff,0xff,0xff};</p><p>  UN code ledcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,//0-9</p><

74、;p>  0x88,0x83,0xa7,0xa1,0x86,0x8e}</p><p>  void main()</p><p>  {   unsigned int i,j;</p><p><b>  csf()</b></p><p><b>  while(1)</b&

75、gt;</p><p><b>  {</b></p><p><b>  P0=0xff;</b></p><p>  lsledcs=1;</p><p><b>  j=0;</b></p><p>  while(j!=30</p>

76、<p>  {         i=0;</p><p><b>  do{</b></p><p>  P0=ledcode[0];</p><p><b>  P1=0xfe;</b></p><p>&

77、lt;b>  delay();</b></p><p>  P0=ledcode[1];</p><p><b>  P1=0xfd;</b></p><p><b>  delay();</b></p><p>  P0=ledcode[2];</p><p&

78、gt;<b>  P1=0xfb</b></p><p><b>  delay();</b></p><p>  P0=ledcode[3]</p><p><b>  P1=0xf7;</b></p><p><b>  delay();</b><

79、;/p><p><b>  i++;}</b></p><p>  while(i!=10);</p><p><b>  j++;</b></p><p><b>  }</b></p><p><b>  P1=0xff;</b>&

80、lt;/p><p><b>  del05s();</b></p><p>  ///////////////////</p><p><b>  j=0;</b></p><p>  while(j!=30)</p><p><b>  {</b><

81、/p><p><b>  i=0;</b></p><p><b>  do{</b></p><p>  P0=ledcode[4];</p><p><b>  P1=0xfe;</b></p><p><b>  delay();</b

82、></p><p>  P0=ledcode[5];</p><p><b>  P1=0xfd</b></p><p><b>  delay();</b></p><p>  P0=ledcode[6];</p><p><b>  P1=0xfb;<

83、;/b></p><p><b>  delay();</b></p><p>  P0=ledcode[7];</p><p><b>  P1=0xf7;</b></p><p><b>  delay();</b></p><p><b

84、>  i++;}</b></p><p>  while(i!=10);</p><p><b>  j++;</b></p><p><b>  }</b></p><p><b>  P1=0xff;</b></p><p><

85、;b>  del05s();</b></p><p>  ///////////////////</p><p><b>  j=0</b></p><p>  while(j!=30)</p><p><b>  {</b></p><p><b&g

86、t;  i=0;</b></p><p><b>  do{</b></p><p>  P0=ledcode[8];</p><p><b>  P1=0xfe;</b></p><p><b>  delay()</b></p><p>

87、  P0=ledcode[9];</p><p><b>  P1=0xfd;</b></p><p><b>  delay();</b></p><p>  P0=ledcode[10];</p><p><b>  P1=0xfb;</b></p><

88、p><b>  delay();</b></p><p>  P0=ledcode[11];</p><p><b>  P1=0xf7;</b></p><p><b>  delay();</b></p><p><b>  i++;}</b>&

89、lt;/p><p>  while(i!=10);</p><p><b>  j++;</b></p><p><b>  }</b></p><p><b>  P1=0xff;</b></p><p>  del05s();[強(qiáng)力單片機(jī)技術(shù)項目交易網(wǎng)]

90、</p><p>  //////////////////[強(qiáng)力單片機(jī)技術(shù)項目交易網(wǎng)]</p><p><b>  j=0;</b></p><p>  while(j!=30)</p><p><b>  {</b></p><p><b>  i=0;</

91、b></p><p><b>  do{</b></p><p>  P0=ledcode[12];[強(qiáng)力單片機(jī)技術(shù)項目交易網(wǎng)</p><p><b>  P1=0xfe;</b></p><p><b>  delay();</b></p><p&g

92、t;  P0=ledcode[13];[強(qiáng)力單片機(jī)技術(shù)項目交易網(wǎng)</p><p><b>  P1=0xfd;</b></p><p><b>  delay();</b></p><p>  P0=ledcode[14];</p><p><b>  P1=0xfb;</b>

93、</p><p><b>  delay();</b></p><p>  P0=ledcode[15];[強(qiáng)力單片機(jī)技術(shù)項目交易網(wǎng)]</p><p><b>  P1=0xf7;</b></p><p><b>  delay();</b></p><p&

94、gt;<b>  i++;}</b></p><p>  while(i!=10);</p><p><b>  j++;</b></p><p><b>  }</b></p><p>  P1=0xff;[強(qiáng)力單片機(jī)技術(shù)項目交易網(wǎng)]</p><p>

95、<b>  del05s();</b></p><p><b>  P0=0x00;</b></p><p>  P1=0xff;lsledcs=0;</p><p>  del05s();del05s();          lsledcs

96、=1;</p><p><b>  del05s();</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void csf()</p><p><b>  {</b><

97、/p><p>  TMOD=0x20;TH1=0xfd;TL1=0xfd;SCON=0x50;PCON|=0x80;TR1=1;</p><p><b>  EA=1;</b></p><p><b>  delay();</b></p><p><b>  ES=0;</b>&l

98、t;/p><p>  SBUF=0xf0;while(TI==0){;}TI=0;</p><p>  SBUF=0x01;while(TI==0){;}TI=0;</p><p>  SBUF=0x02;while(TI==0){;}TI=0;</p><p>  SBUF=0x03;while(TI==0){;}TI=0;ES=1; 

99、;}</p><p>  /*################################串口*/</p><p>  void surt() interrupt 4</p><p>  {UN surti; unsigned int cc1;</p><p><b>  surti=0;</b></p>

100、<p><b>  RI=0;</b></p><p>  d10[surti]=SBUF;</p><p><b>  do</b></p><p>  {cc1=0xffff;</p><p><b>  surti++;</b></p><

101、;p>  while(RI==0){cc1--;if(cc1==0){goto surtint;}}</p><p>  RI=0;d10[surti]=SBUF;}</p><p>  while(surti!=3);</p><p>  surtint:;ES=1;</p><p><b>  }</b><

102、;/p><p>  [void delay()</p><p>  {unsigned int kk=0xff;</p><p>  do{_nop_();kk--;}</p><p>  while(kk!=0);</p><p><b>  }</b></p><p>  

103、void del05s()</p><p>  {unsigned int kk=0xefff;</p><p>  do{_nop_();kk--;}</p><p>  while(kk!=0);</p><p><b>  }</b></p><p> ?。?) 頻率測量部分程序</p

104、><p>  #include<reg51.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  sbit bita=P3^3;</p><p>  sbit bitb=P3^4;</p

105、><p>  sbit bitc=P3^5;</p><p>  sbit bitd=p3^6;/*四位數(shù)abcd */</p><p>  uint sum=0;/*里程數(shù) */</p><p><b>  uint k=0;</b></p><p>  uint store[7]={0,0,0,0

106、,0,0,0};</p><p>  uchar equal[7]={0,0,0,0,0,0,0};</p><p>  code uchar dispcode[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,</p><p>  0x7d,0x07,0x7f,0x6f};</p><p>  uchar dispbit

107、[3]={0,0,0,0};</p><p>  void disp();</p><p>  void measure();</p><p>  void mdelay(unsigned int Delay);</p><p>  void mlint0() interrupt 0</p><p><b>

108、  { TR0=1;</b></p><p><b>  TH0=0Xe4;</b></p><p><b>  TL0=0x00;</b></p><p><b>  flag=1;</b></p><p><b>  }</b></p

109、><p>  void timer0() interrupt 1</p><p><b>  {</b></p><p><b>  TH0=0xe4;</b></p><p><b>  TL0=0x00;</b></p><p><b>  f

110、lag1=1;</b></p><p><b>  }</b></p><p>  void main()</p><p><b>  {</b></p><p>  uint j=500;</p><p><b>  do</b></

111、p><p><b>  {</b></p><p><b>  EA=0;</b></p><p><b>  P1=0x3f;</b></p><p>  bita=bitb=bitc=bitd=1;/*開機(jī)后顯示全零 */</p><p>  /* md

112、elay(1);</p><p>  /* }while(j--);/*待脈沖穩(wěn)定后再檢測 */</p><p><b>  SP=0x60;</b></p><p><b>  IE=0x83;</b></p><p><b>  IP=0x1e;</b></p>

113、;<p>  TCON=0x05;</p><p>  TMOD=0x01;</p><p><b>  TH0=0xe4;</b></p><p>  TL0=0x00; /*計數(shù)5336 */</p><p><b>  while(1)</b></p><p&

114、gt;<b>  {</b></p><p><b>  disp();</b></p><p>  /* if(flag)*/</p><p>  measure();</p><p><b>  }</b></p><p><b>  }&

115、lt;/b></p><p>  void disp()</p><p><b>  {</b></p><p><b>  uchar k;</b></p><p>  bita=1;bitb=bitc=bitd=0;</p><p>  P1=dispcode[di

116、spbit[0]];</p><p>  for(k=0;k<40;k++);</p><p>  bita=bitc=bitd=0;bitb=1;</p><p>  P1=dispcode[dispbit[1]];</p><p>  for(k=0;k<40;k++);</p><p>  bita=

117、bitb=bitd=0;bitc=1;</p><p>  P1=dispcode[dispbit[2]];</p><p>  for(k=0;k<40;k++);</p><p>  bita=bitb=bitc=0;bitd=1;</p><p>  P1=dispcode[dispbit[2]];</p><

118、p>  for(k=0;k<40;k++);</p><p><b>  }</b></p><p>  void measure()</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p&g

119、t;  if(mlcount==8)</p><p><b>  {</b></p><p><b>  k++;</b></p><p><b>  EA=0;</b></p><p><b>  TH0=0xe4</b></p><

120、p><b>  TL0=0x00;</b></p><p>  If (flag1==1)</p><p>  sum=sun++;</p><p>  dispbit[0]=sum/1000;</p><p>  dispbit[1]=(sum%1000)/100;</p><p>  d

121、ispbit[2]=(sum%100)/10;</p><p>  dispbit[3]=sum%10;</p><p><b>  EA=1;</b></p><p>  /* if(k=7)</p><p><b>  EA=0; */</b></p><p><

122、;b>  }</b></p><p><b>  }</b></p><p>  void mdelay(unsigned int Delay)</p><p>  { unsigned char i;</p><p>  for(;Delay>0;Delay--)</p><

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論