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

📄 01.c

📁 PIC18F4580 UART通讯程序
💻 C
字号:
/*
使用UART进行接收
仿真使用4M频率

*/

#include<PIC18.h>
#include"lib.h"

#define uint unsigned int
#define uchar unsigned char
#define ulong unsigned long

void delay(uint);

void device_init(void);
void port_init(void);

void interrupt highints(void);

bit ledflag=0;

/*
延时函数
*/
void delay(uint i)
{
 while(i--);
      
 }


void interrupt highints(void)
{
 uchar c;
 while(RCIF)
{
 c=RCREG;//由于接收是双缓冲结构,所以读的时候读两次,第二次才是需要的值
 if(c=='\b')
	{
 	uart_sendchar('\b');
     uart_sendchar(' ');
     uart_sendchar('\b');
    }
 else if(c=='\r')
  {
    uart_sendchar('\r');
    uart_sendchar('\n');
  }
 else if(c=='0')
    {
     ledflag=0;
    uart_sendchar(c);
    }
 else 
   { 
   ledflag=1;
   uart_sendchar(c);
   }
  RCIF=0;
 }
}

void port_init(void)
{
 PORTA=0XFF;
 TRISA=0Xff;

 PORTB=0XFF;
 TRISB=0Xff;

 PORTC=0XFF;//
 TRISC=0X86;//1001 0111
 
 PORTD=0xff;
 TRISD=0xfe;//

 
 }

void device_init(void)
{
 port_init();
 uart_init(4000000,9600);
 WDTCON=0x00;//禁止看门狗
 }

void main(void)
{
delay(1000);//启动延时
 device_init();

while(1)  
 RD0=ledflag;


}

⌨️ 快捷键说明

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