PIC单片机5——串口 中断
创始人
2024-02-24 17:47:58
0

 

 

 

//10M晶振 波特率9600 BRG8位波特率发生器 异步模式
#include "p18f458.h"
#include "mydelay.h"

#pragma config OSC=HS,WDT=OFF,LVP=OFF,DEBUG=ON

void PIC18F_High_isr(void);/*中断服务函数声明*/
void PIC18F_Low_isr(void);
void usart_tx(unsigned char ch);
unsigned char usart_rx();

#pragma code high_vector_section=0x8
void high_vector (void)
{
    _asm goto PIC18F_High_isr _endasm
}

#pragma code low_vector_section=0x18
void low_vector (void)
{
    _asm goto PIC18F_Low_isr _endasm
}

#pragma code

#pragma interrupt PIC18F_High_isr
void PIC18F_High_isr (void)
{
  PORTB=RCREG;
  usart_tx(RCREG+1);
}

#pragma interruptlow PIC18F_Low_isr
void PIC18F_Low_isr (void)
{
    PORTBbits.RB4=~PORTBbits.RB4;
    INTCON3bits.INT2IF=0;/*清除中断标志*/
}

void usart_tx(unsigned char ch)
{
  while (!TXSTAbits.TRMT);
  TXREG=ch;
  while(!PIR1bits.TXIF);
}
unsigned char usart_rx()
{
  while(!PIR1bits.RCIF);
  return RCREG;
}
void printstr(const rom char *str)
{
  while(*str)
  {
    if(*str=='\n')//回车
    {
      usart_tx(0x0d);
      usart_tx(0x0a);
    }
       
    usart_tx(*str);
    str++;
  }
}
void main()
{
  char k;
  //ADCON1=0b00001111;/*设置所有双用口为普通数字口*/
  //CMCON=0b00000111;/*关闭所有比较器*/
  //INTCON2bits.RBPU=0;/*开启B口弱上拉*/
  TRISB=0x00; //B口输出
  PORTB=0xff;
 
  RCSTAbits.SPEN=1;//使能串口
  TXSTAbits.SYNC=0;//设置为异步模式
  TXSTAbits.BRGH=1;//高速模式
  SPBRG=64;//波特率9600   10000000/9600/16-1
  RCSTAbits.CREN=1;//使能接收
  TXSTAbits.TXEN=1;//发送使能
 
  IPR1bits.RCIP=1;//高优先级
  PIE1bits.RCIE=1;//串口中断使能
  INTCONbits.PEIE=1;//外设中断使能
  INTCONbits.GIE=1;//开启中断
 
  while(1)
  {
    //if(PIR1bits.RCIF==1)
      //PORTB=RCREG;
    printstr("asdfg");
    for(k=0;k<10;k++)
      delay();
  }
 
}

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...