企业资质

北京智德科技有限公司

普通会员16
|
企业等级:普通会员
经营模式:
所在地区:北京 北京
联系卖家:
手机号码:
企业地址:
企业概况

提供CAN总线开发板、Aduc812开发板、温度测量、CAN232、422、485,8路12位adc采集开发板等及相应源程序、电路图和完善的售后技术支持;同时提供项目开发。...

原创经典:调试好的can总线程序(汇编2)

产品编号:2163637                    更新时间:2020-08-13
价格: ¥200.00

北京智德科技有限公司

联系人名片:

联系时务必告知是在"产品网"看到的

产品详情
原创经典:调试好的can总线程序(汇编2)(2007-07-17 17:00:39)
[编辑][删除]
提供can实验开发板给初学者
大家需要的话联系我:nnyt@
  CAN控制器为SJA1000,驱动器为TJA1050,电源隔离;
  提供详尽的源程序,可根据用户需求编写程序
联系我:13671387011(短信联系,***详谈)
       ***: 531706356
接 调试好的can总线程序(汇编1),构成完整的程序

BCAN_DATA_WRITE:
      MOV            DPTR,   #REG_STATUS  ;读取状态寄存器
      MOVX           A,      @DPTR        ;判断上次发送是否完成
      SETB           F0
      JNB            ACC.3,  BCAN_DW_QUIT ;正在发送退出
      CLR            F0              
      MOVX           A,      @DPTR        ;判断发送缓冲区是否锁定,
      SETB           F0
      JNB            ACC.2,  BCAN_DW_QUIT ;锁定则跳出                    
      CLR            F0    
          
      INC            R0                   ;
      MOV            A,      @R0          ;ID号的低3位 \RTR位 \数据长度DLC
      DEC            R0                   ;***指针指向发送数据的首地址
      MOV            DPTR,   #REG_TxBuffer1;发送缓冲区首地址

      JB             ACC.4,  BCAN_WYB     ;远程帧
      ;数据帧
      ANL            A,      #0FH         ;计算发送数据的长度
      ADD            A,      #02H
      MOV            R7,     A
      AJMP           BCAN_WRTXBUF         ;

BCAN_WYB:
      MOV            R7,     #02          ;写入发送缓冲区数据长度为2

BCAN_WRTXBUF:     
      MOV            A,      @R0          ;开始写入
      MOVX           @DPTR,  A
      SETB           F0
      MOVX           A,      @DPTR        ;校验写入的是否正确
      XRL            A,      @R0
      JNZ            BCAN_DW_QUIT         ;写入错误退出
      CLR            F0                   ;正确写入继续
      INC            R0
      INC            DPTR
      DJNZ           R7,     BCAN_WRTXBUF ;没有写完继续
       
BCAN_DW_QUIT:     
      RET

 

BCAN_DATA_RECEIVE:
     MOV           DPTR,   #REG_STATUS
     MOVX          A,      @DPTR
     SETB          F0
     JNB           ACC.0,  BCAN_DR_QUIT   ;判断报文是否有效
     CLR           F0 

     MOV           DPTR,   #REG_RxBuffer2 ;接收报文的ID号的低3位 \RTR位 \数据长度DLC
     MOVX          A,      @DPTR
     MOV           DPTR,   #REG_RxBuffer1 ;接收缓冲区的首地址
     JB            ACC.4,  BCAN_RCVYB     ;接收到的是远程帧
     ;数据帧
     ANL           A,      #0FH           ;计算接收到的数据长度
     ADD           A,      #02H           ;计算报文的长度
     MOV           R6,     A
     AJMP          BCAN_RCVDATA

BCAN_RCVYB:
     MOV           R6,     #02            ;远程帧

BCAN_RCVDATA:                             ;开始读取数据
     MOVX          A,      @DPTR
     MOV           @R0,    A
     INC           DPTR
     INC           R0
     DJNZ          R6,     BCAN_RCVDATA

BCAN_DR_QUIT:
      
     RET

BCAN_SET_BANDRATE:
    MOV      A,             R7          ;判断波特率的值是否存在
    CLR      CY
    SUBB     A,             #13        ;
    SETB     F0
    JNC      BCAN_SETBR_QUIT            ;输入的值大于12则不正确
    CLR      F0
    MOV      A,             R7
    RL       A
    MOV      DPTR,          #BCAN_SETBR ;查表找出相应的预设***个值
    MOVC     A,             @A+DPTR
    MOV      R5,                     ;将数据保存
    MOV      A,             R7          ;找出第二个值
    RL       A
    INC      A
    MOVC     A,             @A+DPTR
    MOV      R6,                     ;保存值

    MOV      DPTR,          #REG_BTR0   ;装入波特率预设值,同步跳转宽度
                                        ;位宽度
    MOV      A,             R5           
    MOVX     @DPTR,         A
    SETB     F0
    MOVX     A,             @DPTR       
    XRL      A,             R5          ;判断写入是否正确
    JNZ      BCAN_SETBR_QUIT            ;不正确
    CLR      F0
    INC      DPTR
    MOV      A,             R6
    MOVX     @DPTR,         A
    SETB     F0
    MOVX     A,             @DPTR
    XRL      A,             R6          ;判断写入是否正确
    JNZ      BCAN_SETBR_QUIT
    CLR      F0
BCAN_SETBR_QUIT:
    RET


BCAN_SETBR:
    DB 053H,     02FH                     ;20KBPS的预设值
    DB 087H,     0FFH                     ;40KBPS的预设值
    DB 047H,     02FH                     ;50KBPS的预设值
    DB 083H,     0FFH                     ;80KBPS的预设值
    DB 043H,     02fH                     ;100KBPS的预设值
    DB 03H,      01cH                     ;125KBPS的预设值
    DB 081H,     0faH                     ;200KBPS的预设值
    DB 01H,      01cH                     ;250KBPS的预设值
    DB 080H,     0faH                     ;400KBPS的预设值
    DB 00H,      01cH                     ;500KBPS的预设值
    DB 080H,     0b6H                     ;666KBPS的预设值
    DB 00H,      016H                     ;800KBPS的预设值
    DB 00H,      014H                     ;1000KBPS的预设值
  

BCAN_SET_OBJECT:
    MOV      DPTR,      #REG_ACR      ;写ACR寄存器
    MOV      A,         R7
    MOVX     @DPTR,     A
    MOVX     A,         @DPTR
    XRL      A,         R7            ;检验写入是否正确
    JNZ      BCAN_SETO_QUIT
    INC      DPTR                     ;写AMR寄存器
    MOV      A,         R6
    MOVX     @DPTR,     A
    MOVX     A,         @DPTR
    XRL      A,         R6            ;检验写入是否正确
    JNZ      BCAN_SETO_QUIT
    CLR      F0
BCAN_SETO_QUIT:
    RET   

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BCAN_CMD_PRG:
     MOV           A,      R7
     CJNE          A,      #01,   BCAN_CMD1
     ;发送请求命令
     MOV           DPTR,   #REG_COMMAND; 地址指向命令寄存器
     MOVX          @DPTR,           ;写入命令字
     RET

BCAN_CMD1:
     CJNE          A,      #02,    BCAN_CMD2
     ;;//夭折发送命令
     MOV           DPTR,   #REG_STATUS ;地址指向状态寄存器
     MOVX          A,      @DPTR       ;判断是否有正在发送的状态
     SETB          F0
     JB            ACC.5,  BCAN_CMD_QUIT
     CLR           F0
BCAN_CMD_QUIT:
     RET

以下是几款can开发板:
http://item./auction/item_detail-0db2-6e3c6f5717a53a6802d3068fd054ecf3.jhtml
这是一款针对初学者的

http://item./auction/item_detail-0db2-84528f10e90fcdcc97b99194d14201b3.jhtml
这是一款带有8路12位adc采集功能的

http://item./auction/item_detail-0db2-58cd65ef6489e9d4f22176c16a0f6be6.jhtml
这是温度测量的

http://item./auction/item_detail-db2-155e51885e39***bca4ffe21105e566b5.htm
这是实现usb转can的

同时本人接受can项目开发:设计、制作pcb板、焊接、编程、调试以及技术支持服务。
需要的话,请联系我***:531706356 手机:13106551527  MSN:nnyt@ 邮箱:nnyt@   博客网址:http://na./nnyt       周一到周五我晚上六点到七点,***在线,其它时间请联系我手机,有时间我就上线,谢谢

 Creative Commons License 本博客作品采用版权所有,未经协议***禁止转载。

北京智德科技有限公司电话:传真:联系人:

地址:主营产品:CAN总线开发板

Copyright © 2024 版权所有: 产品网店铺主体:北京智德科技有限公司

免责声明:以上所展示的信息由企业自行提供,内容的真实性、准确性和合法性由发布企业负责。产品网对此不承担任何保证责任。