基于 can总线的自动抄表系统.pptVIP

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于 can总线的自动抄表系统

基于 CAN总线的自动抄表系统;智能节点结构图;处理器-——AT89S52 ;AT89S52的封装、引脚及功能介绍 ;5)P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(Ig)。 在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变; 6)P3口:P3口是一住带有内部上拉电阻的8位双向I/O。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(Ig)。 P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表3所示; 7)RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位; ;8)ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器是将跳过一个ALE脉冲; 9)PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现; 10)EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密LBI被编程,复位时内部会锁存EA端状态。 如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。 Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp; 11)XTAL1:振荡器反相放大器的及内部时钟发生器的输入端; 12)XTAL2:振荡器反相放大器的输出端。 ;;控制器——SJA1000 ;;;; CAN控制器工作模式的设定、数据的发送和接收等都是通过相关寄存器来实现的。 时钟分频寄存器OCR用于设定SJA1000工作于BASIC CAN还是PeliCAN,还用于CLKOUT引脚输出时钟频率的设定,在上电初始化控制器时必须首先设定;在工作模式下,控制寄存器CR用于控制CAN控制器的行为,可读可写; 命令寄存器CMR只能写; 状态寄存器SR只能读; IR、ACR、AMR、BTR0、BTR1、OCR在工作模式下读写无意义。 通常,在系统初始化时,先使CR=1,SJA1000进入复位模式。在此模式下IR、ACR、AMR、BTR0、BTR1及OCR均可读可写,此时设置相应的初值。当退出复位模式时,SJA1000即按复位时设定的相应情况工作于工作模式,除非再次使芯片复位,否则上次设定的值不变。; 当需要发送信息时,若发送缓冲器空闲,由CPU控制信息写入TXB,再由CMR控制发送;当接收缓冲器RXFIFO未满且接收信息通过了ASP,则接收到的信息被写入RXFIFO。可通过两种方法读取接收到的信息。 一种方法是,在中断被使能的情况下,由SJA1000向CPU发中断信号,CPU通过SR及IR可以识别该中断,并读取数据释放接收缓冲器; 另一种方法是直接读取SR,查询RXFIFO的状态,当有信息接收时,读取该信息并释放接收缓冲器。当接收缓冲器中有多条信息时,当前的信息被读取后,接收缓冲器有效信号会再次有效,通过中断方式或查询方式可以再次读取信息,直到RXFIFO中的信息被全部读出为止。当RXFIFO已满,如还有信息被接收,此接收信息不被保存,且发出相应的缓冲器溢出信号供CPU读取处理。 ;收发器——PCA82C250 ;;发送模块软件总体流程 ;;接收模块软件总体流程 ;;SJA1000寄存器初始化 ;发送数据 ;;查询控制的发送 ;;接收数据 ;中断控制的接收 ;查询控制的接收 ;;;

文档评论(0)

ayangjiayu13 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档