娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年01月09日(星期四)

正在發生

2018年01月09日 | CAN接口匯編程序

發布者:cwm6269310 來源: eefocus關鍵字:CAN接口  匯編程序 手機看文章 掃描二維碼
隨時隨地手機看文章

CAN接口匯編程序

ORG     0000H 
LJMP     MAI
ORG     0003H 
LJMP     CANINT0                    

 

ORG     000BH 
LJMP    T0-INTERRUPT 
ORG     0100H 
MAIN: 
MOV      R0,#07FH 
CLR     A 
MOV     @R0,A 
DJNZ     R0,$_1 
MOV     @R0,A 
MOV      SP,#60H                         
LCALL     SJA1000_INIT0                     
LCALL     DISPLAY_INIT                     
LCALL     T0INIT                         
SETB     PX0                             
SETB     IT0                             
SETB     EX0                             
SETB     ET0  
SETB     TR0                             
SETB     EA                             
LOOPER: 
JNB     RCV_GOOD,LOOPER2                 
CLR     RCV_GOOD                     
LCALL     RCVDATA PRG                     
LOOPER2: 
JNB     SEC_FLAG,LOOPER3 
CLR     SEC_FLAG  
LCALL     SENDDATA_PRG                 
LOOPER3: 
JNB     ERR_FLAG,LOOPER4 
CLR     ERR_FLAG 
LCALL     ERR_PRG                         
LOOPER4: 
JNB         OVER_FLAG,LOOPER5             
CLR     OVER_FLAG 
LCALL     DOVER_PRG                     
LOOPER5:  
JNB         DS_ENDLFLAG,LOOPER6             
CLR     DS_END_FLAG 
LCALL     DSEND_PRG 
LOOPER6: 
JNB         WUL FLAG,LOOPER7             
CLR     WUL FLAG 
LCALL     WOKE_PRG                     
LOOPER7: 
AJMP     LOOPER 
SJA1000_INIT0:                          
LCALL     CAN_CREATE_COMMUNATION 
MOV      R7,#12                         
LCALL     CAN_SET_BANDRATE             
MOV      R7,#0A8H                         
MOV      R6,#0ffH                         
LCALL     CAN_SET_OBJECT 
MOV      R7,#0AAH                         
MOV      R6,#048H  
LCALL     CAN_SET_OUTCLK              
LCALL     CAN_QUIT_RETMODEL             
MOV      DPTR,# REG_CONTROL 
MOV      A,#01EH                         
MOV X     @DPTR,A 
CLR     F0 
RET 

ERR_PRG: 
LCALL     CAN_ENTER_RETMODEL         
LCALL     SJA1000_INIT0                     
MOV     ERROR_STATUS,#0FCH             
LCALL     DISP_ERROR                     
RET 
DSENDLPRG: 
LCALL     DISP_OK                         
RET  
RCVDATA_PRG: 
MOV      R0,#RCV_DATA_BUF1 
LCALL     CAN_DATA_RECEIVE             
MOV      R7,#04H 
LCALL     CAN_CMD_PRG 
RET 
SENDDATA_PRG: 
MOV      R0,#SEND_DATA_BUFl 
MOV     @R0,#0AFH 
INC         R0                             
MOV     @R0,#08H 
MOV      A,TEST_DATA 
INC         R0                              
MOV      @R0,A 
MOV      R0,#SEND_DATA_BUFl 
LCALL     CAN_DATA_WRITE 
MOV      R7,#01 
LCALL     CAN_CMD_PRG 
RET 
TO_INIT: 
MOV      A,TMOD                         
ANL     A,#0F0H 
ORL     A,#’01H 
MOV      TMOD,A                         
MOV      TH0,#0FCH 
MOV      TL0,#066H 
MOV      3AH,# 00H 
RET 
CAN_INT0:                             
PUSH     DPH                             
PUSH     DPL 
PUSH     PSW                             
PUSH     ACC 
MOV      DPTR,#REG INTERRUPT             
MOV X     A,@DPTR 
MOV      SAVE_INT_INFO,A                 
JNB         ACC.0,CAN_INTl                 
SETB    RCV_GOOD                     
CAN_INT1:                              
MOV      A,SAVE_INT_INFO 
JNB         ACC.2,CAN INT2                 
SETB     ERR_FLAG 
CAN_INT2: 
POP         ACC 
POP         PSW 
POP         DPL 
POP         DPH 
RETI 
TO_INTERRUPT: 
PUSH     DPH                             
PUSH    DPL 
PUSH     PSW                             
PUSH     ACC 
MOV      TH0,#80H 
MOV      TL0,#26H 
LCALL     DISPLAY 
INC         3AH                         
MOV      A,3AH 
CJNE     A,#40H,TO_QUIT                 
MOV      3AH,#00H 
SETB     SEC_FLAG 
INC        TEST_DATA                     
TO_QUIT: 
POP         ACC                             
POP         PSW 
POP         DPL 
POP         DPH 
RETI 
DISP_ERROR: 
MOV      R0,#DISPLAYBUFO+1             
MOV     @R0,#0EH 
MOV      R0,#DISPLAYBUFO+2 
MOV     @R0,#l0H 
INC         R0                             
MOV      A,ERROR_STATUS 
ANL     A,#0F0H 
SWAP     A 
MOV     @R0,A 
INC         R0 
MOV      A,ERROR_STATUS 
ANL     A,# 0FH 
MOV     @R0,A 
RET 
DISP_OK:                                  
MOV      R0,#DISPLAYBUFO+1 
MOV     @R0,#11H 
MOV      R0,#DISPLAYBUFO+2 
MOV     R0,#l0H 
MOV      R0,#DISPLAYBUFO+3 
MOV      A,RCV_DATA_BUF3 
ANL     A,#0F0H                             
SWAP     A 
MOV     @R0,A 
INC         R0 
MOV      A,RCV_DATA_BUF3 
ANL     A,#0FH 
MOV     @R0,A 
RET_ 
$INCLUDE(SJA_CANFunc. ASM)              
$include( display_s. inc) 
END 
CAN_CREATE_COMMUNATION: 
MOV      DPTR,#REG_TEST                     
MOV X     A,.DPTR 
MOV      A,#0AAH                             
MOV X    @DPTR,A 
SETB     F0 
MOV X     A,.DPTR 
CJNE     A,#OAAH,CAN_CM_QUIT                 
MOV      A,#055H                         
MOV X     @DPTR,A 
MOV X     A,@DPTR 
CJNE     A,#055H,CAN_CM_QUIT                 
CLR     A 
MOV X    @DPTR,A 
CLR     F0 
CAN_CM_QUIT: 
RET 
CAN_ENTER_RETMODEL:                 
MOV      DPTR,#REG_CONTROL                 
MOV X     A,@DPTR 
ORL     A,#01H                             
MOV X    @DPTR,A  
CLR     DWF0 
MOV X     DWA,@DPTR                         
JB         ACC.0,CAN_ER_QUIT 
SETB     F0 
CAN_ER_QUIT: 
RET 
CAN-QUIT-RETMODEL: 
MOV     DPTR,#REG_CONTROL                 
MOV X     A,@DPTR 
ANL     A,#OFEH                             
MOV X    @DPTR,A  
CLR     F0 
MOV X     A,@DPTR 
JNB         ACC. 0,CAN_QR_QUIT                 
SETB     F0 
CAN_QR_QUIT: 
RET 
CAN_SET_BANDRATE:                          
MOV      A,R7 
CLR     CY 
SUBB     A,#13 
SETB     F0 
JNC         CAN_SETBR_QUIT                     
CLR     F0  
MOV      A,R7 
RL         A 
MOV      DPTR,#CAN SETBR                     
MOV C     A,@A+DPTR  
MOV      R5,A                                 
MOV      A,R7                                 
RL         A 
INC         A 
MOV C     A,@A+DPTR 
MOV      R6,A                                 
MOV      DPTR,# REGLBTR0                     
MOV      A,R5                                 
MOV X .    DPTR,A 
SETB     F0 
MOV X     A,QDPTR 
XRL     A,R5 
JNZ         CAN_SETBR_QUIT                     
INC         DPTR 
MOV      A,R6 
MOV X     @DPTR,A 
MOV X     A,@DPTR 
XRL     A,R6                             
JNZ         CAN_SETBR_QUIT 
CLR     F0 
CAN_SETBR_QUIT: 
RET 
CAN_SETBR: 
DB     0EFH,0FFH                             
DB     0D7H,0FFH                             
DB     0CBH,0FFH                             
DB     0C5H,0FFH                             
DB     0C9H,0A9H                             
DB     0C2H,0FFH                             
DB     84H,0A7H                                 
DB     82H,025H                                 
DB     01H,045H                                 
DB    01H,025H                                 
DB    01H,012H                                 
DB     00H,025H                                 
DB     00H,012H                                 
CAN_SET_OBJECT: 
MOV      DPTR,#REG_ACR                     
MOV      A, R7  
MOV X     @DPTR,A 
MOV X     A,@DPTR 
SETB     F0 
XRL     A,R7                                 
JNZ         CAN_SETO_QUIT 
CLR     F0 
INC         DPTR                             
MOV      A,R6 
MOV X     @DPTR,A 
MOV X     A,DPTR 
SETB     F0 
XRL     A,R6                                 
JNZ         CAN_SETO_QUIT 
CLR     F0 
CAN_SETO_QUIT: 
RET 
CAN_SET_OUTCLK: 
MOV      DPTR,#REG_OCR                     
MOV      A,R7 
MOV X     @DPTR,A 
MOV X     A,@ DPTR                         
SETB     F0 
XRL     A,R7 
JNZ     CAN_SETOQ_QUIT 
CLR        F0 
MOV      DPTR,#REG CDR                 
MOV      A,R6 
MOV X     @DPTR,A 
MOV      B,A 
MOV X     A,@ DPTR 
SETB     F0 
XRL     A,R6                                 
JNZ         CAN_SETOC_QUIT 
CLR     F0 
CAN_SETOC_QUIT 
RET 
CAN     DATA WRITE: 
MOV      DPTR,# REG_STATUS 
MOV X     A,@DPTR 
SETB     F0 
JNB         ACC.3,CAN_DW_QUIT 
CLR     F0 
MOV X     A,@DPTR 
SETB     F0 
JNB         ACC.2,CAN_DW_QUIT 
CLR     F0 
INC         R0 
MOV      A, R0 
DEC     R0 
MOV      DPTR,#REG_TxBufferl 
JB         ACC.4, CAN_WYB 
ANL     A,#0FH                             
ADD     A,#02H                             
MOV      R7,A 
AJMP     CAN_WRTXBUF 
CAN_WYB: 
MOV      R7,#02                             
CAN_WRTXBUF: 
MOV      A,R0                                 
MOV X .    DPTR,A 
SETB     F0 
MOV X     A,@DPTR                             
XRL     A,.R0  
JNZ         CAN_DW_QUIT                     
CLR     F0                                 
INC         R0  
INC         DPTR 
DJNZ     R7,CAN_WRTXBUF                     
CAN_DW_QUIT: 
RET 
CAN_DATA_RECEIVE: 
MOV      DPTR,井REG_STATUS                 
MOV X     A,@DPTR                             
SETB     F0 
JNB         ACC.0,CAN_DR_QUIT 
CLR     F0 
MOV      DPTR,#REG_RxBuffer2 
MOV X     A,@DPTR 
MOV      DPTR,#REG RxBufferl 
JB         ACC. 4,CAN_RCVYB 
ANL     A,#0FH                             
ADD     A,# 02H                             
MOV      R7,A 
AJMP     CAN_RCVDATA 
CAN_RCVYB: 
MOV      R7,#02                             
CAN_RCVDATA:                             
MOV X     A,.DPTR 
MOV     @R0,A 
INC         DPTR 
INC         R0 
DJNZ     R7,CAN RCVDATA 
CAN_DR_QUIT: 
RET 
CAN_CMD_PRG: 
MOV      A,R7 
CJNE     A,#01,CAN_CMDl                     
MOV      DPTR,#REG COMMAND                 
MOV X     @DPTR,A                             
CLR     F0 
RET 
CAN_CMDl: 
CJNE     A,#02,CAN_CMD2 
MOV      DPTR,#REG STATUS                     
MOV X     A,@DPTR                             
SETB     F0 
JB         ACC.5,CAN_CMDLQUIT 
CLR     F0 
CAN_CMD_QUIT: 
RET 
CAN_CMD2: 
CJNE    #04,CAN CMD3                         
MOV      DPTR,# REG_COMMAND                 
MOV X     @DPTR,A                             
NOP 
NOP 
MOV      DPTR,#REG STATUS                     
MOV X     A,.DPTR 
SETB     F0 
JB         ACC.0,CAN_DB_QUIT 
CLR     F0 
CAN_DB_QUIT: 
RET 
CAN_CMD3: 
CJNE     A,#08,CAN_CMD4                     
MOV      DPTR,# REG_COMMAND                 
MOV X     @DPTR,A                             
NOP 
NOP 
MOV      DPTR,#REG_STATUS                 
MOV X     A,@DPTR 
SETB     F0 
JB         ACC.1,CAN_DOVER_QUIT 
CLR     F0 
CAN_DOVER_QUIT: 
RET 
SCAN CMD4: 
CJNE     A,#10H,CAN_CMD5                     
MOV      DPTR,#REG_COMMAND                 
MOV X    @DPTR,A                             
CLR     F0 
CAN     CMD5: 
RET 


關鍵字:CAN接口  匯編程序 引用地址:CAN接口匯編程序

上一篇:單片機雙機點對點通信的主機程序
下一篇:ASCII碼到BCD碼轉換子程序

推薦閱讀

組合解決方案在全照明條件下為業界提供高分辨率,全駕駛艙監控以及安全功能ASIL B級的支持數字圖像解決方案開發商豪威科技公司(OmniVision Technologies)今日宣布推出一款和Jungo Connectivity合作開發的評估套件。該套件結合了Jungo屢獲殊榮功能,并具有深度學習、機器學習和計算機視覺算法功能的CoDriver軟件開發套件(SDK)、以及OmniVision的,Om...
集微網消息(文/科技瞄)1月8日上午,在CES 2019期間,英特爾召開了發布會,英特爾與阿里巴巴宣布達成合作,基于英特爾硬件產品和阿里云展開人工智能發展合作。英特爾與阿里巴巴表示,他們將在2020年東京奧運會期間使用人工智能技術對運動員進行三維立體跟蹤。英特爾周一在拉斯維加斯表示,雙方希望能夠通過多個攝像頭將運動員姿勢建模技術和計算機視覺成...
輪胎模具用于成型輪胎,其加工質量對輪胎的生產非常重要。為了生產出好的輪胎,必須對輪胎模具加工質量提出高的要求。傳統的加工質量檢測法主要是靠百分表,人為采集數據后分析得出加工質量報告。這種辦法的局限性是需要操作者有一定的工作經驗,而且取樣過程人為控制,精度受到一定影響。近幾年來,輪胎模具工業隨著輪胎的大量需求而得到了快速發展...
豪威科技,全球排名前列的數字圖像解決方案開發商,當日在CES召開前發布了OAX8000。這款采用AI技術的汽車專用集成電路(ASIC)針對入門級獨立駕駛員監控系統(DMS)進行了優化。OAX8000采用芯片堆疊架構,為業界唯一一款DMS處理器提供片上DDR3 SDRAM內存(1GB)。這也是唯一一款集成了神經處理單元(NPU)和圖像信號處理器(ISP)的專用DMS處理器,可為眼...

史海拾趣

問答坊 | AI 解惑

短信貓發送長短信遇到的問題

用短信貓發送單條短信的話沒有問題。。每條發送在5s左右,但是如果是長短信的話(兩條或更多),第一條發送時間是5s,但第二條就會用30s左右。 達人們幫幫小弟吧。剛開始弄這個,郁悶死了。…

查看全部問答∨

if能這樣用嗎 如不能要怎么用

                     if(a[0]+a[1]==0x1a9)                   if(a[0]*a[1]==0xa956)         ...…

查看全部問答∨

C Shell 如何控制子進程

小弟剛剛接觸cshell,現在碰到一個對我來說很難的問題,具體是這樣的:   小弟要寫一個cshell的腳本,用來調用synopsis的vcs仿真并控制其仿真流程。      這一步很簡單,只需要在腳本中執行\"./simv -ucli\"就行 ...…

查看全部問答∨

wince和app怎么分開?

大家討論下呢, 應用情境os:wince,app是自己公司開發,也可以提供sdk包給第三方開發, 那如何做到wince和app如何分開呢?怎么做比較合理? 不能像手持設備一樣,就提供個wince的系統,最好能夠把開始鍵和其他系統供功能給屏蔽掉。…

查看全部問答∨

交叉編譯環境搭建,初級問題,大家指教,初學。

打算在ubuntu 8.04下用建一個arm9的交叉編譯環境,從網上搜了一下看到好多方法,不知都要安裝和設置哪些東西,有點暈。^_^ 有的說只安裝一個交叉編譯器cross-3.2.tar.bz2就可以了。 還有的說要: 下載源代碼包:    binutils-2. ...…

查看全部問答∨

晶體管合金 后放大倍數翻倍,如何解釋

晶體管合金后放大倍數翻倍,如何解釋…

查看全部問答∨

提問+KL46低功耗運行機制以及模式切換

無操作系統,采用定時中斷的方式,現在想讓KL46在每次中斷產生處理完事物后進入低功耗模式, 然后每個中斷喚醒(喚醒后處理事物)。 另外還有一種狀態是當系統進入待機狀態后,切換進入低功耗模式,這個時候不在通過定時器喚醒了, 而是通過ADC ...…

查看全部問答∨

LPC1500體驗+系統搭建 傻瓜篇(XP系統MDK5)

本帖最后由 gaon 于 2014-8-16 22:27 編輯 做為了一個新手,對系統的搭建及使用往往會遇到許多問題。 雖然前面各位高手寫了很多的文章,但對于初學者看起來還是有些費勁, 自己在學習時也遇到不少的問題,經高手的指點才完成了搭建的過程。 于 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 建瓯市| 刚察县| 扎鲁特旗| 珲春市| 黄平县| 巴东县| 孟村| 清河县| 浪卡子县| 尖扎县| 贞丰县| 永平县| 谢通门县| 荔波县| 盐津县| 凯里市| 新密市| 宿州市| 衡水市| 巴里| 耒阳市| 武汉市| 三门县| 枣阳市| 宁化县| 普兰店市| 山西省| 伊宁市| 巧家县| 砀山县| 拉萨市| 桓台县| 新巴尔虎左旗| 思南县| 德化县| 平山县| 黄平县| 普兰店市| 双柏县| 绍兴县| 富川|