4 软件设计

系统的软件采用模块化设计,主要包括主程序模块、CAN通信模块、振铃检测模块、语音报警模块、DTMF收发模块等,这里主要介绍主程序和CAN通信模块设计。

4. 1 主程序设计

主程序主要完成各功能模块的调用,检测系统输入,然后根据系统状态进行判断处理。程序进行主循环之前还要进行必要的初始化,如MT8880、ISD1420、SJA1000相关标志位等。主程序流程如图4所示。

基于CAN总线和DTMF技术的新型智能家居安防系统设计

图4 主程序流程图

4. 2 CAN通信模块设计

CAN通信模块包括控制器初始化、数据接收和发送子程序。SJA1000有复位模式和工作模式两种状态,两种状态下寄存器配置不同。当参数设置完后,CPU发出命令,SJA1000处于工作状态,进行正常通信。如果通信出错,CPU会使SJA1000回到复位模式。接收模块负责节点报文的接收及相关处理。接收过程中CPU会读数据,根据命令字判断数据帧的类型进行不同处理。发送模块负责报文的发送,SJA1000发送数据前,要判断是否满足发送条件,如果满足,则把报文帧信息、标识符和要发送的数据写入缓冲区,即可发送。JA 1000的收发流程图如图5所示。

基于CAN总线和DTMF技术的新型智能家居安防系统设计

图5 JA 1000的收发流程图

5 结束语

本系统以AT89S52单片机为核心,不用对电话网进行任何改造,实现对家居设防点进行自动检测和语音报警。设计中用CAN总线结构组成安防系统,有较好的灵活性和扩展性,同时利用CAN 总线引入实时的数据处理,提高了系统的可靠性。可对楼宇可视对讲、智能小区管理、门禁管理等有较大的应用推广价值。

关于接口,总线,驱动就介绍完了,您有什么想法可以联系小编。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查