|
学习了串口通信 尝试了一下单片机与单片机之间的串口通信
使用UART协议
主要实现了在主机上按下独立按键 然后从机上的LED灯显示
主机发送的main.c
#include "regx52.h"
#include <UART.h>
#include <Key.h>
#include <Delay.h>
unsigned char keyn;
void main()
{
UART_Init();
while(1)
{
keyn=Key();
switch(keyn)
{
case 1:UART_SendByte(keyn);break;
case 2:UART_SendByte(keyn);break;
case 3:UART_SendByte(keyn);break;
case 4:UART_SendByte(keyn);break;
}
keyn=0;
}
}
从机接收的main.c
#include "regx52.h"
#include <UART.h>
#include <Key.h>
#include <Delay.h>
sbit LED1=P2^0;
sbit LED2=P2^1;
sbit LED3=P2^2;
sbit LED4=P2^3;
unsigned char keyn;
// 主机按下独立按键 从机的LED亮灯或灭灯//
void main()
{
UART_Init();
while(1)
{
switch(keyn)
{
case 1:LED1=0;break;
case 2:LED1=1;break;
case 3:LED2=0;break;
case 4:LED2=1;break;
}
}
}
void UART_R() interrupt 4
{
keyn=SBUF;
RI=0;
SBUF=keyn;
while(!TI);
TI=0;
}
其他的模块代码都在附件中
|
评分
-
查看全部评分
|