《学位论文-—音乐播放器设计.doc》由会员分享,可在线阅读,更多相关《学位论文-—音乐播放器设计.doc(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘 要随着 IC 集成度越来越高,成本越来越低,使得 MP3 得到了很大的普及。现在我们随时随地的感受着数码音乐。本毕业方案采用凌阳科技公司的 SPCE061A 单片机、SPR4096 模组与液晶 1602实现一个简易的音乐盒播放器,也让我们实现数码音乐 DIY。 本方案直接使用 SPCE061A 精简开发板,利用 SPCE061A 的语音处理功能,以及其强大的处理能力,再配合 SPR 模组,扩大存储容量,很容易就可以实现音乐播放器。 关键词:SPCE061A;SPR4096;音乐播放器Abstract With the growing IC integration, more and mor
2、e low cost, makes MP3 get a lot of popularity. Now we go with the feeling of digital music. The graduate programme by Sunplus Technology, Inc. SPCE061A SCM, SPR4096 LCD modules and the realization of a summary of the 1602 Music Box player, let us also realize digital music DIY. The programme used di
3、rectly SPCE061A streamline the development board, SPCE061A the use of voice processing functions, and its processing power, coupled with SPR module, expanding storage capacity, it is easy to achieve music player. Key words: SPCE061A; SPR4096; music player目 录第一篇 绪论1SPCE061A单片机简介1第一节 凌阳16位单片机1第二节 应用领域
4、1第二篇 模块特性简介3第一章 SPCE061A 简介3第一节 概述3第二节 芯片特性简介4第三节 SPCE061A精简开发板5第二章 SPR 模组简介6第一节 基本特性与参数指标6第三章 液晶 1602简介7第一节 技术参数7第二节 接口信号说明8第三节 读写时序8第三篇 SPCE061A在音乐播放器中的应用方案10第一章设计要求10第二章 系统硬件设计10第一节 系统的硬件框图10第二节 主控板电路模块分析11第三节 SPR 模组硬件13第三章 系统软件设计14第一节 主要功能14第二节 方案实现15第四篇 语音资源更换操作说明42第五篇 音乐播放器的操作说明43第一章 操作说明概述43第
5、一节 功能简介43第二节 电气参数43第三节 注意事项43第二章 制作过程43第三章 操作步骤44第四章 常见问题44结 语46参考文献47致 谢48ii阳泉职业技术学院-毕业设计说明书第一篇 绪论SPCE061A单片机简介第一节 凌阳16位单片机随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理、数据处理以及数字信号处理(DSP,Digital Signal Processing)等领域。凌阳的16位单片机就是为适应这种发展而设计的。它的CPU内核采用凌阳最新推出的nSP(Microcontroller and Signal Processor)16位微处理器芯片(以
6、下简称nSP)。围绕nSP所形成的16位nSP系列单片机(以下简称nSP家族)采用的是模块式集成结构,它以nSP内核为中心集成不同规模的ROM、RAM和功能丰富的各种外设接口部件。 nSP内核是一个通用的核结构。除此之外的其它功能模块均为可选结构,亦即这种结构可大可小或可有可无。借助这种通用结构附加可选结构的积木式的构成,便可形成各种不同系列派生产品,以适合不同的应用场合。这样做无疑会使每一种派生产品具有更强的功能和更低的成本。nSP家族有以下特点:s 体积小、集成度高、可靠性好且易于扩展s 具有较强的中断处理能力s 高性能价格比s 功能强、效率高的指令系统s 低功耗、低电压第二节 应用领域1
7、. 家用电器控制器:冰箱、空调、洗衣机等白色家电 ;2. 仪器仪表:数字仪表(有语音提示功能) ;3. 电表、水表、煤气表、暖气表 ;4. 工业控制 ;5. 智能家居控制器; 6. 通讯产品:多功能录音电话、自动总机、语音信箱、数字录音系统产品 ;7. 医疗设备、保健器械(电子血压计、红外体温监测仪等) ;8. 体育健身产品(跑步机等);9. 电子书籍(儿童电子故事书类)、电教设备等; 10. 语音识别类产品(语音识别遥控器、智能语音交互式玩具等)。第二篇 模块特性简介第一章 SPCE061A 简介第一节 概述SPCE061A是凌阳科技研发生产的性价比很高的一款十六位单片机,使用它可以非常方便
8、灵活的实现语音的录放系统,该芯片拥有 8 路10 位精度的 ADC,其中一路为音频转换通道,并且内置有自动增益电路。这为实现语音录入提供了方便的硬件条件。两路 10 位精度的 DAC,只需要外接功放(SPY0030A)即可完成语音的播放。另外凌阳十六位单片机具有易学易用的效率较高的一套指令系统和集成开发环境。在此环境中,支持标准 C 语言,可以实现 C 语言与凌阳汇编语言的互相调用,并且,提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件: SPCE061A片内还集成了一个 ICE(在线仿真电路)接口,使得对该芯片的编程、仿真都变得非常方便,
9、而 ICE 接口不占用芯片上的硬件资源,结合凌阳科技提供的集成开发环境(unSP IDE)用户可以利用它对芯片进行真实的仿真;而程序的下载(烧写)也是通过该接口进行下载。以下图 2.1 为61板硬件框图,表 2.1为硬件框图说明。图 2.1 61板硬件框图表 2.1 框图说明第二节 芯片特性简介SPCE061A性能简介: s 16 位 unSP 微处理器 s 工作电压(CPU)VDD为 3.03.6V,(I/O)VDDH为 3.05.5V s CPU时钟:0.3249.152MHz s 内置 2K字 SRAM s 内置 32K字 FLASH s 可编程音频处理 s 晶体振荡器 s 系统处于备用
10、状态下(时钟处于停止状态),耗电仅为 2uA/3.6V s 2 个 16 位可编程定时器/计数器(可自动预置初始计数值) s 2 个 10 位 DAC(数/模转换)输出通道 s 32 位通用可编程输入/输出通道s 14 个中断源可来自定时器 A/B、时基、2 个外部时钟源输入和键唤醒 具备触键唤醒的功能 s 使用凌阳音频编码 SACM_S480 可以播放压缩的语音资源 s 锁相环 PLL 振荡器提供系统时钟信号 s 32768Hz 实时时钟 s 7 通道 10 位电压模/数转换器(ADC)和单通道声音模/数转换器 s 声音模/数转换器输入通道内置麦克风放大器,并具有自动增益控制(AGC)功能
11、s 具备串行设备接口 s 具备低电压复位功能和低电压检测功能 s 内置在线仿真电路接口 s 具有 WatchDog 功能 第三节 SPCE061A精简开发板SPCE061A精简开发板(简称 61 板),是以凌阳 16 位单片机 SPCE061A 为核心的精简开发仿真实验板,大小相当于一张扑克牌,是“凌阳科技大学计划”专为大学生、电子爱好者等进行电子实习、课程设计、毕业设计、电子制作及电子竞赛所设计的,也可作为单片机项目初期研发使用。61 板除了具备单片机最小系统电路外,还包括有电源电路、音频电路(含 MIC 输入部分和 DAC 音频输出部分)、复位电路等,采用电池供电,方便学生随身携带!使学生
12、在掌握软件的同时,熟悉单片机硬件的设计制作,锻炼学生的动手能力,也为单片机学习者和开发者创造了一个良好的学习条件和开发新产品的机会!61板上有调试器接口(Probe 接口)以及下载线(EZ_Probe)接口,分别可接凌阳科技的在线调试器、简易下载线,配合 unSP IDE,可方便地在板上实现程序的下载、在线仿真调试。 61 板上的主要功能模块如下: s SPCE061A单片机最小系统外围电路模块; s 电源输入模块; s 音频电路(包含 MIC 输入、DAC 音频功放输出)模块; s 按键模块; s I/O端口接口模块; s 调试、下载接口模块; 第二章 SPR 模组简介第一节 基本特性与参数
13、指标产品型号:SPR MODULE V1.0 SPR 模组工作电压:3.3V SPR 模组外形尺寸:50mm50mm 一、主要功能 针对凌阳科技公司的存储器芯片 SPR4096/SPR1024,开发的简易烧写器。该烧写器配合 PC 机ResWriter工具(凌阳科技教育推广中心提供,下文叙述),通过EZ-probe下载线,完成对SPR4096/1024存储器芯片的擦除、写入、校验等功能。并且在 SPR 模组上留有与 SPCE061A 单片机的接口,可以实现 SPR 模组与 SPCE061A单片机组成的系统。二、结构框图图 2.2 SPR 模组结构框SPR 模组预留两个接口,一个接口是 EZ-p
14、robe,这是在使用 ResWriter工具对 SPR4096/1024 进行烧写连接使用的,另一个是 10PIN 的排线,主要提供电源以及与 SPCE061A连接使用。用户请注意,SPR 模电路支持 SPR4096 和 SPR1024,但只能同时对其中一种芯片进行使用。SPR 模组有两种基本配置,一种电路板加 SPR4096 芯片,另一种为电路板加 SPR1024 芯片,而且必须配合 EZ-Probe 下载线使用。用户选购时请您注意确认是 SPR 模组_4096 还是 SPR 模组_1024。 三、SPR4096芯片 SPR4096 内嵌 512K*8 位高性能 FLASH 存储器同时内嵌
15、4K*8位 SRAM。芯片具有 BMI(Bus Memory nterface)并行接口总线与 SIF(Serial Interface)串行接口总线。在 SPR4096 芯片中,使用两种电源供电,DDI 与 VDDQ。VDDI 范围在 2.25V-2.75V,这个电源是给内部的 FLASH 与逻辑控制单元供电的。VDDQ围在 2.25V-3.6V,只给 I/O 口供电。SPR4096 可以工作在 5.0MHz 频率下,最大读电流为 2.0mA,最大程/擦写电流 6.0mA。 四、ResWriter 工具简介 ResWriter 工具是将语音、字模等数据资源(二进制文件)整合处理、烧录到 SP
16、R1024/4096 FLASH emory的烧录工具。用 PC Printer Port 通过下载线(EZ_Probe)烧录 SPR1024/4096,基本操作内容包括片的空白检查(Blank Check)、芯片的数据擦除(Erase)、读出芯片数据(Read)、烧录写入数据(Program)、验检查写入的数据是否正确(Verify)。工具具有文档整合功能,把多个小文档按照指定的格式生成索引表,然后将索引表与所有的小文档整合成一个大文档作为烧录 FLASH 的数据资料。五、应用领域在用户的系统上需要外扩存储器,可以选择使用 SPR 模组。该模组可以通过 ResWriter 工具进行资源整合、
17、烧录。六、注意事项 s SPR 模组使用 3.3V电源供电,注意不要使电源接反 s 模组必需配合下载线使用s 在使用 ResWriter工具对 SPR4096/SPR1024 芯片进行烧写时也需要对 SPR 模组供电 s 不能同时对 SPR4096 与 SPR1024 进行烧写第三章 液晶 1602简介第一节 技术参数s 显示容量:32 个字符,每个字符为 57 点阵,分 2 行,每行 16 列 s 芯片工作电压:4.5-5.5V s 工作电流:2mA(5.0V)s 模块最佳工作电压:5.0V s 字符尺寸:2.954.35(W*H)mm第二节 接口信号说明一、外形尺寸以下图2.3是液晶 16
18、02模块的外形:图2.3 液晶 1602模块的外形尺寸二、接口信号说明下表2.2接口信号说明接口编号引脚说明接口编号引脚说明1VSS电源地9D2DATA2VDD电源正极10D3DATA3VL液晶显示偏压信号11D4DATA4RS数据/命令选择端(H/L12D5DATA5R/W读/写选择端(H/L)13D6DATA6EP使能信号14D7DATA7D0DATA I/O15BLA背光源正极8D1DATA I/O16BLK背光源负极表2.2接口信号说明第三节 读写时序一、读/写操作时序及时序参数(一) 读操作时序:图 2.4 读操作时序(二) 写操作时序:图 2.5 写操作时序二、典型应用图 2.6为
19、1602 与单片机典型接口图 2.6 1602 与单片机典型接口第三篇 SPCE061A在音乐播放器中的应用方案第一章 设计要求一、基本要求 利用 SPCE061A单片机、SPR4096 模组,液晶 1602 制作音乐播放器,要求具有下述功能: 1. 可以实现多首音乐的播放; 2. 可以实现音乐播放的开始、暂停、停止、上一首、下一首的控制功能; 3. 在音乐播放时可以在液晶 1602 上显示均衡效果; 4. 具有友好的用户界面。 二、扩展要求 1. 可以实现音乐的音量控制; 2. 具有 USB 功能,可以实现语音资源的更新。第二章 系统硬件设计第一节 系统的硬件框图系统以 SPCE061A为核
20、心,可以划分为键盘(61板上自带的按键)输入、液晶 LCD1602 用户界面提示与均衡器效果、SPR4096 资源存储与 61 板语音播放等部分,如下图所示。61板作为整个系统的核心控制,并且负责语音的输出。SPR 模组作为语音资源的存储介质,这些语音资源是通过专用的 ResWriter工具烧写到 SPR4096 芯片中的。61 板上自带的键盘与液晶 1602 实现用户控制音乐播放器的控制与显示作用,在播放音乐时,液晶 1602 还可以显示音乐的均衡器效果。以下图 3.1为硬件框图,图 3.2为音乐播放器的硬件连线图: 图 3.1 硬件框图 3.2 音乐播放器的硬件连线图第二节 主控板电路模块
21、分析一、微控制器电路 控制器采用凌阳科技公司的 SPCE061A,其硬件资源分配见表 3.1 CPU型号SPCE061A封装PLCC振荡器 crystal频率 RCR值外部输入频率WATCHDOG 有 无 启用未启用复位时间:0.75sI/O口使用情况使用IOA0 - Key1 / 61板上自带的按键,按键的另一端接5VIOA1 - Key2IOA2 - Key3IOA8IOA15 - D0D7 / 液晶1602IOB13 - RSIOB14 - R/WIOB15 - EPIOB0 - SCK / SPR4096IOB1 - SDATimer使用情况TimerB放音时使用TimerB无ADC使
22、用情况MIC-IN通道无中断使用情况1,FIQ_TimerA中断用于放音2,IRQ6_TMB1(8Hz)中断调用EQ均衡器3,IRQ6_TMB2(128Hz)中断扫描键盘表 3.1 硬件资源分配表二、电源板电路模块分析 图 3.3 是电源部分的电路,4.5V直流电压经过 SPY0029 后产生 3.3V给整个系统供电。 SPY0029 是凌阳公司设计的电压调整 IC,采用 CMOS 工艺。SPY0029具有静态电流低、驱动能力强、线性调整出色等特点。 图中的 VDDH3 为 SPCE061A 的 I/O 电平参考,接 SPCE061A 的 51 脚,这种接法使得 I/O 输出高电平为 3.3V
23、;VDD_P 为 PLL 锁相环电源,接 SPCE061A 的 7 脚;VDD 和 VDD_A 分别为数字电源与模拟电源,分别接 SPCE061A的15 脚和 36 脚;AVSS1 是模拟地,接 SPCE061A的24 脚;VSS是数字地,接 SPCE061A的 38 脚; AVSS2 接音频输出电路的 AVSS2。图 3.3 电源电路图三、CPU 语音输出电路 SPCE061A内置 2 路 10 位精度的 DAC,只需要外接功放电路即可完成语音的播放。 图 3.4是语音输出电路图。可以直接听喇叭输出的声音。图中的 SPY0030 也是凌阳公司的产品。它的详细说明可以参见SPY0030 Dat
24、a Sheet。和LM386相比,SPY0030还具有下述优势的,比如LM386工作电压需在 4V 以上, SPY0030 仅需 2.4V 即可工作(两颗电池即可工作);LM386 输出功率 100mW以下, SPY0030 约 700mW。其他特性请参考 Data Sheet。 图3.4 CPU 语音输出电路第三节 SPR 模组硬件SPR 模组的硬件电路主要分成 3 大部分,下面分别介绍: 一、ResWriter工具对 SPR4096/SPR1024 进行烧写的硬件电路如图 3.5 所示:图 3.5 烧写 SPR4096/SPR1024 硬件电路此部分电路主要是控制 SCK、SDA 信号的作
25、用,通过 74HC244 可以控制 SDA 信号的通与断,这样可以使用 ResWriter工具发出符合烧写芯片的时序信号,完成对芯片的擦除、写入与校验功能。 二、SPR4096 的工作电路如图 3.6 所示:图 3.6 SPR4096 工作电路 图 3.7 SPR1024 工作电路此部分工作电路是为了使 SPR4096 存储器工作的外围电路,通过 SCK与 SDA与外界相连。三、SPR1024 的工作电路如图3.7 所示:此部分工作电路是为了使 SPR1024 存储器工作的外围电路,通过 SCK与 SDA与外界相连。 四、SPR 模组的其他接口电路如图 3.8 SPR 模组的接口跳线电路所示:
26、图 3.8 SPR 模组的接口跳线电路上图最左边的电路是 SPR4096 片内 FLASH 与片内 SRAM 的选择端(关于 SPR4096存储器的详细情况,请参考下文或参考 SPR4096 数据手册),当 MEM选择与地短接时使用的是 SPR4096的片内 FLASH,当 MEM 选择与电源短接时使用的是 SPR4096 的片内 SRAM。第三章 系统软件设计第一节 主要功能结合 61 板上的 3 个按键,实现图 3.9 的功能。图 3.9 功能键示意图 图 3.10 系统的均衡器效果在播放音乐时具有均衡器效果如图 3.10:第二节 方案实现整个软件系统完成的功能在程序中分为如下文件实现:
27、1. main.c 文件:整个工程的主文件,负责调用相关函数完成相关功能。 2. speech.c 文件:该文件主要是放音函数,负责从 SPR4096 中取出数据播放。 3. key.asm文件:此文件中包含有与键盘操作有关的函数,包括键盘初始化、扫描键盘与得到键盘程序。函数声明在 key.h 与 key.inc 文件中,分别供 c 语言与汇编语言调用。 4. LCD1602_Driver.asm:此文件中包含 LCD1602 的初始化操作、读写命令、读写数据操作。 5. spr4096_driver.asm 文件:与 SPR4096 存储器相关的操作函数,包括初始化,读、写、擦除操作等。函数
28、声明在 spr4096_user.h 文件中,供 c 语言调用。6. fiq.asm文件:所有与中断有关的操作函数都在这个文件。在 FIQ_TimerA 中断中调用语音播放服务函数完成,在IRQ6_TMB1中断中调用8Hz中断实现均衡器显示,在IRQ6_TMB2中断中调用128Hz中断完成键盘扫描作用。 7. 在语音处理方面采用了凌阳科技的 sacmv26e.lib函数库完成语音播放功能,只需要调用几条函数就可以播放语音。 下面具体介绍函数:在主函数中完成 SPR4096 的初始化、键盘、液晶 LCD1602 的初始化,并进行停止状态的界面显示,然后进入循环根据键盘的值执行相关的操作。一、主函
29、数的流程图和编程主函数流程图参考图 3.11所示:图 3.11 主函数流程图以下是关于主函数的编程:/=/工程名称:MusicBox.spj/功能描述:实现音乐盒毕业设计礼包的功能/硬件连接:IOA0-Key1/IOA1-Key2/IOA2-Key3/Key-5V/IOA8-IOA15-D0-D7(1602液晶)/IOB0-SCK(SPR模组)/IOB1-SDA(SPR模组)/IOB13-RS/IOB14-R/W/IOB15-EP/=#include spce061a.h#include a2000.h#include key.h#include spr4096_user.h#include
30、speech.h#include lcd1602_user.hunsigned int g_uiIndex = 0;/ 曲目索引unsigned int g_uiData5 = 1,2,3,4,5;/ LCD1602的字模显示void Stop_Dis(void);/ 在停止的时候的显示函数/=/语法格式:int main(void)/实现功能:MusicBox.spj工程主函数/参数:无/返回值:无/=int main(void)unsigned int uiKey;/ 判断键值unsigned int uiStatus;/0-处于暂停/停止状态;1-处于播放状态unsigned int u
31、iInt;uiStatus = 0; / 初始化,停止状态Key_Init();/ 初始化键盘LCD1602_Initial();/ 初始化液晶1602SP_SIOInitial();/ 初始化SIOwhile(1)Stop_Dis();/ 停止时显示uiKey = Key_Get();/ 获得键值switch(uiKey)case KEY_1:uiInt = *P_INT_Ctrl;/ 打开8Hz中断,调用均衡器效果函数uiInt |= C_IRQ6_TMB1;*P_INT_Ctrl = uiInt;uiStatus = 1;/ 开始播放音乐break;case KEY_2:g_uiInde
32、x+;/ 下一曲if(g_uiIndex = 5)/ 5首曲目,序号重0到4g_uiIndex = 0;break;case KEY_3:g_uiIndex-;/ 上一曲if(g_uiIndex = 0xffff)/ 无符号数,0下来是0xffffg_uiIndex = 4;break;case KEY_1_THREE:break;case KEY_2_THREE:break;case KEY_3_THREE:SACM_A2000_Stop();/ 停止播放g_uiIndex = 0;/ 重新初始化uiStatus = 0;/ 重新初始化break;default:break;if(uiSta
33、tus = 1)PlaySnd_A2000();elseSACM_A2000_Stop();*P_Watchdog_Clear = 0x0001;while(1)*P_Watchdog_Clear = 0x0001;void Stop_Dis(void)Write_Command(0x0080);/ 显示菜单Write_Data(P);/ PRESS KEY1 STARTWrite_Data(R);Write_Data(E);Write_Data(S);Write_Data(S);Write_Data( );Write_Data(K);Write_Data(E);Write_Data(Y);W
34、rite_Data(1);Write_Data( );Write_Data(S);Write_Data(T);Write_Data(A);Write_Data(R);Write_Data(T);Write_Command(0x00c0);/ 在下一行显示Write_Data(K);/ K2 N K3 LWrite_Data(2);Write_Data( );Write_Data(N);Write_Data( );Write_Data(K);Write_Data(3);Write_Data( );Write_Data(L);Write_Data( );Write_Data(N);Write_Da
35、ta(O);Write_Data(.);Write_Data(g_uiDatag_uiIndex);/ 显示曲目Write_Data(/);Write_Data(5);二、SPR4096初始化流程图和编程 系统要对 SPR4096进行初始化,参考图 3.12 所示:(其程序在流程图下)图 3.12 SPR4096 初始化SPR4096 初始化的编程/=/实现功能:初始化SPCE061A单片机的SIO端口/=.PUBLIC_SP_SIOInitial_SP_SIOInitial:.PROC /系统时钟设定 r1 = 0x0098; /Fosc=49mHz P_SystemClock = r1;r
36、1 = P_IOB_Dir;r1 |= 1;/set bit0 output for sckP_IOB_Dir = r1;r1 = P_IOB_Attrib;r1 |= 1;/buffer outputP_IOB_Attrib = r1;r1 = P_IOB_Buffer;r1 |= 1;/output highP_IOB_Data = r1; retf.ENDP/=/实现功能:向串行flash发送一个字节(Send A Byte to Serial Flash)/=.public _SP_SIOSendAByte_SP_SIOSendAByte: .PROCF_SIOSendAByte: P
37、USH BP,BP TO SP; BP = SP + 1;R1 = BP+3; P_SIO_Addr_Low=r1; / input SFLASH low address r1=r1 lsr 4; / right shift 8 r1=r1 lsr 4; P_SIO_Addr_Mid=r1; / input SFLASH mid address R1 = BP+4; / Port direction r1=r1&0x0007; / input SFLASH hi address P_SIO_Addr_High=r1; r1=0x00C3+C_SIOCLOCK; P_SIO_Ctrl=r1; /
38、clk=CPUclk/8, 24 bit address ;write P_SIO_Start=r1; / enable write mode R1 = BP+5; P_SIO_Data=r1;/ state totransmitdataL_WaitSIOSendReady: r1=P_SIO_Start; test r1,0x0080 jnz L_WaitSIOSendReady P_SIO_Stop=r1; /disable write mode call F_Delay_Program_Time POP BP,BP FROM SP; retf; .ENDP;/=/实现功能:从串行flas
39、h读一个字节(Read A Byte from Serial Flash)/=.public _SP_SIOReadAByte_SP_SIOReadAByte: .PROCF_SIOReadAByte: PUSH BP,BP TO SP; BP = SP + 1; R1 = BP+3; P_SIO_Addr_Low=r1; / input SFLASH low address r1=r1 lsr 4; r1=r1 lsr 4; P_SIO_Addr_Mid=r1; / input SFLASH mid address R1 = BP+4; / Port direction r1=r1&0x0007; / input SFLASH hi address P_SIO_Addr_High=r1; r1=0x0083+C_SIOCLOCK; P_SIO_Ctrl=r1; / clk=CPUclk/16, 24 bit address ;read P_SIO_Start=r1; / enable read moder2=P_SIO_Data