51单片机基础——串口通信字符串控制流水灯
#include <reg52.h>
#include<intrins.h> //位移头文件_crol_
#define uchar unsigned char
unsigned char flag,i;
char w='0';
char wu[15];
int k=0;
int q=0;
void receive() interrupt 4 //串口中断服务程序
{if(RI==1){RI=0; //重新清0等待接收w=SBUF;//接收电脑传输过来的数据wu[k]=w; //将W的值赋给wu数组k++;SBUF=w;//单片机把接收到的数据返回给电脑 TI=0; //清除发送中断标志位}
}void init(){SCON=0x50;//串口控制寄存器,等价于SM0=0,SM1=1,SM2=0,串口方式一通信
TMOD=0X20; //设置定时器1为模式2,做为波特率发生器,8位初值自动重装的8位定时器,定时到TH1的值自动装到TL1
TH1=0xfd;//设置波特率为9600
TL1=0xfd;
REN=1;//允许串口接收中断?
EA=1;//开全局中断
ES=1;//串口中断允许
TR1=1; //启动波特率发生器
}void delay(unsigned int xms)
{unsigned int i,j;for(i=xms;i>0;i--)for(j=112;j>0;j--);
}void main()
{init();P1=0xfe;//LED:1111 1110while(1){ if(w=='\n') //当发送了新行时,{k=0; //数组里的元素清零for(q=0;q<20;q++){wu[q]=0;}q=0;}//当串口调试助手发送sujunjun时执行10ms流水灯功能 if(wu[0]=='s'&&wu[1]=='u'&&wu[2]=='j'&&wu[7]=='n'&&wu[8]=='\r') { k=0; //数组里的元素清零while(1){delay(10);P1=_crol_(P1,1);//LED灯左移一位if(wu[0]=='q') //如果收到q则跳出sujunjun的流水灯break;}} //当串口调试助手发送suweiwei时执行50ms流水灯功能if(wu[0]=='s'&&wu[1]=='u'&&wu[2]=='w'&&wu[7]=='i'&&wu[8]=='\r') { k=0; //数组里的元素清零 while(1){delay(50);P1=_crol_(P1,1);//LED灯左移一位if(wu[0]=='q')//如果收到q则跳出suweiwei的流水灯break;}}}
}
51单片机基础——串口通信字符串控制流水灯相关推荐
- 51单片机基础——串口通信发送字符ab控制流水灯
/* 当串口调试助手发送a时执行5ms流水灯功能, 当串口调试助手发送b时执行50ms流水灯功能 */#include <reg52.h> #include<intrins.h> ...
- 蓝桥杯51单片机之利用中断同时控制流水灯、数码管、独立按键、蜂鸣器【单片机开发初学者有趣综合案例】
文章目录 一.流水灯与数码管 二.独立按键.数码管.流水灯.蜂鸣器 一.流水灯与数码管 流水灯不断左移,通过外部中断0来控制数码管的显示. #include <reg52.h> #defi ...
- 51单片机stc15w204s串口通信发数据接收数据串口中断发中文字符串完美运行软件延时发送一字节函数全注释
这里写自定义目录标题 KEIL自己先调试通了然后再说下面的事 51单片机stc15w204s串口通信直接上文件 KEIL自己先调试通了然后再说下面的自己看看就可 KEIL自己先调试通了然后再说下面的事 ...
- MATLAB与51单片机进行串口通信详解
目录 一.51单片机与电脑进行串口通信 二.MATLAB串口通信函数 三.串口属性 四.示例Demo 4.1 MATLAB接收单片机发来的数据 4.2 MATLAB向单片机发送数据控制LED 五.总结 ...
- Proteus仿真stm32和51单片机,串口通信调试过程记录
前言 本文所用Proteus版本为8.10,主要内容为在Proteus中仿真stm32和51单片机进行串口通信,记录了仿真过程中遇到的问题和解决办法. 这里要注意的是,在Proteus中 ...
- 单片机C语言流水灯花样编程,51单片机学习之陆 —— 1.3 流水灯的花样玩法
原标题:51单片机学习之陆 -- 1.3 流水灯的花样玩法 上一次我们点亮了一个1,其实仅仅点亮一个流水灯还是有些单调的. 这一次让我们试着尝试些别的花样 1 多个流水灯的点亮 a 打开将原来的c文件 ...
- 51单片机 4个独立按键控制LED灯 (protues仿真)(C语言版)
51单片机 4个独立按键控制LED灯 仿真操作及代码展示 _ (protues仿真)_(C语言版) 一.思路及相关问题 1.逻辑思路: 当按下key1时 led1亮起来 因为按下去具有瞬时性不用whi ...
- 蓝桥杯51单片机之串口通信发送接收信息【单片机开发初学者串口必会】
文章目录 一.上位机发送信号控制单片机 1.显示对应的流水灯 2.显示对应数码管 3.控制数码管显示的数字 二.两机收发信息 一.上位机发送信号控制单片机 1.显示对应的流水灯 实现现串口通信接收上位 ...
- 51单片机之串口通信
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.串口介绍 二.电路 三.寄存器 四.串口通信操作流程 前言 2022.9.14的学习记录.` 一.串口介绍 串口是 ...
最新文章
- Re: 求助:5道算法题
- 求数的绝对值一定是正数_「口袋数学」绝对值的几何意义探究及应用,培优课程...
- 行集函数:OpenRowSet 和 OpenQuery
- SqlServer索引的原理与应用
- web前端技术分享:详解模块化require 和 import的区别
- GPU Gems1 - 5 改良的Perlin噪声的实现
- oracle编程基本语法,oracle编程基础语法
- 解决 IntelliJ IDEA 读取不了 datasource.properties
- vaex 处理海量数据_爱了爱了!0.052 秒打开 100GB 数据,这个Python开源库火爆了!...
- Linux系统忘记密码怎么办?
- hdu 2196(求树上每个节点到树上其他节点的最远距离)
- mt4怎么用云服务器跟单,免费好用的跟单系统 神速MT4跟单ea系统使用教程
- AN蜘蛛池V2.0附搜索留痕转码工具SEO工具
- IntelliJ IDEA 2020.3.3 遇到Cannot resolve table ‘goods’
- 卸载程序时总是 显示“请等待当前程序完成卸载或更改”!
- 芬兰政府:要找到量子计算工业化的好时机
- Opencv(C++)笔记--模板匹配cv::matchTemplate()和最值计算cv::minMaxLoc()
- TensorFlow 机器学习秘籍中文第二版(初稿)
- Dreamweaver CS5支持Html5
- 我的软件推广成功之路