简单串口通讯带控制命令

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
while(1)
{
if(RI==1) //判断是否接受完毕
RI=0; //接受完成后重复下次接受
switch(SBUF)
{
case 'a':P2=~t[0];break;
case 'b':P2=~t[1];break;
case 'c':P2=~t[2];break;
由甲机的一个按键发出命令控制已机的数码管显示
甲机程序
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit key=P1^0;
send(uchar n) //发送数据函数
case 'd':P2=~t[3];break;
case 'e':P2=~t[4];break;
case 'f':P2=~t[5];break;
case 'g':P2=~t[6];break;
}
delay(100);
}
}
单片机初学者------重庆杜江华
case 5:send('f');break;
case 6:send('g');break;
}
}
}
已机程序
#include <reg51.h>
#define uint unsigned int
delay(uint i) // 延时函数
{
while(i--);
switch(m) //根据m的值来判断发送过去的数据
{
case 0:send('a');break;
case 1:send('b');break;
case 2:send('c');break;
case 3:send('d');break;
case 4:send('e');break;
TL1=0xf4;
SCON=0x40; ຫໍສະໝຸດ //串行工作方式1 TR1=1;
while(1) //while语句重复的执行按下开关的这个动作
{
if(key==0)
{while(key==0); //去抖
m=(m+1)%7;
}
{
SBUF=n; //将发送的数据保存在缓存器中
while(TI==0); // 查询是否发送完毕
TI=0; //等待下一次发送
}
main()
{
uint m;
TMOD=0x20; //方式2
TH1=0xf4; //波特率为2400
}
main()
{
uint t[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //1到10数字
TMOD=0x20;
TH1=0xf4;
TL1=0xf4;
SCON=0x50;
TR1=1;
RI=0; //接收标志
相关文档
最新文档