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

下載本文檔

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

文檔簡介

1、<p>  摘要:本設(shè)計使用兩個555定時器,其中一個555定時器搭建為多諧振蕩器,通過電容充放電產(chǎn)生固定周期脈波,作為計波數(shù);同時另一個555定時器搭建成單穩(wěn)態(tài)觸發(fā)器電路,多諧輸出作為單穩(wěn)輸出,輸出外加反鎖作為控制脈波;在固定周期內(nèi)采用74290對計數(shù)波計數(shù),并使用74273鎖存數(shù)據(jù),將數(shù)據(jù)在led上顯示出來,采用直流穩(wěn)壓為系統(tǒng)提供+5和+12的電壓。</p><p>  設(shè)計中使用開關(guān)轉(zhuǎn)換來達(dá)到兩個

2、大量程電容,能夠測量1nF~的電容值;并且系統(tǒng)具有單位功能。</p><p>  關(guān)鍵詞:555定時器,多諧振蕩器,單穩(wěn)態(tài)觸發(fā)器,,鎖存器</p><p><b>  目錄</b></p><p><b>  一、概述3</b></p><p><b>  1.意義:3</b&g

3、t;</p><p>  2.系統(tǒng)主要功能4</p><p>  二、硬件電路設(shè)計及描述4</p><p>  1.方案及設(shè)計思想:4</p><p>  2. 電路原理圖6</p><p><b>  3.芯片資料:8</b></p><p><b>

4、  4.元件清單:9</b></p><p>  三、軟件設(shè)計流程及描述10</p><p>  1.模塊層次結(jié)構(gòu)圖10</p><p>  2、程序流程圖11</p><p>  3、源程序代碼11</p><p><b>  四.總結(jié)18</b></p>

5、<p><b>  概述</b></p><p><b>  1.意義:</b></p><p>  電容,就是容納和釋放電荷的電子元器件。電容的基本工作原理就是充電放電,當(dāng)然還有整流、振蕩以及其它的作用。另外電容的結(jié)構(gòu)非常簡單,主要由兩塊正負(fù)電極和夾在中間的絕緣介質(zhì)組成,所以電容類型主要是由電極和絕緣介質(zhì)決定的。電容的用途非常多,主要

6、有如下幾種:1.隔直流:作用是阻止直流通過而讓交流通過。2.旁路(去耦):為交流電路中某些并聯(lián)的元件提供低阻抗通路。3.耦合:作為兩個電路之間的連接,允許交流信號通過并傳輸?shù)较乱患夒娐?.濾波:這個對DIY而言很重要,顯卡上的電容基本都是這個作用。5.溫度補償:針對其它元件對溫度的適應(yīng)性不夠帶來的影響,而進(jìn)行補償,改善電路的穩(wěn)定性。6.計時:電容器與電阻器配合使用,確定電路的時間常數(shù)。7.調(diào)諧:

7、對與頻率相關(guān)的電路進(jìn)行系統(tǒng)調(diào)諧,比如手機(jī)、收音機(jī)、電視機(jī)。8.整流:在預(yù)定的時間開或者關(guān)半閉導(dǎo)體開關(guān)元件。9.儲能:儲存電能,用于必須要的時候釋放。例如相機(jī)閃光燈,加熱設(shè)備等等。(如今某些電容的儲能水平已經(jīng)接近鋰電池的水準(zhǔn),一個電容儲存的電能可以供一個手機(jī)使用一天。 </p><p><b>  系統(tǒng)主要功能</b></p><p>  通過555定時器芯

8、片的特點,把電容大小轉(zhuǎn)換成555輸出頻率大小,用單片機(jī)對其頻率進(jìn)行測量,這樣就可以得到電容相對大小的一個數(shù)值,調(diào)節(jié)某些電阻的參數(shù),改動單片機(jī)中程序的計算公式,就可以簡單的得到電容的值。</p><p><b>  硬件電路設(shè)計及描述</b></p><p><b>  方案及設(shè)計思想</b></p><p>  設(shè)計要求:

9、數(shù)字電容測量儀</p><p>  1要求測量范圍是100pf到5uf</p><p><b>  1.1方案設(shè)計</b></p><p><b>  設(shè)計原理:</b></p><p>  基于AT89C51單片機(jī)的多諧振蕩電路電容測量</p><p>  主要原理是通過5

10、55芯片來測電容,讓555定時器在直接反饋無穩(wěn)態(tài)的狀態(tài)下,555芯片輸出一定頻率一定頻率的方波,其頻率的大小跟被測電容之間的關(guān)系是:f=0.722/(R*Cx),固定一定的R的大小,就可以確定可測量C的一定范圍,其公式經(jīng)查詢,為f=K/Cx,因此測出f即可。</p><p>  在單片機(jī)中,我們使用單片機(jī)T0中斷端口和中斷INT0配合測量。方法相當(dāng)簡單。</p><p><b>

11、  原理如圖</b></p><p><b>  總原理圖:</b></p><p><b>  555定時器部分</b></p><p><b>  AT89C51部分</b></p><p><b>  晶振部分</b></p>

12、<p><b>  復(fù)位電路</b></p><p><b>  顯示電路:</b></p><p><b>  工作原理</b></p><p><b>  1.9液晶模塊簡介</b></p><p>  LM016L的結(jié)構(gòu)及功能:<

13、/p><p>  LM016L液晶模塊采用HD44780控制器,hd44780具有簡單而功能較強(qiáng)的指令集,可以實現(xiàn)字符移動,閃爍等功能,LM016L與單片機(jī)MCU通訊可采用8位或4位并行傳輸兩種方式,hd44780控制器由兩個8位寄存器,指令寄存器(IR)和數(shù)據(jù)寄存器(DR)忙標(biāo)志(BF),顯示數(shù)RAM(DDRAM),字符發(fā)生器ROMA(CGOROM)字符發(fā)生器RAM(CGRAM),地址計數(shù)器RAM(AC)。IR用于

14、寄存指令碼,只能寫入不能讀出,DR用于寄存數(shù)據(jù),數(shù)據(jù)由內(nèi)部操作自動寫入DDRAM和CGRAM,或者暫存從DDRAM和CGRAM讀出的數(shù)據(jù),BF為1時,液晶模塊處于內(nèi)部模式,不響應(yīng)外部操作指令和接受數(shù)據(jù),DDTAM用來存儲顯示的字符,能存儲80個字符碼,CGROM由8位字符碼生成5*7點陣字符160中和5*10點陣字符32種.8位字符編碼和字符的對應(yīng)關(guān)系,可以查看參考文獻(xiàn)(30)中的表4.CGRAM是為用戶編寫特殊字符留用的,它的容量

15、僅64字節(jié),可以自定義8個5*7點陣字符或者4個5*10點陣字符,AC可以存儲DDRAM和CGRAM的地址,如果地址碼隨指令寫入IR,則IR自動把地址碼裝入A</p><p>  圖4-3 1601引腳圖 </p><p>  LM016L引腳介紹:</p><p>  Vss(1腳):一般接地。</p><p>  Vdd(2腳):接電

16、源。</p><p>  Vee(3腳):液晶顯示器對比度調(diào)整端,接電源時對比度最弱,接地時對比度最高(對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度)。</p><p>  RS(4腳):RS為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器。</p><p>  R/W(5腳):R/W為讀寫信號線,高電平(1)時進(jìn)行讀操作,

17、低電平(0)時進(jìn)行寫操作。</p><p>  E(6腳):E(或EN)端為使能(enable)端,下降沿使能。</p><p>  DB0(7腳):底4位三態(tài)、 雙向數(shù)據(jù)總線 0位(最低位)。</p><p>  DB1(8腳):底4位三態(tài)、 雙向數(shù)據(jù)總線 1位。</p><p>  DB2(9腳):底4位三態(tài)、 雙向數(shù)據(jù)總線 2位。<

18、;/p><p>  DB3(10腳):底4位三態(tài)、 雙向數(shù)據(jù)總線 3位。</p><p>  DB4(11腳):高4位三態(tài)、 雙向數(shù)據(jù)總線 4位。</p><p>  DB5(12腳):高4位三態(tài)、 雙向數(shù)據(jù)總線 5位。</p><p>  DB6(13腳):高4位三態(tài)、 雙向數(shù)據(jù)總線 6位。</p><p>  DB7(

19、14腳):高4位三態(tài)、 雙向數(shù)據(jù)總線 7位(最高位)(也是busy flang)。</p><p>  寄存器選擇控制如表4-1。</p><p>  表4-1寄存器選擇控制</p><p><b>  軟件設(shè)計流程及描述</b></p><p>  3.1 模塊層次結(jié)構(gòu)圖</p><p>

20、  #include<reg52.h> </p><p>  #define uint unsigned int </p><p>  #define uchar unsigned char</p><p>  sbit EN=P2^2; //定義引腳</p><p>  sbit RS=P2^0;</p>

21、;<p>  sbit RW=P2^1;</p><p>  sbit BUSY=P0^7;</p><p>  sbit SOUT = P3^5;</p><p>  sbit FW1=P1^5;</p><p>  sbit FW2=P1^6;</p><p>  sbit FW3

22、=P1^7;</p><p>  int CountFlag=-1,ShowResultFlag=0,FWFlag=0;</p><p>  long int N=1,maxnum=650000; </p><p>  //系統(tǒng)端口操作函數(shù)</p><p>  void Delay(uint o)</p><p>&l

23、t;b>  {</b></p><p><b>  uint i,j;</b></p><p>  for(i = 0; i < o; i++)for(j = 0; j < 100; j++); </p><p><b>  }</b></p><p>  void

24、WaitCheck() // 等待空閑</p><p><b>  {</b></p><p><b>  do{</b></p><p><b>  P0=0xFF;</b></p><p>  RS=0;//選擇指令寄存器 </p><p&g

25、t;  RW=1;//讀 rs rw 值為01時,忙標(biāo)志和地址計數(shù)器讀出</p><p>  EN=0;//E=0,禁止讀寫</p><p>  Delay(1);//等待,液晶顯示器處理數(shù)據(jù)</p><p>  EN=1;//E=1,允許讀寫</p><p>  }while(BUSY==1);//判斷是否為空閑,1為忙,0為空閑</

26、p><p><b>  }</b></p><p>  void WriteCom(uchar com)//給P0寫指令</p><p><b>  {</b></p><p><b>  P0=com;</b></p><p><b>  RS=

27、0;</b></p><p><b>  RW=0;</b></p><p><b>  EN=0;</b></p><p>  WaitCheck();</p><p><b>  EN=1;</b></p><p><b>  

28、}</b></p><p>  void ShowChar(uchar c)//輸入16進(jìn)制數(shù)字碼顯示char</p><p><b>  {</b></p><p><b>  P0=c;</b></p><p><b>  RS=1;</b></p>

29、<p><b>  RW=0;</b></p><p><b>  EN=0;</b></p><p>  WaitCheck();</p><p><b>  EN=1;</b></p><p><b>  }</b></p>

30、<p><b>  //設(shè)置命令</b></p><p>  void SetLinePos(uchar line,uchar pos)//設(shè)置光標(biāo)位置</p><p><b>  {</b></p><p>  if(line==1)WriteCom(0x80|pos);</p><p&

31、gt;  else WriteCom(0xC0|pos);</p><p><b>  }</b></p><p>  void SetCursorStyle(uchar style)//0光標(biāo)左移1光標(biāo)右移</p><p><b>  {</b></p><p>  if(style)Writ

32、eCom(0x04);//光標(biāo)左移</p><p>  else WriteCom(0x06);//光標(biāo)右移</p><p><b>  }</b></p><p><b>  //圖像命令</b></p><p>  void Cls()//清屏光標(biāo)復(fù)位指令</p><p&

33、gt;<b>  {</b></p><p>  WriteCom(0x01);</p><p><b>  }</b></p><p>  void ShowCursor(uchar i)//1顯示不閃爍的光標(biāo) 0禁用光標(biāo)</p><p><b>  {</b></p&

34、gt;<p>  if(i)WriteCom(0x14);</p><p>  else WriteCom(0x12);</p><p><b>  }</b></p><p>  void ShowStr(uchar *c)</p><p><b>  {</b></p>

35、<p>  while((*c)!=0)</p><p><b>  {</b></p><p>  ShowChar(*c);</p><p><b>  c++;</b></p><p><b>  }</b></p><p><

36、;b>  }</b></p><p>  void ShowBitNum(uchar num)//顯示單個正數(shù)</p><p><b>  {</b></p><p>  ShowChar(0x30+num);</p><p><b>  }</b></p><

37、p>  int ShowNumber(long int number)//顯示指定數(shù)字//返回0正常 1表示溢出</p><p><b>  {</b></p><p>  uchar idnumbuf[10]={0};//1為負(fù)數(shù),最大10位整數(shù)</p><p>  int bitbuf;</p><p>  i

38、f(number==0)ShowBitNum(0);</p><p><b>  //顯示正數(shù)</b></p><p><b>  //10位賦值</b></p><p>  for(bitbuf=0;number;bitbuf++)</p><p><b>  {</b>&l

39、t;/p><p>  idnumbuf[bitbuf]=number%10;</p><p>  number/=10;</p><p><b>  }</b></p><p>  for(bitbuf--;bitbuf>=0;bitbuf--)</p><p><b>  {<

40、/b></p><p>  ShowBitNum(idnumbuf[bitbuf]);</p><p><b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  vo

41、id CapOperate() interrupt 0</p><p><b>  {</b></p><p>  if(ShowResultFlag==0)CountFlag*=-1;</p><p>  if(CountFlag==1&&ShowResultFlag==0)</p><p><b

42、>  {</b></p><p>  TR0=1;//Start Timer</p><p><b>  }</b></p><p>  if(CountFlag==-1&&ShowResultFlag==0)</p><p><b>  {</b></p&g

43、t;<p><b>  TR0=0;</b></p><p>  EX0=0;//close interrupt</p><p>  SOUT=0;//Stop Sending Single</p><p>  N=TH0*256+TL0;</p><p><b>  TH0=0;</b&g

44、t;</p><p><b>  TL0=0;</b></p><p>  ShowResultFlag=1;</p><p>  FW1=FW2=FW3=0;</p><p><b>  FWFlag=0;</b></p><p><b>  }</b&g

45、t;</p><p><b>  }</b></p><p>  void Init() //初始化</p><p><b>  { </b></p><p>  EN=1;//使能信號為高電平</p><p>  WriteCom(0x38); //顯示模式設(shè)置<

46、;/p><p>  WriteCom(0x0e); //顯示開,光標(biāo)開,不閃爍</p><p>  WriteCom(0x06); //光標(biāo)右移 文字移動無效</p><p>  WriteCom(0x80); //設(shè)置訪問地址</p><p><b>  //創(chuàng)建定時器</b></p><p> 

47、 IE=0x81;//打開全部中斷控制開啟外部中斷允許</p><p>  TMOD=0x09;//T0為16位工作方式09</p><p>  IT0=1; //外部中斷觸發(fā)方式為脈沖觸發(fā)</p><p><b>  TH0=0x00;</b></p><p><b>  TL0=0x00;</

48、b></p><p><b>  SOUT=0;</b></p><p><b>  }</b></p><p>  void FindSwitch()</p><p><b>  {</b></p><p>  FW1=FW2=FW3=1;<

49、;/p><p><b>  Delay(1);</b></p><p>  if(FW1==0)FWFlag=1;</p><p>  else if(FW2==0)FWFlag=2;</p><p>  else if(FW3==0)FWFlag=3;</p><p><b>  

50、}</b></p><p>  void main()</p><p><b>  {</b></p><p><b>  Init();</b></p><p><b>  while(1)</b></p><p><b>  {

51、</b></p><p>  FindSwitch();//查詢是否允許測量</p><p>  while(FWFlag)//Key Press</p><p><b>  {</b></p><p>  SOUT=1;//start 555 sending single</p><p&

52、gt;  EX0=1;//Start interrupt 0</p><p>  FindSwitch();//查詢哪個量程開關(guān)</p><p>  while(SOUT)//超出等待時間 中斷信號沒來就不進(jìn)入循環(huán)</p><p><b>  {</b></p><p><b>  maxnum--;</

53、b></p><p>  if(maxnum<=0) SOUT=0;</p><p>  if(N<1000)</p><p><b>  {</b></p><p>  SetLinePos(2,0);</p><p>  ShowStr("Error..Check!

54、");</p><p><b>  }</b></p><p>  else if(N>1500000)</p><p><b>  {</b></p><p>  SetLinePos(2,0);</p><p>  ShowStr("CapNum

55、TooBig!");</p><p><b>  }</b></p><p>  else //if(N>500)</p><p><b>  {</b></p><p><b>  //N=N/2;</b></p><p>  SetL

56、inePos(1,0);</p><p>  //ShowNumber(N);</p><p><b>  ///*</b></p><p>  ShowNumber(N/10);</p><p>  ShowStr(" ");</p><p>  ShowNumb

57、er(N%10);</p><p>  if(FWFlag==1)ShowStr("00pf");</p><p>  else if(FWFlag==2)ShowStr("0pf ");</p><p>  else if(FWFlag==3)ShowStr("pf ");</p>

58、<p>  else if(FWFlag==0)ShowStr("-ERR");</p><p>  SetLinePos(2,0);</p><p>  ShowStr("Show Cap Num:");</p><p><b>  //*/</b></p><p>

59、;<b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><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

提交評論