S3F9488串口通信汇编语言示例
文章来源: DAMI的QQ空间   更新时间: 2008-10-12
;点击这里直接下载该示例源码

//本文链接:http://user.qzone.qq.com/361902503/blog/1217917322

//9488串口通信
;***********************dami 2006,8,8************************
;这里实现: 9位异步.(其他简单就不搞了)
;9488串口通信一 ,有关的寄存器有:P3CONL,UARTCON,UARTPND,BRDATAH,BRDATAL,UDATA ,还有关连
;波特率的寄存器(CLKCON).
;9488串口通信模式有三种:
;同步:一个时钟,一个数据
;8位异步
;9位异步
;9488校验和由用户设置校验方式(TB8,RB8),单片机自动产生校验位和校验,有校验是否正确标志返回给用户.
;如果用户不用校验,TB8,RB8可以作为一般的数据位传送.
;多机通信:有专用多机通信位
        .INCLUDE"S3C9488.REG"
        BRDATAH_M: .equ 14H
        BRDATAL_M: .equ 15H
        
        VECTOR 00H,F9488_INT
        .ORG 003CH
        DB 0FFH
        DB 0FFH
        DB 01100000B
        DB 00000011B
        .ORG 100H
        DI
        LD WDTCON,#10101010B
        LD BTCON,#00001011B ;跟TIMEA/B没关系
        LDCLKCON,#00011000B;时钟控制器不分频

        LD SP,#0C0H
        LD SYM,#0
        LD OSCCON,#0
        ;LD OSCCON,#11110110b ;主从晶体及运行/停止
LD P3CONL,#01100100B ;P3CONL.7~5:011,P3CONL.4~2=001;
        LD SYM,#1
        LD BRDATAH_M,#0
        LD BRDATAL_M,#19H ;4M 晶体频率不分频. 波特率9600
        LD SYM,#0
        LD UARTPND,#00100000b ;PEN=1
        LD UARTCON,#10010010B ;模式2:10,MCE:0,TB8,RB8:00,RIE:接收中断允许,TIE发送中断不允许
        ;发送数据就直接写UART就行,但要
;MAIN1:
        LD UDATA,#12H
        CALL DEL2MS
        LD UDATA,#34H
        CALL DEL2MS ;发送数据,注意延时要够啊.用中断方式也行.我嫌麻烦就不搞了
        
; JP MAIN1
        ;
        EI
        
MAIN:
        NOP
        NOP
        LD R2,#22H
        TM R2,#2
        TM R2,#1
        TM R2,#4
        TM R2,#8
        TM R2,#10H
        TM R2,#20H
        TM R2,#40H
        TM R2,#80H
         
        JP MAIN
F9488_INT:
        TCM UARTPND,#2 ;UART接收中断产生标志
        JP Z,UART_RECEIVE
        LD UARTPND,#00100000b ;PEN=1
        IRET
UART_RECEIVE:
        TCM UARTPND,#10H
        JP Z,UARTRE_PARITYERR
        LD UARTPND,#00100000b ;PEN=1
        ;这里接收数据,我就不管了.
        INC R1
        NOP
        NOP
        IRET
UARTRE_PARITYERR: ;UART接收错误校验和标志
        ;错误处理
        LD UARTPND,#00100000b ;PEN=1
        NOP
        IRET
DEL2MS:
        LD R2,#250
DEL2MS1:
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        DEC R2
        JP NZ,DEL2MS1
        RET
                                 
        .END

相关备注: http://user.qzone.qq.com/361902503/blog/1217917322
 
三星单片机开发网首页