找回密码
 立即注册

QQ登录

只需一步,快速开始

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

如何将两个单片机程序合并

[复制链接]
跳转到指定楼层
楼主
ID:249177 发表于 2017-11-14 09:08 来自触屏版 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如我有让1602lcd屏亮的程序和流水灯的程序,想让他们同时在板子上实现,应该怎么做?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:249177 发表于 2017-11-14 09:12 来自触屏版 | 只看该作者
这是第一个程序
回复

使用道具 举报

板凳
ID:249177 发表于 2017-11-14 09:13 来自触屏版 | 只看该作者
#include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit rs=P2^6; sbit rw=P2^5; sbit lcden=P2^7; uchar table1[]="WENDELL"; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }  void write_com(uchar com)  //写命令函数 { lcden=0; rs=0; rw=0; P0=com; delay(5); lcden=1; delay(5); lcden=0;  }  void write_date(uchar date)  //写数据函数 { lcden=0; rs=1; rw=0; P0=date; delay(5); lcden=1; delay(5); lcden=0;  }  void init()       //LCD1602初始化 { lcden=0; write_com(0x38);  //开显示 write_com(0x0c);  //开显示不显示光标 write_com(0x06);      //写一个指针加一 write_com(0x01);  //清屏  }  void main() { uchar a; init(); write_com(0x80);      //起始位置指针起点 delay(5); for(a=0;a<7;a++) { write_date(table1[a]); delay(5);    } while(1); }
回复

使用道具 举报

地板
ID:249211 发表于 2017-11-14 10:29 | 只看该作者
你都不说一下用的什么板子,不把程序贴出来,什么信息都不提供怎么给你回答?这样的话只能这么回答: 在一个程序里面同时控制1602和led的IO口,具体怎么搞看你的程序去
回复

使用道具 举报

5#
ID:249220 发表于 2017-11-14 10:58 | 只看该作者
#include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit rs=P2^6; sbit rw=P2^5; sbit lcden=P2^7; uchar table1[]="WENDELL"; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }  void write_com(uchar com)  //写命令函数 { lcden=0; rs=0; rw=0; P0=com; delay(5); lcden=1; delay(5); lcden=0;  }  void write_date(uchar date)  //写数据函数 { lcden=0; rs=1; rw=0; P0=date; delay(5); lcden=1; delay(5); lcden=0;  }  void init()       //LCD1602初始化 { lcden=0; write_com(0x38);  //开显示 write_com(0x0c);  //开显示不显示光标 write_com(0x06);      //写一个指针加一 write_com(0x01);  //清屏  }  void main() { uchar a; init(); write_com(0x80);      //起始位置指针起点 delay(5); for(a=0;a<7;a++) { write_date(table1[a]); delay(5);    } while(1); }
回复

使用道具 举报

6#
ID:249220 发表于 2017-11-14 11:16 | 只看该作者
你都不说一下用的什么板子,不把程序贴出来,什么信息都不提供怎么给你回答?这样的话只能这么回答: 在一个程序里面同时控制1602和led的IO口,具体怎么搞看你的程序去
回复

使用道具 举报

7#
ID:212797 发表于 2017-11-14 13:10 | 只看该作者
把两个功能封装成函数,然后重写一个主文件,把他们加进去就行了。
回复

使用道具 举报

8#
ID:249294 发表于 2017-11-14 14:09 | 只看该作者
每个都有一个入口函数,两个入口合在一起不就行了?比如main方法
回复

使用道具 举报

9#
ID:249281 发表于 2017-11-14 14:58 来自触屏版 | 只看该作者
学到了
回复

使用道具 举报

10#
ID:249693 发表于 2017-11-15 15:44 | 只看该作者
封装成函数,注意有哪些冲突重复的地方。。。
回复

使用道具 举报

11#
ID:249710 发表于 2017-11-15 16:32 | 只看该作者
各自做成驱动,融合成一个main
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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