讨论
显示结果1到1的1

Connection Port Serie和16F877的问题



  1. #1
    Firaz.

    Connection Port Serie和16F877的问题


    ------

    你好,这是firaz,我是新的 在这个论坛上,我目前正在研究微控制器编程16F877,我发现了一个可确保链接绑定PC-16F877的程序,但是当我在MPLAB环境中执行它时,它会向我显示我的错误谁想帮助我 这是一个谢谢的节目
    ; ============================= =================
    Title "USART TESTER"
    列表P = 16F877,C = 140;处理器类型
    ErrerLevel 1, - (305)
    #include "p16f877.inc"
    __CONFIG _PWRTE_ON&_HS_OSC&_LVP_OFF&_WD T_OFF

    TEMP QUE7FH;
    ;
    ; -----------
    ; DESCRIPTION
    ; -----------
    ;
    ;波特率= 9600,没有赌注,8位& 1 Stop Bit
    ;
    ; -------------
    ; PROGRAM START
    ; -------------
    ;
    ORG 0; startup = 0000h.
    clrf状态;银行0.
    goto BootStart
    org 4
    ISR转到5;
    org 5
    ;
    ; ------------------------------------------------------------------- - ----------------------------
    ;设置端口以遵循您的电路要求
    ;设置端口以满足您的电路要求
    ; ------------------------------------------------------------------- - ----------------------------
    ;

    BootStart
    Banksel Porta;银行
    movlw b'00000000'
    movwf PORTA
    movlw b'00000000'
    movwf PORTB
    movlw b'01000000'
    movwf PORTC
    movlw b'00000000'
    movwf PORTD
    movlw b'00000000'
    movwf PORTE

    Banksel Trisa;银行
    movlw b'00000001'
    movwf TRISA
    movlw b'00000000'
    movwf TRISB
    movlw b'11000000';设置RC6.& RC7 as input
    movwf TRISC
    movlw b'00000000'
    movwf TRISD
    movlw b'11101000'
    movwf TRISE
    movlw b'00000111'
    MOVWF ADCON1; porta输入=数字不是模拟
    ;
    ; BAUD RATE SETTINGS
    ;
    ; BRGH = 0的波特价值
    ; ((20000000/9600)/ 64)-1 = 32
    ; MOVLW为207'; 1200波特@ 16 MHz FOSC +0.16 err
    ; movlw为103'; 2400波特@ 16 MHz FOSC +0.16 ERR
    movlw 25'; 9600波特@ 16 MHz FOSC +0.16错误
    ; movlw 12'; 19200波特@ 16 MHz FOSC +0.16错误
    ; movlw 255'; 1200波特@ 20 MHz FOSC +1.73 ERR
    ; movlw为129'; 2400波特@ 20 MHz FOSC +0.16错误
    ; movlw 32'; 9600波特@ 20 MHz FOSC -1.36错误
    ; 15'的movlw; 19200波特@ 20 MHz FOSC +1.73 ERR

    ; BRGH = 1的波特价值
    ; ((20000000/9600)/ 16)-1 = 32
    movlw为129'; 9600波特@ 20 MHz FOSC +0.16错误
    movwf SPBRG
    movlw b'00100100'; brgh = 1
    movwf txsta;启用异步传输,设置BRGH
    Banksel Rcsta;银行
    movlw b'10010000'
    MOVWF RCSTA;启用异步接收
    movf RCREG,w
    movf RCREG,w
    movf rcreg,w;冲洗接收缓冲器
    ;
    ;
    ; ------------------------------------------------------------------- -
    ;在结算时间提供启动
    ;提供开始的建立时间
    ; ------------------------------------------------------------------- -
    ;
    clrf temp
    Settle
    decfsz temp
    goto Settle

    LWaitCom
    呼叫remloop;等待并从RS232读取
    movwf portb;显示目的诊断价值
    TxLoop
    nop
    BTFSS PIR1,TXIF; XMIT缓冲区空?
    goto txloop;没有,等待

    movwf TXREG

    goto LWaitCom ; no
    ;
    ; -------------------------------
    ;从RS232接收角色
    ; -------------------------------
    ;此例程不会返回UNIL接收字符。
    ;此例程在收到字符之前不会返回。

    RecLoop
    nop
    BTFSS PIR1,RCIF;检查收到的数据
    ;检查收到的数据
    goto RecLoop
    movf RCREG,w
    return
    end

    -----
    附加的文件 Fichiers attachés

类似的讨论

  1. 答案: 8
    上一条消息: 08/05/2009, 01h47
  2. 与港口的连接问题
    由Castader在互联网论坛 - 网络 - 一般安全
    答案: 4
    上一条消息: 23/09/2007, 08h23
  3. Port Serie与CCS的16F877
    Joseph4008在电子论坛
    答案: 7
    上一条消息: 12/07/2006, 17h56
  4. VB与Serie Port之间的对话问题
    Brandsni在硬件论坛 - 硬件
    答案: 4
    上一条消息: 21/04/2006, 16h21
  5. VB与Serie Port之间的对话问题
    由Brandsni在电子论坛
    答案: 1
    上一条消息: 21/04/2006, 15h12
发现我们的 比较产品 论计算机科学与技术。