单片机工程师(一份正真的让你成为工程师的贴子).pdfVIP

单片机工程师(一份正真的让你成为工程师的贴子).pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机工程师(一份正真的让你成为工程师的贴子)

从这一章开始,我们开始迈入单片机的世界。在我们开始这一章具体的学习之前,有必要给大家先说明一 下。在以后的系列文章中,我们将以51 内核的单片机为载体,C 语言为编程语言,开发环境为KEIL uv3 。 至于为什么选用C 语言开发,好处不言而喻,开发速度快,效率高,代码可复用率高,结构清晰,尤其是 在大型的程序中,而且随着编译器的不断升级,其编译后的代码大小与汇编语言的差距 来 小。而关于 C 语言和汇编之争,就像那个啥,每隔一段时间总会有人挑起这个话题,如果你感兴趣,可以到网上搜索 相关的帖子自行阅读。不是说汇编不重要,在很多对时序要求非常高的场合,需要利用汇编语言和C 语言 混合编程才能够满足系统的需求。在我们学习掌握C 语言的同时,也还需要利用闲余的时间去学习了解汇 编语言。 1. 点亮LED(发光二极管)开始 在市面上众多的单片机学习资料中,最基础的实验无疑于点亮LED 了,即控制单片机的I/O 的电平的变化。 如同如下实例代码一般 void main(void) { LedInit() ; While(1) { LED = ON ; DelayMs(500) ; LED = OFF ; DelayMs(500) ; } } 程序很简单, 的结构可以看出,LED 先点亮500MS ,然后熄灭500MS ,如此循环下去,形成的效 果就是LED 以1HZ 的频率进行闪烁。下面让我们分析上面的程序有没有什么问题。 看来看出,好像很正常的啊,能有什么问题呢?这个时候我们应该换一个思路去想了。试想,整个程序除 了控制LED = ON ;LED = OFF ;这两条语句外,其余的时间,全消耗在了DelayMs(500)这两个函数上。 而在实际应用系统中是没有哪个系统只闪烁一只LED 就其 什么事情都不做了的。因此,在这里我们要想 办法,把CPU 解放出来,让 不要白白浪费500MS 的延时等待时间。宁可让 一遍又一遍的扫描看有哪 些任务需要执行,也不要让它停留在某个地方空转消耗CPU 时间。 上面我们可以总结出 (1) 无论什么时候我们都要以实际应用的角度去考虑程序的编写。 (2) 无论什么时候都不要让CPU 白白浪费等待,尤其是延时(超过 1MS)这样的地方。 下面让我们 另外一个角度来考虑如何点亮一颗LED 。 先看看我们的硬件结构是什么样子的。 我手上的单片机板子是电子工程师之家的开发的学习板。就以 的实际硬件连接图来分析吧。如下图所 示 (原文件名:led.jpg) 一般的LED 的正常发光电流为10~20MA 而低电流LED 的工作电流在2mA 以下(亮度与普通发光管相 同)。在上图中我们可知,当Q1~Q8 引脚上面的电平为低电平时,LED 发光。通过LED 的电流约为 (VCC - Vd )/ RA2 。其中Vd 为LED 导通后的压降,约为1.7V 左右。这个导通压降根据LED 颜色的不同,以 及工作电流的大小的不同,会有一定的差别。下面一些参数是网上有人测出来的,供大家参考。 红色的压降为1.82-1.88V,电流5-8mA , 绿色的压降为1.75-1.82V,电流3-5mA , 橙色的压降为1.7-1.8V,电流3-5mA 兰色的压降为3.1-3.3V,电流8-10mA , 白色的压降为3-3.2V ,电流10-15mA , (供电电压5V,LED 直径为5mm) 74HC573 真值表如下: (原文件名:74hc573.jpg) 通过这个真值表我们可以看出。当OutputEnable 引脚接低电平的时候,并且LatchEnable 引脚为高电平 的时候,Q 端电平与D 端电平相同。结合我们的LED 硬件连接图可以知道LED_CS 端为高电平时候,P0 口电平的变化即Q 端的电平的变化,进而引起LED 的亮灭变化。由于单片机的驱动能力有限,在此,74HC573 的主要作用就是起一个输出驱动的作用。需要注意的是,通过74HC573 的最大电流是有限制的,否则可能 会烧坏74HC573 这个芯片。 上面这个图是 74HC573 的DATASHEET 中截取出来的, 上可以看出,每个引脚允许通过的最大电流为 35mA 整个芯片允许通过的最大电流为75mA 。在我们设计相应的驱动电路时候,这些参数是相当重要的, 而且是最容易被初学者所忽略的地方。同时在设计的时候,要留出一定量的余量出来,不能说单个引脚允 许通过的电流为35mA ,你就设计为35mA ,这个时候你应该把设计的上限值定在20mA

您可能关注的文档

文档评论(0)

rachel + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档