打印

搞51一段时间了,但没有系统的学习过

[复制链接]
1901|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
eyesmall|  楼主 | 2012-8-3 14:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
搞51一段时间了,但没有系统的学习过。之前没接触过单片机,工作中偶然的机会顶的别人的班,修修改改之类的,全靠自己琢磨。感觉遇到瓶颈了,。没有跟过项目,最多是基本完工的时候接手,没有真正的项目经验。现在工作种种原因不开心打算跳槽,但是苦于没有项目经验,没有系统学习过。请教北京地区有那种夜校或者周末学习的班吗?帮我把知识理顺一下。本人住通州。。。

相关帖子

沙发
eyesmall|  楼主 | 2012-8-3 16:21 | 只看该作者
有没有了解行情的说一下呀

使用特权

评论回复
板凳
eyesmall|  楼主 | 2012-8-4 18:27 | 只看该作者
伊  人呢   就我自己呀

使用特权

评论回复
地板
NE5532| | 2012-8-5 09:07 | 只看该作者
外面教MCU的都是骗钱的,自己弄块板子写写程序就Ok了。

使用特权

评论回复
5
eyesmall|  楼主 | 2012-8-5 11:24 | 只看该作者
4# NE5532
感谢版主光临寒舍!
自己在弄也在学,就是总感觉 是一堆一堆的理不顺   缺乏一个系统的认识。就像一堆刻着《滕王阁序》的竹片,没有一根绳子把它编成竹简,当我找到绳子试图去把它编制成简时却发现:“豫章故郡,洪都新府。星分翼轸,地接衡庐。…………控蛮荆而引瓯越。物华天宝,龙光射牛斗之墟;…………徐孺下陈蕃之榻。”不时会发现缺少一些竹片,当自己把它补上继续往下编的时候又会发现好多这样的问题,有时回头看的时候还会发现一些错别字,只能把编好的拆开,改正后再编上。如此反复不知合适才能编完。
呵呵 版主明白我的意思吧   还望不吝赐教 ,指点一二 。在此谢过

使用特权

评论回复
6
NE5532| | 2012-8-5 15:01 | 只看该作者
你缺的不是单片机具体的技术,是把握整个项目的能力,所以学单片机没用。

使用特权

评论回复
7
g7214| | 2012-8-5 15:59 | 只看该作者
我觉得还好

使用特权

评论回复
8
eyesmall|  楼主 | 2012-8-6 09:10 | 只看该作者
6# NE5532
谢谢斑竹,其实我也想从头到尾跟个项目,可是此时此地没有这样的机会

使用特权

评论回复
9
sedatefire| | 2012-8-6 09:18 | 只看该作者
6# NE5532  
谢谢斑竹,其实我也想从头到尾跟个项目,可是此时此地没有这样的机会
eyesmall 发表于 2012-8-6 09:10

上夜班没多大效果的,
先选择手上一个简单的又逻辑清晰的案子
整个架构推敲清楚
然后自己业余时间去搞一个小案子
或者重复一样的案子,用你自己的想法去实现
就如同书法的临摹一样

使用特权

评论回复
10
eyesmall|  楼主 | 2012-8-6 11:11 | 只看该作者
9# sedatefire
谢谢9楼  说的很中肯 记下了

使用特权

评论回复
11
cjseng| | 2012-8-6 21:47 | 只看该作者
那我试着给你出个题目:做个计算器吧,想咋整都行,但功能不得输于小贩用的计算器。
1.假设你已经有了开发板,那你先要评估一下开发板的资源够不够,不够的话用洞洞板扩展一下,估计最多也就是按键不够;
2.详细测试真正的计算器的功能;
3.规划你的硬件设计,输入:按键,输出:1602、蜂鸣器,大致评估单片机的资源、运行速度等要求,确定晶振频率,预先分配调试接口(比如留个IO,输出高低电平,用于测试程序是否正常);
4.规划你的软件设计,确定整个程序的框架;
5.编写各个功能函数;
6.联调,排除各种故障;
7.测试你做的计算器的整体技术指标,比如功耗;
8.编写整理技术文档。

使用特权

评论回复
12
夏利黎明| | 2012-8-6 21:50 | 只看该作者
不错啊

使用特权

评论回复
13
eyesmall|  楼主 | 2012-8-7 11:43 | 只看该作者
11# cjseng
出完题目可不能拍屁股走人哦,
1、首先有开发板  板载按键有24个  应该够用
2、功能就暂时仅限 + - * / =  吧    小贩用的不至于用到开方 正弦余弦吧  呵呵  (成功后  可以补上)如果是小贩卖的 那功能可就全了 。为了安全暂时理解为小贩用的
3、矩阵键盘输入  液晶输出  每按一下蜂鸣器响一下   单片机就用手头的STC89c516RD+     晶振22.1184M   手头频率最高的晶振了    (比如留个IO,输出高低电平,用于测试程序是否正常?目的是什么,怎么实现)
4、流程图  
5、显示、输入、运算。等等
6、
7、
8、

使用特权

评论回复
14
cjseng| | 2012-8-7 17:21 | 只看该作者
让你注意晶振,意思是:在满足需求的情况下,尽可能选频率低的晶振,不是越高越好。

留一个IO用于调试,是这样的:

比如程序有问题了,你不知道程序运行到什么地方了,你就可以在某个地方让这个IO清零,用万用表一量,发现IO变成0了,那就表明程序运行到这里了;把这个清IO的这条语句放到你想放的任意位置,就能检测出你的程序是否运行到这里。这只是一种调试的手段。比如调试液晶程序,液晶不显示,你找不到问题所在,那你可以用这个方法检测一下程序能运行到哪一步,是不是死在某个地方了。

使用特权

评论回复
15
eyesmall|  楼主 | 2012-8-8 11:55 | 只看该作者
14# cjseng
频率太高会有副作用吗,还是说仅仅是价格上面有不同?这个真不了解。
预留IO口测试 理解  只是没有用过,之前接触的BUG问题出在哪基本都能推敲出来,至于看不到的BUG  通过预留IO的方法倒是可以用用

使用特权

评论回复
16
cjseng| | 2012-8-8 13:27 | 只看该作者
15# eyesmall
频率高了耗电量会加大,但不是说要省两个电费,而是电流大了,元器件的寿命要缩短的。另外,频率高了,通常干扰也会明显加大。
好处是:编程简单一些,基本不用考虑程序运行消耗的时间了。

能推敲出BUG,这是个很好的逻辑思维训练办法,越是大型的程序,这个训练方法越有效。尤其是在没有任何仿真手段的前提下,如何快速定位BUG确实是个锻炼脑细胞的事。

使用特权

评论回复
17
eyesmall|  楼主 | 2012-8-8 14:30 | 只看该作者
16# cjseng
多谢指点 受教了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:新手一个,干嘛嘛不行

10

主题

145

帖子

0

粉丝