历史上的今天
返回首页

历史上的今天

今天是:2024年11月11日(星期一)

正在发生

2020年11月11日 | 基于MSP430单片机的日程管理系统

2020-11-11 来源:elecfans

  0 引言

  日程管理系统是指在指定的时间自动实现提示、放音、录音等功能,例如清晨吹起床号和自动定时上下课响铃等。该系统广泛应用在学校、部队、工厂等部门。早期的司号仪系统存在诸多的缺点。如抗干扰能力差、播放音质不好、录音时间不长,给日常教学、工作到来极大不便。随着生活水平和需求的不断提高,人们对产品的智能化要求越来越高.老式的司号仪智能化不够高必将被淘汰,采用单片机控制的日程管理系统以其系统稳定、智能控制、操作简便、价格便宜等优点得到广泛应用。


  1 系统结构及功能

  系统的组成和程序流程如图l所示,整个系统共有七个部分组成,分别是:主控部件、电源部件、时钟部件、录放音部件、输入部件、显示部件、和扩展部件。主控部件选用的是MSP430F149超低功耗16位单片机,MSP430单片机采用FLASH存储体,此单片机采用了FLASH在线编程JTAG技术,可以利用片内的FLASH方便的实现软件升级,以达到系统升级的目的。设定的状态直接通过在系统编程存入FLASH存储体,掉电可保护,功耗低,其抗干扰能力极强,各种响应的设定值均存储在FLASH存储体中,强电磁干扰环境也不会影响到存储的状态。单片机通过I/O口接受按键输入,通过调用时钟实现定时响应,管理录音段及号音,并控制录放音、液晶显示和扩展口。

  


  电源部件为各部件工作提供工作电源,全系统需要4种电源电压分别是:+3V、+5V、+12V、一12V。


  时钟部件提供全系统时间基准,单片机定时和中断。为了实现系统的定时录音和放音,必须有一个稳定的时钟。SD2003A是一种具有内置晶振、支持I2C总线接口的高精度实时时钟芯片。该系列芯片可保证时钟精度为±4 ppm(在25±l℃下),即年误差小于2分钟。SD2003A的电源由电池提供,当单片机掉电后,SD2003A照样工作。当单片机恢复工作时,调用SD2003A内部时钟。


  录放音部件实现语音等信息的存储和播放。录放音部件选用的是ISD公司ISD4000系列语音处理芯片,它的工作电压3V,单片录放时间最常可达16分钟,音质好,适用于移动电话及其他便携式电子产品中。芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮阵列。芯片设计是基于所有操作必须由微控制器控制.操作命令可通过串行通信接口(SPI或Microwire)送入。采样频率可为4.0,5.3,6.4,8.O kHz,频率越低,录放时间越长,而音质则有所下降,片内信息存于闪烁存贮器中,可在断电情况下保存100年(典型值),反复录音10万次。


  输入部件主要用于实现定时时间的修改、录音放音的转换、时钟芯片的时间调整、继电器的响应控制等。输入采用4×4扫描键盘,由MSP430单片机通过软件控制实现输入。显示部件采用M12864-11A5液晶显示器,主要用于显示操作进程,使使用者能够清楚的看到每步操作的作用,增强了人机对话功能。


  考虑到管理系统应用的广泛性,系统增加扩展部件,利用继电器组实现一些对大功率器件的控制功能。继电器的一端是弱电,一端是强电,因此我们采用了光电隔离控制的方法,从而有效地控制大功率输出部件对系统的干扰。


  2 系统的技术实现

  主控模块对继电器和按键的控制是用I/O口直接控制的。同时预留了大量外部接口,这主要用于将来升级。主控部分采用了大量的分支跳转表,对键盘输入的值根据不同的环境,选择相对应的程序进行响应。因此整个系统仅仅使用了5个按键就可以实现所有的功能,其它键作为快捷控制键和特殊功能键。


  该主控部分的单片机通过I2C通信协议对SD2003时钟芯片进行控制,调用SD2003的时钟,从而实现定时响应;而液晶显示模块是用并行通讯方式进行控制的,AO高时为指令,低时为数据。


  它与ISD4004语音片采用SPI同步通信协议,对4004语音芯片控制,以下是SPI协议的控制时序,SPI协议由三根线构成,MISO信号输入,MOSI信号输出,UCLK时钟线组成,其通讯方式如图2所示。

  

通讯方式


  SPI协议是一个同步串行数据传输协议,协议假定微控制器的SPI移位寄存器在SCLK的下降沿动作,因此对ISD4004而言,在时钟上升沿锁存MOSI引脚的数据,在下降沿将数据送至MISO引脚。从时序图可以看出,SPI协议的实现比较容易,MSP430Fll49单片机利用其内部定时器,采用3个I/O口,用软件可实现SPI协议。


  由于放音及录音有很多种,因此,我们必须找到一种良好的算法来进行这项工作,因此,我们采用了通过基于信息地址表(以下简称MAT)的管理方式对录音片进行操作,真正实现了可对任意段进行删除、重录、添加任意时间长度的录音的功能。


  ISD4004有能力读回每次录音结束时的内部信息指针,据此建立一个简单的MAT表,将每条信息的位置存入另外的不挥发性数字存储器中。这样,可按需要重放任一条指定信息。MAT表是信息管理体系的一个重要组成部分,它跟踪每一条信息的开始地址以及每一个信息碎块的开始和结束地址。


  在本应用中,录音部分MAT表的建立是这样的:通常,寻址ISD4004需要12位地址,加上片选4片4004,则需要14位地址,假设将最低5位地址恒为O,只需9位地址就可以寻址300个存贮块中的任意一块,每块长度为6.4秒。此例中,MAT表占用600字节的存贮空间,每个字对应着ISD4004的一个存储块。随着录音和删除反复进行,具体对应关系也许会改变。下面说明工作原理。


  MAT表中的一个表项的数值或者表示该项与ISD的存储块尚无关联,或者表示ISD某个存储块的状态。第15位(最高位)有特殊作用:置l表示对应的存储块是某条信息的起始块。其余各位就是存储块的地址。级联时,MAT中BITl2、BITl3是用来指示哪一片器件。这样,表项有四种可能值:

  (1)表项值为全O:表示该项与1SD的存储块尚无关联。

  (2)表项值的Bit15为l:表示对应的存储块是某段信息的起始块。

  (3)表项值的Bitl5为O,其余各位是有效地址:表示对应的存储块是某条信息的其中一块,但不是起始块。

  (4)第2种情况的特例:我们约定,1SD的第一个存储块总是某条信息的起始块,因此对应表项值为(1000 0000…)。


  录入若干段信息后,随着ISD4004空间的使用,MAT表自顶向下逐渐建立起相应表项。每使用了一个存储块就建立一字节的MAT表项。MAT表的特点是:①对应于同一条信息的所有表项在MAT中总是连续放置的。②对于由若干个MAT表项组成的一条信息,它的各个存储块的地址值总是从小到大,但不一定紧紧相连。

  


  重放时,微控制器从MAT表头开始,向下搜索Bit 15为1的表项。要重放第几条信息,就去寻找第几个这样的表项.以重放#3信息为例,微控制器停留在第三个Bit 15为l的表项,该项指向#3信息的第一个存储块。从该表项中,微控制器得到ISD中03信息第一个存储块的块号是10,#03信息的重放由SPI送入第1O块的地址(即块号乘以8)后开始。


  去掉MAT表的相关表项就可删除该信息。例如删除#3信息,对照表l,#3信息占用了MAT表的第6、7、8字,为了删除#3信息,须将其对应的最后一个表项之后的所有表项往后移动3字,然后把MAT表已分配的最后三个表项值置为全O。


  3 结论

  基于MSP430单片机的日程管理系统具有以下特点。

  (1)录音:在指定时间开启录音,录音时间不小于30分钟。录音源为收音机(默认)、麦克风(选择音源时,采用手控);

  (2)吹号:在指定时间吹号,号音种类有15种,每个号音的时间是一定的,累计号音时间在10分钟左右;

  (3)放音:在指定时间,按指定时长放音,音源为录音、录音机、收音机。可选择播放的次数,在播放期间,如有其他指令,则停止播放执行新指令;

  (4)电铃:在指定时间开启电铃,持续时间(固定为5秒)可设定;

  (5)关灯(开灯):在指定时间关灯(开灯)。

  该系统功能强大,人机接口人性化,外观美观。已在部分院校推广使用。

推荐阅读

史海拾趣

Feller US公司的发展小趣事

随着市场竞争的加剧和资金问题的持续困扰,菲斯克在某一时期不得不宣布停产六周。这一决定引发了外界的广泛关注和质疑。然而,菲斯克并没有因此放弃,而是利用这段时间进行了深入的内部反思和策略调整。通过优化生产流程、降低成本以及加强与其他汽车制造商的合作,公司逐渐走出了困境,重新焕发出新的生机。

德芯半导体(Doeshare)公司的发展小趣事

德芯半导体在发展过程中,积极拓展合作伙伴关系。公司与国内外多家知名企业建立了长期稳定的合作关系,共同开展技术研发和市场推广。这些合作伙伴不仅为公司提供了技术支持和市场渠道,还为公司带来了更多的商业机会和发展空间。通过与合作伙伴的紧密合作,德芯半导体在半导体行业中树立了良好的口碑和形象。

Capax Technologies Inc公司的发展小趣事

随着国内市场的饱和,Capax Technologies Inc开始积极拓展海外市场。公司制定了详细的国际化战略,通过设立海外研发中心、建立销售网络等方式,逐步进入国际市场。在国际化的过程中,Capax Technologies Inc不仅提升了自身的技术水平和市场竞争力,还积累了丰富的国际经验,为公司的长远发展奠定了坚实基础。

Hantronix公司的发展小趣事

面对电子行业的快速变化,HANBIT Electronics始终保持敏锐的市场洞察力。2025年,公司宣布与一家领先的物联网技术公司达成战略合作,共同开发智能家居解决方案。这一跨界合作不仅为HANBIT Electronics带来了新的增长点,也使其能够借助物联网技术的力量,进一步拓展在智能家居、智慧城市等新兴领域的应用。通过不断探索和尝试,HANBIT Electronics在保持传统业务优势的同时,也为公司的未来发展开辟了新的道路。

H&D Wireless公司的发展小趣事

高创深知不同行业对于运动控制解决方案的需求存在差异,因此始终关注行业应用的发展趋势。通过深入了解客户需求和行业工艺特点,高创能够为客户提供量身定制的解决方案。例如,在锂电行业,高创针对电池生产线的特殊需求开发了高性能伺服系统和运动控制器;在光伏行业,则提供了高精度、高稳定性的跟踪系统解决方案。这些定制化解决方案不仅满足了客户的实际需求,还帮助高创在行业中树立了良好的口碑。

Bomar公司的发展小趣事

近年来,随着物联网和人工智能技术的快速发展,智能化物流成为了电子行业的新趋势。Bomar公司敏锐地捕捉到了这一市场机遇,开始将业务范围拓展至智能化物流领域。通过与深兰科技等公司的合作,Bomar公司成功推出了智能化物流、仓储装备以及清洁机器人等产品,并成功销往欧洲市场。这些产品的推出不仅提升了Bomar公司的市场竞争力,也为公司的未来发展开辟了新的增长点。

问答坊 | AI 解惑

pcb~应注意的问题

1 电源、地线的处理 既使在整个PCB板中的布线完成得都很好,但由于电源、 地线的考虑不周到而引起的干扰,会使产品的性能 下降,有时甚至影响到产品的成功率。所以对电、 地线的布线要认真对待,把电、地线所产生的噪音干扰降到最低限度,以保证 ...…

查看全部问答>

注册程序

在winCE中如何给写的程序加入注册部分,只有注册了才能用.…

查看全部问答>

准备学习ARM9,请大家推荐款S3C2410开发板

准备学习ARM9,请大家推荐款S3C2410开发板…

查看全部问答>

wince5下的应用程序如何在CE6下运行?

我有一个程序,是用Visual Studio 2005 standardsdk_wince500编译出来的,在ce5上可以正常运行,但在CE6下怎么折腾都不运行。我该怎么做才能让它在CE6下运行呢? 1,是不是需要wince6的standard sdk啊?哪里可以下载? 谢谢。。。。…

查看全部问答>

Windriver 美国风河公司招聘 即将截止

  工作地点在北京望京,有意者请将简历发送到huabing.chu@windriver.com。    (注:163.com邮箱不能接收)          风河系统公司          风河系统公司是全球DSO的领导者。公司成立于1981年,总部设在美国加利福尼亚洲 ...…

查看全部问答>

vxworks socket 编程

vxworks下socket有几种模型? 大量tcp连接的时候,windows上有完成端口,linux上有epoll方式,vxworks上有没有类似的模式? 现在用select模式,每次有事件都需要遍历所有socket,socket数量约500个左右(tcp连接)…

查看全部问答>

SQL CE连接配置中,怎么样写入SQL SEVER 的快照文件网络路径?

在SQL CE 3.0的Confiure connectvity support in IIS中设置NTFS网络路径时,向导稍微提示了一下  For example:\\\\Computername\\snapshot_folder_share,该怎么样输入路径啊?高手帮帮忙!!!!!! …

查看全部问答>

IO检测

我在写一个C51单片机里面需要每隔60us去检测一下P3.2口电平状状态, 编程思想:1、系统在运行时,P3.2口出现低电平中断时,立即启动定时器(延时60US)检测p3.2口电平状态,低计数器变时+1(count),同时关闭中断,当count>=20则关定时器并开启外部中 ...…

查看全部问答>

【EEWORLD大学堂TI教室】又出问题了!

正在看视频,突然网页无效,一刷新这样!应该是在维护,大家不要急!…

查看全部问答>

万用表交流200V和20V测的数据差别

做了个交流逆变系统,加了15V的电压,逆变后,示波器显示Vpp=29V,用万用表交流200V档测得有效值16.6V,交流20V档测得有效值19.52V,这是怎么回事呢?…

查看全部问答>