您当前的位置:五五电子网电子知识单片机-工控设备AVR单片机avr异步中断接收和发送通信程序 正文
avr异步中断接收和发送通信程序

avr异步中断接收和发送通信程序

点击数:7303 次   录入时间:03-04 11:59:32   整理:http://www.55dianzi.com   AVR单片机
USART_AINT_TXINI2:
    ldi ZL,(1<<RXEN)|(1<<TXEN)|(1<<RXCIE)|(1<<UDRIE)
    out UCSRB,ZL                    ;接收器与发送器使能和接收结束中断、
                                      ;与 USART 数据寄存器空中断使能
    ret                             ;子程序返回


;*******************************************************************************
;*
;* 向 USART 端口发送通信协议命令子程序清单
;*
;* 说明:
;*   本子程序用于向 USART 端口发送通信协议命令。调用这些子程序后,将立即
;* 启动该命令的发送作业。共包括下列这些独立的子程序。
;*
;*   向端口发送[向对方请求发送]命令 --------- “USART_TX_COMM_AskTX”
;*   向端口发送[允许对方发送]命令 ----------- “USART_TX_COMM_OKRX”
;*   向端口发送[要求对方重新发送]命令 ------- “USART_TX_COMM_REPTX”
;*   向端口发送[接收数据正确]命令 ----------- “USART_TX_COMM_DataOK”
;*   向端口发送[要求对方发送指定数据]命令 --- “USART_TX_COMM_DCOMTX”
;*   向端口发送[要求对方重新初始化]命令 ----- “USART_TX_COMM_REPINI”
;*   向端口发送[重新初始化完成]命令 --------- “USART_TX_COMM_RINIOK”
;*
;*******************************************************************************


;*** 此段程序用于发送[重新初始化完成]命令 - “USART_TX_COMM_RINIOK”
USART_TX_COMM_RINIOK:
    rcall USART_TXD_COMM_Head       ;将开头字符串和端口编号复制到 SRAM 中
    ldi ZL,Low(USART_RINIOK*2)      ;置 Z 指针为重新初始化完成命令字符串,
    ldi ZH,High(USART_RINIOK*2)       ;在 FLASH 中的存储地址
    rcall USART_TXD_COMM_COM        ;将命令字符串复制到 SRAM 的发送地址中,
                                      ;并置发送命令作业标志值
    rcall USART_AINT_TXINI          ;发送本命令字符串
    ret                             ;子程序返回

;*** 此段程序用于发送[要求对方重新初始化]命令 - “USART_TX_COMM_REPINI”
USART_TX_COMM_REPINI:
    rcall USART_TXD_COMM_Head       ;将开头字符串和端口编号复制到 SRAM 中
    ldi ZL,Low(USART_REPINI*2)      ;置 Z 指针为要求对方重新初始化命令字符串,
    ldi ZH,High(USART_REPINI*2)       ;在 FLASH 中的存储地址
    rcall USART_TXD_COMM_COM        ;将命令字符串复制到 SRAM 的发送地址中,
                                      ;并置发送命令作业标志值
    rcall USART_AINT_TXINI          ;发送本命令字符串
    ret                             ;子程序返回

;*** 此段程序用于发送[向对方请求发送]命令 - “USART_TX_COMM_AskTX”
USART_TX_COMM_AskTX:
    rcall USART_TXD_COMM_Head       ;将开头字符串和端口编号复制到 SRAM 中
    ldi ZL,Low(USART_AskTX*2)       ;置 Z 指针为向对方请求发送命令字符串,
    ldi ZH,High(USART_AskTX*2)        ;在 FLASH 中的存储地址
    rcall USART_TXD_COMM_COM        ;将命令字符串复制到 SRAM 的发送地址中,
                                      ;并置发送命令作业标志值
    rcall USART_AINT_TXINI          ;发送本命令字符串
    ret                             ;子程序返回

;*** 此段程序用于发送[允许对方发送]命令 - “USART_TX_COMM_OKRX”
USART_TX_COMM_OKRX:
    rcall USART_TXD_COMM_Head       ;将开头字符串和端口编号复制到 SRAM 中
    ldi ZL,Low(USART_OKRX*2)        ;置 Z 指针为向对方请求发送命令字符串,
    ldi ZH,High(USART_OKRX*2)         ;在 FLASH 中的存储地址

    rcall USART_TXD_COMM_COM        ;将命令字符串复制到 SRAM 的发送地址中,
                                      ;并置发送命令作业标志值
    rcall USART_AINT_TXINI          ;发送本命令字符串
    ret                             ;子程序返回

;*** 此段程序用于发送[要求对方重新发送]命令 - “USART_TX_COMM_REPTX”
USART_TX_COMM_REPTX:
    rcall USART_TXD_COMM_Head       ;将开头字符串和端口编号复制到 SRAM 中
    ldi ZL,Low(USART_REPTX*2)       ;置 Z 指针为向对方请求发送命令字符串,
    ldi ZH,High(USART_REPTX*2)        ;在 FLASH 中的存储地址
    rcall USART_TXD_COMM_COM        ;将命令字符串复制到 SRAM 的发送地址中,

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16]  下一页


本文关键字:通信  程序  AVR单片机单片机-工控设备 - AVR单片机

上一篇:makefile文件讲解

《avr异步中断接收和发送通信程序》相关文章>>>