單片機(jī)畢業(yè)設(shè)計(jì)論文
《單片機(jī)畢業(yè)設(shè)計(jì)論文》由會(huì)員分享,可在線閱讀,更多相關(guān)《單片機(jī)畢業(yè)設(shè)計(jì)論文(71頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、第一章 概述 第1章 概 述 1.1 凌陽(yáng)十六位單片機(jī)簡(jiǎn)介 隨著單片機(jī)功能集成化的發(fā)展,其應(yīng)用領(lǐng)域也逐漸地由傳統(tǒng)的機(jī)制,擴(kuò)展為控制處理、數(shù)據(jù)處理以及數(shù)字信號(hào)處理(DSP,Digital SignalProcessing)等領(lǐng)域。凌陽(yáng)的16位單片機(jī)就是為適應(yīng)這種發(fā)展而設(shè)計(jì)的。它的CPU內(nèi)核采用凌陽(yáng)最新推出的’nSP?(Microcontroller and Signal Processor)16位微處理器芯片(以下簡(jiǎn)稱’nSP?)。圍繞’nSP?所形成的16位’nSP?系列單片機(jī)(以下簡(jiǎn)稱’nSP?家族)采用的是模塊式集成結(jié)構(gòu),它以’nSP?內(nèi)核為中心集成不同規(guī)模的ROM、R
2、AM和功能豐富的各種外設(shè)接口部件,如圖所示。 ’nSP?內(nèi)核是一個(gè)通用的核結(jié)構(gòu)。除此之外的其它功能模塊均為可選結(jié)構(gòu),亦即這種結(jié)構(gòu)可大可小或可有可無(wú)。借助這種通用結(jié)構(gòu)附加可選結(jié)構(gòu)的積木式的構(gòu)成,便可形成各種不同系列派生產(chǎn)品,以適合不同的應(yīng)用場(chǎng)合。這樣做無(wú)疑會(huì)使每一種派生產(chǎn)品具有更強(qiáng)的功能和更低的成本。 ’nSP?家族有以下特點(diǎn): 1體積小、集成度高、可靠性好且易于擴(kuò)展 ’nSP?家族把各功能部件模塊化地集成在一個(gè)芯片里,內(nèi)部采用總線結(jié)構(gòu),因而減少了各功能部件之間的連線,提高了其可靠性和抗干擾能力。另外,模塊化的結(jié)構(gòu)易于系統(tǒng)擴(kuò)展,以適應(yīng)不同用戶的需求。 2具有較強(qiáng)的中斷處
3、理能力 ’nSP?家族的中斷系統(tǒng)支持10個(gè)中斷向量及10余個(gè)中斷源,適合實(shí)時(shí)應(yīng)用領(lǐng)域。 3高性能價(jià)格比 ’nSP?家族片內(nèi)帶有高尋址能力的ROM、靜態(tài)RAM和多功能的I/O口。另外,’nSP?的指令系統(tǒng)提供具有較高運(yùn)算速度的16位16位的乘法運(yùn)算指令和內(nèi)積運(yùn)算指令,為其應(yīng)用增添了DSP功能,使得’nSP?家族運(yùn)用在復(fù)雜的數(shù)字信號(hào)處理方面既很便利,又比專用的DSP芯片廉價(jià)。 4功能強(qiáng)、效率高的指令系統(tǒng) ’nSP?指令系統(tǒng)的指令格式緊湊,執(zhí)行迅速,并且其指令結(jié)構(gòu)提供了對(duì)高級(jí)語(yǔ)言的支持,這可以大大縮短產(chǎn)品的開(kāi)發(fā)時(shí)間。 5低功耗、低電壓 ’nSP?家族采用CMOS
4、制造工藝,同時(shí)增加了軟件激發(fā)的弱振方式、空閑方式和掉電方式,極大地降低了其功耗。另外,’nSP?家族的工作電壓范圍大,能在低電壓供電時(shí)正常工作,且能用電池供電。這對(duì)于其在野外作業(yè)等領(lǐng)域中的應(yīng)用具有特殊的意義。 1.2 總述 SPCE061A 是繼’nSP?系列產(chǎn)品SPCE500A等之后凌陽(yáng)科技推出的又一款16位結(jié)構(gòu)的微控制器。與SPCE500A不同的是,在存儲(chǔ)器資源方面考慮到用戶的較少資源的需求以及便于程序調(diào)試等功能,SPCE061A里只內(nèi)嵌32K字的閃存(FLASH)。較高的處理速度使’nSP?能夠非常容易地、快速地處理復(fù)雜的數(shù)字信號(hào)。因此,與SPCE500A相比,以’nSP?為核心的
5、SPCE061A微控制器是適用于數(shù)字語(yǔ)音識(shí)別應(yīng)用領(lǐng)域產(chǎn)品的一種最經(jīng)濟(jì)的選擇。 1.2.1 性能 16位’nSP?微處理器; 工作電壓(CPU) VDD為2.4~3.6V (I/O) VDDH為2.4~5.5V CPU時(shí)鐘:0.32MHz~49.152MHz ; 內(nèi)置2K字SRAM; 內(nèi)置32K FLASH; 可編程音頻處理; 晶體振蕩器; 系統(tǒng)處于備用狀態(tài)下(時(shí)鐘處于停止?fàn)顟B(tài)),耗電僅為2A@3.6V; 2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值); 2個(gè)10位DAC(數(shù)-模轉(zhuǎn)換)輸出通道;
6、 32位通用可編程輸入/輸出端口; 14個(gè)中斷源可來(lái)自定時(shí)器A / B,時(shí)基,2個(gè)外部時(shí)鐘源輸入,鍵喚醒; 具備觸鍵喚醒的功能; 使用凌陽(yáng)音頻編碼SACM_S240方式(2.4K位/秒),能容納210秒的語(yǔ)音數(shù)據(jù); 鎖相環(huán)PLL振蕩器提供系統(tǒng)時(shí)鐘信號(hào); 32768Hz實(shí)時(shí)時(shí)鐘; 7通道10位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換器; 聲音模-數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動(dòng)增益控制(AGC)功能; 具備串行設(shè)備接口; 具有低電壓復(fù)位(LVR)功能和低電壓監(jiān)測(cè)(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 芯片的引腳排列和說(shuō)明 SPCE061A有兩種封裝片,一種為84個(gè)引腳,PLCC84封裝形式;它的排列如圖1.4所示;另一種為80個(gè)引腳,LQFP80封裝。他3的排列如圖所示。 在PLCC84封裝中,有15個(gè)空余腳,用戶使用時(shí)這15個(gè)空余腳懸浮。在LQFP80封裝中有9個(gè)空余腳,用戶
8、使用時(shí)這9個(gè)空余腳接地。此處以LQFP80封裝管腳功能介紹。 【1】可將PFUSE接5V, PVIN接GND并維持1s以上即可將內(nèi)部保險(xiǎn)絲熔化,此后就無(wú)法讀取和向閃存加載數(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開(kāi)發(fā)方法 SPCE061A的開(kāi)發(fā)是通過(guò)在線調(diào)試器PR
9、OBE實(shí)現(xiàn)的。它既是一個(gè)編程器(即程序燒寫器),又是一個(gè)實(shí)時(shí)在線調(diào)試器。用它可以替代在單片機(jī)應(yīng)用項(xiàng)目的開(kāi)發(fā)過(guò)程中常用的軟件工具——硬件在線實(shí)時(shí)仿真器和程序燒寫器。它利用了SPCE061A片內(nèi)置的在線仿真電路ICE(In- Circuit Emulator)接口和凌陽(yáng)公司的在線串行編程技術(shù)。PROBE工作于凌陽(yáng)IDE集成開(kāi)發(fā)環(huán)境軟件包下,其5芯的仿真頭直接連接到目標(biāo)電路板上SPCE061A相應(yīng)管腳,直接在目標(biāo)電路板上的CPU---SPCE061A調(diào)試、運(yùn)行用戶編制的程序。PROBE的另一頭是標(biāo)準(zhǔn)25針打印機(jī)接口,直接連接到計(jì)算機(jī)打印口與上位機(jī)通訊,在計(jì)算機(jī)IDE集成開(kāi)發(fā)環(huán)境軟件包下,完成在線調(diào)試
10、功能。圖1.7是計(jì)算機(jī)、PROBE、用戶目標(biāo)板三者之間的連接示意圖,圖1.8是實(shí)物連接圖。 71 第二章SPCE061A的硬件結(jié)構(gòu) 第二章.SPCE061A的硬件結(jié)構(gòu) SPCE061A 芯片內(nèi)部集成了ICE (在線實(shí)時(shí)仿真/除錯(cuò)器)、FLASH (閃存)、SRAM (靜態(tài)內(nèi)存)、通用I/O 端口、定時(shí)器/計(jì)數(shù)器、中斷控制、CPU時(shí)鐘鎖相環(huán)(PLL)、ADC (模擬數(shù)字轉(zhuǎn)換器)、DAC (數(shù)字模擬轉(zhuǎn)換器)輸出、UART (通用異步串行輸入輸出接口)、SIO (串行輸入輸出接口)、低電壓監(jiān)測(cè)/低電壓復(fù)位等模塊。
11、在本章中我們將詳細(xì)介紹各個(gè)模塊的結(jié)構(gòu)及應(yīng)用。 ’nSP?的核心由總線、ALU算術(shù)邏輯運(yùn)算單元、寄存器組、中斷系統(tǒng)及堆棧等部分組成。其結(jié)構(gòu)如圖2.1所示。 2.1 ALU 算術(shù)邏輯運(yùn)算單元 ’nSP?的ALU 非常有特色,除了一般基本的16 位算術(shù)邏輯運(yùn)算,還提供了結(jié)合算術(shù)邏輯的16 位移位運(yùn)算。在數(shù)字信號(hào)處理方面,提供了高速的16 位16 位乘法運(yùn)算和內(nèi)積(乘加)運(yùn)算。 2.1.1 16 位算術(shù)邏輯運(yùn)算 ’nSP?與大多數(shù)CPU 一樣,提供了基本的算術(shù)運(yùn)算與邏輯操作指令,加法、減法、比較、補(bǔ)碼、異或、或、與、測(cè)試、寫入、讀出等16 位算術(shù)邏輯運(yùn)算及數(shù)據(jù)傳送操作。 2.1
12、.2 結(jié)合算術(shù)邏輯的16 位移位運(yùn)算 ’nSP?的移位運(yùn)算包括:算術(shù)右移ASR、邏輯左移LSL、邏輯右移LSR、旋轉(zhuǎn)左移ROL 及旋轉(zhuǎn)右移ROR。 ’nSP?的移位器shifter 就串接在ALU 的前面,也就是說(shuō),操作數(shù)在經(jīng)過(guò)移位處理后,馬上會(huì)進(jìn)入ALU 進(jìn)行算數(shù)邏輯運(yùn)算。所以,’nSP?的移位指令都是復(fù)合式指令,一個(gè)指令會(huì)同時(shí)完成移位和算術(shù)邏輯運(yùn)算。程序設(shè)計(jì)者可利用這些復(fù)合式的指令,撰寫更精簡(jiǎn)的程序代碼,進(jìn)而增加程序代碼密集度(Code Density)。在微控制器應(yīng)用中,如何增加程序代碼密集度是非常重要的問(wèn)題;提高程序代碼密集度可以減少程序代碼的大小,進(jìn)而減少ROM 或FLASH
13、 的需求,以降低系統(tǒng)成本與增加執(zhí)行效能。 2.1.3 16 位 16 位的乘法運(yùn)算和內(nèi)積(乘加)運(yùn)算 除了普通的16 位算數(shù)邏輯運(yùn)算指令外,’nSP?還提供了高速的16 位 16 位乘法運(yùn)算指令MUL, 和16 位內(nèi)積運(yùn)算指令MULS 。二者都可以用于有符號(hào)數(shù)相乘(signed signed) 或無(wú)符號(hào)數(shù)與有符號(hào)數(shù)相乘(unsigned signed)的運(yùn)算。在’nSP?ISA1.1 指令集下,MUL 指令只需花費(fèi)12 個(gè)時(shí)鐘周期,MULS 指令花費(fèi)10n+6 個(gè)時(shí)鐘周期,其中n 為乘加的項(xiàng)數(shù)。例如:“MR=[R2]*[R1] ,4”表示求4 項(xiàng)乘積的和,MULS指令只需花費(fèi)46(104
14、+6=46)個(gè)時(shí)鐘周期。這兩條指令大大的提升了’nSP?的數(shù)字信號(hào)處理能力。 2.2寄存器組 ’nSP? CPU 的寄存器組一共有8 個(gè)16 位寄存器,可分為通用寄存器和專用寄存器兩大類別。通用寄存器包括:R1~R4,作為算術(shù)邏輯運(yùn)算的來(lái)源及目標(biāo)寄存器。專用寄存器包括SP、BP、SR、PC,是與CPU 特定用途相關(guān)的寄存器。 2.2.1 通用寄存器R1~R4 (General-purpose registers) 可用于數(shù)據(jù)運(yùn)算或傳送的來(lái)源及目標(biāo)寄存器。寄存器R4、R3 配對(duì)使用,還可組成一個(gè)32 位的乘法結(jié)果寄存器MR;其中R4 為MR 的高字符組,R3 為MR 的低字符組,用于
15、存放乘法運(yùn)算或內(nèi)積運(yùn)算結(jié)果。 2.2.2 堆棧指針寄存器SP (Stack Pointer) SP 是用來(lái)紀(jì)錄堆棧地址的寄存器,SP 會(huì)指向堆棧的頂端。堆棧是一個(gè)先進(jìn)后出的內(nèi)存結(jié)構(gòu),’nSP?的堆棧結(jié)構(gòu)是由高地址往低地址的方向來(lái)儲(chǔ)存的。CPU 執(zhí)行push、子程序調(diào)用call、以及進(jìn)入中斷服務(wù)子程序(ISR,Interrupt Service Routine) 時(shí),會(huì)在堆棧里儲(chǔ)存寄存器內(nèi)容,這時(shí)SP 會(huì)遞減以反映堆棧用量的增加。當(dāng)CPU 執(zhí)行pop 時(shí)、子程序返回ret、以及從ISR 返回reti 時(shí),SP 會(huì)遞增以反映堆棧用量的減少。’nSP?堆棧的大小限制在2K 字的SRAM 內(nèi),
16、即地址為0x000000~0x0007FF 的內(nèi)存范圍中。 2.2.3 基址指針寄存器BP (Base Pointer) ’nSP?提供了一種方便的尋址方式,即基址尋址方式[BP+IM6];程序設(shè)計(jì)者可通過(guò)BP 來(lái)存取ROM 與RAM 中的數(shù)據(jù),包括:局部變量(Local Variable)、函數(shù)參數(shù)(FunctionParameter)、返回地址(Return Address)等等。BP 除了上述用途外,也可做為通用寄存器R5,用于數(shù)據(jù)運(yùn)算傳送的來(lái)源及目標(biāo)寄存器。因此,在本書或程序中,BP 與R5 是共享的,均代表基址指針寄存器。 2.2.4 程序計(jì)數(shù)器PC (Program Co
17、unter) 它的作用與一般微控制器中的PC 相同,是用來(lái)紀(jì)錄程序目前執(zhí)行位置的寄存器,以控制程序走向。CPU 每執(zhí)行完一個(gè)指令,就會(huì)改變PC 的值,使其指向下一條指令的地址。在’nSP?里,16 位的PC 寄存器與SR 寄存器的CS 字段,共同組成一個(gè)22 位的程序代碼地址。 2.2.5 狀態(tài)寄存器SR (Status Pointer) SR內(nèi)含許多字段,每個(gè)字段都有特別的用途,如圖2.1所示。其中包含兩個(gè)6 位的區(qū)段選擇字段: CS (Code Segment),DS (Data Segment),它們可與其它16 位的寄存器結(jié)合在一起形成一個(gè)22 位的地址,用來(lái)尋址4M字容量的
18、內(nèi)存。SPCE061A只有32K字的閃存,只占用一頁(yè)的存儲(chǔ)空間,所以CS和DS字段在SPCE061A中都是設(shè)為0。 算數(shù)邏輯運(yùn)算的結(jié)果會(huì)影響CPU 內(nèi)的標(biāo)志(flag),標(biāo)志的內(nèi)容可以作為條件判斷的依據(jù)?!痭SP?有四個(gè)1 位的標(biāo)志: N、Z、S、C,即SR 寄存器中間的4 個(gè)位(B6~B9)。CPU 在執(zhí)行條件跳轉(zhuǎn)指令時(shí),會(huì)先測(cè)試這些標(biāo)志位,以控制程序的流向。這些標(biāo)志的詳細(xì)說(shuō)明如下: 1 進(jìn)位標(biāo)志C C=0 時(shí)表示運(yùn)算過(guò)程中無(wú)進(jìn)位或是有借位情況產(chǎn)生;而C=1 表示運(yùn)算過(guò)程中有進(jìn)位或是無(wú)借位情況產(chǎn)生。在無(wú)符號(hào)數(shù)運(yùn)算中,16 位可以表示的數(shù)值范圍是0x0000~0xFFFF,即0~65
19、535。如果運(yùn)算結(jié)果大于65535(0xFFFF),則標(biāo)志位C 被置為1。請(qǐng)注意:進(jìn)位標(biāo)志C 一般用于無(wú)符號(hào)數(shù)運(yùn)算的進(jìn)、借位判斷。 2 零標(biāo)志Z Z=0 時(shí)表示運(yùn)算結(jié)果不為0,Z=1 時(shí)表示運(yùn)算結(jié)果為0。 3 負(fù)標(biāo)志N 負(fù)標(biāo)志N 是用來(lái)判斷運(yùn)算結(jié)果的最高位(B15)是否為1。B15=0 則N=0; B15=1則N=1。 4 符號(hào)標(biāo)志S S=0 時(shí)表示運(yùn)算結(jié)果為正數(shù)或是0,S=1 時(shí)則表示運(yùn)算結(jié)果(在二進(jìn)制補(bǔ)碼的規(guī)則下)為負(fù)。對(duì)于有符號(hào)數(shù)運(yùn)算,16 位所能表示的數(shù)值范圍是0x8000~0x7FFF,即-32768~32767。若運(yùn)算結(jié)果小于零,則符號(hào)標(biāo)志S 被置為1。有符號(hào)數(shù)運(yùn)
20、算的運(yùn)算結(jié)果可能會(huì)大于0x7FFF 或小于0x8000。比如:0x7FFF+0x7FFF=0xFFFE(65534),運(yùn)算結(jié)果為正(S=0),且無(wú)進(jìn)位(C=0)發(fā)生;在此情況下,負(fù)標(biāo)志N 被置為1(因?yàn)樽罡呶粸?)。若標(biāo)志N 與S 不同,則說(shuō)明了有溢出(overflow)發(fā)生,即:S=0,N=1 或S=1,N=0。符號(hào)標(biāo)志S 可用來(lái)判斷有符號(hào)數(shù)的正負(fù)。而JVC(N==S),JVS(N!=S)則可用來(lái)判斷溢出。請(qǐng)注意:N,S 的組合用于有符號(hào)數(shù)溢出的判斷。 特別需要注意:在運(yùn)算操作過(guò)程中,若目標(biāo)寄存器是PC,則所有標(biāo)志位均不會(huì)受到影響。 總結(jié): [1].由于補(bǔ)碼可以把有符號(hào)數(shù)與無(wú)符號(hào)
21、數(shù)的運(yùn)算統(tǒng)一起來(lái),所以對(duì)于同一條加法或減法指令,既可以認(rèn)為是有符號(hào)數(shù)運(yùn)算又可以認(rèn)為是無(wú)符號(hào)數(shù)運(yùn)算,只是觀察的角度、判斷的標(biāo)準(zhǔn)不同而已。 [2].進(jìn)位標(biāo)志C 一般用于無(wú)符號(hào)數(shù)運(yùn)算的進(jìn)、借位判斷。 [3].N,S 的組合用于有符號(hào)數(shù)溢出的判斷。 [4].有符號(hào)數(shù)的范圍為-32768~32767,無(wú)符號(hào)數(shù)的范圍為0~65535。若為有符號(hào)數(shù),運(yùn)算前數(shù)值的正負(fù)應(yīng)利用負(fù)標(biāo)志N 來(lái)判斷;運(yùn)算后結(jié)果的正負(fù)應(yīng)利用符號(hào)標(biāo)志S來(lái)判斷。 2.3 數(shù)據(jù)總線和地址總線 ’nSP?是16 位單片機(jī),它具有16 位的數(shù)據(jù)線和22 位地址線。由此決定其基本數(shù)據(jù)類型是16
22、位的“字”型,而不是8 位的“字節(jié)”型;因此內(nèi)存都是按“字”操作的,22位的地址線最多可尋址到4M 字的內(nèi)存空間。地址線中的高6 位A16~A21 來(lái)自SR 寄存器中的6 位的CS 字段或是6 位的DS 字段,低16 位A0~A15 則來(lái)自內(nèi)部寄存器。通常,地址線的高6 位稱為內(nèi)存地址的Page Selector,簡(jiǎn)稱為頁(yè)碼(Page);而低16 位則稱為內(nèi)存地址的偏移量(Offset)。 ’nSP?通過(guò)對(duì)區(qū)段(Segment)的編碼來(lái)實(shí)現(xiàn)內(nèi)存分頁(yè)的檢索,即是說(shuō)‘Segment’的含義與‘Page’的含義是相等的。因而,通過(guò)Segment與Offset的配合即可產(chǎn)生22 位地址,如圖2.1中
23、ADDRGEN所示。(注意: SPCE061A只有32K字閃存FLASH,僅占一頁(yè)存儲(chǔ)空間,所以CS字段和DS字段在SPCE061A用不到,都設(shè)為0)。 2.4 SPCE064A片內(nèi)存儲(chǔ)器結(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 個(gè)字,即0x0000~0x003F 地址范圍內(nèi),可采用6 位地址直接地址尋址方法,存取速度為2 個(gè)CPU 時(shí)鐘周期;其余范圍內(nèi)(0x0040~
24、0x07FF)內(nèi)存的存取速度則為3 個(gè)CPU時(shí)鐘周期。 2.4.2 堆棧 SP 是用來(lái)記錄堆棧地址的寄存器,SP 會(huì)指向堆棧的頂端。堆棧是一個(gè)先進(jìn)后出的內(nèi)存結(jié)構(gòu),’nSP?的堆棧結(jié)構(gòu)是由高地址往低地址的方向來(lái)儲(chǔ)存的。CPU 執(zhí)行push、子程序呼叫call、以及進(jìn)入中斷服務(wù)子程序(ISR,Interrupt Service Routine) 時(shí),會(huì)儲(chǔ)存寄存器內(nèi)容在堆棧里,這時(shí)SP 會(huì)遞減以反映堆棧用量的增加。當(dāng)CPU 執(zhí)行pop、子程序返回ret、以及從ISR 返回reti 時(shí),SP 會(huì)遞增以反映堆棧用量的減少。 ’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 是一個(gè)用閃存替代mask ROM 的MTP(multi-time-programmable)芯片,閃存可以進(jìn)行多次的擦除與寫入,可用來(lái)存儲(chǔ)程序與數(shù)據(jù)。SPCE061A 具有32K 字(32K16 位)閃存容量,這32K 字的內(nèi)嵌閃存被劃分為128 個(gè)頁(yè),每個(gè)頁(yè)存儲(chǔ)容量為256 個(gè)字。它們?cè)贑PU 正常運(yùn)行狀態(tài)下均可通過(guò)程序擦除或?qū)懭?。全?2K 字閃存均可在ICE 工作方式下被寫入或被擦除。為了安
26、全起見(jiàn),不對(duì)用戶開(kāi)放整體擦除功能。 用戶必須通過(guò)向P_Flash_Ctrl (寫) ($7555H)單元寫入0xAAAA,來(lái)啟用閃存的存取功能。然后,向P_Flash_Ctrl (寫) ($7555H)單元寫入0x5511,來(lái)擦除頁(yè)的內(nèi)容。寫入0x5533,對(duì)閃存寫入。這些指令不能被任何其它的操作打斷,包括中斷、ICE 的單步跟蹤動(dòng)作。這是因?yàn)殚W存控制器必須保證閃存處于寫入狀態(tài)。如果其它的操作打亂了這個(gè)順序,閃存的狀態(tài)將發(fā)生改變,擦除頁(yè)和寫入的操作不能再繼續(xù)進(jìn)行。 此外,為保證數(shù)據(jù)的正確寫入,用戶必須在寫入之前擦除頁(yè)的內(nèi)容。頁(yè)大小為0x100。第一頁(yè)地址范圍:0x8000~0x80FF
27、,最后一頁(yè)的地址范圍:0xFF00~0xFFFF。0xFC00~0xFFFF范圍內(nèi)的地址由系統(tǒng)保留,用戶最好不要用本范圍內(nèi)的地址。 1 讀取操作 在芯片上電后,閃存就處于讀取狀態(tài),讀取的操作與SRAM 相同。 2 擦除操作 在對(duì)閃存寫入數(shù)據(jù)前,必須對(duì)閃存進(jìn)行擦除操作。由于閃存采用分頁(yè)的數(shù)組結(jié)構(gòu),使得各個(gè)存儲(chǔ)頁(yè)可以被獨(dú)立地擦除。當(dāng)用戶向閃存控制接口發(fā)出頁(yè)擦除命令以后,只要向某個(gè)地址寫入任意的數(shù)據(jù),對(duì)應(yīng)到這個(gè)地址的的記憶頁(yè)就被擦除。要保證擦除操作的正確 完成,必須考慮以下幾個(gè)參數(shù): 1. 該閃存的內(nèi)部分頁(yè)結(jié)構(gòu)。 2. 每個(gè)頁(yè)分區(qū)的擦除時(shí)間。 3 寫入操作 閃存芯片的寫入
28、操作是自動(dòng)字節(jié)寫入, 既可以循序?qū)懭?,也可指定地址寫入。閃存的地址空間為0x8000—0xFFFF,閃存控制接口的地址為0x7555 。第一頁(yè)范圍是[0x8000—0x80FF],最后一頁(yè)范圍是[0xFF00—0xFFFF]。 1. 擦除一頁(yè)的流程是:先對(duì)命令用戶接口地址0x7555 送出0xAAAA,然后再對(duì)命令用戶接口地址0x7555 送出0x5511,再來(lái)對(duì)要擦除的記憶頁(yè)地址寫入任意數(shù)據(jù),約20ms 即可完成擦除操作,之后就可以再進(jìn)行其它操作。例如擦除第6 頁(yè)[0x8500—0x85FF]流程如下:(1)0x7555 ←0xAAAA (2) 0x7555 ←0x5511(3)0x85
29、XX←0xXXXX (其中X 為任意值)。 2. 寫入一個(gè)字的流程是:先對(duì)命令用戶接口地址0x7555 送出0xAAAA,然后再對(duì)命令用戶接口地址0x7555 送出0x5533,再來(lái)對(duì)要寫入字的地址寫入數(shù)據(jù),約40us 即可完成寫入操作,之后就可以再進(jìn)行其它操作。例如向0x8000記憶地址寫入0xffff 流程如下:(1)0x7555 ←0xAAAA (2) 0x7555 ←0x5533 (3) 0x8000←0xFFFF 3. 連續(xù)寫入多個(gè)字的流程是:先對(duì)命令用戶接口地址0x7555 送出0xAAAA,然后再對(duì)命令用戶接口地址0x7555 送出0x5544,再給要連續(xù)寫入字的起始地址
30、寫入字?jǐn)?shù)據(jù),約40us 即可完成1 個(gè)字的寫入操作。再對(duì)命令用戶接口地址0x7555 送出0x5544,再對(duì)后續(xù)要寫入的字地址寫入字?jǐn)?shù)據(jù),等待40us,循環(huán)操作即可完成連續(xù)字的寫入。 *上面所提到延時(shí)等待是由硬件完成,不需要軟件延時(shí),閃存的擦寫過(guò)程如圖2.4 所示, 以上所介紹的閃存擦除及寫入操作,一般用于執(zhí)行中數(shù)據(jù)的儲(chǔ)存。例如,當(dāng)我們把一小段程序?qū)懭腴W存后,假設(shè)程序代碼占用的空間不大(例如5 字K 字),我們就可以在程序代碼后面的空間(5K~32K)存儲(chǔ)一些數(shù)據(jù),這樣就需要對(duì)這一段閃存空間(5K~32K)進(jìn)行上述的寫入或擦除操作。前提條件是,必須計(jì)算出程序代碼所占用的空間。
31、 2.5 SPCE061A的輸入/輸出接口 輸入/輸出接口(也可簡(jiǎn)稱為I/O 端口)是單片機(jī)與外設(shè)交換信息的通道。輸入端口負(fù)責(zé)從外界接收檢測(cè)信號(hào)、鍵盤信號(hào)等各種開(kāi)關(guān)量信號(hào)。輸出端口負(fù)責(zé)向外界傳送由內(nèi)部電路產(chǎn)生的處理結(jié)果、顯示信息、控制命令、驅(qū)動(dòng)信號(hào)等?!痭SP?內(nèi)有并行和串行兩種方式的I/O 口。并行口線路成本較高,但是傳輸速率也較高;與并行口相比,串行端口的傳輸速率較低但可以節(jié)省大量的線路成本。SPCE061A 有兩個(gè)16 位的通用并行I/O 口:A口和B 口。這兩個(gè)端口的每一位都可通過(guò)編程單獨(dú)定義成輸入或輸出口。 A 口的IOA0~IOA7 作為輸入端口時(shí),具有
32、喚醒功能,即當(dāng)輸入電平發(fā)生變化時(shí),會(huì)觸發(fā)CPU 中斷。在電池供電、追求低耗電的應(yīng)用場(chǎng)合,可以讓CPU 進(jìn)入睡眠模式(利用軟件控制)以降低功耗,需要時(shí)才以按鍵來(lái)喚醒CPU,使其進(jìn)入工作狀態(tài)。例如:手持遙控器、電子字典、PDA、計(jì)算器、無(wú)線電話等。 2.5.1 I/O 端口結(jié)構(gòu) SPCE061A 提供了位控制結(jié)構(gòu)的I/O 端口,每一位都可以單獨(dú)用于數(shù)據(jù)輸入或輸出。每個(gè)獨(dú)立的位可通過(guò)以下3 種控制向量來(lái)作設(shè)定: 1. 數(shù)據(jù)向量Data 2. 屬性向量Attribution 3. 方向控制向量Direction 每3 個(gè)對(duì)應(yīng)的控制向量組合在一起,形成一個(gè)控制字,用來(lái)定義相對(duì)應(yīng)I/
33、O 端口位的輸入輸出狀態(tài)和方式。例如,假設(shè)需要IOA0 是下拉輸入引腳,則相對(duì)應(yīng)的Data、Attribution和Direction 的值均被設(shè)為“0”。如果需要IOA1 是帶喚醒功能的懸浮式輸入引腳,則Data、Attribution 和Direction 的值被設(shè)為“010”。與其它的單片機(jī)相比,SPCE061A 除了每個(gè)I/O 口可以單獨(dú)定義其狀態(tài)外,每個(gè)對(duì)應(yīng)狀態(tài)下的I/O 端口性質(zhì)電路都是內(nèi)置的,在實(shí)際的電路中不需要再外接。例:設(shè)A 口為帶下拉電阻的輸入端口,在連接硬件時(shí)不用再外接下拉電路。 A 口和B 口的Data、Attribution 和Direction 的設(shè)定值均在不同
34、的寄存器里,用戶在進(jìn)行I/O 端口設(shè)置時(shí)要特別注意這一點(diǎn)。I/O 端口的組合控制設(shè)置如表2.1 所示: 注: *:端口位預(yù)設(shè)為帶下拉電阻的輸入引腳; * *:只有當(dāng)IOA [7~0]內(nèi)位的控制字為000,001 和010 時(shí), 相對(duì)應(yīng)位才具有喚醒的功能。 ***:懸浮輸入作為ADC IOA[6~0] 的輸入 P_IOA_Data(讀/寫)(7000H) A 端口的數(shù)據(jù)單元,用于向A 口寫入或從A 端口讀出數(shù)據(jù)。當(dāng)A 口處于輸入狀 態(tài)時(shí),讀出是讀A 口引腳電平狀態(tài); 寫入是將數(shù)據(jù)寫入A 端口的數(shù)據(jù)寄存器。當(dāng)A 口處于輸出狀態(tài)時(shí),寫入輸出數(shù)據(jù)到A 端口的數(shù)據(jù)寄存
35、器。 P_IOA_Buffer (讀/寫) (7001H) A 端口的數(shù)據(jù)向量單元,用于向數(shù)據(jù)向量寄存器寫入或從該寄存器讀出數(shù)據(jù)。當(dāng)A 口處于輸入狀態(tài)時(shí),寫入是將A 端口的數(shù)據(jù)向量寫入A 端口的數(shù)據(jù)寄存器;讀出則是從A 端口數(shù)據(jù)寄存器內(nèi)讀其數(shù)值。當(dāng)A 口處于輸出狀態(tài)時(shí),寫入輸出數(shù)據(jù)到A 端口的數(shù)據(jù)寄存器。 對(duì)輸出而言,P_IOA_Data 與P_IOA_Buffer 是一樣的.但對(duì)輸入而言,P_IOA_Data 讀的是IO 的值,P_IOA_Buffer 讀的是buffer 內(nèi)的值。假設(shè)IOA[0]作為輸出,并去接LED陽(yáng)極(LED 陰極接地)。若P_IOA_Data 的IOA[0]為1
36、。在某些需要較大驅(qū)動(dòng)能力的LED而言,LED 會(huì)亮,但I(xiàn)OA[0]會(huì)被拉到一個(gè)很低的值。此時(shí)從P_IOA_Data 讀回為0,但P_IOA_Buffer 則為1。讀回的意義是是方便做其它的IO 運(yùn)算。 P_IOA_Dir(讀/寫)(7002H) A 端口的方向向量單元,用于用來(lái)設(shè)置A 口是輸入還是輸出,該方向控制向量寄存器可以寫入或從該寄存器內(nèi)讀出方向控制向量。Dir 位決定了端口位的輸入/輸出方向:即‘0’為輸入,‘1’為輸出。 P_IOA_Attrib(讀/寫)(7003H) A 端口的屬性向量單元,用于A 端口屬性向量的設(shè)置。 P_IOA_Latch(讀)(7004H) 讀該
37、單元以鎖存A端口上的輸入數(shù)據(jù),用于進(jìn)入睡眠狀態(tài)前的觸鍵喚醒功能的啟動(dòng)(參見(jiàn)睡眠/喚醒部分)。 2.5.2 并行I/O 端口的控制向量組合 方向向量_Dir、屬性向量_Attrib 和數(shù)據(jù)向量_Data 分別代表三個(gè)控制口。這三個(gè)端口中每個(gè)對(duì)應(yīng)的字節(jié)合在一起,形成一個(gè)控制字,來(lái)定義相對(duì)應(yīng)I/O 端口位的輸入/輸出狀態(tài)和方式。 2.1 具體表示了如何通過(guò)對(duì)I/O 口的_Dir、_Attrib 以及_Data 進(jìn)行編程,來(lái)設(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)下被寫入時(shí),與_Attrib 字節(jié)合在一起形成輸入方式的控制字‘00’、‘01’、‘10’、‘11’,以決定輸入端口是帶喚醒功能的上拉電阻式、下拉電阻式或懸浮式以及不帶喚醒功能的懸浮式輸入。_Data 位在端口位的輸出狀態(tài)下被寫入的是輸出數(shù)據(jù),不過(guò),數(shù)據(jù)是經(jīng)過(guò)反相器輸出還是經(jīng)過(guò)同相寄存器輸出要由_Attrib位來(lái)決定。 例如,假設(shè)要把
39、A 口的B0 定義成下拉電阻式的輸入口,則A 口_Dir、_Attrib 和_Data三個(gè)向量對(duì)應(yīng)的B0 組合應(yīng)設(shè)為‘000’。如果想把A 口的B1 定義成具有喚醒功能的懸浮式輸入口,只需將_Dir、_Attrib 和_Data 向量對(duì)應(yīng)的B1 組合設(shè)置為‘010’即可。 A 口的IOA0~IOA7 作為喚醒來(lái)源,常用于鍵盤輸入。要啟用IOA0~IOA7 的喚醒功能,必須先讀取P_IOA_Latch 單元,以此來(lái)鎖存IOA0~IOA7 引腳上的按鍵狀態(tài)。隨后,系統(tǒng)才可通過(guò)指令進(jìn)入低功耗的睡眠狀態(tài)。當(dāng)有按鍵按下時(shí),IOA0~IOA7 的輸入狀態(tài)會(huì)與其在進(jìn)入睡眠前被鎖存時(shí)的狀態(tài)不同,從而引起系
40、統(tǒng)的喚醒。 各端口位對(duì)應(yīng)的向量設(shè)置如下表2.2: 從上面的分析我們可以看出,當(dāng)作為輸入口時(shí)所讀到的數(shù)值來(lái)自不同的地方,由P_IOA_Data 所讀到是A 口引腳上的當(dāng)前狀態(tài),由P_IOA_Buffer 所讀到的值來(lái)自數(shù)據(jù)寄存器(見(jiàn)例2.6);當(dāng)A 端口作為輸出端口時(shí),數(shù)據(jù)都是寫到A 端口的數(shù)據(jù)寄存器。對(duì)于某 些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)時(shí),讀出是讀B 口引腳電平狀態(tài); 寫入是將數(shù)據(jù)寫入B
41、端口的數(shù)據(jù)寄存器。當(dāng)B 口處于輸出狀態(tài)時(shí),寫入輸出數(shù)據(jù)到B 端口的數(shù)據(jù)寄存器。 P_IOB_Buffer(讀/寫)(7006H) B 端口的數(shù)據(jù)向量單元,用于向數(shù)據(jù)寄存器寫入或從該寄存器內(nèi)讀出數(shù)據(jù)。當(dāng)B 口處于輸入狀態(tài)時(shí),寫入是將數(shù)據(jù)寫入B 端口的數(shù)據(jù)寄存器;讀出則是從B 端口數(shù)據(jù)寄存器里讀其數(shù)值。當(dāng)B 口處于輸出狀態(tài)時(shí),寫入數(shù)據(jù)到B 端口的數(shù)據(jù)寄存器。 P_IOB_Dir(讀/寫)(7007H) B 端口的方向向量單元,用于設(shè)置IOB 口的狀態(tài)?!?’為輸入,‘1’為輸出。 P_IOB_Attrib(讀/寫)(7008H) B 端口的屬性向量單元,用于設(shè)置IOB 端口的屬性。
42、A 端口低8 位的屬性設(shè)置及對(duì)應(yīng)的端口位狀態(tài)如表2.3 所示:(不考慮高8 位) B 端口低8 位的屬性設(shè)置及對(duì)應(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)是用來(lái)作為普通I/O 端口,或是作為特殊功能端口。其特殊功能包括以下兩個(gè)部分:(1).單個(gè)IOB2或IOB3 口可設(shè)置為外部中斷的輸入口。(2).設(shè)置P_FeedBack 單元,再將IOB2(IOB3)和IOB4(IOB5)之間連接一個(gè)電阻和電容(電路連接如圖2.8)形成反饋電路以產(chǎn)生振蕩信號(hào),此信號(hào)可作為外部中斷源輸入EXT1 或EXT2。當(dāng)然此時(shí)所得到的中斷頻率與RC 振蕩器的頻率是一致的。由于該頻率較高,所以通常情況下都是通過(guò)(1)獲得外部中斷信號(hào)。 此特殊功能僅運(yùn)用于:當(dāng)外部電路需要用到一定頻率的振蕩信號(hào)時(shí),可以在IOB2(IOB3)端獲得。P_FeedBack 的設(shè)置的如表2.
44、6所示。 圖2.8 為IOB2,IOB3,IOB4 及IOB5 的反饋結(jié)構(gòu)示意圖。通過(guò)在IOB2 (IOB3)和IOB4(IOB5)之間增加一個(gè)RC 電路形成反饋回路,即可在IOB2(IOB3)端得到振蕩源頻率信號(hào)。為使反饋回路正常工作,必須將IOB2 (IOB3) 設(shè)置成反相輸出口,且將IOB4 (IOB5)設(shè)置成懸浮式輸入口。 2.5.4 IOB8 和IOB10 的控制向量設(shè)置 IOB8 和IOB10 的應(yīng)用由控制向量TAON 和TXPinEn 來(lái)控制。 圖2.9 向量控制 第三章.系統(tǒng)各模塊工作原理 3.1
45、 單片機(jī) 單片機(jī)也稱單片微控制器,它集成度高、運(yùn)算速度快、體積小、運(yùn)行可靠、價(jià)格低廉,在過(guò)程控制、數(shù)據(jù)采集、機(jī)電一體化、智能儀器儀表、家用電器以及網(wǎng)絡(luò)技術(shù)等方面得到廣泛應(yīng)用。的組成主要如下圖所示,下面將就各部分與他們外圍的器件進(jìn)行簡(jiǎn)要的原理分析 3.2 電源 61板采用3節(jié)5號(hào)電池進(jìn)行供電,由J10接入,如原理圖所示。其中的前面兩組電容用來(lái)去耦濾波,使其供給芯片的電源更加干凈平滑。為了獲得標(biāo)準(zhǔn)的3.3V電壓,在板子上加入=兩個(gè)二極管,是為防止誤將電源接反造成不必要損失而設(shè)置的,在操作過(guò)程中千萬(wàn)不要將電源接反,因?yàn)榉聪螂妷撼^(guò)一定的值,二極管將會(huì)被損壞,達(dá)不到保護(hù)的目的。后面的零電阻及其電
46、源、地分成不同的幾路為了減少電磁干擾設(shè)置的。 圖3.1 電源部分原理圖 3.3 程序下載區(qū) ICE基本運(yùn)行方式是通過(guò)控制clock及通過(guò)ICE喂入指令方式,來(lái)控制CPU的運(yùn)行及緩存器資料和內(nèi)存資料的存取,因此必須透過(guò)控制緩存器值的設(shè)定來(lái)控制CPU目前的動(dòng)作。 每個(gè)相連接的不同ICE模塊都擁有自己的3-bitID,當(dāng)PC在發(fā)送control信號(hào)時(shí)都會(huì)先傳送3-bitID,只有ICE本身的ID和control信號(hào)的ID相同時(shí)才會(huì)執(zhí)行該命令或回傳資料。61板上的74HC244主要在我們選用下載線的時(shí)候起作用,主要起緩存的作用和完成SDA是作為數(shù)據(jù)回送還是數(shù)據(jù)下傳的選擇。 第三章
47、 系統(tǒng)各模塊工作原理 圖3.2 下載區(qū)原理圖 3.4音頻輸入部分 如下圖所示電路,MICP和MICN將隨著MIC產(chǎn)生的波形變化,并在兩個(gè)端口處形成兩路反向的波形,在經(jīng)過(guò)兩極運(yùn)放放大,把放大的語(yǔ)音信號(hào)交給ACD轉(zhuǎn)換為數(shù)字量,這個(gè)時(shí)候我們就可以通過(guò)單片機(jī)編程對(duì)這些數(shù)據(jù)進(jìn)行處理,比如說(shuō)語(yǔ)音數(shù)據(jù)壓縮、語(yǔ)音識(shí)別樣本處理。 圖3.3 音頻輸入外圍電路 3.5 音頻輸出部分 SPY0030是凌陽(yáng)公司開(kāi)發(fā)的專門用于語(yǔ)音放大的芯片.它的增益如下所示: Gain=2*5000/(5000+R1) 3.5.1按鍵部分 按鍵是通過(guò)同斷控制來(lái)實(shí)現(xiàn)它的功能,61板上的按鍵在沒(méi)按
48、下時(shí),它的1、3腳是斷開(kāi)的,當(dāng)按下時(shí)這兩個(gè)腳是連通的。若此時(shí)我們?cè)谝荒_接一個(gè)高電平,把第三個(gè)腳連到一個(gè)I/O口上。這就形成了一個(gè)人機(jī)操作界面,通過(guò)編程對(duì)I/O口掃描,單片機(jī)就能識(shí)別到我們的按鍵命令。 第四章 焊接 第 四 章 焊 接 在焊接前請(qǐng)同學(xué)們認(rèn)真對(duì)照原理圖,仔細(xì)查看印刷電路板,找到對(duì)應(yīng)元件的功能區(qū)后,開(kāi)始準(zhǔn)備元件和工具。此電路板焊接要求使用25W左右尖烙鐵,下面詳細(xì)敘述焊接步驟: 4.1‘61’裸板檢測(cè) 目的:檢測(cè)61板裸板電源部分是否短路 方法:利用萬(wàn)用表檢測(cè)‘61’板上是否U3的第一腳
49、和第三腳之間是否短路,無(wú)短路則說(shuō)明‘61’板電源部分正常。 2端口部分: 目的:檢測(cè)61板裸板相鄰端口部分是否短路 方法:用萬(wàn)用表測(cè)量相鄰端口是否短路,無(wú)短路則說(shuō)明端口部分正常。 4.2 檢測(cè)元器件、并做器件整形 1.用萬(wàn)用表檢測(cè)12個(gè)電容、16個(gè)獨(dú)石104、3個(gè)獨(dú)石224是否短路,短路的器件需要換(有條件的可以采用電容表逐個(gè)測(cè)試)。 2. 利用萬(wàn)用表檢測(cè)4個(gè)按鍵,按鍵按下后看1、3腳是否接通,是則說(shuō)明按鍵正常。 3. 先將單排插針掰開(kāi),分別為10PIN 4個(gè)、3PIN 3個(gè)和2PIN 2個(gè)、1PIN 1個(gè)。 4. 將所有檢測(cè)過(guò)的電阻、電容、二極管按電路板間距把引腳折彎,以便
50、插到電路板上。注意:絕不能在元件引腳跟部反復(fù)折彎,因?yàn)檫@樣引起的元件內(nèi)部接觸不良造成的故障是很難維修的。 5. 查看芯片座所有引腳是否偏移原位,若有偏移整形后插在塑料泡沫上待用。 4.3 元件分類 1. 小個(gè)子元器件(20個(gè)): SPY0029(1個(gè))、電阻(18個(gè))、晶振(1個(gè))、二極管(3個(gè))。 2. 中間個(gè)子元器件(45個(gè)): 瓷片電容(5個(gè))、獨(dú)石電容(19個(gè))、按鍵(4個(gè))、發(fā)光二極管(2個(gè))、電解電容(12個(gè))、芯片座(3個(gè))。 3. 大個(gè)子元器件(13個(gè)): 排針(9個(gè))、接座(3個(gè))、電位器(1個(gè))。 4.
51、4 焊接61板的步驟 焊接原則從低到高,為確保焊接一次成功,請(qǐng)根據(jù)我們的18個(gè)步驟來(lái)焊接。 STEP 1:焊接SPY0029(數(shù)量1個(gè)) 元件U3(SPY0029---先將焊盤上的焊點(diǎn)上少量焊錫,再元件相應(yīng)引腳鍍少量錫,用鑷子夾住元件放置在焊盤上,迅速將該引腳焊好。注意拿鑷子要穩(wěn),不能抖。焊接速度要快,加熱時(shí)間要短。然后將其它引腳焊好。 注意:千萬(wàn)注意SPY0029管腳的焊錫不要過(guò)多,否則容易造成SPY0029底下有連焊,很難發(fā)現(xiàn),會(huì)誤以為SPT0029壞掉。 STEP 2:焊接電阻(數(shù)量18個(gè)) STEP 3:焊接二極管(數(shù)量3個(gè)) 請(qǐng)注意方向,有白色短線的那一端為負(fù)
52、極,按照排序分別焊接1、2、3二極管,以免遺漏; STEP 4:焊接晶振(數(shù)量1個(gè)) 注意時(shí)間不宜太長(zhǎng),晶振位置要正確。 STEP 5:焊接獨(dú)石電容(數(shù)量19個(gè)) STEP 6:焊接瓷片電容(數(shù)量5個(gè)) STEP 7:焊接電解電容(數(shù)量2個(gè)) 焊接電解電容(已臥倒的)---請(qǐng)注意焊接方向,有白色線的一端為負(fù)極與PCB板上的白線相對(duì)應(yīng):在電源部分,先把電容焊好,這時(shí)候我們不著急往后焊,先來(lái)一個(gè)小小的測(cè)試,因?yàn)榈竭@一步電源部分已經(jīng)可以開(kāi)始工作了,這時(shí)查由于沒(méi)受后面電路的影響,比較好查 ; STEP 8:檢查電源部分是否錯(cuò)誤 先用萬(wàn)用表查J10 兩管腳,若短路則查清短路原因,可能是因
53、為二極管壞掉或者電源部分電容有問(wèn)題,請(qǐng)排除錯(cuò)誤再往下執(zhí)行。 STEP 9:檢查PCB板上的SPY0029三個(gè)管腳是否短路 用萬(wàn)用表查SPY0029的三個(gè)管腳之間是否短路;可能是因?yàn)榈诙€(gè)二極管壞掉或者SPY0029沒(méi)焊好,請(qǐng)排除錯(cuò)誤再往下執(zhí)行。 STEP 10:焊接剩余電解電容(數(shù)量10個(gè)) 完成所有電解電容的焊接。 STEP 11:焊接按鍵和電位器(數(shù)量各一個(gè)) STEP 12:焊接發(fā)光二極管(數(shù)量1個(gè)) 焊接發(fā)光二極管---二極管部平口端為負(fù)極,與PCB板上平口端相對(duì)應(yīng)插入; STEP 13:焊接電源座(數(shù)量1個(gè)):焊接電源座,電源座位置要正確。焊接完電源座,電源部分已全部
54、焊完,這時(shí)我們可以上電,會(huì)看見(jiàn)電源指示燈點(diǎn)亮,如沒(méi)亮請(qǐng)立刻斷電并查清原因,還是電源部分的原因,依照電流走向,應(yīng)該很快就能查到原因。 STEP14:焊接單排插針(數(shù)量9個(gè)) 單排插針的焊接,要一部分一部分焊接,以免遺漏。 STEP15:5針座焊接(數(shù)量2個(gè)) 在焊接5針座的同時(shí)一定要了解他們的作用; STEP16:焊接麥克風(fēng)(數(shù)量1個(gè)) 注意:麥克風(fēng)的焊接一定要注意正極和負(fù)極。 麥克風(fēng)要正確的插入到板子中,需要自己要了解一下,具體步驟如下: 第一步:獲得兩節(jié)剪斷的裸露導(dǎo)線或是被剪斷焊接元件多余的引腳,長(zhǎng)度大于1cm; 第二步:鑷子把兩根導(dǎo)線分別折成“L”形,短邊的長(zhǎng)度小于5 m
55、m,分別給“L”的短腳抹上一點(diǎn)焊錫,便于焊接; 第三步:利用烙鐵分別把制作好的 “L”形導(dǎo)線焊接到合適的位置,目的就是給麥克風(fēng)做兩個(gè)引腳; 第四步:對(duì)應(yīng)正、負(fù)極把引腳插入‘61’板的正、負(fù)極焊接完成。 Step17:焊接U2、U4芯片座 焊接U2、U4的座,注意座子的凹進(jìn)的表示與電路板子上的凹口一致焊接U1SPCE061AD的座子,注意座子的斜切口與電路板子上的斜切口一致。 Step18:管腳修整 剪斷已焊接元件多余的引腳,(長(zhǎng)度大概1cm左右)并檢查是否所有的器件均焊接完成。 第五章 測(cè)試記錄和分析 在做測(cè)試的時(shí)候一定要先檢測(cè)電源部分(因?yàn)殡娫床糠窒喈?dāng)重要,若沒(méi)焊好
56、可造成很大破壞性)。再按以下的順序測(cè)試并一步步做好檢測(cè)記錄,出現(xiàn)問(wèn)題的時(shí)候請(qǐng)勿心急,慌亂中可能會(huì)制造更多的問(wèn)題,而是要認(rèn)真檢測(cè)電路,并按實(shí)驗(yàn)步驟完成檢查,這樣有利于培養(yǎng)自己的動(dòng)手能力和分析問(wèn)題的能力。整體測(cè)試流程圖如下: 圖5.1 測(cè)試流程圖 5.1電源部分 5.1.1電源測(cè)試步驟 第五章 測(cè)試記錄和分析 如果在焊接中按照步驟焊接了,并且其中的兩個(gè)測(cè)試都通過(guò)了,那么這里的檢測(cè)可輕而易舉的通過(guò)。 電源部分在板子左上角。以下就采用萬(wàn)用表分別測(cè)試以下12個(gè)點(diǎn)的電壓,注意數(shù)字萬(wàn)用表的使用方式(黑色的表筆接電源“-”端,紅色的表接電源“+”端),此時(shí)請(qǐng)勿
57、將芯片插入座中,以免電源部分有問(wèn)題造成芯片燒壞。 Step1: 目的:測(cè)試61板電源和地是否有短路: 條件:斷開(kāi)電源并拔掉電池盒,將J5的2、3腳用跳線帽短接; 步驟:用萬(wàn)用表測(cè)量J10的兩腳的電阻是否為零; 現(xiàn)象1:電阻為零; 結(jié)論:焊接過(guò)程中可能造成短路了; 解決辦法:進(jìn)行電源的排查,進(jìn)入Step4 現(xiàn)象2:電阻大于300歐姆; 結(jié)論;正常,進(jìn)入STEP2。 STEP2: 目的:測(cè)試61板電源部分器件是否工作正常; 條件:將三節(jié)5號(hào)電池裝入電池盒中,接到J10處,將電池盒開(kāi)關(guān)撥到ON處; 步驟:將電池盒開(kāi)關(guān)撥到ON處; 現(xiàn)象1:發(fā)光二極管D1沒(méi)點(diǎn)亮,立刻將電源斷
58、開(kāi),進(jìn)入步驟4的測(cè)試; 結(jié)論:電源部分有問(wèn)題進(jìn)入Step; 解決辦法:進(jìn)行電源部分的排查; 現(xiàn)象2:發(fā)光二極管D1點(diǎn)亮; 結(jié)論:正常,進(jìn)入Step3。 Step3: 目的:測(cè)試61板上各器件電源供電是否正常; 條件:用跳線帽把S5的1、2腳短接(選擇了PROBE端0; 步驟:測(cè)試U1的第7腳電壓---3.3V左右; 測(cè)試U4的第20腳電壓---3.3V左右; 測(cè)試J4的第1腳電壓---3.3V左右; 測(cè)試U2的第7、8腳電壓---4.5V左右; 測(cè)試J6、J7、J8、J9的+端電壓---4.5V左右; 現(xiàn)象1:電壓不正常 結(jié)論:在供電的某個(gè)傳輸方向上出現(xiàn)問(wèn)題 ;
59、解決辦法:對(duì)照原理一步步排查; 現(xiàn)象2:電壓正常; 結(jié)論:正常,進(jìn)行鍵盤部分測(cè)試。 Step4: 目的:測(cè)試61板電源部分那個(gè)器件壞掉; 條件:斷開(kāi)電源; 步驟:用萬(wàn)用表檢查發(fā)光二極管是否壞掉,或者方向弄錯(cuò); 測(cè)量J10的兩端是否短路,如果是,先檢查D3是否擊穿; 如果J10沒(méi)有短路,再檢測(cè)SPY0029的3腳與地是否短路,如果是,檢測(cè)D4是否擊穿(要先從子將負(fù)極拖開(kāi)測(cè)試),否則就是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é)論:焊接出錯(cuò); 解決辦法:清除短路; 現(xiàn)象4:SPY0029無(wú)3.3V輸出; 結(jié)論:SPY0029壞掉; 解決辦法:更換SPY0029并重新測(cè)試。 注意:將SPY0029取下來(lái)(需要老師的幫忙,4個(gè)管腳堆錫同時(shí)加熱用鑷子取下來(lái))更換,這個(gè)過(guò)程不要太長(zhǎng),否則焊盤加熱時(shí)間長(zhǎng)而氧化或者脫落。 5.1.2電源測(cè)試記錄及分析 圖5.2 電源部分原理圖 表5.1 電源部分記錄表 序號(hào) 測(cè)試記錄 結(jié)果分析 1 第一點(diǎn):V1=(4.5)V左右 分析: 第1點(diǎn)、第2點(diǎn)是(并聯(lián))電路 第1-7點(diǎn)電壓是否為
61、4.5V左右?是 第8-16點(diǎn)電壓是否為3.3V左右?是 結(jié)論:電壓比較正常,則進(jìn)入模擬部分測(cè)試,否則請(qǐng)按如下步驟檢測(cè)、調(diào)試: 1、觀察是否有元件漏焊 2、電解電容的方向是否弄錯(cuò) 3、根據(jù)原理圖檢查電阻電容的值是否正確 4、采用拍打法(用絕緣棒拍打焊點(diǎn)面各處) 檢測(cè)是否有虛焊,或者可以用萬(wàn)用表逐點(diǎn)測(cè)量----工作量很大(建議對(duì)著原理來(lái)找) 2 第二點(diǎn):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點(diǎn):V3=(3.34)V左右 12 第4點(diǎn):V4=(3.34)V左右 5.13鍵盤部分 鍵盤部分測(cè)試: 目的:測(cè)試鍵盤輸入是否正確 條件:U1、U2、U4芯片座中不安放元件;給61板通電,萬(wàn)用表選擇電壓檔,利用萬(wàn)用表的負(fù)端(黑色表筆)接板子上的地(標(biāo)示“-”的地方)用萬(wàn)用表的正端(紅色表筆)分別檢測(cè)接IOA0、IOA1、IOA2; 步驟:把萬(wàn)用表筆的正端(紅色表筆)放在IO
63、A0上時(shí),按下K1鍵,讀取萬(wàn)用表上的電壓值并記錄,之后用同樣的方法分別檢測(cè)K2、K3電壓值; 現(xiàn)象1:電壓為零; 結(jié)論:不正常; 解決辦法:更換按鍵,重新測(cè)試鍵盤部分; 現(xiàn)象2:電壓為高電平; 結(jié)論:正常,進(jìn)入晶振部分測(cè)試。 實(shí)驗(yàn)完畢后斷開(kāi)板子的供電電源(電池盒關(guān)閉),萬(wàn)用表電源,認(rèn)真做實(shí)驗(yà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),既在晶體的兩個(gè)電極上加交流電壓時(shí),晶體就會(huì)產(chǎn)生機(jī)械運(yùn)動(dòng),而這種機(jī)械運(yùn)動(dòng)反過(guò)來(lái)又會(huì)產(chǎn)生交流電壓時(shí),晶體就會(huì)產(chǎn)生交流電場(chǎng),在電
65、極上出現(xiàn)交流電壓。如果外加交流電壓的頻率與晶片本身的固有頻率相等,則機(jī)械振動(dòng)的振幅和它產(chǎn)生的交流電壓的幅值都會(huì)顯著增大,這種現(xiàn)象稱為壓電諧振,稱該晶體為石英晶體振蕩器,或簡(jiǎn)稱晶振。石英晶體的符號(hào)表示5.5中的Y1部分,目前市場(chǎng)晶體都是標(biāo)準(zhǔn)的頻率,如:32768Hz、6MHz、3MHz等等,圖5.5采用的是32768Hz,其中的諧振電容分別是C14(20P)、C15(20P),在這里OSC部分的作用就是作為CPU時(shí)鐘的振源,具體的過(guò)程示意圖見(jiàn)5.4所示。 圖5.4鎖相環(huán)電路框圖 2. 晶振測(cè)試: 目的:測(cè)試晶振工作是否正常 條件:U1、U2、U4芯片座中安放好元件;給61板通電 步驟:利用萬(wàn)用表的負(fù)端(黑色表筆)接板子上的地點(diǎn)(表示“-”的地方),萬(wàn)用表筆的正端(紅色表筆)分別檢測(cè)OSCO、OSCI并記錄;并用示波器查看波形; 現(xiàn)象1:不可看到波形; 解決辦法:更換晶振,若還不行更換芯片; 現(xiàn)象2:可以看到32768HZ的正弦波形; 結(jié)論:正常,進(jìn)行余下步驟。 表5.3晶振記錄結(jié)果 1.利用萬(wàn)用表測(cè)試電壓 分析: 這樣的晶振振蕩是(并聯(lián))晶體振蕩 結(jié)論: 根據(jù)是否有電壓或是波形可以判斷晶體是否起振,電壓在1.
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 行政溝通與講義協(xié)調(diào)-ppt課件(演講稿)
- 利潤(rùn)表及其分析課件
- 企業(yè)管理決策模擬大賽(商道使用)總結(jié)課件
- 藥品包裝材料和容器
- 反校園欺凌主題班會(huì)課件
- 蝴蝶效應(yīng)與中醫(yī)養(yǎng)生課件
- 新課程課堂教學(xué)的境界課件
- 人教版英語(yǔ)七年級(jí)下冊(cè)Unit-1-Section-A-Grammar-Focus-3c課件
- 下腔靜脈濾器植入術(shù)
- 團(tuán)隊(duì)建設(shè)(中外管理)
- 不擠不搶好朋友課件
- 人教版數(shù)學(xué)一年級(jí)上冊(cè)數(shù)學(xué)樂(lè)園課件
- 八年級(jí)上冊(cè)數(shù)學(xué)-一元一次不等式組ppt課件
- 健康生活習(xí)慣養(yǎng)成教育課件
- 免疫應(yīng)答ppt課件(英文)