当前位置:
工控论坛
> >
产品
>
嵌入式系统
我要发帖
串行通讯接收数据手法
点击:
968
| 回复:
9
猎隼
关注
私信
精华:1帖
求助:1帖
帖子:151帖 | 1661回
年度积分:0
历史总积分:8983
注册:2005年9月28日
发表于:2007-01-08 20:17:00
楼主
请教各位高手,我在51单片机中有一段通过串行口接收数据的程序段,请各位帮我分析一下这段程序有没有什么好的编程方法比这段效率高,且占用系统资源少,本人是一个初学者。
#include<at89x51.h>
#include<stdio.h>
char IND[13];
void main()
{
SCON=0x50;
TMOD=0x20;
TCON=0x40;
TH1=0xfd;
T1=1;
TR1=1;
while(1)
{if(RI==1) scanf("%S",&IND);
}
}
分享到:
收藏
邀请回答
回复楼主
举报
猎隼
关注
私信
精华:1帖
求助:1帖
帖子:151帖 | 1661回
年度积分:0
历史总积分:8983
注册:2005年9月28日
发表于:2007-01-09 19:34:00
1楼
有没有比这种方法时效性更佳的通讯代码,我所做的程序不光要通过通讯口接收数据,还要动态的在三块7段数码管上显示,这就造成了这两个部分的互相竞争,而造成单片机的暂时性停顿,而且单片机CPU的使用率几乎为100%。
有好的办法的话希望指出,先谢谢了。
回复
引用
举报
NEWBRIDGE
关注
私信
精华:0帖
求助:0帖
帖子:20帖 | 650回
年度积分:0
历史总积分:1212
注册:2005年3月05日
发表于:2007-02-28 12:38:00
2楼
我是门外汉。不过我猜,用双系统是个好方法,一个处理显示,一个处理通讯
回复
引用
举报
想起时正是忘记
关注
私信
精华:0帖
求助:0帖
帖子:42帖 | 1651回
年度积分:0
历史总积分:1960
注册:2007年1月26日
发表于:2007-02-28 14:28:00
3楼
对于普通单片机,如果不睡眠节电,本身它就是需要不间断运转的。
数码管显示一般输出用锁存就节省软件资源了。
回复
引用
举报
周公
关注
私信
精华:10帖
求助:0帖
帖子:119帖 | 5549回
年度积分:0
历史总积分:6446
注册:2002年11月26日
发表于:2007-03-01 14:47:00
4楼
加大显示的驱动电流、缩短时间。或者把通讯程序设置成高优先级就可以了。
回复
引用
举报
猎隼
关注
私信
精华:1帖
求助:1帖
帖子:151帖 | 1661回
年度积分:0
历史总积分:8983
注册:2005年9月28日
发表于:2007-03-03 19:20:00
5楼
用我所写上去的这种编程方法可行吗?
8255有没有锁存的功能?
增加驱动功率就可以加快显示的频率吗?
回复
引用
举报
想起时正是忘记
关注
私信
精华:0帖
求助:0帖
帖子:42帖 | 1651回
年度积分:0
历史总积分:1960
注册:2007年1月26日
发表于:2007-03-04 11:28:00
6楼
节约主循环的代码,通讯用了中断,不必在主循环中轮询。
增大驱动电流会使你的数码管更亮,在同样的扫描周期下,考虑视觉暂留和电流的平均值,对于显示效果会有一定帮助。
问题的根本可能在于你的通讯处理程序过于冗长低效,有可能100mS级以上,会让人感觉有时显示顿停。考虑一下优化程序。
如果优化之后仍然不行,锁存还是最简捷有效的方法。如果你软件水平高,也可以不变硬件,在软件上做分时多任务。
回复
引用
举报
猎隼
关注
私信
精华:1帖
求助:1帖
帖子:151帖 | 1661回
年度积分:0
历史总积分:8983
注册:2005年9月28日
发表于:2007-03-04 12:58:00
7楼
谢谢你帮我分析,我的软件水平还是有一定的差距的,书是看了不少,但却联系不到实际,说白了就是不会用,看看得多看看这方面的实例了。
回复
引用
举报
andy fau
关注
私信
精华:0帖
求助:0帖
帖子:7帖 | 262回
年度积分:0
历史总积分:604
注册:2006年3月21日
发表于:2008-06-06 16:23:31
8楼
通讯的例子我还没有做过,要是有更系统性的代码就好了!
回复
引用
举报
沙漠的风雨
关注
私信
精华:0帖
求助:0帖
帖子:24帖 | 461回
年度积分:0
历史总积分:1069
注册:2003年10月23日
发表于:2008-06-14 14:10:54
9楼
这帖子太早了, 用中断方式接收数据
回复
引用
举报
热门招聘
相关主题
MCGS嵌入版系统介绍
[2026]
MCGS嵌入式系统合作伙伴--强...
[1069]
未来会用嵌入式板卡代替PLC中...
[981]
单片机上电
[1026]
求助:实现温控的方法
[2052]
高效、低成本的32位嵌入式网络...
[1642]
求助:TMS320F240的堆栈结构
[1045]
嵌入式系统的定义与发展历史...
[7661]
请高手支着
[4235]
PC104用于旋挖钻机的控制
[1228]
官方公众号
智造工程师
客服
小程序
公众号