• 自动打铃系统免费 > 6自动打铃器的软件分析
  • 6自动打铃器的软件分析

    免费下载 下载该文档 文档格式:DOC   更新时间:2006-06-02   下载次数:0   点击次数:2
    文档基本属性
    文档语言:Simplified Chinese
    文档格式:doc
    文档作者:niu
    关键词:
    主题:
    备注:
    点击这里显示更多文档属性
    四,自动打铃器软件分析
    1,系统框图
    状态机根据按键信号指示,向各个模块发出指令,模块当接收到工作指令时,便开始工作.其他模块将状态信息发送到显示和打铃控制模块,显示控制模块再根据状态机发送来的命令来决定显示内容与状态指示灯的亮灭,最后将显示信息送入译码模块,翻译后发送至七段字形数码管.铃声模块对计时调时模块,打铃时间设定模块,打铃长度设定模块发送来信息进行综合,来决定是否打铃.
    2,顶层文件连接图
    注:清晰版附后附录中
    3,状态机
    关于状态机的一个极度确切的描述是它是一个有向图形,由一组节点和一组相应的转移函数组成.状态机通过响应一系列事件而"运行".每个事件都在属于"当前"节点的转移函数的控制范围内,其中函数的范围是节点的一个子集.函数返回"下一个"(也许是同一个)节点.这些节点中至少有一个必须是终态.当到达终态,状态机停止.包含一组状态集(states),一个起始状态(start state),一组输入符号集(alphabet),一个映射输入符号和当前状态到下一状态的转换函数(transition function)的计算模型.当输入符号串,模型随即进入起始状态.它要改变到新的状态,依赖于转换函数.在有限状态机中,会有有许多变量,例如,状态机有很多与动作(actions)转换(Mealy机)或状态(摩尔机)关联的动作,多重起始状态,基于没有输入符号的转换,或者指定符号和状态(非定有限状态机)的多个转换,指派给接收状态(识别者)的一个或多个状态,等等.传统应用程序的控制流程基本是顺序的:遵循事先设定的逻辑,从头到尾地执行.很少有事件能改变标准执行流程;而且这些事件主要涉及异常情况."命令行实用程序"是这种传统应用程序的典型例子.另一类应用程序由外部发生的事件来驱动——换言之,事件在应用程序之外生成,无法由应用程序或程序员来控制.具体需要执行的代码取决于接收到的事件,或者它相对于其他事件的抵达时间.所以,控制流程既不能是顺序的,也不能是事先设定好的,因为它要依赖于外部事件.事件驱动的GUI应用程序是这种应用程序的典型例子,它们由命令和选择(也就是用户造成的事件)来驱动.
    有限状态机是一种概念性机器,它能采取某种操作来响应一个外部事件.具体采取的操作不仅能取决于接收到的事件,还能取决于各个事件的相对发生顺序.之所以能做到这一点,是因为机器能跟踪一个内部状态,它会在收到事件后进行更新.为一个事件而响应的行动不仅取决于事件本身,还取决于机器的内部状态.另外,采取的行动还会决定并更新机器的状态.这样一来,任何逻辑都可建模成一系列事件/状态组合.
    状态机模块端口:Clock为时钟驱动ChangeMode为输入端口,功能为负责更改状态信号的接收;Adjposition为输入端口,功能为负责更改当前指定位置信号的接收;adjval为输入端口,功能为负责调整时间,日期的信号的接收;command为输出端口,功能为状态机的状态命令输出;adjbotton为输出端口,功能为调整信号的输出;flash为输出端口,功能为当前闪烁信号的输出.
    此状态机共有timer adj_timer adj_morningtime adj_eveningtime adj_ringlength adj_12or24 adj_miaobiao adj_day 九种状态,程序第一个进程(Process)的作用是根据输入(ChangeMode)来改变当前的状态.在第2个进程里,此进程根据状态命令使用command端口向其他模块发送,另外第2个进程里还包括闪烁位的循环控制,闪烁位调整信号是通过Adjposition进入模块的.实现程序如下:
    if command="0100000"then
    pos<=1;
    else
    if adjposition='0'then
    if pos=3 then
    pos<=1;
    else
    pos<=pos+1;
    end if;
    end if;
    end if;
    第三个进程是根据pos的状态来翻译闪烁信号,闪烁信号由flash发送给其他模块.三个进程协调工作,实现状态机功能.
    基本流程图:
    4,消抖模块
    顾名思义消抖模块具有消抖作用,它的作用在于消除常用点动按键在按下和松开的时候会在极端的时间内出现电平抖动的现象,这种现象是不能被人所感知的,但是却能被精密度极高的电子器件所接收到,形成在极短时间内多次按键的效果,消抖模块正是为避免这种情况发生而诞生的,程序如下:

    下一页

  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 DOC格式下载
  • 您可能感兴趣的
  • 自动打铃系统免费  学校自动打铃系统  自动语音打铃系统  大牛全自动打铃系统  校园作息自动打铃系统  自动打铃系统破解版  校园广播打铃系统  校园免费打铃系统  多功能打铃系统