项目 po口驱动led闪烁.pptxVIP

  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文档。上传文档
查看更多
项目 PO口驱动LED闪烁;一、任务 1)利用口驱动LED闪烁,高电平有效; 2)利用口驱动LED闪烁,低电平有效; 二、目的 1)了解口驱动负载特点,掌握利用C语言编写程序一般方法; 2)掌握单片机P0口输出特性;; STC-89C51单片机的P0口采用为OD门输出,不存在拉 出电流,即P0口输出高电平时输出电流很小,但P0口输出 低电平时,P0口灌入电流达到20毫安,因此P0只具有较强 的低电平驱动能力。如果利用P0驱动门电路以及如LED这 样的小功率负载,必须加上拉电阻,否则,即使编程让P0 输出??电平,但是实际只能输出低电平。 一、电路原理 图1-1是单片机驱动LED电路,图中端口与电源;图1-1 单片机驱动LED电路原理;之间接有一个电阻R2,当口输出低电平时,从电源正 极出发经过电阻的电流通过口进入单片机,LED的正 极为低电平,此时LED不亮,当此时P0口输出高电平时, 经过电阻的电流无法进入端口,只能通过LED,此时 LED亮。这种LED驱动方式为高电平有效方式。 驱动LED采用的是低电平有效方式,直接了利用了P0口的低电平驱动能力。当端口输出高电平时,LED不亮,;只有当端口输出低电平时,LED才亮。为了验证两种驱动方式的效果,可以编写程序后再利用Proteus软件进行仿真。 二、程序设计 由于和驱动接法不同,因此要实现两种接法的LED闪烁效果,程序略有差别,下面给出两种接法的LED闪烁程序。 ;/***********************************************************************/ #includereg51.h //包含头文件 sbit LED = P0^0; // LED接。在kell C51软件中,定义为P0^0, void delay(unsigned char x) //延时函数 { unsigned char i,j; for(i = 0;i x;i++) for(j = 0;j 200;j++); } ;void main(void) //主函数 { while(1) //程序死循环 输出低电平,LED灭 delay(100); //调用延时函数,延时一段时间,约秒,不精确 输出高电平,LED亮 delay(100); } } /*************************************************************************/;(2)利用端口驱动LED闪烁,低电平有效 /*****************************************************************************/ #includereg51.h //包含头文件,程序为小5号字 sbit LED = P0^7; void delay(unsigned char x) //延时函数 { unsigned char i,j; for(i = 0;ix;i++) for(j = 0;j 200;j++); } void main(void) //主函数 { while(1) { LED = ~LED; //LED初始状态为灭,执行一次,LED改变一次状态 delay(100); delay(100); //延时一段时间 } } /*****************************************************************************/ ;三、程序说明 (1)因为使用的单片机芯片为STC89C51,因此程序开始处加入#includereg51.h,文件中包含了51芯片所有特殊功能寄存器的名称定义和相对应的地址值; (2)单片机程序顺序执行程序,先执行主函数,在主函数内可以调用分函数,分函数可以调用分函数,但分函数不能调用主函数,程序执行一条命令再执行下一条,执行完毕后返回到主函数入口进行下次循环。延时的过程;是单片机执行了一个delay(100)函数而浪费一段时间。 在执行delay()的过程中,如果没有中断,单片机只能 忙这一件事情,单片机在执行此函数相关指令时浪费和占 用的时间就是执行延时函数获得的时间,但利用delay() 不能得到精

文档评论(0)

kuailelaifenxian + 关注
官方认证
文档贡献者

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

认证主体太仓市沙溪镇牛文库商务信息咨询服务部
IP属地上海
统一社会信用代码/组织机构代码
92320585MA1WRHUU8N

1亿VIP精品文档

相关文档