收藏 分销(赏)

串行小助手向单片机发送一串数字.doc

上传人:pc****0 文档编号:8724177 上传时间:2025-02-27 格式:DOC 页数:4 大小:893.50KB 下载积分:10 金币
下载 相关 举报
串行小助手向单片机发送一串数字.doc_第1页
第1页 / 共4页
串行小助手向单片机发送一串数字.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
关于怎么利用串行小助手往单片机发送一连串数据,并且单片机按照你发送的数据显示出来!现象要可以观察到! 我一开始有个疑问就是我在串行小助手里发送的数据,而在单片机里只能显示最后一位数据的现象,后来我发现了原因,原因就是单片机SBUF只有一个字节(电脑是1K),而我发送的波特率为9600,单片机处理接受数据的速度又相对比较慢,也就是单片机处理刚接受的数据,下一个数据就立马又到了,会覆盖掉前面的数据。 因此我对这种方式有一个解决方案,供大家参考一下 我们要建立起一个理念就是: 建立一张表格数组用来存储接受到得数据,利用中断不断的去查询。最后接受到得数据通过P1口进行显示,还要延时,这样效果跟明显。 Keil编写的程序: #include <reg52.h> unsigned char receive[32]; unsigned char k; sbit rs=P3^5; sbit rw=P3^6; sbit e =P3^4; unsigned char flag; void delay1ms(unsigned int f)//延时程序 { unsigned int i,j; for(i=0;i<f;i++) for(j=0;j<120;j++); } void receivem(void) //接受程序 { while(RI==1) { if(k==32){k=0;} receive[k]=SBUF; RI=0; k++; } } void timer_int(void) //定时器初始化 { TMOD=0x11;//00010001 SCON =0x50; T2CON=0x30; RCAP2H=0xFD; RCAP2L=0x8F; EA=1; TR0=1; TR2=1; ET0=ET2=1; } void time0(void) interrupt 1 using 1 //中断函数 { TH0=0xCD; TL0=0x50; receivem();//定时将SBUF接收 } void main() { unsigned char i; timer_int(); while(1) { for(i=0;i<32;i++) { P1=receive[i]; delay1ms(500); } } } 最后通过运行可以看到52板子上的8个LED随着这些数进行变化! 在线解答739141300 祝你好运!
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服