📄 串口通信无返回值.c
字号:
/********************************************************************
汇诚科技
实现功能:串口控制继电器程序
使用芯片:AT89S52
晶振:11.0592MHZ
波特率:9600
编译环境:Keil
作者:zhangxinchunleo
网站:www.ourhc.cn
淘宝店:汇诚科技 http://shop36330473.taobao.com
【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!
*********************************************************************/
/********************************************************************
输入16进制控制
输入11 所以继电器开 输入 ff所以继电器关
输入01 对应继电器1开 输入 f1对应继电器1关
输入02 对应继电器2开 输入 f2对应继电器2关
输入03 对应继电器1开 输入 f3对应继电器1关
输入04 对应继电器2开 输入 f4对应继电器2关
***********************************************************************/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar dat;
sbit k1=P2^0;
sbit k2=P2^1;
sbit k3=P2^2;
sbit k4=P2^3;
//串口波特率为9600方式1;定时器0方式2//
void init(void)
{
TMOD=0x20;
PCON=0x00;
SCON=0x50;
TH1=0xfd;
TL1=0xfd;
TR1=1;
}
/********************************************************************
主函数
*********************************************************************/
void main()
{
init();
while(1)
{
if(RI)
{
dat=SBUF;
RI=0;
}
switch(dat)
{
case 0x11 :P2=0x00;break;
case 0xff :P2=0x0f;break;
case 0xf1 :k1=1;break;
case 0x01 :k1=0;break;
case 0xf2 :k2=1;break;
case 0x02 :k2=0;break;
case 0xf3 :k3=1;break;
case 0x03 :k3=0;break;
case 0xf4 :k4=1;break;
default:break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -