新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于单片机的电子导游MP3设计

基于单片机的电子导游MP3设计

作者: 时间:2013-11-08 来源:网络 收藏

NAND FLASH存储器操作模块实现存储器的物理检查、存储器链表建立和映射、存储器读写访问等。

时钟系统初始化模块

MSP430是多时钟芯片,在降低系统功耗的同时,为了充分发挥其性能,需要对系统时钟进行编程。

系统将XT2外接8MHz晶振,获得8MHz的主系统时钟MCLK。而子系统时钟SMCLK为DCO振荡器产生的频率为800KHz的信号。时钟调整程序为:

BIS.W #OSCOFF,SR ;关闭LFXT1振荡器
BIC.B #XT2OFF,BCSCTL1 ;启动XT2振荡器
SETUPOSC:
BIC.B #OFIFG,IFG1 ;清除振荡器失效中断
MOV.W #0FFh,R15
SetupOsc1:
DEC.W R15 ;计算等待时间至"0"
JNZ SetupOsc1 ;等待循环
BIT.B #OFIFG,IFG ;测试振荡器失效中断标志
JNZ SETUPOSC ;重复测试,直至标志始终复位
BIC.B #OFIFG,IFG1 ;清除振荡器失效中断
BIS.B #80H,BCSCTL2;选择SMCLK时钟源

模拟I2C总线模块

MSP430F133没提供I2C的硬件电路,因此需要用IO口线模拟。用于通过I2C来控制MAS3507D和DAC3550A。模拟I2C时序的程序包括启动模块、停止模块、发送一个字节模块、接收一个字节模块、主应答模块(MACK)、主非应答模块(MNACK)、从应答模块(CACK)等。

在程序设计中,充分利用了MSP430F133 I/O端口的特性,减少相关寄存器的操作次数,简化接口控制,缩小代码量。下列程序段是模拟I2C总线的启动功能。要求置时钟线为高,数据线为下降沿触发。

BIC.B #SCL+SDA,PORT_DIR
BIS.B #SDA,PORT_DIR ;SDA为输出
BIS.B #SCL,PORT_DIR ;SCL为输出
RET

位流传输模块

当解码芯片的请求信号有效时,要从外挂的FLASH中读取存放的数据,发送给解码芯片。数据是按逐位传输的,先传输高位,后传输低位,在SIC时钟下降沿锁存位数据到解码芯片。

DATA_TO_MAS: BIT.B #REQ,P1DIR
JZ DATA_TO_MAS
;REQ为0表示MAS不需要数据
CALL #BYTE_READ
;从FLASH读一个字节到RAM
MOV.B #8,R4 ;用R4计数
TRANSFER: RLA.B READ_BYTE_A
JC BIT_1
BIT_0: BIC.B #SID,P5OUT
JMP LOCK_BIT
BIT_1: BIS.B #SID,P5OUT
LOCK_BIT: BIS.B #SIC,P5OUT
BIC.B #SIC,P5OUT
DEC.B R4
JNZ TRANSFER


结束语

本文设计的以TI公司的MSP430F133为主控制芯片,使用Micronas公司的解码芯片MAS3507D以及配套的D/A转换芯片。本系统不仅具备了播放器的全部功能,而且可作为便携式存储器,用于存储文件、相片等。其特定的设计功能不仅可用于,还可用于公交报站、博物馆、展览馆、无人值守交通路口的语音提示等。

参考文献:
[1]. MSP430F133 datasheet http://www.dzsc.com/datasheet/MSP430F133_307447.html.
[2]. MSP430 datasheet http://www.dzsc.com/datasheet/MSP430_490166.html.
[3]. RISC datasheet http://www.dzsc.com/datasheet/RISC_1189725.html.
[4]. MAS3507D datasheet http://www.dzsc.com/datasheet/MAS3507D_470629.html.
[5]. DAC3550A datasheet http://www.dzsc.com/datasheet/DAC3550A_253258.html.


上一页 1 2 下一页

关键词: 单片机 电子导游 MP3

评论


相关推荐

技术专区

关闭