- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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()
不能得到精
您可能关注的文档
最近下载
- 移动式升降平台安全管理.pptx VIP
- JMP中文版使用指南.pdf VIP
- 供应商供货能力评估方法.docx VIP
- 外研版(2019) 选择性必修第四册 Unit 4 Everyday Economics Using language教案.docx VIP
- 2025年中国AI智能硬件行业市场竞争现状及未来前景研判报告.docx
- 国开一体化平台04037《人体解剖生理学(本)》章节自测(1-11)试题及答案.pdf VIP
- 思迅专卖店管理系统8特色介绍.ppt VIP
- 培智二年级生活语文第二学期教学计划.docx VIP
- 小公司财务管理制度简单版(二篇).doc VIP
- 高中英语词汇3500词(必背)-高中英语必备3500词汇表.pdf VIP
文档评论(0)