前言:中文期刊網精心挑選了單片機c語言范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。
單片機c語言范文1
【關鍵詞】單片機;延時程序
接觸單片機有一年之久,從基礎知識了解開始,到流水燈、數碼管動靜態顯示,鍵盤到液晶等幾個基本的模塊,編了一些基本的小程序,發現其中最常用的延時程序用C語言編寫也是千變萬化的,不同的程序,不同的用途,精確度不一樣,延時程序也需要有改變。下面就對我所知道的延時的方法談下自己的見解。
總的延時方法通常有兩種:一種為軟件延時,通常采用循環的形式進行;另外一種為硬件延時,用到定時器/計數器,這種方法可以提高CPU的工作效率,并且能相對精確延時。
一、軟件延時與時間計算
軟件延時方式精確度不是很高,但是基本時間可以控制,并且移植性很好。
2.需要多種延時時間。還是8個燈做成流水燈,但是要求第一個燈亮1S,第2個燈亮2S,第三個燈亮3S……最后一個燈亮8S。
3.時間的確定。很多朋友看完我上面講個兩種延時方法可能會說,這樣是方便了,但是上面的時間如何確定呢?你的時間確定圖怎么來的?方法很簡單,利用keil強大的功能實現。比如1S延時
另外還可以用示波器測試時間,需要外接示波器,用proteus畫完連接圖,接上示波器,再調用寫好程序的hex,就可以很清楚的看到延時時間。下面為延時20ms圖。
同時還可以用反匯編工具計算延時時間,匯編時間是很精確的,便于計算的。有興趣的朋友也可以自己上網搜索這兩種方法。對于初學的朋友,我建議還是用這種keil本身的工具比較方便。
二、用定時器/計數器實現精確定時
在很多情況下,需要我們精確定時,那么我們就不能用前面講的調用小的延時子程序delay()來完成。所以就要考慮用精確的定時方式:定時器/計數器。
以上我介紹了對于寫延時程序自己的一些膚淺的見解,在以后的學習中還需要進一步提高。粗略延時用基本的delay(),精確延時用定時/計數器。
單片機c語言范文2
關鍵詞 單片機 C語言 規范性
中圖分類號:G424 文獻標識碼:A DOI:10.16400/ki.kjdkz.2015.08.062
On the C Language Programming Normative in MCU Course
HUANG Xiaofeng
(Advanced Vocational Technical College, Shanghai University of Engineering Science, Shanghai 200437)
Abstract: For "SCM C language programming" teaching in programming problems, he attached importance to guide students in teaching practice modular, standardized program design emphasizes standardized programming for students to understand the structure and function of the program's important role and throughout the Teaching has always been, so that students micro controller applications has been greatly improved.
Keywords: SCM; C language; normative
0 引言
單片機技術課程一直以來作為高職計算機應用、電氣自動化、應用電子技術等專業的主干課程。通過對單片機技術職業崗位需求分析可知,高職畢業生從事與單片機相關的職業技術崗位,主要有硬件測試工程師、軟件測試工程師、硬件設計助理工程師、軟件設計助理工程師等工作崗位。目前高職單片機課程多以MCS51系列為主,學生踏入工作崗位后,會涉及到其他各種類別的單片機,如AVR、MSP430、PIC等。由于軟件編程靈活性強,對邏輯思維能力要求高,在單片機教學中學生普遍反映編程時無從下手,程序調試錯誤百出,面對調試中出現的問題不知如何修改驗證,上機編程的教學實踐過程更多則淪為代碼錄入。本文針對“單片機C語言程序設計”教學中存在的編程困擾,提出在教學實踐中重視引導學生進行模塊化、規范性程序設計,培養學生良好的編程習慣,提高程序的易讀性、可移植性,為將來步入職業技術崗位打下堅實基礎。
1 單片機C語言編程的規范性
以Kei C51軟件編程為例并結合多年的教學經驗,將單片機C語言編程的規范性主要歸納為:(1)文檔的規范性;(2)變量、函數的規范性;(3)程序書寫的規范性;(4)模塊化編程等四個方面。
1.1 文檔的規范性
任何一個單片機C程序都應該在工程下進行編譯和管理,一個工程可以包含多個C文件,不同的C文件分別實現一個相對獨立的功能。在單片機課程教學中部分學生一開始就忽略了工程的概念,或者通過一個C文件試圖實現所有功能,這在功能較為單一的系統中是可行的,但稍微復雜一點的系統要想通過一個程序來完成其所有功能,程序的可讀性和可移植性就會變差。因此,在編程之初就要強調工程對C程序源文件的管理作用,以及工程所包含的各個C文件之間的相互關系,并通過對C文件規范化的命名體現其功能,如鍵盤模塊命名為key.c,顯示模塊命名為display.c,數據處理模塊命名為datapro.c。
1.2 變量、函數的規范性
變量、函數的規范主要體現在命名的規范,一般要符合匈牙利命名規范。如表1所示,主要注意字母的大小寫是有區分的,取名要與變量或函數的含義或完成功能相一致,并且要在教學中一直貫徹使用,望文生義以增強易讀性。
此外,由于單片機頭文件對一些常用的符號變量和特殊功能寄存器進行了定義聲明,因此編程時對相關符號變量和特殊功能寄存器的操作一定要與頭文件中的定義聲明保持一致。如51單片機reg51.h頭文件對端口(P0~P3口)、特殊寄存器、特殊的位、中斷函數等做了定義聲明,用戶在對相關端口或SFR進行操作時只能嚴格的按照頭文件中的聲明使用,不能按照自己的想法隨便更換名字,否則會造成編譯出錯,如果要想按照自己的習慣書寫,要重新聲明定義。如P1.0口在<reg51.h>定義為P1^0,若想用P1_0表示則必須用“sbit P1_0=P1^0;”作聲明。常用的51系列單片機在KeilC51軟件中的一些定義格式如表2所示。
表2 <reg51.h>或<reg52.h>頭文件中常用的一些定義
3 模塊化編程
模塊化、規范化的程序設計,是提高程序的易讀性、可移植性和復用性最為重要的手段。模塊化程序設計的集中體現為六個字即“高內聚低耦合”。按照自頂向下的原則進行程序設計時,首先是引導學生進行系統功能分析,按照“低耦合”的原則進行軟件模塊的劃分,勾勒出由主程序及各模塊子程序搭建的大骨架、粗線條輪廓,繼而深入到各個軟件模塊內部,依據“高內聚”的原則確定模塊內程序結構。
以單片機無線多路溫度采集系統為例,簡單介紹軟件編程的具體思路。如圖1所示,無線多路溫度采集系統主要包括單片機、溫度數據采集、無線信號傳輸、鍵盤與顯示器等模塊,完成四路溫度數據采集,并在液晶屏上顯示實時溫度信息。
圖1 溫度采集系統硬件框圖
圖2 溫度采集系統軟件模塊組成
在課程教學中,依據無線多路溫度采集系統功能,軟件編程劃分為溫度采集、按鍵控制、顯示、無線通信等子模塊。其中溫度采集程序完成溫度數據采集與處理,鍵盤控制程序鍵掃描及處理,LCD顯示程序完成屏幕刷新,無線通信程序實現單片機與PC機間的數據交換。各模塊功能單一,且模塊之間無直接聯系,通過主程序對各模塊進行調用與協調完成系統功能,每個模塊作為一個函數、或單獨作為一個C文件,并通過主程序完成各模塊文件的調用與協調,其關系圖如圖2所示??梢钥吹?,模塊與模塊之間耦合度較低,有利于程序的維護與移植。
1.4 程序書寫的規范性
程序書寫的規范性能夠極大增加了程序的易讀性。主要體現在:采用空行或注釋符號分隔程序段落;if、for、while、do等語句自占一行,執行語句不得緊跟其后;程序的分界符‘{’和‘}’應獨占一行并且位于同一列,同時與引用它們的語句左對齊;如果出現嵌套的{},則使用縮進對齊;一般重要的代碼行或段落采用“//” 注釋提示等。
單片機c語言范文3
【關鍵詞】智能車;單片機;轉向
智能車系統以MC9S12DG128為核心,為了使智能車能夠快速行駛,單片機必須把路徑的迅速判斷、相應的轉向伺服電機控制以及直流驅動電機的控制精密地結合在一起。智能車系統一般由電源模塊、傳感器模塊、直流電機驅動模塊、路徑識別模塊、通訊及調試模塊、單片機模塊等組成。其中,轉向伺服電機一般由單片機直接驅動。如果傳感器部分的數據沒有正確的采集和識別,轉向伺服電機控制的失當,都會造成模型車嚴重抖動甚至偏離賽道;如果直流電機的驅動控制效果不好,也會造成直線路段速度上不去,彎曲路段入彎速度過快等問題。
1 電源管理模塊
采用可充式電池為7.2V 2000mAh的電池,而單片機系統、路徑識別系統的光電傳感器和接收電路、車速傳感器電路需要5V電壓,伺服電機工作電壓范圍為4.8-6V,因此電源需要電壓調節電路。
2 路經識別模塊
路徑識別模塊是智能車系統的關鍵之一,路徑識別方案的好壞,直接關系到最后性能的優劣。路徑識別又紅外檢測和攝像頭檢測兩種方法,在這里我們選用的是光電傳感器尋跡方案。光電傳感器尋跡方案與CCD相比有以下優缺點。
所謂光電傳感器尋跡方案,即路徑識別電路由一系列發光二極管、接收二極管組成,由于賽道中存在軌跡指示黑線,落在黑線區域內的光電二極管接收到的反射光線強度與白色的賽道不同,由此判斷行車的方向。我們在智能車前排安裝了13個傳感器,采用的是前排7個,后排6個的安裝方式,前排傳感器與后排傳感器間隔排開,每個傳感器之間的距離是20mm。我們設每個傳感器為一個位置量,而兩個傳感器之間又可以有一個位置量,這樣可以在定義25個位置量來進行位置調解。我們在實際安裝中將紅外傳感器分兩排安裝。兩排安裝雖然與單排相比,雖然降低了檢測空間分辨率,但兩排安裝除了可以獲取道路的中心位置,同時還可以得到方向信息。
3 舵機驅動模塊設計
舵機是一個直流電機,舵機的控制一般由單片機的PWM信號來完成,這里用到的MCU的型號為飛思卡爾半導體公司提供的MC9S12DG128。驅動芯片也是由其提供的MC33886。舵機的結構包括:舵盤、減速齒輪組、位置反饋電位計5k,直流電機、控制電路板等組成。其工作原理如下:控制信號控制電路板電機轉動齒輪組減速舵盤轉動位置反饋電位計控制電路板反饋。舵機的響應時間對于控制非常重要,一方面可以通過修改PWM周期獲得。另一方面也可以通過機械方式,利用舵機的輸出轉距余量,將角度進行放大,加快舵機響應速度。我們采用修改PWM周期優化舵機的響應時間。智能車的舵機是一個位置隨動系統,通過內部的位置反饋,使它的舵盤輸出轉角正比于給定的控制信號,因此我們可以通過改變輸出信號的脈沖信號的寬度來改變舵機的轉角。因為舵機的控制信號是pwm信號,利用占空比的變化可以改變舵機的位置。具體方案是用單片機作為舵機的控制單元使pwm信號的脈沖寬度實現微秒級的變化,從而提高舵機的轉角精度。利用Codewarrior 4.5 for HCS12作為程序編譯軟件,用C 語言來作為開發單片機控制程序的語言,完成控制算法。再將計算結果轉化為pwm信號輸出到舵機,由于單片機系統是一個數字系統,其控制信號的變化完全依靠硬件計數,所以受外界干擾較小,整個系統工作可靠。單片機系統實現對舵機輸出轉角的控制,必須首先完成兩個任務:首先是產生基本的pwm周期信號,本設計是產生20ms的周期信號;其次是脈寬的調整,即單片機模擬pwm信號的輸出,并且調整占空比。
當系統中只需要實現一個舵機的控制,采用的控制方式是改變單片機的一個定時器中斷的初值,將20ms分為兩次中斷執行,一次短定時中斷和一次長定時中斷。這樣既節省了硬件電路,也減少了軟件開銷,控制系統工作效率和控制精度都很高。
具體的設計過程:例如想讓舵機轉向左極限的角度,它的正脈沖為2ms,則負脈沖為20ms-2ms=18ms,所以開始時在控制口發送高電平,然后設置定時器在2ms后發生中斷,中斷發生后,在中斷程序里將控制口改為低電平,并將中斷時間改為18ms,再過18ms進入下一次定時中斷,再將控制口改為高電平,并將定時器初值改為2ms,等待下次中斷到來,如此往復實現pwm信號輸出到舵機。用修改定時器中斷初值的方法巧妙形成了脈沖信號,調整時間段的寬度便可使伺服機靈活運動。
【參考文獻】
單片機c語言范文4
關鍵詞:MCS-51 單片機 匯編 IDE 編譯器
中圖分類號:TP313 文獻標識碼:A 文章編號:1007-9416(2013)05-0029-01
1 單片機簡介
1.1 單片機介紹
單片機是一種集成電路芯片,它將CPU、RAM、ROM、I/O接口、中斷系統等等功能集成到一塊硅片上,構成一個微型計算機系統,所以單片機也叫做微控制器。在工業控制領域中,單片機具有非常重要的地位。MCS-51單片機是一種8位單片機,雖然目前已經有32位單片機的出現,但8位單片機在很多行業中仍在被廣泛使用,其性能較之以前也有巨大的提升。
1.2 單片機發展方向
單片機發展有兩個方向:
(1)改進集成電路工藝,提高芯片速度。
(2)根據不同領域需要,在保留基本外設裝置和公共指令的基礎上,將不同的外設裝置集成到芯片中。
(3)MCS-51單片機指令。MCS-51單片機的指令系統功能強、指令短、執行的速度也快,一共有111條指令以及8條偽指令,可以從功能上將其劃分為數據傳送、邏輯操作、算術操作、程序移位操作等四大類;空間屬性上來分,分為單字節指令、雙字節指令和三字節指令;時間屬性上來分,分為單機器周期指令、雙機器周期指令和四機器周期指令。MCS-51單片機的指令由操作碼和操作數組成,操作數又有無操作數、單操作數、雙操作數三種情況。格式如下:
【標號:】操作碼助記符【目的操作數】【,源操作數】【.注釋】。
偽指令不用計算機做任何操作,只是幫助匯編,不影響程序執行。
2 IDE簡介
2.1 IDE介紹
IDE(Integrated Development Environment,集成開發環境),包括代碼編輯器、編譯器、調試器、用戶界面等,是用于編程語言開發的應用程序。目前的單片機IDE,主要是由國外幾大面向嵌入式系統的軟件公司來開發,如:德國的Keil,美國的Franklin等,國內幾乎沒有自主研發的優秀的單片機IDE。
2.2 IDE主要功能
(1)代碼編輯。程序員在使用IDE進行程序開發時,大部分的時間都是在進行代碼的編輯,一個好的IDE應該在代碼編輯中為用戶提供幫助,提高他們的開發效率,例如:通過改善顯示效果來提高程序可讀性;讓部門代碼自動生成從而簡化用戶輸入的動作;方便用戶進行程序閱讀等等。(2)項目管理與編譯控制。(3)平臺信息管理。主要是針對嵌入式開發環境,針對不同的CPU體系、開發板名稱,將所有的平臺信息在信息管理模塊中分類記錄,用戶選取相應的配置文件來使用新的開發平臺,這樣就能最快的進入最終應用開發階段。(4)調試功能。IDE的調試功能是十分重要的,它能檢查出軟件執行過程中出現的錯誤,當然,在嵌入式系統開發中,還要支持遠程調試。
2.3 在IDE中單片機匯編程序的開發
基于MCS-51單片機匯編語言程序的應用系統開發,有以下幾個步驟:(1)源代碼編輯。(2)生成目標程序。(3)下載或編程。(4)調試。
3 設計思路與詳細步驟
3.1 界面設計
設計IDE時,選擇微軟的VC++工具,它是面向對象的程序設計工具,可視化功能強,界面友好,易于解決大型問題,軟件維護方便。選好設計工具,就開始進入界面的設計,要讓單片機匯編語言的初學者較好掌握這門語言,IDE就應該簡單直觀,易于操作。編輯框當中包含以下幾個部分:(1)文件(file):新建、打開、保存、關閉、打印、退出;(2)編輯(edit):剪切、復制、粘貼、查找、撤銷;(3)編譯(compile):編譯連接、裝載程序;(4)實驗演示和參數設置;(5)系統登錄。
3.2 編譯器設計
3.2.1 分解
一個編譯器的整個工作流程是分階段進行的,這幾個階段是:詞法分析、語法分析、語義分析、目標代碼生成。如果編譯過程中發現源程序有錯誤,編譯程序要報告出錯誤的性質和發生的地方,將錯誤的影響盡量限定在很小范圍內,使得程序的其他代碼能繼續被編譯。
3.2.2 設計步驟
(1)總體設計。設計時使用兩遍掃描,第一遍是建立符號表和確定源程序每一行的偏移地址,同時檢查匯編程序是否有錯誤;第二遍是利用第一遍掃描所生成的符號表,產生可供微處理器執行的機器代碼文件,并產生一個列表文件。
(2)指令系統設計。MCS-51單片機共有111條可執行的指令和8條偽指令,建立一個對象,用來存儲用戶使用的指令系統的信息,如序號、操作數對應的Token碼等,為了在編譯時能夠判斷輸入的語句正確與否,先要建立一個指令表和操作碼表,然后將語句與111條指令進行匹配。
(3)詞法分析設計。MCS-51單片機匯編語言程序,是將若干條MCS-51指令行組合而成,指令行格式:
【標號:】MCS一51操作碼【操作數1】,【操作數2】,【操作數3】【;注釋】
偽指令語句格式:
【標號:或字符串】MCS-51偽代碼表達式列表【;注釋】
定義一個類來進行詞法分析,設置兩個變量a,b,分別代表讀入單詞的頭指針和尾指針,先將b的值賦值給a,然后通過循環逐個判斷,得出a的真正位置,從而實現對詞語的判斷。
(4)符號表管理設計。符號表一個鏈表中的每個元素都是一個結構體,每個結構體包含多個域,如果遇到一個詞語并判斷出它是變量,就將它的名字、類型、值描述出來,存入符號表。
(5)出錯處理設計。發現的錯誤必須由用戶對源程序進行改正后再重新編譯,錯誤信息和警告信息包括:出錯的匯編源文件的文件名,出錯行的行號,具體的出錯信息等。
參考文獻
單片機c語言范文5
【關鍵詞】超聲波;PIC;原油降粘;參數優化
1.引言
光由于我國的油氣藏多為陸相沉積,油藏類型較為復雜,油層物性并非十分良好,油層薄而互層較多,原油物理性質區別較大,油層所能承受壓力較小,而且井下油水關系復雜,因此開發油氣藏增產技術十分必要。超聲波采油可以用于解堵、提高采收率、防蠟、降粘、脫水、脫氣、防垢、乳化、破乳等多個方面,是以物理作用為基礎,應用范圍廣泛,不存在造成油層污染的外來因素,同時還具備適應性強、工藝簡單等優點的先進采油技術。
設計采用PIC單片機作為系統的控制核心,控制超聲波頻率、作用時間、聲強等各項參數對巖心滲透率以及原油粘度的影響規律,最終進行參數優化以達到更好的應用效果,進而解決實際問題[1]。
2.總體電路設計
該系統包括超聲波信號控制部分、超聲波發生器、信號檢測部分等組成。其中控制核心為PIC系列PICF16887單片機,具有全新的流水線結構,數據總線和指令總線分離的哈佛總線(HARWARD)結構、單字指令體系,與其它單片機相比,具有性能完善、功能強大、開發應用方便、人機界面友好等突出優點。PIC16F877具有PIC系列單片機的全部優點,有28個引腳,22個通用I/O口,5路的10位AD轉換通道,2路PWM發生器,13個中斷源,3個定時計數器,自帶“看門狗”,可以在線編程。本設計通過PIC單片機強大的PWM發生器來產生系統所需頻率信號。主要控制電路如圖1所示。
圖1 PIC控制電路
系統使用運算放大器UA741進行信號的采集[2],采集信號包括系統電流、電壓值,系統溫度等。
3.原油超聲波驅油實驗研究
3.1 超聲波頻率對原油驅油效果的影響
圖2 不同超聲波頻率作用下的粘溫曲線
在超聲波頻率定性分析實驗中,采用的超聲波頻率分別為20kHz、28kHz、40kHz和68kHz,為了減小實驗測量結果的誤差,在每個頻率下均對三個油樣進行處理,測量結果取實驗數據的平均值。固定超聲波處理器的功率,調整實驗裝置的頻率,使得在每一個頻率下超聲波實驗裝置對原油樣品累計作用時間相同,測量原油樣品在不同恒溫水浴溫度下的粘度值。原油超聲波頻率驅油實驗所得的實驗結果如圖2所示。
在選用的四個頻率中,20kHz左右的超聲波作用原油后降粘幅度最大,降粘率最高,驅油效果最好。隨著超聲波頻率的增大,降粘幅度、降粘率、驅油效果均逐漸降低。產生這一現象的原因是:在其他實驗條件保持相同的情況下,超聲波的頻率越小,振蕩周期越長,則為空化泡生長、增大、崩潰等過程提供的時間越充足,空化效應更易于產生。同時,對于空化效應產生的空化泡,其振動幅度會隨著超聲波頻率的降低而增大,破壞原油原有蠟層結構,對蠟晶的形成和生長有一定的阻礙作用,降低了原油粘度。根據實驗可知,采用頻率約為20kHz的超聲波作用原油獲得的驅油效果最佳[3]。
3.2 超聲波累計作用時間對原油驅油效果的影響
在超聲波累計作用時間定性分析實驗中,超聲波累計作用時間分別為1min、3min、5min和7min,為了減小實驗測量結果的誤差,在每個累計作用時間范圍內均對三個油樣進行處理,測量結果取實驗數據的平均值。固定超聲波處理器的頻率和功率,調整超聲波實驗裝置的累計作用時間,使得在每一個累計作用時間范圍內超聲波實驗裝置處理原油樣品,測量原油樣品在不同恒溫水浴溫度下的粘度值[4]。原油超聲波累計作用時間驅油實驗所得的實驗結果如下:
圖4 累計作用時間與降粘率的關系曲線
圖5 不同超聲波功率作用下的粘溫曲線
3.3 超聲波累計作用時間對原油驅油效果的影響
設定超聲波實驗裝置的功率分別為50W、100W、150W和200W,為了減小實驗測量結果的誤差,在每個功率下均對三個油樣進行處理,測量結果取實驗數據的平均值。固定超聲波處理器的頻率,調整實驗裝置的功率,使得在每一個功率下超聲波實驗裝置對原油樣品累計作用時間相同,測量原油樣品在不同恒溫水浴溫度下的粘度值[5]。原油超聲波功率驅油實驗所得的實驗結果如圖5所示。
當含水率小于50%時,超聲波處理前后的原油粘度進行比較可知,超聲波處理低含水率的原油沒有明顯降粘效果,且含水率越低,降粘效果越不明顯。當含水率在50%到60%之間時,原油降粘幅度較大,降粘率顯著增大,降粘效果明顯。當含水率大于60%時,原油降粘率略有減小,但降粘效果依舊顯著。
4.結束語
超聲波頻率對原油粘度影響較大,隨累計作用時間的增加,降粘率先增大后減小,出現一個峰值。在累積作用時間為1min時,降粘率較小,降粘效果不明顯;在累計作用時間為3min左右時,降粘率達到峰值,約為33%;在累積作用時間超過3min后,降粘率有所降低,但幅度較小,降粘效果基本平穩。隨超聲波功率的增大,原油降粘率先增大后逐漸趨于平穩。當超聲波功率為50W時,超聲波降粘幅度較小,降粘率較小,僅為15.76%,驅油效果較不明顯;當功率為100W時,原油粘度明顯降低。隨著功率的進一步增大,降粘率繼續增大,但增幅減小,降粘率相對較為穩定。一味增大實驗裝置功率,會縮短裝置壽命,因此優選出的超聲波功率約為100W。
參考文獻
[1]田松柏.原油評價標準試驗方法[M].中國石化出版社,2010.
[2]孟科全,唐曉東,鄒雯,崔盈賢.稠油降粘技術研究進展[J].天然氣與石油,2009(03):147-149.
[3]Ahmed N S,Nassar A M,Zaki N N,et al.Formation of fluid heavy oil in water emulsions for pipeline transportation Corporate.Fuel.1999.
單片機c語言范文6
【關鍵詞】 單機 CPLD 數字存儲示波器 研究
前言:
在信息化時代背景下,數字存儲方式的誕生,能夠借助示波器的運用,實現對信息的數字化存儲,在此過程中,借助A/D變換器的使用,信號以波形輸入后經由此轉化為數字信號并存儲于RAM中。在使用這一數據信息時,這可從RAM中調出,然后經過D/A轉換為信號模擬量,進而呈現于計算機顯示器上。而基于數字存儲示波器下,在信號處理與顯示兩種功能是分開設置的,在實際進行設計的過程中,則借助了單機片與可編程器件的運用,實現了數據處理與控制核心的搭建,在此基礎上以完善功能模塊的組件來實現這一系統的打造。
一、通道輸入信號調理電路與雙限窗口比較器
基于輸入信號下,相應的動態范圍大,因此,在實際進行設計的過程中,這一如下方法落實:先衰減后放大的電路結構,在電路的前級,采用的是八位雙D/ATCL7528構成程控衰減器,其中,參考電壓為輸入信號,在D/A端輸出電壓為VO=DIN/256VREP=DIN/256VIN,其中,VIN表示的是輸入電壓,DIN表示的是D/A輸入的數字量,而針對DIN進行改變,這就意味著需要改變衰減器的衰減倍數。而在電路的后級上,這以高性能儀表放大器作為程控放大器,型號為AD620,在此過程中,要想促使相應的垂直分辨率能夠達到0.01V/div,通過計算得出相應放大電路的增益G等于62.5。
而在雙限窗口器上,借助這一模塊設備的運用,這是為了確保在幅度垂直靈敏度方面能夠實現對超越信號的自動檢測與控制,在同道調理電路下,相應輸出信號如果超出了窗口限定范圍,這一比較器的輸出電平較高。
二、控制面板電路與觸發信號產生電路
在控制面板上,基于整個系統中,相應控制面板是由鍵盤、通道1、2垂直位置、觸發電平與位置以及主時基位置,總共有五個調節旋鈕,為實現簡單便捷的操作奠定了基礎。在觸發信號產生電路上,基于觸發電路的設置作用下,為了最終所處產生的上升沿觸發信號具備有效性,在針對這一觸發信號產生電路進行設計的過程中,在邊沿的出發信號產生電路上,其核心是比較電路,基于這一比較器下,其型號為MC3486,而在所采用的芯片下,能夠實現對10MHz輸入信號的處理,且在信號輸出上,與TTL電平產生了兼容性。同時,在最大幅度觸發所產生的電路為:基于峰值下,針對電路記錄信號的峰值進行保持,且與輸入信號進行對比分析,在此基礎上,得出:如果輸入信號要比峰值保持電路輸出電平低,比較器輸出上升沿觸發信號。
三、采集存儲邏輯電路與顯示器控制模塊
在采集存儲邏輯電路上,其所承擔的主要功能為:在A/D轉化數據后進行存儲,實現對接口、觸發控制以及采集存儲等模塊的邏輯控制,在設計的過程中,這采用了一片CPLD器件進行實現,型號為EPM7128SLC84。基于觸發控制邏輯電路下,這是借助觸發選用與使能邏輯構成的,以單機片進行控制,促使線路在配合的過程中實現相應觸發功能的充分發揮;而采集存儲控制模塊下,作為這個系統的控制核心,是由可編程分頻器、地址計數器、延遲計數器以及時鐘選擇器構成。
在顯示控制模塊下,采用的是示波器下X-Y方式,借助這一方式,相應示波器的偏轉電壓需要由外部進行提供,包括垂直與水平軸,而在相應的顯示器屏幕上,對應著一個X-Y坐標,這就意味著在提供了波形坐標數據的基礎上,能夠借助D/A轉換后,將其送入到X-Y軸中。而基于顯示控制電路下,其主要是由時鐘選擇器、地址計數器以及X-Y數據器等組建而成,在單片機下,實際寫數據的過程中,相應時鐘顯示器回進行寫信號通選,在數據存儲上,呈現出的規律為Y1/X1、Y2/X2。
在能夠進行顯示時,時鐘顯示器一般都是先選擇顯示時鐘,而在地址計數器上,則是以固定頻率進行循環計數的,相應RAM這借助顯示器的運用,將其作為時鐘,二在X/Y的鎖存器通選信號上,則以地址充當,進而實現奇偶數的分類存儲。在此基礎上,進行系統軟件設計,要確保相應軟件設計與硬件配套,并滿足實際運行之需。
四、總結
綜上,在針對單片機及CPLD的數值存儲示波器進行了研究,在進行這一系統設計的過程,借助CPLD的運用,能夠為實現對數據的有效且完善采集、存儲,為充分發揮出這一數字示波器的作用與價值奠定基礎。
參 考 文 獻
[1]張越,王均樹,張炎,趙延軍.基于單片機與CPLD的數字存儲示波器[J].微計算機信息,2007,26:227-228.