單片機畢業(yè)設(shè)計論文

上傳人:仙*** 文檔編號:32703634 上傳時間:2021-10-15 格式:DOC 頁數(shù):71 大?。?.29MB
收藏 版權(quán)申訴 舉報 下載
單片機畢業(yè)設(shè)計論文_第1頁
第1頁 / 共71頁
單片機畢業(yè)設(shè)計論文_第2頁
第2頁 / 共71頁
單片機畢業(yè)設(shè)計論文_第3頁
第3頁 / 共71頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《單片機畢業(yè)設(shè)計論文》由會員分享,可在線閱讀,更多相關(guān)《單片機畢業(yè)設(shè)計論文(71頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、第一章 概述 第1章 概 述 1.1 凌陽十六位單片機簡介 隨著單片機功能集成化的發(fā)展,其應(yīng)用領(lǐng)域也逐漸地由傳統(tǒng)的機制,擴展為控制處理、數(shù)據(jù)處理以及數(shù)字信號處理(DSP,Digital SignalProcessing)等領(lǐng)域。凌陽的16位單片機就是為適應(yīng)這種發(fā)展而設(shè)計的。它的CPU內(nèi)核采用凌陽最新推出的’nSP?(Microcontroller and Signal Processor)16位微處理器芯片(以下簡稱’nSP?)。圍繞’nSP?所形成的16位’nSP?系列單片機(以下簡稱’nSP?家族)采用的是模塊式集成結(jié)構(gòu),它以’nSP?內(nèi)核為中心集成不同規(guī)模的ROM、R

2、AM和功能豐富的各種外設(shè)接口部件,如圖所示。 ’nSP?內(nèi)核是一個通用的核結(jié)構(gòu)。除此之外的其它功能模塊均為可選結(jié)構(gòu),亦即這種結(jié)構(gòu)可大可小或可有可無。借助這種通用結(jié)構(gòu)附加可選結(jié)構(gòu)的積木式的構(gòu)成,便可形成各種不同系列派生產(chǎn)品,以適合不同的應(yīng)用場合。這樣做無疑會使每一種派生產(chǎn)品具有更強的功能和更低的成本。 ’nSP?家族有以下特點: 1體積小、集成度高、可靠性好且易于擴展 ’nSP?家族把各功能部件模塊化地集成在一個芯片里,內(nèi)部采用總線結(jié)構(gòu),因而減少了各功能部件之間的連線,提高了其可靠性和抗干擾能力。另外,模塊化的結(jié)構(gòu)易于系統(tǒng)擴展,以適應(yīng)不同用戶的需求。 2具有較強的中斷處

3、理能力 ’nSP?家族的中斷系統(tǒng)支持10個中斷向量及10余個中斷源,適合實時應(yīng)用領(lǐng)域。 3高性能價格比 ’nSP?家族片內(nèi)帶有高尋址能力的ROM、靜態(tài)RAM和多功能的I/O口。另外,’nSP?的指令系統(tǒng)提供具有較高運算速度的16位16位的乘法運算指令和內(nèi)積運算指令,為其應(yīng)用增添了DSP功能,使得’nSP?家族運用在復(fù)雜的數(shù)字信號處理方面既很便利,又比專用的DSP芯片廉價。 4功能強、效率高的指令系統(tǒng) ’nSP?指令系統(tǒng)的指令格式緊湊,執(zhí)行迅速,并且其指令結(jié)構(gòu)提供了對高級語言的支持,這可以大大縮短產(chǎn)品的開發(fā)時間。 5低功耗、低電壓 ’nSP?家族采用CMOS

4、制造工藝,同時增加了軟件激發(fā)的弱振方式、空閑方式和掉電方式,極大地降低了其功耗。另外,’nSP?家族的工作電壓范圍大,能在低電壓供電時正常工作,且能用電池供電。這對于其在野外作業(yè)等領(lǐng)域中的應(yīng)用具有特殊的意義。 1.2 總述 SPCE061A 是繼’nSP?系列產(chǎn)品SPCE500A等之后凌陽科技推出的又一款16位結(jié)構(gòu)的微控制器。與SPCE500A不同的是,在存儲器資源方面考慮到用戶的較少資源的需求以及便于程序調(diào)試等功能,SPCE061A里只內(nèi)嵌32K字的閃存(FLASH)。較高的處理速度使’nSP?能夠非常容易地、快速地處理復(fù)雜的數(shù)字信號。因此,與SPCE500A相比,以’nSP?為核心的

5、SPCE061A微控制器是適用于數(shù)字語音識別應(yīng)用領(lǐng)域產(chǎn)品的一種最經(jīng)濟的選擇。 1.2.1 性能 16位’nSP?微處理器; 工作電壓(CPU) VDD為2.4~3.6V (I/O) VDDH為2.4~5.5V CPU時鐘:0.32MHz~49.152MHz ; 內(nèi)置2K字SRAM; 內(nèi)置32K FLASH; 可編程音頻處理; 晶體振蕩器; 系統(tǒng)處于備用狀態(tài)下(時鐘處于停止?fàn)顟B(tài)),耗電僅為2A@3.6V; 2個16位可編程定時器/計數(shù)器(可自動預(yù)置初始計數(shù)值); 2個10位DAC(數(shù)-模轉(zhuǎn)換)輸出通道;

6、 32位通用可編程輸入/輸出端口; 14個中斷源可來自定時器A / B,時基,2個外部時鐘源輸入,鍵喚醒; 具備觸鍵喚醒的功能; 使用凌陽音頻編碼SACM_S240方式(2.4K位/秒),能容納210秒的語音數(shù)據(jù); 鎖相環(huán)PLL振蕩器提供系統(tǒng)時鐘信號; 32768Hz實時時鐘; 7通道10位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換器; 聲音模-數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動增益控制(AGC)功能; 具備串行設(shè)備接口; 具有低電壓復(fù)位(LVR)功能和低電壓監(jiān)測(LVD)功能; 內(nèi)置在線仿真電路I

7、CE(In- Circuit Emulator)接口; 具有保密能力; 具有WatchDog功能。 1.2.2 結(jié)構(gòu)概覽 SPCE061A的結(jié)構(gòu)如圖1.2所示: 1.2.3 芯片的引腳排列和說明 SPCE061A有兩種封裝片,一種為84個引腳,PLCC84封裝形式;它的排列如圖1.4所示;另一種為80個引腳,LQFP80封裝。他3的排列如圖所示。 在PLCC84封裝中,有15個空余腳,用戶使用時這15個空余腳懸浮。在LQFP80封裝中有9個空余腳,用戶

8、使用時這9個空余腳接地。此處以LQFP80封裝管腳功能介紹。 【1】可將PFUSE接5V, PVIN接GND并維持1s以上即可將內(nèi)部保險絲熔化,此后就無法讀取和向閃存加載數(shù)據(jù)。 1.2.4 特性 SPCE061A系統(tǒng)的特性參數(shù)如表1.2所示。 1.2.5 SPCE061A最小系統(tǒng) 最小系統(tǒng)接線如圖1.6所示,在OSC0、OSC1端接上晶振及諧振電容,在鎖相環(huán)壓控振蕩器的阻容輸入VCP端接上相應(yīng)的電容電阻后即可工作。其它不用的電源端和地端接上0.1F的去藕電容提高抗干擾能力。 1.2.6 SPCE061A開發(fā)方法 SPCE061A的開發(fā)是通過在線調(diào)試器PR

9、OBE實現(xiàn)的。它既是一個編程器(即程序燒寫器),又是一個實時在線調(diào)試器。用它可以替代在單片機應(yīng)用項目的開發(fā)過程中常用的軟件工具——硬件在線實時仿真器和程序燒寫器。它利用了SPCE061A片內(nèi)置的在線仿真電路ICE(In- Circuit Emulator)接口和凌陽公司的在線串行編程技術(shù)。PROBE工作于凌陽IDE集成開發(fā)環(huán)境軟件包下,其5芯的仿真頭直接連接到目標(biāo)電路板上SPCE061A相應(yīng)管腳,直接在目標(biāo)電路板上的CPU---SPCE061A調(diào)試、運行用戶編制的程序。PROBE的另一頭是標(biāo)準(zhǔn)25針打印機接口,直接連接到計算機打印口與上位機通訊,在計算機IDE集成開發(fā)環(huán)境軟件包下,完成在線調(diào)試

10、功能。圖1.7是計算機、PROBE、用戶目標(biāo)板三者之間的連接示意圖,圖1.8是實物連接圖。 71 第二章SPCE061A的硬件結(jié)構(gòu) 第二章.SPCE061A的硬件結(jié)構(gòu) SPCE061A 芯片內(nèi)部集成了ICE (在線實時仿真/除錯器)、FLASH (閃存)、SRAM (靜態(tài)內(nèi)存)、通用I/O 端口、定時器/計數(shù)器、中斷控制、CPU時鐘鎖相環(huán)(PLL)、ADC (模擬數(shù)字轉(zhuǎn)換器)、DAC (數(shù)字模擬轉(zhuǎn)換器)輸出、UART (通用異步串行輸入輸出接口)、SIO (串行輸入輸出接口)、低電壓監(jiān)測/低電壓復(fù)位等模塊。

11、在本章中我們將詳細(xì)介紹各個模塊的結(jié)構(gòu)及應(yīng)用。 ’nSP?的核心由總線、ALU算術(shù)邏輯運算單元、寄存器組、中斷系統(tǒng)及堆棧等部分組成。其結(jié)構(gòu)如圖2.1所示。 2.1 ALU 算術(shù)邏輯運算單元 ’nSP?的ALU 非常有特色,除了一般基本的16 位算術(shù)邏輯運算,還提供了結(jié)合算術(shù)邏輯的16 位移位運算。在數(shù)字信號處理方面,提供了高速的16 位16 位乘法運算和內(nèi)積(乘加)運算。 2.1.1 16 位算術(shù)邏輯運算 ’nSP?與大多數(shù)CPU 一樣,提供了基本的算術(shù)運算與邏輯操作指令,加法、減法、比較、補碼、異或、或、與、測試、寫入、讀出等16 位算術(shù)邏輯運算及數(shù)據(jù)傳送操作。 2.1

12、.2 結(jié)合算術(shù)邏輯的16 位移位運算 ’nSP?的移位運算包括:算術(shù)右移ASR、邏輯左移LSL、邏輯右移LSR、旋轉(zhuǎn)左移ROL 及旋轉(zhuǎn)右移ROR。 ’nSP?的移位器shifter 就串接在ALU 的前面,也就是說,操作數(shù)在經(jīng)過移位處理后,馬上會進入ALU 進行算數(shù)邏輯運算。所以,’nSP?的移位指令都是復(fù)合式指令,一個指令會同時完成移位和算術(shù)邏輯運算。程序設(shè)計者可利用這些復(fù)合式的指令,撰寫更精簡的程序代碼,進而增加程序代碼密集度(Code Density)。在微控制器應(yīng)用中,如何增加程序代碼密集度是非常重要的問題;提高程序代碼密集度可以減少程序代碼的大小,進而減少ROM 或FLASH

13、 的需求,以降低系統(tǒng)成本與增加執(zhí)行效能。 2.1.3 16 位 16 位的乘法運算和內(nèi)積(乘加)運算 除了普通的16 位算數(shù)邏輯運算指令外,’nSP?還提供了高速的16 位 16 位乘法運算指令MUL, 和16 位內(nèi)積運算指令MULS 。二者都可以用于有符號數(shù)相乘(signed signed) 或無符號數(shù)與有符號數(shù)相乘(unsigned signed)的運算。在’nSP?ISA1.1 指令集下,MUL 指令只需花費12 個時鐘周期,MULS 指令花費10n+6 個時鐘周期,其中n 為乘加的項數(shù)。例如:“MR=[R2]*[R1] ,4”表示求4 項乘積的和,MULS指令只需花費46(104

14、+6=46)個時鐘周期。這兩條指令大大的提升了’nSP?的數(shù)字信號處理能力。 2.2寄存器組 ’nSP? CPU 的寄存器組一共有8 個16 位寄存器,可分為通用寄存器和專用寄存器兩大類別。通用寄存器包括:R1~R4,作為算術(shù)邏輯運算的來源及目標(biāo)寄存器。專用寄存器包括SP、BP、SR、PC,是與CPU 特定用途相關(guān)的寄存器。 2.2.1 通用寄存器R1~R4 (General-purpose registers) 可用于數(shù)據(jù)運算或傳送的來源及目標(biāo)寄存器。寄存器R4、R3 配對使用,還可組成一個32 位的乘法結(jié)果寄存器MR;其中R4 為MR 的高字符組,R3 為MR 的低字符組,用于

15、存放乘法運算或內(nèi)積運算結(jié)果。 2.2.2 堆棧指針寄存器SP (Stack Pointer) SP 是用來紀(jì)錄堆棧地址的寄存器,SP 會指向堆棧的頂端。堆棧是一個先進后出的內(nèi)存結(jié)構(gòu),’nSP?的堆棧結(jié)構(gòu)是由高地址往低地址的方向來儲存的。CPU 執(zhí)行push、子程序調(diào)用call、以及進入中斷服務(wù)子程序(ISR,Interrupt Service Routine) 時,會在堆棧里儲存寄存器內(nèi)容,這時SP 會遞減以反映堆棧用量的增加。當(dāng)CPU 執(zhí)行pop 時、子程序返回ret、以及從ISR 返回reti 時,SP 會遞增以反映堆棧用量的減少?!痭SP?堆棧的大小限制在2K 字的SRAM 內(nèi),

16、即地址為0x000000~0x0007FF 的內(nèi)存范圍中。 2.2.3 基址指針寄存器BP (Base Pointer) ’nSP?提供了一種方便的尋址方式,即基址尋址方式[BP+IM6];程序設(shè)計者可通過BP 來存取ROM 與RAM 中的數(shù)據(jù),包括:局部變量(Local Variable)、函數(shù)參數(shù)(FunctionParameter)、返回地址(Return Address)等等。BP 除了上述用途外,也可做為通用寄存器R5,用于數(shù)據(jù)運算傳送的來源及目標(biāo)寄存器。因此,在本書或程序中,BP 與R5 是共享的,均代表基址指針寄存器。 2.2.4 程序計數(shù)器PC (Program Co

17、unter) 它的作用與一般微控制器中的PC 相同,是用來紀(jì)錄程序目前執(zhí)行位置的寄存器,以控制程序走向。CPU 每執(zhí)行完一個指令,就會改變PC 的值,使其指向下一條指令的地址。在’nSP?里,16 位的PC 寄存器與SR 寄存器的CS 字段,共同組成一個22 位的程序代碼地址。 2.2.5 狀態(tài)寄存器SR (Status Pointer) SR內(nèi)含許多字段,每個字段都有特別的用途,如圖2.1所示。其中包含兩個6 位的區(qū)段選擇字段: CS (Code Segment),DS (Data Segment),它們可與其它16 位的寄存器結(jié)合在一起形成一個22 位的地址,用來尋址4M字容量的

18、內(nèi)存。SPCE061A只有32K字的閃存,只占用一頁的存儲空間,所以CS和DS字段在SPCE061A中都是設(shè)為0。 算數(shù)邏輯運算的結(jié)果會影響CPU 內(nèi)的標(biāo)志(flag),標(biāo)志的內(nèi)容可以作為條件判斷的依據(jù)。’nSP?有四個1 位的標(biāo)志: N、Z、S、C,即SR 寄存器中間的4 個位(B6~B9)。CPU 在執(zhí)行條件跳轉(zhuǎn)指令時,會先測試這些標(biāo)志位,以控制程序的流向。這些標(biāo)志的詳細(xì)說明如下: 1 進位標(biāo)志C C=0 時表示運算過程中無進位或是有借位情況產(chǎn)生;而C=1 表示運算過程中有進位或是無借位情況產(chǎn)生。在無符號數(shù)運算中,16 位可以表示的數(shù)值范圍是0x0000~0xFFFF,即0~65

19、535。如果運算結(jié)果大于65535(0xFFFF),則標(biāo)志位C 被置為1。請注意:進位標(biāo)志C 一般用于無符號數(shù)運算的進、借位判斷。 2 零標(biāo)志Z Z=0 時表示運算結(jié)果不為0,Z=1 時表示運算結(jié)果為0。 3 負(fù)標(biāo)志N 負(fù)標(biāo)志N 是用來判斷運算結(jié)果的最高位(B15)是否為1。B15=0 則N=0; B15=1則N=1。 4 符號標(biāo)志S S=0 時表示運算結(jié)果為正數(shù)或是0,S=1 時則表示運算結(jié)果(在二進制補碼的規(guī)則下)為負(fù)。對于有符號數(shù)運算,16 位所能表示的數(shù)值范圍是0x8000~0x7FFF,即-32768~32767。若運算結(jié)果小于零,則符號標(biāo)志S 被置為1。有符號數(shù)運

20、算的運算結(jié)果可能會大于0x7FFF 或小于0x8000。比如:0x7FFF+0x7FFF=0xFFFE(65534),運算結(jié)果為正(S=0),且無進位(C=0)發(fā)生;在此情況下,負(fù)標(biāo)志N 被置為1(因為最高位為1)。若標(biāo)志N 與S 不同,則說明了有溢出(overflow)發(fā)生,即:S=0,N=1 或S=1,N=0。符號標(biāo)志S 可用來判斷有符號數(shù)的正負(fù)。而JVC(N==S),JVS(N!=S)則可用來判斷溢出。請注意:N,S 的組合用于有符號數(shù)溢出的判斷。 特別需要注意:在運算操作過程中,若目標(biāo)寄存器是PC,則所有標(biāo)志位均不會受到影響。 總結(jié): [1].由于補碼可以把有符號數(shù)與無符號

21、數(shù)的運算統(tǒng)一起來,所以對于同一條加法或減法指令,既可以認(rèn)為是有符號數(shù)運算又可以認(rèn)為是無符號數(shù)運算,只是觀察的角度、判斷的標(biāo)準(zhǔn)不同而已。 [2].進位標(biāo)志C 一般用于無符號數(shù)運算的進、借位判斷。 [3].N,S 的組合用于有符號數(shù)溢出的判斷。 [4].有符號數(shù)的范圍為-32768~32767,無符號數(shù)的范圍為0~65535。若為有符號數(shù),運算前數(shù)值的正負(fù)應(yīng)利用負(fù)標(biāo)志N 來判斷;運算后結(jié)果的正負(fù)應(yīng)利用符號標(biāo)志S來判斷。 2.3 數(shù)據(jù)總線和地址總線 ’nSP?是16 位單片機,它具有16 位的數(shù)據(jù)線和22 位地址線。由此決定其基本數(shù)據(jù)類型是16

22、位的“字”型,而不是8 位的“字節(jié)”型;因此內(nèi)存都是按“字”操作的,22位的地址線最多可尋址到4M 字的內(nèi)存空間。地址線中的高6 位A16~A21 來自SR 寄存器中的6 位的CS 字段或是6 位的DS 字段,低16 位A0~A15 則來自內(nèi)部寄存器。通常,地址線的高6 位稱為內(nèi)存地址的Page Selector,簡稱為頁碼(Page);而低16 位則稱為內(nèi)存地址的偏移量(Offset)。 ’nSP?通過對區(qū)段(Segment)的編碼來實現(xiàn)內(nèi)存分頁的檢索,即是說‘Segment’的含義與‘Page’的含義是相等的。因而,通過Segment與Offset的配合即可產(chǎn)生22 位地址,如圖2.1中

23、ADDRGEN所示。(注意: SPCE061A只有32K字閃存FLASH,僅占一頁存儲空間,所以CS字段和DS字段在SPCE061A用不到,都設(shè)為0)。 2.4 SPCE064A片內(nèi)存儲器結(jié)構(gòu) SPCE061A 的內(nèi)存地址映像如圖2.2 所示。芯片內(nèi)的內(nèi)存有2K 字的SRAM(包括堆棧區(qū))和32K 字閃存(FLASH)。 2.4.1 RAM SPCE061A 有2K 字的SRAM(包括堆棧區(qū)),其地址范圍從0x0000 到0x07FF。前64 個字,即0x0000~0x003F 地址范圍內(nèi),可采用6 位地址直接地址尋址方法,存取速度為2 個CPU 時鐘周期;其余范圍內(nèi)(0x0040~

24、0x07FF)內(nèi)存的存取速度則為3 個CPU時鐘周期。 2.4.2 堆棧 SP 是用來記錄堆棧地址的寄存器,SP 會指向堆棧的頂端。堆棧是一個先進后出的內(nèi)存結(jié)構(gòu),’nSP?的堆棧結(jié)構(gòu)是由高地址往低地址的方向來儲存的。CPU 執(zhí)行push、子程序呼叫call、以及進入中斷服務(wù)子程序(ISR,Interrupt Service Routine) 時,會儲存寄存器內(nèi)容在堆棧里,這時SP 會遞減以反映堆棧用量的增加。當(dāng)CPU 執(zhí)行pop、子程序返回ret、以及從ISR 返回reti 時,SP 會遞增以反映堆棧用量的減少。 ’nSP?堆棧的大小限制在2K 字的SRAM 內(nèi),即地址為0x00

25、0000~0x0007FF 的內(nèi)存范圍中。SPCE061A 系統(tǒng)復(fù)位后,SP 初始化為0x07FF,每執(zhí)行push 指令一次,SP 指針減一。 2.4.3 閃存Flash SPCE061A 是一個用閃存替代mask ROM 的MTP(multi-time-programmable)芯片,閃存可以進行多次的擦除與寫入,可用來存儲程序與數(shù)據(jù)。SPCE061A 具有32K 字(32K16 位)閃存容量,這32K 字的內(nèi)嵌閃存被劃分為128 個頁,每個頁存儲容量為256 個字。它們在CPU 正常運行狀態(tài)下均可通過程序擦除或?qū)懭?。全?2K 字閃存均可在ICE 工作方式下被寫入或被擦除。為了安

26、全起見,不對用戶開放整體擦除功能。 用戶必須通過向P_Flash_Ctrl (寫) ($7555H)單元寫入0xAAAA,來啟用閃存的存取功能。然后,向P_Flash_Ctrl (寫) ($7555H)單元寫入0x5511,來擦除頁的內(nèi)容。寫入0x5533,對閃存寫入。這些指令不能被任何其它的操作打斷,包括中斷、ICE 的單步跟蹤動作。這是因為閃存控制器必須保證閃存處于寫入狀態(tài)。如果其它的操作打亂了這個順序,閃存的狀態(tài)將發(fā)生改變,擦除頁和寫入的操作不能再繼續(xù)進行。 此外,為保證數(shù)據(jù)的正確寫入,用戶必須在寫入之前擦除頁的內(nèi)容。頁大小為0x100。第一頁地址范圍:0x8000~0x80FF

27、,最后一頁的地址范圍:0xFF00~0xFFFF。0xFC00~0xFFFF范圍內(nèi)的地址由系統(tǒng)保留,用戶最好不要用本范圍內(nèi)的地址。 1 讀取操作 在芯片上電后,閃存就處于讀取狀態(tài),讀取的操作與SRAM 相同。 2 擦除操作 在對閃存寫入數(shù)據(jù)前,必須對閃存進行擦除操作。由于閃存采用分頁的數(shù)組結(jié)構(gòu),使得各個存儲頁可以被獨立地擦除。當(dāng)用戶向閃存控制接口發(fā)出頁擦除命令以后,只要向某個地址寫入任意的數(shù)據(jù),對應(yīng)到這個地址的的記憶頁就被擦除。要保證擦除操作的正確 完成,必須考慮以下幾個參數(shù): 1. 該閃存的內(nèi)部分頁結(jié)構(gòu)。 2. 每個頁分區(qū)的擦除時間。 3 寫入操作 閃存芯片的寫入

28、操作是自動字節(jié)寫入, 既可以循序?qū)懭耄部芍付ǖ刂穼懭?。閃存的地址空間為0x8000—0xFFFF,閃存控制接口的地址為0x7555 。第一頁范圍是[0x8000—0x80FF],最后一頁范圍是[0xFF00—0xFFFF]。 1. 擦除一頁的流程是:先對命令用戶接口地址0x7555 送出0xAAAA,然后再對命令用戶接口地址0x7555 送出0x5511,再來對要擦除的記憶頁地址寫入任意數(shù)據(jù),約20ms 即可完成擦除操作,之后就可以再進行其它操作。例如擦除第6 頁[0x8500—0x85FF]流程如下:(1)0x7555 ←0xAAAA (2) 0x7555 ←0x5511(3)0x85

29、XX←0xXXXX (其中X 為任意值)。 2. 寫入一個字的流程是:先對命令用戶接口地址0x7555 送出0xAAAA,然后再對命令用戶接口地址0x7555 送出0x5533,再來對要寫入字的地址寫入數(shù)據(jù),約40us 即可完成寫入操作,之后就可以再進行其它操作。例如向0x8000記憶地址寫入0xffff 流程如下:(1)0x7555 ←0xAAAA (2) 0x7555 ←0x5533 (3) 0x8000←0xFFFF 3. 連續(xù)寫入多個字的流程是:先對命令用戶接口地址0x7555 送出0xAAAA,然后再對命令用戶接口地址0x7555 送出0x5544,再給要連續(xù)寫入字的起始地址

30、寫入字?jǐn)?shù)據(jù),約40us 即可完成1 個字的寫入操作。再對命令用戶接口地址0x7555 送出0x5544,再對后續(xù)要寫入的字地址寫入字?jǐn)?shù)據(jù),等待40us,循環(huán)操作即可完成連續(xù)字的寫入。 *上面所提到延時等待是由硬件完成,不需要軟件延時,閃存的擦寫過程如圖2.4 所示, 以上所介紹的閃存擦除及寫入操作,一般用于執(zhí)行中數(shù)據(jù)的儲存。例如,當(dāng)我們把一小段程序?qū)懭腴W存后,假設(shè)程序代碼占用的空間不大(例如5 字K 字),我們就可以在程序代碼后面的空間(5K~32K)存儲一些數(shù)據(jù),這樣就需要對這一段閃存空間(5K~32K)進行上述的寫入或擦除操作。前提條件是,必須計算出程序代碼所占用的空間。

31、 2.5 SPCE061A的輸入/輸出接口 輸入/輸出接口(也可簡稱為I/O 端口)是單片機與外設(shè)交換信息的通道。輸入端口負(fù)責(zé)從外界接收檢測信號、鍵盤信號等各種開關(guān)量信號。輸出端口負(fù)責(zé)向外界傳送由內(nèi)部電路產(chǎn)生的處理結(jié)果、顯示信息、控制命令、驅(qū)動信號等?!痭SP?內(nèi)有并行和串行兩種方式的I/O 口。并行口線路成本較高,但是傳輸速率也較高;與并行口相比,串行端口的傳輸速率較低但可以節(jié)省大量的線路成本。SPCE061A 有兩個16 位的通用并行I/O 口:A口和B 口。這兩個端口的每一位都可通過編程單獨定義成輸入或輸出口。 A 口的IOA0~IOA7 作為輸入端口時,具有

32、喚醒功能,即當(dāng)輸入電平發(fā)生變化時,會觸發(fā)CPU 中斷。在電池供電、追求低耗電的應(yīng)用場合,可以讓CPU 進入睡眠模式(利用軟件控制)以降低功耗,需要時才以按鍵來喚醒CPU,使其進入工作狀態(tài)。例如:手持遙控器、電子字典、PDA、計算器、無線電話等。 2.5.1 I/O 端口結(jié)構(gòu) SPCE061A 提供了位控制結(jié)構(gòu)的I/O 端口,每一位都可以單獨用于數(shù)據(jù)輸入或輸出。每個獨立的位可通過以下3 種控制向量來作設(shè)定: 1. 數(shù)據(jù)向量Data 2. 屬性向量Attribution 3. 方向控制向量Direction 每3 個對應(yīng)的控制向量組合在一起,形成一個控制字,用來定義相對應(yīng)I/

33、O 端口位的輸入輸出狀態(tài)和方式。例如,假設(shè)需要IOA0 是下拉輸入引腳,則相對應(yīng)的Data、Attribution和Direction 的值均被設(shè)為“0”。如果需要IOA1 是帶喚醒功能的懸浮式輸入引腳,則Data、Attribution 和Direction 的值被設(shè)為“010”。與其它的單片機相比,SPCE061A 除了每個I/O 口可以單獨定義其狀態(tài)外,每個對應(yīng)狀態(tài)下的I/O 端口性質(zhì)電路都是內(nèi)置的,在實際的電路中不需要再外接。例:設(shè)A 口為帶下拉電阻的輸入端口,在連接硬件時不用再外接下拉電路。 A 口和B 口的Data、Attribution 和Direction 的設(shè)定值均在不同

34、的寄存器里,用戶在進行I/O 端口設(shè)置時要特別注意這一點。I/O 端口的組合控制設(shè)置如表2.1 所示: 注: *:端口位預(yù)設(shè)為帶下拉電阻的輸入引腳; * *:只有當(dāng)IOA [7~0]內(nèi)位的控制字為000,001 和010 時, 相對應(yīng)位才具有喚醒的功能。 ***:懸浮輸入作為ADC IOA[6~0] 的輸入 P_IOA_Data(讀/寫)(7000H) A 端口的數(shù)據(jù)單元,用于向A 口寫入或從A 端口讀出數(shù)據(jù)。當(dāng)A 口處于輸入狀 態(tài)時,讀出是讀A 口引腳電平狀態(tài); 寫入是將數(shù)據(jù)寫入A 端口的數(shù)據(jù)寄存器。當(dāng)A 口處于輸出狀態(tài)時,寫入輸出數(shù)據(jù)到A 端口的數(shù)據(jù)寄存

35、器。 P_IOA_Buffer (讀/寫) (7001H) A 端口的數(shù)據(jù)向量單元,用于向數(shù)據(jù)向量寄存器寫入或從該寄存器讀出數(shù)據(jù)。當(dāng)A 口處于輸入狀態(tài)時,寫入是將A 端口的數(shù)據(jù)向量寫入A 端口的數(shù)據(jù)寄存器;讀出則是從A 端口數(shù)據(jù)寄存器內(nèi)讀其數(shù)值。當(dāng)A 口處于輸出狀態(tài)時,寫入輸出數(shù)據(jù)到A 端口的數(shù)據(jù)寄存器。 對輸出而言,P_IOA_Data 與P_IOA_Buffer 是一樣的.但對輸入而言,P_IOA_Data 讀的是IO 的值,P_IOA_Buffer 讀的是buffer 內(nèi)的值。假設(shè)IOA[0]作為輸出,并去接LED陽極(LED 陰極接地)。若P_IOA_Data 的IOA[0]為1

36、。在某些需要較大驅(qū)動能力的LED而言,LED 會亮,但IOA[0]會被拉到一個很低的值。此時從P_IOA_Data 讀回為0,但P_IOA_Buffer 則為1。讀回的意義是是方便做其它的IO 運算。 P_IOA_Dir(讀/寫)(7002H) A 端口的方向向量單元,用于用來設(shè)置A 口是輸入還是輸出,該方向控制向量寄存器可以寫入或從該寄存器內(nèi)讀出方向控制向量。Dir 位決定了端口位的輸入/輸出方向:即‘0’為輸入,‘1’為輸出。 P_IOA_Attrib(讀/寫)(7003H) A 端口的屬性向量單元,用于A 端口屬性向量的設(shè)置。 P_IOA_Latch(讀)(7004H) 讀該

37、單元以鎖存A端口上的輸入數(shù)據(jù),用于進入睡眠狀態(tài)前的觸鍵喚醒功能的啟動(參見睡眠/喚醒部分)。 2.5.2 并行I/O 端口的控制向量組合 方向向量_Dir、屬性向量_Attrib 和數(shù)據(jù)向量_Data 分別代表三個控制口。這三個端口中每個對應(yīng)的字節(jié)合在一起,形成一個控制字,來定義相對應(yīng)I/O 端口位的輸入/輸出狀態(tài)和方式。 2.1 具體表示了如何通過對I/O 口的_Dir、_Attrib 以及_Data 進行編程,來設(shè)定端口位的輸入/輸出狀態(tài)和方式。 由2.1 可以得出以下一些結(jié)論: 1. _Dir 位決定了端口位的輸入/輸出方向:即‘0’為輸入,‘1’為輸出。 2. _Att

38、rib 位決定了在端口位的輸入狀態(tài)下是為懸浮式輸入還是非懸浮式輸入:即‘0’為帶上拉或下拉電阻式輸入,而‘1’則為懸浮式輸入。在端口位的輸出狀態(tài)下則決定其輸出是反相的還是同相的;‘0’為反相輸出,‘1’則為同相輸出。 3. _Data 位在端口位的輸入狀態(tài)下被寫入時,與_Attrib 字節(jié)合在一起形成輸入方式的控制字‘00’、‘01’、‘10’、‘11’,以決定輸入端口是帶喚醒功能的上拉電阻式、下拉電阻式或懸浮式以及不帶喚醒功能的懸浮式輸入。_Data 位在端口位的輸出狀態(tài)下被寫入的是輸出數(shù)據(jù),不過,數(shù)據(jù)是經(jīng)過反相器輸出還是經(jīng)過同相寄存器輸出要由_Attrib位來決定。 例如,假設(shè)要把

39、A 口的B0 定義成下拉電阻式的輸入口,則A 口_Dir、_Attrib 和_Data三個向量對應(yīng)的B0 組合應(yīng)設(shè)為‘000’。如果想把A 口的B1 定義成具有喚醒功能的懸浮式輸入口,只需將_Dir、_Attrib 和_Data 向量對應(yīng)的B1 組合設(shè)置為‘010’即可。 A 口的IOA0~IOA7 作為喚醒來源,常用于鍵盤輸入。要啟用IOA0~IOA7 的喚醒功能,必須先讀取P_IOA_Latch 單元,以此來鎖存IOA0~IOA7 引腳上的按鍵狀態(tài)。隨后,系統(tǒng)才可通過指令進入低功耗的睡眠狀態(tài)。當(dāng)有按鍵按下時,IOA0~IOA7 的輸入狀態(tài)會與其在進入睡眠前被鎖存時的狀態(tài)不同,從而引起系

40、統(tǒng)的喚醒。 各端口位對應(yīng)的向量設(shè)置如下表2.2: 從上面的分析我們可以看出,當(dāng)作為輸入口時所讀到的數(shù)值來自不同的地方,由P_IOA_Data 所讀到是A 口引腳上的當(dāng)前狀態(tài),由P_IOA_Buffer 所讀到的值來自數(shù)據(jù)寄存器(見例2.6);當(dāng)A 端口作為輸出端口時,數(shù)據(jù)都是寫到A 端口的數(shù)據(jù)寄存器。對于某 些I/O 口的應(yīng)用,這種讀寫方式可以省下許多存放端口數(shù)據(jù)的RAM 空間。詳細(xì)如圖2.6。 P_IOB_Data(讀/寫)(7005H) B 端口的數(shù)據(jù)單元,用于向B 口寫入或從B 端口讀出數(shù)據(jù)。當(dāng)B 口處于輸入狀態(tài)時,讀出是讀B 口引腳電平狀態(tài); 寫入是將數(shù)據(jù)寫入B

41、端口的數(shù)據(jù)寄存器。當(dāng)B 口處于輸出狀態(tài)時,寫入輸出數(shù)據(jù)到B 端口的數(shù)據(jù)寄存器。 P_IOB_Buffer(讀/寫)(7006H) B 端口的數(shù)據(jù)向量單元,用于向數(shù)據(jù)寄存器寫入或從該寄存器內(nèi)讀出數(shù)據(jù)。當(dāng)B 口處于輸入狀態(tài)時,寫入是將數(shù)據(jù)寫入B 端口的數(shù)據(jù)寄存器;讀出則是從B 端口數(shù)據(jù)寄存器里讀其數(shù)值。當(dāng)B 口處于輸出狀態(tài)時,寫入數(shù)據(jù)到B 端口的數(shù)據(jù)寄存器。 P_IOB_Dir(讀/寫)(7007H) B 端口的方向向量單元,用于設(shè)置IOB 口的狀態(tài)。‘0’為輸入,‘1’為輸出。 P_IOB_Attrib(讀/寫)(7008H) B 端口的屬性向量單元,用于設(shè)置IOB 端口的屬性。

42、A 端口低8 位的屬性設(shè)置及對應(yīng)的端口位狀態(tài)如表2.3 所示:(不考慮高8 位) B 端口低8 位的屬性設(shè)置及對應(yīng)的端口位狀態(tài)如下表2.4 所示:(不考慮高8 位) 硬件原理如圖2.7 所示: 2.5.3 B端口的特殊功能 正如前面提到的,B 口除了具有常規(guī)的輸入/輸出端口功能外,還有一些特殊的功能,如下表2.5所示: 注: 1.端口位預(yù)設(shè)為帶下拉電阻的輸入引腳 2.PWM:脈寬調(diào)制(Pulse Width Modulation)。 P_FeedBack(寫)(7009H) B 端口工作方式的控制單元,用于決定B 口的IOB2 (IOB3)和IOB4 (IOB

43、5)是用來作為普通I/O 端口,或是作為特殊功能端口。其特殊功能包括以下兩個部分:(1).單個IOB2或IOB3 口可設(shè)置為外部中斷的輸入口。(2).設(shè)置P_FeedBack 單元,再將IOB2(IOB3)和IOB4(IOB5)之間連接一個電阻和電容(電路連接如圖2.8)形成反饋電路以產(chǎn)生振蕩信號,此信號可作為外部中斷源輸入EXT1 或EXT2。當(dāng)然此時所得到的中斷頻率與RC 振蕩器的頻率是一致的。由于該頻率較高,所以通常情況下都是通過(1)獲得外部中斷信號。 此特殊功能僅運用于:當(dāng)外部電路需要用到一定頻率的振蕩信號時,可以在IOB2(IOB3)端獲得。P_FeedBack 的設(shè)置的如表2.

44、6所示。 圖2.8 為IOB2,IOB3,IOB4 及IOB5 的反饋結(jié)構(gòu)示意圖。通過在IOB2 (IOB3)和IOB4(IOB5)之間增加一個RC 電路形成反饋回路,即可在IOB2(IOB3)端得到振蕩源頻率信號。為使反饋回路正常工作,必須將IOB2 (IOB3) 設(shè)置成反相輸出口,且將IOB4 (IOB5)設(shè)置成懸浮式輸入口。 2.5.4 IOB8 和IOB10 的控制向量設(shè)置 IOB8 和IOB10 的應(yīng)用由控制向量TAON 和TXPinEn 來控制。 圖2.9 向量控制 第三章.系統(tǒng)各模塊工作原理 3.1

45、 單片機 單片機也稱單片微控制器,它集成度高、運算速度快、體積小、運行可靠、價格低廉,在過程控制、數(shù)據(jù)采集、機電一體化、智能儀器儀表、家用電器以及網(wǎng)絡(luò)技術(shù)等方面得到廣泛應(yīng)用。的組成主要如下圖所示,下面將就各部分與他們外圍的器件進行簡要的原理分析 3.2 電源 61板采用3節(jié)5號電池進行供電,由J10接入,如原理圖所示。其中的前面兩組電容用來去耦濾波,使其供給芯片的電源更加干凈平滑。為了獲得標(biāo)準(zhǔn)的3.3V電壓,在板子上加入=兩個二極管,是為防止誤將電源接反造成不必要損失而設(shè)置的,在操作過程中千萬不要將電源接反,因為反向電壓超過一定的值,二極管將會被損壞,達不到保護的目的。后面的零電阻及其電

46、源、地分成不同的幾路為了減少電磁干擾設(shè)置的。 圖3.1 電源部分原理圖 3.3 程序下載區(qū) ICE基本運行方式是通過控制clock及通過ICE喂入指令方式,來控制CPU的運行及緩存器資料和內(nèi)存資料的存取,因此必須透過控制緩存器值的設(shè)定來控制CPU目前的動作。 每個相連接的不同ICE模塊都擁有自己的3-bitID,當(dāng)PC在發(fā)送control信號時都會先傳送3-bitID,只有ICE本身的ID和control信號的ID相同時才會執(zhí)行該命令或回傳資料。61板上的74HC244主要在我們選用下載線的時候起作用,主要起緩存的作用和完成SDA是作為數(shù)據(jù)回送還是數(shù)據(jù)下傳的選擇。 第三章

47、 系統(tǒng)各模塊工作原理 圖3.2 下載區(qū)原理圖 3.4音頻輸入部分 如下圖所示電路,MICP和MICN將隨著MIC產(chǎn)生的波形變化,并在兩個端口處形成兩路反向的波形,在經(jīng)過兩極運放放大,把放大的語音信號交給ACD轉(zhuǎn)換為數(shù)字量,這個時候我們就可以通過單片機編程對這些數(shù)據(jù)進行處理,比如說語音數(shù)據(jù)壓縮、語音識別樣本處理。 圖3.3 音頻輸入外圍電路 3.5 音頻輸出部分 SPY0030是凌陽公司開發(fā)的專門用于語音放大的芯片.它的增益如下所示: Gain=2*5000/(5000+R1) 3.5.1按鍵部分 按鍵是通過同斷控制來實現(xiàn)它的功能,61板上的按鍵在沒按

48、下時,它的1、3腳是斷開的,當(dāng)按下時這兩個腳是連通的。若此時我們在一腳接一個高電平,把第三個腳連到一個I/O口上。這就形成了一個人機操作界面,通過編程對I/O口掃描,單片機就能識別到我們的按鍵命令。 第四章 焊接 第 四 章 焊 接 在焊接前請同學(xué)們認(rèn)真對照原理圖,仔細(xì)查看印刷電路板,找到對應(yīng)元件的功能區(qū)后,開始準(zhǔn)備元件和工具。此電路板焊接要求使用25W左右尖烙鐵,下面詳細(xì)敘述焊接步驟: 4.1‘61’裸板檢測 目的:檢測61板裸板電源部分是否短路 方法:利用萬用表檢測‘61’板上是否U3的第一腳

49、和第三腳之間是否短路,無短路則說明‘61’板電源部分正常。 2端口部分: 目的:檢測61板裸板相鄰端口部分是否短路 方法:用萬用表測量相鄰端口是否短路,無短路則說明端口部分正常。 4.2 檢測元器件、并做器件整形 1.用萬用表檢測12個電容、16個獨石104、3個獨石224是否短路,短路的器件需要換(有條件的可以采用電容表逐個測試)。 2. 利用萬用表檢測4個按鍵,按鍵按下后看1、3腳是否接通,是則說明按鍵正常。 3. 先將單排插針掰開,分別為10PIN 4個、3PIN 3個和2PIN 2個、1PIN 1個。 4. 將所有檢測過的電阻、電容、二極管按電路板間距把引腳折彎,以便

50、插到電路板上。注意:絕不能在元件引腳跟部反復(fù)折彎,因為這樣引起的元件內(nèi)部接觸不良造成的故障是很難維修的。 5. 查看芯片座所有引腳是否偏移原位,若有偏移整形后插在塑料泡沫上待用。 4.3 元件分類 1. 小個子元器件(20個): SPY0029(1個)、電阻(18個)、晶振(1個)、二極管(3個)。 2. 中間個子元器件(45個): 瓷片電容(5個)、獨石電容(19個)、按鍵(4個)、發(fā)光二極管(2個)、電解電容(12個)、芯片座(3個)。 3. 大個子元器件(13個): 排針(9個)、接座(3個)、電位器(1個)。 4.

51、4 焊接61板的步驟 焊接原則從低到高,為確保焊接一次成功,請根據(jù)我們的18個步驟來焊接。 STEP 1:焊接SPY0029(數(shù)量1個) 元件U3(SPY0029---先將焊盤上的焊點上少量焊錫,再元件相應(yīng)引腳鍍少量錫,用鑷子夾住元件放置在焊盤上,迅速將該引腳焊好。注意拿鑷子要穩(wěn),不能抖。焊接速度要快,加熱時間要短。然后將其它引腳焊好。 注意:千萬注意SPY0029管腳的焊錫不要過多,否則容易造成SPY0029底下有連焊,很難發(fā)現(xiàn),會誤以為SPT0029壞掉。 STEP 2:焊接電阻(數(shù)量18個) STEP 3:焊接二極管(數(shù)量3個) 請注意方向,有白色短線的那一端為負(fù)

52、極,按照排序分別焊接1、2、3二極管,以免遺漏; STEP 4:焊接晶振(數(shù)量1個) 注意時間不宜太長,晶振位置要正確。 STEP 5:焊接獨石電容(數(shù)量19個) STEP 6:焊接瓷片電容(數(shù)量5個) STEP 7:焊接電解電容(數(shù)量2個) 焊接電解電容(已臥倒的)---請注意焊接方向,有白色線的一端為負(fù)極與PCB板上的白線相對應(yīng):在電源部分,先把電容焊好,這時候我們不著急往后焊,先來一個小小的測試,因為到這一步電源部分已經(jīng)可以開始工作了,這時查由于沒受后面電路的影響,比較好查 ; STEP 8:檢查電源部分是否錯誤 先用萬用表查J10 兩管腳,若短路則查清短路原因,可能是因

53、為二極管壞掉或者電源部分電容有問題,請排除錯誤再往下執(zhí)行。 STEP 9:檢查PCB板上的SPY0029三個管腳是否短路 用萬用表查SPY0029的三個管腳之間是否短路;可能是因為第二個二極管壞掉或者SPY0029沒焊好,請排除錯誤再往下執(zhí)行。 STEP 10:焊接剩余電解電容(數(shù)量10個) 完成所有電解電容的焊接。 STEP 11:焊接按鍵和電位器(數(shù)量各一個) STEP 12:焊接發(fā)光二極管(數(shù)量1個) 焊接發(fā)光二極管---二極管部平口端為負(fù)極,與PCB板上平口端相對應(yīng)插入; STEP 13:焊接電源座(數(shù)量1個):焊接電源座,電源座位置要正確。焊接完電源座,電源部分已全部

54、焊完,這時我們可以上電,會看見電源指示燈點亮,如沒亮請立刻斷電并查清原因,還是電源部分的原因,依照電流走向,應(yīng)該很快就能查到原因。 STEP14:焊接單排插針(數(shù)量9個) 單排插針的焊接,要一部分一部分焊接,以免遺漏。 STEP15:5針座焊接(數(shù)量2個) 在焊接5針座的同時一定要了解他們的作用; STEP16:焊接麥克風(fēng)(數(shù)量1個) 注意:麥克風(fēng)的焊接一定要注意正極和負(fù)極。 麥克風(fēng)要正確的插入到板子中,需要自己要了解一下,具體步驟如下: 第一步:獲得兩節(jié)剪斷的裸露導(dǎo)線或是被剪斷焊接元件多余的引腳,長度大于1cm; 第二步:鑷子把兩根導(dǎo)線分別折成“L”形,短邊的長度小于5 m

55、m,分別給“L”的短腳抹上一點焊錫,便于焊接; 第三步:利用烙鐵分別把制作好的 “L”形導(dǎo)線焊接到合適的位置,目的就是給麥克風(fēng)做兩個引腳; 第四步:對應(yīng)正、負(fù)極把引腳插入‘61’板的正、負(fù)極焊接完成。 Step17:焊接U2、U4芯片座 焊接U2、U4的座,注意座子的凹進的表示與電路板子上的凹口一致焊接U1SPCE061AD的座子,注意座子的斜切口與電路板子上的斜切口一致。 Step18:管腳修整 剪斷已焊接元件多余的引腳,(長度大概1cm左右)并檢查是否所有的器件均焊接完成。 第五章 測試記錄和分析 在做測試的時候一定要先檢測電源部分(因為電源部分相當(dāng)重要,若沒焊好

56、可造成很大破壞性)。再按以下的順序測試并一步步做好檢測記錄,出現(xiàn)問題的時候請勿心急,慌亂中可能會制造更多的問題,而是要認(rèn)真檢測電路,并按實驗步驟完成檢查,這樣有利于培養(yǎng)自己的動手能力和分析問題的能力。整體測試流程圖如下: 圖5.1 測試流程圖 5.1電源部分 5.1.1電源測試步驟 第五章 測試記錄和分析 如果在焊接中按照步驟焊接了,并且其中的兩個測試都通過了,那么這里的檢測可輕而易舉的通過。 電源部分在板子左上角。以下就采用萬用表分別測試以下12個點的電壓,注意數(shù)字萬用表的使用方式(黑色的表筆接電源“-”端,紅色的表接電源“+”端),此時請勿

57、將芯片插入座中,以免電源部分有問題造成芯片燒壞。 Step1: 目的:測試61板電源和地是否有短路: 條件:斷開電源并拔掉電池盒,將J5的2、3腳用跳線帽短接; 步驟:用萬用表測量J10的兩腳的電阻是否為零; 現(xiàn)象1:電阻為零; 結(jié)論:焊接過程中可能造成短路了; 解決辦法:進行電源的排查,進入Step4 現(xiàn)象2:電阻大于300歐姆; 結(jié)論;正常,進入STEP2。 STEP2: 目的:測試61板電源部分器件是否工作正常; 條件:將三節(jié)5號電池裝入電池盒中,接到J10處,將電池盒開關(guān)撥到ON處; 步驟:將電池盒開關(guān)撥到ON處; 現(xiàn)象1:發(fā)光二極管D1沒點亮,立刻將電源斷

58、開,進入步驟4的測試; 結(jié)論:電源部分有問題進入Step; 解決辦法:進行電源部分的排查; 現(xiàn)象2:發(fā)光二極管D1點亮; 結(jié)論:正常,進入Step3。 Step3: 目的:測試61板上各器件電源供電是否正常; 條件:用跳線帽把S5的1、2腳短接(選擇了PROBE端0; 步驟:測試U1的第7腳電壓---3.3V左右; 測試U4的第20腳電壓---3.3V左右; 測試J4的第1腳電壓---3.3V左右; 測試U2的第7、8腳電壓---4.5V左右; 測試J6、J7、J8、J9的+端電壓---4.5V左右; 現(xiàn)象1:電壓不正常 結(jié)論:在供電的某個傳輸方向上出現(xiàn)問題 ;

59、解決辦法:對照原理一步步排查; 現(xiàn)象2:電壓正常; 結(jié)論:正常,進行鍵盤部分測試。 Step4: 目的:測試61板電源部分那個器件壞掉; 條件:斷開電源; 步驟:用萬用表檢查發(fā)光二極管是否壞掉,或者方向弄錯; 測量J10的兩端是否短路,如果是,先檢查D3是否擊穿; 如果J10沒有短路,再檢測SPY0029的3腳與地是否短路,如果是,檢測D4是否擊穿(要先從子將負(fù)極拖開測試),否則就是SPY0029壞掉了; 現(xiàn)象1:發(fā)光二極管不亮; 結(jié)論:發(fā)光二極管壞掉; 解決辦法:更換發(fā)光二極管不亮; 現(xiàn)象2:D3或D4反向?qū)ǎ? 結(jié)論:D3或D4被擊穿; 解決辦法:更換D3或D4

60、; 現(xiàn)象3:3腳與地是短路; 結(jié)論:焊接出錯; 解決辦法:清除短路; 現(xiàn)象4:SPY0029無3.3V輸出; 結(jié)論:SPY0029壞掉; 解決辦法:更換SPY0029并重新測試。 注意:將SPY0029取下來(需要老師的幫忙,4個管腳堆錫同時加熱用鑷子取下來)更換,這個過程不要太長,否則焊盤加熱時間長而氧化或者脫落。 5.1.2電源測試記錄及分析 圖5.2 電源部分原理圖 表5.1 電源部分記錄表 序號 測試記錄 結(jié)果分析 1 第一點:V1=(4.5)V左右 分析: 第1點、第2點是(并聯(lián))電路 第1-7點電壓是否為

61、4.5V左右?是 第8-16點電壓是否為3.3V左右?是 結(jié)論:電壓比較正常,則進入模擬部分測試,否則請按如下步驟檢測、調(diào)試: 1、觀察是否有元件漏焊 2、電解電容的方向是否弄錯 3、根據(jù)原理圖檢查電阻電容的值是否正確 4、采用拍打法(用絕緣棒拍打焊點面各處) 檢測是否有虛焊,或者可以用萬用表逐點測量----工作量很大(建議對著原理來找) 2 第二點:V2=(4.5)V左右 3 J6的+端電壓=(4.5)V左右 4 J7的+端電壓=(4.5)V左右 5 J8的+端電壓=(4.5)V左右 6 J19的+端電壓=(4.5)V左右 7 U2的第7腳電壓

62、=(4.5)V左右U2的第8腳電壓=(4.5)V左右 8 U1的第7腳電壓=(3.34)V左右 9 U4的第20腳電壓=(3.34)V左右 10 J4的第1腳電壓=(3.34)V左右 11 第3點:V3=(3.34)V左右 12 第4點:V4=(3.34)V左右 5.13鍵盤部分 鍵盤部分測試: 目的:測試鍵盤輸入是否正確 條件:U1、U2、U4芯片座中不安放元件;給61板通電,萬用表選擇電壓檔,利用萬用表的負(fù)端(黑色表筆)接板子上的地(標(biāo)示“-”的地方)用萬用表的正端(紅色表筆)分別檢測接IOA0、IOA1、IOA2; 步驟:把萬用表筆的正端(紅色表筆)放在IO

63、A0上時,按下K1鍵,讀取萬用表上的電壓值并記錄,之后用同樣的方法分別檢測K2、K3電壓值; 現(xiàn)象1:電壓為零; 結(jié)論:不正常; 解決辦法:更換按鍵,重新測試鍵盤部分; 現(xiàn)象2:電壓為高電平; 結(jié)論:正常,進入晶振部分測試。 實驗完畢后斷開板子的供電電源(電池盒關(guān)閉),萬用表電源,認(rèn)真做實驗記錄。 圖5.3鍵盤部分原理圖

64、 表5.2 鍵盤部分記錄和分析 未按鍵前電壓 電壓值 VIOA0 =( 0.00 )V VIOA1 =( 0.00 )V VIOA2 =( 0.00 )V 按鍵后電壓 電壓值 VIOA0 =( 4.5 )V VIOA1 =( 4.5 )V VIOA2 =( 4.5 )V 結(jié)論:按鍵正常 5.2模擬部分 5.2.1 晶振部分 1.工作原理 石英晶體的主要特征是它具有壓電效應(yīng),既在晶體的兩個電極上加交流電壓時,晶體就會產(chǎn)生機械運動,而這種機械運動反過來又會產(chǎn)生交流電壓時,晶體就會產(chǎn)生交流電場,在電

65、極上出現(xiàn)交流電壓。如果外加交流電壓的頻率與晶片本身的固有頻率相等,則機械振動的振幅和它產(chǎn)生的交流電壓的幅值都會顯著增大,這種現(xiàn)象稱為壓電諧振,稱該晶體為石英晶體振蕩器,或簡稱晶振。石英晶體的符號表示5.5中的Y1部分,目前市場晶體都是標(biāo)準(zhǔn)的頻率,如:32768Hz、6MHz、3MHz等等,圖5.5采用的是32768Hz,其中的諧振電容分別是C14(20P)、C15(20P),在這里OSC部分的作用就是作為CPU時鐘的振源,具體的過程示意圖見5.4所示。 圖5.4鎖相環(huán)電路框圖 2. 晶振測試: 目的:測試晶振工作是否正常 條件:U1、U2、U4芯片座中安放好元件;給61板通電 步驟:利用萬用表的負(fù)端(黑色表筆)接板子上的地點(表示“-”的地方),萬用表筆的正端(紅色表筆)分別檢測OSCO、OSCI并記錄;并用示波器查看波形; 現(xiàn)象1:不可看到波形; 解決辦法:更換晶振,若還不行更換芯片; 現(xiàn)象2:可以看到32768HZ的正弦波形; 結(jié)論:正常,進行余下步驟。 表5.3晶振記錄結(jié)果 1.利用萬用表測試電壓 分析: 這樣的晶振振蕩是(并聯(lián))晶體振蕩 結(jié)論: 根據(jù)是否有電壓或是波形可以判斷晶體是否起振,電壓在1.

展開閱讀全文
溫馨提示:
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. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!