分享
分销 收藏 举报 申诉 / 29
播放页_导航下方通栏广告

类型基于凌阳16位单片机spce061a的4x4键盘语音播放设计课程设计--学士学位论文.doc

  • 上传人:天****
  • 文档编号:4665077
  • 上传时间:2024-10-08
  • 格式:DOC
  • 页数:29
  • 大小:4.43MB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    基于 16 单片机 spce061a x4 键盘 语音 播放 设计 课程设计 学士学位 论文
    资源描述:
    摘要 随着计算机系统的广泛应用以及网络的飞速发展,各种控制设备间的通信功能日趋成熟,单片机通信在工业控制、数据采集以及仪器仪表自动化等许多领域都起着十分重要的作用。本次课程设计是基于凌阳16位单片机SPCE061A 的4X4键盘语音播放设计,当按不同键值会自动播放不同的语音,并且在第一个数码管上显示键值。在硬件设计中,主要包括SPCE061A核心及周边电路、系统电源电路、音频电路、UART通讯电路、4×4键盘和6位8段数码管电路等;在软件设计中,系统使用C语言进行编写,主要包括主程序、键盘扫描程序、中断程序、LED驱动程序、自检程序等。 关键字:16位单片机SPCE061A,4X4键盘,6位8段数码管电路,音频电路 目录 1 绪论 1 1.1 课题背景 1 1.2 设计目的 1 1.3 设计内容 1 2 总体方案设计 3 2.1 总体需求分析 3 2.1.1 实验原理 3 2.1.2 硬件选择 4 2.2 系统组成结构及原理 4 2.2.1 系统组成结构 4 2.2.2 SPCE061A单片机 5 2.2.3 系统电源电路 7 2.2.4 音频电路 8 2.2.5 4×4键盘和6位8段数码管 9 2.2.6 UART通讯电路 9 3 系统硬件设计 11 3.1 4X4键盘扫描原理图 11 3.2 SPCE061A获取4×4键盘键值原理 11 3.3 硬件连接 12 4 系统软件设计 13 4.1 集成开发环境IDE概述 13 4.2程序主流程图 14 4.3 实验箱自检准备 14 4.3.1 自检步骤 14 4.3.2 实验步骤 16 5 调试结果与分析 17 5.1 调试结果 17 5.2 实验结果分析 18 6 总结报告 19 致谢 20 参考文献 21 附录 22 1 绪论 1.1 课题背景 用单片机驱动LED数码管有很多方法,按显示方式可分静态显示和动态(扫描)显示;按译码方式可分硬件译码和软件译码。静态显示数据稳定,占用很少的CPU时间。动态显示需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU时间多。利用凌阳单片机SPCE061A可以方便的实现键盘控制的语音自动播放功能。 1.2 设计目的 在单片机的产品设计中,人机界面是非常重要的部分,而且随着系统的日益复杂,以及人们对产品的人机交互能力的要求不断提升,常握单片机系统中的人机界面基础设计能力成为了学习单片机的基础课程,而4X4键盘的操作和LED数码管的动态显示是人机界面设计的基础内容,以及掌握语音播放过程和方法,加深对人机界面的认识,同时提高人机界面系统设计的能力。 1.3 设计内容 给 4×4 键盘的每个键定义一个功能,按不同的键时会听到实验箱播放不同的语音,并能看到数码管显示键值。具体的键和语音的对应关系如表1。 表1 键和语音的对应关系 按键 语音资源 语音资源内容 数码管显示内容 S1(数字键“7”) S7.48k 凌阳科技走入您的生活 7 S2(数字键“8”) S8.48k 凌阳科技为专业集成电路设计公司 8 S3(数字键“9”) S9.48k 凌阳将带您走入科技殿堂 9 S5(数字键“4”) S4.48k 凌阳以创新、专业保持产品的领导地位 4 S6(数字键“5”) S5.48k 凌阳以完整产品线满足客户需求 5 S7(数字键“6”) S6.48k 凌阳科技以人为本,诚信第一 6 S9(数字键“1”) S1.48k 凌阳专业于研发制造以及较高速与高速加价型集成电路产品 1 S10(数字键“2”) S2.48k 凌阳用全客户委托设计模式,提供客户满意的产品与服务 2 S11(数字键“3”) S3.48k 凌阳专向于多媒体语音信号处理核心技术,迎接多媒体时代的来临 3 S13(删除键“DEL”) 无 无 无显示 其他键 S0.48k 凌阳科技企业宗旨为科技落实生活 0 2 总体方案设计 2.1 总体需求分析 随着计算机技术的广泛应用以及网络的飞速发展,出现各种各样的智能仪器,其应用已涉及各行各业,这些智能仪器大多数都是基于嵌入式单片机技术。凌阳十六位单片机(SPCE061A)实验箱是集单片机应用技术、在线调试、在线仿真等功能于一体的强大开发系统,SPCE061A 及其系列产品将带领MCU 的应用迈入片上系统(SOC)时代,使在体验凌阳音频的欢快愉悦中轻松步入单片机及其嵌入式系统的流行领域。因此,本次课程设计利用其提供的各子电路模块和驱动程序,可以方便地实现目前较为流行的键盘语音自动播放功能。 2.1.1 实验原理 如图2.1,注意把IOA8~IOA15连接4×4键盘的C4~L1,切不可接反了。按键以后,SPCE061A单片机进行行扫描,确定哪个键按下;确定之后,利用一种算法计算键值,比如当S5按下时,在IOA口高八位得到的值应该为01001000B,这时候利用一种算法可以让键值为“4”;或者直接当这里的行扫描值为0100、读到列码1000时,让返回的键值为“4”。SPCE061A单片机取得键值后,利用自动播放的方式播放相应索引号的语音资源。 图2.1系统连接框图 2.1.2 硬件选择 本次课程设计主要以带有μ’nSP™ IDE仿真环境的PC机和凌阳单片机SPCE061A试验箱基础,实验箱硬件模块包括:SPCE061A核心及周边电路模块(包含32个I/O口)、半导体数码管、4×4键盘、电源电路等。 2.2 系统组成结构及原理 2.2.1 系统组成结构 1)实验箱功能区域划分图 图2.2 实验箱功能区域划分图 2)硬件配置 以下是为凌阳科技大学计划实验箱的主要硬件配置: (1)主控芯片SPCE061A,凌阳16位单片机,详细请参见第三章。 (2)4×4矩阵键盘和6位8段数码管,采用动态扫描方式驱动4×4矩阵键盘。 (3)1×8高低电平发生按键和8个发光二极管。 (4)I/O可选5V∕3.3V输出电路以及可选外部电压输入电路。 (5)两路0-3V可调A/D输入电压,为A/D数据采集等提供便利。 (6)双色8×8 LED点阵,可以完成图形、字模显示。 (7)RS232接口可实现直接与PC机进行通讯。 (8)利用串行设备输入输出接口(SIO接口)扩展外部存储芯片SPR4096A,为实验箱系统增加4M Bits Flash 或32K Bits SRAM的存储空间。 (9)USB1.1 接口,提供完整的单片机固体程序、上位机驱动程序源代码及其完整的软件包和应用范例,可直接进行USB通讯。 (10)带背光的128×64点阵液晶模组,内藏凌阳的一款LCD驱动芯片SPLC501,采用最新的COG(Chip on Glass)技术使驱动和液晶合二为一。 (11)两路音频输出电路,采用凌阳音频功放芯片SPY0030A,可以充分体验SPCE061A带来的听觉效果。 (12)MIC输入电路,配合SPCE061A内部的AGC和OPI电路,可获得理想的语音效果。 (13)SPCE061A内置ICE 电路,配合凌阳的在线调试器PROBE 和软件开发环境IDE 可方便的实现在线编程、仿真、下载、调试等功能。 2.2.2 SPCE061A单片机 1)功能特点 本系统以凌阳自主开发的十六位单片机SPCE061A作为主控芯片,它是凌阳十六位单片机系列中的一款,具有以下功能特性: (1)16位unsp系列微处理器; (2)工作电压:VDD为3.0~3.6V(cpu), VDDH为3.0~5.5V(I/O); (3)CPU时钟:0.32MHz~49.152MHz ; (4)内置2K字SRAM; (5)内置32K字FLASH; (6)内置可编程音频处理电路; (7)时钟电路采用晶体振荡器电路; (8)2个16位可编程定时器∕计数器(可自动预置初始计数值); (9)2个10位DAC(数∕模转换)输出通道; (10)系统处于备用状态下(时钟处于停止状态)耗电小于2mA@3.6V; (11)32位通用可编程输入∕输出端口; (12)14个中断源:定时器A∕B,2个外部时钟源输入,时基,键唤醒; (13)具备触键唤醒的功能(IOA0~IOA7); (14)使用凌阳音频编码S240方式(2.4Kbps),能容纳210秒的语音数据; (15)锁相环PLL振荡器提供系统时钟信号; (16)7通道10位电压模∕数转换器(ADC) ,和单通道音频模∕数转换器; (17)音频模∕数转换器输入通道内置麦克风放大器,并具有自动增益控制(AGC)功能; (18)具备标准串行接口(UART接口)和同步串行设备输入输出口(SIO接口); (19)具有低电压复位(LV CE(In- Circuit Emulator)接口; (20)具有保密能力; (21)具有WatchDog功能。R)功能和低电压监测(LVD)功能; 2)SPCE061A核心及周边电路原理图 SPCE061A共提供两个16位通用的并行I/O口: IOA0-IOA15,IOB0-IOB15。这两个口的每一位都可以通过编程单独定义为输入或输出口。其中A 口的IOA0~IOA 具有触键唤醒功能,可以应用于低功耗的场合。SPCE061A 核心及周边电路实物图如图2.3所示。 图2.3 SPCE061A核心及周边电路原理图 SPCE061A的并行I/O口可以通过编程设置为上拉输入、下拉输入、悬浮输入或同相输出、反相输出的状态,详细的应用请配合提供的例程中BaseExa 实验1~6。 2.2.3 系统电源电路 实验箱的系统供电电路采用多种供电方式,用户可以有多种选择: 1)220V交流电压供电 用户可以选择220V交流电压供电,系统已将其经过变压、整流、稳压处理成5V直流电压,再经过一个三端稳压器提供3.3V直流电压,给系统提供电源。此时须将J37的V3和VDDH短接起来。实验箱的供电电源采用220V的交流电源,系统电源电路实物图见图2.4。 图2.4 系统电源电路实物图 2)DC5V供电 用户还可以直接提供直流5V电压为实验箱进行供电。只需将5V DC直接从“外接5V输入”端即J1输入,为系统供电即可。 3)其它端口介绍 在图 2.2 所示的系统电源电路实物图中可以看到220V 电源开关,低电压检测电压输入J3(可以将电压从此引入为系统供电,电压范围:0-3.6V,同时将J37的LVD与VDDH 相连), 5V电压输入J1,电源指示灯, 和I/O输出电压选择(将J30与J37的VDDH相连,选择I/O输出电压为5V,将J37的V3和VDDH相连,选择I/O输出电压为3.3V)。 2.2.4 音频电路 音频电路由音频输入电路以及音频输出电路组成。 1)音频输入电路 如图2.5所示为音频输入部分外围实物图。从MIC输入的音频信号经过SPCE061A 内置的AGC 电路将语音信号的放大值控制在一定范围内,便可进行A/D转换。其中J9为2V A/D参考电压输入端口,当用跳线将J9的1、2脚短接,为选择2V 的A/D参考电压;如果选择使用外部参考电压,则将电压从J9左边的引脚(1脚)输入即可,外部参考电压范围为0-3.3V。详细的应用请配合提供的例程中BaseExa实验19。 图2.5 音频输入部分外围实物图 2)音频输出电路 音频输出电路采用凌阳功放芯片SPY0030A,音频输出大于700mw,喇叭直流阻抗8欧,左右两个通道音量分立调 节并备有两个外部音频信号放大输入端。在图2.4中可以看到两组排针J8和J13,可以用来测量DAC的输出波形;另外拔掉跳线,可以断开DAC到实验箱的音频放大通路,使得DAC通道处于开路状态。这样便于用做其他用途,用户可以将DAC信号从这两组排针引出到自己的外围电路上。另外,如图2.8所示还为用户留出了两个外接喇叭接口,为追求音质的用户提供了方便。详细的应用请配合提供的例程中BaseExa实验18(路径:在IDE安装路径下Sunplus->unSPIDE184->SPCE061A->BaseExa->ex19)。音频输出电路实物图如图2.6。 图2.6 音频输出电路实物图 2.2.5 4×4 键盘和6位8段数码管 4×4 键盘和6 位8 段数码管,能满足按键显示的基础实验,以及电子钟之类的相关兴趣实验。4×4 键盘矩阵电路为行列式键盘,在其旁边的8 对排针中7~4 控制列扫描,3~0 控制行扫描。如图2.7,如果选用默认连接,可以用跳线将其短接;另外也可通过排线按需要进行连接。4×4键盘电路原理图如图2.25所示。 图2.7 4×4键盘和6位8段数码管的实物图 2.2.6 UART通讯电路 实验箱的串口通讯电路实物见图2.8。通讯接口采用标准的232 接口电平,采用MAX3232 电平转换芯片。详细的应用请配合提供的例程中BaseExa 实验16 和IntExa 实验11 (路径:在IDE 安装路径下Sunplus->unSPIDE184->SPCE061A->model_Exa->ex16和IntExa->ex11)。需要提醒的是,SPCE061A通过UART接口与外设进行通讯的时候,需要对拨码开关S19 进行设置,需要将Rx、Tx都拨到高端才能正常通讯。S19 详细含义见表2.1。 图2.8 UART通讯电路实物图 表2.1 拨码开关S19设置说明 Rx PC接收数据使能 LCD 液晶背光使能 Tx PC发送数据使能 LCE 在线仿真使能 3 系统硬件设计 3.1 4X4键盘扫描原理图 键盘按其接线方法有:直接式键盘、行列式键盘(又称矩阵键盘)、串转并键盘等;在本设计中,采用4X4的行列式键盘,即键盘排列为4行、4列,共16个按键,分别定义这16个按键盘为KEY1~16。 C1~C4为4×4键盘的列扫描线,L1~L4为4×4键盘的行扫描线。先使行扫描线输出高电平,然后读取列扫描线的状态,得到与按键横向位置对应的4位列码;如果是有键被按下时,则对应的列扫描线必然会被读回高电平,如果是无键盘按下时,则读取的列码必定全是0(低电平)。这也就可以判断有无按键的按下了。 3.2 SPCE061A获取4×4键盘键值原理 单片机与该电路连接时,使用4个端口作为输出口,接4条行扫描线;使用4个端口作为输入口,接4条列扫描线。使用SPCE061A的IOA8~15八个端口作4×4键盘的扫描,IOA0~3接行扫描线,IOA4~7接列扫描线。 图3.1 SPCE061A和4×4键盘电路连接图 如上图中,IOA12~IOA15设置为输出口,接行扫描线;IOA8~IOA11设置为带下拉电阻的输入口,接列扫描线。按照4×4键盘的工作原理,先只把IOA12输出高电平,其他都输出低电平,扫描IOA8到IOA11四个输入口的值,如果每个输入口的值还是0;再把IOA13输出高电平,其他都输出低电平,扫描IOA8到IOA11四个输入口的值,如果每个输入口还没有检测到高电平;从IOA14输出高电平扫描,从IOA15输出高电平扫描,直到检测到高电平,保存扫描行值和列码。 3.3 硬件连接 硬件连接图如图 3.2,IOA0~IOA7连接和6位数码管的a~g、dp,IOA口的高八位IOA15~IOA8连接4×4键盘的L1~L4、C1~C4,IOB15~IOB12连接数码管的位信号1~4,IOB2~IOB1连接数码管的位信号5~6,IOB0连接数码管的分隔符信号DD。即把JP4、JP5的引脚全部用跳线短接起来,用一根排线连接J28和JP7,注意J27和JP7的连接顺序(连接顺序为:J27的第0号引脚连接JP7的C4引脚,J27的第7号引脚连接JP7的L1引脚)。 图3.2 硬件连接图 4 系统软件设计 4.1 集成开发环境IDE概述 集成开发环境IDE,为凌阳科技股份有限公司提供的支持单片机开发的软件环境,它集程序的编辑、编译、链接、调试以及仿真等功能为一体。具有友好的交互界面、全面的工具,以及各种快捷键和快速访问命令列表等,使用户的编程、调试工作更加方便高效。此外,它提供的软件仿真功能可以在不连接仿真板的情况下模拟硬件的各项功能来调试程序,不受硬件的限制。 图4.1 μ’nSP™ IDE仿真环境主界面 集成开发环境IDE速成指南: 1)从[开始]菜单内启动工具; 2)选择[File]→[Open Project],在‘打开’对话框内选择所要打开的工程; 3)窗口(工作区窗口)显示在工具的左半边,在这个窗口内,用户可以看到当前工程所包含的所有文件; 4)选择[Build]→[Rebuild All],进行源文件的编译和链接。编译过程里的语法错误显示在Output窗口内; 5)选择[Build]→[Start Debug]→[Download],把程序加载到芯片中,然后,用户可以用Debug菜单内所提供的调试 命令来优化和运行程序; 6)[Build]→[Start Debug]→[Go],运行程序。 4.2程序主流程图 主程序流程图如图4.2,先要初始化键盘扫描和显示以及中断,因为要播放语音,要对语音播放进行初始化,这里初始化为自动播放的方式;调用键盘程序取键值,这里可以用前几个实验的键盘程序;用第一个数码管显示取到的键值;把语音播放音量设置为最大音量15,这个主要受语音资源的影响,如果能听清楚,可以不设置音量,默认的音量为8;根据键值播放实验要求相应的语音语句;执行清看门狗操作,返回继续扫描键盘。 图4.2 主程序流程图 4.3 实验箱自检准备 4.3.1 自检步骤 1)主板加电,POWER指示灯正常; 2)L∕R音频输出电位器顺时针开到两格(约是全音量的1/3); 3)两路Voltage电位器逆时针关到最小; 4)检查DAC1∕DAC2(J8∕J13)跳线是否接上; 5)确认内置扬声器已连接或连接外置扬声器; 6)确认右上角S19(选择开关)已按要求置OFF端。 每步自检程序都有被检测部分的语音提示,并说明如何接线,另外液晶电路将会显示相关状态,具体过程请参考图4.3自检程序流程图。 注意: 1)自检过程中,当检测到相应部分,再将其短接上即可(其中JP3的B8用跳线将右端两脚短接)。 2)当语音播报“欢迎进入自检模式,4×4键盘检测”结束后按键才有效。 图4.3自检程序流程图 4.3.2 实验步骤 1) 新建一个工程ex6_LED_Key_Music,在工程里新建C语言文件main.c; 2)拷贝并添加语音库支持文件:hardware.asm、hardware.h以及hardware.inc到ex6_LED_Key_Music工程; 3)拷贝语音播放库sacmv26e.lib和头文件s480.h、s480.inc到新建的ex6_LED_Key_Music工程文件夹; 4)如果在以前的实验中已经编写好键盘程序、数码管显示程序添加到ex6_LED_Key_Music工程,如果没有,读者可以自己定义文件,编写程序; 5)在IDE集成开发环境的Project􀃆Setting􀃆link中链接sacmv26e.lib库到新建的工程中; 6)添加hardware.asm到新建的工程的“Source Files”,添加s480.h、s480.inc、hardware.h、hardware.inc四个头文件到“Head Files”; 7)添加语音资源S0.48k~S9.48k到工程; 8)按照程序流程图在main.c文件中编写程序;如果没有编写键盘程序,自行按照4×4键盘的工作原理,编写键盘程序; 9)Rebuild All; 10)按照硬件连接图连接电路,注意把JP3中的引针全部断开,即把JP3中的跳线全部拔掉; 11)下载程序,运行; 12)按任意键,观察第一个数码管,根据实验箱播放的声音,分析是否和实验要求相符。 5 调试结果与分析 5.1 调试结果 首先,应该进行试验箱的自检测,特别是键盘检测、LED检测与单片机检测,只有当检测实验所用单元全部正常时,方可进行实验。当硬件连接好后,如图5.1所示,按键以后,通过SPCE061A单片机进行行扫描,确定哪个键按下;确定之后,利用一种算法计算键值,例如当S2按下时,在IOA口高八位得到的值应该为10000100B,这时候利用一种算法可以让键值为“8”;或者直接当这里的行扫描值为1000、读到列码0100时,让返回的键值为“8”。SPCE061A单片机取得键值后,利用自动播放的方式播放相应索引号的语音资源。仍然以S2按下为例,当SPCE061A单片机判断取得的键值为“8”时,利用SACM_S480_Play(3, Channel, int Ramp_Set)播放第四段语音,即凌阳科技为专业集成电路设计公司,其实验运行结果如图5.2所示。 图5.1 实验硬件连接图 图5.2 实验运行结果图 5.2 实验结果分析 在实验开始时,由于J4和J5的接线出现问题,导致数码管的最高位没有按照指定要求显示处理。经过仔细检查改正后,才获得了正确的实验结构。 6 总结报告 在本次课程设计中,我查阅了相关资料,认真阅读相关的设计要求,独立按时完成任务。尽管本次课程设计是六人一组的,但是我们基本上每人都独立地拿出了一个方案,每个方案各有特色。彼此之间进行了一些讨论,交流,在讨论交流过程中,我也看到了自己的有点和不足,也学习吸收他们比较好的地方。这不仅增长了我的知识,也增进了同学之间的感情。 通过这次课程设计我基本学会了智能仪器设计的步聚和基本方法,提高了动手能力,增强了理论联系实际的能力,分组工作的方式给了我与同学合作的机会,提高了与人合作的意识与能力,同时也培养和发展了同学之间的感情,对此我感到非常欣慰。总之,在这次课程设计中我受益匪浅。 致谢 课程设计的过程中,我遇到了不少的问题,但最终我终究还是战胜困难,取得了成功,当然其中很大一部分功劳都要归功于指导老师和同学们,要不是没有指导老师的指导和与同学们的相互交流学习,我的课程设计肯定不会如此轻松。在此,我非常感谢我的指导老师和同学们。 总之,这次课程设计是很成功的感谢学校给我了这样好的实践机会。这对提高我们的能力有很大的作用,这不仅能使我们更好地在社会中生存下去,也提升了学校的名誉,我想更多的这类科目应该被安排给我们。 参考文献 【1】朱麟章 蒙建波主编.检测理论及应用. 重庆大学出版社 2007.8(2) 【2】张国雄编著.测控电路 天津大学出版社 2005.1 【3】费业泰编著.误差理论与数据处理 .合肥工业出版社 2005.1 【4】王志刚编著.单片机应用技术及实训.北京:清华大学出版社 2004.5 附录 主程序:MAIN.C // The information contained herein is the exclusive property of // Sunnnorth Technology Co. And shall not be distributed, reproduced, // or disclosed in whole in part without prior written permission. // (C) COPYRIGHT 2003 SUNNORTH TECHNOLOGY CO. // ALL RIGHTS RESERVED // The entire notice above must be reproduced on all authorized copies. // 工程名称: ex6_LED_Key_Music // 功能描述: 《实验指导书》综合实验 // 4*4键盘播放语音 // 不同的按键选择播放相对应的语句 // 涉及的库: CMacro1016.lib // sacmv26e.lib // 组成文件: main.c // isr.asm/key.asm/Led.asm/hardware.asm // hardware.h/s480.h/SPCE061A.h // hardware.inc/s480.inc/SPCE061A.inc // 硬件连接: IOA口低8位连接1*8数码管的段选 // OB口IOB15 、IOB14、IOB13、IOB12、IOB2、IOB1、IOB0连接位选 // IOA口高8位连接4*4键盘 // 日期: 2005-10-17 v1.0(建立) // 文件名称: main.c // 功能描述: 4*4键盘控制语音播放 // 维护记录: 2005-10-17 v1.0 #include "SPCE061A.h" #include "Key.h" #include "Dig.h" #include "s480.h" #define GREEN 0x00ff #define RED 0xff00 #define HaveKey 1 #define NoKey 0 #define SPEECH_1 0 #define DAC1 1 #define DAC2 2 #define Ramp_UpDn_Off 0 #define Ramp_Up_On 1 #define Ramp_Dn_On 2 #define Ramp_UpDn_On 3 #define Auto 1 #define Full 1 #define Empty 2 unsigned char Keycode; unsigned char KeyFlag; //按键标识 // 语法格式: int main(void) // 实现功能: 主函数 // 参数: 无 // 返回值: 0 unsigned int KeyDataChange(unsigned int Key_Data); void Initial_INT(void); unsignedintg_Data[11]= {0x003f,0x0006,0x005b,0x004f,0x0066,0x006d,0x007d,0x0007,0x007f,0x006f}; //0, 1, 2, 3, 4, 5, 6, 7, 8, 9 int main(void) { KeyFlag = 0; Keycode = 12; Key_Init(); DIG_Init(); Initial_INT(); SACM_S480_Initial(Auto); //初始化为自动方式播放 while(1) { *P_Watchdog_Clear = 0x0001; // 清看门狗 Keycode = Key_Get(); //扫描键盘 if(Keycode!=0) { Keycode = KeyDataChange(Keycode); DIG_Set(1,g_Data[Keycode]); SACM_S480_Volume(15); //设置为最大播放音量 switch(Keycode) { case 1: SACM_S480_Play(0,DAC1+DAC2,Ramp_UpDn_On); break; //播放语音资源s1 case 2: SACM_S480_Play(1,DAC1+DAC2,Ramp_UpDn_On); break; //播放语音资源s2 case 3: SACM_S480_Play(2,DAC1+DAC2,Ramp_UpDn_On); break; //播放语音资源s3 case 4: SACM_S480_Play(3,DAC1+DAC2,Ramp_UpDn_On); break;//播放语音资源s4 case 5: SACM_S480_Play(4,DAC1+DAC2,Ramp_UpDn_On); break;//播放语音资源s5 case 6: SACM_S480_Play(5,DAC1+DAC2,Ramp_UpDn_On); break;//播放语音资源s6 case 7:SACM_S480_Play(6,DAC1+DAC2,Ramp_UpDn_On); break;//播放语音资源s7 case 8:SACM_S480_Play(7,DAC1+DAC2,Ramp_UpDn_On); break;//播放语音资源s8 case 9:SACM_S480_Play(8,DAC1+DAC2,Ramp_UpDn_On); break;//播放语音资源s9 case 0:SACM_S480_Play(9,DAC1+DAC2,Ramp_UpDn_On); break;//播放语音资源s0 default: break; } } SACM_S480_ServiceLoop(); // 获取语音数据并将其填入解码队列 *P_Watchdog_Clear = 0x0001; // 清看门狗 } return 0; } //语法格式:unsigned int KeyDataChange(unsigned int Key_Data) //实现功能:键值译码程序 //参数: unsigned int Key_Data-键值机器码 //返回值: 0~F-合法的数字键 //0xff-不合法的按键 unsigned int KeyDataChange(unsigned int Key_Data) { switch(Key_Data) { case KEY_0: Key_Data = 7;break; case KEY_1: Key_Data = 8;break; case KEY_2: Key_Data = 9;break; case KEY_3: Key_Data = 0;break; case KEY_4: Key_Data = 4;break; case KEY_5: Key_Data = 5;break; case KEY_6: Key_Data = 6;break; case KEY_7: Key_Data = 0;break; case KEY_8: Key_Data = 1;break; case KEY_9: Key_Data = 2;break; case KEY_A: Key_Data = 3;break; case KEY_B: Key_Data = 0;break; case KEY_C: Key_Data = 0;break; case KEY_D: Key_Data = 0;break; case KEY_E: Key_Data = 0;break; case KEY_F: Key_Data = 0;break; default: Key_Data = 0;break; } return Key_Data; } 第26页 共26页
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:基于凌阳16位单片机spce061a的4x4键盘语音播放设计课程设计--学士学位论文.doc
    链接地址:https://www.zixin.com.cn/doc/4665077.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork