找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1008|回复: 0
打印 上一主题 下一主题
收起左侧

单片机智能小区安防程序系统

[复制链接]
跳转到指定楼层
楼主
ID:529231 发表于 2019-5-10 09:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

CAN初始化程序代码为:
#include <reg52.h>
#include <stdio.h>
#include <string.h>
#include <absacc.h>
#define byte unsigned char
#define word unsigned int
#define time0  65536-2000
#define BAUD  -13
#define MAIN    1 ///定义主机,从机地址
#define ADDR    2
#define READ   'R'
#define WRIT   'W'
#define CAN_PORT P0
#define CAN_CR   0   //控制
#define CAN_CMR  1    //命令
#define CAN_SR   2   //状态
#define CAN_IR   3   //中断
#define CAN_ACR  4    //验收
#define CAN_AMR  5    //屏蔽
#define CAN_BTR0 6    //时序0
#define CAN_BTR1 7    //时序1
#define CAN_OCR  8    //输出
#define CAN_TXB  10   //发送缓冲
#define CAN_RXB  20   //接收缓冲
#define CAN_CDR  31   //分频

sbit CAN_WR  = P2^5;
sbit CAN_RD  = P2^6;
sbit CAN_ALE = P2^7;
sbit CAN_RST = P1^0;

sbit da_in   = P3^7;
sbit da_clk  = P3^6;
sbit da_cs   = P3^5;

sbit KEY1    = P2^0;
sbit KEY2    = P2^1;
sbit LED1    = P1^3;
sbit LED2    = P1^4;
sbit LED7    = P1^7;
sbit beer    = P1^1;
bit CANBUS;
byte bdata Acc ;
sbit Acc7=Acc^7;
byte idataTXB[10]={1,2,3,4,5,6,7,8,9,10}; //第一个为报文标志码

byte idata RXB[10];
void CAN_INI()  /*初始化部分*/
{
  CANW(CAN_CR,0x01);   
  CANW(CAN_ACR,MAIN); //验收滤波器需与报文标志码(从机的发送的第一个字节)一致
  CANW(CAN_AMR,0x00);   
  CANW(CAN_BTR0,0x42);   //125k-BPS
  CANW(CAN_BTR1,0x1c);
  CANW(CAN_OCR,0x1A);   //0xaa,0xd2,0xfa
  CANW(CAN_CR,0x02);    //**中断使能   
}
4.1.2CAN数据发送
数据发送,现场的各传感器把环境多参数的检测信号(数字量、模拟量、开关量)进行转换处理后,发向CAN控制器的发送缓冲区,然后启动CAN控制器的发送命令,此时CAN控制器将自动向总线发送数据,不再需传感器的微控制器进行干预。
CAN数据发送的程序代码为:
void CANW(byte adr,byte dat)//写CAN数
{
  CAN_ALE=1;
  CAN_PORT=adr;
  CAN_ALE=0;
  CAN_WR=0;
  CAN_PORT=dat;
  CAN_WR=1;
}

byte CANR(byte adr)  //读CAN数
{
  byte dat;
  CAN_ALE=1;
  CAN_PORT=adr;
  CAN_ALE=0;
  CAN_PORT=0xff;
  CAN_RD=0;  
  dat=CAN_PORT;
  CAN_RD=1;
  return dat;
}

void CAN_SEND() /*发送数据部分*/
{
byte i,p;
p=CANR(CAN_SR);
if (p&0x04)
{
  p=CAN_TXB;        /*p指向发送缓存首址*/
  for(i=0;i<10;i++) CANW(p++,TXB);
  CANW(CAN_CMR,0x01);    /*请求发送*/
}
}

全部资料51hei下载地址:
智能小区安防系统.7z (550.97 KB, 下载次数: 14)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表