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

下載本文檔

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

文檔簡介

1、<p><b>  通達(dá)學(xué)院</b></p><p>  2012/2013學(xué)年 第一學(xué)期</p><p>  課程設(shè)計 實驗報告</p><p>  模 塊 名 稱 基于8155的LCD顯示錄音回放機(jī)</p><p>  專 業(yè) 通信工程</p><p>  

2、學(xué) 生 班 級 </p><p>  學(xué) 生 學(xué) 號 </p><p>  學(xué) 生 姓 名 </p><p>  指 導(dǎo) 教 師 </p><p><b>  目錄</b></p><p>  第一部分 實驗?zāi)康募耙螅?</p><p><

3、b>  1.實驗?zāi)康?</b></p><p>  2. 實驗要求4</p><p>  第二部分 實驗工具及實驗器件4</p><p>  1.Proteus7.4以及Keil 2軟件的使用4</p><p>  3.模數(shù)轉(zhuǎn)換芯片ADC0804。7</p><p>  4.數(shù)模轉(zhuǎn)換

4、芯片DAC0832。11</p><p>  5.SRAM芯片6264。13</p><p>  6.6264的操作方式14</p><p>  7.可編程并行I/O接口芯片8155 H15</p><p>  8.74LS373 鎖存器16</p><p>  第三部分 實驗原理及程序代碼16&l

5、t;/p><p>  第四部分 實驗測試結(jié)果21</p><p>  第五部分 實驗小結(jié)和體會21</p><p>  (51單片機(jī))課程設(shè)計要求</p><p>  第一部分 實驗?zāi)康募耙螅?lt;/p><p><b>  1.實驗?zāi)康?lt;/b></p><p>  本課程設(shè)

6、計在理論課程的基礎(chǔ)上,重點培養(yǎng)學(xué)生的動手能力,通過理論計算、實際編程、調(diào)試、測試、分析查找故障,解決在實際設(shè)計中的問題,使設(shè)計好的電路能正常工作,為下一步結(jié)合實際的硬件系統(tǒng)設(shè)計準(zhǔn)備條件</p><p><b>  2. 實驗要求</b></p><p><b>  基本要求:</b></p><p>  1 把需要錄取

7、的信號用AD轉(zhuǎn)換器采樣并存儲在SRAM中。</p><p>  2 在一組數(shù)碼管或LCD上顯示采樣速率和錄音時間(秒),以及信號相關(guān)參數(shù)。</p><p>  3 用D/A轉(zhuǎn)換器回放錄音信號,通過喇叭過模擬示波器顯示。</p><p>  4 在一組數(shù)碼管或LCD上顯示回放的播放時間或信號強(qiáng)度。</p><p><b>  發(fā)

8、揮部分:</b></p><p>  1 用功能鍵可分別設(shè)定錄音和放音的采樣速率。</p><p>  2 多段錄音管理。</p><p>  3 任意組合播放。</p><p>  第二部分 實驗工具及實驗器件</p><p>  Proteus7.4以及Keil 2軟件的使用</p>

9、<p>  Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件(該軟件中國總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布

10、圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLA

11、B等多種編譯器。</p><p>  在PROTEUS繪制好原理圖后,調(diào)入已編譯好的目標(biāo)代碼文件:*.HEX,可以在PROTEUS的原理圖中看到模擬的實物運行狀態(tài)和過程。而*.HEX文件則由Keil軟件編譯后生成。</p><p>  Keil uVision2是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),使用接近于傳統(tǒng)c語言的語法來開發(fā),與匯編相比,C語

12、言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用,而且大大的提高了工作效率和項目開發(fā)周期,他還能嵌入?yún)R編,您可以在關(guān)鍵的位置嵌入,使程序達(dá)到接近于匯編的工作效率。KEILC51標(biāo)準(zhǔn)C編譯器為8051微控制器的軟件開發(fā)提供了C語言環(huán)境,同時保留了匯編代碼高效,快速的特點。C51編譯器的功能不斷增強(qiáng), 使你可以更加貼近CPU本身,及其它的衍生產(chǎn)品。C51已被完全集成到uVision2的集成開發(fā)環(huán)境中,這個集成開發(fā)環(huán)境包含:編

13、譯器,匯編器,實時操作系統(tǒng),項目管理器,調(diào)試器。uVision2 IDE可為它們提供單一而靈活的開發(fā)環(huán)境。</p><p>  Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面,使您能在很短的時間內(nèi)就能學(xué)會使用keil c51來開發(fā)您的單片機(jī)應(yīng)用程序 。</p><p>  另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成

14、的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。</p><p>  有了proteus和keil 我們就需要在這兩個軟件中建立我們所需要的工程進(jìn)行實驗,具體步驟如下:</p><p>  第一步:在Keil2中建立一個新的工程,并命名,</p><p>  第二步:選擇使用的單片機(jī)芯片,我們選擇80c31,&

15、lt;/p><p>  第三步:將新創(chuàng)建的.c文件添加到Target中。</p><p>  這樣我們就可以在keil2的環(huán)境下對單片機(jī)的程序進(jìn)行編譯和運行了。</p><p>  51單片機(jī)AT89c51</p><p>  51單片機(jī)是對目前所有兼容Intel 8031指令系統(tǒng)的單片機(jī)的統(tǒng)稱。該系列單片機(jī)的始祖是Intel的8031單片機(jī),后

16、來隨著Flash rom技術(shù)的發(fā)展,8031單片機(jī)取得了長足的進(jìn)展,成為目前應(yīng)用最廣泛的8位單片機(jī)之一,其代表型號是ATMEL公司的AT89系列,它廣泛應(yīng)用于工業(yè)測控系統(tǒng)之中。目前很多公司都有51系列的兼容機(jī)型推出,在目前乃至今后很長的一段時間內(nèi)將占有大量市場。51單片機(jī)是基礎(chǔ)入門的一個單片機(jī),還是應(yīng)用最廣泛的一種。需要注意的是52系列的單片機(jī)一般不具備自編程能力。</p><p>  當(dāng)前常用的51系列單片機(jī)主

17、要產(chǎn)品有:</p><p>  *Intel的:80C31、80C51、87C51,80C32、80C52、87C52等;</p><p>  *ATMEL的:89C51、89C52、89C2051等;</p><p>  *Philips、華邦、Dallas、Siemens(Infineon)等公司的許多產(chǎn)品80C31單片機(jī),它是8位高性能單片機(jī)。屬于標(biāo)準(zhǔn)的MCS

18、-51的HCMOS產(chǎn)品。它結(jié)合了HMOS的高速和高密度技術(shù)及CHMOS的低功耗特征,標(biāo)準(zhǔn)MCS-51單片機(jī)的體系結(jié)構(gòu)和指令系統(tǒng)。 80C31內(nèi)置中央處理單元、128字節(jié)內(nèi)部數(shù)據(jù)存儲器RAM、32個雙向輸入/輸出(I/O)口、2個16位定時/計數(shù)器和5個兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)時鐘振蕩電路。但80C31片內(nèi)并無程序存儲器,需外接ROM。 此外,80C31還可工作于低功耗模式,可通過兩種軟件選擇空閑和掉電模式。在空閑模式下凍

19、結(jié)CPU而RAM定時器、串行口和中斷系統(tǒng)維持其功能。掉電模式下,保存RAM數(shù)據(jù),時鐘振蕩停止,同時停止芯片內(nèi)其它功能。80C31有PDIP(40pin)和PLCC(44pin)兩種封裝形式。</p><p><b>  管腳說明:</b></p><p>  8031芯片具有40根引腳,其引腳圖如圖所示:</p><p><b>  

20、80C31管腳圖</b></p><p>  40根引腳按其功能可分為四類:</p><p><b>  1. 電源線2根</b></p><p>  Vcc:編程和正常操作時的電源電壓,接+5V。</p><p><b>  Vss:地電平。</b></p><p&

21、gt;<b>  2. 晶振:2根</b></p><p>  XTAL1:振蕩器的反相放大器輸入。使用外部震蕩器是必須接地。</p><p>  XTAL2:振蕩器的反相放大器輸出和內(nèi)部時鐘發(fā)生器的輸入。當(dāng)使用外部振蕩器時用于輸入外部振蕩信號。</p><p>  3. I/O口共有p0、p1、p2、p3四個8位口,32根I/O線,其功能如下

22、:</p><p>  1) P0.0~P0.7 (AD0~AD7)</p><p>  是I/O端口O的引腳,端口O是一個8位漏極開路的雙向I/O端口。在存取外部存儲器時,該端口分時地用作低8位的地址線和8位雙向的數(shù)據(jù)端口。(在此時內(nèi)部上拉電阻有效)</p><p>  2) P1.0~P1.7</p><p>  端口1的引腳,是一個帶內(nèi)

23、部上拉電阻的8位雙向I/O通道,專供用戶使用。</p><p>  3) P2.0~P2.7 (A8~A15)</p><p>  端口2的引腳。端口2是一個帶內(nèi)部上拉電阻的8位雙向I/O口,在訪問外部存儲器時,它輸出高8位地址A8~A15</p><p>  4) P3.0~P3.7</p><p>  端口3的引腳。端口3是一個帶內(nèi)部上拉

24、電阻的8位雙向I/O端口,該口的每一位均可獨立地定義第一I/O口功能或第二I/O口功能。作為第一功能使用時,口的結(jié)構(gòu)與操作與P1口完全相同,第二功能如下示:</p><p><b>  口引腳 第二功能</b></p><p>  P3.0 RXD(串行輸入口)</p><p>  P3.1 TXD(串行輸出口)</p

25、><p>  P3.2 (外部中斷)</p><p>  P3.3 (外部中斷)</p><p>  P3.4 T0(定時器0外部輸入)</p><p>  P3.5 T1(定時器1外部輸入)</p><p>  P3.6 (外部數(shù)據(jù)存儲器寫選通)</p><p>  P3.7

26、(外部數(shù)據(jù)存儲器讀選通)</p><p>  模數(shù)轉(zhuǎn)換芯片ADC0804。</p><p>  ADC0804的管腳圖如下所示</p><p>  它的主要電氣特性如下:</p><p>  ?         工作電壓:+5V,即VCC=+5V。</p&g

27、t;<p>  ?         模擬輸入電壓范圍:0~+5V,即0≤Vin≤+5V。</p><p>  ?         分辨率:8位,即分辨率為1/28=1/256,轉(zhuǎn)換值介于0~255之間。</p><p>

28、;  ?         轉(zhuǎn)換時間:100us(fCK=640KHz時)。</p><p>  ?         轉(zhuǎn)換誤差:±1LSB。</p><p>  ?     

29、    參考電壓:2.5V,即Vref=2.5V。</p><p>  1.ADC0804的轉(zhuǎn)換原理</p><p>  ADC0804是屬于連續(xù)漸進(jìn)式(Successive Approximation Method)的A/D轉(zhuǎn)換器,這類型的A/D轉(zhuǎn)換器除了轉(zhuǎn)換速度快(幾十至幾百us)、分辨率高外,還有價錢便宜的優(yōu)點,普遍被應(yīng)用于微電腦的接口設(shè)計上。</

30、p><p>  以輸出8位的ADC0804動作來說明“連續(xù)漸進(jìn)式A/D轉(zhuǎn)換器”的轉(zhuǎn)換原理,動作步驟如下表示(原則上先從左側(cè)最高位尋找起)。</p><p>  第一次尋找結(jié)果:10000000 (若假設(shè)值≤輸入值,則尋找位=假設(shè)位=1)</p><p>  第二次尋找結(jié)果:11000000 (若假設(shè)值≤輸入值,則尋找位=假設(shè)位=1)</p><p&g

31、t;  第三次尋找結(jié)果:11000000 (若假設(shè)值>輸入值,則尋找位=該假設(shè)位=0)</p><p>  第四次尋找結(jié)果:11010000 (若假設(shè)值≤輸入值,則尋找位=假設(shè)位=1)</p><p>  第五次尋找結(jié)果:11010000 (若假設(shè)值>輸入值,則尋找位=該假設(shè)位=0)</p><p>  第六次尋找結(jié)果:11010100 (若假設(shè)值≤輸入

32、值,則尋找位=假設(shè)位=1)</p><p>  第七次尋找結(jié)果:11010110 (若假設(shè)值≤輸入值,則尋找位=假設(shè)位=1)</p><p>  第八次尋找結(jié)果:11010110 (若假設(shè)值>輸入值,則尋找位=該假設(shè)位=0)</p><p>  這樣使用二分法的尋找方式,8位的A/D轉(zhuǎn)換器只要8次尋找,12位的A/D轉(zhuǎn)換器只要12次尋找,就能完成轉(zhuǎn)換的動作,其

33、中的輸入值代表圖1的模擬輸入電壓Vin</p><p>  2.分辨率與內(nèi)部轉(zhuǎn)換頻率的計算</p><p>  對8位ADC0804而言,它的輸出準(zhǔn)位共有28=256種,即它的分辨率是1/256,假設(shè)輸入信號Vin為0~5V電壓范圍,則它最小輸出電壓是5V/256=0.01953V,這代表ADC0804所能轉(zhuǎn)換的最小電壓值。</p><p>  表1列出的是8~12

34、位A/D轉(zhuǎn)換器的分辨率和最小電壓轉(zhuǎn)換值。</p><p>  表1 A/D轉(zhuǎn)換器的分辨率和最小電壓值</p><p>  至于內(nèi)部的轉(zhuǎn)換頻率fCK,是由圖2的CLKR(19腳)、CLK IN(4腳)所連接的R()、C(150PF)來決定。</p><p>  圖2 ADC0804與CPLD&FPGA、8051單片機(jī)等典型連接圖</p><

35、p>  頻率計算方式是:fCK=1/(1.1×R×C)</p><p>  若以圖2的R=10KΩ、C=150PF為例,則內(nèi)部的轉(zhuǎn)換頻率是</p><p>  fCK=1/(1.1×10 KΩ×150PF)=606KHz</p><p>  更換不同的R、C值,會有不同的轉(zhuǎn)換頻率,而且頻率愈高代表速度愈快。但是需要注意R

36、、C的組合,務(wù)必使頻率范圍是在100KHz~1460KHz之間。</p><p>  要求ADC0804進(jìn)行模擬/數(shù)字的轉(zhuǎn)換,其實可以直接由下面的時序圖及圖2信號的流向來配合了解。</p><p>  圖3 ADC0804控制信號時序圖</p><p>  以圖2、圖3信號流向而言,控制ADC0804動作的信號應(yīng)該只有CS、WR、RD。其中INTR由高電位轉(zhuǎn)為低電位

37、后,代表ADC0804完成這次的模擬/數(shù)字轉(zhuǎn)換,而DB0~DB7代表是轉(zhuǎn)換后的數(shù)字資料。</p><p>  圖3的動作大概可分成4個步驟區(qū)間——S0、S1、S2、S3,每個步驟區(qū)間的動作方式如下:</p><p>  ?         步驟S0:CS=0、WR=0、RD=1(由CPLD發(fā)出信號要求ADC08

38、04開始進(jìn)行模擬/數(shù)字信號的轉(zhuǎn)換)。</p><p>  ?         步驟S1:CS=1、WR=1、RD=1(ADC0804進(jìn)行轉(zhuǎn)換動作,轉(zhuǎn)換完畢后INTR將高電位降至低電位,而轉(zhuǎn)換時間>100us)。</p><p>  ?      

39、   步驟S2:CS=0、WR=1、RD=0(由CPLD發(fā)出信號以讀取ADC0804的轉(zhuǎn)換資料)。</p><p>  ?         步驟S3:CS=1、WR=1、RD=1(由CPLD讀取DB0~DB7上的數(shù)字轉(zhuǎn)換資料)。</p><p>  由上述步驟說明,可以歸納出所要設(shè)計的CPL

40、D動作功能有:</p><p>  ?         負(fù)責(zé)在每個步驟送出所需的CS、WR、RD控制信號。</p><p>  ?         在步驟S1時,監(jiān)控INTR信號是否由低電位變高電位,如此以便了解ADC0804的轉(zhuǎn)換

41、動作結(jié)束與否。</p><p>  ?         在步驟S3,讀取轉(zhuǎn)換的數(shù)字資料DB0~DB7</p><p>  數(shù)模轉(zhuǎn)換芯片DAC0832。</p><p>  DAC0832是8分辨率的D/A轉(zhuǎn)換集成芯片。與微處理器完全兼容。這個DA芯片以其價格低廉、接口簡單、轉(zhuǎn)換控制容易等

42、優(yōu)點,在單片機(jī)應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。D/A轉(zhuǎn)換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。</p><p>  DAC0832的主要特性參數(shù)如下:</p><p><b>  * 分辨率為8位;</b></p><p>  * 電流穩(wěn)定時間1us;</p><p>  * 可單緩沖、雙

43、緩沖或直接數(shù)字輸入;</p><p>  * 只需在滿量程下調(diào)整其線性度;</p><p>  * 單一電源供電(+5V~+15V);</p><p>  * 低功耗,20mW。</p><p>  DAC0832結(jié)構(gòu):</p><p>  * D0~D7:8位數(shù)據(jù)輸入線,TTL電平,有效時間應(yīng)大于90ns(否則鎖存器

44、的數(shù)據(jù)會出錯);</p><p>  * ILE:數(shù)據(jù)鎖存允許控制信號輸入線,高電平有效;</p><p>  * CS:片選信號輸入線(選通數(shù)據(jù)鎖存器),低電平有效;</p><p>  * WR1:數(shù)據(jù)鎖存器寫選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。由ILE、CS、WR1的邏輯組合產(chǎn)生LE1,當(dāng)LE1為高電平時,數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變換,LE1的負(fù)

45、跳變時將輸入數(shù)據(jù)鎖存;</p><p>  * XFER:數(shù)據(jù)傳輸控制信號輸入線,低電平有效,負(fù)脈沖(脈寬應(yīng)大于500ns)有效;</p><p>  * WR2:DAC寄存器選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。由WR2、XFER的邏輯組合產(chǎn)生LE2,當(dāng)LE2為高電平時,DAC寄存器的輸出隨寄存器的輸入而變化,LE2的負(fù)跳變時將數(shù)據(jù)鎖存器的內(nèi)容打入DAC寄存器并開始D/A轉(zhuǎn)換。

46、</p><p>  * IOUT1:電流輸出端1,其值隨DAC寄存器的內(nèi)容線性變化;</p><p>  * IOUT2:電流輸出端2,其值與IOUT1值之和為一常數(shù);</p><p>  * Rfb:反饋信號輸入線,改變Rfb端外接電阻值可調(diào)整轉(zhuǎn)換滿量程精度;</p><p>  * Vcc:電源輸入端,Vcc的范圍為+5V~+15V;&

47、lt;/p><p>  * VREF:基準(zhǔn)電壓輸入線,VREF的范圍為-10V~+10V;</p><p>  * AGND:模擬信號地</p><p>  * DGND:數(shù)字信號地</p><p>  DAC0832芯片:</p><p><b>  DAC0832</b></p>&

48、lt;p>  DAC0832是8分辨率的D/A轉(zhuǎn)換集成芯片。與微處理器完全兼容。這個DA芯片以其價格低廉、接口簡單、轉(zhuǎn)換控制容易等優(yōu)點,在單片機(jī)應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。D/A轉(zhuǎn)換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。</p><p>  1.DAC0832的結(jié)構(gòu)</p><p>  DAC0832中有兩級鎖存器,第一級鎖存器稱為輸入寄存器,它的

49、鎖存信號為ILE;第二級鎖存器稱為DAC寄存器,它的鎖存信號為傳輸控制信號 。因為有兩級鎖存器,DAC0832可以工作在雙緩沖器方式,即在輸出模擬信號的同時采集下一個數(shù)字量,這樣能有效地提高轉(zhuǎn)換速度。此外,兩級鎖存器還可以在多個D/A轉(zhuǎn)換器同時工作時,利用第二級鎖存信號來實現(xiàn)多個轉(zhuǎn)換器同步輸出。</p><p>  LE為高電平、 和 為低電平時, 為高電平,輸入寄存器的輸出跟隨輸入而變化;此后,當(dāng) 由低變高時,

50、 為低電平,資料被鎖存到輸入寄存器中,這時的輸入寄存器的輸出端不再跟隨輸入資料的變化而變化。對第二級鎖存器來說, 和 同時為低電平時, 為高電平,DAC寄存器的輸出跟隨其輸入而變化;此后,當(dāng) 由低變高時, 變?yōu)榈碗娖?,將輸入寄存器的資料鎖存到DAC寄存器中。</p><p>  2. DAC0832的引腳特性</p><p>  DAC0832是20引腳的雙列直插式芯片。各引腳的特性如下:

51、</p><p>  CS——片選信號,和允許鎖存信號ILE組合來決定 是否起作用,低有效。</p><p>  ILE——允許鎖存信號,高有效。</p><p>  WR1——寫信號1,作為第一級鎖存信號,將輸入資料鎖存到輸入寄存器(此時, 必須和 、ILE同時有效),低有效。</p><p>  WR2——寫信號2,將鎖存在輸入寄存器中的

52、資料送到DAC寄存器中進(jìn)行鎖存(此時,傳輸控制信號 必須有效)低有效。</p><p>  XFER——傳輸控制信號,低有效。</p><p>  DI7~DI0——8位數(shù)據(jù)輸入端。</p><p>  IOUT1——模擬電流輸出端1。當(dāng)DAC寄存器中全為1時,輸出電流最大,當(dāng)DAC寄存器中全為0時,輸出電流為0。</p><p>  IOU

53、T2——模擬電流輸出端2。IOUT1+IOUT2=常數(shù)。</p><p>  Rfb——反饋電阻引出端。DAC0832內(nèi)部已經(jīng)有反饋電阻,所以,RFB端可以直接接到外部運算放大器的輸出端。相當(dāng)于將反饋電阻接在運算放大器的輸入端和輸出端之間。</p><p>  VREF——參考電壓輸入端??山与妷悍秶鸀?#177;10V。外部標(biāo)準(zhǔn)電壓通過VREF與T型電阻網(wǎng)絡(luò)相連。</p>

54、<p>  VCC——芯片供電電壓端。范圍為+5V~+15V,最佳工作狀態(tài)是+15V。</p><p>  AGND——模擬地,即模擬電路接地端。</p><p>  DGND——數(shù)字地,即數(shù)字電路接地端。</p><p>  3.DAC0832的工作方式</p><p>  DAC0832進(jìn)行D/A轉(zhuǎn)換,可以采用兩種方法對數(shù)據(jù)進(jìn)行

55、鎖存。</p><p>  第一種方法是使輸入寄存器工作在鎖存狀態(tài),而DAC寄存器工作在直通狀態(tài)。具體地說,就是使 和 都為低電平,DAC寄存器的鎖存選通端得不到有效電平而直通;此外,使輸入寄存器的控制信號ILE處于高電平、 處于低電平,這樣,當(dāng) 端來一個負(fù)脈沖時,就可以完成1次轉(zhuǎn)換。</p><p>  第二種方法是使輸入寄存器工作在直通狀態(tài),而DAC寄存器工作在鎖存狀態(tài)。就是使 和 為

56、低電平,ILE為高電平,這樣,輸入寄存器的鎖存選通信號處于無效狀態(tài)而直通;當(dāng) 和 端輸入1個負(fù)脈沖時,使得DAC寄存器工作在鎖存狀態(tài),提供鎖存數(shù)據(jù)進(jìn)行轉(zhuǎn)換。</p><p>  根據(jù)上述對DAC0832的輸入寄存器和DAC寄存器不同的控制方法,DAC0832有如下3種工作方式:</p><p> ?、艈尉彌_方式。單緩沖方式是控制輸入寄存器和DAC寄存器同時接收資料,或者只用輸入寄存器而把D

57、AC寄存器接成直通方式。此方式適用只有一路模擬量輸出或幾路模擬量異步輸出的情形。</p><p> ?、齐p緩沖方式。雙緩沖方式是先使輸入寄存器接收資料,再控制輸入寄存器的輸出資料到DAC寄存器,即分兩次鎖存輸入資料。此方式適用于多個D/A轉(zhuǎn)換同步輸出的情節(jié)。</p><p> ?、侵蓖ǚ绞健V蓖ǚ绞绞琴Y料不經(jīng)兩級鎖存器鎖存,即 CS*,XFER* ,WR1* ,WR2* 均接地,ILE接高

58、電平。此方式適用于連續(xù)反饋控制線路和不帶微機(jī)的控制系統(tǒng),不過在使用時,必須通過另加I/O接口與CPU連接,以匹配CPU與D/A轉(zhuǎn)換。</p><p>  SRAM芯片6264。</p><p>  6264的容量為8KB,是28引腳雙列直插式芯片,采用CMOS工藝制造</p><p>  A12~A0(address inputs):地址線,可尋址8KB的存儲空間。

59、</p><p>  D7~D0(data bus):數(shù)據(jù)線,雙向,三態(tài)。</p><p>  OE(output enable):讀出允許信號,輸入,低電平有效。</p><p>  WE(write enable):寫允許信號,輸入,低電平有效。</p><p>  CE1(chip enable):片選信號1,輸入,在讀/寫方式時為低電

60、平。</p><p>  CE2(chip enable):片選信號2,輸入,在讀/寫方式時為高電平。</p><p>  VCC:+5V工作電壓。</p><p><b>  GND:信號地。</b></p><p><b>  6264的操作方式</b></p><p>

61、  6264的操作方式由, CE1 , CE2的共同作用決定</p><p> ?、?寫入:當(dāng)和為低電平,且和CE2為高電平時,數(shù)據(jù)輸入緩沖器打開,數(shù)據(jù)由數(shù)據(jù)線D7~D0寫入被選中的存儲單元。</p><p> ?、?讀出:當(dāng)和為低電平,且和CE2為高電平時,數(shù)據(jù)輸出緩沖器選通,被選中單元的數(shù)據(jù)送到數(shù)據(jù)線D7~D0上。</p><p> ?、?保持:當(dāng)為高電平,CE

62、2為任意時,芯片未被選中,處于保持狀態(tài),數(shù)據(jù)線呈現(xiàn)高阻狀態(tài)。</p><p>  微處理器通過數(shù)據(jù)總線、地址總線及控制總線與存儲器連接,如下圖所示:</p><p>  地址總線為地址信號,用來指明選中的存儲單元地址。</p><p>  數(shù)據(jù)總線為數(shù)據(jù)信號,它是微處理器送往存儲器的信息或存儲器送往微處理器的信息。它包括指令和數(shù)據(jù)。</p><p

63、>  控制總線發(fā)出存儲器讀寫信號,以便從ROM、RAM中讀出指令或數(shù)據(jù),或者向RAM寫入數(shù)據(jù)。</p><p>  在微機(jī)系統(tǒng)中,常用的靜態(tài)RAM有6116、6264、62256等。在本實驗中使用的是6264。6264為8K╳8位的靜態(tài)RAM,其邏輯圖如下:</p><p>  其中A0~12為13根地址線,I/O0~7為8根數(shù)據(jù)線,CS1 、CS2為兩個片選端,OE為數(shù)據(jù)輸出選通端

64、,WR為寫信號端。其工作方式見下表:</p><p>  可編程并行I/O接口芯片8155 H</p><p>  8155是Intel公司生產(chǎn)的可編程并行I/O接口芯片,有3個8位并行I/O口。具有3個通道3種工作方式的可編程并行接口芯片(40引腳)。 其各口功能可由軟件選擇,使用靈活,通用性強(qiáng)。8155可作為單片機(jī)與多種外設(shè)連接時的中間接口電路。 </p><p&g

65、t;  8155作為主機(jī)與外設(shè)的連接芯片,必須提供與主機(jī)相連的3個總線接口,即數(shù)據(jù)線、地址線、控 制線接口。同時必須具有與外設(shè)連接的接口A、B、C口。由于8155可編程,所以必須具有邏輯控制部分,因而8155內(nèi)部結(jié)構(gòu)分為3個部分:與CPU連接 部分、與外設(shè)連接部分、控制部分。</p><p>  8155各引腳功能說明如下:</p><p>  RST:復(fù)位信號輸入端,高電平有效。復(fù)位后,

66、3個I/O口均為輸入方式。</p><p>  AD0~AD7:三態(tài)的地址/數(shù)據(jù)總線。與單片機(jī)的低8位地址/數(shù)據(jù)總線(P0口)相連。單片機(jī)與8155之間的地址、數(shù)據(jù)、命令與狀態(tài)信息都是通過這個總線口傳送的。</p><p>  RD:讀選通信號,控制對8155的讀操作,低電平有效。</p><p>  WR:寫選通信號,控制對8155的寫操作,低電平有效。</

67、p><p>  CE:片選信號線,低電平有效。</p><p>  IO/M :8155的RAM存儲器或I/O口選擇線。當(dāng)IO/M =0時,則選擇8155的片內(nèi)RAM,AD0~AD7上地址為8155中RAM單元的地址(00H~FFH);當(dāng)IO/M =1時,選擇 8155的I/O口,AD0~AD7上的地址為8155 I/O口的地址。</p><p>  ALE:地址鎖存信

68、號。8155內(nèi)部設(shè)有地址鎖存器,在ALE的下降沿將單片機(jī)P0口輸出的低8位地址信息及 ,IO/ 的狀態(tài)都鎖存到8155內(nèi)部鎖存器。因此,P0口輸出的低8位地址信號不需外接鎖存器。</p><p>  PA0~PA7:8位通用I/O口,其輸入、輸出的流向可由程序控制。</p><p>  PB0~PB7:8位通用I/O口,功能同A口。</p><p>  PC0~PC

69、5:有兩個作用,既可作為通用的I/O口,也可作為PA口和PB口的控制信號線,這些可通過程序控制。</p><p>  TIMER IN:定時/計數(shù)器脈沖輸入端。</p><p>  TIMER OUT:定時/計數(shù)器輸出端。</p><p>  VCC:+5V電源。</p><p>  8155的地址編碼及工作方式</p><

70、;p>  在單片機(jī)應(yīng)用系統(tǒng)中,8155是按外部數(shù)據(jù)存儲器統(tǒng)一編址的,為16位地址,其高8位由片選線 提供, CE=0,選中該片。</p><p>  當(dāng) CE=0,IO/M =0時,選中8155片內(nèi)RAM,這時8155只能作片外RAM使用,其RAM的低8位編址為00H~FFH;當(dāng) CE=0,IO/M =1時,選中8155的I/O口,其端口地址的低8位由AD7~AD0確定,如表6-6所示。這時,A、

71、B、C口的口地址低8位分別為01H、02H、03H(設(shè)地址無關(guān)位為0)。</p><p>  74LS373 鎖存器</p><p>  當(dāng)三態(tài)允許控制端 OE 為低電平時,O0~O7 為正常邏輯狀態(tài),可用來驅(qū)動負(fù)載或總線。當(dāng) OE 為高電平時,O0~O7 呈高阻態(tài),即不驅(qū)動總線,也不為總線的負(fù)載,但鎖存器內(nèi)部的邏輯操作不受影響。 </p><p>  當(dāng)鎖存允許端

72、 LE 為高電平時,O 隨數(shù)據(jù) D 而變。當(dāng) LE 為低電平時,O 被鎖存在已建立的數(shù)據(jù)電平。當(dāng) LE 端施密特觸發(fā)器的輸入滯后作用,使交流和直流噪聲抗擾度被改善 400mV。 </p><p><b>  引出端符號: </b></p><p>  D0~D7 數(shù)據(jù)輸入端 </p><p>  OE 三態(tài)允許控制端(低電平有效) </p

73、><p><b>  LE 鎖存允許端 </b></p><p>  O0~O7 輸出端 </p><p><b>  真值表: </b></p><p>  第三部分 實驗原理及程序代碼:</p><p><b>  硬件部分電路設(shè)計</b></p&

74、gt;<p><b>  電路圖如圖:</b></p><p><b>  軟件部分設(shè)計</b></p><p>  #include<reg52.h></p><p>  #include<absacc.h></p><p>  /*************宏

75、定義****************/</p><p>  #define uint unsigned int</p><p>  #define uchar unsigned char</p><p>  /***********芯片端口地址定義************/</p><p>  #define DAC0832 XBYTE[0

76、XBFFF] //DAC0832口</p><p>  #define ADC0804 XBYTE[0X77FF] //ADC0804口 </p><p>  /*******系統(tǒng)引腳定義********/</p><p>  sbit RS=P3^0; //1602的數(shù)據(jù)/命令控制口口</p><p>  sbi

77、t RW=P3^1; //1602的讀寫控制端</p><p>  sbit EN=P3^2; //1602的使能控制端</p><p>  sbit key1=P3^3; //key1</p><p>  sbit key2=P3^4; //key2</p><p>  /******定義系統(tǒng)

78、變量*****/</p><p>  uchar num=0,second=0,minute=0; //定義時間變量</p><p>  bit flag1=0,flag2=0; //定義狀態(tài)標(biāo)志位</p><p>  /********延時子程序********/</p><p>  void delayms(uchar

79、 x) //ms延時函數(shù)</p><p><b>  {</b></p><p><b>  uchar y;</b></p><p>  for(;x>0;x--)</p><p>  for(y=110;y>0;y--) ;</p><p>&

80、lt;b>  }</b></p><p>  /********1602液晶驅(qū)動程序**********/</p><p>  unsigned char code dispbitcode[]=</p><p>  {0xfe,0xfd,0xfb,0xf7,0xf7,0xef,0xdf,0xbf,0x7f};</p><p>

81、;  unsigned char code LEDcode[]=</p><p>  {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};</p><p>  unsigned char dispbuf[8]={0,0,0,0,0,0,0,0};</p><p>  unsigned char dispc

82、ount;</p><p>  void display()</p><p>  { for(dispcount=0;dispcount<=7;dispcount++)</p><p><b>  {P0=0XFF;</b></p><p>  P1=LEDcode[dispbuf[dispcount]];<

83、/p><p>  P0=dispbitcode[dispcount];</p><p>  if(dispcount==5)</p><p>  { P1=P1|0x80;}</p><p>  delayms(2);</p><p><b>  P0=0xff;</b></p><

84、;p><b>  }</b></p><p><b>  }</b></p><p>  /*********鍵盤掃描程序************/</p><p>  void keyscan()</p><p><b>  {</b></p><p

85、>  if(key1==0)//判斷key1是否被按下</p><p>  { delayms(20); //延時消抖</p><p>  if(key1==0)//判斷key2是否被按下</p><p>  { flag1=1; //key1被按下,進(jìn)入采樣狀態(tài)</p><p>  TR0=

86、~TR0; //開始/暫停計時</p><p>  if(flag2==1) //判斷上一個狀態(tài)是否為回放狀態(tài)</p><p><b>  {</b></p><p><b>  flag2=0;</b></p><p><b>  num=0;</b></p

87、><p><b>  second=0;</b></p><p>  minute=0; //時間信息清零</p><p><b>  }</b></p><p><b>  }</b></p><p>  while(!key1);//等待k

88、ey1松開</p><p><b>  }</b></p><p>  if(key2==0)//判斷key2是否被按下</p><p><b>  {</b></p><p>  delayms(20); //延時消抖</p><p>  if(k

89、ey2==0) //判斷key2是否被按下</p><p>  { flag2=1; //key2被按下,進(jìn)入回放狀態(tài)</p><p>  TR0=~TR0; //開始/暫停計時</p><p>  if(flag1==1) //判斷上一個狀態(tài)是否為采樣狀態(tài)</p><p>  { fla

90、g1=0; //采樣狀態(tài)標(biāo)志位清零</p><p><b>  num=0;</b></p><p><b>  second=0;</b></p><p>  minute=0; //時間信息清零</p><p><b>  }</b></p>&l

91、t;p><b>  }</b></p><p>  while(!key2); //等待key2松開</p><p><b>  }</b></p><p><b>  }</b></p><p>  /****1602液晶顯示時間程序***系統(tǒng)初始化程序****

92、*/</p><p>  void Initial()</p><p>  {TMOD=0x01; //定義定時器工作方式</p><p>  ET0=1; //開定時器0的中斷</p><p>  EA=1;//開總中斷</p><p>

93、;  TH0=(65536-50000)/256;</p><p>  TL0=(65536-50000)%256;//給定時器0裝初值</p><p>  TR0=0;//關(guān)定時器0</p><p><b>  P0=0XFF;</b></p><p><b>  }</b>

94、;</p><p>  void main()</p><p>  { uint x=0xE000; //定義SRAM地址變量</p><p><b>  uint max;</b></p><p>  uchar temp; //定義系統(tǒng)臨時變量</p><p>

95、  Initial(); //系統(tǒng)初始化</p><p><b>  while(1)</b></p><p>  {keyscan();</p><p>  display();</p><p>  x=0xE000; //將地址清零</p><p>  while(f

96、lag1==1)//采樣循環(huán)</p><p>  { if(TR0==1)//判斷是否正在進(jìn)行采樣</p><p>  { ADC0804=0xff;//將口置1,啟動AD</p><p>  delayms(1);//延時</p><p>  temp=ADC0804;//讀取AD轉(zhuǎn)換的數(shù)據(jù)</p

97、><p>  XBYTE[x]=temp; //將AD轉(zhuǎn)換的數(shù)據(jù)存入SRAM中</p><p><b>  x++;</b></p><p>  max=x; //地址加1</p><p>  if(x==0xFFFF) //判斷SRAM的地址范圍</p><p><b&

98、gt;  x=0xE000;</b></p><p><b>  }</b></p><p>  dispbuf[5]=temp/100;</p><p>  dispbuf[6]=(temp/10)%10;</p><p>  dispbuf[7]=temp%10;</p><p>

99、  keyscan(); //鍵盤掃描</p><p>  display(); //顯示時間</p><p><b>  }</b></p><p>  x=0xE000; //將地址清零</p><p>  while(flag2==1) //回放循環(huán)</p>

100、<p>  {if(TR0==1) //判斷是否正在進(jìn)行回放</p><p>  { temp=XBYTE[x]; //從SRAM中讀取數(shù)據(jù)</p><p>  x++; //6264地址加1</p><p>  if(x==max)

101、 //判斷地址范圍</p><p>  { x=0xE000;</p><p><b>  TR0=0;</b></p><p><b>  }</b></p><p>  DAC0832=temp; //將SRAM中讀取的數(shù)據(jù)進(jìn)行DA轉(zhuǎn)換</p><p

102、>  delayms(1);</p><p><b>  }</b></p><p>  dispbuf[5]=temp/100;</p><p>  dispbuf[6]=(temp/10)%10;</p><p>  dispbuf[7]=temp%10;</p><p>  keysc

103、an(); //鍵盤掃描程序</p><p>  display(); //顯示時間程序</p><p>  } </p><p><b>  } </b></p><p><b>  }</b>&l

104、t;/p><p>  /************************************************定時器0中斷程序**********************************************/</p><p>  void timer0() interrupt 1</p><p><b>  {</b><

105、/p><p>  TH0=(65536-10000)/256;</p><p>  TL0=(65536-10000)%256; //給定時器0裝初值,定義時間精度為0.01s</p><p>  num++; //計數(shù)器加1</p><p>  if(num==100)//判斷1s時間是否到</p>

106、<p><b>  {</b></p><p>  num=0; //計數(shù)器清零</p><p>  second++; //秒加1</p><p>  if(second==60) //判斷1分鐘是否到</p><p><b>  {</b></p&g

107、t;<p>  second=0; //秒清零</p><p>  minute++; //分鐘加1</p><p>  if(minute==60) //判斷1小時是否到</p><p>  minute=0; //分鐘清零</p><p><b>  }</b></p&

108、gt;<p><b>  }</b></p><p><b>  }</b></p><p>  第四部分 實驗測試結(jié)果</p><p>  第五部分 實驗小結(jié)和體會</p><p>  為期兩周的課程設(shè)計結(jié)束了,在這兩周的學(xué)習(xí)中,我學(xué)到了很多,感受良多,獲益匪淺。這次課程設(shè)計的題目是

109、基于8155的LCD顯示錄音回放機(jī)設(shè)計,利用proteus進(jìn)行仿真實驗。通過這次實訓(xùn)也切實地感受到了理論結(jié)合實際的重要性。在實際的過程中遇到很多問題,可以說是問題重重,并且在設(shè)計過程中也發(fā)現(xiàn)了自己的不足,發(fā)現(xiàn)自己對所學(xué)的知識理解得不夠深刻,掌握得不夠牢固,有待加強(qiáng)。但是通過自己和搭檔的努力,還有同學(xué)和老師的幫助,總算完成了這次設(shè)計。這讓我切實感受了團(tuán)隊的力量,個人需要團(tuán)隊,團(tuán)隊也需要個人,團(tuán)隊協(xié)作是我們實訓(xùn)成功的一項重要保證。而這次實訓(xùn)

溫馨提示

  • 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

提交評論