時間:2023-06-05 09:58:38
開篇:寫作不僅是一種記錄,更是一種創造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇單片機設計,希望這些內容能成為您創作過程中的良師益友,陪伴您不斷探索和進步。
中圖分類號: S611 文獻標識碼: A 文章編號:
一、引言
在開發單片機系統時,可以用計數法作為初次測量頻率的主程序,然后根據測量結果選擇二次精確測量應選用兩種方法中的那種,計數法和周期法能夠比較容易的計算出被測量的頻率,適合一般的應用,但是由于單片機本身執行指令需要時間,因而采用以上兩種方法測量都存在誤差,要的精確的測量結果必須根據所用單片機性能參數在程序中補償,這里不再討論。頻率計由AT89C51、信號予處理電路、串行通信電路以及測量數據的顯示電路還有系統軟件所構成的,在當中信號的予處理電路包含了波形變換、波形整形以及分頻電路。信號的予處理電路當中的放大器所實現的是對待測信號的一個放大的功能,能夠降低對待測信號的幅度的一個要求,波形的變換和整形電路實現將正弦波樣的一個正負交替的號波形轉換成為能夠被單片機所接受的一個信號,分頻電路所用于擴展的單片機的頻率測量范圍并且通過實現單片機頻率測量以及周期測量使用統一的一個輸入的信號。系統軟件有測量初始化的模塊、顯示的模塊以及信號頻率測量的模塊等等。
二、頻率的測量在單片機設計中的相關處理方法
以AT89C51單片機作為我們頻率計的核心,通過它內部的一個定時計數器來進行對待測信號周期的一個測量。在89C51當中有2個16位的定時器,它們都是通過編碼來進行事先定時、計數以及產生計數溢出中斷要求的這一功能。在構成定時器的時候,每一個機器的周期加上一,然后這樣就能夠使得機器周期作為一個基準從而來測量出一個時間的間隔。然而在構成計數器的時候,就應當在相應的外部引腳發生一個從一到零的一個跳變時計數器加一,這樣計數的閘門就能夠在門的控制之下用來測量待測信號的一個頻率。在外部輸入每個周期進行采樣一次,這樣就能夠檢測出從一到零的跳變至少要兩個周期,所以說最大的計數速率是時鐘頻率的二十四分之一。
定時器的工作通過相應的一個運行的控制位進行控制,當控制為一時,那么定時器就要開始計數了,當控制位為零時,那么就停止計數。設計的時候還要綜合考慮到頻率測量的精度以及測量反應時間的一個要求。譬如說當要求的頻率測量結果是3位的有效數字,那么這個時候如果說待測的信號是1Hz的話,那么計數閘門的寬度就必須大于1000s。也是為了能夠照顧到測量精度以及測量時間的需要,因此就將測量工作分成了兩種方法進行。也就是說當待測信號的頻率大于100Hz的時候,定時器也就成為了一個計數器,當以機器的周期為基準的時候,就通過軟件產生一個技術閘門,這個時候當然要滿足頻率測量的結果是為三位的,如果技術閘門的寬度大于了一秒,那就表示為合格了。然而當待測信號的頻率小于了100Hz的時候,也就構成了定時器,通過頻率計的予處理電路將待測信號轉換成了一個方波信號,當方波的寬度同待測信號的周期相等的時候,那么方波就作為了計數的一個閘門,也就是說當待測信號的頻率等于了100Hz的時候,那么使用12MHz時鐘的時候,最小的計數值就是10000,這樣以來就能夠完全滿足到測量精度的一個要求。在當使用技術方法來實現頻率測量的時候,此時外部的待測信號就是計數源,通過軟件延時的程序能夠實現計數閘門。
三、頻率的測量在單片機設計系統硬件
在系統硬件的設計方面,必要介紹的一個就是信號的予處理電路:該電路是由四級的電路所構成,第一級通常是為零偏置的放大器,在當輸入信號時零或者是負電壓的時候,三極管是一個截止的狀態,輸出的信號為高電平,在當輸入的信號時正電壓的時候,三極管才導通,輸入的電壓會隨著電壓的上升而下降著。零偏置放大器將正弦波樣的正負交替波形轉換成為了一個單向的脈沖,這樣就能夠使頻率計不僅能夠測量方波的信號,而且還能夠測量正弦波信號的一個頻率。并且三極管所采用的開關三極管能夠保證放大器有著良好的高頻的響應。在第二級上所采用的是一個帶施密特觸發器的反相器7414,它能夠將放大器生成的單相的脈沖轉換成為同電平相互兼容的一個方波。
在顯示電路上面所要采用的是靜態的顯示方式。頻率測量結果通過譯碼,然后通過89C51的串行口送出。串行口工作于模式0,即同步移位寄存器方式。這時從89C51的RXD(P3.0)輸出數據,送至串入并出移位寄存器74164的數據輸入口A和B;從TXD(P3.1)輸出時鐘,送至74164的時鐘輸入口CP.74164將串行數據轉換成并行數據,進行鎖存。74164輸出的8位并行數據送至8段LED,實現測量數據的顯示。使用這種方法主程序可不必掃描顯示器,從而單片可以進行下一次測量。這種方法也便于對顯示位數進行擴展。
四、設計系統軟件設計數據處理過程
在頻率計開始工作,或者完成一次頻率測量,系統軟件都進行測量初始化。測量初始化模塊設置堆棧指針(SP)、工作寄存器、中斷控制和定時/計數器的工作方式。定時器/計數器的工作首先被設置為計數器,用于測量信號的頻率。在計數的定時器/計數器0寄存器,運行控制位TR1,開始計數的抽樣信號。計數閘門采用軟件延時程序實現,從最小值計數閘門,是從大范圍的啟動頻率測量。清末0計數閘門TR,停止計數。16米的寄存器的值以10進制數的轉換程序轉換成10進制數。確定在10進制數的位置,如果數字不是0有效位元,滿足測量數據,測量和距離信息顯示模塊;如果該位為0,計數閘門寬度擴大10倍,對計數信號,直到滿足要求的數據的有效位數。完成周期測量信號,需要做一個交互操作獲取信號的頻率。然后對其處理浮點運算,接收到的信號的頻率與浮點格式表示的值。浮點數到BCD碼轉換模塊,通過浮點格式表達式值的顯示格式轉換成本頻率計的信號頻率,發送到顯示模塊顯示信號的頻率值。該頻率計是需要完成的周期頻率轉換,以確保測量結果的準確性,這里應用點算法。轉換過程的周期,頻率轉換,包括:3字節固定浮點浮點運算和浮點數到BCD碼。由于通過多次的轉換精度,整個轉換過程是不是很高,通過測量,精度約為2/1000.
五、結語
在電子技術中,頻率是最基本的參數之一,并且與許多電參量的測量方案、測量結果都有十分密切的關系,因此頻率的測量就顯得更為重要。為了實現智能化的計數測頻,實現一個寬領域、高精度的頻率計,一種有效的方法是將單片機用于頻率計的設計當中。頻率是最基本的參數之一,并且與許多電參量的測量方案、測量結果都有十分密切的關系,因此頻率的測量就顯得更為重要。在單片機和數字電路中,經常需要測量脈沖個數、脈沖寬度、脈沖周期、脈沖頻率等參數。利用單片機內部高穩定度的標準頻率源和定時/計數器,可方便地測量信號的頻率和周期,實現計數器和頻率計的功能。本文所介紹的頻率計的設計方法,所制作的頻率計需要器件較少,適宜用于嵌入式系統。該頻率計應用周期測量和相應的數學處理實現低頻段的頻率測量,因此很容易擴展實現信號的周期測量和占空比測量。相信在投入使用過程當中一定能夠取得良好的應用效果。
參考文獻:
關鍵詞:單片機 模糊控制 電熔焊機 設計 應用
中圖分類號:TM7 文獻標識碼:A 文章編號:1674-098X(2014)01(a)-0065-01
該文就基于單片機技術和模糊控制技術的電熔焊機的設計及應用情況進行簡單的分析和探討,從而更好的強化電熔焊機在焊接領域中的應用地位,促進和推動電熔焊機更好的發展。
1 電熔焊機的設計原理
基于單片機和模糊控制的電熔焊機其設計系統主要是由溫度檢測電路、繼電器控制電路、單片機、獨立式按鍵盤、LCD顯示器、雙向晶閘管、掃描器、鍵盤接收電路等設備部件構成的。它的工作原理主要是利用對系統加熱來實現的。因此,在電熔焊機的整個系統設計中,溫度控制是其中最為關鍵的核心環節。只有將溫度控制設計的科學、恰當,才能在焊接操作過程中,運用溫度檢測電路對實際的施工場地溫度情況進行科學、準確的檢測,并利用聚乙烯管道接頭上的條形碼所示溫度進行PID模糊運算,而后推算出合適的溫度控制量,在經過進一步的系數修正后,確定最終的加熱時間,從而將電熔焊機的溫度調節到最為適宜的溫度,進而有效提高焊接操作的質量和效率。在整個加熱過程中,單片機進行加熱時間和電壓的自動調節,LED顯示器進行加熱時間的倒計時顯示。當時間顯示為0時,系統會自動進行斷電操作,從而完成焊接任務。其電熔焊機的加熱操作過程如圖1所示。
2 電源控制設計
電熔焊機的工作過程是以電力為動力保障的,因此,其對電源的控制設計非常的重要。在單片機和模糊控制電熔焊機的電源設計中,其繼電器和芯片的電源采用的是LM2576(單片降壓型開關穩壓器)。這種開關穩壓器具有較強的電流輸出驅動能力以及工作效率,從而能夠更好的保障電熔焊機控制系統在運行過程中的可靠性和穩定性,進而確保了電熔焊機的正常、運行工作。
3 環境溫度檢測設計
單片機和模糊控制電熔焊機在運行時的溫度設定同其所處的實際施工現場環境溫度具有較高的關聯性,通常情況下,電容焊機對施工環境的溫度要求在-30~50 ℃之間。在單片機和模糊控制電熔焊機的溫度檢測設計中,采用了AD590型傳感器作為外部環境溫度的傳感器。這是因為AD590型傳感器屬于一類半導體型的傳感器,它同其他型號的熱電阻和傳感器比較,避免了線性化問題的出現,在設計和工作過程中,不需要進行微弱信號和電橋放大器的輸入,也不需要實行冷端補償操作,能夠選擇相應不同的工作電壓,使得設定溫度同輸出電流之間形成完整的線性關系,從而有效縮小了測量的范圍。AD590型傳感器是一種低溫傳感器,它的操作過程是采用抗恒高阻流源形式實現輸出,并在不影響電流輸出的情況下降低傳輸線的電壓,從而更好的實現遠距離電壓的傳輸。之后,利用轉換器保持和采集輸入的模擬信號,并將之轉變成相應的數字信號,從而更加準確的測量外部環境的溫度情況。
4 信息保持和顯示設計
單片機和模糊控制電熔焊機在信息數據保存顯示設計中,采用LCD顯示器作為數據顯示工作,不僅使操作人員能夠直觀、實時的獲取系統溫度及加熱時間情況,還方便了操作人員對電熔焊機的使用操作。設計人員將電熔焊機的單片機同LCD顯示器連接起來,并采用相應的計算機軟件進行焊接數據編程,使其在LCD顯示器上能夠直觀、清晰的顯示出設置溫度、當前溫度、加熱時間、系統菜單等相應信息,便于人員的隨機觀察和操作調整。同時,在機器操作面板上設置清晰的LED指示燈,使操作人員能夠通過LED指示燈的亮滅或顏色及時的檢查和判斷電熔焊機系統的實際運行情況,從而使操作人員能夠更好的進行焊接作業。此外,LCD顯示系統還能夠將焊接工作過程中的一些需要長久保存的數據進行完善、系統的保存(通常是存入相應的儲存卡),以便于相關操作人員的查看和核對。
5 模糊控制設計
在單片機和模糊控制電熔焊機中,模糊控制技術能夠有效的避免外部環境因素對系統計算的影響,并降低了對精確數學模型的依賴性。在系統工作過程中,模糊控制技術主要是通過模糊推理以及模糊化計算等操作將所輸入的數字量利用輸入的隸屬函數變換成模糊數據變量,從而尋找出相對的隸屬度。而模糊推理的運行則是根據相關的控制規則,在模糊概念的基礎上實現相關的數據計算推理。這也是電熔焊機中模糊控制系統器的關鍵性核心內容。也就是說,電熔焊機中的模糊控制系統是通過變量中的相應關鍵詞等模糊變量進行數字量的邏輯轉換,從而實現同精確控制相同效果的模糊控制。在電熔焊機模糊控制系統的實際運行過程中,操作人員要依照實際焊接工作的具體要求調整相應的PID模糊參數,以便于得到更為滿意的焊接成果。
6 結語
隨著社會經濟的不斷發展以及人們生活水平的不斷提高,電熔焊機在各行各業中的應用和推廣也越來越廣泛。因此,設計人員要不斷加強基于單片機技術和模糊控制技術的電熔焊機的設計和應用,從而更好的推動和促進單片機和模糊控制電熔焊機在焊接領域中的應用和發展。
參考文獻
[1] 楊曉玲,朱群雄.基于單片機和模糊控制的電熔焊機設計及應用[J].儀器儀表學報,2008(7).
[2] 葛洪軍,鄭國華,李萍.基于單片機的木材干燥窯溫度模糊控制器的設計方法[J].黑龍江工程學院學報,2013(3).
[3] 陳星,甘方成.基于單片機模糊控制技術在恒壓供水中的應用[J].科技廣場,2009(10).
【關鍵詞】單片機 程序設計 有效 策略
單片機是一門理論與實踐相結合的綜合學科,在傳統的單片機程序設計中,一般只是為傳遞一些總線、地址、數據、中斷和串行通信口等抽象的理論知識,對于實踐卻很少實施,由此工作人員便會在不理解的前提下對單片機程序設計產生一種畏懼心理,加之,工作人員本身的專業知識不夠扎實,學起來非常困難。為了進一步提高工作人員單片機程序設計的能力,提高單片機工作人員專業水平,單片機程序設計師們必須根據工作人員和實踐各方面特點對單片機設計方法和策略進行改革和創新,以能夠使基礎薄弱的工作人員也能夠很好的掌握單片機程序設計方法和應用。
1 加強單片機程序設計的實踐分析
一般來說,初上崗位的工作人員在思維方式上更偏向于形象思維,對于編程設計等這些抽象的理論知識而言,工作人員卻顯得力不從心。為此,應該在工作過程中抓住這一特點,將理論知識融入到實踐教學中去,讓工作人員在自我摸索中、實踐中了解單片機程序設計知識,由此激發工作人員的學習興趣,提高工作人員的積極性。
例如,在指令系統和匯編語言程序實踐中,工作人員可以在首先將基本理論知識了解清楚,然后對工作人員的操作仿真軟件加以強化訓練,讓工作人員在不斷的操作中深刻理解指令系統和匯編語言程序的具體操作技巧和應用價值,做到會編輯程序、會匯編原程序等。
再如,工作人員可以在訓練操作中了解指令,從而確保工作人員應用指令的能力。單片機的指令系統共有111條,助記符共有42種,尋址方式有7種,如果這些內容僅僅由教師來逐條講解和介紹,工作人員不僅難以理解,還有可能無法認真研究,這樣只能導致適得其反的效果。因此,為了讓工作人員更有興趣的認真了解指令系統,工作人員應該被安排學生在軟件平臺上操作,按照相應的匯編語言程序命令格式對不同的指令程序進行編輯,使用“仿真器”對單片機的真實狀態進行仿真,經過反復練習和操作之后,工作人員必然會對各種程序格式、指令格式、指令助記符和尋址方式等產生深刻的印象。
2 單片機設計必須要理論與實踐相結合
單片機技術實際上是一種硬件與軟件相結合的綜合技術,在設計的過程中,工作人員只有根據單片機程序設計的特點,堅持理論與實踐并重和相互穿插滲透的原則,才能充分而全面提高工作人員單片機技術的綜合應用能力。
首先,設計人員應該在實踐之前,對實踐內容進行必要的篩選。由于單片機的相關理論較為抽象和深奧,硬件內容優勢交錯滲透的,所以在篩選實踐內容時應始終堅持夠用原則,在參照經典應用實例的基礎上,將實踐內容分為若干個知識模塊,以能夠滿足技能訓練和基本應用所需要的理論知識支撐。在篩選實踐內容過程中,設計人員應該從工作人員的單片機的初級性、基礎性和工具性的角度出發,刪除單片機系統擴展與開發技術等章節的內容,加強基本應用理論教學,為設計人員后續逐步提高單片機理論打下良好的基礎。
其次,在匯編語言程序設計中,設計人員應該盡量采用靈活多變的方法促進編程能力的提高。例如,設計人員可以采取指令更換的方法對選擇的不同的指令完成同一功能的要求;采取參數改變法,對相關參數進行修改,定時器或技術器工作方式等都可以采用參數改變法;采用地址變更的方法,對中斷源、中斷入口地址和相關標志位等進行變更等。
最后,在實踐教學中巧妙的插入理論知識,加強對工作人員理論知識應用能力的培養。例如,設計人員在指導中應用模塊試驗時,應該提前將中斷的來源、中斷控制的方法、中斷請求、中斷響應、終端服務等及其相關理論知識點講解給學生,讓試驗過程中通過硬件和軟件兩方面分析中斷應用,從而提升分析問題和解決問題的能力。
3 創新單片機設計的方法
針對單片機程序設計的特點,工作人員在進行教學時可以采用一些創新型的方法來提高工作人員對學習單片機程序設計課程的興趣。
3.1 討論法
提高工作人員對單片機設計的興趣和充分發揮積極性和主動性都是非常重要的環節,而單片機程序設計作為一題多解的學科,更需要充分調動工作人員的主動性和創新思維。工作人員在采用討論法的過程中,可以依照提問、答辯、論證、反駁和判斷等程序,讓工作人員圍繞一個知識點進行討論,以達到工作人員之間、師生之間相互啟發、相互協作去分析問題、發現問題、解決問題和總結經驗的教學目的。
3.2 分組法
注重培養團隊精神,以競求進上機編程實踐是學好程序設計語言的關鍵但在上機實踐過程中工作人員如果各自為戰,或在設計人員的統一指揮下以完成不同題型的任務為實踐內容,對于工作人員而言很容易失去上機興趣,也很難達到上機實踐的目的 因此,針對工作人員的特點,適當轉變上機實踐的形式也不失為一種好的方法。
4 結束語
伴隨著市場對單片機的需求不斷擴大,單片機程序設計在社會中得到了廣發的應用,為此,單片機設計公司對單片機程序設計越來越重視。為了迎合社會的需求,在單片機程序設計過程中,應該在吸收傳統優秀經驗的基礎上,不斷創新方法,提高設計質量,從而培養出更多社會適應性單片機程序設計人才。
參考文獻
[1]黃貞,李俊雄,周朱武.Proteus軟件在單片機實驗教學中的應用[J].中國教育技術裝備,2009(09).
[2]周紅明,張萍珍.項目教學法在"單片機應用"教學中的實踐[J].科教文匯(上旬刊),2009(04).
[3]周靈彬,張靖武.PROTEUS的單片機教學與應用仿真[J].單片機與嵌入式系統應用,2008(01).
關鍵詞:LabVIEW 溫度采集 串口 單片機 DS18B20
中圖分類號:TP277 文獻標識碼:A 文章編號:1007-3973(2013)009-134-02
1 引言
環境溫度監測在工農業生產、科研、工作和生活中占有重要地位。溫度監測儀器的功能和質量對于溫度測試的結果有著很大影響,因此開發高性能的溫度監測儀是十分必要的。本文基于虛擬儀器技術設計了一個溫度監控系統。
2 下位機設計
本系統采用STC89c52單片機作為下位機,利用DS18B20溫度傳感器實時檢測環境溫度,計算機機作為上位機,二者通RS- 232串口接收或發送數據和指令。
2.1 溫度采集部分
溫度傳感器采用單總線方式的集成溫度傳感器DSl8B20,它的測量范圍從-55℃到+125℃,可以滿足常用的環境溫度檢測需要,同時它能在1s內將周圍環境溫度信號轉化為單片機能識別的數字信號。DSl8B20與單片機的P10口相連。電路原理圖如圖1所示。
2.2 串口通訊模塊
下位機與上位機之間利用RS- 232實現串口通訊,由于單片機和PC機之間電平不匹配,所以需要用MAX232芯片進行電平轉化。如圖2所示。
2.3 下位機軟件設計
下位機的軟件由C語言編寫,主要包括DS18B20的讀取和串口通訊兩個部分,串口通訊主要采用中斷方式,波特率為9600,測溫單元主控單片機串口工作方式為1。下位機工作流程圖如圖3所示。
3 基于LabVIEW的上位機設計
本系統上位機采用虛擬儀器技術,即用NI公司的LabVIEW軟件進行模塊化編程,實現環境溫度的數據采集、處理、顯示、存儲等功能。LabVIEW通過VISA串口驅動程序和單片機進行通訊,采集溫度數據。上位機軟件設計了豐富的控制旋鈕,可以滿足特定場合的需求,如開始、暫停、上下限設置等。同時本系統還具有良好的人機界面,可以通過溫度計和波形圖的方式實時顯示溫度數據 。儀器前面板如圖4所示。
4 小結
本系統采用模塊化設計思想,主要包括溫度數據采集模塊、溫度上下限設置模塊、溫度數據顯示模塊、數據存儲模塊、報警模塊等,從而實現了環境溫度的監控。同時系統還具有良好的擴展性,可以根據監控需要設置多路溫度數據采集,只需要對程序框圖進行相應修改即可。
參考文獻:
[1] 余成波,胡新宇,趙勇.傳感器與自動檢測技術[M].北京:高等教育出版社,2004:58-65.
關鍵詞:單片機軟面板AT89S51 RS232串行通訊
中圖分類號: TP368.1 文獻標識碼:B
信號發生器的設計和開發,已經有多種類型和款式。傳統的信號發生器各有特點,但它們性格和功能都已固定,并且價格昂貴。然而基于PC的數字信號發生器,可借助PC的豐富資源,通過軟件開發設計出性能優良的儀器,更為重要的是可以根據實際要求,進行二度開發提高,功能升級方便,從而實現了“軟件就是儀器”的現代測試儀器理念。所以這種類型的數字信號發生器無論在功能和實際應用上,都具有傳統信號發生器無法比擬的特點,這使得它的開發和應用具有良好的發展前景。
1 新型數字信號發生器的整機設計
該新型數字信號發生器產生信號類型有正弦波、方波、三角波以及脈沖信號等,頻率和幅度均可調。整機電路包括:數/模轉換電路的單片機最小化設計、信號幅度調理電路、信號電流/電壓及極性轉換電路、單片機與PC機接口電路、單片機時鐘電路、復位電路等。下位機采用AT89S51芯片,D/A轉換采用AD7520LN芯片。通過RS232串行口與PC機進行通信,傳送所設置的信號參數。整機系統電路如圖1所示。
圖1 數字信號發生器電路原理
1.1 數/模轉換的原理
在單片機數/模轉換電路的設計中,做到了電路設計的最小化,即沒用任何附加邏輯器件做接口電路,實現了單片機對AD7520LN轉換芯片的操作。
運用ADG408電子模擬開關和8個精密電阻,構成分壓電路,給AD7520LN轉換芯片的Vref端提供8種不同的參考電壓,用來調理產生信號的幅度,這樣所產生的信號有8種可調輸出電壓范圍。LM324運算放大器電路完成電流/電壓轉換,以及信號極性的轉換。信號產生中,周期和幅度值(peak-peak)的設定至關重要。在系統中,這些參數值在主機界面相應輸入框設定,然后單片機根據這些參數來發生具體的信號。
為了提高A/D轉換精度,設計了一精密穩壓電源模塊,輸出16V直流電壓,這樣提高了AD7520LN的Vref端參考電壓精度。
1.2 RS232接口電路的設計
AT89S51與PC機的接口電路采用芯片Max232。Max232產品是由德州儀器公司(TI)推出的一款兼容RS232標準的芯片。Max232芯片是起到電平轉換的功能,使單片機的TTL電平與PC機的RS232電平達到匹配。串口通信的RS232接口采用9針串口DB9。用定時器T1作波特率發生器。
2 軟件編程
軟件程序主要包括:PC機可視化界面程序、單片機與PC機串口通訊程序、單片機信號發生程序。單片機采用C51語言編程,上位機的操作顯示界面采用VC++6.0進行可視化編程。在串口通信調試過程中,借助“串口調試助手”工具。
2.1 單片機編程
單片機主程序流程如圖2所示、信號發生子程序如圖3所示。單片機系統開發仿真調試借助uVison3集成調試軟件,完成程序的編輯、編譯、仿真,要完全符合AD7520LN的時序規范要求。最后將調試成功而生成的.bin文件編程固化到AT89S51的flash單元中 ,最后實現脫機工作的應用系統板。
2.2 人機界面編程
利用VC++6.0,建立一個基于對話框的MFC應用程序,串口通信采用MSComm控件來實現。PC機界面主程序流程如圖4所示。
VC可視化界面編程中運用了NI公司Measurement Studio6.0控件,實現了輸出信號波形顯示和幅度指示功能。數字信號發生器的操作界面如圖5所示。
3 功能結果
通過實踐運用,軟硬件方案實現了既定功能,整機的各項指標都達到了預定的設計要
求。AD7520LN數/模轉換器件的分辨率為10位,這為整機系統的較高精度提供了保障。整機系統工作穩定可靠,可視化界面顯示正常。
關鍵詞:單片機 電子產品 節能 應用
1、單片機在電動機節能控制中的應用
在電動機運行過程中,大部分時間機器處于輕載或變動負載下,負載一般低于60%的額定負載。電動機節能控制技術成為提高效率的必然要求,整個行業轉向節能裝置的研發。最新電動機節能控制器應運而生,這種節能裝置是附加于不同應用場合的電動機上獲得節能效果的。采用單片機技術,由三端雙向可控硅組成三相調壓電路,是電動機節能裝置中一種新的節能控制器。
單片機節能控制器的節電原理。通常情況下,定子銅損,轉子銅損、鐵損,機械損耗是電動機運行時三種基本損耗。其中定子銅損,轉子銅損、鐵損耗與電動機運行時的電壓與電流的平方成正比。通過降低電機繞組端電壓可以在電動機空載、輕載運行時,起到節約電能之目的。根據對不同元件的調壓設計的節能裝置目前都分為三大類:電抗器調壓,電機定子繞組星三角轉換調壓,雙向晶閘管調壓,這幾種由調壓原理指導設計的節能裝置從穩定性和經濟效益出發,雙向晶閘管調壓的技術被得到的更廣泛的應用。
2、單片機在人際語言互動方面的開發利用
(1)設計初衷。語言是人類特有的通信方式,在漫長的人類社會發展過程中發揮著無可比擬的作用。讓機器“說話”一直是電子技術不斷努力的方向,語言合成是人機語聲通信的一個重要組成部分。近年來,隨著大規模集成電路的發展,多種外圍電路簡單性價比高專用語音處理芯片相繼問世,如uM6101、8P101等。但這些芯片多缺乏“智能”組合合成的能力,有的甚至只能實現簡單的語音錄放功能,因此,應用范圍受到一定的限制。最近一些研發人員利用單片機改造電子鬧鐘的語音自動報時功能在單片機的智能化應用方面邁出了建設性的步伐。
(2)軟件設計原理。波形編碼技術在眾多語音合成編碼方案脫穎而出,讓單片機工作在定時計數方式,當單片機接收到需報時(或整點自動報時,或定鬧時間到)的請求時,壓縮固化在EPROM中的語音數據編碼,單片機就能根據不同應用場合的實際情況,自動組合,調用不同的編碼語音數據,實現語音的“智能”組合合成。電路的工作原理是:根據當前計時值,取出事前經編碼壓縮固化在EPROM中的相應語音數字信號,經解碼組合,送至單片機Pl口作D/A變換,然后經平滑濾波和功放,還原成報時語音。鑒于語音報時電子鬧鐘的詞匯量不大,要求注重語音的合成質量。本系統EPROM中所存貯的語音數據和常用數字聲等音節。獲得相應的語音報時信號,分時調用對應的語音數據。當接收到外部請求脈沖時,單片機按“點”+“分”的組合方式,經解碼送往單片機P,口作D/A變換。
(3)硬件設計原則。降低功耗和降低制作成本節約有限空間、有效布局是總體設計原則,根本出發點是盡量縮短CPU的運行時間,延長待機時間。具體設計時鑒于袖珍型便攜需用干電池供電的特點盡可能多使用80C31和27C256等低功耗CMOS芯片,只在需要報時時才接通功放和DZA等支路的電源,從而使整機靜態工作電源下降到0.6mA,即使兩節普通5號電池,也能滿足將近一個月的供電要求,達到降低功耗的目的。其次是,減少芯片數量,如采用數據和程序存貯器多合為一,實現一芯多用。在此時是將單片機設置成空閑節電運行方式,同時在硬件上采用電子開關。具體措施是:1.將單片機設置成空閑節電運行方式。2.多用中斷方式,少用軟件查詢。3.采用并聯結構的程序散轉方法,減少程序的執行時間。4.充分利用CPU內部的定時/計數器,少用軟件定時、計數。
3、單片機開發在自動報警控制器的應用
(1)自動報警控制器重要性。火災危害自古有之,城市化進程的加快,使火災預防工作已成為保障人民財產安全的重中之重。伴隨電子技術的發展,形成以電子集成電路為代表的防火報警產品。20世紀八九十年代以來,隨著微型計算機的開發利用,出現了以微機為核心的火災報警控制器,它的廣泛安裝與使用,理想的防火報警裝置,使人們對火災的控制能力大大增強,大大降低危害損失。
(2)單片機在設計原理。在開發利用單片機時,應對它的串行通訊口的性能充分加以利用。以微機為核心的火災自動報警控制器最初是晶體管繼電器為分立元件的產品就是很好的例子。通用火災報警控制器的主要心臟部件是MCS51系列單片機,通過它來接收火災探測器的報警信號,經過確認后,發出聲光報警,顯示報警位置,并能發出控制信號啟動消防設備,迅速滅火。另外兼有現場編程、事故廣播、打印、自檢等功能。總線制報警控制器工作時,主要采用火警與故障自動交替巡回檢測技術,控制器不斷地對所有探測器、建筑布線和報警控制器進行故障巡檢,能及時報警,同時,火警信號優于故障信號。可見,從信號的接收到處理,從時,產品不但功能多,體積小,而且形式多樣,既可掛在墻上,又可做成臺式或柜式,操作簡單直觀,總線制報警控制器是利用單片機的串行口進行信號的輸入、輸出。輸入和輸出全部采用二總線,即兩根線,每兩根為一路,每一路可帶127個報警信號,每一報警信號有一地址號,出現故障和火警時,由總線將信號輸入,顯示報警點的地址。這樣只利用單片機本身的串行口,就可帶一百多個報警信號,如果再對其進行擴展,8路就可帶1096個探頭,而從控制器引出的也只有十幾根線。單片機串行口的利用問題:l)設計系統硬件、軟件時,要考慮并行口硬件復雜、軟件簡單、而串行口正好相反的特點,針對不同的控制對象,具體分析,靈活對待;2)要充分認識單片機串行口在控制方面的作用,它不僅僅是與主機通訊的接口,還可以作為信號的輸入、輸出口;3)開發利用單片機時要從整體出發,決不能因某一部分的優化而影響整個控制系統的性能。
關鍵詞 單片機;電子頻率計;多周期同步測量法
中圖分類號TP368 文獻標識碼A 文章編號 1674-6708(2010)31-0250-02
1 數字頻率計簡介
頻率計又稱為頻率計數器,是一種專門對被測信號頻率進行測量的電子測量儀器。數字頻率計具有測頻速度快且測頻精度高而被廣泛使用于科教、軍事、生產等各個領域。目前,數字頻率計的種類以及功能在不斷地完善,實際使用中出現了專用和通用的數字頻率計,它們的基本功能是測量正弦信號、方波信號、三角波信號以及各種周期性變化的非電量。
2 多周期同步測量法簡介
基于傳統的測頻原理如直接法和間接法,它們各有優勢,直接法比較適合用于高頻測量,間接法比較適合對低頻測量,在實際的應用中有很大的局限性。多周期同步測量方法較傳統式測量方法具有較高的測量精度,在真個測頻區能保持恒定的測量精度,適合實際測量的需求。并用單片機作為控制中心來進行控制,比如使用MCS-51系列單片機作為控制中心。MCS-51系列單片機具有數據的存儲運算處理功能以及多個大容量的程序存儲器和多個多功能的I/O通信接口、中斷單元和定時單元、A/D轉換等完善的電路,其功能十分強大,可以將測量的結果用十進制數顯示,使整個測量系統得到極大的優化,不但能使測量系統的響應速度變快,而且能滿足實用的精度要求,方便測量,關鍵的一點是設計成本比較低。基于此種原因,本設計將采用多周期同步測量法,使用單片機作為控制中心設計數字頻率計,利用單片機內部的計數與計時功能對完成信號的測量。
3 基于單片機的數字頻率計的硬件設計
基于單片機的數字頻率計硬件部分大體上可分為單片機主控電路,輸入電路(包括放大電路、整形電路、分頻選通電路、同步電路),顯示電路,以及電源電路。系統總體設計框圖如圖1所示:
圖1系統總體設計框圖
單片機AT89C51具有編程靈活、易調試的特點,而且AT89C51的引腳較多,利于電路的擴展。它集成了CPU,RAM,ROM,定時器/計數器和多功能I/O口等一臺計算機所需的基本功能部件,有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內含兩個外中斷口,兩個16位可編程定時計數器,兩個全雙工串行通信口。其片內集成了4KB的FLASHP EROM用來存放應用程序,這個Flash程序存儲器除允許一般的編程器離線編程外,還允許在應用系統中實現在線編程,并且還提供了對程序進行三級加密保護的功能。AT89C51的另一個特點是工作速度更高,晶振頻率可高達24MHz,一個機器周期僅為500ms,比MCS-51系列單片機快了1倍。
51單片機內部有兩個16位定時/計數器,他們的工作方式可以定義為定時方式或者計數方式,這些分別由定時器控制寄存器和工作方式控制寄存器控制,可以通過軟件設置來實現不同的工作方式。當設置為定時工作方式時,定時器計數單片機內部振蕩器輸入的12分頻后的脈沖,每計數一個機器周期定時器自動加1,知道溢出為止。但設置為計數工作方式時,通過引腳T0(P3.4)和T1(P3.5)對外部脈沖信號計數。當該引腳讀到輸入的信號產生高電平到低電平變化的下降沿時,計數器自動加1。
基于以上優點,基于單片機機設計的數字頻率計,系統的精度比較高,處理測量結果速度是比較快的。
4 基于單片機的數字頻率計的軟件設計
系統的軟件設計主要包括待測信號測量方法及算法程序。系統軟件設計采用模塊化設計方法。整個系統由系統初始化模塊,頻率測量模塊,頻率數據轉BCD 碼模塊,顯示數據處理模塊,頻率數據顯示模塊,定時器中斷服務模塊等各種功能模塊組成(如圖2)。上電后,進入系統初始化模塊,系統軟件開始運行,不斷實時地將所測頻率在液晶模塊上顯示。
圖2系統軟件框圖
多周期同步法設置單片機內部T0為定時器,T1為計數器,對機器周期進行計數。待測信號分別輸入T1端及74LS74的CLK端,此時T0和T1分別受和的控制,和端為同步電路的Q端。開始測量時,單片機P1.0腳被置“1”,在P1.0狀態改變時,fx即CLK端正處于某一周期的高電平或者低電平當中,Q端輸出地狀態不會立即改變,而只能是在CLK的上升沿到時Q端才能把P1.0腳即D端的狀態輸出,此時T0和T1才開始啟動,實現可二者的同步啟動。當定時器溢出時,將P1.0清零,此時觸發器Q端仍維持高電平,fx直到下一個上升沿到來才變為低電平。
5 結論
AT89C51單片機是一種性能優越的單片機,是一種高效的微控制器。為很多嵌入式控制系統提供了一種靈活而優質的設計方案,并且具有很高的性價比。本文了介紹了基于單片機的多周期同步測量法的電子頻率計的設計方案。相比于傳統的電子頻率計的設計,該方案具有諸多的優點。并且系統硬件電路結構簡單,軟件設計容易,具有較高的信號頻率的測量精度。
參考文獻
[1]樓然苗,李光飛.51系列單片機設計實例[M].北京:北京航天航空大學社,2003.
關鍵詞:USB;電壓;多路;可調
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2013)34-7904-04
一定范圍內可調的電壓輸出在很多場合有重要的應用,例如電子器件維修檢測等。手動調節電源電壓輸出的方法很麻煩,精確度低,而且只能輸出少數的幾路電壓,顯然不能滿足快速、精確和多路電壓輸出的要求,為此,設計了本方案,以單片機作為下位機控制D/A轉換器實現電壓的轉換輸出,單片機通過USB接口與上位機電腦通信,接收上位機的命令,實現快速、精確、多路的電壓輸出,而且實現了任意一路電壓可調。
1 硬件電路設計
硬件電路主要包括單片機最小系統、電源模塊、USB接口電路、D/A轉換電路。考慮到應用的實際需求和開發的成本,單片機采用STC89S52,可以在線編程,開發十分方便,晶振頻率為12MHz。
1.1 電源設計
本系統中需要用到的電源有5V、正負10V和正負15V,交流電通過變壓器降壓在經過整流以后,接到穩壓模塊上,輸出各種需要的電壓。7805輸出5V電壓,7810和7910輸出正負10V電壓,7815和7915輸出正負15V電壓。
1.2 USB接口芯片
近年來,隨著計算機技術的快速發展,特別是USB技術的發展,使用USB移動存儲設備變得非常普遍,因此很多USB移動存儲設備接口的芯片推出,例如南京沁恒公司的CH375就是其中之一,在一些需要轉存數據的設備、儀器上被應用了。該文采用CH375做USB接口通信芯片。CH375具有8位數據總線和讀、寫、片選控制線以及中斷輸出,支持HOST主機方式和SLAVE設備方式,是一個USB總線的通用接口芯片,與單片機/DSP/MCU等控制器的連接非常方便。圖2是CH375與單片機的連接示意圖:
1.3 D/A轉換電路
D/A轉換芯片選用DAC8420,具有4個通道,各DAC的地址均由一個16位串行字單獨確定,它由一個12位數據字和一個地址表頭組成。初始化電壓值可通過可編程復位控制CLR,使四個DAC輸出零電平或中間電平。參考電壓范圍是正負10V,能實現電源電壓范圍內的正/負單極性或雙極性信號擺幅,用戶通過設置輸入VREFHI和VREFLO而確定輸出電壓范圍,從而提供極大的設計靈活性。具有12位電壓輸出,三線式串行數字輸入與以10 MHz速率工作的微處理器便可輕松實現接口,只需極少的附加電路即可。該文DAC8420的電源電壓接正負15V,參考電壓接正負10V,可實現-10V~+10V范圍內的電壓可調。為提高輸出的負載能力,可以將輸出電壓接到運放上,接成電壓跟隨器模式。
2 程序設計
2.1 上位機設計
上位機的軟件界面用VC++6.0開發,利用CH375動態鏈接庫提供的函數,編程實現數據的下傳。12路電壓數據存放在文本文件中,單擊“通道數據下傳”,即可將12路電壓數據下傳給單片機。也可以對其中的任意一路進行修改下傳。界面如圖3所示:
2.2 下位機設計
下位機的程序主要有兩個方面的內容,USB接口程序和D/A轉換程序。電腦的下傳數據通過USB接口傳輸給CH375芯片,CH375會輸出一個低電平信號通知單片機,使單片機產生外部中斷,進入中斷以后處理所收到的數據,進而按要求啟動D/A轉換,輸出電壓信號。單片機先初始化USB接口芯片CH375,再開放外部中斷以等待電腦數據下傳。USB初始化如下:
void USB_Init( void ) {
UINT8 i;
#ifdef TEST_USB_FIRST
/* 測試USB與單片機的物理連接是否正常以及是否正常工作,可選操作,通常不需要 */
UINT8 j;
USB_WR_CMD_PORT( CMD_CHECK_EXIST ); /* 測試USB是否正常工作 */
USB_WR_DAT_PORT( 0x55 ); /* 寫入測試數據,任意數據 */
i = ~ 0x55; /* 返回數據應該是測試數據取反 */
if ( USB_RD_DAT_PORT( ) != i ) { /* USB不正常 */
for ( i=80; i!=0; i— ) {
USB_WR_CMD_PORT( CMD_RESET_ALL ); /* 多次重復發命令,執行硬件復位 */
USB_RD_DAT_PORT( );
}
USB_WR_CMD_PORT( 0 );
for ( i=250; i!=0; i— ) for( j=100; j!=0; j— ) Delay2us( ); /* 延時50mS */
}
#endif
三個DAC8420芯片相應的數據傳輸引腳接于相同的單片機引腳,片選端分別連于單片機不同的引腳。函數DAC8420(high,low,channel)是D/A轉換函數,high和low參數分別是輸出到DAC8420芯片的16位串行數字量的高、低8位,其中最高的2位的四種排列分別對應于DAC8420的四個輸出電路,參數channel用于選擇三個DAC8420芯片的片選,程序如下:
sbit DAC8420_LD = P2^5;
sbit DAC8420_CS0 = P2^2;
sbit DAC8420_CS1 = P1^7;
sbit DAC8420_CS2 = P1^6;
sbit DAC8420_SDI = P2^7;
sbit DAC8420_CLK = P2^6;
sbit DAC8420_CLR = P2^4;
sbit DAC8420_CLSEL = P2^3;
void DAC8420(unsigned char high,unsigned char low,unsigned char channel)
{
unsigned char i=0 ,m=0x80;
if(channel==0)
{ DAC8420_CS0=0;
DAC8420_CS1=1;
DAC8420_CS2=1; }
else if(channel==1)
{ DAC8420_CS0=1;
DAC8420_CS1=0;
DAC8420_CS2=1; }
else if(channel==2)
{ DAC8420_CS0=1;
DAC8420_CS1=1;
DAC8420_CS2=0; }
DAC8420_LD=1;
for(i=0;i
{ if(m&high)
DAC8420_SDI=1;
else
DAC8420_SDI=0;
DAC8420_CLK=0;
DAC8420_CLK=1;
m=(m>>1); }
m=0x80;
for(i=0;i
{ if(m&low)
DAC8420_SDI=1;
else
DAC8420_SDI=0;
DAC8420_CLK=0;
DAC8420_CLK=1;
m=(m>>1); }
DAC8420_LD=0; //將數據移入DAC寄存器
DAC8420_LD=1; //寄存器DAC數據保持
DAC8420_CS1=1;
}
3 結束語
本文設計了一種基于USB通信的多路可調電壓輸出系統,電腦控制下位機,可以同時輸出12路-10V~+10V之間的電壓,而且任意一路電壓均可通過上位機調整,電壓精度可達到0.2mV,大大提高了效率和精度,而且操作十分方便。
參考文獻:
[1] 王殊,程卓.基于CH375的嵌入式USB文件加解密系統的設計[J].電子技術應用,2007(8).
[2] 趙曉順,于華麗,王希望,趙建國,劉淑霞.雙模式USB接口芯片CH375在溫濕度測記儀中的應用[J].農機化研究,2007(10).
[3] 張彥,吳昌才,劉暾東,李茂青.基于串行DAC8420芯片的模擬量輸出卡設計[J].工業控制計算機,2006(3).
[4] 呂秋霞.四路輸出D/A轉換器DAC8420及其應用[J].國外電子元器件,2004(8).
[5] 田學穩,劉福華,熊平.基于AT89C52的多路電壓量輸出設計[J].工業控制計算機,2009(11).
[6] 胡家華,徐鵬,鄭昌雨,,梁春陽,寧宇.PL2303單片機串口轉USB口實現串行通信[J].單片機與嵌入式系統應用,2013(4).
[7] 薛建彬,張超,嵇治剛.基于單片機的USB-HOST數據采集儀表設計[J].化工自動化及儀表,2013(1).
關鍵詞:單片機;數字秒表;匯編語言;仿真
中圖分類號:TP368.1文獻標識碼:A文章編號:1009-3044(2012)22-5344-03
Digital Stopwatch Based on AT89C51
GAO Wen-qing, LV Ying-ying
(Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming 650051, China)
Abstract: The article designed a digital stopwatch based on AT89C51.The digital stopwatch used the Assembly language to develop, nixie tube was used to show, and the system was simulated by Proteus and Keil, which was up to the expectation effect.
Key words: singlechip; digital stopwatch; assembly language; simulate
1概述
單片機是一種集成電路芯片,是采用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器或計時器等功能集成到一塊硅片上構成的一個小而完善的微型計算機系統。單片機與編程語言的結合可以快速高效的實現各種功能,該文結合單片機設計實現了一種基于AT89C51單片機的數字秒表。
2系統概述
2.1設計任務
數字秒表設計由單片機AT89C51、數碼管、開關、電阻、電容等部分組成。其功能要求是用AT89C51設計一個2位LED數碼顯示的“秒表”,顯示時間為00-99秒,每秒自動加一。另外還設計了一個“開始”按鍵、一個“復位”按鍵和一個“暫停”按鍵。按“開始”按鍵,開始計數,數碼管顯示從00開始每秒自動加一;按“復位”按鍵,系統清零,數碼管顯示00;按“暫停”按鍵,系統暫停計數,數碼管顯示當時的計數。
2.2總體方案
圖1系統整體設計
系統主要有三部分構成:按鍵控制信號,單片機軟件處理,數碼管顯示。電路運行時,由開關按鍵決定其運行方式,經過單片機內部的程序進行相應的處理,在數碼管上顯示出來。利用12M晶振的一個機器周期為1微秒,通過循環產生1秒時間延遲,掃描單片機中所存放的時間值(可正記時,也可倒計時),并通過輸出顯示在數碼管上。此外,數碼管各段連接了上拉電阻,是為了保證引腳外接的按鍵在未按下時,作為電流負載一直保持引腳為低電平。系統整體設計如圖1所示。
3數字秒表的proteus軟件仿真電路設計
3.1整體仿真電路
Proteus軟件仿真設計如圖2所示。
圖2系統Proteus軟件仿真圖
3.2 AT89C5l單片機和數碼管顯示電路的接口設計
使用動態顯示電路接法,LED燈采用共陽極數碼管,電路中采用P0口輸出,并聯控制兩個數碼管的8個段選控制端,P2.6、P2.7作為分別采用兩個控制LED數碼管的位選控制端,其中P2.6接顯示個位數,P2.7接十位數,P0.0—P0.7對應了兩位數碼管的a,b,c,d,e, f,g。
3.3按鍵控制信號
三個按鍵采用獨立式鍵盤接法,開始按鍵接P3.5,暫停按鍵接P3.6,清零按鍵接P3.7,低電平有效,三個按鍵功能均在子程序中顯示。定時器0中斷程序主要是延時程序。
3.4其他管腳的設計
單片機中的Vss端接地,Vcc端接+5V電源,另外,三極管發射極端也接+5V電源,保證數碼管有足夠的電源供應。
圖3程序設計流程圖
4計時器的軟件程序設計
軟件設計的思路為:在這個復雜的程序中,先根據設計的總體要求劃分出各功能程序模塊,分別確定主程序、子程序以及中斷服務程序結構,并對各程序模塊占用的資源進行統一的調配,最后根據流程圖繪制具體的程序。因此在這個秒表程序中可劃分為主程序、鍵盤控制、秒表計時程序三大模塊。其中主程序完成初始化作用,動態顯示程序,鍵盤控制程序,秒表計時程序等,延時程序由定時器中斷服務子程序構成。
主程序:即初始化程序,用EQU命令首先對三個按鍵進行了定義,規定了堆棧指針和數據指針的首地址,對定時器進行設定,選用定時器0為工作方式1,50ms為定時時間,則要定時1s可以循環20次,設置中斷程序的入口,并開中斷EA,ET0等。
子程序:包括按鍵功能子程序和顯示子程序。按鍵子程序對三個按鍵功能進行設定,其中P3.5口起到開始的功能,P3.6口連接的按鍵可以控制數碼管的進度,P3.7對數碼管數字進行復位,使數碼管清零。三個按鍵均為低電平有效,JB命令先判斷按鍵是否按下,若按下則跳轉到顯示子程序,JNB命令判斷按鍵按下后是否彈起,若彈起來就執行開始、暫停、清零等功能。顯示子程序:定義了P2.6、P2.7兩個位選口,在單片機輸出時,先選擇字位選口,然后在所在的位口上進行字形選擇,選擇要點亮的字形。
中斷程序:中斷程序即定時器延時程序,當中斷來臨時,定時器重新裝入初值,判斷是否循環了20次,若循環20次說明定時器延時到達1s,就進行加一運算。程序設計流程圖如圖3所示。
重要程序段說明:
將0到99的數據通過對10整除和對10求余,將數據的個位和十位分開。
MOV A,R4
MOV B,#10
DIV AB;當前值除以10
MOV 40H,A;得出的商送給十位
MOV 41H,B;得出的余數送給個位
這段程序是將要顯示的數字分別放到兩個數碼管上,使兩個數碼管分別顯示十位和個位數字。
5結論
該文使用AT89C51單片機設計了一款具有計時開始、暫停、復位功能的數字秒表,利用Proteus和Keil軟件進行了仿真及調試,達到了期望的效果。系統結構簡單,抗干擾能力強,具有較好的應用前景。
參考文獻:
[1]李朝青.單片機原理及接口技術[M].北京:北京航天航空大學出版社,2005.
[2]王爽.匯編語言[M].北京:清華大學出版社,2008.
【關鍵詞】數字頻率計;單片機;顯示
1.引言
數字頻率計是直接用十進制碼來顯示被測信號頻率的一種測量裝置。作為一種基礎測量儀器,已在教學、科研、高精度儀器測量、工業控制等領域有較廣泛的應用。
試驗中設計的頻率計測量的頻率范圍在1Hz-10MHz之間。能夠測量任何該頻率段內的周期信號的頻率,延時要小,測量迅速,以十進制數顯示,便于讀數,單位以Hz或KHz顯示,自動轉換單位。
方案1:目前市場上的頻率計多數使用專用計數芯片和數字邏輯電路計數,測量原理圖如圖1所示。
圖1 計數芯片設計頻率計的基本原理
計數芯片是通過外部時鐘電路產生的時間基準信號控制計數器的計數和保持狀態的,計數器的測量精度很大程度上就取決于時間基準信號的精度。其次,要實現量程轉換,需要人為選擇量程,對時鐘電路產生的時間信號分頻得到不同量程所需的時間基準信號,完成一次計數后要對電路產生控制信號送入計數器,使計數器清零以便下一次計數,這使得電路比較復雜。再者,這種專用芯片的價格比較高,就決定了制作的頻率計的成本會很高。基于以上考慮,就否定了這種用計數芯片計數的方法。
方案2:現在單片機的使用比較廣泛,我們可以考慮用單片機設計頻率計。使用單片機設計時通常采用兩種辦法:1)使用單片機自帶的計數器對輸入脈沖進行計數,或者測量信號的周期;2)單片機外部使用計數器對脈沖信號進行計數,計數值再由單片機讀取。這里我們用第一種的直接測頻法。以AT89C2051單片機為核心,利用其內部的定時(計數)器來完成待測信號頻率的測量。單片機的其中一個定時/計數器定時,另一個計數。另外還可以通過軟件編程實現自動換檔,使電路結構大為簡化。
比較以上兩種方案,很容易發現兩者的優缺點:
方案1需要人為選擇量程,電路復雜,專用芯片的價格比較高,制作的頻率計的成本高;
方案2可實現自動換檔,取材方便、電路簡單,制作成本低。
從而確定了使用單片機計數的方案。
2.數字頻率計的基本原理
頻率的定義是單位時間(1s)內周期信號的變化次數。若在一定時間間隔T內測得周期信號的重復變化次數為N,則其頻率為:
F=N/T
所以測頻就是測量單位時間內脈沖個數,則首先就要對輸入信號整形,變換成矩形脈沖,送入計數,計數完成后顯示頻率值。據此,設計原理如圖2所示。
圖2 數字頻率計的基本組成
3.軟件設計
軟件部分主要包括實現選擇對不同分頻信號計數程序、對數據處理程序及顯示程序。為使CPU不把大部分時間用在等待定時/計數結束,數碼管在單片機在計數的同時仍能顯示,就需要采用中斷方式。在主程序中,對定時/計數器設初值并開中斷,運行顯示程序,當T0定時到時產生中斷,在中斷處理子程序中對數據處理,并重新對定時/計數器設初值。由于中斷服務子程序時間非常短,所以視覺上數碼管沒有停止顯示。
具體的工作過程為:
通過軟件設置單片機P1.5和P1.6,即設置了數據選擇器的地址端A和B,選擇對100分頻的信號測頻,清零標記位(25H).0表示選擇100分頻;T1清零,T0定時100MS同時啟動T1計數和T0定時;
定時到時產生中斷,T1停止計數,判斷標記位(25H).0,為零表示單片機對100分頻的信號計數100MS,判斷計數值是否小于5000,(小于5000說明信號未經分頻的頻率值小于5MHz),若大于5000表明信號頻率大于5MHz,信號實際頻率為:計數值×100×10Hz,所以信號頻率值可直接用計數值表示,單位為KHz;
若計數值小于5000,繼續判斷計數值是否小于500(小于500說明信號未經分頻的頻率值小于500KHz),若大于500表明信號頻率在500 KHz-- 5MHz內,這時就沒必要對信號100分頻,只需要10分頻就可以,通過軟件設置單片機P1.5和P1.6,即設置了數據選擇器的地址端A和B,選擇對10分頻的信號測頻,標記位(25H).0置1,標記位(25H).1置1,表示計數值為10分頻的計數,重新把T1清零,T0定時100MS同時啟動T1計數和T0定時,定時到時產生中斷,T1停止計數,判斷標記位(25H).0為1,表示不是100分頻的計數,判斷標記位(25H).1為1表示計數值為10分頻的計數,信號實際頻率為:計數值×10×10Hz,所以信號頻率值為計數值除以10,單位為KHz,實際上可以直接在計數值的左邊第二位加小數點,表示對計數值進行了除以10的處理,設置標記位P1.7為1,表示是分頻的計數,需加小數點,這時需要把所有標記位清零以便下一次計數;
若計數值小于5000也小于500說明信號未經分頻的頻率值小于500KHz,這時就沒必要對信號分頻,通過軟件設置單片機P1.5和P1.6,即設置了數據選擇器的地址端A和B,選擇對不分頻的信號測頻,置1標記位(25H).0清零標記位(25H).1,表示計數值為不分頻的計數,重新把T1清零,T0定時100MS同時啟動T1計數和T0定時,定時到時產生中斷,T1停止計數,判斷標記位(25H).0為1,表示不是100分頻的計數,判斷標記位(25H).1為0,表示計數值不是10分頻的計數,所以計數值為不分頻的計數,信號實際頻率為:計數值×10Hz,所以信號頻率值為計數值乘以10,單位為Hz;但在低頻時,如果信號頻率小于10Hz,計數100MS就無法測量信號頻率,所以這時還有必要重新對T0置數,使其定時1S,T1也重新計數,設置標記位P3.2為0表示計數值是1S的計數,不用對計數值乘10。
由以上分析可知,通過軟件編程就可實現量程的自動轉換。
計數完成后需要對數據處理:
(1)由T1得到的計數值為二進制,需要轉換為十進制才能顯示,可通過軟件編程實現;
(2)進制轉換完后衛壓縮的BCD數,要把壓縮BCD數轉換為分離BCD數。
程序流程圖如圖3、4、5所示。
各子程序流程圖如圖5所示。
4.總結
把已知頻率的標準信號輸入到制作好的頻率計上,觀察頻率計顯示數值發現與標準信號的頻率值存在一定的延遲和差值,這種誤差的產生主要是因為電路中各芯片的延遲和程序中對T0定時和T1計數時間并不是完全相等。但測得值與標準值相差不大,考慮到做模擬電路實驗時用到的頻率范圍及對頻率計的性能要求,在此制作的頻率計完全可以應用在模擬電路實驗中。
注:由于某種原因,在此,設計的程序不予刊發。
參考文獻
[1]童詩白.模擬電子技術基礎[M].北京:高等教育出版社,2002,5.
[2]閻石.數字電子技術基礎[M].北京:高等教育出版社,2004,4.
[3]余家春.PROTEL99SE電路設計使用教程[M].北京:中國鐵道出版社,2003,1.
[4]王廷才.電子線路輔助設計PROTEL99SE[M].北京:高等教育出版社,2004,8.
關鍵詞:工程機械;回轉接頭;試驗裝置;測控系統;設計方案分析
引言
回轉接頭能夠在固定部分及回轉部分之間進行流體輸送,故被我國市場上各種加工業與制造業廣泛地應用[1],如冶金業、機床業、石油業、橡膠業、塑料業及卷煙業等。回轉接頭試驗裝置作為工程機械中的重要部件,對其進行檢測時必須由專門、科學的試驗設備儀器才能完成。但根據現階段國內的工程機械設備情況來看,大部分的檢測設備存在著缺失與較多的問題,不夠成熟與完善,故對工程機械回轉接頭試驗裝置測控系統進行設計,并制定一套科學化、合理化與規范化的設計方案,是工程領域急需思考與探索的問題[2]。
1回轉接頭試驗裝置的整體設計
工程機械回轉接頭試驗裝置由三個部分組成:液壓控制系統、測控系統與驅動回轉系統。其中,液壓控制系統的工作內容有:壓力加載、卸載及保壓回轉接頭的高壓通道及低壓通道。測控系統的工作內容有:采集與處理相關數據。驅動回轉系統的工作內容有:裝夾與回轉接頭。而測控系統內的PLC(可編程邏輯控制器)的工作范圍指:在進行各式工位的測試時,及時切換電磁閥通斷電、啟動與停止高低壓系統的電機設備、正轉與反轉伺服電機設備等。
2回轉接頭試驗裝置的采集與處理數據
2.1數據的采集系統設計
按照回轉接頭試驗裝置的相關要求與性能測試項目,要求在檢測回轉接頭時,主要的參數應該為:回轉接頭低壓通道壓力應當保持為4個,回轉接頭的扭矩與轉速為1個,還應當在高壓通道內保持一定的壓力。在測控系統的整體方面,單片機主要是從各個傳感器方面采集信號,再將信號轉換為數據處理與A/D轉換,然后利用上位機的命令與接收,可將相關的數據進行采集與控制,通過控制器RS-232把數據有效傳到上位機,最終可以實現數據的顯示、采集、打印及保存[3]。
2.2測控系統軟件的設計
1)串口通信協議。目前,大多數的測控系統利用的通信方式主要為:RS-232串口通信,而串口通信協議中規定的上位機主要為LabWindows/CVI,單片機主要為下位機。格式要求:起始位一位、數據位八位、停止位一位以及校驗的累積。因工業環境中存在的干擾因素較多,所以在通信過程中應當使用雙絞線的屏蔽功能,將波特率調低到4800bps,以此可以起到防止數據丟失與誤傳的作用[4]。這樣的通信協議主要是用上位機更好地對下位機的壓力、轉速及扭矩等數據進行命令發送,下位機能更好地將壓力、轉速及扭矩等相關的數據進行傳達。簡單來說,當上位機在向下位機下達數據的命令時,下位機可以受到命令的信號,如果校驗正確,則下位機將會返回給上位機對應的測試數據與信息。反之,如果校驗錯誤,則下位機將及時報告錯誤的信息給上位機。2)數據采集的系統程序。在數據采集的系統程序內,程序對于系統中采集到的壓力、轉速以及扭矩,應當采取循環的掃描方案,對于串口方面應當使用整體的中斷方式。單片機系統應及時對這三方面因素開展循環采集工作。一旦上位機下達命令,便會在串口處出現立即中斷的情況,而單片機系統利用串口來接受命令,根據命令來執行操作。當操作執行完畢后,系統又將繼續進行循環掃描的工作,等到上位機又一次傳達命令后,串口將會再一次出現中斷的情況。
3結語
工程機械回轉接頭試驗裝置測控系統主要采用了單片機,將其當作單片機來采集與處理信息,能夠便于測控系統進一步開拓與延伸。選取PLC當作電氣內部的控制器,一方面可以提高測控系統的穩定度、可靠度和抗干擾能力;另一方面也能充分保障電磁閥得以快速切換的精確度與準確度。筆者主要對回轉接頭試驗裝置的整體設計進行分析,對液壓控制系統、測控系統及驅動回轉系統進行介紹,最后對回轉接頭試驗裝置的采集與處理數據展開研究。
參考文獻:
[1]劉朋,董萬瑩,李永奇,等.中央回轉接頭性能試驗臺的對比研究[J].液壓氣動與密封,2014,34(19307):40-42.
[2]范華志,尹立松,李永奇,等.中央回轉接頭性能試驗系統的設計與開發[J].工程機械文摘,2015(19705):67-69.
[3]宋飚,陳惠明,鄔逵清,等.工程機械回轉接頭出廠檢測系統設計[J].機床與液壓,2012,40(31105):64-66+70.
關鍵詞:單片機;AMPIRE128*64LCD顯示;Proteus
1 引言
隨著社會的發展,越來越多的地方需要應用顯示功能,例如,各種數字顯示儀器中的顯示、廣告屏、數碼產品等。傳統的數碼管顯示已經遠遠不能滿足各行各業的需求。基于單片機LCD顯示是一種用單片機來控制的顯示系統,它不僅能顯示各種數字、字母,還能顯示各種字體的漢字以及一些簡單的圖像和動畫,使用起來極為便利,只要通過對單片機寫入一定的程序來控制LCD的顯示即可完成,根據程序的不同而產生不同效果以滿足各種需求。
本設計采用AT89S52模擬仿真,大致要求為:設計12864液晶顯示與單片機的顯示接口電路,顯示簡單的靜態/動態漢字,圖片以及由多個圖片組成的簡單動畫。
2 硬件電路設計
圖1為總設計框圖。此設計控制系統由AT89S52單片機芯片、LCD顯示電路、電源電路、復位電路、晶體振蕩電路組成。
單片機所使用的電源根據實際需要設計,這里將220v電壓轉變為+5v電壓。圖2為+5V直流電路,如圖2所示,利用橋式整流電路將220v電壓降壓整流,然后經過電容濾波,LM7805穩壓電路,最后轉為+5v直流電壓。穩壓二極管VD3的作用有兩個:一個是降低集成穩壓電路7805(U1)的輸入電壓;二是防止總線斷電時,電容C5上所存儲的電荷向總線釋放。電容C8、C9是濾波電容,7805是+5V的集成穩壓電路,C10、C11是去耦電容,發光二極管VD4是電源指示燈,R13是VD4的限流電阻。
圖3為振蕩電路圖。單片機內部有一個用于構成振蕩器的高增益反向放大器,引腳XTAL1和XTAL2分別是此放大電器的輸入端和輸出端,由于采用內部方式時,電路簡單,所得到的時鐘信號比較穩定,實際使用中常采用這種方式。
圖4為按鍵與上電復位電路。單片機在啟動運行時,都需要先復位,它的作用是使CPU和系統中的其他部件都處于一個確定的初始狀態,并從這個狀態開始工作。MCS-51系列單片機本身,一般不能自動進行復位,必須配合相應的外部電路才能實現。復位電路的作用就是使單片機在上電時能夠復位或運行出錯時進行復位狀態。
3 結論
本次設計雖然沒有特別的復雜,但是由于初次涉及這樣的設計,沒有任何的經驗,過程還是倍感吃力的。首先就是LCD的選擇,因為之前沒有學習過這樣的器件,算是一個新的概念,所以認識不全,有些不知所措。其次就是軟件的編寫,要得到正確的漢字以及圖片的地址信息,花費了較長時間才找到相匹配的取模軟件。然后研究如何獲取正確的參數,其中圖片的取模就很令我苦惱,最后在老師的輔導下才得以提取正確。程序有了之后,再進行相關的變換,最終得到新穎的效果。
參考文獻
[1] 俞錫存. 單片機原理及接口技術[M].西安:西安電子科技大學出版社, 2004.
[2] 張志良. 《單片機原理及控制技術》(第2版).北京:機械工業出版社, 2005.
[3] 余永權. MCS-51系列單片機實用接口技術[M].北京:北京航空航天大學出版, 1993.
[4] 王守中. 51單片機開發入門與典型實例[M].北京:人民郵電出版社, 2007.
[5] 薛小鈴. 單片機接口模塊應用與開發實例詳解[M].北京:北京航空航天大學出版社, 2010.
[6] 李光飛. 單片機C程序設計實例指導[M].北京:北京航空航天大學出版社, 2005.
[7] 樓然苗. 51系列單片機設計實例[M].北京:北京航空航天大學出版社, 2003.
[8] 李光飛. 單片機課程設計實例指導[M].北京:北京航空航天大學出版社, 2004.
作者簡介
湯文洪,邵陽學院信息工程系電子科學與技術專業學生。