智能儀表綜合課程設計基于單片機的紅外脈沖計數器_第1頁
智能儀表綜合課程設計基于單片機的紅外脈沖計數器_第2頁
智能儀表綜合課程設計基于單片機的紅外脈沖計數器_第3頁
智能儀表綜合課程設計基于單片機的紅外脈沖計數器_第4頁
智能儀表綜合課程設計基于單片機的紅外脈沖計數器_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

摘要計數是一種簡單的基本運算,計數器就是實現這種運算的邏輯電路。計數器在數字系統中主要是對脈沖的個數進行技術,以實現測量、計數和控制的功能。同時兼有分頻功能,計數器是由基本的計數單元和一些控制門所組成,計數單元則是由基本的計數單元和一些控制門組成,計數單元則是由一系列具有存儲信息功能的各類觸發器構成。還有的計數器是通過一些復雜的集成單元比如單片機以及外設構成,以完成顯示、控制等一些復雜的功能帶有傳感器的計數器應用范圍遍布印刷、紡織、印染、針織、電纜、電訊、軍工、輕工、機械、開關、斷路器、礦山、實行多班制的紡織行業的織布機、織帶機、制線、制帶、造紙、制革、薄膜、高壓開關電器產品、試驗設備,印刷設備、短路器、醫療、紡織、機械、倉庫和碼頭的貨運、行人及車輛過往的數量計數、冶金、食品、國防、包裝、配料、石油、化工、發電、機床、儀表、自動化控制等行業。關鍵詞:紅外脈沖計數;1838;AT89C51目錄1紅外脈沖計數器的簡介 1紅外脈沖計數器簡介 1紅外計數器的作用 1本課題的背景和意義 12系統設計簡介 22.1紅外脈沖計數器簡介 22.2設計要求 22.3設計方案論證 22.4硬件設計電路 33.系統硬件設計 5主控制器選擇 5顯示電路 5紅外傳感器簡介 61838紅外傳感器與單片機的接口電路 7時鐘電路 8復位電路 8系統總體電路圖 94設計語言及軟件介紹 104.1C語言介紹 104.2keilC51軟件介紹 115系統軟件設計 125.1概述 125.2系統程序設計模塊 12主程序 12顯示子程序 12中斷子程序 125.3控制源程序 135.3.1C程序 13程序清單 155.4調試及仿真 15結論 18參考文獻 191紅外脈沖計數器的簡介紅外脈沖計數器簡介計數是一種簡單的基本運算,計數器就是實現這種運算的邏輯電路。計數器在數字系統中主要是對脈沖的個數進行技術,以實現測量、計數和控制的功能。同時兼有分頻功能,計數器是由基本的計數單元和一些控制門所組成,計數單元則是由基本的計數單元和一些控制門組成,計數單元則是由一系列具有存儲信息功能的各類觸發器構成。還有的計數器是通過一些復雜的集成單元比如單片機以及外設構成,以完成顯示、控制等一些復雜的功能。紅外計數器的作用計數器的應用范圍也遍布印刷、紡織、印染、針織、電纜、電訊、軍工、輕工、機械、開關、斷路器、礦山、實行多班制的紡織行業的織布機、織帶機、制線、制帶、造紙、制革、薄膜、高壓開關電器產品、試驗設備,印刷設備、短路器、醫療、紡織、機械、倉庫和碼頭的貨運、行人及車輛過往的數量計數、冶金、食品、國防、包裝、配料、石油、化工、發電、機床、儀表、自動化控制等行業。本次設計的目的就是讓我們在理論學習的基礎上,將所學知識運用到實際當中,制作一個以單片機為MCU的計數顯示器件。并使我們了解電子設備在工業中的實際運用,以及工程設計的相關程序。1.3本課題的背景和意義將紅外脈沖信號轉換為可以顯示出來的數值,然后通過顯示單元,如LED、LCD或者電腦屏幕等顯示出來給人觀察。這樣就完成了紅外脈沖計數器的基本計數功能。隨著計數器技術的不斷發展與進步,計數器的種類越來越多,應用的范圍越來越廣,隨之而來的競爭也越來越激烈。過硬的技術也成為眾多生產廠商競爭的焦點之一。廠商為了在競爭中處于不敗之地,從而不斷地改進技術,增加產品的種類。現計數器的種類以增加到:電磁計數器、電子計數器、機械計數器(拉動機械計數器、轉動機械計數器、按動機械計數器、測長機械計數器)、液晶計數器等。 本課題以設計紅外脈沖計數器為目標,采用1838紅外接受管作為傳感器,由單片機對其輸出信號做處理并顯示。2系統設計簡介紅外脈沖計數器簡介紅外脈沖計數器就是對紅外脈沖進行計數,并對當前值進行檢測并作出相應的處理。紅外脈沖計數器具有良好的抗干擾性及穩定性,在生產生活中尤其是在工業自動控制方面具有相當重要的作用。應用范圍也遍布印刷、紡織、印染、針織、電纜、電訊、軍工、輕工、機械、開關、斷路器、礦山、儀表、自動化控制等行業。設計要求1、將計數值準確通過LED數碼管顯示出來2、測量范圍為00-99。設計方案論證方案一:采用多種數字邏輯電路來實現邏輯控制、主門、門控、計數單元的設計要求,這樣設計的電路整體比較復雜,而且不宜完成發揮部分的功能要求。所以方案一不采用。方案二:可以采用FPGA來實現邏輯控制、主門、門控、計數單元的設計要求,并且設計方便,但由于對FPGA的技術原理掌握不夠熟練,所以放棄方案二。方案三:系統采用8051為核心的單片機控制系統,實現原理圖中的邏輯控制、主門、門控、計數的設計要求單片機計數器的方式控制寄存器TMOD中的GATE位=1時,可以很方便的進行INT0引腳的外部輸入信號的時間間隔測量。且單片機的控制電路很容易實現擴展,比如語音模塊、測溫I2C模塊、時鐘模塊、A/D模塊等。故采用方案三。整體設計框圖如圖2.3所示。AT89C51AT89C51主控制器顯示電路時鐘電路顯示電路時鐘電路信號接受電信號接受電路復位電路復位電路圖脈沖計數器總體電路結構框圖硬件設計電路在AT89S51單片機的P3^2引腳,即外部中斷0的入口引腳外接1838的output腳,作為計數的輸入口,用單片機的P0.0-P0.7接一個共陰數碼管的段選,作為0-9的數字顯示,用單片機的P2.0作為共陰數碼管的位選,控制計數器的個位數顯示,用P2.1作為共陰數碼管的位選,控制計數器的十位顯示;硬件電路圖如圖所示:圖數字溫度計設計電路圖圖3-1AT89C51引腳圖VCC:電源電壓;GND:地; 51單片機是對所有兼容Intel8031指令系統的單片機的統稱。該系列單片機的始祖是Intel的8031單片機,后來隨著Flashrom計數的發展,成為應用最廣泛的8位單片機之一。其代表型號是ATMEL公司的AT89系列,它廣泛應用于工業測控系統之中。本課程設計采用的單片機是STC89C52RC,完全兼容8031指令系統,并具有更大的Flashrom。其良好的穩定性及性價比使得它占據著國內51單片機較大的市場。在本任務中用2位數碼管顯示當前數值的十位、個位,由于數碼管個數多,如采用靜態顯示方式,則占用單片機的I/O口線太多,如果用定時器/計數器的串行移位寄存器工作方式及外接串入并出移位寄存器74LS164的方式,則電路復雜。所以,在數碼管個數較多時,常采用動態顯示方式。2位數碼管的相同段并聯在一起,由一個6位I/O(P1口)輸出字形碼控制顯示某一字形,每個數碼管的公共端由另外一個I/O口(P0口)輸出的字位碼控制,即數碼管顯示的字形是由單片機I/O口輸出的字形碼確定,而哪個數碼管點亮是由單片機I/O口輸出的字位碼確定的。2個數碼管分時輪流循環點亮,在同一時刻只有1個數碼管點亮,但由于數碼管具有余輝特性及人眼具有視覺暫留特性,所以適當地選取循環掃描頻率,看上去所有數碼管是同時點亮的,察覺不出閃爍現象。動態顯示方式所接數碼管不能太多,否則會因每個數碼管所分配的實際導通時間太少,使得數碼管的亮度不足。在本任務中,為了簡便,字形碼和字位碼都沒由加驅動電路,在實際應用中應加驅動電路。如圖所示:圖3-2顯示電路紅外傳感器簡介紅外接收電路通常被廠家集成在一個元件中,成為一體化紅外接收頭。內部電路包括紅外監測二極管,放大器,限副器,帶通濾波器,積分電路,比較器等。紅外監測二極管監測到紅外信號,然后把信號送到放大器和限幅器,限幅器把脈沖幅度控制在一定的水平,而不論紅外發射器和接收器的距離遠近。交流信號進入帶通濾波器,帶通濾波器可以通過30khz到60khz的負載波,通過解調電路和積分電路進入比較器,比較器輸出高低電平,還原出發射端的信號波形。注意輸出的高低電平和發射端是反相的,這樣的目的是為了提高接收的靈敏度。一體化紅外接收頭,如圖3-3所示:\o"查看圖片"

圖3-3紅外接收頭紅外接收頭的種類很多,引腳定義也不相同,一般都有三個引腳,包括供電腳,接地和信號輸出腳。根據發射端調制載波的不同應選用相應解調頻率的接收頭。3.4紅外傳感器與單片機的接口電路DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時DS18B20的1腳接地,2腳作為信號線,3腳接電源。另一種是寄生電源供電方式,單片機端口接單線總線,本次采用電源供電方式如圖3-4所示:圖3-41838紅外感器與單片機的接口電路時鐘電路用來提供單片機各種微操作的時間基準。圖3-5時鐘電路復位電路是單片機的片內電路初始化,使單片機從一種確定的狀態開始運行。復位操作通常有兩種基本形式:上電復位、開關復位。此處選擇上電復位,該操作要求接通電源后自動實現復位操作。電容上電后使RST持續一段高電平時間,此處電解電容C3設定參數為10uf,如圖所示:圖3-6復位電路溫度計電路設計原理圖如圖3-7所示,控制器使用單片機AT89C51,溫度計傳感器使用1838紅外接收管,用LED實現溫度顯示。本溫度計大體分三個工作過程。首先,由1838紅外傳感器芯片將接收到的紅外脈沖信號轉換為電信號并將結果送入單片機。然后,通過89C5I單片機芯片對送來的信號進行累計加數,井將此結果送入 LED顯示模塊。由圖3-7可看到,本電路主要由1838紅外感器芯片、和89C51單片機芯片組成。圖3-7系統總體設計圖4設計語言及軟件介紹4.1C語言介紹C語言是一種面向過程的計算機程序設計語言,它是目前眾多計算機語言中舉世公認的優秀的結構程序設計語言之一。它由美國貝爾研究所的D.M.Ritchie于1972年推出。1978后,C語言已先后被移植到大、中、小及微型機上。C語言發展如此迅速,而且成為最受歡迎的語言之一,主要因為它具有強大的功能。許多著名的系統軟件,如DBASEⅣ都是由C語言編寫的。用C語言加上一些匯編語言子程序,就更能顯示C語言的優勢了,像PC-DOS、WORDSTAR等就是用這種方法編寫的。C語言是一種成功的系統描述語言,用C語言開發的UNIX操作系統就是一個成功的范例;同時C語言又是一種通用的程序設計語言,在國際上廣泛流行。世界上很多著名的計算公司都成功的開發了不同版本的C語言,很多優秀的應用程序也都使用C語言開發的,它是一種很有發展前途的高級程序設計語言。1.C是中級語言。它把高級語言的基本結構和語句與低級語言的實用性結合起來。C語言可以像匯編語言一樣對位、字節和地址進行操作,而這三者是計算機最基本的工作單元。2.C是結構式語言。結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便于使用、維護以及調試。C語言是以函數形式提供給用戶的,這些函數可方便的調用,并具有多種循環、條件語句控制程序流向,從而使程序完全結構化。3.C語言功能齊全。具有各種各樣的數據類型,并引入了指針概念,可使程序效率更高。而且計算功能、邏輯判斷功能也比較強大,可以實現決策目的的游戲。4.C語言適用范圍大。適合于多種操作系統,如Windows、DOS、UNIX等等;也適用于多種機型。C語言對編寫需要硬件進行操作的場合,明顯優于其它解釋型高級語言,有一些大型應用軟件也是用C語言編寫的。C語言具有較好的可移植性,并具備很強的數據處理能力,因此適于編寫系統軟件,三維,二維圖形和動畫。它是數值計算的高級語言。4.2keilC51軟件介紹KeilC51是德國KeilSoftware公司(ARM公司之一)出品的51系列兼容單片機C語言軟件開發系統。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(uVision)將這些部分組合在一起。5系統軟件設計5.1概述5.2系統程序設計模塊系統程序主要包括主程序,中斷處理程序和顯示數據刷新子程序等。5主程序主程序的主要功能是負責溫度的實時顯示,主程序流程圖如圖所示。顯示數值顯示數值程序開始顯示數值顯示數值程序開始圖4主程序流程圖5顯示子程序顯示子程序將數字轉換為兩個字符,分別在十位和個位顯示。5中斷子程序進入中斷就說明接收到脈沖,溫度轉換命令子程序圖4.2.2NN進入中斷計數加1計數大于99計數清零返回圖中斷子程序流程圖5.3控制源程序5C程序接收程序:#include<reg51.h>typedefunsignedcharuint8;typedefunsignedintuint16;sbitK2=P3^5;//設置接收引腳/*延時函數*/voiddelay(uint16x){ uint16i,j; for(i=x;i>0;i--) for(j=114;j>0;j--); }codeuint8LED_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//數碼管位碼表uint8Buffer_Counts[]={0,0};//顯示位uint16Count=0;voidShow_Counts(){ Buffer_Counts[1]=Count%100/10;//提取個位 Buffer_Counts[0]=Count%10; //提取十位 P2=0xfe; P0=LED_CODE[Buffer_Counts[0]];

溫馨提示

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

評論

0/150

提交評論