找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2742|回复: 7
打印 上一主题 下一主题
收起左侧

两个51单片机程序不能结合在一起 求帮助

[复制链接]
跳转到指定楼层
楼主
ID:444437 发表于 2019-5-23 19:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我做的超声波测距,需要数码管显示的同时还要把数据通过蓝牙芯片传到电脑上,现在遇到的问题就是 两个程序不能结合在一起,求大神帮忙
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:425825 发表于 2019-5-24 14:45 | 只看该作者
你好!1、超声波测距一般情况会用到一个定时器
2、串口通讯也需要一个定时器产生波特率
3、两个程序合并时,不能共用一个定时器
4、分别用两个定时器完成两个不同的功能
回复

使用道具 举报

板凳
ID:93224 发表于 2019-5-24 18:26 | 只看该作者
那你对两个程序整体把握的不好
回复

使用道具 举报

地板
ID:328014 发表于 2019-5-27 20:17 | 只看该作者
单片机程序合并教程:http://www.51hei.com/bbs/dpj-157117-1.html
回复

使用道具 举报

5#
ID:393699 发表于 2019-5-28 09:24 | 只看该作者
一个口读取数据,一个串口控制蓝牙模块发送,你再思考下主程序逻辑?
回复

使用道具 举报

6#
ID:549010 发表于 2019-5-28 09:42 | 只看该作者
不论是多少个程序,要放在一起,做一个项目的全部程序,只能有一个主程序main( )。
如果原来的多个程序都 有main( ),就得选一个做主程序,其它那些都要写成子程序啦,而且原来那些程序中有while(1)的话,都要删掉。
至于多个程序的整合,最容易做,不能出错的办法是:把多个程序全部都放在一个文件中,改成子程序的那些程序,放在主程序的前面。
当然,比较合理的结构是一个工程由多个文件组成,容易做的方法是:把那些改成的子程序单独保存成头文件,起名为 xxx.h ,都用.h。这些头文件都放在同一个文件夹下。
在主程序中用
#include "xxx.h" ,把所有的子程序都包含进来,有几个子程序就写几行。
注意的是,子程序中原来有#include<reg51.h>都要删掉,在主程序中有一行就行,就是整个工程只有一行#include<reg51.h>。
这样,那些子程序,就可以被主程序调用了。
回复

使用道具 举报

7#
ID:492101 发表于 2019-5-28 11:11 | 只看该作者
你可以把超声波测距采集到的值,一个用串口输出给透传蓝牙模块,一个利用P0,P2端口发送给数码管显示。如果程序中使用的是主函数来扫描数码管显示的话,你需要调整一下结构,建议你使用定时器中断来驱动数码管,主函数发送蓝牙数据。
回复

使用道具 举报

8#
ID:510365 发表于 2019-5-28 14:14 | 只看该作者
可以结合的呀
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表