凌阳61板实验指导书_第1页
凌阳61板实验指导书_第2页
凌阳61板实验指导书_第3页
凌阳61板实验指导书_第4页
凌阳61板实验指导书_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、专业感知与实践实验指导书电路与系统教研室推荐精选实验一 实验设备介绍31.1凌阳板硬件介绍31.2LED键盘模组扩展板结构介绍71.3集成开发环境介绍8实验二 8061的简单IO操作132.1介绍常用的几条指令132.2 点亮一盏LED灯实例142.3数码管显示数字实例15实验三 键控发光二极管循环点亮17实验四 按键显示数字20实验五 电子时钟分秒设计23实验六 数字电子语音报时钟25推荐精选实验一 实验设备介绍1.1凌阳板硬件介绍1.1.1板硬件结构一、61板的结构图如图1所示。图表1.1框图说明POWER5v&3V供电电路PLL锁向环外部电路Power电源指示灯Sleep睡眠指示灯RES

2、ET复位电路K4复位按键PROBE在线调试器串行5pin接口S5EZ-PROBE和PROBE切换的拨断开关J12、J3耳机插孔和两pin喇叭插针DAC一路音频输出电路,采用SPY0030集成音频放大器MIC麦克风输入电路OSC32768晶振电路VREFA/D转换外部参考电压输入接口R/C芯片其他外围电阻、电容电路K1K3扩展的按键:接IOA0IOA2SPCE061A61板核心:16位微处理器PORTA/B32个I/O口二、具体功能介绍,如61板图2推荐精选图(一)输入/输出(I/O)接口61板将SPCE061A的32个I/O口全部引出:IOA0IOA15,IOB0IOB15,对应的引脚为:A口

3、,4148、53、5460;B口,51、8176、6864。而且该I/O口是可编程的,即可以设置为输入或输出:设置为输入时,分为悬浮输入或非悬浮输入,非悬浮输入又可以设置为上拉输入或是下拉输入;在5V情况下,上拉电阻为150K,下拉电阻为110K;设置为输出时,可以选择同相输出或者反相输出。 (二)音频输入/输出接口正如我们在前面介绍的61板具有强大的语音处理功能,如图2所示,X1是语音的MIC输入端,带自动增益(AGC)控制,J12和J3都是语音输出接口,一个是耳机插孔另一个是两pin的插针外接喇叭,由DAC输出引脚21或22经语音集成放大器SPYOO30放大,然后输出,SPY0030是凌阳

4、的芯片,相当于LM386,但是比386音质好,它可以工作在2.46.0V范围内,最大输出功率可达700mW(386必须工作在4V以上,而且功率只有100mW)。(三)在线调试器(PROBE)和EZ-PROBE接口图2中J4为PROBE的接口,该接口有5PIN,其中两个分别是地(VSS)和3.3v电源(VCC),我们就是通过PROBE一端接PC机25针并口,一端连接它来调试、仿真和下载程序的。这样,就不需要再用仿真器和编程器了,只要按图2所示将其连接好,就可以通过它在PC机上调试程序,并且在线仿真,最后将程序下载到芯片中,即完成了程序的烧写。图2中的J11是EZ-PROBE的接口,我们提供一根转

5、接线用作EZ-PROBE的下载,一端连接PC机的25pin并口,另外一端接61板的5pin EZ-PROBE接口,参见图2。(四)电源接口图2中J10是电源接口,61板的内核SPCE061A电压要求为3.3V,而I/O端口的电压可以选择3.3V也可以选择5V。所以,在板子上具有两种工作电压:5V和3.3V。对应的引脚中15、36和7必须为3.3V, 对于I/O端口的电压51、52、75可以为3.3V也可以是5V,这两种电平的选择通过跳线J5来选择。61板的供电电源系统采用多种选择方式: 1、 DC5V电池供电推荐精选用3节电池来供电,5V直流电压直接通过SPY0029(相当于一般3.3V 稳压

6、器)稳压到3.3V,为整个61板提供了4.5V和3.3V两种电平的电压。2、 DC5V稳压源供电直接外接5V的直流稳压源供电,5V电压再通过SPY0029稳压到3.3V。3、 DC3V供电提供直流3.3V电压为实验板进行供电,此时整个板子只有3.3V电压,I/O端口电压此时只有一种选择。 (五)外部复位复位是对61板内部的硬件初始化,61板本身具有上电复位功能,即只要一通电就自动复位,另外,还具有外部复位电路,即在引脚6上外加一个低电平就可令其复位。如图2中的REST按键。1.1.261板使用方法一、 上电61板配套有电池盒,将电池盒的插头插到61板的5V座上,这时电源指示灯(红色发光二极管)

7、就被点亮了。若未被点亮时,应先排除故障再使用。注:本次实验使用USB口进行供电,使用时将USB线带有白色插头一段插到电路板电源插座上,另一端插在电脑USB接口。二、 接喇叭或者耳机61板配套有喇叭,将喇叭插到电路板上标有J3和SPK的两PIN方针座上,不分反正,插上就可以使用。这时按复位键,会有语音播放。三、 接下载线下载线大口(25pin)端接PC机的并口上,另一端接在61板的Ez_probe接口上,在probe与ez_probe之间有一个逻辑开关,扳到ez_probe方向。表示在线调试器选择ez_probe。推荐精选1.1.3 61板自检方法61板检测的具体步骤 第一步、连接电源,可以连接

8、3节电池,也可以直接接5V的稳压源现象:当电源接通时,红色的发光二极管会点亮。同时会有语音提示:欢迎进入自检模式,此时因为还没有连线,所以会听到:I/O测试失败的警告,所以就要进行第二步的操作;第二步、用连线分别将I/OA口的低8位和IOB口的低8位相连,IOA口的高8位和IOB口的高8位相连,然后按下REST复位键现象:当按下复位键后,程序从第一调开始运行开始执行,语音提示欢迎进入自检模式,当听到语音:I/O测试成功后,进行第三步操作;第三步、按K1键进行睡眠功能测试现象:如果测试成功,会看到绿色的发光二极管亮灭一下,并有语音提示睡眠测试成功,否则提示睡眠测试失败,然后进行第四步操作;第四步

9、、按下K2键进行A/D转换的测试现象:语音提示:A/D测试成功,否则提示A/D测试失败,进入最后一步操作;第五步、拔掉第一步测试时的连接线,并按下K3键测试MIC输入及D/A转换输出是否正常现象:可以在MIC上轻轻的拍几下,同时听是否有声音输出,如果有,则说明MIC输入和D/A转换输出部分正常。 以上操作,只有当I/O测试成功时,按键才会有效推荐精选1.2LED键盘模组扩展板结构介绍LED键盘模组集成LED、KEY、数码管功能,可作为单片机常用外围器件的扩展模块。 LED键盘模组采用DC5V供电。 1.2.1 硬件结构介绍一、结构布局1.2.2主要元器件介绍1. ULN2003A 其内部为三极

10、管阵列,其IN脚相当于三极管的B极,OUT较相当于三极管的C极。若IN脚输入高电平,对应的OUT脚接地;IN脚输入低电平,对应的OUT脚截止输出。 2. LG5621AH 共阴极2位数码管adp为数码管的段信号,G1、G2为2位数码管的位信号。段信号高有效,位信号低有效。 3. LG5641AH 共阴极4位数码管。 adp为数码管的段信号,d1、d2为时钟冒号的段信号;G1G4为4位数码管的位信号,G5为时钟冒号的位信号。段信号高有效,位信号低有效。1.2.3 扩展板使用说明一、主要接口说明: LED模组使用十分简单,直接用排线与61板 I/O接口相连即可。 1. DIG接口 6位数码管L1L

11、6的段发光管阳极和8个LED指示灯的阳极并联,并且8个LED指示灯采用共阴极方式。6位数码管L1L6的阴极和8个LED的共阴极分别用DIG接口的DIG1DIG7控制,第4位数码管后时钟冒号D_DP(见图 2)的位信号用DIG8控制,位信号均为高有效。DIG接口详见图 11。 推荐精选图 11 DIG接口图 2. SEG接口 AG、DP是6位数码管L1L6的段信号和8个LED指示灯的阳极控制信号输入端。控制信号为高有效。 图 12 SEG接口图 实验前,要了解数码管和LED的结构,在用排线连接系统开发板和模组进行实验时一定要注意方向问题:板子的VCC与模组的VDD是同一点。二、具体连接方法1.

12、使用排线连接将61板插槽IOA低8位与扩展板seg插槽连接;2将61板插槽IOB低8位与扩展板DIG插槽连接。1.3集成开发环境介绍1.3.1 开发环境简介一、选择调试方式在IDE的集成开发环境下需要选择当前使用的是哪种调试方式,在使用下载线的时候一定要选择SPCE061A-ezProbe既可。 如图所示推荐精选二、IDE开发环境简介 PC机上如何下载程序、如何编写程序呢?它也有一个使用于61开发板的软件环境,名字叫IDE开发软件,如下图所示。 主界面里通常有三个主要窗口:Workspace(工作区)窗口、Edit(编辑)窗口和Output(输出)窗口。进行窗口切换只需在各窗口处单击鼠标左键即

13、可。此外,主界面里还提供下拉菜单、工具栏等。 在nSP IDE中,配备硬件声明的头文件和常用函数模块,例如键盘扫描模块,语音音量调节模块等等。另外还配备各种库文件,包括标准C常用的库函数、凌阳音频库函数等。开发者只要了解这些库函数的使用后,就可以灵活运用于自己的设计开发中。三、IDE使用流程: (1) 双击nSP IDE工具软件。 (2) 建立一个新项目: 打开上面菜单filenewprojectfile键入文件名;并在location下选择存放路径。 推荐精选(3) 在该项目的源文件夹(source files)下建立一个C语言文件,在new对话框中进行以下操作: Filenewfile(C

14、文件)右侧file文件名 推荐精选4) 在相应的文件内编程,本例相应文件为abc.c文件。 (5)编译程序:buildbuild (7) 运行程序:buildstart deguggo(快捷键为F5) (6)下载程序:buildStartDebugDownload(快捷键为F8) 此时,相当于程序已被程序存储器中,可脱机运行。1.3.2 61板及扩展板联调程序下载一、自检时61板和LED键盘模组硬件连接情况是: 1.使用排线连接将61板插槽IOA低8位与扩展板seg插槽连接;2.将61板插槽IOB低8位与扩展板DIG插槽连接。二、确认硬件连接就绪后,使用IDE下载自检程序,下载步骤如下: 推荐

15、精选(1) 打开nSP IDE工具软件。(2) 选择File/open/checkled.spj文件 (3)下载程序:buildStartDebugDownload 此时,相当于程序已被程序存储器中,可脱机运行。 三、自检过程描述如下:运行自检程序后,发光二极管循回点亮并数码管计数(LED巡回闪烁,同时数码管从左至右显示08),全部显示完成后,LED停止闪烁,数码管全亮,延时一段时间后数码管全灭,然后人为按8个按键,顺序自选,按键相对应的数码管将点亮,8次检测结束后,二极管全亮,自检完成。以上过程完成说明LED模组功能完全正常。学生练习熟悉板及扩展板的使用完成板及扩展板的自检,包括硬件的连接及

16、程序下载,观察现象。推荐精选实验二 8061的简单IO操作2.1介绍常用的几条指令在介绍对61板进行IO操作之前,对几个专业名词说明一下:字节:十六位进制的两位数据称为一个字节指令:是给计算机制定的每一步应该做什么工作的命令,指令由操作码(表示进行什么操作)和操作数(说明对谁进行操作)两部分组成。程序:是解决某一个问题的一串有序的指令指令系统:对某种计算机来说它的全部指令叫该计算机的指令系统,如对SPCE061A单片机来说,它的指令系统共有41条;地址:是为区别存储器中的不同单元而设定的编号,每个字占用一个地址单元。下面先学习指令,这里只介绍常用的几条:(一) 数据传送类指令书写格式是: =例

17、如 R1 = 0x0000;P_IOB_Data = R1说明:在凌阳十六位单片机中,有一组普通寄存器为R0-R4, 分别用于数据运算或传送的源及目标寄存器。此范例意思就是将B口状态设置为低电平。(二)算术运算类指令书写格式:=例如:R1 += 0x0000;R1 -= 0x0032; 说明:将R1寄存器中的值加上或者减去立即数后,再赋值给R1。(三) 逻辑运算类指令&= |=例如:R1|= 0x0000;说明:R1的值与0x0000进行或操作,R1值不变。R1 &= 0xffff说明:R1的值与0xffff进行与操作,R1值不变。(四)控制转移类指令例如:JE loop; 说明:相等则转移到

18、标号为loop处运行,否则继续下一条执行JGE loop1 说明:大于或者等于则转移到标号为loop1处运行,否则继续下一条执行推荐精选2.2 点亮一盏LED灯实例第一步:硬件连接。1.使用排线连接将61板插槽IOA低8位与扩展板seg插槽连接;将61板插槽IOB低8位与扩展板DIG插槽连接。第二步:代码编写1.使用IDE编写程序,使用流程如下: (1) 打开nSP IDE工具软件。 (2) 建立一个新项目: 打开上面菜单filenewprojectfile键入文件名;并在location下选择存放路径。 (3) 在该项目的源文件夹(source files)下建立一个汇编语言文件或C语言文件

19、: Filenewfile(选择C文件)file文件名 4) 在相应的文件内编程#define P_IOA_Data(volatile unsigned int *)0x7000#define P_IOA_Buffer(volatile unsigned int *)0x7001#define P_IOA_Dir(volatile unsigned int *)0x7002#define P_IOA_Attrib(volatile unsigned int *)0x7003#define P_IOB_Data(volatile unsigned int *)0x7005#define P_IO

20、B_Buffer(volatile unsigned int *)0x7006#define P_IOB_Dir(volatile unsigned int *)0x7007#define P_IOB_Attrib(volatile unsigned int *)0x7008#define P_Watchdog_Clear (volatile unsigned int *)0x7012#define KEY_ALL 0xff00int Delay();int main()*P_IOA_Dir = 0x00ff;/设置A口低8位为同向低输出,控制LED和数码管的显示状态*P_IOA_Data =

21、 0xff00;*P_IOB_Dir = 0x00ff; /设置B0B7口为同相低电平输出,LED和数码管的片选推荐精选*P_IOB_Attrib = 0x00ff;*P_IOB_Data = 0x0000;/*test*/*P_IOB_Data = 0x0040; *P_IOA_Data = 0x0004;Delay();*P_IOA_Data = 0x0000;*P_IOB_Data = 0x0004;while(1)/*end*/int Delay() int DelayValue = 0; for (DelayValue = 0; DelayValue 0x5000; DelayVal

22、ue+) *P_Watchdog_Clear = 1;第三步:编译下载代码编写结束后,将代码进行编译,方法是在IDE的菜单命令中,点击build/rebuild all.在输出窗口中,会有编译信息输出,如果为0个错误,表示编译通过,这时点击工具栏中的标识为,然后点击工具栏中的,就可以将代码下载到芯片的程序存储空间中。第四步:运行点击工具栏中的标识 ,程序就自动开始全速运行。第三个LED灯会被点亮。2.3数码管显示数字实例第一步:硬件连接。1.使用排线连接将61板插槽IOA低8位与扩展板seg插槽连接;将61板插槽IOB低8位与扩展板DIG插槽连接。第二步:代码编写按照上一节方法写入以下一段程序

23、:#define P_IOA_Data(volatile unsigned int *)0x7000#define P_IOA_Buffer(volatile unsigned int *)0x7001#define P_IOA_Dir(volatile unsigned int *)0x7002#define P_IOA_Attrib(volatile unsigned int *)0x7003#define P_IOB_Data(volatile unsigned int *)0x7005#define P_IOB_Buffer(volatile unsigned int *)0x7006

24、#define P_IOB_Dir(volatile unsigned int *)0x7007推荐精选#define P_IOB_Attrib(volatile unsigned int *)0x7008#define P_Watchdog_Clear (volatile unsigned int *)0x7012#define KEY_ALL 0xff00int Delay();int DispTbl10 = 0x003F,0x0006,0x005B,0x004F,0x0066,/0,1,2,3,4 0x006D,0x007D,0x0007,0x007F,0x00FF;/5,6,7,8,全

25、亮int main()*P_IOA_Dir = 0x00ff;/设置A口低8位为同向低输出,控制LED和数码管的显示状态*P_IOA_Data = 0xff00;*P_IOB_Dir = 0x00ff; /设置B0B7口为同相低电平输出,LED和数码管的片选*P_IOB_Attrib = 0x00ff;*P_IOB_Data = 0x0000;/*test*/*P_IOB_Data = 0x0040; *P_IOA_Data = 0x0004;Delay();*P_IOA_Data = 0x0000;*P_IOB_Data = 0x0004;while(1)*P_IOA_Data = Disp

26、Tbl5;/*end*/int Delay() int DelayValue = 0; for (DelayValue = 0; DelayValue 0x5000; DelayValue+) *P_Watchdog_Clear = 1;第三步:编译下载代码编写结束后,将代码进行编译,方法是在IDE的菜单命令中,点击build/rebuild all.在输出窗口中,会有编译信息输出,如果为0个错误,表示编译通过,这时点击工具栏中的标识为,然后点击工具栏中的,就可以将代码下载到芯片的程序存储空间中。第四步:运行点击工具栏中的标识 ,程序就自动开始全速运行。第个数码管会显示数字。学生练习:完成实验

27、中LED灯点亮程序下载及数码管显示程序下载,观察现象。推荐精选按照指导书中的程序,编写以下两个程序:() 依次逐个点亮个LED灯() 数码管从左至右依次显示数字到(不同时显示)实验三 键控发光二极管循环点亮【实验目的】1. 熟悉nSP IDE 环境及在该环境下C 语言编写的应用程序。. 以A 口和B 口为例,学会使用SPCE061A 单片机I/O 口的基本输出和输入功能。 【实验设备】1. 装有Windows 系统和nSP IDE 仿真环境的PC 机一台。2. 61 板一套;LED 键盘模组一套;10 针排线两根。【实验说明】1. 61 板的I/O 输出实验主要以IOA07 接LED 键盘模组

28、上的8 个发光二极管,IOA8IOA15 接键盘K1K8 的输入,将J6 接口IOB 低8 位连接到LED 键盘模组的DIG 接口管脚上,将1*8KEY接口中ROW1 接至VDD 上。因61 板核心芯片SPCE061A 已内置上下拉电阻,所以端口直接连接发光二极管的驱动端。2. 实验的结果是实现按键后从相应按键对应的发光二极管开始循环点亮。3. 代码编写上,主要涉及SPCE061A 的端口寄存器IOA 和IOB。【实验步骤】1. 用10 针排线将61 板IOA 低8 位连接到LED 键盘模组的SEG 接口管脚上,将IOB 低8 位连接到LED 键盘模组的DIG 接口管脚上,将IOA 高8 位连

29、接到LED 键盘模组的1*8KEY 接口管脚上,将1*8KEY 接口中ROW1 接至VDD 上。2. 运行参考程序。推荐精选/在工程中新建文件敲入以下程序推荐精选推荐精选实验四 按键显示数字【实验目的】1. 熟悉SPCE061A 控制键盘和LED 数码管显示的方法。2. 进一步熟悉nSPC 语言程序设计。3. 实验效果:在数码管上显示按键的值,按第一个键则显示1,按第二个键显示2,按第8 个键显示8。【实验设备】1. 装有Windows 系统和nSP IDE 仿真环境的PC 机一台。2. 61 板一套; LED 键盘模组一套;10 针排线三根。【实验步骤】1 将LED 键盘模组的KEYTYPE

30、跳线跳到1*8KEY状态;将61 板的IOA8IOA15 用排线连接到LED 键盘模组的1*8KEY 排针上;IOB07 连接到LED 键盘模组的SEG 排针上;IOB8IOB15连接到LED 键盘模组的DIG 排针上。2运行参考程序。【程序流程图】LedDispDig 函数流程图参见实验五。推荐精选/= /函数名称: GetKey/功能描述:等待直到有键按下并抬起,返回键值,没有去抖处理/语法:unsigned GetKey(void)/输入:无/输出:16位键值/=/= /函数名称: LedDispDig/功能描述:在指定的数码管上显示数字/语法:void LedDispDig(int Pos,int Dig)/输入:Pos:要显示数字的数码管位置,取值范围16/Dig:要显示的数字,取值范围09推荐精选/输出:无/=/= /主函数/=推荐精选实验五 电子时钟分秒设计使用到的单片机内部功能介绍计数器(定时器)一、定时器/计数器的定时和计数功能定时计数器应用非常广泛,如定时采样、时间测量、产生音响、作脉冲源、制作日历时钟、测量波形的频率和占空比、检测电机转速等。两个定时器都有定时或事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合。定时/计数器实际上是16位加1计数器。具有以下两个功能:1 计数功能 2定时功能定时和计数实质都是对脉冲的计数,只是被计脉冲的来源不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论