版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 本科畢業(yè)設(shè)計</b></p><p> 基于單片機的三相信號發(fā)生器的設(shè)計</p><p> 所在學(xué)院 </p><p> 專業(yè)班級 電氣工程及其自動化 </p><p> 學(xué)生姓名 學(xué)號
2、 </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 </p><p><b> 摘 要</b></p><p> 基于單片機的三相信號發(fā)生器的設(shè)計即利用單片微處理機、存儲器、顯
3、示器等元件,擴展幾片A/D,D/A轉(zhuǎn)換器以及放大器,再編寫一些程序,便可產(chǎn)生三相電流,仿真它的試驗功能。本文先概述介紹了設(shè)計的主要思路,包括系統(tǒng)功能設(shè)計要求、系統(tǒng)原理、工作過程和技術(shù)指標(biāo),再討論了單片機的簡介、應(yīng)用于發(fā)展概況,闡明了選擇AT89C51單片機來進行系統(tǒng)設(shè)計的原因。</p><p> 本設(shè)計采用AT89C51單片機擴展了三片DAC0832數(shù)模轉(zhuǎn)換器進行數(shù)字量到模擬量的轉(zhuǎn)換,產(chǎn)生三相信號。再通過A/D
4、轉(zhuǎn)換器ADC0809對三相信號進行采樣處理,從而調(diào)整三相信號的電壓幅度。通過鍵盤功能鍵進行各功能的設(shè)定,并通過4位數(shù)碼顯示器顯示出頻率、相位、幅度和波形。經(jīng)過調(diào)試及多次測試,排除了硬件、軟件調(diào)試中出現(xiàn)的各種故障和問題,本設(shè)計系統(tǒng)運行可靠,實現(xiàn)了利用單片機產(chǎn)生三相信號并加以控制,完成了設(shè)計的基本要求和目的。本設(shè)計反應(yīng)了基于單片機的三相信號發(fā)生器的設(shè)計在實際應(yīng)用中所面臨的問題以及探討了解決這些問題的相關(guān)方法。</p><
5、p> 關(guān)鍵詞:單片機;三相信號;數(shù)模轉(zhuǎn)換</p><p><b> ABSTRACT</b></p><p> Based on SCM three-phase signal generator design is using single chip microprocessor, storage, display, extended A few slic
6、es of elements such as the A/D and D/A converter and amplifiers, again write programs, can produce three current, the simulation its trial function. This paper first Outlines introduces design of the main ideas, includin
7、g the system function design requirements, system principle, process and technical index, then discusses the introduction, applied in SCM development survey,</p><p> The design USES AT89C51 expanded 3-piece
8、 DAC0832 digital-to-analog converters for the digital quantity to analogue conversion, produce three-phase signal. Again through A/D converter for three-phase signal sampling ADC0809 three-phase signal processing, thus t
9、he voltage amplitude adjustment. Through the keyboard function keys for each function setting, and through four digital display shows the frequency, phase and amplitude and waveform. After commissioning and multiple test
10、s, ruled out hardwar</p><p> Keywords: SCM; Three-phase signal; digital-to-analog </p><p><b> 目錄</b></p><p><b> 前言1</b></p><p> 第1章 概 述2
11、</p><p> 1.1 功能設(shè)計要求2</p><p> 1.2 系統(tǒng)原理2</p><p> 1.3 工作過程2</p><p> 1.4 技術(shù)指標(biāo)2</p><p> 第2章 硬件設(shè)計3</p><p> 2.1 單片機的選擇3</p>
12、<p> 2.2 輸入/輸出接口的擴展5</p><p> 2.3 D/A接口的設(shè)計6</p><p> 2.4 A/D接口的設(shè)計9</p><p> 2.5 鍵盤及其接口的設(shè)計12</p><p> 2.6 時鐘及復(fù)位電路的設(shè)計13</p><p> 2.7 顯示器接口的設(shè)
13、計15</p><p> 2.8 可靠性和抗干擾措施18</p><p> 第3章 軟件設(shè)計20</p><p> 3.1 運行狀態(tài)主程序的設(shè)計20</p><p> 3.2 鍵輸入處理程序的設(shè)計20</p><p> 3.3 定時器中斷服務(wù)程序的設(shè)計28</p><
14、p> 3.4 二進制整數(shù)轉(zhuǎn)換成十進制BCD碼的設(shè)計29</p><p> 3.5 定時器的時間常數(shù)與頻率的對應(yīng)關(guān)系29</p><p> 3.6 正弦函數(shù)表的生成方法30</p><p> 3.7 顯示程序的設(shè)計31</p><p> 第4章 硬件電路的組裝及調(diào)試32</p><p>
15、; 4.1 組裝32</p><p> 4.2 硬件電路的調(diào)試32</p><p> 4.3 硬件調(diào)試出現(xiàn)的故障及排除方法33</p><p> 第5章 軟件調(diào)試34</p><p> 5.1 調(diào)試方法34</p><p> 5.2 軟件調(diào)試所發(fā)現(xiàn)的問題和解決方法35</p&g
16、t;<p><b> 小結(jié)36</b></p><p> 致謝錯誤!未定義書簽。</p><p><b> 參考文獻37</b></p><p> 附錄1運行狀態(tài)主程序清單38</p><p> 附錄2原理結(jié)構(gòu)圖(protel環(huán)境)49</p><
17、;p><b> 前言</b></p><p> 單片機全稱為單片微型計算機,是一種集成在電路,采用超大規(guī)模集成電路技術(shù)將CPU、ROM、RAM、多種I/O口和中斷系統(tǒng)、定時器/計數(shù)器等功能集成到一個硅片上構(gòu)成的小而完善的計算機系統(tǒng)。</p><p> 單片機應(yīng)用非常廣泛,可以分為獨立的應(yīng)用程序及多機的應(yīng)用程序。所謂的獨立的應(yīng)用程序是指在一個應(yīng)用系統(tǒng)中只使用
18、一塊單片機,這是目前絕大多數(shù)領(lǐng)域中的應(yīng)用現(xiàn)狀。獨立的應(yīng)用程序的主要領(lǐng)域有:智能產(chǎn)品、測量及控制系統(tǒng)、CNC控制機、智能儀表、智能接口。多機的應(yīng)用程序是高科技領(lǐng)域應(yīng)用的主要模式,單片機的控制性能和高可靠性、高運行速度,必須使未來的高科技工程系統(tǒng)采用單片機多機的應(yīng)用系統(tǒng)成為主要的發(fā)展方向。</p><p> 隨著時代的進步,電力與電子技術(shù)在現(xiàn)實生活中的應(yīng)用越來越廣泛,這就需要我們對電路進行更安全、更詳細(xì)的設(shè)計。而在
19、做強、弱電實驗的時候,我們也需要進行模擬實際系統(tǒng)或者測試系統(tǒng)的性能。顯示、設(shè)定、負(fù)載監(jiān)控、熱模擬等一些功能現(xiàn)在已經(jīng)多數(shù)被引入實驗,而三相信號源的設(shè)計與其他部件一樣應(yīng)運而生了。</p><p> 按模擬電路構(gòu)成的低頻信號源性能不能令人滿意,且用于低頻其RC要很大,大電阻、大電容在制造上有困難,參數(shù)準(zhǔn)確度難以保證、體積大、漏電損耗顯著等,而單片機的推廣應(yīng)用能解決這些困難。單片機具有如下特點。</p>
20、<p> 1、集成度高、功能強。</p><p><b> 2、結(jié)構(gòu)合理。</b></p><p><b> ?。?)存儲量大。</b></p><p> (2)速度快、功能專一。</p><p><b> 3、抗干擾性強。</b></p>&l
21、t;p> 4、指令豐富。單片機的指令一般有數(shù)據(jù)傳送、算術(shù)運算、邏輯運算、控制轉(zhuǎn)移等,有些還具有位操作指令。</p><p> 由于它的簡單易操作、價格低廉、實現(xiàn)容易使其逐漸得到了廣泛的應(yīng)用。</p><p> 現(xiàn)利用單片微處理機、存儲器、顯示器等元器件,擴展幾片A/D,D/A轉(zhuǎn)換器以及放大器,再編寫一些程序,便可產(chǎn)生三相電流,仿真它的試驗功能。</p><p
22、><b> 第1章 概 述</b></p><p> 1.1 功能設(shè)計要求</p><p> 1、三相正弦信號頻率:45Hz~65Hz內(nèi)可調(diào)</p><p> 2、三相正弦信號相位:可在0~180度內(nèi)移相</p><p> 3、三相正弦信號幅度:可在0~10V內(nèi)調(diào)節(jié)</p><p
23、><b> 1.2 系統(tǒng)原理</b></p><p> 按系統(tǒng)功能設(shè)計要求,原理框圖如下:</p><p> 圖1.1 系統(tǒng)原理框圖</p><p> 89C51單片機擴展了三片DAC0832數(shù)模轉(zhuǎn)換器進行數(shù)字量到模擬量地轉(zhuǎn)換,產(chǎn)生三相信號。通過A/D轉(zhuǎn)換器ADC0809對三相信號進行采樣處理,從而調(diào)整三相信號的電壓幅度。系統(tǒng)
24、通過鍵盤進行各功能的設(shè)定,并通過4位數(shù)碼顯示器顯示出頻率、相位、幅度、波形。</p><p><b> 1.3 工作過程</b></p><p> 接通電源后,單片機三相信號發(fā)生器系統(tǒng)復(fù)位后執(zhí)行運行狀態(tài)主程序,系統(tǒng)將按頻率為50Hz,相位為120度產(chǎn)生一個三相信號。如果需要調(diào)整,可將功能鍵“1”按下,通過“+”﹑“-”鍵調(diào)節(jié)到所需要的數(shù)值,系統(tǒng)將會自動地按照用戶
25、設(shè)定的數(shù)值進行調(diào)整,并在顯示器上顯示當(dāng)前系統(tǒng)正在工作的頻率、相位、幅度。當(dāng)需要調(diào)整波形時,按下功能鍵“2”,然后調(diào)整A、B、C三相電位器,便可調(diào)整三相電源的波形,顯示器上將顯示出當(dāng)前工作時是鋸齒波、三角波還是方波。</p><p><b> 1.4 技術(shù)指標(biāo)</b></p><p> 1、頻率范圍:45Hz~65Hz,分辨率1Hz</p><
26、p> 2、相位范圍:0 ~180度,分辨率4度</p><p> 3、幅度范圍:-10 ~ 10V,分辨率0.01V</p><p> 4、電源電壓:220V</p><p><b> 第2章 硬件設(shè)計</b></p><p> 2.1 單片機的選擇</p><p><b
27、> 一、單片機簡介</b></p><p> 1、單片機全稱為單片微型計算機,是一種集成在電路,采用超大規(guī)模集成電路技術(shù)將CPU、ROM、RAM、多種I/O口和中斷系統(tǒng)、定時器/計數(shù)器等功能集成到一個硅片上構(gòu)成的小而完善的計算機系統(tǒng)。單片機自動完成賦予它的任務(wù)的過程,即一條條執(zhí)行的指令的過程,所謂指令就是把要求單片機執(zhí)行的各種操作用的命令的形式寫下來,這是在設(shè)計人員賦予它的指令系統(tǒng)所決定的,
28、一條指令對應(yīng)著一種基本操作;單片機所能執(zhí)行的全部指令,就是該單片機的指令系統(tǒng),不同種類的單片機,其指令系統(tǒng)亦不同。為使單片機能自動完成某一特定任務(wù),必須把要解決的問題編成一系列指令,這一系列指令的集合就成為程序,程序需要預(yù)先存放在具有存儲功能的部件——存儲器中。存儲器由許多存儲單元組成,就像大樓房由許多房間組成一樣,指令就存放在這些單元里,單元里的指令取出并執(zhí)行就像大樓房的每個房間的被分配到了唯一一個房間號一樣,每一個存儲單元也必須被分
29、配到唯一的地址號,該地址號稱為存儲單元的地址,這樣只要知道了存儲單元的地址,就可以找到這個存儲單元,其中存儲的指令就可以被取出,然后再被執(zhí)行。</p><p><b> 2、單片機的應(yīng)用:</b></p><p> 目前單片機滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機的蹤跡。</p><p> (1)在智能儀器儀表上的應(yīng)用&
30、lt;/p><p> ?。?)在工業(yè)控制中的應(yīng)用</p><p> ?。?)在家用電器中的應(yīng)用</p><p> (4)在計算機網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用</p><p> ?。?)在醫(yī)療設(shè)備領(lǐng)域中的應(yīng)用</p><p> ?。?)在各種大型電器中的模擬塊應(yīng)用</p><p> ?。?)在汽車設(shè)備領(lǐng)域
31、中的應(yīng)用</p><p> 3、單片機的發(fā)展概況:</p><p> (1)4位單片機(1971年-1974年)</p><p> ?。?)低、中檔8位機(1974年-1978年)</p><p> (3)高檔8位機(1978年-1982年)</p><p> ?。?)16位單片機和超8位單片機(1982年-目前
32、)</p><p> 單片機的發(fā)展趨勢向著大容量、高性能與小容量、低廉化,外圍電路內(nèi)裝化以及I/O接口的的增強和能耗降低等方向發(fā)展。</p><p><b> 二、選擇單片機</b></p><p> Intel公司的MCS-51系列單片機以其面市早、控制能力強和性能價格比高等特點最先在中國得到推廣應(yīng)用,在國內(nèi)有著很大的影響。隨著單片機應(yīng)
33、用領(lǐng)域的不斷擴大,世界各大半導(dǎo)體公司相繼推出與MCS-51相兼容或相類似的單片機系列,使以MCS-51為內(nèi)核的單片機功能更強,使用更方便?,F(xiàn)采用美國ATMEL公司的8位的89系列單片機。AT89C51單片機是89系列中的標(biāo)準(zhǔn)型產(chǎn)品,它采用了CMOS工藝和ATMEL公司的高密度非易失性技術(shù),其輸出引腳和指令系統(tǒng)都與MCS-51系統(tǒng)兼容,因此,AT89C51單片機是一種功能強、靈活性高的單片機。</p><p>
34、三、AT89C51單片機</p><p> 1、AT89C51單片機的主要性能和特點如下:</p><p> ●與MCS-51兼容</p><p> ●4K字節(jié)可編程FLASH存儲器</p><p> ●壽命:1000寫/擦循環(huán)</p><p> ●數(shù)據(jù)保留時間:10年</p><p>
35、; ●全靜態(tài)工作:0Hz-24MHz</p><p> ●三級程序存儲器鎖定</p><p> ●128×8位內(nèi)部RAM</p><p> ●32可編程I/O線</p><p> ●兩個16位定時器/計數(shù)器</p><p><b> ●5個中斷源</b></p>
36、<p><b> ●可編程串行通道</b></p><p> ●低功耗的閑置和掉電模式</p><p> ●片內(nèi)振蕩器和時鐘電路</p><p> 2、AT89C51單片機引腳的功能</p><p> 圖2.1 AT89C51引腳圖</p><p> AT89C51單片機
37、的引腳定義與8051完全相同,但由于其具有4KB的內(nèi)部的Flash存儲器,在對其進行編程時,其中一些引腳起控制作用。在對Flash存儲器編程時,這些引腳的功能如下:</p><p> ALE/:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在Flash編程期間,此引腳用于輸入編程脈沖。</p><p> /Vpp:該引腳在對Flash存儲器編程期間,施加編程電壓Vp
38、p(如果編程電壓為12V時,則施加12V電源)。</p><p> P0口:一個8位漏極開路型雙向I/O口。在Flash存儲器編程期間接受指令,在校驗程序時,則輸出指令字節(jié)。</p><p> P1口:一個內(nèi)部帶上拉電阻的8位準(zhǔn)雙向口I/O。在對Flash存儲器編程和程序驗證時,P1口接收低8位地址。</p><p> P2口:一個內(nèi)部帶上拉電阻的8位準(zhǔn)雙向口
39、I/O。在對Flash存儲器編程和程序驗證時,P2口接收高8位地址和一些控制信號。</p><p> P3口:一個內(nèi)部帶上拉電阻的8位準(zhǔn)雙向口I/O。P3.6、P3.7在Flash存儲器編程和程序校驗時,接收控制信號。</p><p> 3、程序存儲器的加密</p><p> AT89C51單片機有3個加密LB1、LB2、LB3,通過軟件編程可定義這3個加密位
40、的狀態(tài),以獲得這些加密功能。這3個加密位的狀態(tài)以及相應(yīng)的功能見下表。表中U表示未編程,P表示編程。通過片擦除可以擦除加密位。</p><p> 表2.1 加密位的功能表</p><p> 四、單片機應(yīng)用系統(tǒng)的硬件電路設(shè)計內(nèi)容</p><p> 1、系統(tǒng)擴展,即單片機內(nèi)部的功能單元,如ROM、RAM、I/O、定時器/計數(shù)器、中斷系統(tǒng)等不能滿足應(yīng)用系統(tǒng)的要求時,
41、必須在片外進行擴展,選擇適當(dāng)?shù)男酒?,設(shè)計相應(yīng)的電路。</p><p> 2、系統(tǒng)配置,即按照系統(tǒng)功能要求配置外圍設(shè)備,如鍵盤、顯示器、打印機、A/D、D/A轉(zhuǎn)換器等,要設(shè)計合適的接口電路。</p><p> 2.2 輸入/輸出接口的擴展</p><p> 單片機AT89C51有四個8位并行輸入/輸出口。單片機與外部設(shè)備的數(shù)據(jù)傳送都是通過并行輸入/輸出口或串行
42、口完成的。但這些I/O口并不能完全提供給用戶使用。所以在設(shè)計系統(tǒng)時需要在片外擴展I/O接口。</p><p> I/O擴展用芯片種類很多。從系統(tǒng)的體積、負(fù)載、價格、功能等幾個方面考慮,TTL或MOS型74系列器件的品種繁多,價格低廉,故選74LS系列的TTL電路或MOS電路組成簡單的擴展接口。在實際電路中根據(jù)芯片特點及輸入、輸出量的特征,現(xiàn)采用帶三態(tài)門的鎖存器74LS373。其結(jié)構(gòu)和引腳見圖2.2。</p
43、><p> 圖2.2 74LS373結(jié)構(gòu)和引腳圖</p><p> 74LS373是帶清除端的8D觸發(fā)器,上升沿觸發(fā),具有鎖存功能。1D-8D為數(shù)據(jù)輸入端,1Q-8Q為數(shù)據(jù)輸出端,當(dāng)允許端G由高電平變?yōu)榈碗娖綍r,D端的數(shù)據(jù)被鎖存到鎖存器的輸出端。當(dāng)輸出控制端OC為低電平時,三態(tài)門開通,鎖存器的內(nèi)容輸出到芯片輸出端Q。</p><p> 2.3 D/A接口的設(shè)計
44、</p><p> 單片機三相信號發(fā)生器應(yīng)用系統(tǒng)為了得到三相信號源,必需將數(shù)字量轉(zhuǎn)換成模擬量。D/A轉(zhuǎn)換的基本原理是用電阻解碼網(wǎng)絡(luò),將N位數(shù)字量逐位轉(zhuǎn)換成模擬量并求和,從而實現(xiàn)將N位數(shù)字量轉(zhuǎn)換成模擬量。根據(jù)D/A轉(zhuǎn)換器的分辨率、滿刻度誤差、轉(zhuǎn)換時間、輸出范圍及與CPU接口的難易情況等特點,選用美國數(shù)據(jù)公司的8位D/A轉(zhuǎn)換器DAC0832。</p><p> 一、DAC0832的結(jié)構(gòu)和引
45、腳</p><p> DAC0832是8分辨率的D/A轉(zhuǎn)換集成芯片。與微處理器完全兼容。這個DA芯片以其價格低廉、接口簡單、轉(zhuǎn)換控制容易等優(yōu)點,在單片機應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。D/A轉(zhuǎn)換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。封裝為20腳雙列直插式。電流輸出、輸出電流穩(wěn)定時間為1us、功率損耗為20mW。邏輯輸入與電平兼容。</p><p> DA
46、C0832各引腳功能如下:</p><p> 圖2.3 DAC0832結(jié)構(gòu)框圖和引腳圖</p><p> D0~D7:8位數(shù)據(jù)輸入線,TTL電平,有效時間應(yīng)大于90ns(否則鎖存器的數(shù)據(jù)會出錯)。</p><p> ILE:數(shù)據(jù)鎖存允許控制信號輸入線,高電平有效。</p><p> ?。浩x信號輸入線(選通數(shù)據(jù)鎖存器),低電平有效。&
47、lt;/p><p> 1:數(shù)據(jù)鎖存器寫選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。由ILE、、1的邏輯組合產(chǎn)生1,當(dāng)1為高電平時,數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變換,1的負(fù)跳變時將輸入數(shù)據(jù)鎖存。</p><p> ?。簲?shù)據(jù)傳輸控制信號輸入線,低電平有效,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。</p><p> 2:DAC寄存器選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)
48、有效。由2、的邏輯組合產(chǎn)生2,當(dāng)2為高電平時,DAC寄存器的輸出隨寄存器的輸入而變化,2的負(fù)跳變時將數(shù)據(jù)鎖存器的內(nèi)容打入DAC寄存器并開始D/A轉(zhuǎn)換。</p><p> IOUT1:電流輸出端1,其值隨DAC寄存器的內(nèi)容線性變化。</p><p> IOUT2:電流輸出端2,其值與IOUT1值之和為一常數(shù)。</p><p> Rfb:反饋信號輸入線,改變Rfb
49、端外接電阻值可調(diào)整轉(zhuǎn)換滿量程精度。</p><p> Vcc:電源輸入端,Vcc的范圍為+5V~+15V。</p><p> VREF:基準(zhǔn)電壓輸入線,VREF的范圍為-10V~+10V。</p><p> AGND:模擬信號地 。</p><p> DGND:數(shù)字信號地。</p><p> D/A轉(zhuǎn)換器沒有
50、形式上的啟動信號,實際上后一級寄存器的控制信號就是D/A轉(zhuǎn)換器的啟動信號。另外,它也沒有轉(zhuǎn)換結(jié)束信號。D/A轉(zhuǎn)換的過程很快,一般不到一條指令的執(zhí)行時間。</p><p> 二、DAC0832與MCS-51接口的設(shè)計</p><p> 由于DAC0832帶有數(shù)據(jù)鎖存器、片選、讀、寫信號控制線,可直接與MCS-51單片機相連。</p><p> DAC0832內(nèi)部
51、有兩個寄存器,能實現(xiàn)三種工作方式:雙緩沖、單緩沖和直通方式。雙緩沖工作方式是指兩個寄存器分別受到控制。當(dāng)ILE、和1信號均有效時,8位數(shù)字量被寫入輸入寄存器,此時并不進行D/A轉(zhuǎn)換。當(dāng)WR2和XFER信號均有效時,原來存在輸入寄存器中的數(shù)據(jù)別寫入DAC寄存器,并進入D/A轉(zhuǎn)換器后進行D/A轉(zhuǎn)換。在一次轉(zhuǎn)換完成后到下一次轉(zhuǎn)換開始之前,由于寄存器的鎖存作用,8位D/A轉(zhuǎn)換器的輸入數(shù)據(jù)保持恒定,因此D/A轉(zhuǎn)換的輸出也保持恒定。在雙緩沖工作方式
52、下,利用輸入寄存器暫存數(shù)據(jù),給使用帶來方便,可以實現(xiàn)多路數(shù)字量的同步轉(zhuǎn)換輸出。</p><p> 單緩沖工作方式是指只有一個寄存器受到控制。這時將另一個寄存器的有關(guān)控制信號預(yù)先設(shè)置成有效,使之開通;或者將兩個寄存器的控制信號連在一起,兩個寄存器作為一個來使用。</p><p> 直通工作方式是指兩個寄存器的有關(guān)控制信號都預(yù)先置為有效,兩個寄存器都開通。只要數(shù)字量送到數(shù)據(jù)輸入端,就立即進
53、入D/A轉(zhuǎn)換器進行轉(zhuǎn)換。這種方式應(yīng)用較少。</p><p> 圖2.4 具有三相輸出的D/A轉(zhuǎn)換電路</p><p> 圖2.4中,三片DAC0832數(shù)模轉(zhuǎn)換器工作于雙緩沖方式,能實現(xiàn)同步轉(zhuǎn)換輸出。第一,CPU分時向各路D/A轉(zhuǎn)換器輸入要轉(zhuǎn)換的數(shù)字量并鎖存在各自的輸入寄存器中。第二,CPU對所有的D/A轉(zhuǎn)換器發(fā)生控制信號,使各路輸入寄存器中的數(shù)據(jù)進入DAC寄存器,實現(xiàn)同步轉(zhuǎn)換輸出。三
54、片0832的數(shù)據(jù)線都連到AT89C51的P0口;ILE、Vcc接+5V;1和2相連后由AT89C51的控制;分別接低位地址P2.0、P2.1和P2.2,這樣三片0832的輸入寄存器具有不同的地址,以便在CPU控制下同步進行D/A轉(zhuǎn)換和輸出。</p><p> 三、電流輸出轉(zhuǎn)換成電壓輸出</p><p> DAC0832以電流形式輸出轉(zhuǎn)換結(jié)果,得到電壓形式需外加I/V轉(zhuǎn)換電路,這里常采用
55、運算放大器。</p><p> 圖2.5為雙極性輸出</p><p> 圖2.5 DAC0832雙極性電壓輸出電路</p><p> 通過調(diào)整運算放大器的調(diào)整電位器,可以對D/A芯片進行零點補償。通過調(diào)節(jié)外接于反饋回路的電位器RP1,可以調(diào)整滿量程。</p><p> 對于雙極性輸出電路,輸出電壓的表達式為:</p>
56、<p> VOUT1= (D-128)*VREF /128 </p><p> 若VREF=+5V,當(dāng)D=0時,VOUT1=0,VOUT1=-5V;當(dāng)D=128(80H)時,VOUT1=-2.5V,VOUT=0;當(dāng)D=255(FFH)時,VOUT1=-4.98V,VOUT=4.96V。這一轉(zhuǎn)換關(guān)系由表2.2所式。</p><p> 表2.2 雙極性D/A轉(zhuǎn)換關(guān)系&
57、lt;/p><p> 2.4 A/D接口的設(shè)計</p><p> 為了使系統(tǒng)在運行過程中,能夠顯示出三相信號的幅度,采用A/D轉(zhuǎn)換器來進行模擬量到數(shù)字量的轉(zhuǎn)換,這樣才能使單片機系統(tǒng)進行采集、分析、計算,從而顯示出幅度。因考慮到A/D轉(zhuǎn)換器的分辨率、轉(zhuǎn)換精度、量化誤差以及轉(zhuǎn)換時間等性能參數(shù),選用ADC0809作為系統(tǒng)的轉(zhuǎn)換器件。</p><p> 一、ADC080
58、9的結(jié)構(gòu)和引腳</p><p> ADC0809是美國國家半導(dǎo)體公司生產(chǎn)的CMOS工藝8通道,8位逐次逼近式A/D轉(zhuǎn)換器。其內(nèi)部有一個8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進行A/D轉(zhuǎn)換。是目前國內(nèi)應(yīng)用最廣泛的8位通用A/D芯片。</p><p> ADC0809由三部分組成:8路模擬量選通開關(guān)、8位A/D轉(zhuǎn)換器和三態(tài)輸出數(shù)據(jù)鎖存器。封裝為28
59、腳雙列直插式。功率損耗為10mW。邏輯輸入與電平兼容。</p><p> ADC0809允許8路模擬信號輸入,由8路模擬開關(guān)選通其中一路信號,模擬開關(guān)受通道鎖存器,經(jīng)譯碼后使8路模擬開關(guān)選通某一路信號。</p><p> ADC0809是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,8位A/D轉(zhuǎn)換器為逐次逼近式,由256R電阻分壓器、樹狀模擬開關(guān)(這兩部分組成一個D/A變換器)、電壓比較器、逐
60、次逼近寄存器、邏輯控制和定時電路組成。其基本工作原理是采用對分搜索方法逐次比較,找出最逼近于輸入模擬量的數(shù)字量。電阻分壓器需外接正負(fù)基準(zhǔn)電源VREF(+)和VREF(-)。CLOCK端外接時鐘信號。A/D轉(zhuǎn)換器的啟動由START信號控制。轉(zhuǎn)換結(jié)束時控制電路將數(shù)字量送入三態(tài)輸出鎖存器鎖存,并產(chǎn)生轉(zhuǎn)換結(jié)束信號EOC。</p><p> 三態(tài)門輸出鎖存器用來保存A/D轉(zhuǎn)換結(jié)果,當(dāng)輸出允許信號OE有效時,打開三態(tài)門,輸
61、出A/D轉(zhuǎn)換結(jié)果。因輸出有三態(tài)門,便于與微機總線連接。</p><p> ADC0809各引腳功能說明如下:</p><p> IN0-IN7:8路模擬輸入端。</p><p> ALE:地址鎖存器允許信號輸入端。當(dāng)它為高電平時,地址信號進入地址鎖存器中。</p><p> CLOCK:外部時鐘輸入端。時鐘頻率典型值為640kHz,允
62、許范圍為10-1280kHz。時鐘頻率降低時,A/D轉(zhuǎn)換速度也降低。</p><p> START:A/D轉(zhuǎn)換信號輸入端。有效信號為一正脈沖。在脈沖上升沿,A/D轉(zhuǎn)換器內(nèi)部寄存器均被清零,在其下降沿開始A/D轉(zhuǎn)換。</p><p> EOC:A/D轉(zhuǎn)換結(jié)束信號。在START信號上升沿之后的0-2us+8個時鐘周期時間內(nèi),EOC變?yōu)榈碗娖?。?dāng)A/D轉(zhuǎn)換結(jié)束后,EOC立即輸出一正階躍信號,
63、可用來作為A/D轉(zhuǎn)換結(jié)束的查詢信號或中斷請求信號。</p><p> OE:輸出允許信號。當(dāng)OE輸入高電平信號時,三態(tài)輸出鎖存器將A/D轉(zhuǎn)換結(jié)果輸出。</p><p> D0-D7:數(shù)字量輸出端。D0為最低有效位(LSB),D7為最高有效位(MSB)。</p><p> REF(+)、REF(-):正負(fù)基準(zhǔn)電壓輸入端。基準(zhǔn)電壓的中心值(VREF(+)+VREF
64、(-))/2應(yīng)接近于VCC/2,其偏差值不應(yīng)超過±0.1V。正負(fù)基準(zhǔn)電壓的典型值分別為+5V和0V。</p><p> VCC、GND:電源電壓輸入端。</p><p><b> DGND:數(shù)字地。</b></p><p><b> AGND:模擬地。</b></p><p> 圖
65、2.6 ADC0809引腳圖</p><p> 二、ADC0809與MCS-51接口的設(shè)計</p><p> 1、輸出線的連接。ADC0809的輸出部分有三態(tài)鎖存器,因此其輸出數(shù)據(jù)線能直接與AT89C51的數(shù)據(jù)線相連。</p><p> 2、控制信號的連接。圖8中將A/D轉(zhuǎn)換器作為AT89C51的一個擴展I/O口,用高位地址線P2.3選通芯片。模擬輸入通道地
66、址的譯碼輸入信號A 、B、 C ,由低位地址線P0.0~P0.2經(jīng)過鎖存器提供。</p><p> 啟動信號START由結(jié)合P2.3提供。ALE直接與START相連。當(dāng)AT89C51執(zhí)行外部RAM寫操作時,就能啟動A/D轉(zhuǎn)換。轉(zhuǎn)換結(jié)束信號EOC經(jīng)過非門接到AT89C51的INT1,當(dāng)轉(zhuǎn)換結(jié)束EOC變高時,用來申請中斷。也可以采用查詢EOC或程序延時方法等待A/D轉(zhuǎn)換結(jié)束。輸出允許信號OE由P2.3結(jié)合RD提供,
67、當(dāng)AT89C51執(zhí)行外部RAM讀操作時,就能讀取A/D轉(zhuǎn)換結(jié)果。</p><p> 3、時鐘和基準(zhǔn)電源的連接。圖8中,A/D的時鐘信號借用AT89C51的ALE。當(dāng)MCS-51不執(zhí)行外部數(shù)據(jù)存儲器讀/寫操作時,ALE的頻率為單片機時鐘頻率的1/6。當(dāng)單片機的時鐘頻率為6MHZ時, ALE的頻率為1MHZ,,這對ADC0809是允許的。如果外部時鐘頻率太高,可以進行分頻處理。</p><p&g
68、t; 基準(zhǔn)電壓接到+5V電源,A/D轉(zhuǎn)換的精度直接受到電源電壓變動的影響。當(dāng)精度要求較高時,應(yīng)將基準(zhǔn)電壓接到高精度穩(wěn)壓電源上。</p><p> 圖2.7 A/D轉(zhuǎn)換實際線路圖</p><p> 圖2.8 ADC0809轉(zhuǎn)換接口電路</p><p> 2.5 鍵盤及其接口的設(shè)計</p><p> 在系統(tǒng)運行中,為了輸入數(shù)據(jù)、查
69、詢和控制系統(tǒng)的工作狀態(tài),都要設(shè)置鍵盤。 由于系統(tǒng)的功能要求可知,為了設(shè)定三相信號的頻率、相位以及顯示幅度,現(xiàn)在設(shè)計鍵盤中有4個命令鍵,即:</p><p> 1、“+”鍵:完成頻率、相位的遞增。</p><p> 2、“-”鍵:完成頻率、相位的遞減。</p><p> 3、選擇鍵“1”,包括:</p><p> ?。?)頻率鍵:設(shè)定及顯
70、示頻率。</p><p> ?。?)相位鍵:設(shè)定及顯示相位。</p><p> ?。?)幅度鍵:顯示信號的幅度。</p><p> 4、選擇鍵“2”,包括:</p><p> ?。?)鋸齒波鍵:顯示鋸齒波。</p><p> ?。?)三角波鍵:顯示三角波。</p><p> ?。?)方波鍵:顯
71、示方波。</p><p> 為了使程序設(shè)計簡單化,現(xiàn)采用獨立式鍵盤的結(jié)構(gòu)。每個按鍵的電路是獨立的,都有單獨一根數(shù)據(jù)線輸出鍵的通斷狀態(tài)。CPU通過檢測各數(shù)據(jù)線的狀態(tài),就能知道有無鍵閉合以及哪個鍵閉合。采用P1.0~P1.3口直接作為鍵盤接口。見圖2.9:</p><p> 圖2.9 獨立式鍵盤的接口電路</p><p> 2.6 時鐘及復(fù)位電路的設(shè)計<
72、/p><p><b> 一、時鐘電路</b></p><p> 時鐘電路是計算機的心臟,它控制著計算機的工作節(jié)奏。MCS-51單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1為該放大器的輸入端,XTAL2為該放大器的輸出端。其頻率范圍為1.2MHZ~12MHZ。時鐘可以由內(nèi)部方式或外部方式產(chǎn)生?,F(xiàn)系統(tǒng)的時鐘利用它內(nèi)部的振蕩器產(chǎn)生,在XTAL1、XTAL
73、2引腳上外接定時反饋電路,內(nèi)部振蕩器便自激起振。定時反饋電路是采用12M晶振和30pf的電容組成的并聯(lián)回路。</p><p><b> 二、復(fù)位電路</b></p><p> 對于MCS-51單片機,無論是HMOS型或CHMOS型,在啟動運行時都需要復(fù)位,使中央處理器CPU和系統(tǒng)的其他部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。</p>&l
74、t;p> 圖2.10 晶振電路</p><p> MCS-51單片機中RST引腳是復(fù)位信號的輸入端,它的輸入線內(nèi)部沒有整型電路,0.4V以下作為“0”,2.5V以上作為“1”,在0.45~2.5間是個不確定的狀態(tài),電源上電到穩(wěn)定輸出有一個時間,一般為幾十個毫秒,因此可能使CPU不能可靠地復(fù)位。復(fù)位的實現(xiàn)通??梢圆捎瞄_機上電復(fù)位和外部手動復(fù)位兩種方式?,F(xiàn)采用如圖2.11的電路:</p>&
75、lt;p> 圖2.11 外部手動復(fù)位</p><p> 復(fù)位期間不產(chǎn)生ALE及PSEN信號,復(fù)位后內(nèi)部各寄存器狀態(tài)如下:</p><p><b> 寄存器內(nèi)容</b></p><p><b> PC0000H</b></p><p><b> ACC00H</
76、b></p><p><b> B00H</b></p><p><b> PSW00H</b></p><p><b> SP07H</b></p><p> DPTR0000H</p><p> P0~P30FFH</
77、p><p> IP**000000B</p><p> IE0*000000B</p><p><b> TMOD00H</b></p><p><b> TCON00H</b></p><p><b> T2CON00H</b><
78、/p><p><b> TH000H</b></p><p><b> TL000H</b></p><p><b> TH100H</b></p><p><b> TL100H</b></p><p><b&g
79、t; TH200H</b></p><p><b> TL200H</b></p><p> RCAP2H00H</p><p> RCAP2L00H</p><p><b> SCON00H</b></p><p><b> SB
80、UF不確定</b></p><p> PCON0***0000B</p><p> 2.7 顯示器接口的設(shè)計</p><p> 由于在系統(tǒng)運行中需要將三相信號的頻率、相位及幅度顯示出來,而需要顯示的內(nèi)容只是數(shù)碼和某些字符,所以可以采用LED作為應(yīng)用系統(tǒng)的顯示輸出設(shè)備。</p><p><b> 一、結(jié)構(gòu)和顯
81、示原理</b></p><p> LED顯示屏是一種通過控制半導(dǎo)體發(fā)光二極管的顯示方式,用來顯示文字、圖形、圖像、動畫、行情、視頻、錄像信號等各種信息的顯示屏幕。LED顯示器是發(fā)光二極管作為顯示字段的數(shù)碼型顯示器件,圖2.12為一位LED顯示器的外形和引腳圖。</p><p> 圖2.12 LED顯示器的外形和引腳圖</p><p> 其中七只發(fā)
82、光二級管(a~g七段)構(gòu)成字形“8”,另外還有一只發(fā)光二級管dp作為小數(shù)點。因此這種LED顯示器稱為七段數(shù)碼管顯示器或八段數(shù)碼管顯示器。</p><p> 當(dāng)顯示器的某一段發(fā)光二級管通電時,該段發(fā)光。人為控制某幾段發(fā)光二級管通電,就能顯示出某個數(shù)碼或字符。例如,使b、c、f、g這4段發(fā)光二級管通電,顯示出數(shù)碼“4”;使a、b、e、f、g這5段發(fā)光二極管通電,則顯示字符“P”。</p><p&
83、gt; LED顯示器有共陰極和共陽極兩種結(jié)構(gòu)。在共陰極結(jié)構(gòu)中,各段發(fā)光二極管的陰極連在一起,并且將此公共點接地。某一段發(fā)光二極管的陽極為高電平時,該段發(fā)光。在共陽極結(jié)構(gòu)中,各段發(fā)光二極管的陽極連在一起,并將此公共點接+5V。當(dāng)某一段發(fā)光二極管的陰極為低點平時,該段發(fā)光。</p><p><b> 二、字段碼</b></p><p> 當(dāng)LED顯示器與微機連接時,
84、一般是將LED各發(fā)光二極管的引腳a、b、…、g、dp順序接到微機的一個并行I/O口D0、D1、…、D6、D7。當(dāng)從這個I/O口輸出某個特定的數(shù)據(jù)時,就能使LED顯示器顯示出某個字符。例如要使共陰極LED顯示字符“0”,則要求a、b、c、d、e、f各引腳為高電平,g和dp為低電平,I/O口線輸出的8位數(shù)據(jù)如下:</p><p> D7D6D5D4D3D2D1D0</p><p&g
85、t; dpgfedcba</p><p> 001111113FH</p><p> 3FH稱為共陰極LED顯示字符“0”的字段碼。不計小數(shù)點的字段碼稱為七段碼,包括小數(shù)點的字段碼稱為八段碼。</p><p> 表2.3 LED顯示器的字段碼(七段碼)</p><p> 表2.3所示為共陰極LED和共
86、陽極LED顯示不同字符的字段碼,此表為七段碼。共陰極LED和共陽極LED的字段碼互為補碼。</p><p> 三、N位LED顯示器</p><p> 實際上使用的LED顯示器通常由多位LED顯示器組成,多位LED的控制包括字段控制(顯示什么字符)和字位控制(哪一位或哪幾位亮)。N位LED顯示器包括8×N根字段控制線和N根字位控制線。</p><p>
87、 由LED顯示原理可知,要使N位LED顯示器的某一位顯示出某個字符,必須要將此字符轉(zhuǎn)換為相應(yīng)的字段碼,同時進行字位的選擇和控制,這些是通過一定的接口來實現(xiàn)。N位LED顯示器的接口形式與字段、字位控制線的譯碼以及LED顯示方式有關(guān)。字段、字位控制線的譯碼方式分為軟件編譯和硬件編譯兩種,LED顯示方式分為靜態(tài)顯示和動態(tài)顯示之分。</p><p> 根據(jù)技術(shù)指標(biāo)可知,顯示數(shù)值的最高為9.99V,加上一位功能位,故采用
88、4位LED顯示器,便可滿足要求。</p><p> 圖2.13 4位LCD顯示器</p><p> 2.8 可靠性和抗干擾措施</p><p> 在工業(yè)控制、智能儀表中普遍采用了單片機,單片機抗干擾措施提到重要議事日程上來。單片機抗干擾措施不解決,其它工作也是白費。影響單片機系統(tǒng)可靠安全運行的主要因素主要來自系統(tǒng)內(nèi)部和外部的各種電氣干擾,并受系統(tǒng)結(jié)構(gòu)設(shè)計、
89、元器件選擇、安裝、制造工藝影響。這些都構(gòu)成單片機系統(tǒng)的干擾因素,常會導(dǎo)致單片機系統(tǒng)運行失常。要解決單片機干擾問題,必須先找出干擾源,然后采用單片機軟、硬件技術(shù)來解決。</p><p> 形成干擾的基本要素有三個:</p><p> 1、干擾源。指產(chǎn)生干擾的元件、設(shè)備或信號。如:雷電、繼電器、可控硅、電機、高頻時鐘等都可能成為干擾源。</p><p> 2、傳播
90、路徑。指干擾從干擾源傳播到敏感器件的通路或媒介。典型的干擾傳播路徑是通過導(dǎo)線的傳導(dǎo)和空間的輻射。</p><p> 3、敏感器件。指容易被干擾的對象。如:A/D、D/A變換器,單片機,數(shù)字IC,弱信號放大器等。</p><p> 干擾的分類多種多樣,按產(chǎn)生原因可分為放電噪聲音、高頻振蕩噪聲、浪涌噪聲;按傳導(dǎo)方式可分為共模噪聲和串模噪聲;按波形可分為持續(xù)正弦波、脈沖電壓、脈沖序列等。&l
91、t;/p><p> 干擾源產(chǎn)生的干擾信號是通過一定的耦合通道才對測控系統(tǒng)產(chǎn)生作用的。干擾的耦合方式可分為直接耦合、公共阻抗耦合、電容耦合、電磁感應(yīng)耦合和漏電耦合。</p><p> 為了減少系統(tǒng)硬件電路的錯誤及故障,保證系統(tǒng)能夠可靠地工作,特采用了以下的可靠性及抗干擾性措施:</p><p> 硬件抗干擾措施:1.交流程穩(wěn)壓、2.交流端用電感電容濾波、3.變壓器雙
92、隔離措施、4.次級加低通濾波器、5.采用集成式直流穩(wěn)壓電源、6.I/O口光電、磁電、繼電器隔離、7.通訊線用雙絞線、8.防雷電用光纖隔離最為有效、9.A/D轉(zhuǎn)換,用隔離放大器或采用現(xiàn)場轉(zhuǎn)換、10.外殼接大地、11.加復(fù)位電壓檢測電路、12.印制板工藝抗干擾。</p><p> 軟件抗干擾措施: 1.多用查詢代替中斷,把中斷源減到最少、2.A/D轉(zhuǎn)換采用數(shù)字濾波、3.MCS-51單片機空單元寫上00H,最后放跳轉(zhuǎn)
93、指令到ORG 0000H、4.多次重復(fù)輸出,輸出信號保持在RAM中、5.開機自檢、自診斷,RAM中重要內(nèi)容要分區(qū)存放,經(jīng)常進行比較檢查,機器不能帶病工作、6.表格參數(shù)放在EPROM中,檢驗和存于最后單元,防止EPROM內(nèi)容被修改、7.開關(guān)信號延時去抖動、8.I/O口正確操作,必須檢查口執(zhí)行命令情況、9.通訊應(yīng)加奇偶校驗或查詢、表決、比較等措施,防止通訊出錯。</p><p><b> 具體的措施有:&
94、lt;/b></p><p> 1、盡量多加濾波電容</p><p> 由于TTL器件的高速切換,將會產(chǎn)生電流跳變,其幅度為4~5mV,該電流在公共走線上的壓降會引起噪聲干擾,故在每個芯片的電源輸入端并接1個0.1uf的電容作為高頻濾波,而且在電源輸出端并接1個47uf的電容作為低頻濾波。</p><p> 2、保證電源電壓Vcc=5V</p>
95、;<p> 由于AT89C51、ADC0809、DAC0832及運放只允許在+5V上下10%范圍內(nèi),超出這個范圍可能會損壞元器件或使邏輯混亂,故采用穩(wěn)壓為+5V的電源。</p><p> 3、設(shè)計性能良好的布局</p><p> 元器件和連線要排列整齊,按電路順序排列,輸入與輸出遠離,導(dǎo)線不要并行,防止寄生藕合引起電路自激。元器件插腳和連線要盡量短而直,防止分布參數(shù)影響
96、電路性能。</p><p><b> 4、合理安排電源線</b></p><p> 由于電路中存在±5V、±12V電源,故將數(shù)字電路、模擬電路分開布局,減少相關(guān)之間的影響,而且模地、數(shù)地、電源地分開走線,在一點上可靠連接。</p><p><b> 第3章 軟件設(shè)計</b></p>
97、<p> 為了使系統(tǒng)能夠按照要求產(chǎn)生三相頻率、相位可調(diào)的正弦波信號,現(xiàn)采用順序程序設(shè)計方法,將軟件劃分為運行狀態(tài)主程序、鍵盤顯示管理程序及定時器T0中斷服務(wù)程序三個主模塊。其中包括二—十進制BCD碼變換、標(biāo)度變換等幾個程序。</p><p> 為了使軟件設(shè)計編程序時方便靈活,特將內(nèi)部RAM分配如下:</p><p> 00~07H:工作寄存器</p><
98、;p><b> 70H:頻率寄存器</b></p><p><b> 71H:相位寄存器</b></p><p> 72H:BCD碼變換緩沖器</p><p> 74H、75H、76H:A、B、C三相信號計數(shù)器</p><p> 79~7CH:顯示緩沖器</p><
99、;p> 3.1 運行狀態(tài)主程序的設(shè)計</p><p> 運行狀態(tài)主程序框圖:</p><p> 圖3.1 運行狀態(tài)主程序框圖</p><p> 3.2 鍵輸入處理程序的設(shè)計</p><p> 實際電路中現(xiàn)按鍵設(shè)計如下:</p><p> 1、K0 設(shè)定為“+”鍵:完成頻率、相位的遞增</p&
100、gt;<p> 2、K1設(shè)定為 “-”鍵:完成頻率、相位的遞減</p><p> 3、K2選擇鍵包括:</p><p> KK2頻率鍵:設(shè)定及顯示頻率</p><p> KK3相位鍵:設(shè)定及顯示相位</p><p> KK4幅度鍵:顯示信號的幅度</p><p> 4、K3選擇鍵包括:<
101、/p><p><b> KK5鋸齒波鍵 </b></p><p><b> KK6三角波鍵 </b></p><p><b> KK7方波鍵</b></p><p> 鍵輸入處理程序的功能有以下四個方面:</p><p> 1、判別鍵盤有無鍵閉合&
102、lt;/p><p> 首先,向掃描口P1.0~P1.3輸出全“1”,接下來讀P1口的狀態(tài),若P1口為全“1”,則鍵盤上沒有鍵閉合;若P1口不為全“1”,則有鍵閉合。</p><p> 2、采用軟件延時方法,去除鍵的機械抖動</p><p> 由于機械觸點的彈性作用,觸點在閉合和斷開瞬間的接觸情況不穩(wěn)定,造成了電壓信號的抖動現(xiàn)象。鍵的抖動時間一般為5~10ms。這種
103、現(xiàn)象可能會引起CPU對一次鍵操作進行多次處理,因此必須設(shè)法消除按鍵通斷是的抖動現(xiàn)象。</p><p> 判別鍵盤有鍵閉合后,延遲一段時間再判別鍵盤的狀態(tài),若仍有鍵閉合,則認(rèn)為鍵盤上有一個鍵處于穩(wěn)定的閉合期,否則,認(rèn)為是鍵的機械抖動。</p><p> 3、判別閉合鍵的鍵號</p><p> 將P1口的狀態(tài)讀到累加器Acc,依次判別Acc.0~Acc.4的值是否
104、為0。</p><p> Acc.0--K0 Acc.1—K1 Acc.2—K2 Acc.3—K3</p><p> 4、根據(jù)鍵值,轉(zhuǎn)向不同的功能程序</p><p> 采用散轉(zhuǎn)程序編程。散轉(zhuǎn)程序是一種多分支結(jié)構(gòu)程序。根據(jù)輸入條件或運算結(jié)果來確定轉(zhuǎn)向相應(yīng)的處理程序。指令系統(tǒng)中有一條轉(zhuǎn)移指令JMP @A+DPTR,利用它可以方便地編制散轉(zhuǎn)程序。<
105、;/p><p><b> 鍵流程圖如下:</b></p><p><b> 圖3.2 鍵流程圖</b></p><p> 1、“遞增”鍵程序處理框圖如下:</p><p> 圖3.3 “遞增”鍵程序處理框圖</p><p> 2、“遞減”鍵處理程序框圖如下:</p
106、><p> 圖3.4 “遞減”鍵處理程序框圖</p><p> 3、“頻率”鍵處理框圖如下:</p><p> 圖3.5 “頻率”鍵處理框圖</p><p> 4、“相位”鍵處理程序框圖如下:</p><p> 圖3.6 “相位”鍵處理程序框圖</p><p> 5、“幅度”鍵處理框圖如
107、下:</p><p> 圖3.7 “幅度”鍵處理框圖</p><p> 6、“鋸齒波”鍵處理框圖如下:</p><p> 圖3.8 “鋸齒波”鍵處理框圖</p><p> 7、“方波”鍵處理框圖如下:</p><p> 圖3.9 “方波”鍵處理框圖</p><p> 8、“三角波”鍵
108、處理程序框圖如下:</p><p> 圖3.10 “三角波”鍵處理程序框圖</p><p> 3.3 定時器中斷服務(wù)程序的設(shè)計</p><p> 在定時器T0中斷服務(wù)程序中,利用定時器方式0產(chǎn)生一個定時時間來控制從存儲器中讀波形編碼的時間。在一定的分割點下,不同的采樣時間,將會使波形的頻率產(chǎn)生變化。當(dāng)不同的頻率輸入時,首先查表求出并轉(zhuǎn)換定時器的時間常數(shù),存入
109、固定的RAM單元,一旦轉(zhuǎn)入中斷服務(wù)程序,該時間常數(shù)被讀出,對定時器賦值,從而實現(xiàn)每隔一定的時間就可以從正弦數(shù)據(jù)表中出一個波形編碼送到DAC0832進行D/A轉(zhuǎn)換產(chǎn)生正弦波形。用三個指針SINA、SINB、SINC代表A、B、C三相的計數(shù)指針進行查表求出數(shù)據(jù)。</p><p> 中斷服務(wù)程序框圖如下:</p><p> 圖3.11 中斷服務(wù)程序框圖</p><p>
110、; 3.4 二進制整數(shù)轉(zhuǎn)換成十進制BCD碼的設(shè)計</p><p> 一個整數(shù)的二進制表達式為:</p><p><b> 可改寫為:</b></p><p> 初值:B=0,I=M-1;</p><p><b> B=B×2+B</b></p><p>
111、<b> I=I+1</b></p><p> 結(jié)束條件:I< 0;</p><p> 由此可見,只要分別對部分和按十進制運算方法進行乘2和加Bi的運算,就可以得到十進制的轉(zhuǎn)換結(jié)果。最后將壓縮的十進制BCD碼轉(zhuǎn)換為非壓縮的十進制BCD碼,并存入顯示緩沖器。</p><p><b> 程序框圖如下所示:</b><
112、;/p><p> 圖3.12 二進制整數(shù)轉(zhuǎn)換成十進制BCD碼程序框圖</p><p> 3.5 定時器的時間常數(shù)與頻率的對應(yīng)關(guān)系</p><p> 單片機89C51在定時方式中,以振蕩器輸出時鐘的十二分頻信號做為計數(shù)信號,就是每一個機器周期定時器加“1”,系統(tǒng)電路采用12MHz晶振,則定時器計數(shù)頻率為1MHz,計數(shù)的脈沖周期為2us。</p>&l
113、t;p> 定時器T0采用方式1工作,計數(shù)初值為a,則T0從初值a加“1”計數(shù)到益出的時間為:t = 1×(65536 - a)us,現(xiàn)將一個正波周期劃分為90個點,即t=1/90=11111。故定時器T0初值a為:</p><p> a = 65536 - 11111/f f :頻率</p><p> 表3.1 定時器的時間常數(shù)與頻率的對應(yīng)關(guān)
114、系</p><p> 3.6 正弦函數(shù)表的生成方法</p><p> 由于DAC0832數(shù)模轉(zhuǎn)換器的UREF(+)采用+5V電壓,故有:</p><p> F=(5+5×SINX)×256/10 0≤ X<360</p><p> 表3.2 正弦函數(shù)表的生成方法</p><p>
115、; 3.7 顯示程序的設(shè)計</p><p><b> 顯示程序框圖如下:</b></p><p> 圖3.13 顯示程序框圖</p><p> 第4章 硬件電路的組裝及調(diào)試</p><p><b> 4.1 組裝</b></p><p><b>
116、一、準(zhǔn)備工作</b></p><p><b> 實驗器材:</b></p><p> AT89C51單片機一塊</p><p> 用來D/A轉(zhuǎn)換的0832芯片×3</p><p> 用以A/D轉(zhuǎn)換的0809芯片×1</p><p> 雙運放芯片LM324&
117、#215;2</p><p> 與門芯片74LS02,或門芯片74LS14</p><p> 74LS373鎖存器×2</p><p><b> 75452×2</b></p><p> 晶振以及LCD顯示器,電阻電容若干</p><p><b> +5V電
118、源</b></p><p> AEDK5196仿真器</p><p><b> 二、組裝</b></p><p><b> 工作步驟:</b></p><p> 1、按照硬件原理圖將所需的芯片合理排列,并用電烙鐵及焊錫絲焊接好。</p><p> 2、連
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計----基于單片機的信號發(fā)生器設(shè)計
- 電氣工程及其自動化畢業(yè)設(shè)計基于單片機的風(fēng)扇速度控制設(shè)計
- 電氣工程及其自動化畢業(yè)設(shè)計基于單片機的交通燈設(shè)計
- 畢業(yè)設(shè)計--基于單片機的信號發(fā)生器
- 基于單片機的三相信號源設(shè)計
- 基于單片機的函數(shù)信號發(fā)生器畢業(yè)設(shè)計
- 畢業(yè)設(shè)計--基于單片機的函數(shù)信號發(fā)生器
- 基于單片機的函數(shù)信號發(fā)生器畢業(yè)設(shè)計
- 畢業(yè)設(shè)計-----基于單片機的函數(shù)信號發(fā)生器
- 基于單片機的函數(shù)信號發(fā)生器畢業(yè)設(shè)計
- 基于單片機的函數(shù)信號發(fā)生器畢業(yè)設(shè)計
- 畢業(yè)設(shè)計----基于單片機的方波信號發(fā)生器
- 畢業(yè)設(shè)計---基于單片機的智能信號發(fā)生器設(shè)計
- 畢業(yè)設(shè)計--基于單片機的智能信號發(fā)生器設(shè)計
- 畢業(yè)設(shè)計(論文)-基于單片機的信號發(fā)生器設(shè)計
- 電氣工程及其自動化單片機課程設(shè)計
- 單片機函數(shù)信號發(fā)生器畢業(yè)設(shè)計
- 單片機的函數(shù)信號發(fā)生器畢業(yè)設(shè)計
- 電氣工程及其自動化畢業(yè)設(shè)計基于單片機的路燈穩(wěn)壓控制系統(tǒng)的設(shè)計
- 畢業(yè)設(shè)計---基于單片機的受控正弦信號發(fā)生器設(shè)計
評論
0/150
提交評論