版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 智能化儀器儀表及其應(yīng)用課程設(shè)計(jì)</p><p> 設(shè)計(jì)題目:基于單片機(jī)的簡易頻率計(jì)設(shè)計(jì) </p><p> 學(xué)生姓名: </p><p> 學(xué)院名稱: 能源動(dòng)力工程學(xué)院 </p><p> 專業(yè)名稱: 風(fēng)能與動(dòng)力工程
2、 </p><p> 班級名稱: </p><p> 學(xué) 號: </p><p> 指導(dǎo)老師: </p><p> 完成時(shí)間: 2014年1月12日-16日 </p><p><b
3、> 目 錄</b></p><p> 一、 需求分析1</p><p> 二、 方案論證1</p><p> 2.1 方案論述1</p><p> 2.2 功能實(shí)現(xiàn)具體過程2</p><p> 2.2.1 M法具體過程2</p><p>
4、 2.2.2 T法具體過程3</p><p> 三、 器件選擇與器件描述4</p><p> 3.1 AT89C51單片機(jī)5</p><p> 3.2 74LS373鎖存器7</p><p> 3.3 74LS139譯碼器8</p><p> 3.4 LED數(shù)碼管9</p>
5、<p> 四、 硬件電路設(shè)計(jì)10</p><p> 4.1 控制、計(jì)數(shù)電路10</p><p> 4.2 外部震蕩電路的設(shè)計(jì)10</p><p> 4.3 譯碼顯示電路11</p><p> 4.4 顯頻和鎖頻電路11</p><p> 五、 軟件流程設(shè)計(jì)12</
6、p><p> 六、 調(diào)試過程論述13</p><p> 七、 結(jié)論和總結(jié)14</p><p> 設(shè) 計(jì) 體 會(huì)15</p><p><b> 附錄一16</b></p><p><b> 附錄二17</b></p><
7、p><b> 參考文獻(xiàn)20</b></p><p><b> 一、 需求分析</b></p><p> 在電子技術(shù)中,頻率是最基本的參數(shù)之一,并且與許多電參量的測量方案、測量結(jié)果都有十分密切的關(guān)系,因此頻率的測量就顯得更為重要。為了實(shí)現(xiàn)智能化的計(jì)數(shù)測頻,實(shí)現(xiàn)一個(gè)寬領(lǐng)域、高精度的頻率計(jì),一種有效的方法是將單片機(jī)用于頻率計(jì)的設(shè)計(jì)當(dāng)中。
8、用單片機(jī)來做控制電路的數(shù)字頻率計(jì)測量頻率精度高,測量頻率的范圍得到很大的提高。</p><p> 由于現(xiàn)在實(shí)際的運(yùn)用,在有些行業(yè)需要對頻率進(jìn)行定時(shí)記錄,但如果頻率的波動(dòng)頻率太快,會(huì)使操作人員不易記錄,所以我們提出了對顯示屏進(jìn)行人工鎖屏,這樣既保證了操作人員記錄數(shù)據(jù)的準(zhǔn)確性,又不會(huì)影響對實(shí)時(shí)頻率的計(jì)算。相信這將對操作人員有很大的幫助,也有很好的市場前景。</p><p><b>
9、 二、 方案論證</b></p><p><b> 2.1 方案論述</b></p><p> 此設(shè)計(jì)方案是基于AT89C51單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)簡易頻率計(jì)。因此對信號發(fā)生器輸入的頻率,單片機(jī)可以用兩種方法檢測( Δm ,ΔT )要求顯示單位時(shí)間的脈沖數(shù)或一個(gè)脈沖的周期。</p><p> 電子計(jì)數(shù)式的測頻方法
10、主要有以下幾種:脈沖數(shù)定時(shí)測頻法(M法),脈沖周期測頻法(T法),脈沖數(shù)倍頻測頻法(AM法),脈沖數(shù)分頻測頻法(AT法),脈沖平均周期測頻法(M/T法),多周期同步測頻法。下面是幾種方案的具體方法介紹。</p><p> 脈沖數(shù)定時(shí)測頻法(M法):此法是記錄在確定時(shí)間Tc內(nèi)待測信號的脈沖個(gè)數(shù)Mx,則待測頻率為:</p><p> Fx=Mx/ Tc
11、 </p><p> 脈沖周期測頻法(T法):此法是在待測信號的一個(gè)周期Tx內(nèi),記錄標(biāo)準(zhǔn)頻率信號變化次數(shù)Mo。這種方法測出的頻率是:</p><p> Fx=Mo/Tx </p><p> 脈沖數(shù)倍頻測頻法(AM法):此法是為克服M法在低頻測量時(shí)精度不高的缺陷發(fā)展起來的。通過A倍頻,把待測信號頻率
12、放大A倍,以提高測量精度。其待測頻率為:</p><p> Fx=Mx/ATo </p><p> 脈沖數(shù)分頻測頻法(AT法):此法是為了提高T法高頻測量時(shí)的精度形成的。由于T法測量時(shí)要求待測信號的周期不能太短,所以可通過A分頻使待測信號的周期擴(kuò)大A倍,所測頻率為:</p><p> Fx=AMo/Tx
13、 </p><p> 脈沖平均周期測頻法(M/T法):此法是在閘門時(shí)間Tc內(nèi),同時(shí)用兩個(gè)計(jì)數(shù)器分別記錄待測信號的脈沖數(shù)Mx和標(biāo)準(zhǔn)信號的脈沖數(shù)Mo。若標(biāo)準(zhǔn)信號的頻率為Fo,則待測信號頻率為:</p><p> Fx=FoMx/Mo </p><p> 多周期同步測頻法:是由閘門時(shí)間T
14、c與同步門控時(shí)間Td共同控制計(jì)數(shù)器 計(jì)數(shù)的一種測量方法,待測信號頻率與M/T法相同。</p><p> 以上幾種方法各有其優(yōu)缺點(diǎn):</p><p> 脈沖數(shù)定時(shí)測頻法,時(shí)間Tc為準(zhǔn)確值,測量的精度主要取決于計(jì)數(shù)Mx的誤差。其特點(diǎn)在于:測量方法簡單,測量精度與待測信號頻率和門控時(shí)間有關(guān),當(dāng)待測信號頻率較低時(shí),誤差較大。</p><p> 脈沖周期測
15、頻法,此法的特點(diǎn)是低頻檢測時(shí)精度高,但當(dāng)高頻檢測時(shí)誤差較大。</p><p> 脈沖數(shù)倍頻測頻法,其特點(diǎn)是待測信號脈沖間隔減小,間隔誤差降低;精度比M法高A倍,但控制電路較復(fù)雜。</p><p> 脈沖數(shù)分頻測頻法,其特點(diǎn)是高頻測量精度比T法高A倍,但控制電路也較復(fù)雜。</p><p> 脈沖平均周期測頻法,此法在測高頻時(shí)精度較高,但在測低頻信號時(shí)精度較低。&
16、lt;/p><p> 多周期同步測頻法,此法的優(yōu)點(diǎn)是,閘門時(shí)間與被測信號同步,消除了對被測信號計(jì)數(shù)產(chǎn)生的±1個(gè)字誤差,測量精度大大提高,且測量精度與待測信號的頻率無關(guān),達(dá)到了在整個(gè)測量頻段等精度測量。</p><p> 2.2 功能實(shí)現(xiàn)具體過程</p><p> 2.2.1 M法具體過程</p><p> T0定時(shí)50ms,
17、T1對方波的計(jì)數(shù),數(shù)值串行輸出和靜態(tài)顯示三大部分內(nèi)容,此外還要附加延時(shí)程序以使靜態(tài)顯示數(shù)值穩(wěn)定等。具體描述如下:</p><p> T0 實(shí)現(xiàn)50ms定時(shí):</p><p> 采用12 MHz的晶體振蕩器的情況下,一秒的定時(shí)已超過了定時(shí)器可提供的最大定時(shí)值。為了實(shí)現(xiàn)一秒的定時(shí),采用定時(shí)和計(jì)數(shù)相結(jié)合的方法實(shí)現(xiàn)。選用定時(shí)/計(jì)數(shù)器T0作定時(shí)器,工作于方式1產(chǎn)生50 ms的定時(shí),定時(shí)完成所得的
18、計(jì)數(shù)值乘以20即為所測信號頻率。</p><p><b> T1計(jì)數(shù)部分:</b></p><p> 將定時(shí)器/計(jì)數(shù)器的方式寄存器TMOD,用軟件賦初值51H,即B。這時(shí)定時(shí)器/計(jì)數(shù)器1采用工作方式1,方式選擇位C/T設(shè)為1,即設(shè)T1為16位計(jì)數(shù)器。定時(shí)器/計(jì)數(shù)器O采用工作方式1,C/T設(shè)為0,即設(shè)TO為16位定時(shí)器。</p><p>
19、計(jì)算計(jì)數(shù)初值:設(shè)計(jì)數(shù)初值為m,本設(shè)計(jì)采用12 MHz的晶振。機(jī)器周期=12×(1/晶振頻率),得等式。所以計(jì)數(shù)初值m=15536。</p><p> 當(dāng)定時(shí)器/計(jì)數(shù)器T1設(shè)定為計(jì)數(shù)方式時(shí),其計(jì)數(shù)脈沖是來源T1端口的外部事件。當(dāng)T1端口上出現(xiàn)由“1”(高電平)到“0”(低電平)的負(fù)跳變脈沖時(shí),計(jì)數(shù)器則加1計(jì)數(shù)。計(jì)算機(jī)是在每個(gè)機(jī)器周期的S5P2狀態(tài)時(shí)采樣T1端口,當(dāng)前一個(gè)機(jī)器周期采樣為1且后一個(gè)機(jī)器周期采
20、樣為0時(shí),計(jì)數(shù)器加1計(jì)數(shù)。計(jì)算機(jī)需用兩個(gè)機(jī)器周期來識別1次計(jì)數(shù),因而最大計(jì)數(shù)速率為振蕩頻率的1/24。在采用12 MHz晶振的情況下,單片機(jī)最大計(jì)數(shù)速度為0.5 MHz即500 kHz。</p><p> 另外,此處對外部事件計(jì)數(shù)脈沖的占空比(即脈沖的持續(xù)寬度)無特殊要求,但必須保證所給出的高電平在其改變之前至少被采樣1次,即至少保持1個(gè)完整的機(jī)器周期。由此可見,從T1口輸入脈沖信號,T1可實(shí)現(xiàn)對脈沖個(gè)數(shù)的計(jì)數(shù)
21、。</p><p> 數(shù)值并行輸出和靜態(tài)顯示</p><p> 運(yùn)用74LS373擴(kuò)展51單片機(jī)上P0輸出口,通過2-4譯碼器和74LS02對74LS373進(jìn)行片選控制,繼而在數(shù)碼管上顯示相應(yīng)頻率。</p><p> 在并行輸出的過程中,由單片機(jī)上的.P3.6口交替出現(xiàn)高低電平,再與2-4譯碼器所輸出的片選信號結(jié)合,由與非門控制輸出高電平,從而對74LS373
22、寄存器進(jìn)行片選控制。寄存器分別連接到5個(gè)LED數(shù)碼管,對實(shí)時(shí)頻率進(jìn)行5位靜態(tài)顯示。</p><p> 2.2.2 T法具體過程</p><p> 由輸入方波脈沖信號,T1對方波信號的高電平部分計(jì)時(shí),計(jì)時(shí)結(jié)果串行輸出和靜態(tài)顯示三大部分,與M法一樣,還要附加延時(shí)程序以使靜態(tài)顯示數(shù)值穩(wěn)定等。具體描述如下:</p><p><b> 由輸入方波脈沖信號&l
23、t;/b></p><p> 方波信號通過管腳輸入檢測,此處該管腳相當(dāng)于對信號的監(jiān)測,通過軟件方式告之單片機(jī)哪段時(shí)間輸入信號為高電平,哪段時(shí)間為低電平。以便控制T1計(jì)時(shí)的開始和停止。</p><p> T1對方波信號的高電平部分計(jì)時(shí)</p><p> 通過查詢方式,當(dāng)信號輸入管腳為1(即高電平)時(shí)進(jìn)行計(jì)時(shí),設(shè)置TMOD值為0x90,即T1為方式1的16位
24、定時(shí)器(也可設(shè)置為計(jì)數(shù)器,效果一樣),且T1受GATE位的影響:因?yàn)镚ATE=1,只有為高電平且由軟件使TR1置一時(shí),才能啟動(dòng)定時(shí)器工作。正因?yàn)槿绱?,測量高電平脈寬顯得精確可控。定時(shí)器計(jì)時(shí)結(jié)束則可將數(shù)值輸出顯示。</p><p> 計(jì)時(shí)結(jié)果串行輸出和靜態(tài)顯示</p><p> 此部分內(nèi)容同M法一致,詳見M法的功能實(shí)現(xiàn)描述。</p><p> 綜上所述,M法由于
25、T0、T1對外部脈沖信號的最高計(jì)數(shù)頻率為振蕩頻率的1/24,而振蕩頻率為12MHz,得M法最高計(jì)數(shù)頻率為500KHz,而本設(shè)計(jì)設(shè)定最高計(jì)數(shù)頻率即為10KHz。誤差要求盡量小。T法僅設(shè)定能測的外部脈寬范圍為65536×20us,以使定時(shí)計(jì)數(shù)器在不產(chǎn)生溢出中斷的情況下進(jìn)行測量。本設(shè)計(jì)的頻率測量誤差要求盡量小,實(shí)踐證明誤差控制在1/100范圍內(nèi)。所以本設(shè)計(jì)采用M法作為頻率計(jì)算方法。</p><p> 三、
26、 器件選擇與器件描述</p><p> 表3-1 器件選型方案的詳細(xì)清單</p><p> 3.1 AT89C51單片機(jī)</p><p> AT89C51單片機(jī)是ATMAL公司89系列單片機(jī)的一種8位Flash單片機(jī)。它最大特點(diǎn)是片內(nèi)含有Flash存儲器,用途十分廣泛,特別是在生產(chǎn)便攜式商品,手提式儀器等方面,有著十分廣泛的應(yīng)用。</p>&l
27、t;p> AT89C51單片機(jī)內(nèi)部主要有以下部件:8031CPU、振蕩電路、總線控制部件、中斷控制部件、片內(nèi)Flash存儲器、片內(nèi)RAM、并行I/O接口、定時(shí)器和串行I/O接口。</p><p> AT89C51的外形圖如圖3-1所示。</p><p><b> 引腳說明:</b></p><p> ·VCC:電源電壓。
28、</p><p><b> ·GND:接地。</b></p><p> ·P0口:P0口是一組8位漏極開路型雙向I/O口,作為輸出口用時(shí),每個(gè)引腳能驅(qū)動(dòng)8個(gè)TTL邏輯門電路。當(dāng)對0端口寫入1時(shí),可以作為高阻抗輸入端使用。</p><p> 當(dāng)P0口訪問外部程序存儲器或數(shù)據(jù)存儲器時(shí),它還可設(shè)定成地址數(shù)據(jù)總線復(fù)用的形式。在
29、這種模式下,P0口具有內(nèi)部上拉電阻。</p><p> 在EPROM編程時(shí),P0口接收指令字節(jié),同時(shí)輸出指令字節(jié)在程序校驗(yàn)時(shí)。程序校驗(yàn)時(shí)需要外接上拉電阻。</p><p> ·P0口:P0口是一帶有內(nèi)部上拉電阻的8位雙向I/O口。P0口的輸出緩沖能接受或輸出4個(gè)TTL邏輯門電路。當(dāng)對P0口寫1時(shí),它們被內(nèi)部的上拉電阻拉升為高電平,此時(shí)可以作為輸入端使用。當(dāng)作為輸入端使用時(shí),P
30、0口因?yàn)閮?nèi)部存在上拉電阻,所以當(dāng)外部被拉低時(shí)會(huì)輸出一個(gè)低電流(IIL)。</p><p> ·P1口:P2是一帶有內(nèi)部上拉電阻的8位雙向的I/O端口。P1口的輸出緩沖能驅(qū)動(dòng)4個(gè)TTL邏輯門電路。當(dāng)向P1口寫1時(shí),通過內(nèi)部上拉電阻把端口拉到高電平,此時(shí)可以用作輸入口。作為輸入口,因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號拉低時(shí)會(huì)輸出電流(IIL)。</p><p> P2口在訪問
31、外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如MOVX @ DPTR)時(shí),P2口送出高8位地址數(shù)據(jù)。在這種情況下,P2口使用強(qiáng)大的內(nèi)部上拉電阻功能當(dāng)輸出1時(shí)。當(dāng)利用8位地址線訪問外部數(shù)據(jù)存儲器時(shí)(例MOVX @R1),P2口輸出特殊功能寄存器的內(nèi)容。</p><p> 當(dāng)EPROM編程或校驗(yàn)時(shí),P2口同時(shí)接收高8位地址和一些控制信號。</p><p> ·P3口:P3是一帶
32、有內(nèi)部上拉電阻的8位雙向的I/O端口。P3口的輸出緩沖能驅(qū)動(dòng)4個(gè)TTL邏輯門電路。當(dāng)向P3口寫1時(shí),通過內(nèi)部上拉電阻把端口拉到高電平,此時(shí)可以用作輸入口。作為輸入口,因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號拉低時(shí)會(huì)輸出電流(IIL)。</p><p> P3口同時(shí)具有AT89C51的多種特殊功能,P3.0的第二功能是串行輸入口RXD, P3.1的第二功能是串行輸出口TXD, P3.2的第二功能是外部中斷0,P3
33、.3的第二功能是外部中斷1,P3.4的第二功能是定時(shí)器T0,P3.5的第二功能是定時(shí)器T1,P3.6的第二功能是外部數(shù)據(jù)存儲器寫選通/WR,P3.7的第二功能是外部數(shù)據(jù)存儲器讀選通/RD。</p><p> AT89C51是89系列單片機(jī)的標(biāo)準(zhǔn)型,它是與MSC-51系列單片機(jī)兼容的。在內(nèi)部含有4KB或8KB可重復(fù)編程的Flash存儲器,可進(jìn)行1000次擦寫操作。全靜態(tài)工作為0-24MHZ,有3級程序鎖存器,內(nèi)部
34、含有字節(jié)的RAM,有32條可編程I/O口線,2-3個(gè)16位定時(shí)/計(jì)數(shù)器,6-8個(gè)中斷源,通用的串行接口,低電壓空閑及電源下降方式。</p><p> 為了提高數(shù)據(jù)處理和位操作功能,片內(nèi)增加了一個(gè)通用寄存器B和一些專用寄存器,還增加了位處理邏輯電路的功能。其內(nèi)部結(jié)構(gòu)如圖3-2所示。</p><p> AT89C51的主要性能包括:AT89C51與MCS—51控制器系列產(chǎn)品兼容,片內(nèi)有4K
35、可在線重復(fù)編程閃速電擦除存儲器(Flash Memory),存儲器可循環(huán)寫入/擦除1000次;存儲器數(shù)據(jù)保存時(shí)間可達(dá)10年;工作電壓范圍寬:Vcc可由2.7V到6V;全靜態(tài)工作可由0Hz到16MHz;程序存儲器具有3級鎖存保護(hù);128*8位內(nèi)部RAM;32條可編程I/O線;兩個(gè)16位定時(shí)器/計(jì)數(shù)器;中斷結(jié)構(gòu)具有5個(gè)中斷源和2個(gè)中斷優(yōu)先級;可編程全雙工串行通信;空閑狀態(tài)維持低功耗和掉電狀態(tài)保存存儲內(nèi)容。</p><p
36、> 3.2 74LS373鎖存器</p><p> 74LS373如圖3-3所示,G為數(shù)據(jù)打入端:當(dāng)G為“1”時(shí), 鎖存器輸出狀態(tài)(1Q~8Q)同輸入狀態(tài)(1D~8D);當(dāng)G由“1”變“0”時(shí),數(shù)據(jù)打入鎖存器中。</p><p> 74LS373 的輸出端 Q0~Q7 可直接與總線相連。</p><p> 當(dāng)三態(tài)允許控制端 OE 為低電平時(shí),Q0~Q
37、7為正常邏輯狀態(tài),可用來驅(qū)動(dòng)負(fù)載或總線。當(dāng) OE 為高電平時(shí),Q0~Q7 呈高阻態(tài),即不驅(qū)動(dòng)總線,也不為總線的負(fù)載,但鎖存器內(nèi)部的邏輯操作不受影響。</p><p> 當(dāng)鎖存允許端 LE 為高電平時(shí),Q 隨數(shù)據(jù) D 而變。當(dāng) LE 為低電平時(shí),D 被鎖存在已建立的數(shù)據(jù)電平。當(dāng) LE 端施密特觸發(fā)器的輸入滯后作用,使交流和直流噪聲抗擾度被改善 400mV。</p><p><b>
38、; 引出端符號:</b></p><p> D0~D7 數(shù)據(jù)輸入端</p><p> OE 三態(tài)允許控制端(低電平有效)</p><p><b> LE 鎖存允許端</b></p><p><b> Q0~Q7 輸出端</b></p><p> 表3-
39、2 74LS373真值表:</p><p> 3.3 74LS139譯碼器</p><p> 74LS139(雙2-4譯碼器)是芯片選擇譯碼法中常用元件,其引腳圖如圖3-4所示。</p><p> 74LS139 為兩個(gè)2線-4 線譯碼器,共有 54/74S139和 54/74LS139 兩種線路結(jié)構(gòu)型式,當(dāng)選通端(G1)為低電平,可將地址端(A、B)的二進(jìn)
40、制編碼在一個(gè)對應(yīng)的輸出端以低電平譯出。 若將選通端(G1)作為數(shù)據(jù)輸入端時(shí),139 還可作數(shù)據(jù)分配器。</p><p> 74LS139的引腳E為選通端,低電平有效,B、A為譯碼器輸入端,Y0~Y4為譯碼器輸出端。其內(nèi)部結(jié)構(gòu)如圖3-5所示,當(dāng)選通端(E)為低電平時(shí),可將輸入端(B、A)的二進(jìn)制編碼在一個(gè)對應(yīng)的輸出端以低電平輸出;當(dāng)選通端(E)為高電平時(shí),個(gè)輸入端均輸出高電平。在實(shí)際應(yīng)用中可以將選通端E與高位地址
41、線相連接,也可以根據(jù)需要直接將E端接地。前一種連接方法選通端參與譯碼,后一種連接方法選通端不參與譯碼。</p><p> 表3-3 74LS139真值表</p><p> 3.4 LED數(shù)碼管</p><p> 本設(shè)計(jì)中采用的是7SEG–COM–AN-GRN型號數(shù)碼管,它是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。</p><p>
42、 數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元。按能顯示多少個(gè)“8”可分為1位、2位、4位等數(shù)碼管。</p><p> 按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電
43、平時(shí),相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽極為低電平時(shí),相應(yīng)字段就不亮。</p><p> 四、 硬件電路設(shè)計(jì)</p><p> 圖4-1 數(shù)字式頻率計(jì)原理框圖</p><p> 由圖
44、4-1可以看出,待測信號經(jīng)過放大整形電路后得到一個(gè)待測信號的脈沖信號,然后通過計(jì)數(shù)器計(jì)數(shù),可得到需要的頻率值,最后送入譯碼顯示電路中顯示出來。但是控制部分相對重要,它在整個(gè)系統(tǒng)的運(yùn)行中起至關(guān)重要的作用。</p><p> 本設(shè)計(jì)控制電路和計(jì)數(shù)器電路以AT89C51為核心,譯碼顯示電路采用單片機(jī)靜態(tài)顯示計(jì)數(shù)來顯示,采用4位LED數(shù)碼管顯示器。下面分節(jié)介紹各部分硬件電路:</p><p>
45、 4.1 控制、計(jì)數(shù)電路</p><p> 單片機(jī)作為控制系統(tǒng)和計(jì)數(shù)器,是本次設(shè)計(jì)的最重要的部分,AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相
46、兼容。由于將多功能8位CPU和閃爍存儲器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。所以本次設(shè)計(jì)采用AT89C51單片機(jī)。</p><p> 89C51單片機(jī), 它提供下列標(biāo)準(zhǔn)特征:4K字節(jié)的程序存儲器,128字節(jié)的RAM,32條I/O線,2個(gè)16位定時(shí)器/計(jì)數(shù)器,,一個(gè)5中斷源兩個(gè)優(yōu)先級的中斷結(jié)構(gòu),一個(gè)雙工的串行口,片上震蕩器和時(shí)鐘電路。
47、前面已經(jīng)詳細(xì)介紹過AT89C51了,在此不再作詳細(xì)的描述。</p><p> 4.2 外部震蕩電路的設(shè)計(jì)</p><p> 一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在XTAL2引腳產(chǎn)生幅度為3V左右的正弦波時(shí)鐘信號,其振蕩頻率為11.0592HZ。電路中兩個(gè)電容 C1,C2的作用有兩個(gè):一是幫助振蕩器起振;二是對振蕩器的頻率進(jìn)行微調(diào)。C1,C2的典型值為30
48、pF。</p><p> 4.3 譯碼顯示電路</p><p> 顯示電路采用靜態(tài)顯示方式。頻率測量結(jié)果經(jīng)過74LS139譯碼,通過AT89C51 的并行I/0口送出。經(jīng)74LS373擴(kuò)展顯示到每一位。</p><p> 4.4 顯頻和鎖頻電路</p><p> 當(dāng)頻率波動(dòng)太快,在規(guī)定時(shí)間內(nèi)無法記錄時(shí),可以對顯示頻上的頻率進(jìn)行鎖定
49、,方便記錄數(shù)據(jù)。此處是運(yùn)用外部信號輸入,使得送顯跳出循環(huán),就此對顯示器進(jìn)行鎖定。</p><p> 五、 軟件流程設(shè)計(jì)</p><p> 對于頻率的計(jì)算,我們采用中斷定時(shí)。記錄出每50ms的時(shí)間中通過波的脈沖數(shù),記錄20次,即1s時(shí)間內(nèi)通過的脈沖,從而計(jì)算出信號源的頻率。并通過顯示函數(shù)將結(jié)果顯示到5位數(shù)碼管上。計(jì)算和顯示完一次頻率后,進(jìn)行重裝T0時(shí)間常數(shù)的高、低八位。再一次進(jìn)入計(jì)算頻
50、率和顯示頻率的過程。如果P3_7口鎖屏的信號輸入,送顯函數(shù)跳出循環(huán),這樣5位LED數(shù)碼管上將一直顯示鎖屏信號給出前的頻率,而對實(shí)時(shí)改變的頻率不會(huì)顯示,直到計(jì)頻指令發(fā)出,再對實(shí)時(shí)頻率進(jìn)行送顯,以起到鎖屏功能。當(dāng)顯頻信號輸入時(shí),5位數(shù)碼管顯示此時(shí)信號源的頻率。其軟件流程如圖5-1所示。</p><p> 注:流程圖均只表示出程序設(shè)計(jì)的簡單流程,并且只表示出處理一次測量的過程,多次測量重復(fù)以上步驟即可。具體細(xì)節(jié)或某些
51、中間變量的賦值和對程序流程的影響詳細(xì)見程序注釋。</p><p> 六、 調(diào)試過程論述</p><p> 在設(shè)計(jì)的過程中,我們經(jīng)歷了一次次的失敗,最終以良好的結(jié)果完成了此次課程設(shè)計(jì)。我們組在第一天和第二天對電路圖進(jìn)行了設(shè)計(jì),因?yàn)樵O(shè)計(jì)理論是采用靜態(tài)顯示,所以電路圖設(shè)計(jì)方面比較復(fù)雜。尤其是采用74LS373擴(kuò)展并行口顯示,使得電路的設(shè)計(jì)難度增大,最后通過我們一起查閱書籍和實(shí)驗(yàn)課作業(yè),完美
52、的完成了電路圖方面的設(shè)計(jì)。</p><p> 一個(gè)難題解決又會(huì)出現(xiàn)另一個(gè)難題,在C語言編程定時(shí)計(jì)數(shù)方面,因掌握不好在計(jì)算公式,在頻率計(jì)算和循環(huán)計(jì)算方面出現(xiàn)了很大的錯(cuò)誤。使得初始的程序在仿真運(yùn)行過程中,出現(xiàn)了只送顯不計(jì)算的結(jié)果。經(jīng)過修改計(jì)算公式后,在仿真過程中又出現(xiàn)了不能連續(xù)計(jì)算和送顯。在多次調(diào)試和請教老師后才改正正確。</p><p><b> 七、 結(jié)論和總結(jié)</b
53、></p><p> 本文研究設(shè)計(jì)的簡易頻率計(jì)采用了通用的電子元器件,利用AT89C51單片機(jī)及外圍接口實(shí)現(xiàn)強(qiáng)大系統(tǒng),利用單片機(jī)的定時(shí)器、計(jì)數(shù)器定時(shí)和計(jì)數(shù)的原理,將軟、硬件有機(jī)的結(jié)合起來。理論聯(lián)系實(shí)際,體現(xiàn)出大學(xué)生的動(dòng)手能力。通過查資料和收集有關(guān)的文獻(xiàn),培養(yǎng)了自學(xué)能力和動(dòng)手能力。并且有原先的被動(dòng)接受只是轉(zhuǎn)換為主動(dòng)尋求只是,這是收集學(xué)習(xí)方法上的一個(gè)很大突破。在以往的傳統(tǒng)學(xué)習(xí)模式下,我們可能會(huì)記住很多書本知識
54、,但是通過畢業(yè)設(shè)計(jì),我們學(xué)會(huì)了如何將學(xué)到的知識化為自己的東西,學(xué)會(huì)了怎么跟好的處理只是和實(shí)踐相結(jié)合的問題,把握重點(diǎn),攻克難關(guān),學(xué)到用到活學(xué)活用。在設(shè)計(jì)過程中由于時(shí)間倉促有很多地方難免存在不足之處,硬件設(shè)計(jì)已經(jīng)完成,并實(shí)現(xiàn)了對顯示屏進(jìn)行實(shí)時(shí)鎖屏計(jì)數(shù),在工業(yè)上有很好的實(shí)際運(yùn)用性。并且其測量的頻率范圍為10~10000Hz,具有較廣泛的測量運(yùn)用。我們最終采用M法:示波器顯示數(shù)值與靜態(tài)顯示的數(shù)值十分吻合,誤差相當(dāng)小,一般在1~5Hz內(nèi)。本測量在
55、低頻段的相對測量誤差較小。但在高頻段的誤差會(huì)有所增大,并且送顯時(shí)間會(huì)有所增加。增大T可以提高測量精度,但在高頻段仍不能滿足要求。這些誤差的存在原因有(1)單片機(jī)計(jì)數(shù)速率的限制</p><p> 設(shè) 計(jì) 體 會(huì)</p><p> 我在這一次頻率計(jì)的設(shè)計(jì)過程中,很是受益匪淺。通過對自己在大學(xué)兩年半時(shí)間里所學(xué)的知識的回顧,并充分發(fā)揮對所學(xué)知識的理解和對課程設(shè)計(jì)的思考及書面表
56、達(dá)能力,最終完成了。這為自己今后進(jìn)一步深化學(xué)習(xí),積累了一定寶貴的經(jīng)驗(yàn)。撰寫論文的過程也是專業(yè)知識的學(xué)習(xí)過程,它使我運(yùn)用已有的專業(yè)基礎(chǔ)知識,對其進(jìn)行設(shè)計(jì),分析和解決一個(gè)理論問題或?qū)嶋H問題,把知識轉(zhuǎn)化為能力的實(shí)際訓(xùn)練。培養(yǎng)了我運(yùn)用所學(xué)知識解決實(shí)際問題的能力。</p><p> 通過這次課程設(shè)計(jì)我發(fā)現(xiàn),只有理論水平提高了;才能夠?qū)⒄n本知識與實(shí)踐相整合,理論知識服務(wù)于教學(xué)實(shí)踐,以增強(qiáng)自己的動(dòng)手能力。這個(gè)實(shí)驗(yàn)十分有意義
57、我獲得很深刻的經(jīng)驗(yàn)。通過這次課程設(shè)計(jì),我們知道了理論和實(shí)際的距離,也知道了理論和實(shí)際想結(jié)合的重要性,,也從中得知了很多書本上無法得知的知識。</p><p> 我們的學(xué)習(xí)不但要立足于書本,以解決理論和實(shí)際教學(xué)中的實(shí)際問題為目的,還要以實(shí)踐相結(jié)合,理論問題即實(shí)踐課題,解決問題即課程研究,學(xué)生自己就是一個(gè)專家,通過自己的手來解決問題比用腦子解決問題更加深刻。學(xué)習(xí)就應(yīng)該采取理論與實(shí)踐結(jié)合的方式,理論的問題,也就是實(shí)踐
58、性的課題。這種做法既有助于完成理論知識的鞏固,又有助于帶動(dòng)實(shí)踐,解決實(shí)際問題,加強(qiáng)我們的動(dòng)手能力和解決問題的能力。</p><p><b> 附錄一</b></p><p><b> 完整電路圖</b></p><p><b> 附錄二</b></p><p><b
59、> 仿真程序</b></p><p> #include "reg51.h"</p><p> #include "absacc.h"</p><p> #define LED4 XBYTE[0x1FFF] //千位最高地址</p><p> #define LED3 XBY
60、TE[0X3FFF] //百位最高地址</p><p> #define LED2 XBYTE[0X5FFF] //十位最高地址</p><p> #define LED1 XBYTE[0X7FFF] //個(gè)位最高地址</p><p> #define uint unsigned int</p><p> unsigned char
61、code table[10]={0xc0,0xf9,</p><p> 0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};</p><p> int i=0,counter=0;</p><p> unsigned char l4,l3,l2,l1;</p><p> uint frequency;&l
62、t;/p><p> void t0ser(void);</p><p> sbit P3_7=P3^7;</p><p> void Display()</p><p><b> {</b></p><p> //unsigned char l4,l3,l2,l1;//定義數(shù)的各個(gè)位<
63、;/p><p> if(frequency>=10) //判斷頻率值是否過10Hz</p><p> {l4=frequency/1000;//千位</p><p> l3=(frequency-l4*1000)/100;//百位</p><p> l2=(frequency-l4*1000-l3*100)/10;//十位</
64、p><p> l1=frequency-l4*1000-l3*100-l2*10;//個(gè)位</p><p><b> }</b></p><p> else //如果頻率不過10Hz,顯示結(jié)果為0000</p><p> {l4=0;l3=0;l2=0;l1=0;}</p><p><b
65、> while(1)</b></p><p><b> { </b></p><p> LED4=table[l4];//送顯千位</p><p> LED3=table[l3];//送顯百位</p><p> LED2=table[l2];//送顯十位</p><p>
66、; LED1=table[l1];//送顯個(gè)位</p><p> if(P3_7==1) break;//對顯示屏上的頻率進(jìn)行鎖定</p><p><b> }</b></p><p><b> }</b></p><p> void main() //主函數(shù)</p>&
67、lt;p><b> { </b></p><p> TMOD=0x51;//T0 記時(shí) T1計(jì)數(shù)</p><p> TH0=0x3c;//定時(shí)50ms</p><p><b> TL0=0xB0;</b></p><p> TH1=0x00;//計(jì)數(shù)</p><
68、;p><b> TL1=0x00;</b></p><p> TR0=1; //開T0</p><p> TR1=1;//開T1</p><p> ET0=1;//開中斷</p><p> EA=1;//打開總中斷 </p><p><b> while(1)
69、</b></p><p><b> {</b></p><p> Display();</p><p><b> }</b></p><p><b> }</b></p><p> void t0ser(void) inter
70、rupt 1 using 1 //中斷源1 “interrupt 1”:定時(shí)器0溢出中斷</p><p><b> {</b></p><p> counter++; </p><p> if(counter<20)//記不滿一秒</p><p><b> {</b></p>
71、;<p> TH0=0x3C; //重置T0時(shí)間常數(shù)高8位</p><p> TL0=0xB0; //重置T0時(shí)間常數(shù)低8位</p><p><b> }</b></p><p><b> else</b></p><p> { TR0=0; //啟動(dòng)定時(shí)器T0<
72、;/p><p> TR1=0; //啟動(dòng)定時(shí)器T1</p><p> frequency=TH1*256+TL1; //計(jì)算頻率值</p><p> TH1=0;//清T1高8位</p><p> TL1=0;//清T1低8位</p><p> TH0=0x3c; //重置T0時(shí)間常數(shù)高8位</p>
73、<p> TL0=0xb0; //重置T0時(shí)間常數(shù)低8位</p><p> counter=0; //中斷次數(shù)計(jì)數(shù)器清0</p><p> TR1=1;//啟動(dòng)T1開始重新計(jì)數(shù)</p><p> TR0=1;//啟動(dòng)T0開始1s定時(shí)</p><p><b> }</b></p>&
74、lt;p><b> }</b></p><p><b> 參考文獻(xiàn)</b></p><p> [1] 李華等.MCS- 51 系列單片機(jī)實(shí)用接口技術(shù)[M]. 北京. 北京航空航天大學(xué)出版社, 1993.</p><p> [2]趙全利,肖興達(dá).單片機(jī)原理及應(yīng)用教程(第二版)[M].北京.機(jī)械工業(yè)出版社,200
75、7.7.</p><p> [3]賈振國,許琳.智能化儀器儀表原理及運(yùn)用:基于Proteus及C51程序設(shè)計(jì)語言.北京.中國水利水電出版社,2011.1.</p><p> [4]?url=g2SjzQ4bHK6sU90usq-oQo1-Xn4K44QK8FvKEw1f2IYgHI_JWQDihWhSk0ZCIkvkvtp5_LQcM1G33YhqnWZF88TuEeobBdk01Ak
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 簡易頻率計(jì)課程設(shè)計(jì)
- eda課程設(shè)計(jì)--簡易頻率計(jì)設(shè)計(jì)
- 單片機(jī)簡易頻率計(jì)課程設(shè)計(jì)報(bào)告
- 簡易數(shù)字頻率計(jì)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告--簡易數(shù)字頻率計(jì)
- 簡易數(shù)字頻率計(jì)課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)報(bào)告-簡易頻率計(jì)
- 簡易數(shù)字頻率計(jì)課程設(shè)計(jì)報(bào)告
- 簡易數(shù)字頻率計(jì)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告-簡易數(shù)字頻率計(jì)
- 綜合課程設(shè)計(jì)報(bào)告——簡易數(shù)字頻率計(jì)
- 簡易頻率計(jì)單片機(jī)課程設(shè)計(jì)
- 單片機(jī)簡易頻率計(jì)課程設(shè)計(jì)
- 簡易數(shù)字頻率計(jì)設(shè)計(jì)課程設(shè)計(jì)
- 課程設(shè)計(jì)--簡易數(shù)字頻率計(jì)設(shè)計(jì)
- 數(shù)電簡易數(shù)字頻率計(jì)課程設(shè)計(jì)報(bào)告
- 簡單頻率計(jì)課程設(shè)計(jì)報(bào)告
- eda課程設(shè)計(jì)報(bào)告---頻率計(jì)
- eda頻率計(jì)課程設(shè)計(jì)報(bào)告
- vhdl課程設(shè)計(jì)--簡易數(shù)字頻率計(jì)
評論
0/150
提交評論