搜索
bottom↓
回复: 58

慕司板(IAP15L2K61S2),将开源进行到底

  [复制链接]

出0入0汤圆

发表于 2014-10-25 21:18:57 | 显示全部楼层 |阅读模式
本帖最后由 微风 于 2014-10-25 22:08 编辑


演示视频如下:
http://v.youku.com/v_show/id_XODExMjY3ODY0.html
这是我本科毕业前的一个作品,工作快4个月了,虽然手里焊过调试过的板子没有一千,也有八百了,但,还是自己的看着亲啊!正如歌手少司命所说:
如果不再满意别人为你建造的越来越嘈杂的世界,那么自己动手建一个吧,虽然简陋,却足够承载自己的那些白日梦!
现在拿出来开源到底,包括PCB、元件库,大家可以随意引用或更改文档、代码、PCB,只需新浪微博@weifengdq即可,不必等待作者同意。
目前完成的资料(希望至少有点STC89C52的基础看看,当然但愿对于所有的电子爱好者来说,有点参考价值)有:

手册基本编写完成,目录如下:



IAP15F2K61S2是STC目前主推的单片机,老姚STC官网截图为证:

虽然早就耍过STM32了,但心中总有一个想法:做一块自己的开发板,又恰逢大四下带学弟学妹学单片机,不想索然无味的教,去年电赛的时候了解过STC新推出的IAP15,看中了可仿真、自带复位电路、33.1776MHz的内部时钟,索性就拿来直接教了,虽然我也是第一次用。这样,直到我大学毕业,期间一共画了5版IAP15的板子:

可以看出,从第3版(学校的航模大赛期间画的)开始才基本定型,第5版是修复了第4版的Bug后的定型版。
板上放了500mA.h的聚合物锂电池(自带过充、过放保护电路),使用海绵胶粘到了电路板上,板子上有TP4057锂电池充电管理芯片和CE8301升压电路(输出5V):

两个摇杆,10个独立按键(仿照天地飞和游戏手柄),可以做什么,你懂的!
程序自适应主时钟:使用内部时钟,可以在下载软件中使用5.5296、6、11.0592、12、18.432、20、22.1184、24、27、30、33.1776MHz的任意频率,默认所有程序运行在最高频率33.1776MHz,但程序是可以自适应主时钟的。
关于IAP15的仿真,2013年8月刚拿到IAP15这个片子时,我死活仿真不到33.1776MHz,还以为是芯片Bug,当时在博客上妄下结论,但到了2014年,一个偶然的机会我才发现,原来使用PL2303只能到6M,使用CH340却是可以仿真到33.1776MHz!困扰了我一年的问题也解决了,后来又发现仿真时串口1切换到P36/P37还可以照常使用!看来永远没有终点,也永远没有完美吧!完美不大会让人体会到喜悦,追求完美会让人很累。

程序编写的基本思想如下图解释,实现1s闪灯一次,一看便知:

程序中大量使用全局变量标志位,每一个任务给一个标志位,在定时器中断中进行调度,在while中执行任务。如演示程序的代码如下:

这样,初始化后的主程序完全没有了ms级的Delay,大大提高了CPU的效率,有人问按键的代码呢?使用了静态变量,通过定时器中断消抖,基本不占用CPU。

关于打游戏那段,是我的大学舍友毕业前用Python花了一个下午写的,包括上下位机的协议制定,都是他完成的!是用串口虚拟按键。

千言万语说不尽,一切尽在代码中!

关于编码器的专题:
其实是很久就有的一些想法,只不过未实践过,应该可行:

采样周期Tc可以用一个定时器中断来实现,单片机对外唯一需要做的是捕获脉冲,而捕获脉冲的方法大体有:

(1)定时器的计数器模式,来一个脉冲计一个数(传统的51单片机都有Timer0、Timer1,STC89C52和IAP15F2K61S2均有Timer2,STC12系列没有Timer2。STM32的定时器有一大堆,不过可以直接配置为正交编码模式)。
(2)外部中断(一般都有INT0、INT1,有的有INT2、INT3等),如STC89C52有INT0、INT1,支持下降沿触发和低电平触发。IAPF2K61S2有INT0~4共5路外部中断,其中INT0和INT1支持上升沿或下降沿均可触发方式和仅下降沿触发方式、INT2、INT3和INT4仅支持下降沿触发模式。
(3)PCA (可编程计数器阵列Programmable Counter Array)脉冲捕获(STC12C5A有2路、STC12C56有4路、STC15F2K有3路。STM32的普通定时器即可实现脉冲捕获)。

使用IAP15F2K61S2的一个定时器做时基定时器测速,剩余的2个定时器计数器+5路外部中断+3路PCA=10路编码器测速,再占用10个IO口可以判断编码器旋转方向。其中INT0、INT1和3路PCA是可以上升沿下降沿均捕获,是可以编码器2倍频的。
那么问题来了:
这样,给10个编码器测速,合适么?小伙伴们可以自由讨论,演示程序使用了定时器1的计数器模式来计数,只记数不中断,这样,基本避免了CPU频繁中断,另一方面,在定时器0的中断中速度也能测出来了!
上传手册:


视频教程、演示程序及其他文档放在度盘:http://pan.baidu.com/s/1sjPTMMh
最新的视频、例程、BUG修复会第一时间在我的新浪微博:weifengdq 中更新,不过也会贴在此贴中,希望小伙伴们直接到此贴提供意见和反馈问题!

90初后,小时候我们的理想是什么?多半是科学家吧!但愿,我们都还没有长大!(以此作结)

编辑原因:文字错误修改,上传错误修改



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2014-10-25 21:29:20 | 显示全部楼层
不错,帮顶,不过好久不用stc了。

出0入0汤圆

发表于 2014-10-25 21:32:47 | 显示全部楼层
售板

出0入0汤圆

 楼主| 发表于 2014-10-25 21:51:16 | 显示全部楼层

目前仅有手工焊接的十套样板,我的微博(@weifengdq)里有,PCB都开源了,暂时没准备生产

出0入0汤圆

发表于 2014-10-25 21:52:13 | 显示全部楼层
不知道是怎么仿真的。很高级的样子。

出0入0汤圆

 楼主| 发表于 2014-10-25 22:02:54 | 显示全部楼层
登云钓月 发表于 2014-10-25 21:52
不知道是怎么仿真的。很高级的样子。

IAP15仿真很简单的,是串口仿真,安装好驱动后,只需要USB转串口(CH340,一个小板不过3块钱),连接到P30/P31引脚,把下载软件的下载程序下载进单片机中,就可以在keil中仿真了:

单步、断点、全速,所有仿真都支持的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-10-25 22:05:39 来自手机 | 显示全部楼层
支持楼主精神

出0入0汤圆

发表于 2014-10-25 22:07:32 | 显示全部楼层
河南老乡,顶一下

出0入0汤圆

 楼主| 发表于 2014-10-25 22:11:37 | 显示全部楼层

谢谢老乡啦,不希望一辈子做电工,但希望一同进步

出0入0汤圆

发表于 2014-10-25 22:15:00 | 显示全部楼层
示例程序无法读取

出0入0汤圆

发表于 2014-10-25 22:20:20 | 显示全部楼层
这个片子见的好少啊   , 现在还有市场吗

出0入16汤圆

发表于 2014-10-25 22:28:49 | 显示全部楼层
楼主不错!!支持一下!

出0入0汤圆

发表于 2014-10-25 22:35:18 | 显示全部楼层
”焊过调试过的板子没有一千,也有八百了“

出0入0汤圆

发表于 2014-10-25 22:35:55 | 显示全部楼层
差距好大     

出0入0汤圆

 楼主| 发表于 2014-10-25 22:40:46 | 显示全部楼层

今天上传的附件到最大限制,上传不了了,aaa........可以到我的新浪微博(@weifengdq)中找链接下载

出0入0汤圆

发表于 2014-10-25 22:45:18 来自手机 | 显示全部楼层
正打算研究一下这单片机,可以的话,推荐给学弟~

出0入0汤圆

 楼主| 发表于 2014-10-25 22:48:37 | 显示全部楼层
qs6361036 发表于 2014-10-25 22:20
这个片子见的好少啊   , 现在还有市场吗

STC去年新推出的STC15系列的一个,对应STC15F2K60S2的可仿真单片机,比STC12系列好用太多了,单片机就是最小系统,STC今年的单片机大赛指定使用IAP15F2K61S2,以后应该会越来越多,毕竟STM说我功能强大,STC说我有直插!

出0入0汤圆

发表于 2014-10-25 22:52:51 | 显示全部楼层
求板子!

出0入0汤圆

 楼主| 发表于 2014-10-25 22:56:45 | 显示全部楼层
v灰尘 发表于 2014-10-25 22:35
”焊过调试过的板子没有一千,也有八百了“

主要是目前的工作是这样的,说是电路设计,工作了更感觉像测试,工作四个月,各种直插贴片的板子焊啊焊的,其实现在看来,无非也就那么几种PCB,焊完拿着各种仪表调试,调试好环境试验,不过,再测试。。。如此一来,也差不多了好几百块PCB了。。。文档的整理都是下班后抽时间整的,只是为了完成大学时的一个白日梦!

出0入0汤圆

发表于 2014-10-25 23:55:14 | 显示全部楼层
mark                             

出0入0汤圆

发表于 2014-10-25 23:57:50 | 显示全部楼层
楼主演示清晰,表述有条理,吐字清楚,看来口才不错,基本可以摆脱技术谋生之路了。

出0入0汤圆

发表于 2014-10-26 05:27:53 来自手机 | 显示全部楼层
楼主很强大,资料先收下,谢谢你的分享。

出0入0汤圆

 楼主| 发表于 2014-10-26 08:52:57 | 显示全部楼层

目前仅有手工焊接的几套样板,我的新浪微博(@weifengdq)里有,你可以去看看

出0入0汤圆

 楼主| 发表于 2014-10-26 08:54:47 | 显示全部楼层
quzhanguang3 发表于 2014-10-25 23:57
楼主演示清晰,表述有条理,吐字清楚,看来口才不错,基本可以摆脱技术谋生之路了。 ...

嘿嘿,真的啊?这是我录了4遍才录好的,都快把我的舍友小伙伴的耐心耗光了!

出0入0汤圆

发表于 2014-10-26 08:57:47 来自手机 | 显示全部楼层
最近STC不是主推STC15W4K系列吗。。。其实我觉得STC性价比还是低了点。STM32这价格RAM FLASH和外设都比STC强大多了

出0入0汤圆

 楼主| 发表于 2014-10-26 09:41:14 来自手机 | 显示全部楼层
xwkm 发表于 2014-10-26 08:57
最近STC不是主推STC15W4K系列吗。。。其实我觉得STC性价比还是低了点。STM32这价格RAM FLASH和外设都比STC ...

片子不是还没大规模销售么 买不到啊啊啊!

出0入0汤圆

发表于 2014-10-26 09:51:42 来自手机 | 显示全部楼层
好多年不用STC了

出0入0汤圆

发表于 2014-10-26 10:55:09 来自手机 | 显示全部楼层
微风 发表于 2014-10-26 09:41
片子不是还没大规模销售么 买不到啊啊啊!

用M3呗~M3好用很多嘛

出0入0汤圆

发表于 2014-10-26 16:18:34 来自手机 | 显示全部楼层
不明觉里哦,干什么用的

出0入0汤圆

发表于 2014-10-26 16:28:15 | 显示全部楼层
楼主厉害,关键思路清晰

出0入0汤圆

发表于 2014-10-26 16:50:49 | 显示全部楼层
厉害,多谢分享

出0入0汤圆

发表于 2014-10-26 18:46:27 | 显示全部楼层
谢谢楼主分享!推荐的软件不错

出0入0汤圆

发表于 2014-10-26 19:21:06 | 显示全部楼层
顶楼主一下

出0入0汤圆

发表于 2014-10-26 19:26:37 | 显示全部楼层
不错,帮顶                 

出0入0汤圆

发表于 2014-10-26 19:31:47 | 显示全部楼层
好好呀!

出0入0汤圆

发表于 2014-10-26 19:35:19 | 显示全部楼层
战略mark~

出0入0汤圆

发表于 2014-10-26 19:58:31 | 显示全部楼层
不错帮顶,正在学习STC当中!

出0入0汤圆

发表于 2014-10-27 17:21:01 | 显示全部楼层

出0入0汤圆

发表于 2014-10-27 17:28:44 | 显示全部楼层
用STC的人真能忍啊

出0入0汤圆

 楼主| 发表于 2014-10-27 19:58:38 | 显示全部楼层
tuy0326 发表于 2014-10-27 17:28
用STC的人真能忍啊

仅仅是学习还是够的 带学弟学妹入门单片机的 资源还算丰富。。。

出0入0汤圆

发表于 2014-10-27 20:02:28 | 显示全部楼层
呵呵,LZ资料的风格倒是和STC蛮像。

出0入0汤圆

发表于 2014-10-27 20:16:06 | 显示全部楼层
我的STC版的arduino都用到IAP15W4K58S4了,USB直接下载程序,哈哈,6路15位死区可设的PWM才碉堡啊,做PID数字电源没问题!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-10-27 20:28:05 | 显示全部楼层
帮顶!让更多人学到好知识,这是个攒人品的好事情!

出0入0汤圆

发表于 2014-10-28 06:33:50 | 显示全部楼层
帮顶,不过好久不用stc了

出0入0汤圆

发表于 2014-10-28 08:09:47 | 显示全部楼层
mark一下

出0入0汤圆

发表于 2014-10-29 16:21:33 | 显示全部楼层
厉害,兄弟前途无限呀。。
回想我刚毕业的时候。。哎,什么也不会。。

出0入0汤圆

发表于 2014-10-30 13:35:19 | 显示全部楼层
高大上的开发板啊,真不错

出0入0汤圆

发表于 2014-11-4 16:58:56 | 显示全部楼层
好东西,不错

出0入0汤圆

发表于 2014-11-16 06:46:43 | 显示全部楼层
不錯,學習中

出0入0汤圆

发表于 2014-11-17 09:14:13 | 显示全部楼层
进来学习,谢谢分享~

出0入0汤圆

发表于 2014-11-17 09:33:56 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2014-11-17 11:09:37 | 显示全部楼层
嘿嘿!IAP15前段时间也玩过,谢谢楼主分享!

出0入0汤圆

发表于 2014-11-17 11:25:03 | 显示全部楼层
串口仿真,想起了快20年前流行的所谓 “ mon51 仿真器 ”类玩意,,,

出0入0汤圆

发表于 2014-11-17 16:00:18 | 显示全部楼层
最近也在玩STC的单片机,参考下,谢谢

出0入0汤圆

发表于 2014-11-18 15:46:39 | 显示全部楼层
向楼主学习

出0入0汤圆

发表于 2014-11-19 16:45:53 | 显示全部楼层
不错!标记一下!!

出0入0汤圆

发表于 2015-8-23 11:13:37 | 显示全部楼层
我一直在玩儿STC的单片机,感觉很好用,虽然在某些方面有瑕疵,但是总体的性能还是不错的。学校也是一直支持STC,所以钟爱,我的同学都在玩儿STM32了我还是一直玩STC的和MSP的单片机!

出0入0汤圆

发表于 2015-8-24 21:16:05 | 显示全部楼层
一直在用stc,谢谢lz分享

出0入0汤圆

发表于 2015-8-27 08:46:40 | 显示全部楼层
还是你比较会玩,我上大学白上了。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-6 11:35

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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