机电之家资源网
单片机首页|单片机基础|单片机应用|单片机开发|单片机文案|软件资料下载|音响制作|电路图下载 |嵌入式开发
培训信息
赞助商
HT48R50A的 RS232串口示例程序
HT48R50A的 RS232串口示例程序
 更新时间:2010-2-2 15:59:18  点击数:0
【字体: 字体颜色

; ********************************************
; Function :基于HT48R50A的 RS232串口示例程序 *

; MicroProcessor : HT48R50A-1/28SKDIP-A      *

; Author:         www.picavr.com             *
; Crystal :       4MHz                       *
; ********************************************
#INCLUDE                HT48R50A-1.INC
TXD                     EQU     PB.1
RXD                     EQU     PB.0
BAUDRATE                EQU     135                     ;2400,N,8,1
;--------------------------------------------------------------------
PUBLIC                  TRANSMIT
PUBLIC                  RECEIVE
;--------------------------------------------------------------------
DATA_RS232              .SECTION        ’DATA’
COUNTER                 DB      ?
DELAY_COUNTER           DB      ?
DELAY_COUNTER_1         DB      ?
DELAY_COUNTER_2         DB      ?
TRANSMIT_DATA           DB      ?
RECEIVE_DATA            DB      ?
;--------------------------------------------------------------------
TRANSMIT_CODE           .SECTION        ’CODE’
TRANSMIT:
                        MOV     TRANSMIT_DATA,A
                        SET     PB
                        MOV     A,00000001B
                        MOV     PBC,A

                        MOV     A,BAUDRATE
                        MOV     DELAY_COUNTER,A
                        CLR     TXD                     ;SEND START
T_START_BIT:                                            ;BIT
                        SDZ     DELAY_COUNTER
                        JMP     T_START_BIT
;-------------------------------------------------------
                        MOV     A,08H
                        MOV     COUNTER,A
T_DATA_BIT:
                        RRC     TRANSMIT_DATA
                        SNZ     C
                        JMP     T_SEND_LOW
                        SET     TXD
                        JMP     T_BIT_DELAY
T_SEND_LOW:
                        CLR     TXD
T_BIT_DELAY:
                        MOV     A,BAUDRATE
                        MOV     DELAY_COUNTER,A
T_DELAY_SEND:
                        SDZ     DELAY_COUNTER
                        JMP     T_DELAY_SEND
                        SDZ     COUNTER
                        JMP     T_DATA_BIT
;-------------------------------------------------------
TRANSMIT_END:
                        SET     TXD                     ;SEND STOP
                                                        ;BIT
                        MOV     A,025H
                        MOV     DELAY_COUNTER_1,A
                        MOV     DELAY_COUNTER_2,A
T_STOP_DELAY:
                        SDZ     DELAY_COUNTER_2
                        JMP     T_STOP_DELAY
                        SDZ     DELAY_COUNTER_1
                        JMP     T_STOP_DELAY
                        RET
;--------------------------------------------------------------------
RECEIVE_CODE            .SECTION        ’CODE’
RECEIVE:
                        SET     PB
                        MOV     A,00000001B
                        MOV     PBC,A
R_START_BIT:
                        SZ      RXD                     ;RECEIVE
                        JMP     R_START_BIT             ;START BIT
                        MOV     A,BAUDRATE + 2
                        MOV     DELAY_COUNTER,A
R_START_BIT_DELAY:
                        SDZ     DELAY_COUNTER
                        JMP     R_START_BIT_DELAY
;-------------------------------------------------------
                        MOV     A,08H
                        MOV     COUNTER,A
R_DATA_8_BITS:
                        CLR     C
                        SZ      RXD
                        SET     C
                        RRC     RECEIVE_DATA
                        MOV     A,BAUDRATE + 2
                        MOV     DELAY_COUNTER,A
R_DATA_BIT_DELAY:
                        SDZ     DELAY_COUNTER
                        JMP     R_DATA_BIT_DELAY
                        SDZ     COUNTER
                        JMP     R_DATA_8_BITS
;-------------------------------------------------------
                        MOV     A,RECEIVE_DATA
;-------------------------------------------------------
                        RET
;--------------------------------------------------------------------

  • 上一篇: 数控直流恒流源的设计与制作
  • 下一篇: 没有了
  • 发表评论   告诉好友   打印此文  收藏此页  关闭窗口  返回顶部
    热点文章
     
    推荐文章
     
    相关文章
    网友评论:(只显示最新5条。)
    关于我们 | 联系我们 | 广告合作 | 付款方式 | 使用帮助 | 机电之家 | 会员助手 | 免费链接

    点击这里给我发消息66821730(技术支持)点击这里给我发消息66821730(广告投放) 点击这里给我发消息41031197(编辑) 点击这里给我发消息58733127(审核)
    本站提供的机电设备,机电供求等信息由机电企业自行提供,该企业负责信息内容的真实性、准确性和合法性。
    机电之家对此不承担任何保证责任,有侵犯您利益的地方请联系机电之家,机电之家将及时作出处理。
    Copyright 2007 机电之家 Inc All Rights Reserved.机电之家-由机电一体化网更名-声明
    电话:0571-87774297 传真:0571-87774298
    杭州滨兴科技有限公司提供技术支持

    主办:杭州市高新区(滨江)机电一体化学会
    中国行业电子商务100强网站

    网站经营许可证:浙B2-20080178-1