⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 新增文字文件.txt

📁 PIC18實作範例
💻 TXT
字号:
#include <p18cxxx.h>
#include <usart.h>

#define BaudRate 25  // 38400

void F_Initial(void);
void F_Enable_High_Interrupts ( void );

void High_INT_SER ( void );

#pragma code High_Interrupt_Vector=0x08
void High_INT_VEC (void)
{
    _asm
    goto    High_INT_SER
    _endasm
}
#pragma code
#pragma interrupt High_INT_SER
void High_INT_SER (void)
{
    int i=0;
    char C_Temp;
    char cc[16]=" not a alphabet";
    if ( DataRdyUSART() )
    {
        C_Temp = getcUSART();
        if((C_Temp>64 && C_Temp<91)||(C_Temp>96 && C_Temp<123))
        {
            if((C_Temp>64 && C_Temp<90)||(C_Temp>96 && C_Temp<122))
                C_Temp=(char)((int)C_Temp+1);
            else if (C_Temp==91 || C_Temp==122)
                C_Temp=(char)0;
            putcUSART(C_Temp);
        }
        else
            //for(i=0;i<15;i++)
                putsUSART(cc);
    }
    PIR1bits.RCIF = 0;
}

void main (void)
{
    F_Initial();
    F_Enable_High_Interrupts();
    while(1);
}

void F_Initial(void)
{
OpenUSART( USART_TX_INT_OFF  &
            USART_RX_INT_ON  &
            USART_ASYNCH_MODE &
            USART_EIGHT_BIT   &
            USART_CONT_RX     &
            USART_BRGH_HIGH,
            BaudRate              );
}

void F_Enable_High_Interrupts (void)
{
    RCONbits.IPEN = 1;
    INTCONbits.GIEH = 1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -