亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? can.lst

?? CAN通訊底層節(jié)點(diǎn)
?? LST
字號:
C51 COMPILER V7.50   CAN                                                                   04/23/2009 16:56:46 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE CAN
OBJECT MODULE PLACED IN can.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE can.c OPTIMIZE(0,SPEED) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*------------------------------------------------------------------------------
   2          ;CAN總線大壩監(jiān)測系統(tǒng)
   3          ;底層節(jié)點(diǎn)
   4          ;文件名稱: can.c
   5          ;函數(shù)功能:CAN總線通信
   6          ;MCU支持:  C8051F040
   7          ;上海富方軟件合肥自動化分公司
   8          ;-----------------------------------------------------------------------------*/
   9          
  10          #include "c8051F040.h"
  11          #include "can.h"
  12          #include "canreg.h"
  13          
  14          #define CAN_ID 2
  15          
  16          
  17          
  18          ////////////////////////////////////////////////////////////////////////////////
  19          // 清零所有消息對象
  20          ////////////////////////////////////////////////////////////////////////////////
  21          void Clr_All_Msg_Obj (void){    
  22   1              unsigned char i;
  23   1              SFRPAGE = CAN0_PAGE;
  24   1      
  25   1              CAN0ADR = IF1CMDMSK;       
  26   1              CAN0DATL = 0xF3;      
  27   1              // 寫消息對象,Mask,Arb,Control改變
  28   1          CAN0ADR = IF1MSK1;     
  29   1          CAN0DAT = 0xFFFF;
  30   1          CAN0DAT = 0x7FFF;
  31   1              // Xtd不用,Dir濾波,所有ID或IDE位濾波
  32   1              CAN0DAT = 0x0000;
  33   1              CAN0DAT = 0x0000;     
  34   1          // 消息對象不可用,默認(rèn)ID為0
  35   1              for (i = 1;i < 33;i++)
  36   1            {
  37   2                      CAN0ADR = IF1CMDRQST;     
  38   2                      CAN0DATL = i;
  39   2                      // 應(yīng)用到32個(gè)消息對象
  40   2            }   
  41   1      }
  42          
  43          
  44          
  45          ////////////////////////////////////////////////////////////////////////////////
  46          // 消息對象發(fā)送配置
  47          ////////////////////////////////////////////////////////////////////////////////
  48          void Init_Msg_Obj_TX (unsigned char msg_num,unsigned int id){
  49   1              unsigned int temp_id;
  50   1              SFRPAGE = CAN0_PAGE;
  51   1      
  52   1              CAN0ADR = IF1CMDMSK;
  53   1              CAN0DAT = 0x00b3; 
  54   1              // WR/RD=1,Mask=0,Arb=1,Control=1,ClrIntPnd=0,TxRqst=0,DataA=1,DataB=1
  55   1              CAN0ADR = IF1ARB1;            
C51 COMPILER V7.50   CAN                                                                   04/23/2009 16:56:46 PAGE 2   

  56   1              CAN0DAT = 0x0000;  
  57   1              // ID15-0=0
  58   1              temp_id = id<<2;     
  59   1              // 標(biāo)準(zhǔn)id為ID28-ID18,則左移2位
  60   1              temp_id &=0x1ffc;
  61   1              temp_id |=0xa000;
  62   1              // IF1ARB2=101(id)00b,MsgVal=1,Xtd=0,標(biāo)準(zhǔn)模式,Dir=1,發(fā)送
  63   1              CAN0DAT = temp_id; 
  64   1              // 地址自增指向IF1ARB2
  65   1              CAN0DAT = 0x1088;
  66   1              // IF1MSGC=0x1088,NewDat=0,MsgLst=0,IntPnd=0,UMask=1,TxIE=0,RxIE=0,
  67   1              // RmtEn=0,TxRqst=0,EoB=1,DLC3-0=1000
  68   1              // 濾波使能,發(fā)送后IntPnd不變,遠(yuǎn)程禁止,長度為8的單塊
  69   1              CAN0ADR = IF1CMDRQST;         
  70   1              CAN0DAT = msg_num;   
  71   1              // 應(yīng)用到msg_num號消息
  72   1      }
  73          
  74          
  75          
  76          ////////////////////////////////////////////////////////////////////////////////
  77          // 消息對象接收配置
  78          ////////////////////////////////////////////////////////////////////////////////
  79          void Init_Msg_Obj_RX (unsigned char msg_num,unsigned int id){
  80   1              unsigned int temp_id;
  81   1              SFRPAGE = CAN0_PAGE;
  82   1      
  83   1              CAN0ADR = IF2CMDMSK; 
  84   1              CAN0DAT = 0x00bb;             
  85   1              // WR/RD=1,Mask=0,Arb=1,Control=1,ClrIntPnd=1,TxRqst=0,DataA=1,DataB=1
  86   1              CAN0ADR = IF2ARB1;           
  87   1              CAN0DAT = 0x0000; 
  88   1              temp_id = id<<2;
  89   1              temp_id &= 0x1ffc;
  90   1              temp_id |=0x8000;
  91   1              CAN0DAT = temp_id; 
  92   1              // IF1ARB2=100(id)00b,MsgVal=1,Xtd=0,標(biāo)準(zhǔn)模式,Dir=0,接收
  93   1              CAN0DAT = 0x1488;
  94   1              // NewDat=0,MsgLst=0,IntPnd=0,UMask=1,TxIE=0,RxIE=1,RmtEn=0,TxRqst=0
  95   1          // EoB=1,DLC3-0=1000,不是中斷源,接收后IntPnd置1
  96   1              CAN0ADR = IF2CMDRQST;        
  97   1              CAN0DATL = msg_num;           
  98   1      }
  99          
 100          
 101          
 102          ////////////////////////////////////////////////////////////////////////////////
 103          // CAN發(fā)送數(shù)據(jù)動作
 104          ////////////////////////////////////////////////////////////////////////////////
 105          void Can_Trans_Data (unsigned char msg_num){    
 106   1          unsigned char num;
 107   1              SFRPAGE = CAN0_PAGE;
 108   1              
 109   1              CAN0ADR = IF1CMDMSK;          
 110   1              CAN0DAT = 0x0087;             
 111   1              // WR/RD=1,Mask=0,Arb=0,Control=0,ClrIntPnd=0,TxRqst=1,DataA=1,DataB=1
 112   1              CAN0ADR = IF1DATA1;           
 113   1              // 將8字節(jié)數(shù)據(jù)寫入IF1DATA1
 114   1              for(num = 0;num < 8;num++){
 115   2                      CAN0DATH = Can_sdata[num+1];
 116   2                      CAN0DATL = Can_sdata[num];
 117   2                      num++;
C51 COMPILER V7.50   CAN                                                                   04/23/2009 16:56:46 PAGE 3   

 118   2              }
 119   1      
 120   1          CAN0ADR = IF1CMDRQST;         
 121   1              CAN0DATL = msg_num;
 122   1              // 指向消息號 
 123   1      }
 124          
 125          
 126          
 127          ////////////////////////////////////////////////////////////////////////////////
 128          // CAN接收數(shù)據(jù)動作
 129          ////////////////////////////////////////////////////////////////////////////////
 130          void Can_Rec_Data (unsigned char msg_num){
 131   1          unsigned char num;
 132   1              SFRPAGE = CAN0_PAGE;
 133   1      
 134   1              CAN0ADR = IF2CMDMSK;            
 135   1              CAN0DAT = 0x007f;          
 136   1              // WR/RD=0,Mask=1,Arb=1,Control=1,ClrIntPnd=1,NewDat=1,DataA=1,DataB=1
 137   1              CAN0ADR = IF2CMDRQST;           
 138   1              CAN0DATL = msg_num;
 139   1              // 指向消息號              
 140   1              CAN0ADR = IF2DATA1;  
 141   1      
 142   1              for(num=0;num<8;num++){
 143   2                  Can_rdata[num+1] = CAN0DATH;
 144   2                      Can_rdata[num] = CAN0DATL;
 145   2                      num++;
 146   2              }
 147   1      
 148   1      }
 149          
 150          
 151          
 152          ////////////////////////////////////////////////////////////////////////////////
 153          // 主節(jié)點(diǎn)消息對象分別初始化,設(shè)置波特率,開啟中斷,并且啟動CAN
 154          ////////////////////////////////////////////////////////////////////////////////
 155          void Can_Msg_Init (void){
 156   1              SFRPAGE = CAN0_PAGE;
 157   1      
 158   1              CAN0CN = 0X01;
 159   1              // 初始化配置時(shí)將CAN掛起
 160   1              Clr_All_Msg_Obj();
 161   1      
 162   1              Init_Msg_Obj_RX(CAN_ID,CAN_ID);
 163   1              Init_Msg_Obj_RX(31,31);
 164   1              // 接收ID號
 165   1          Init_Msg_Obj_TX(32,32);
 166   1              // 發(fā)送ID號
 167   1      
 168   1              EIE2 |= 0x20;
 169   1              // 開啟CAN中斷
 170   1              SFRPAGE = CAN0_PAGE;
 171   1      
 172   1              CAN0CN |= 0X40;
 173   1              // CAN波特率配置可訪問,
 174   1              CAN0ADR = BITREG;
 175   1              CAN0DAT = 0x7FFF;
 176   1      
 177   1              CAN0CN = 0x02;  
 178   1              // 自動重發(fā)開啟,狀態(tài)中斷禁止,IE=1,CAN模塊中斷開啟,Init清零.結(jié)束初始化操作,CAN控制器進(jìn)入正常工作
 179   1      }
C51 COMPILER V7.50   CAN                                                                   04/23/2009 16:56:46 PAGE 4   

 180          
 181          
 182          
 183          ////////////////////////////////////////////////////////////////////////////////
 184          // CAN向上層回傳數(shù)據(jù)
 185          ////////////////////////////////////////////////////////////////////////////////
 186          void Can_Tx_Back(unsigned char Info_Data[6]){
 187   1              unsigned char i;
 188   1      
 189   1              Can_sdata[0] = Can_rdata[1];
 190   1                      Can_sdata[1] = Can_rdata[2];
 191   1      
 192   1              for(i=0; i<6 ;i++){
 193   2                              Can_sdata[i+2] = Info_Data[i];
 194   2                      }
 195   1      
 196   1                      Can_Trans_Data(0x20);
 197   1      }
 198          
 199          
 200          
 201          ////////////////////////////////////////////////////////////////////////////////
 202          // CAN中斷
 203          ////////////////////////////////////////////////////////////////////////////////
 204          void CAN_ISR (void) interrupt 19 {
 205   1              SFRPAGE_SAVE = SFRPAGE;  
 206   1              SFRPAGE = CAN0_PAGE;
 207   1      
 208   1              /* 成功接收報(bào)文 */
 209   1              if ( CAN0STA & 0x10 ){
 210   2                      CAN0STA &= 0xef;
 211   2                 
 212   2                      CAN0ADR = INTPEND2;
 213   2                      /* 廣播 */
 214   2                      if( CAN0DAT & 0x4000 )
 215   2                              Can_Rec_Data(31);
 216   2                      /* 非廣播 */
 217   2                  else
 218   2                              Can_Rec_Data(CAN_ID);
 219   2      
 220   2                      Rec_From_CAN = 1;
 221   2                  // 標(biāo)志成功收到下層信息
 222   2              } 
 223   1      
 224   1              SFRPAGE = SFRPAGE_SAVE;
 225   1      }
 226                          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    502    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     19    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产婷婷色一区二区三区四区| 日本91福利区| 国产剧情在线观看一区二区| 91浏览器在线视频| 亚洲免费观看视频| 懂色一区二区三区免费观看 | 中文字幕一区二区三区不卡在线| 蜜臀av一区二区| 日韩精品中文字幕在线不卡尤物 | 国产精品白丝在线| 粉嫩av一区二区三区粉嫩| 综合久久国产九一剧情麻豆| 精品国产精品网麻豆系列| 视频一区视频二区中文| 欧美性欧美巨大黑白大战| 亚洲国产精品一区二区尤物区| 在线看国产一区二区| 亚洲欧洲中文日韩久久av乱码| 国产一区二三区| 成人国产精品免费观看动漫| 亚洲天堂av一区| 91一区在线观看| 国产欧美一区二区精品秋霞影院| 成人动漫中文字幕| 中文字幕亚洲在| 欧美日韩中字一区| 日本不卡视频一二三区| 91精品国产色综合久久ai换脸 | 国产成人精品免费看| 日韩精品在线一区二区| 26uuu精品一区二区| 国产精品久久久久一区二区三区| 成人性色生活片免费看爆迷你毛片| 中文字幕一区二区不卡| 欧美在线观看视频在线| 日韩中文字幕av电影| 日韩欧美不卡一区| 国产成人免费网站| 国产精品乱人伦中文| 欧美日韩电影在线| 久久99国产精品成人| 国产农村妇女毛片精品久久麻豆| 欧美特级限制片免费在线观看| 日本视频免费一区| 欧美α欧美αv大片| 成人av网站大全| 五月婷婷激情综合| 国产精品理伦片| 欧美老肥妇做.爰bbww| 国产乱码字幕精品高清av | 久久一区二区视频| 99精品黄色片免费大全| 亚洲高清三级视频| 一区免费观看视频| 日韩一区二区三区三四区视频在线观看| 国产一区二区视频在线播放| 一区二区三区精品视频在线| 日韩视频一区二区在线观看| www.激情成人| 久久精工是国产品牌吗| 亚洲色大成网站www久久九九| av一二三不卡影片| 精品一区二区在线免费观看| 亚洲免费观看视频| 国产午夜亚洲精品理论片色戒| 欧美在线你懂的| 国模少妇一区二区三区| 亚洲综合一区二区| 久久九九久精品国产免费直播| 3d成人动漫网站| 91社区在线播放| 国产馆精品极品| 麻豆精品蜜桃视频网站| 亚洲欧美日韩在线播放| 国产成人av资源| 精品少妇一区二区三区在线视频| 欧美偷拍一区二区| 成人ar影院免费观看视频| 麻豆久久一区二区| 亚洲国产综合在线| 中文字幕在线不卡视频| 国产精品免费久久| 精品国产一区久久| 国产**成人网毛片九色 | 有码一区二区三区| 26uuu国产一区二区三区| 欧美日韩国产区一| 欧美美女视频在线观看| 色综合一个色综合亚洲| 国产一级精品在线| 风间由美性色一区二区三区| 裸体在线国模精品偷拍| 久久激情综合网| 男女视频一区二区| 天天综合网 天天综合色| 午夜精品免费在线| 亚洲第一在线综合网站| 久久午夜羞羞影院免费观看| 亚洲免费资源在线播放| 18涩涩午夜精品.www| 国产精品白丝在线| 亚洲欧洲性图库| 国产日韩精品一区二区三区在线| 久久久国产精品不卡| 久久先锋影音av鲁色资源| 久久久99久久精品欧美| 久久精品亚洲精品国产欧美 | 精品国偷自产国产一区| 欧美不卡视频一区| 欧美sm美女调教| 亚洲国产精品传媒在线观看| 9i看片成人免费高清| 日本伊人午夜精品| 免费在线视频一区| 精品一区二区免费在线观看| 国产福利一区二区三区在线视频| 成人三级在线视频| 99久久伊人网影院| 欧美区一区二区三区| 欧美一区二区三区影视| 欧美日韩中文一区| 91精品婷婷国产综合久久竹菊| 日韩欧美电影在线| 久久精品男人天堂av| 日韩一区欧美小说| 日韩成人午夜电影| 国产一区二区三区日韩| 国产.欧美.日韩| 6080yy午夜一二三区久久| 日韩一级高清毛片| 中文字幕一区二区三区不卡在线 | 久久国产精品露脸对白| 国产91精品一区二区| 成人小视频在线| 欧美亚洲另类激情小说| 欧美大肚乱孕交hd孕妇| 一区二区三区四区av| 麻豆精品久久精品色综合| 99精品偷自拍| 日韩免费看的电影| 国产日韩亚洲欧美综合| 日韩电影在线免费看| 国产资源精品在线观看| 欧美日韩一本到| 久久久国产精品麻豆 | 国产精品久久久久影院老司| 亚洲成人黄色小说| a美女胸又www黄视频久久| 7777精品伊人久久久大香线蕉完整版| 精品乱码亚洲一区二区不卡| 亚洲精品欧美专区| 国产一区中文字幕| 日韩午夜小视频| 亚洲品质自拍视频网站| 欧美挠脚心视频网站| 天天综合日日夜夜精品| 欧美在线高清视频| 成人av电影在线网| 欧美精品久久99久久在免费线 | 精品污污网站免费看| 久久久国产精品午夜一区ai换脸| 奇米一区二区三区av| 色综合久久88色综合天天6| 国产日韩欧美一区二区三区乱码| 日本成人在线视频网站| 色久优优欧美色久优优| 亚洲欧美电影一区二区| 紧缚捆绑精品一区二区| 欧美巨大另类极品videosbest| 亚洲天堂a在线| 国产成人免费av在线| 久久新电视剧免费观看| 美女mm1313爽爽久久久蜜臀| 国产成人精品亚洲777人妖| 久久久久久久久久久久电影 | 欧美国产国产综合| 韩国成人精品a∨在线观看| 91丨九色丨国产丨porny| 日韩一级精品视频在线观看| 亚洲与欧洲av电影| 国产成人亚洲综合a∨婷婷图片| 在线中文字幕一区二区| 亚洲欧洲精品一区二区三区| 国产91精品露脸国语对白| 国产精品色噜噜| 成人av网站在线观看免费| 中文字幕中文在线不卡住| 成人毛片在线观看| 久久久久久久久久久久久夜| av一区二区久久| 综合欧美亚洲日本| 91亚洲大成网污www| 亚洲欧洲韩国日本视频| 欧洲一区在线电影| 亚洲综合男人的天堂| 欧美日韩高清影院| 日日欢夜夜爽一区| 欧美最猛黑人xxxxx猛交| 亚洲一区二区三区四区五区黄 | 日韩美女天天操|