找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机怎么模块化编程啊?

[复制链接]
跳转到指定楼层
楼主
ID:252736 发表于 2017-11-23 16:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机怎么模块化编程啊?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

来自 4#
ID:212797 发表于 2017-11-23 18:38 | 只看该作者
一个简单的示例:假如程序要负责按键扫描、LED灯闪烁。
主程序结构:
void main()
{
    delay_ms(1000);     //等待电平·稳定
    interrupt_off();        
    sys_init();               //系统初始化
    delay_ms(1000);
    interrupt_on();

    while(1)
    {
        key_scan();    //按键扫描处理
        led_light();    //LED灯处理
    }
}

系统初始化函数里面又可以调用:IO口初始化函数,中断初始化函数等等,也可以把所有的初始化函数直接放在while(1)之前。按键扫描和LED灯控制函数分别实现,如果想独立便于以后重复使用代码,可以分别单独写key.c、key.h, led.c、led.h文件,需要的话导入相应的头文件即可。

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

来自 5#
ID:157238 发表于 2017-11-23 21:48 | 只看该作者
比如你想要让几个灯泡实现流水,那么你写一个叫做led.c的文件实现怎么亮,然后相应写一个led.h函数里面写你的led灯连接到单片机的哪个脚上,再初始化一下led显示函数也就是你写的led亮的函数。这么你在主函数中直接调用你在led.c中写的函数就能实现功能了,但是main函数头文件中必须包含头文件led.h

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

沙发
ID:252134 发表于 2017-11-23 17:43 | 只看该作者
把要初始化、实现的功能等分别写进不同的函数,主函数只负责调用和执行,这样检查错误和定位好找些,如果统统写进主函数就很乱,不叫模块化了

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:252775 发表于 2017-11-23 18:09 | 只看该作者
模块化的函数体系啊
回复

使用道具 举报

6#
ID:193818 发表于 2017-11-24 08:51 | 只看该作者
所谓模块化,就是把一些功能打包成一个函数。然后在MAIN函数中调用
回复

使用道具 举报

7#
ID:253098 发表于 2017-11-24 16:18 | 只看该作者
你可以试着把不同的功能实现代码放到相应的不同函数里面,也可以写多个文件等等。写出来后程序不是堆在一起,而是一块一块的
回复

使用道具 举报

8#
ID:253245 发表于 2017-11-24 22:03 | 只看该作者
把你想要实现的分步骤进行,一块块切分
回复

使用道具 举报

9#
ID:253264 发表于 2017-11-24 22:34 | 只看该作者
一些功能打包成一个函数。然后在MAIN函数中调用
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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