PIC单片机串口发送与按键

这是我学习PIC单片机调试过程中尝试的PIC单片机串口发送实验,当按键RB0有按下时,num自加,同时RC0端口接的LED翻转,并把num的数传给发送寄存器发送至电脑端,波特率为9600,4M晶振.

代码如下:
#include<pic.h>
__CONFIG(0x3B31);

unsigned int num=0;

void GPIO_init()
{
TRISB=0xff;
TRISC=0xfe;
TRISC0=0;
OPTION_REG=0x07;
}

void delay(unsigned int x)
{
unsigned int i,j;
for(i=x;i>0;i–)
for(j=110;j>0;j–);
}

void serialinit()
{

TXSTA=0x24;
RCSTA=0x90;
SPBRG=25;
GIE=1;
PEIE=1;
TXIE=0;

}
void key_scan()
{
if(RB00)
{
delay(15);
if(RB0
0)
{
num++;
TXIE=1;
TXIF=1;
if(!(num%2))
{
RC0=~RC0;
}

		while(!RB0);
	}
}

}

void interrupt serial0()
{
if(TXIE&&TXIF)
{
TXIF=0;
TXIE=0;
//RCREG=num;
if(num==30)
{
num=0;
TXREG=0x80;
}
else
TXREG=num;
while(!TRMT);
}

}

void main()
{
GPIO_init();
serialinit();
while(1)
{
key_scan();
}
}

代码不太会排版.如有会的大大教教以后发布就可以调整了.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值