老古开发网首页
导航:老古开发网首页文章索引索引第2427页文章分类DSP数字信号处理第28页→[TMS320LF2407异步串行例子]
| -文章搜索 - 最新文章 - |

第2517篇:TMS320LF2407异步串行例子

发布时间:2006年7月26日 点击次数:1045
来源:   作者:
 

.include 240x.h
       

KICK_DOG    .macro                ;Watchdog reset macro
        LDP      #00E0h
        SPLK     #05555h, WDKEY
        SPLK     #0AAAAh, WDKEY
        LDP      #0h
        .endm
;===========================================================================
; M A I N   C O D E  - starts here
;===========================================================================
        .text
START:       
        LDP     #0
        SETC    INTM            ; Disable interrupts
        LDP     #00E0h
        SPLK    #0040h,SCSR1        ; Enable clock for SCI module
        SPLK    #006Fh,WDCR        ; Disable WD
        KICK_DOG               
        SPLK    #0h,60h            ; Set wait state generator for:
        OUT     60h,WSGR        ; Program Space, 0-7 wait states       
                        
;===========================================================================
;SCI TRANSMISSION TEST - starts here
;===========================================================================
       
SCI:        LDP     #0E1h           
        SPLK    #0003h,MCRA
        LAR     AR0, #SCITXBUF        ; Load AR0 with SCI_TX_BUF address
        LAR     AR1, #SCIRXBUF        ; Load AR1 with SCI_RX_BUF address
        LAR     AR2, #1Fh        ; AR2 is the counter
        LAR     AR3, #60h        ; AR3 is the pointer
       
        LDP     #SCICCR>>7
        SPLK    #17h, SCICCR        ; 17 for internal loopback
                        ; 07-External. For external option JP12=2-3
                        ; 1 stop bit,odd parity,8 char bits,
                        ; async mode, idle-line protocol
        SPLK    #0003h, SCICTL1        ; Enable TX, RX, internal SCICLK,
                        ; Disable RX ERR, SLEEP, TXWAKE
        SPLK    #0000h, SCICTL2        ; Disable RX & TX INTs
        SPLK    #02h, SCIHBAUD
        SPLK    #08h, SCILBAUD            ; Baud Rate=9600 b/s (40 MHz SYSCLK)
        SPLK    #0023h, SCICTL1        ; Relinquish SCI from Reset.

XMIT_CHAR:    LACL    #61h            ; Load ACC with xmit character
        MAR    *,AR0
        SACL    *,AR1            ; Write xmit char to TX buffer

       
XMIT_RDY:    BIT     SCICTL2,BIT7        ; Test TXRDY bit
        BCND    XMIT_RDY,NTC        ; If TXRDY=0,then repeat loop

RCV_RDY:    BIT     SCIRXST,BIT6        ; Test RXRDY bit
        BCND    RCV_RDY,NTC        ; If RXRDY=0,then repeat loop

READ_CHR:    LACL    *,AR3            ; The received (echoed) character is
                        ; stored in 60h
        SACL    *+,AR2            ; This loop is executed 20h times
        BANZ    XMIT_CHAR        ; Repeat the loop again

LOOP        B    LOOP            ; Program idles here after executing
                        ; transmit loops
        .end


欢迎进入老古论坛进行讨论
[DSP数字信号处理] 相关文章:
50%占空比输出(DSP56F805汇编)
简介:
;50%占空比输出:FP_PULSE_OUT ;输入量:FP_PULSE(5k_10k) ;输出量: ;说明:T=F_MAX/(FP_PULSE*nowf*1000) 我们选1分频,T(s)=N*25(ns)*2,后面*2是因为我们输出的是50%占空比 ;N即为我们要设的预计记数值 ;N=F_MAX*1,000,000,000/(nowf*FP_PULSE*1000*50)=F_MAX*20000/(nowf*FP_PULSE) ;我们对<3Hz的频率不于考虑。也就是说N&l......

ADC和DAC应用中被忽略的几个关键参数(转)
430端口介绍
基于TMS320F240的PID和PWM温度控制
ADC输入电路的正确处理(转)
 
下一个:[DSP数字信号处理]50%占空比输入(DSP56F805汇编)
简介:
;================================== ;50%占空比输入:FP_PULSE_IN ;输入量: ;输出量:nowf ;说明:我们对定时器A的计数器0的I/O引脚的输入信号记数来得到一个值N,通过计算来得到当前频率nowf ;nowf=F_MAX*1,000,000,000/(N*FP_PULSE*1000*100)=F_MAX*40000/(N*FP_PULSE) ;我们采用查询的方法,对于采样的N值,我们采用中位值平均滤波法(又称防脉冲干扰平均滤波法)来提高精......

上一个:[DSP数字信号处理]dsp网络资源

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:30分钟 执行时间:47毫秒