- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机开发经验看这里
老生常谈的话题又来了,感觉自己看过好多五花八门的关于单片机的开发经验了,
但是不一定那些就是适合你的, “书读百遍其义自见”,在追求学问的路上我们永
无止境。
单片机开发初探
做 AT89C5X (51,52,55 等等)的时间最长,知道的可能多些,主要谈些实际应用
中的经验与教训。书可以参看北航出的一本专门讲AT89 系列的,还不错,建议大家
购买。
AT89C51 我认为是一个非常标准的 51 单片机了,4 个 P 口,1 个串口,RAM 只有标准
的 128Byte,Flash 也只有 4K,功能还算齐全,我就以它为基础,所以开发过程中遇
到的问题吧。
复位源的问题
大家最常用的复位方式就是电阻加电容吧,AT89C51 是高电平复位,这种方式不稳
定,在产品调试时可以使用,因为在调试时我们一般使用了仿真器,而许多仿真器
都会自己输出复位信号,而屏蔽掉目标板产生的复位信号,所以调试时复位信号是
没有问题的,我们公司使用的是长沙菊阳的仿真器,用的是比较先进的技术,还算
可以,仿真 AT89 系列的芯片一点问题没有,还很稳定的说。
这里有一个非常重要的问题要说下,大家有时候会遇到这样的一个问题:自己的程
序在仿真时运行一点问题也没有,但烧录后却不行了。结合我的经验有两种原因。
一是时序可能变了,这个大家都知道,我不多说,还有一个原因就是复位信号的问
题。具体情况如下:
(1)复位电路有问题,不能正常产生复位信号。因为调试时仿真器可能给你提供了
复位信号,而脱离仿真器后就没有了;
(2)看门狗的问题。有些 51 芯片带有看门狗复位功能,如 At89c55WD,当程序开
启了看门狗后,有时候程序的初始化内容太多了,往往会产生了复位信号,特别是
用 C 语言编程功能时,有时候虽然你明明在程序开始时某个地方关闭了看门狗,但
程序依然会复位,这是因为 C 语言执行效率比汇编低,看似几行代码,有时候要很
长时间的,所以在使用开门狗时一定要注意这个问题。
而这个问题在使用仿真器时容易被忽视,因为即使你的程序里看门狗复位了,但是
仿真器(菊阳仿真器可以开启/屏蔽这个功能)往往会屏蔽了这个复位信号,所以程
序仍然会正常运行的。
当你把程序烧好后再运行时,你却为发现刚调试好的程序却无法正常运行了,那是
因为你的程序一直在不停复位了,注意用示波器观察RST 脚可能看不到复位信号的,
因为看门狗复位并不影响RST 脚的电平。
再一种情况就是芯片内部不带看门狗,但是电路中有 CPU 监控芯片的,它往往是可
以提供复位信号的,而且是多种原因的复位信号,如果你发现上述情况,就可以用
示波器查看 RST 脚看是否有电平变化。
所以建议大家做 51 产品开发时尽量使用 CPU 监控芯片,向 X5045 就是非常好用的,
因为它还带有Eprom 功能,这在很多场合使用的到的,也可以用 MAX708 等专用复位
芯片了,既稳定又方便。
笔记归纳
以下是结合自己的实际做的几点笔记归纳:
1、与发光二极管串联的电阻(排阻)的计算和选取,一般发光二极管的正常发光的
电流是3~10mA,在发光二极管上产生的压降是 1.7V(轨管)R= (5-1.7)/3~10 (k)
2、单片机 TTL 电平高电平:+5V;低电平:0V。
RS232 串口电平高电平:—12V ;低电平:+12V。 可以通过 MAX232 电平转换芯片,
转换之间的电平。
3、单片机上电 I\O 口的寄存器为高电平,其余寄存器为低电平。
4、三极管的开关作用:在 B、E 间接正向电压,E、C 是导通的。
5、蜂鸣器:
1) 有源蜂鸣器直接接上额定电压就可以连续发声。
2)无源蜂鸣器和电磁扬声器一样,需要接在音频输出电路中才能发声。
3)有源蜂鸣器带振荡源,无源的不带。
4)有源蜂鸣器的理想信号是直流电。
5)无源蜂鸣器的理想信号为方波信号。
方波发声函数:void beep ()
{ fmq=0;
delay 500us ();
fmq=1;
delay 500us ();
}
6、计算单片机指令周期:
指令周期(us) = 12 / 晶振频率(Mhz)
选用 12M 的晶振,一个指令周期为 1us
7、89C51 的芯片最高支持 24M 的晶振
抛砖引玉——向前辈学习
上面只是笔者粗陋的小见解,笔者和大家都会感觉到不是很过瘾,它山之石可以攻
玉,我们还需向更多的前辈学习,笔者经过整理前人的经验总结,看到了很多值得
很大家一起分享的一些开发经验!
目前介绍单片机应用的文章很多,但介绍单片机开发工具制作的文章却较少。由于
单片机是一门实践性很强
文档评论(0)