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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? repeater.asm

?? 本程序為集中抄表系統中低壓電力線載波數據采集器程序源代碼
?? ASM
字號:
;---------------------------------------
;中繼器程序
;載波收發用同一緩沖區
REPEATER_FRM_PROCESS:
                CPL     WATCH_DOG
                LCALL   SAVE_JZQ_SEND_FRM_BUF                 ;將集中器發送的中繼抄表幀存入存儲器
                LCALL   SEND_TO_METER_FRM                     ;將接收到的中繼抄表命令轉發給電表
                LCALL   ZJQFRM_PROCESS_OVER                   ;清接收緩沖
CLR_1S_WAIT_TIME:
                CLR     INIT_ST7536_FLAG                     ;清等待30S標志
                CLR     ZJQ_SEND_WAIT                         ;清發送等待1秒標志位
IF_TIME_OVER:
                JNB     ZJQ_SEND_WAIT,JUDGE_REC_FRM           ;沒超時,判斷接收到電表回應幀否?
                CLR     INIT_ST7536_FLAG                     ;清等待30S標志
                CLR     ZJQ_SEND_WAIT                         ;超時,清該標識
                LJMP    THROW_ZJQ_ACK                         ;轉通過中繼器抄
JUDGE_REC_FRM:
                CPL     WATCH_DOG
                JNB     FRM_PROCESS,IF_TIME_OVER              ;是否有來自電表的回應幀
                CLR     FRM_PROCESS                           ;清接收幀標識
                MOV	DPH,#C04_ADDR_H                       ;FM24C04高位地址
                MOV     DPL,#ZJQ_REC_FRM_BUF+6                ;存儲器中接收幀長度存儲地址
                LCALL	RD_C04_1BYTE
                MOV     A,REC_ADDR                            ;接收到的地址低位
                CJNE    A,B,CLR_1S_WAIT_TIME                  ;接受到的表地址低位與目標表地址相同否?
                INC     DPL
                LCALL	RD_C04_1BYTE                          ;讀出高位
                MOV     A,REC_ADDR+1                          ;接收到的地址高位
                CJNE    A,B,CLR_1S_WAIT_TIME                  ;高位相同否
                LJMP    ACK_TO_JZQ_FRM                        ;抄到目標表,回應回應集中器命令幀
;--------------------------------------
;通過下級中繼器抄當前表
THROW_ZJQ_ACK:
                LCALL   READ_JZQ_SEND_FRM                     ;從存儲器讀出集中器發送的幀并轉發給電表
                LCALL   ZJQFRM_PROCESS_OVER                   ;清接收緩沖
CLR_WAIT_1S_TIME:
                CLR     INIT_ST7536_FLAG                      ;清等待30S標志
                MOV     COUNTER_1S,#00H                       ;清1秒計數器
                CLR     ZJQ_SEND_WAIT                         ;清發送等待1秒標志位
ZJQ_WAIT_TIME:
                JNB     ZJQ_SEND_WAIT,JUDGE_ZJQ_REC_FRM1      ;沒超時,判斷接收到電表回應幀否?
                CLR     ZJQ_SEND_WAIT                         ;超時,清該標識
                CLR     INIT_ST7536_FLAG                      ;清等待30S標志
                MOV     COUNTER_1S,#00H                       ;清1秒計數器
                AJMP    WAIT_CLOUD
JUDGE_ZJQ_REC_FRM1:
                CPL     WATCH_DOG
                JNB     FRM_PROCESS,ZJQ_WAIT_TIME             ;是否有來中繼器的回應幀
                AJMP    REC_ZJQ_SEND_FRM                      ;收到正確幀,轉處理
WAIT_CLOUD:
                JNB     ZJQ_SEND_WAIT,JUDGE_ZJQ_REC_FRM2      ;沒超時,判斷接收到電表回應幀否?
                CLR     ZJQ_SEND_WAIT                         ;超時,清該標識
                CLR     INIT_ST7536_FLAG                     ;清等待30S標志
                MOV     COUNTER_1S,#00H                       ;清1秒計數器
                LJMP    ZJQFRM_PROCESS_OVER                   ;沒收到回應幀退出
JUDGE_ZJQ_REC_FRM2:
                CPL     WATCH_DOG
                JNB     FRM_PROCESS,WAIT_CLOUD                ;是否有來中繼器的回應幀
REC_ZJQ_SEND_FRM:
                CLR     FRM_PROCESS                           ;
                MOV     DPL,#REPEATER_ADDR                    ;2級中繼器地址首位地址
                MOV	DPH,#C04_ADDR_H                       ;FM24C04高位地址
                LCALL	RD_C04_1BYTE
                MOV     A,REC_ADDR                            ;接收到的地址低位
                CJNE    A,B,WAIT_CLR_REC_BUF                  ;接受到的表地址低位與中繼器地址相同否?
                INC     DPL
                LCALL	RD_C04_1BYTE                          ;讀出高位
                MOV     A,REC_ADDR+1                          ;接收到的地址高位
                CJNE    A,B,WAIT_CLR_REC_BUF                  ;高位相同否

                MOV   SEND_ADDR,REC_DATA_METER                ;發送的地址號變為目標表號
                MOV   SEND_ADDR+1,REC_DATA_METER+1            ;高地址
                MOV   REC_DATA_METER,#00H                     ;中繼地址變為00
                MOV   REC_DATA_METER+1,#00H
                AJMP    ACK_TO_JZQ_FRM                        ;回應集中器
WAIT_CLR_REC_BUF:
                LCALL   ZJQFRM_PROCESS_OVER                   ;清接收緩沖
                CLR     ZJQ_SEND_WAIT                         ;超時,清該標識
                CLR     INIT_ST7536_FLAG                     ;清等待30S標志
                MOV     COUNTER_1S,#00H                       ;清1秒計數器
                AJMP    WAIT_CLOUD
ACK_TO_JZQ_FRM:
                LCALL    METER_DATA_REC_PROCESS               ;向集中器回應電表回應的數據
ZJQFRM_PROCESS_OVER:
                MOV     REC_CUR_LEN,#00H                       ;當前幀長度清0
                MOV     R0,#REC_BUF                            ;清接收緩沖
                MOV     B,#REC_BUF_LEN
CLR_ZJREC_FRM1: MOV     @R0,#00H
                INC     R0
                DJNZ    B,CLR_ZJREC_FRM1
                SETB    RX_TX                                    ;ST7536接收狀態
                CLR     FRM_PROCESS
                RET                                            ;返回等待處理下一輪中繼抄表
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;集中器命令幀處理程序轉發給電表
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SEND_TO_METER_FRM:
            ;    MOV     R0,#REC_BUF
            ;    MOV     R1,#SEND_BUF
            ;    MOV     B,#REC_BUF_LEN
UP_FRM1:    ;    MOV     A,@R0
            ;    MOV     @R1,A
            ;    INC     R0
            ;    INC     R1
            ;    DJNZ    B,UP_FRM1
                MOV     SEND_ADDR,REC_DATA_METER               ;接收到的中繼幀中的表號變為地址號向下發送給電表
                MOV     SEND_ADDR+1,REC_DATA_METER+1
                MOV     SEND_DATA_METER,#00H                   ;向下發送的中繼表號為0
                MOV     SEND_DATA_METER+1,#00H

                LCALL   PRODUCE_SUM_END                        ;產生發送幀和校驗和幀尾
                CLR     TXD_READY_FLAG                         ;清發送準備好標志
                SETB    R_LEDC                                 ;接收燈滅
                CLR     S_LEDC			               ;發送指示亮
                LCALL   SEND_FRM                               ;發送寫應答幀
                SETB    S_LEDC			               ;發送指示滅
                RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;電表數據幀轉發給集中器處理程序
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
METER_DATA_REC_PROCESS:
             ;   MOV   R0,#REC_BUF                              ;將接收到的電表回應幀,放至發送緩沖區,向集中器發送
             ;   MOV   R1,#SEND_BUF
             ;   MOV   B,#REC_BUF_LEN
DOWN_FRM1:   ;   MOV   A,@R0
             ;   MOV   @R1,A
             ;   INC   R0
             ;   INC   R1
             ;   DJNZ  B,DOWN_FRM1

                MOV   SEND_DATA_METER,REC_ADDR                  ;中繼地址變為目標表號
                MOV   SEND_DATA_METER+1,REC_ADDR+1

                MOV   SEND_ADDR,#LOW(TERMINAL_ID)               ;發送的地址號為本采集器號(1級中繼)
                MOV   SEND_ADDR+1,#HIGH(TERMINAL_ID)

                LCALL PRODUCE_SUM_END                           ;產生發送幀和校驗和幀尾

                CLR   TXD_READY_FLAG
                SETB    R_LEDC                                  ;接收燈滅
                CLR     S_LEDC			                ;發送指示亮
                LCALL   SEND_FRM                                ;發送寫應答幀
                RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CLR_SEND_BUF:
                MOV     R0,#SEND_BUF                           ;清發送緩沖區
                MOV     B,#SEND_BUF_LEN
 CLR_SEND_FRM1: MOV     @R0,#00H
                INC     R0
                DJNZ    B,CLR_SEND_FRM1
                RET
;-----------------------------------------
;將集中器發送的中繼抄表幀存入存儲器
SAVE_JZQ_SEND_FRM_BUF:
                MOV     R0,#REC_BUF                           ;接收到的首個數據
                MOV     A,REC_DATA_FEILD_LEN                  ;接收數據域長度
                ADD     A,#07H                                ;加固定字節長度7字節
                MOV     R5,A                                  ;接收幀長度
                MOV	DPH,#C04_ADDR_H                       ;FM24C04高位地址
                MOV     DPL,#ZJQ_REC_FRM_BUF                  ;存儲器首地址低位
SAVE_REC_FRM_LOOP:
                MOV	B,@R0                                 ;接收緩沖區內容存到存儲器
		LCALL	WR_C04_1BYTE
                INC     R0
		INC     DPL
                DJNZ    R5,SAVE_REC_FRM_LOOP                  ;存儲完畢否?
                RET
;---------------------------------------------
;從存儲器讀出集中器發送的幀并發送
READ_JZQ_SEND_FRM:
                MOV	DPH,#C04_ADDR_H                       ;FM24C04高位地址
                MOV     DPL,#ZJQ_REC_FRM_BUF+4                ;存儲器中接收幀長度存儲地址
                LCALL	RD_C04_1BYTE
                MOV     A,B                                   ;接收數據域長度送A
                ADD     A,#07H                                ;加固定字節長度7字節
                MOV     R5,A                                  ;接收幀長度
                MOV     R0,#REC_BUF                           ;接收到的首個數據
                MOV	DPH,#C04_ADDR_H                       ;FM24C04高位地址
                MOV     DPL,#ZJQ_REC_FRM_BUF                  ;存儲器首地址低位
READ_REC_FRM_LOOP:
		LCALL	RD_C04_1BYTE
                MOV	@R0,B                                 ;存到接收緩沖區內容
                INC     R0
		INC     DPL
                DJNZ    R5,READ_REC_FRM_LOOP                  ;讀完否?

                MOV     DPL,#REPEATER_ADDR                    ;2級中繼器地址首位地址
                MOV	DPH,#C04_ADDR_H                       ;FM24C04高位地址
                LCALL	RD_C04_1BYTE
                MOV     SEND_ADDR,B                           ;采集器地址變為2級中繼地址低位
                INC     DPL                                   ;高位
                MOV	DPH,#C04_ADDR_H                       ;FM24C04高位地址
                LCALL	RD_C04_1BYTE
                MOV     SEND_ADDR+1,B                         ;2級中繼地址低位

                LCALL   PRODUCE_SUM_END                        ;產生發送幀和校驗和幀尾
                CLR     TXD_READY_FLAG                         ;清發送準備好標志
                SETB    R_LEDC                                 ;接收燈滅
                CLR     S_LEDC			               ;發送指示亮
                LCALL   SEND_FRM                               ;發送寫應答幀
              ;  SETB    R_LEDC                                 ;接收燈滅
                RET

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久永久免费观看| 国产成人av资源| 国产综合色在线视频区| 亚洲三级久久久| 久久嫩草精品久久久精品一| 精品久久久久久亚洲综合网| 在线精品视频免费播放| 激情欧美一区二区三区在线观看| 中文字幕免费观看一区| 欧美三片在线视频观看| 国产在线视视频有精品| 亚洲激情一二三区| 欧美一级片免费看| 91精品久久久久久蜜臀| 欧美在线999| 日韩成人一区二区三区在线观看| 久久精品网站免费观看| 日韩一区二区在线看| 国产福利一区二区三区视频在线| 麻豆免费看一区二区三区| 亚洲视频免费看| 精品盗摄一区二区三区| 偷拍日韩校园综合在线| 成人av先锋影音| 欧美伦理视频网站| 欧美一区二区不卡视频| 日韩欧美亚洲一区二区| 最新日韩在线视频| 免费成人在线视频观看| 蜜桃视频第一区免费观看| 久久精品99久久久| 国产乱子伦视频一区二区三区| 免费成人你懂的| 亚洲精品视频在线| 中文字幕佐山爱一区二区免费| 国产麻豆精品在线| 色狠狠色噜噜噜综合网| 国产精品久久久久一区二区三区| 欧美性欧美巨大黑白大战| 极品少妇xxxx精品少妇偷拍| 国产精品区一区二区三| 日韩视频一区二区三区| 91视频免费播放| 狠狠色伊人亚洲综合成人| 亚洲美女一区二区三区| 亚洲精品一线二线三线| 色8久久精品久久久久久蜜| 韩日欧美一区二区三区| 亚洲成人1区2区| 亚洲三级久久久| 2024国产精品| 欧美一卡在线观看| 色婷婷久久久久swag精品| 国产经典欧美精品| 美女爽到高潮91| 亚洲v中文字幕| 最新热久久免费视频| 2019国产精品| 欧美一级在线观看| 欧美日韩一区二区电影| 色先锋aa成人| 成人免费观看男女羞羞视频| 韩国在线一区二区| 免费观看久久久4p| 婷婷综合五月天| 一区二区三区四区蜜桃| 中文字幕日本乱码精品影院| 91在线精品秘密一区二区| 懂色av一区二区三区免费观看| 激情文学综合插| 男女激情视频一区| 日韩高清欧美激情| 视频一区欧美日韩| 亚洲成年人网站在线观看| 国产欧美久久久精品影院| 久久久久久久久久电影| 91日韩一区二区三区| 九九九久久久精品| 日韩码欧中文字| 日韩免费看的电影| 99免费精品在线观看| 国产欧美一区二区三区鸳鸯浴| 欧美巨大另类极品videosbest | 欧美日韩中字一区| 91福利国产精品| 在线观看日韩一区| 欧美三区在线观看| 91精品国产综合久久精品app| 欧美性感一区二区三区| 在线观看视频91| 欧美日韩国产另类不卡| 91精品福利在线一区二区三区 | 精品国产区一区| 精品国产乱子伦一区| 欧美精品一区二区不卡| 国产人妖乱国产精品人妖| 久久精品网站免费观看| 中文字幕av一区二区三区免费看| 国产欧美一区二区三区在线看蜜臀| 国产欧美综合在线观看第十页| 国产精品丝袜久久久久久app| 国产精品萝li| 亚洲一区在线免费观看| 亚洲成人激情综合网| 久久成人免费网站| 波多野结衣亚洲| 欧美性欧美巨大黑白大战| 欧美一区二区成人6969| 国产日韩欧美一区二区三区乱码 | 久久女同互慰一区二区三区| 国产精品视频九色porn| 一区二区三区四区中文字幕| 青青草原综合久久大伊人精品优势| 裸体在线国模精品偷拍| 成人97人人超碰人人99| 欧美日韩国产精品自在自线| 精品成人a区在线观看| 国产精品久久久久久久岛一牛影视 | 国产精品白丝av| 91啪亚洲精品| 欧美成人a视频| 亚洲色大成网站www久久九九| 午夜av区久久| 国产99精品国产| 欧美日韩国产高清一区二区| 国产视频一区不卡| 午夜日韩在线观看| 成人一区二区三区| 51精品视频一区二区三区| 国产欧美视频在线观看| 午夜精品久久久久久久久久| 国产成人精品www牛牛影视| 欧美美女bb生活片| 中文字幕乱码一区二区免费| 性做久久久久久久久| 成人免费观看视频| 日韩美女主播在线视频一区二区三区| 国产精品国产三级国产普通话99 | 久久99日本精品| 欧美综合天天夜夜久久| 国产婷婷色一区二区三区 | 欧美不卡激情三级在线观看| 日韩一区日韩二区| 国产最新精品精品你懂的| 欧美精品一二三| 亚洲精品视频在线| 国产电影精品久久禁18| 91精品在线观看入口| 一区二区三区精品在线| 成人亚洲一区二区一| 2022国产精品视频| 久久99热国产| 日韩欧美一区中文| 日韩精品一二区| 欧美亚洲综合色| 亚洲欧洲av色图| 成人黄色av网站在线| 精品国产乱码久久久久久牛牛 | 97精品国产97久久久久久久久久久久| 精品国产免费人成电影在线观看四季| 亚洲一区二区三区四区的 | 7777女厕盗摄久久久| 亚洲一线二线三线久久久| 色综合色狠狠天天综合色| 国产精品色在线| av不卡免费在线观看| 国产日韩欧美精品一区| 国产成a人无v码亚洲福利| 久久一留热品黄| 国产一区三区三区| 久久久久久久久一| 国产老女人精品毛片久久| 久久―日本道色综合久久| 黑人精品欧美一区二区蜜桃| 26uuu精品一区二区在线观看| 蜜臀av一区二区| 精品日韩成人av| 国产在线播精品第三| 久久久久久久久久久久久女国产乱| 精品一区二区精品| 国产日韩欧美精品一区| 国产 日韩 欧美大片| 国产精品乱码一区二区三区软件 | 狠狠色狠狠色综合| 精品久久久久久亚洲综合网| 国产精品一区2区| 国产精品久久久久久久岛一牛影视 | 日韩高清一级片| 欧美成人综合网站| 国产精品中文有码| 国产精品免费aⅴ片在线观看| 91在线观看一区二区| 亚洲国产一区视频| 日韩你懂的在线观看| 国产福利视频一区二区三区| 中文字幕中文字幕一区二区 | 亚洲成人自拍一区| 日韩欧美国产精品一区| 国产精品一区二区免费不卡| 中文字幕在线观看一区二区|