2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  目錄</b></p><p><b>  1引言1</b></p><p>  2 PROTEUS軟件仿真2</p><p>  2.1 PROTEUS軟件簡介2</p><p>  2.1.1 PROTUES ISIS的啟動2</p><p

2、>  2.1.2 PROTUES ISIS的工作界面3</p><p>  2.2 Keil簡介3</p><p>  2.3 利用PROTUES ISIS仿真與調(diào)試4</p><p>  3 主要芯片簡介5</p><p>  3.1 AT89C51芯片5</p><p>  3.2 ADC0808

3、7</p><p>  3.3 74LS1618</p><p>  3.4 七段數(shù)碼管簡介9</p><p>  4 系統(tǒng)總體設(shè)計10</p><p>  4.1 工作原理10</p><p>  4.2 系統(tǒng)結(jié)構(gòu)框圖10</p><p>  4.3 系統(tǒng)硬件設(shè)計10</p&

4、gt;<p>  4.3.1 單片機(jī)的選擇10</p><p>  4.3.2 時鐘電路的設(shè)計11</p><p>  4.3.3復(fù)位電路11</p><p>  4.3.4 A/D轉(zhuǎn)化電路及測量電路的設(shè)計12</p><p>  4.3.5 顯示模塊設(shè)計12</p><p>  4.4系統(tǒng)程序

5、設(shè)計13</p><p>  4.4.1 初始化程序13</p><p>  4.4.2主程序13</p><p>  4.4.3 A/D轉(zhuǎn)換子程序的設(shè)計14</p><p>  4.4.4 循環(huán)顯示的程序15</p><p>  4.4.5 顯示程序16</p><p>  4.

6、4.6 中斷子程序、延時子程序和查表17</p><p>  5.1 總體設(shè)計仿真電路18</p><p>  5.2 仿真結(jié)果19</p><p><b>  6 總結(jié)21</b></p><p><b>  參考文獻(xiàn)22</b></p><p><b>

7、;  附錄23</b></p><p><b>  1引言</b></p><p>  數(shù)字電壓表的基本工作原理是利用A/D轉(zhuǎn)換電路將待測的模擬信號轉(zhuǎn)換成數(shù)字信號,通過相應(yīng)換算后將測試結(jié)果以數(shù)字形式顯示出來的一種電壓表。較之于一般的模擬電壓表,數(shù)字電壓表具有精度高、測量準(zhǔn)確、讀數(shù)直觀、使用方便等優(yōu)點(diǎn)。</p><p>  在測量儀

8、器中,電壓表是必須的,而且電壓表的好壞直接影響到測量精度。具有一個精度高、轉(zhuǎn)換速度快、性能穩(wěn)定的電壓表才能符合測量的要求。為此,我們設(shè)計了數(shù)字電壓表,此作品主要由A/D0808轉(zhuǎn)換器和單片機(jī)AT89C51構(gòu)成,A/D轉(zhuǎn)換器在單片機(jī)的控制下完成對模擬信號的采集和轉(zhuǎn)換功能,最后由數(shù)碼管顯示采集的電壓值。</p><p>  電壓表的數(shù)字化測量,關(guān)鍵在于如何把隨時連續(xù)變化的模擬量轉(zhuǎn)化成數(shù)字量,完成這種轉(zhuǎn)換的電路叫模數(shù)轉(zhuǎn)

9、換器(A/D)。數(shù)字電壓表的核心部件就是A/D轉(zhuǎn)換器,由于各種不同的A/D轉(zhuǎn)換原理構(gòu)成了各種不同類型的DVM。一般說來,A/D轉(zhuǎn)換的方式可分為兩類:雙積分型和逐次逼近型。</p><p>  雙積分型A/D轉(zhuǎn)換器是先用積分器將輸入的模擬電壓轉(zhuǎn)換成時間或頻率,再將其數(shù)字化。根據(jù)轉(zhuǎn)化的中間量不同,它又分為U-T(電壓-時間)式和U-F(電壓-頻率)式兩種。</p><p>  逐次逼近式A/D

10、轉(zhuǎn)換器分為比較式和斜坡電壓式,根據(jù)不同的工作原理,比較式又分為逐次比較式及零平衡式等。斜坡電壓式又分為線性斜坡式和階梯斜坡式兩種。</p><p>  在高精度數(shù)字電壓表中,常采用由積分式和比較式相結(jié)合起來的復(fù)合式A/D轉(zhuǎn)換器。本設(shè)計以AT89C51單片機(jī)為核心,以雙積分型A/D轉(zhuǎn)換器ADC0808、七段數(shù)碼管為主體,構(gòu)造了一款簡易的數(shù)字電壓表,能夠?qū)崿F(xiàn)自動和手動測量8路0.00~5.00V的直流電壓,最小分辨率

11、為0.02V。</p><p>  2 PROTEUS軟件仿真</p><p>  2.1 PROTEUS軟件簡介</p><p>  PROTEUS ISIS是英國Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是:1.實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。

12、具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。2.支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。3.提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置

13、斷點(diǎn)等調(diào)試功能,同時可以觀察各個變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。4.具有強(qiáng)大的原理圖繪制功能??傊?,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。</p><p>  2.1.1 PROTUES ISIS的啟動</p><p>  雙擊桌面上的ISIS

14、 6 Professional圖標(biāo)或者單擊屏幕左下方的“開始”→“程序”→“Proteus 6 Professional” →“ISIS 6 Professional”,出現(xiàn)如圖2-1所示屏幕,表明進(jìn)入PROTEUS ISIS集成環(huán)境。</p><p>  圖2-1 PROTEUS ISIS啟動時的屏幕</p><p>  2.1.2 PROTUES ISIS的工作界面</p>

15、<p>  PROTEUS ISIS的工作界面是一種標(biāo)準(zhǔn)的Windows界面,如圖2-2所示。包括:標(biāo)題欄、主菜單、標(biāo)準(zhǔn)工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預(yù)覽對象方位控制按鈕、仿真進(jìn)程控制按鈕、預(yù)覽窗口、對象選擇器窗口、圖形編輯窗口。</p><p>  圖2-2 PROTEUS ISIS的工作界面</p><p>  2.2 Keil簡介</p>&l

16、t;p><b>  1.系統(tǒng)概述 </b></p><p>  Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。 </p><p>  Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開

17、發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。下面詳細(xì)介紹Keil C51開發(fā)系統(tǒng)各部分功能和使用。 </p><p>  2. Keil C51單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu) </p><p>  C51工具包的整體結(jié)構(gòu),

18、如圖(1)所示,其中uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以

19、供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級調(diào)試,也可由仿真器使用直接對目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。 </p><p>  使用獨(dú)立的Keil仿真器時,注意事項 </p><p>  (1)仿真器標(biāo)配11.0592MHz的晶振,但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振。 </p><p>  (2)仿真器上的復(fù)位按

20、鈕只復(fù)位仿真芯片,不復(fù)位目標(biāo)系統(tǒng)。 </p><p>  (3)仿真芯片的31腳(/EA)已接至高電平,所以仿真時只能使用片內(nèi)ROM,不能使用片外ROM;但仿真器外引插針中的31腳并不與仿真芯片的31腳相連,故該仿真器仍可插入到擴(kuò)展有外部ROM(其CPU的/EA引腳接至低電平)的目標(biāo)系統(tǒng)中使用。</p><p>  2.3 利用PROTUES ISIS仿真與調(diào)試</p>&l

21、t;p>  1.將所設(shè)計的硬件電路用PROTEUS畫出來,聯(lián)好各個引腳,圖如圖1-7。</p><p>  2.在Keil里面將編寫的程序編譯并調(diào)試好,沒有錯誤后生成一個*.hex的文件。</p><p>  3.在PROTEUS中將Keil中生成的*.hex的文件軟件下載到AT89C51芯片中,保存并運(yùn)行,看結(jié)果是否正確,有問題的話繼續(xù)調(diào)試軟硬件,直到結(jié)果與預(yù)期的基本一致。仿真結(jié)果

22、舉例如圖3-3、3-4所示。</p><p>  轉(zhuǎn)換的自動和手動模式轉(zhuǎn)換可以通過按鈕SB1和SB0來切換。當(dāng)啟動仿真時,電壓表開始工作,并默認(rèn)進(jìn)入自動切換通道狀態(tài),想要在當(dāng)前顯示的某一路手動停止通道切換,以使電壓表之后一直保持在該通道測量,只需按一下SB0。想要結(jié)束單一某一路的測量,只需按一下SB1就可以使電壓表恢復(fù)自動變換通道的測量和顯示方式。</p><p><b>  3

23、 主要芯片簡介</b></p><p>  3.1 AT89C51芯片</p><p><b>  主要功能:</b></p><p><b>  1.8位CPU;</b></p><p>  2.片內(nèi)振蕩器頻率范圍1.2-12MHZ;</p><p>  3.1

24、28字節(jié)片內(nèi)數(shù)據(jù)存儲器;</p><p>  4.4KB片內(nèi)程序存儲器</p><p>  5.程序存儲器尋址范圍64KB;</p><p>  6.片外數(shù)據(jù)存儲器尋址范圍64KB;</p><p>  7.21字節(jié)專用寄存器;</p><p>  8.4個8位并行I/O口:P0 P1 P2 P3;</p>

25、<p>  9.1個全雙工串行I/O口;</p><p>  10.2個16位定時器/計數(shù)器;</p><p>  11.中斷系統(tǒng)有5個中斷源,可編程為2個優(yōu)先級;</p><p>  12.111條指令;</p><p>  13.有很強(qiáng)的位尋址、位處理能力;</p><p>  14.片內(nèi)單總線結(jié)構(gòu);

26、</p><p>  15.單一+5V電源。</p><p>  MCS-51系列單片機(jī)是雙列直插式封裝的40引腳芯片。</p><p>  圖3-1 AT89C51芯片引腳圖</p><p>  P0口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入當(dāng)訪問外部程序

27、和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。</p><p>  P1口:P1口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P1端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于

28、內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX)。 P2口:P2口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P2端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用

29、16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX @DPTR)時,P2口送出高八位地址。在這種應(yīng)用中,P2口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX @RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。</p><p>  P3口:P3口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P3端口寫

30、“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89C51特殊功能(第二功能)使用,在flash編程和校驗時,P3口也接收一些控制信號。</p><p>  RST: 復(fù)位輸入。晶振工作時,RST腳持續(xù)2個機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T狗計時完成后,RST腳輸出96個晶振周期的高電平。特殊寄存器AUXR(地址8

31、EH)上的DISRTO位可以使此功能無效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。</p><p>  ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8位地址的輸出脈沖。在flash編程時,此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過。如果需要,

32、通過將地址為8EH的SFR的第0位置 “1”,ALE操作將無效。這一位置 “1”,ALE僅在執(zhí)行MOVX或MOVC指令時有效。否則,ALE將被微弱拉高。這個ALE使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效。</p><p>  :外部程序存儲器選通信號()是外部程序存儲器選通信號。當(dāng)AT89C51從外部程序存儲器執(zhí)行外部代碼時,在每個機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器

33、時,將不被激活。</p><p>  /VPP:訪問外部程序存儲器控制信號。為使能從0000H到FFFFH的外部程序存儲器讀取指令,必須接GND。為了執(zhí)行內(nèi)部程序指令,應(yīng)該接VCC。在flash編程期間,也接收12伏VPP 電壓。</p><p>  XTAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。</p><p>  XTAL2:振蕩器反相放大器的輸出端。

34、</p><p>  3.2 ADC0808</p><p>  ADC0809的內(nèi)部邏輯結(jié)構(gòu)圖如圖2-2所示。ADC0809由8路模擬開關(guān),地址鎖存與譯碼器、比較器、256樹形開關(guān)、逐次逼近式寄存器SAR、控制電路和三態(tài)輸出鎖存器等組成。</p><p>  圖3-2 ADC0809的內(nèi)部邏輯結(jié)構(gòu)圖</p><p>  CLK:時鐘信號,

35、典型值為500~640KHZ</p><p>  VREF+、VREF- :基準(zhǔn)電壓輸入,通常 VREF+接+5V、VREF- 接地</p><p>  ALE:地址鎖存允許,其上升沿鎖存ADDC~ADDA的地址信號 </p><p>  START:A/D轉(zhuǎn)換啟動信號,上升沿啟動A/D轉(zhuǎn)換。</p><p>  EOC:轉(zhuǎn)換完成信號,啟動

36、轉(zhuǎn)換后,EOC輸出低電平,轉(zhuǎn)換完成后輸出高電平。該信號可用作向單片機(jī)提出中斷申請,或者作為查詢信號。</p><p>  OE:數(shù)字量輸出允許信號,該引腳輸入高電平時,轉(zhuǎn)換后的數(shù)字量從D0~D7腳輸出。</p><p>  IN0~I(xiàn)N7:模擬電壓輸入,八個引腳可分別接八路模擬信號。</p><p>  ADDA、ADDB、ADDC:通道選擇信號,其輸入電平的組合選

37、擇模擬通道IN0~I(xiàn)N7之一 。 </p><p>  3.3 74LS161</p><p>  74LS161是常用的四位二進(jìn)制可預(yù)置的同步加法計數(shù)器,他可以靈活的運(yùn)用在各種數(shù)字電路,以及單片機(jī)系統(tǒng)種實(shí)現(xiàn)分頻器等很多重要的功能,:</p><p>  圖3-3 74ls161引腳圖</p><p>  管腳圖介紹:時鐘CP和四個數(shù)據(jù)輸

38、入端P0~P3清零/MR使能CEP,CET置數(shù)PE數(shù)據(jù)輸出端Q0~Q3以及進(jìn)位輸出TC. (TC=Q0·Q1·Q2·Q3·CET)</p><p>  表3-1 74LS161功能表</p><p>  從74LS161功能表功能表中可以知道,當(dāng)清零端CR=“0”,計數(shù)器輸出Q3、Q2、Q1、Q0立即為全“0”,這個時候為異步復(fù)位功能。當(dāng)C

39、R=“1”且LD=“0”時,在CP信號上升沿作用后,74LS161輸出端Q3、Q2、Q1、Q0的狀態(tài)分別與并行數(shù)據(jù)輸入端D3,D2,D1,D0的狀態(tài)一樣,為同步置數(shù)功能。而只有當(dāng)CR=LD=EP=ET=“1”、CP脈沖上升沿作用后,計數(shù)器加1。74LS161還有一個進(jìn)位輸出端CO,其邏輯關(guān)系是CO= Q0·Q1·Q2·Q3·CET。合理應(yīng)用計數(shù)器的清零功能和置數(shù)功能,一片74LS161可以組成16

40、進(jìn)制以下的任意進(jìn)制分頻器</p><p>  3.4 七段數(shù)碼管簡介</p><p>  7段LED數(shù)碼管,是在一定形狀的絕緣材料上,利用單只LED組合排列成“8”字型的數(shù)碼管,分別引出它們的電極,點(diǎn)亮相應(yīng)的點(diǎn)劃來顯示出0-9的數(shù)字。</p><p>  LED數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對編程是很重要的,因為不同類型的數(shù)碼管

41、,除了它們的硬件電路有差異外,編程方法也是不同的。右圖是共陰和共陽極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。</p><p>  將多只LED的陰極連在一起即為共陰式,而將多只LED的陽極連在一起即為共陽式。以共陰式為例,如把陰極接地,在相應(yīng)段的陽極接上正電源,該段即會發(fā)光。當(dāng)然,LED的電流通常較小,一般均需在回路中接上限流電阻。假如將“b”和“c”段接上正電源,其它端接地或懸空,

42、那么“b”和“c”段發(fā)光,此時,數(shù)碼管顯示將顯示數(shù)字“1”。而將“a”、“b”、“d”、“e”和“g”段都接上正電源,其它引腳懸空,此時數(shù)碼管將顯示“2”。依此類推。</p><p><b>  4 系統(tǒng)總體設(shè)計</b></p><p><b>  4.1 工作原理</b></p><p>  系統(tǒng)采用12M晶振產(chǎn)生脈沖做

43、AT89C51的內(nèi)部時鐘信號,通過軟件設(shè)置單片機(jī)的內(nèi)部定時器T0產(chǎn)生中斷信號。利用中斷設(shè)置單片機(jī)的P2.4口取反產(chǎn)生脈沖做AT89C51的時鐘信號。通過鍵盤選擇八路通道中的一路,將該路電壓送入ADC0808相應(yīng)通道,單片機(jī)軟件設(shè)置ADC0808開始A/D轉(zhuǎn)換,轉(zhuǎn)換結(jié)束ADC0808的EOC端口產(chǎn)生高電平,同時將ADC0808的EO端口置為高電平,單片機(jī)將轉(zhuǎn)換后結(jié)果存到片內(nèi)RAM。系統(tǒng)調(diào)出顯示子程序,將保存結(jié)果轉(zhuǎn)化為0.00-5.00V分

44、別保存在片內(nèi)RAM;系統(tǒng)調(diào)出顯示子程序,將轉(zhuǎn)化后數(shù)據(jù)查表,輸出到LED顯示電路,將相應(yīng)電壓顯示出來,程序進(jìn)入下一個循環(huán)。</p><p>  4.2 系統(tǒng)結(jié)構(gòu)框圖</p><p>  根據(jù)項目要求,確定該系統(tǒng)的設(shè)計方案,圖4-1為該系統(tǒng)設(shè)計方案的結(jié)構(gòu)框圖。硬件電路由6部分組成:單片機(jī)、時鐘電路、復(fù)位電路、LED顯示電路、A/D轉(zhuǎn)換器和測量電壓輸入電路。</p><p&g

45、t;  圖4-1 系統(tǒng)結(jié)構(gòu)框圖</p><p>  4.3 系統(tǒng)硬件設(shè)計</p><p>  4.3.1 單片機(jī)的選擇</p><p>  設(shè)計這樣的應(yīng)用系統(tǒng),可以選擇帶有EPROM的單片機(jī),應(yīng)用程序直接存儲在片內(nèi),不用在外部擴(kuò)展程序存儲器,電路可以簡化。此電路選擇Atmel公司生產(chǎn)的AT89C51。AT89系列與MCS-51系列單片機(jī)相比有兩大優(yōu)勢:第一,片內(nèi)程

46、序存儲器采用閃速存儲器,使程序的寫入更加方便;第二,提供了更小尺寸的芯片,使整個電路體積更小。它以較小的體積、良好的性價比倍受青睞</p><p>  4.3.2 時鐘電路的設(shè)計</p><p>  單片機(jī)工作的時間基準(zhǔn)是由時鐘電路提供的,在單片機(jī)的XTAL1和XYAL2兩個管腳接一只晶振及兩只電容就構(gòu)成了單片機(jī)的時鐘電路,電路中電容器C1和C2對振蕩頻率有微調(diào)作用,通常取(30±

47、;10)pF石英晶體選擇6MHz或12MHz都可以。時鐘電路如圖4-2所示。</p><p>  圖4-2 系統(tǒng)時鐘電路 </p><p><b>  4.3.3復(fù)位電路</b></p><p>  單片機(jī)的RST管腳為主機(jī)提供了一個外部復(fù)位信號輸入口。復(fù)位信號是高電平有效,高電平有效的持續(xù)時間為2個機(jī)器周期以上。單片機(jī)的復(fù)位方式可由手動復(fù)位

48、方式完成。電阻、電容器的參考值R1=10KΩ、C1=10uF、Ch=0.01uF。復(fù)位電路如圖4-3所示。</p><p>  圖4-3 系統(tǒng)復(fù)位電路</p><p>  4.3.4 A/D轉(zhuǎn)化電路及測量電路的設(shè)計</p><p>  A/D轉(zhuǎn)換器的功能是將模擬量轉(zhuǎn)換為與其大小成正比的數(shù)字量信號。能實(shí)現(xiàn)這種轉(zhuǎn)換的原理和方法很多,此設(shè)計采用ADC0808轉(zhuǎn)換器。ADC

49、0808是一種逐次逼近型的8位A/D轉(zhuǎn)換器件,片內(nèi)有8路模擬開關(guān),可輸入8個模擬量,單極性,量程為0~+5V。引腳功能如下:</p><p>  IN0~I(xiàn)N7:8路模擬量輸入。</p><p>  ADDA、ADDB、ADDC:模擬量輸入通道地址選擇,其8位編碼分別對應(yīng)IN0~I(xiàn)N7.</p><p>  ALE:地址鎖存允許,上升沿將通道選擇信號存入地址鎖存器。

50、</p><p>  START:ADC轉(zhuǎn)換啟動信號,正脈沖有效,引腳信號要求保持在200ns以上,其上升沿將內(nèi)部逐次逼近寄存器清零。</p><p>  EOC:轉(zhuǎn)換解釋信號,可做為中斷請求信號或供CPU查詢。</p><p>  CLK:時鐘輸入端,要求頻率范圍在10kHz~1.2MHz.</p><p>  OE:允許輸出信號。<

51、/p><p>  Vcc:芯片工作電壓。</p><p>  VREF(+)、VREF(-):基準(zhǔn)參考電壓的正、負(fù)值。</p><p>  OUT1~OUT8:8路數(shù)字量輸出端。</p><p>  基于上述,單片機(jī)的P2口高四位分別對應(yīng)ADC0808的CLK、ALE、EOC和OE端,用軟件設(shè)定給定的值。</p><p>

52、  IN0~I(xiàn)N7分別接上滑動變阻器,另一端全部接電位器,根據(jù)選擇的通道,電位器選擇測量相應(yīng)通道的電位。</p><p>  4.3.5 顯示模塊設(shè)計</p><p>  單片機(jī)應(yīng)用系統(tǒng)中,通常都需要進(jìn)行人機(jī)對話。這包括人對應(yīng)用系統(tǒng)的狀態(tài)干預(yù)與數(shù)據(jù)輸入,以及應(yīng)用系統(tǒng)向人們顯示運(yùn)行狀態(tài)與運(yùn)行結(jié)果。顯示器、鍵盤電路就是用來完成人機(jī)對話活動的人機(jī)通道。</p><p> 

53、 在應(yīng)用系統(tǒng)中,設(shè)計要求不同,使用的LED顯示器的位數(shù)也不同,因此生產(chǎn)廠家就生產(chǎn)了多種位數(shù)、尺寸、型號不同的LED顯示器。在我們的設(shè)計中,選擇4位一體的共陰極時鐘型LED顯示器,采用動態(tài)顯示方式。</p><p><b>  4.4系統(tǒng)程序設(shè)計</b></p><p>  4.4.1 初始化程序</p><p>  ORG 0000H<

54、/p><p>  SJMPSTART</p><p>  ORG 0003H</p><p>  LJMP INT01</p><p>  START:MOVDPTR,#TAB</p><p><b>  4.4.2主程序</b></p><p>  圖4-4

55、 主程序流程圖</p><p>  它包含通道的選擇及模擬量轉(zhuǎn)化為數(shù)字量的算法,把通道選擇的值和數(shù)字量整數(shù)部分,十分位,小數(shù)位分別放入寄存器,為下面的顯示子程序作準(zhǔn)備。</p><p>  WAIT: MOV A,#0FFH</p><p>  MOV P3,A</p><p>  MOV A,P3</p><

56、;p>  ANL A,#07H ;使P3口的低三位為1,從而選擇通道</p><p>  JNB P3.3,LOOP1 ;判斷P3.3是否為0,若為0跳轉(zhuǎn),即有中斷</p><p>  MOV R0,A ;把控制通道的值送給累加器R0</p><p><b>  SWAP A </b></p>

57、;<p>  MOV P3,A ;通道7有效</p><p>  CLR P2.5 ;允許鎖存輸出</p><p>  SETB P2.5 ;一位位輸出</p><p>  CLR P2.5</p><p>  JNB P2.6,$;為1時AD轉(zhuǎn)換結(jié)束</p>

58、;<p>  SETB P2.7 ;數(shù)據(jù)輸出允許信號</p><p>  MOV A,#0FFH </p><p>  MOV P1,A</p><p>  MOV A,P1</p><p>  CLR P2.7</p><p>  MOV B,#51;算出對

59、應(yīng)的電壓的整數(shù)倍</p><p>  DIV AB ;算出電壓的值的小數(shù)部分并存儲</p><p><b>  MOV R1,A</b></p><p>  MOV A,B </p><p>  MOV B,#2</p><p><b>  

60、MUL AB</b></p><p>  MOV B,#10</p><p><b>  DIV AB</b></p><p><b>  MOV R2,A</b></p><p><b>  MOV R3,B</b></p><p&

61、gt;  LCALLDISP</p><p>  SJMP WAIT</p><p>  4.4.3 A/D轉(zhuǎn)換子程序的設(shè)計 </p><p>  A/D轉(zhuǎn)換程序的功能是采集數(shù)據(jù),在整個系統(tǒng)設(shè)計中占有很高的地位。當(dāng)系統(tǒng)置好后,單片機(jī)掃描轉(zhuǎn)換結(jié)束管腳P2.6的輸入電平狀態(tài),當(dāng)輸入為高電平則轉(zhuǎn)換完成,將轉(zhuǎn)換的數(shù)值轉(zhuǎn)換并顯示輸出。若輸入為低電平,則繼續(xù)掃描。<

62、/p><p>  圖4-5 A/D轉(zhuǎn)換子程序流程圖</p><p>  MOV A,#0FFH </p><p>  MOV P3,A</p><p>  MOV A,P3</p><p>  ANL A,#07H</p><p>  JNB P3.3,LOOP1<

63、;/p><p>  MOV R0,A</p><p><b>  SWAP A</b></p><p>  MOV P3,A ;通道7有效 </p><p>  CLR P2.5 ;允許鎖存輸出 </p><p>  SETB P2.5 </p>

64、<p>  CLR P2.5 ;一位位的輸出</p><p>  JNB P2.6,$;為1時ad轉(zhuǎn)換結(jié)束</p><p>  SETB P2.7 ;數(shù)據(jù)輸出允許信號</p><p>  4.4.4 循環(huán)顯示的程序</p><p>  即有中斷(P3.3=0)時,數(shù)碼管從0到7八個通道依次循環(huán)顯示。它是

65、由低電平觸發(fā)引起的的中斷。此段程序也包含了八路模擬直流電壓轉(zhuǎn)化為數(shù)字電壓的算法,并把通道選擇的值和數(shù)字量整數(shù)部分,十分位,小數(shù)位分別放入寄存器,為下面的顯示子程序作準(zhǔn)備。</p><p>  LOOP1:INC R0</p><p><b>  MOV A,R0</b></p><p>  CJNE A,#08H,NEXT ;判斷

66、是否是八個通道顯示完,如果是則進(jìn)行下</p><p>  MOVA,#00H ;一輪的循環(huán)</p><p>  NEXT:MOV R0,A</p><p><b>  SWAP A</b></p><p><b>  MOV P3,A</b></p>

67、<p>  CLR P2.5 </p><p>  SETB P2.5</p><p>  CLR P2.5</p><p>  JNB P2.6,$</p><p>  SETB P2.7 </p><p>  MOV A,#0FFH</p><p&

68、gt;  MOV P1,A</p><p>  MOV A,P1</p><p>  CLR P2.7</p><p>  MOV B,#51</p><p><b>  DIV AB</b></p><p><b>  MOV R1,A</b>

69、</p><p><b>  MOV A,B</b></p><p>  MOV B,#2</p><p><b>  MUL AB</b></p><p>  MOV B,#10</p><p><b>  DIV AB</b></

70、p><p><b>  MOV R2,A</b></p><p><b>  MOV R3,B</b></p><p>  LCALL DISP</p><p>  JNB P3.3, LOOP1</p><p>  SJMP WAIT</p><p

71、>  4.4.5 顯示程序</p><p>  它包含了位碼和段碼的設(shè)置,位碼控制哪個數(shù)碼管顯示;段碼控制顯示的數(shù)值</p><p>  DISP: MOV R4,#0FH</p><p>  LOOP:MOVA,R3</p><p>  MOVCA,@A+DPTR</p><p><b&g

72、t;  MOVP0,A</b></p><p>  LCALLDELAY</p><p><b>  SETBP2.3</b></p><p><b>  MOVA,R2</b></p><p>  MOVCA,@A+DPTR</p><p><b

73、>  CLRP2.2</b></p><p><b>  MOVP0,A</b></p><p>  LCALLDELAY</p><p><b>  SETBP2.2</b></p><p><b>  MOVA, R1</b></p>

74、<p>  MOVCA,@A+DPTR</p><p>  ADD A,#80H</p><p><b>  CLR P2.1</b></p><p>  MOV P0, A</p><p>  LCALLDELAY</p><p><b>  SETBP2.1

75、</b></p><p><b>  MOVA,R0</b></p><p>  MOVCA,@A+DPTR</p><p><b>  CLRP2.0</b></p><p><b>  MOVP0,A</b></p><p>  

76、LCALLDELAY</p><p>  SETBP2.0 </p><p>  DJNZ R4,LOOP</p><p><b>  RET</b></p><p>  4.4.6 中斷子程序、延時子程序和查表</p><p>  INT01: INC R0</p>&

77、lt;p><b>  RETI</b></p><p>  DELAY: MOVR6,#20</p><p>  D1:MOVR7,#250</p><p><b>  DJNZR7,$</b></p><p>  DJNZR6,D1</p><p>

78、;<b>  RET</b></p><p>  TAB: DB 3FH,06H,5BH,4FH,66H</p><p>  DB 6DH,7DH,07H,7FH,6FH</p><p>  5 數(shù)字電壓表硬件電路及仿真</p><p>  5.1 總體設(shè)計仿真電路</p><p>  圖5

79、-1 總體電路設(shè)計仿真圖</p><p>  說明:圖下部分為八通道直流電壓輸入電路,它由滑動變阻器控制輸入電壓的大小,從而控制ADC0808各輸入端的電壓示數(shù),從而變化地顯示在數(shù)碼管上。74LS161為四位二進(jìn)制加法計數(shù)器,用來控制P3口的低三位,進(jìn)而控制ADC0809的A、B、C三個地址選擇端,從而控制不同的輸入通道。用軟件設(shè)計使ADC0808工作輸出的數(shù)字量通過p1口輸入單片機(jī),從單片機(jī)的p0口輸出到數(shù)碼管

80、中顯示出來。單片機(jī)P2口的低四位作為LED位碼的輸出控制信號。</p><p>  當(dāng)P1口輸出段碼信號的BCD碼后,輸出具有一定驅(qū)動能力的七段字形碼,由于4-LED的段碼輸入管腳是并聯(lián)在一起的,所以每一位LED的段碼輸入管腳都能獲得這個段碼信號。若要控制在每一時刻只有一位LED被點(diǎn)亮,必須靠位碼信號控制。P2口低四位輸出位碼信號后接到LED的位碼控制端,因此P2口的低四位的位碼信號在每一時刻只有一位是“1”,其

81、他位全為“0”,然后按時間順序改變輸出“1”的位置,控制在每一時刻只有一位LED被點(diǎn)亮,達(dá)到動態(tài)顯示的目的。</p><p><b>  5.2 仿真結(jié)果</b></p><p>  圖5-2 通道1仿真結(jié)果</p><p>  圖5-3 通道7仿真結(jié)果</p><p>  補(bǔ)充:當(dāng)調(diào)整滑動變阻器時,相應(yīng)的電阻值在數(shù)碼管

82、上也同時顯示。當(dāng)按下switch鍵時,會顯示從0---7通道的電壓值顯示,按下button鍵單路選擇顯示。</p><p><b>  6 總結(jié)</b></p><p>  做了一周的課程設(shè)計,我基本上圓滿的完成了課設(shè)的相關(guān)任務(wù),達(dá)到了課程設(shè)計的技術(shù)要求,相信這對以后也是有幫助的。通過課程設(shè)計這一實(shí)踐環(huán)節(jié),我對這個學(xué)期以來所學(xué)到知識有了更深層的理解,而且自己分析問題和

83、解決實(shí)際問題的能力也有一定的提高。</p><p>  同時在這個過程中我也發(fā)現(xiàn)了自己許多的不足,包括對所學(xué)的基礎(chǔ)知識理解不是很透徹,以至于電路設(shè)計了很長時間,最后還得連夜趕著寫論文。還有對理論知識的運(yùn)用不很靈活,常常在一個問題想半天,結(jié)果還是換一個角度好一點(diǎn)。</p><p>  本設(shè)計以AT89C51單片機(jī)為控制核心,通過集成摸數(shù)轉(zhuǎn)換芯片ADC0808將被測信號轉(zhuǎn)換成數(shù)字信號,經(jīng)單片機(jī)

84、內(nèi)部程序處理后,由七段數(shù)碼管顯示測量結(jié)果。仿真測試表明,系統(tǒng)性能良好,測量讀數(shù)穩(wěn)定易讀、更新速度合理,直流電壓測量范圍為0.00~5.00V,最小分辨率為0.02V,滿足任務(wù)書指標(biāo)要求。但是,該系統(tǒng)也存在一定程度的不足,例如:輸入電壓易發(fā)生干擾不穩(wěn)定,且驅(qū)動能力可能存在不足,需在被測信號的輸入端加上一部分驅(qū)動電路,比如將量程轉(zhuǎn)換電路改成帶放大能力的自動量程轉(zhuǎn)換電路,將幅值較小的信號經(jīng)適當(dāng)放大后再測量,可顯著提高精度。</p>

85、<p>  認(rèn)真的做完這次單片機(jī)課程設(shè)計后,我感覺自己有了很大的提高。但是由于時間的原因,這次課程設(shè)計沒能達(dá)到自己預(yù)想的那么好,所幸的是功夫不負(fù)有心人,所有功能指標(biāo)都已基本實(shí)現(xiàn)了。在接下來的時間里,我會繼續(xù)把它做好。最后我還總結(jié)出了一個結(jié)論,當(dāng)認(rèn)真的投入到一項工作中時,不但會收獲許多,而且還會感覺到很大的樂趣。</p><p><b>  參考文獻(xiàn)</b></p>

86、<p>  [1] 張剛毅,彭喜元.單片機(jī)原理與應(yīng)用設(shè)計.北京:電子工業(yè)出版社,2008</p><p>  [2] 吳金戌,沈慶陽,郭庭吉.8051單片機(jī)實(shí)踐與應(yīng)用.北京:清華大學(xué)出版社,2002</p><p>  [3] 黃智偉.全國大學(xué)生電子設(shè)計競賽訓(xùn)練教程.北京:電子工業(yè)出版社,2004</p><p>  [4] 汪德彪.MCS-51

87、單片機(jī)原理及接口技術(shù)(第一版).北京:電子工業(yè)出版社,2003</p><p>  [5] 徐愛鈞.智能化測量控制儀表原理與設(shè)計(第二版).北京:北京航空航天大學(xué)出版社,2004</p><p><b>  附錄 </b></p><p>  ORG 0000H</p><p>  SJMPSTART</p&

88、gt;<p>  ORG 0003H</p><p>  LJMP INT01 ;中斷入口地址</p><p>  START:MOVDPTR,#TAB ;表首地址送給DPTR</p><p>  WAIT: MOV A,#0FFH </p><p>  MOV P3,A</p

89、><p>  MOV A,P3</p><p>  ANL A,#07H ;選擇ADC0808通道</p><p>  JNB P3.3,LOOP1 ;判斷是否有中斷</p><p>  MOV R0,A ;把控制通道的值送給寄存器</p><p&

90、gt;  SWAP A </p><p>  MOV P3,A</p><p>  CLR P2.5 ;啟動AD轉(zhuǎn)換</p><p>  SETB P2.5</p><p>  CLR P2.5</p><p>  JNB P2.6,$</p><p&g

91、t;  SETB P2.7 ;允許AD轉(zhuǎn)換輸出</p><p>  MOV A,#0FFH ;P1口為準(zhǔn)雙向口,先輸入1</p><p>  MOV P1,A </p><p>  MOV A,P1</p><p>  CLR P2.7</p><p>

92、;  MOV B,#51;計算,以使其在數(shù)碼管顯示</p><p><b>  DIV AB</b></p><p>  MOV R1,A ;轉(zhuǎn)換出的整數(shù)部分</p><p>  MOV A,B </p><p>  MOV B,#2</p><p><b

93、>  MUL AB</b></p><p>  MOV B,#10 </p><p><b>  DIV AB</b></p><p>  MOV R2,A ;轉(zhuǎn)換出的十分位</p><p>  MOV R3,B ;轉(zhuǎn)換出的百分位</p&

94、gt;<p>  LCALLDISP</p><p>  SJMP WAIT</p><p>  LOOP1:INC R0 </p><p><b>  MOV A,R0</b></p><p>  CJNE A,#08H,NEXT ;控制循環(huán)次數(shù)</p>&

95、lt;p>  MOVA,#00H</p><p>  NEXT:MOV R0,A </p><p><b>  SWAP A</b></p><p><b>  MOV P3,A</b></p><p>  CLR P2.5 </p><p>

96、  SETB P2.5</p><p>  CLR P2.5</p><p>  JNB P2.6,$</p><p>  SETB P2.7 </p><p>  MOV A,#0FFH</p><p>  MOV P1,A</p><p>  MOV A,P1

97、</p><p>  CLR P2.7</p><p>  MOV B,#51</p><p><b>  DIV AB</b></p><p><b>  MOV R1,A</b></p><p><b>  MOV A,B</b&g

98、t;</p><p>  MOV B,#2</p><p><b>  MUL AB</b></p><p>  MOV B,#10</p><p><b>  DIV AB</b></p><p><b>  MOV R2,A</b>&l

99、t;/p><p><b>  MOV R3,B</b></p><p>  LCALL DISP</p><p>  JNB P3.3, LOOP1</p><p>  SJMP WAIT</p><p>  DISP: MOV R4,#0FH ;顯示程序</p&g

100、t;<p>  LOOP:MOVA,R3</p><p>  MOVCA,@A+DPTR</p><p><b>  CLR P2.3</b></p><p><b>  MOVP0,A</b></p><p>  LCALLDELAY</p><

101、p>  SETBP2.3 ;控制哪個數(shù)碼管顯示</p><p><b>  MOVA,R2</b></p><p>  MOVCA,@A+DPTR</p><p><b>  CLRP2.2</b></p><p><b>  MOVP0,A</b>

102、</p><p>  LCALLDELAY</p><p><b>  SETBP2.2</b></p><p><b>  MOVA, R1</b></p><p>  MOVCA,@A+DPTR</p><p>  ADD A,#80H</p>&

103、lt;p><b>  CLR P2.1</b></p><p>  MOV P0, A</p><p>  LCALLDELAY</p><p><b>  SETBP2.1</b></p><p><b>  MOVA,R0</b></p>&l

104、t;p>  MOVCA,@A+DPTR</p><p><b>  CLRP2.0</b></p><p><b>  MOVP0,A</b></p><p>  LCALLDELAY</p><p>  SETBP2.0 </p><p>  DJNZ

105、R4,LOOP</p><p><b>  RET</b></p><p>  INT01: INC R0 ;中斷子程序</p><p><b>  RETI</b></p><p>  DELAY: MOVR6,#20;延時子程序</p><p>  D

106、1:MOVR7,#250</p><p><b>  DJNZR7,$</b></p><p>  DJNZR6,D1</p><p><b>  RET</b></p><p>  TAB: DB 3FH,06H,5BH,4FH,66H</p><p>  D

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論