单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[开源造车]51单片机两轮自平衡小车软件框架讲解

[复制链接]
跳转到指定楼层
楼主
喵大 发表于 2015-11-6 16:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

主控源代码部分,截止目前为止,都是属于辛辛苦苦敲出来的。没有使用实时操作系统,我们称之为裸机代码,未使用操作系统裸跑的意思。
为了满足各个层次用户的需求和体现出我们的努力,后续会试着移植Small RTOS51实时操作系统内核。Small RTOS51是陈明计先生(就职于周立功公司)编写的一个实时操作系统,适合在小RAM单片机上运行。
那么,现在就结合裸机代码,来说说喵呜ISO的软件框架。
图1 框图
图2 流程图
总体的流程图,就是这么简单。定时器里面的任务,是整个系统的核心。下面具体介绍实现细节。
初始化
学过 51单片机的都知道,任何一个处理器要正常运行后面的代码,首先必须得有一大段设备初始化的代码先运行,这些代码用于初始化处 理器的内部时钟、中断优先级、I/O 口的输入输出方向等等,也就是为后续代码正常运行,做了一个环境配置准备。
初始化看起来很繁杂,很多,也没啥好说的。
接下来 ,程序运行到死循环while(1);程序会一直停在这里,等待数据中断的到来,而不是死机死在这里,这是有区别的,学过51的人都知道,我不再多说。
定时器
可以看到角度环、速度环、PID计算、PWM输出都放在定时中断1里面,它们属于需要精确时间周期执行,因此可以在一个周期定时中断里完成。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 顶 踩
回复

使用道具 举报

沙发
soft 发表于 2016-3-3 00:05 | 只看该作者
裸机代码,确实比较牛,不过好像你的图片挂了。无图无真相啊.
回复

使用道具 举报

板凳
tasi2002 发表于 2018-5-25 10:55 | 只看该作者
想学习!
回复

使用道具 举报

地板
leiteme 发表于 2018-9-5 13:27 | 只看该作者
想学习+1
回复

使用道具 举报

5#
菜用鸡 发表于 2019-3-6 21:40 | 只看该作者
还没更新吗,呜呜呜
回复

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51黑电子论坛5群 联系QQ:125739409;技术交流QQ群174280738

Powered by 单片机教程网

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