最新SPCE061A精简开发板.docx

上传人:b****6 文档编号:13839010 上传时间:2023-06-17 格式:DOCX 页数:98 大小:3.09MB
下载 相关 举报
最新SPCE061A精简开发板.docx_第1页
第1页 / 共98页
最新SPCE061A精简开发板.docx_第2页
第2页 / 共98页
最新SPCE061A精简开发板.docx_第3页
第3页 / 共98页
最新SPCE061A精简开发板.docx_第4页
第4页 / 共98页
最新SPCE061A精简开发板.docx_第5页
第5页 / 共98页
最新SPCE061A精简开发板.docx_第6页
第6页 / 共98页
最新SPCE061A精简开发板.docx_第7页
第7页 / 共98页
最新SPCE061A精简开发板.docx_第8页
第8页 / 共98页
最新SPCE061A精简开发板.docx_第9页
第9页 / 共98页
最新SPCE061A精简开发板.docx_第10页
第10页 / 共98页
最新SPCE061A精简开发板.docx_第11页
第11页 / 共98页
最新SPCE061A精简开发板.docx_第12页
第12页 / 共98页
最新SPCE061A精简开发板.docx_第13页
第13页 / 共98页
最新SPCE061A精简开发板.docx_第14页
第14页 / 共98页
最新SPCE061A精简开发板.docx_第15页
第15页 / 共98页
最新SPCE061A精简开发板.docx_第16页
第16页 / 共98页
最新SPCE061A精简开发板.docx_第17页
第17页 / 共98页
最新SPCE061A精简开发板.docx_第18页
第18页 / 共98页
最新SPCE061A精简开发板.docx_第19页
第19页 / 共98页
最新SPCE061A精简开发板.docx_第20页
第20页 / 共98页
亲,该文档总共98页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

最新SPCE061A精简开发板.docx

《最新SPCE061A精简开发板.docx》由会员分享,可在线阅读,更多相关《最新SPCE061A精简开发板.docx(98页珍藏版)》请在冰点文库上搜索。

最新SPCE061A精简开发板.docx

最新SPCE061A精简开发板

 

SPCE061A精简开发板

 

SPCE061A精简开发板

实验指导书

 

浙江大学信电系

浙江大学工程电子设计基地

第一章SPCE061A精简开发板-2-

1.1SPCE061A简介-2-

1.1.1总述-2-

1.1.2性能-2-

1.1.3结构概览-3-

1.1.4芯片说明-3-

1.1.5SPCE061A最小系统-4-

1.261板硬件组成结构-5-

1.2.1输入/输出(I/O)接口-6-

1.2.2音频输入/输出接口-6-

1.2.3电源接口-6-

1.2.4外部复位-7-

1.2.5在线调试器(PROBE)和EZ-PROBE接口-7-

1.3集成开发环境IDE的使用-7-

1.3.1凌阳16位单片机集成开发环境简介-7-

1.3.2举例应用-10-

2.1LED模组简介-15-

2.2LED模组电路原理图-17-

第二部分实验平台-19-

SPCE061A板的自检-19-

LED模组的自检-20-

实验一发光二极管巡回点亮并数码管计数-22-

实验二A2000自动播放实验-28-

实验三简易波形发生器-31-

实验四基于凌阳SPCE061A的电子系统调试实验-39-

实验五语音电子钟-53-

实验六模拟音频音量监测仪-59-

实验七语音录放-74-

第一部分基础知识

第一章SPCE061A精简开发板

1.1SPCE061A简介

1.1.1总述

SPCE061A是凌阳科技推出的µ’nSP™系列产品,它是一款16位结构的微控制器。

它集成度高,易于扩展,具有较强的中断处理能力以及高效的指令系统。

较高的处理速度使µ’nSP™能够非常容易地、快速地处理复杂的数字信号,以µ’nSP™为核心的SPCE061A微控制器是适用于数字语音识别应用领域产品的一种经济选择。

61板是具有DSP功能、语音特色的凌阳十六位单片机开发系统。

集开发板仿真器和编程器于一体。

只需PC机即可进行产品开发,同时免费提供原版集成开发环境。

不需任何外围器件就可以完成语音录、放、识别等功能。

所有I/O全部引出,可以和用户外部电路直接搭配。

多种电源供电方式,使用户使用更加方便。

1.1.2性能

⏹16位µ’nSP™微处理器;

⏹工作电压(CPU)VDD为2.4-3.6V,(I/O)VDDH为2.4-5.5V;

⏹CPU时钟:

0.32MHz~49.152MHz;

⏹内置2K字SRAM;

⏹内置32KFLASH;

⏹可编程音频处理;

⏹晶体振荡器;

⏹系统处于备用状态下(时钟处于停止状态),耗电仅为2µA@3.6V;

⏹2个16位可编程定时器/计数器(可自动预置初始计数值);

⏹2个10位DAC(数-模转换)输出通道;

⏹32位通用可编程输入/输出端口;

⏹14个中断源可来自定时器A/B,时基,2个外部时钟源输入,键唤醒;

⏹具备触键唤醒的功能;

⏹使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据;

⏹锁相环PLL振荡器提供系统时钟信号;

⏹32768Hz实时时钟;

⏹7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器;

⏹声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;

⏹具备串行设备接口,如UART、SRAM接口等;

⏹具有低电压复位(LVR)功能和低电压监测(LVD)功能;

⏹内置在线仿真电路ICE(In-CircuitEmulator)接口;

⏹具有保密能力;

⏹具有WatchDog功能。

1.1.3结构概览

SPCE061A的结构如图1.1所示:

图1.1SPCE061A的结构

 

1.1.4芯片说明

SPCE061A有两种封装片,一种为84个引脚,PLCC84封装形式;另一种为80个引脚,LQFP80封装。

我们所用的是PLCC84封装形式,如图1.2、1.3所示,有15个空余脚,用户使用时这15个空余脚悬浮。

图1.2SPCE061APLCC84封装排列图

图1.3SPCE061APLCC84实物图

1.1.5SPCE061A最小系统

最小系统接线如图1.4所示,在OSC0、OSC1端接上晶振及谐振电容,在锁相环压控振荡器的阻容输入VCP端接上相应的电容电阻后即可工作。

其它不用的电源端和地端接上0.1µF的去耦电容提高抗干扰能力。

图1.4SPCE061A最小系统原理图

1.261板硬件组成结构

61开发板硬件框图如图1.5所示:

图1.561板框图

表1.161板框图说明

1.2.1输入/输出(I/O)接口

61板将SPCE061A的32个I/O口IOA0-IOA15,IOB0-IOB15全部引出。

而且该I/O口是可编程的,即可以设置为输入或输出。

设置为输入时,分为悬浮输入或非悬浮输入。

非悬浮输入又可以设置为上拉输入或是下拉输入。

在5V情况下,上拉电阻为150K,下拉电阻为110K;设置为输出时,可以选择同向输出或者反相输出。

1.2.2音频输入/输出接口

正如我们在前面介绍的61板具有强大的语音处理功能,如图1.5所示,语音的MIC输入端带自动增益(AGC)控制。

J3是语音输出接口,是一两针的插针外接喇叭,由DAC输出引脚经语音集成放大器SPY0030放大,然后输出。

SPY0030是凌阳的芯片,相当于LM386,但是比386音质好。

它可以工作在2.4-6.0V范围内,最大输出功率可达700mW(LM386必须工作在4V以上,而且功率只有100mW)。

1.2.3电源接口

图1.5中POWER(J10)是电源接口,61板的内核SPCE061A电压要求为3.3V,而I/O端口的电压可以选择3.3V也可以选择5V。

所以,在板子上具有两种工作电压:

5V和3.3V,这两种电平的选择通过跳线J5来控制。

61板的供电电源系统采用用户多种选择方式:

1.DC5V电池供电

用户可以用3节电池来供电。

5V直流电压直接通过SPY0029(相当于一般3.3V稳压器)稳压到3.3V,为整个61板提供了4.5V和3.3V两种电平的电压。

2.DC5V稳压源供电

用户可以直接外接5V的直流稳压源供电。

5V电压再通过SPY0029稳压到3.3V。

3.DC3V供电

用户可以提供直流3.3V电压为实验板进行供电。

此时整个板子只有3.3V电压,I/O端口电压此时只有一种选择。

需要注意的是由于SPY0029最大输出电流为50mA,所以如果需要外接一些模组时要先考虑负载是否合适。

1.2.4外部复位

复位是对61板内部的硬件初始化。

61板本身具有上电复位功能,即只要一通电就自动复位。

另外,还具有外部复位电路,即在引脚6上外加一个低电平就可令其复位。

如图1.5中的REST按键。

1.2.5在线调试器(PROBE)和EZ-PROBE接口

图1.5中PROBE接口(J4),该接口有5针,其中两个分别是地(VSS)和3.3V电源(VCC)。

此接口与PROBE的5针接口相连,PROBE的另一端接PC机25针并口。

这样,就不需要再用仿真器和编程器了,只要按图1.6所示将其连接好,就可以通过它在PC机上调试程序、在线仿真、最后将程序下载到芯片中,完成程序的烧写。

图1.5中的EZ-PROBE接口(J11),我们提供一根转接线用作EZ-PROBE的下载,一端连接PC机的25针并口,另外一端连接61板的5针EZ-PROBE接口,参见图1.6。

本书实验都采用此种方式。

图1.661板、PROBE/连接线、计算机三者之间的连接图

1.3集成开发环境IDE的使用

1.3.1凌阳16位单片机集成开发环境简介

µ’nSP™集成开发环境,它集程序的编辑、编译、链接、调试以及仿真等功能为一体。

具有友好的交互界面、下拉菜单、快捷键和快速访问命令列表等,使人们在进行编程、调试工作时更加方便高效。

此外,它还具有软件仿真功能,可以在不连接仿真板的情况下模拟硬件的各项功能来调试程序。

IDE的开发界面如图1.7所示。

本节将介绍µ’nSP™开发环境的菜单、窗口界面以及项目的操作等,从而对开发环境有一个总体了解,并能够动手实践。

图1.7开发环境界面

凌阳十六位单片机集成开发环境采用项目方式进行文件管理。

项目(Project)是指为用户调试程序建立起来的一个开发环境,提供用户程序及资源文档的编辑和管理,并提供各项环境要素的设置途径,最后将通过对用户程序及库的编制(包括编译、汇编以及链接等)为用户提供出一个良好的调试环境。

凌阳十六位单片机集成开发环境的工具栏中含有µ’nSP™IDE提供的3种工具栏:

标准、编辑和调试工具栏。

每种工具栏都有固定和浮动两种形式。

把鼠标移到固定形式工具栏中没有图标的地方,按住左按钮,向下拖动鼠标,即可将工具栏变为浮动工具栏;双击浮动工具栏的标题条,则可将其变为固定工具栏。

固定形式的标准工具栏位于菜单栏的下面,它以图标的形式提供了部分常用菜单命令的功能。

只要用鼠标单击代表某个命令的图标按钮,就能直接执行相应的菜单命令。

工具条中有38个图标,代表38种操作,如图1.8所示。

图1.8工具栏

µ’nSP™IDE支持多文档窗口操作,用户可以在主界面里同时打开多个窗口,如图1.9所示:

图1.9文档窗口

主界面里通常有三个主要窗口:

Workspace(工作区)窗口、Edit(编辑)窗口和Output(输出)窗口。

进行窗口切换只需在各窗口处单击鼠标左键即可。

此外,主界面里还提供下拉菜单、工具栏等。

µ’nSP™IDE支持软件仿真和在线调试。

在两种调试过程中,均有单步运行、

全速运行、断点调试以及变量窗口、寄存器窗口、内存窗口、反汇编窗口等以方便用户进行软件调试和硬件调试。

软件调试时,集成开发环境可以仿真各种中断和端口状态。

这些均为软件开发者提供了方便。

如图1.10为调试状态界面。

图1.10程序下载后的调试界面

1.3.2举例应用

程序实现功能:

用B口低八位输出驱动八个发光二极管,通过发光二极管的亮灭来反映B口的输出值。

程序流程图如图1.11:

1.11程序流程图

代码开发范例(IDE184下):

图1.12IDE184主界面

上图为µ’nSP™IDE集成开发环境界面,下面简单介绍程序开发设计的一般过程:

1.新建项目

单击File下拉菜单New弹出New对话框,新建项目并设置其名称、保存路径,如下图:

图1.13新建项目

新建项目后的Workspace窗口结果:

图1.14新建项目后的Workspace窗口结果

2.在项目中新建汇编文件(.ASM)

新建汇编文件的方法:

在新建项目下,点击菜单File下拉菜单New弹出New对话框,点击µ’nSP™IDEASMFile,在File下的文本框内键入文件名称,OK,如图所示:

图1.15信件汇编文件

新建汇编文件后的Workspace窗口结果(此时已包含进了hardware.inc文件):

图1.16新建汇编文件后的Workspace窗口

新建其他文件,例如C、Head的方法是相同的。

3编辑汇编代码

在编辑窗口中输入代码:

图1.17汇编代码编辑界面

4编译代码

编译(单击Build/Compile菜单命令)该程序,检查是否有语法错误。

如果无错,继续,否则,改错。

如下图是无错的情况:

图1.18编译后output窗口

5编辑代码

编辑(单击Build/Build菜单命令)该程序,如果无错,继续,否则,改错。

下图是无错的情况:

图1.19Build后的output窗口

6.下载调试

将程序下载到本机中进行调试。

(单击编辑工具栏中Download命令按钮)。

进入调试状态。

在调试状态下,打开寄存器、变量等调试窗口,单步执行,仔细观察寄存器和变量的变化。

下图是调试过程中各调试窗口的情况

图1.20调试窗口

第二章配套LED键盘模组说明

2.1LED模组简介

模组资源:

1.8个按键,可以组成1×8按键,也可以组成2×4按键;

2.8个发光二极管;

3.6位8段LED数码管;

4.一个电位器,提供0-5V的模拟电压信号

LED键盘模组接口说明图如图2.1所示:

图2.1LED键盘模组接口说明图

接口说明:

LED模组使用十分简单,直接用排线与61板I/O接口相连即可。

1.KEYTEPE选择接口

此接口是选择2*4KEY还是1*8KEY,具体选择方式如下:

从左至右看,将第1至4短接块连接,选择了2*4KEY;只将第5个短接块短接,

选择1*8KEY。

选择2*4KEY接口连接示意图如下:

图2.2选择2*4KEY时KEYTEPE接口连接示意图

选择1*8KEY接口连接示意图如下:

图2.3选择1*8KEY时KEYTEPE接口连接示意图

2.2*4KEY接口

2*4KEY的第1组行定义为ROW1,第2组行定义为ROW2,4列定义为COL1~COL4。

使用时COL1是K1和K5的输入,COL2是K2和K6的输入,COL3是K3和K7的输入,COL4是K4和K8的输入。

用户可自行选择ROW1与ROW2接至VDD还是GND,但同一时间只能使用一组。

AV是模拟电压输出端,通过调整R20可以改变AV的值,AV的最大输出值与VDD相同。

D_DP是第4位数码管后时钟冒号的位信号控制端。

使用2*4KEY时相应KEYTEPE连接如图2.2

图2.42*4KEY接口图及使用示意图

3.1*8KEY接口

1*8KEY的8列分别定义为COL1~COL8,1行定义为ROW1

图2.51*8KEY接口图及使用示意图

使用时KEYTEPE接口的第五个短接块短接。

用户可自行选择ROW1接至VDD还是GND。

使用1*8KEY时相应KEYTEPE连接如图2.3。

4.DIG接口

6位数码管的段发光管阳极和8个LED指示灯的阳极并联,并且8个LED指示灯采用共阴极方式。

6位数码管的阴极和8个LED的共阴极分别用DIG接口的DIG1~DIG7控制,第4位数码管后时钟冒号的位信号用DIG8控制,位信号均为高有效。

图2.6DIG接口图

5.SEG接口

A~G、DP是6位数码管的段信号和8个LED指示灯的阳极控制信号输入端。

控制信号为高有效。

与61板配套使用时,2、3、4接口可用排线直接连至61板的IOA或IOB接口。

图2.7SEG接口图

实验前请仔细了解数码管和LED的结构,在用排线连接系统开发板和模组进行实验时一定要注意方向问题:

板子的VCC与模组的VDD是同一点。

2.2LED模组电路原理图

LED模组电路原理图如图2.8所示,该电路设计是比较简单的,这里不作具体介绍了。

其中WD05621CX是共阴极2位数码管,WD05643EX是共阴极4位数码管。

ULN2003A内部为三极管阵列,其IN脚相当于三极管的B极,OUT较相当于三极管的C极。

若IN脚输入高电平,对应的OUT脚接地;IN脚输入低电平,对应的OUT脚截止输出。

图2.8LED模组电路原理图

第二部分实验平台

SPCE061A板的自检

一61板的检测

(一)主要测试部分:

1I/O口A口作为输入B口作为输出

2睡眠功能进入睡眠状态指示灯点亮

3A/D转换输入B口的低7位作为模拟电压源输出对应A口的7个通

道采样转换

4MIC输入及语音输出同时实现A/D和D/A转换功能

二61板检测的具体步骤

如图所示:

第一步:

连接电源可以连接3节电池也可以直接接5V的稳压源

现象:

当电源接通时红色的发光二极管会点亮同时会有语音提示欢迎进入自检模式此时因为还没有连线所以会听到I/O测试失败的警告所以就要进行第二步的操作

第二步:

用排线分别将I/OA口的低8位和IOB口的低8位相连IOA口的高8位和IOB口的高8位相连然后按下REST复位键。

现象:

当按下复位键后程序从第一调开始运行开始执行语音提示欢迎进入自检模式当听到语音I/O测试成功后进行第三步操作

第三步:

按K1键进行睡眠功能测试

现象:

如果测试成功会看到绿色的发光二极管亮灭一下并有语音提示睡眠测试成功,否则提示睡眠测试失败。

然后进行第四步操作

第四步:

按下K2键进行A/D转换的测试

现象:

语音提示A/D测试成功,否则提示A/D测试失败。

进入最后一步操作

第五步:

拔掉第一步测试时的排线并按下K3键测试MIC输入及D/A转换输出是否正常

现象:

可以在MIC上轻轻的拍几下同时听是否有声音输出如果有则说明MIC输入和D/A转换输出部分正常

**以上操作只有当I/O测试成功时按键才会有效

LED模组的自检

一自检前的准备

软件准备:

下载自检代码。

硬件准备:

1.61板及61板配套电源;

2.LED键盘模组;

3.自检时61板和LED键盘模组硬件连接情况是:

IOA低8位接至SEG接口控制LED的导通,IOA高8位接至1*8接口获取键盘的状态值,IOB低8位连至DIG通过ULN2003A控制8个LED的共阴极电平状态和数码管驱动,1*8KEY中ROW1直接连至DGND。

注意:

KEYTYPE接口选择1*8KEY。

4.硬件连接框图:

二自检操作流程

确认硬件连接就绪后,使用IDE下载自检程序,运行自检程序。

自检过程遵循下图所示流程完成。

自检无错后,说明LED键盘模组硬件无故障,您就可以利用其进行软硬件开发了。

自检过程描述如下:

运行自检程序后,发光二极管循回点亮并数码管计数(LED巡回闪烁,同时数码管从左至右显示0-8),全部显示完成后,LED停止闪烁,数码管全亮,延时一段时间后数码管全灭,然后人为按8个按键,顺序自选,按键相对应的数码管将点亮,8次检测结束后,二极管全亮,自检完成。

以上过程完成说明LED模组功能完全正常。

实验一发光二极管巡回点亮并数码管计数

【实验目的】

1.熟悉µ’nSP™IDE环境及在该环境下用汇编和C语言编写的应用程序。

2.熟悉简单的µ’nSP™汇编语言指令。

3.以A口和B口为例,学会使用SPCE061A单片机I/O口的基本输出和输入功能以及数码管的使用方法。

【实验设备】

1.装有Windows系统和µ’nSP™IDE仿真环境的PC机一台。

2.61板一套;LED键盘模组一套,连接线两根。

【实验说明】

1.61板的I/O输出实验主要以A口低8位接LED键盘模组上的8个发光二极管将,J6接口IOB低8位连接到LED键盘模组的DIG接口管脚上。

2.实验的结果是LED巡回闪烁,同时数码管从左至右显示1~8,全部显示完成后,LED停止闪烁,数码管全部显示为8。

3.代码编写上,主要涉及显示缓冲区的应用。

【实验步骤】

1.用10针排线将61板的J8接口IOA低8位连接到LED键盘模组的SEG接口管脚上,将J6接口IOB低8位连接到LED键盘模组的DIG接口管脚上。

2.运行参考程序,观察数码管显示数字。

【程序流程图】

【代码范例】

1、C语言版

//===============================================================

//功能描述:

用C实现发光二极管循回点亮并数码管计数

//LED巡回闪烁,同时数码管从左至右显示0~8,全部显示完成后,LED停止闪烁,数码//管全亮

//硬件连接:

IOA低8位接至SEG接口控制LED的导通

//IOB低8位连至DIG通过ULN2003A控制8个LED的共阴极电平状态和数码//管驱动

//文件名称:

main.c

//===============================================

#defineP_IOA_Data(volatileunsignedint*)0x7000

#defineP_IOA_Buffer(volatileunsignedint*)0x7001

#defineP_IOA_Dir(volatileunsignedint*)0x7002

#defineP_IOA_Attrib(volatileunsignedint*)0x7003

#defineP_IOB_Data(volatileunsignedint*)0x7005

#defineP_IOB_Buffer(volatileunsignedint*)0x7006

#defineP_IOB_Dir(volatileunsignedint*)0x7007

#defineP_IOB_Attrib(volatileunsignedint*)0x7008

#defineP_Watchdog_Clear(volatileunsignedint*)0x7012

intLed_Disp(intLed,intLoop);

intDelay();

//显示段码存放区

intDispTbl[10]={0x003F,0x0006,0x005B,0x004F,0x0066,//0,1,2,3,4

0x006D,0x007D,0x0007,0x007F,0x00FF};//5,6,7,8,全亮

unsignedLedControl=0x0001;

intmain()

{

intLoop_Numb=0x0000;//循环次数

intLed_Numb=0x0000;//显示数字个数

*P_IOA_Dir=0x00ff;//设置A口低8位为同向低输出,控制LED和数码管的显示状态

*P_IOA_Attrib=0x00ff;

*P_IOA_Data=0x0000;

*P_IOB_Dir=0x00ff;//设置B0~B7口为同相低电平输出,LED和数码管的片选

*P_IOB_Attrib=0x00ff;

*P_IOB_Data=0x0000;

for(Loop_Numb=0;Loop_Numb<6;Loop_Numb++)

{

*P_IOB_Data=LedControl<

*P_IOA_Data=

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2