单片机驱动一个LED闪烁

单片机驱动一个LED闪烁

ID:45113061

大小:375.00 KB

页数:24页

时间:2019-11-10

单片机驱动一个LED闪烁_第1页
单片机驱动一个LED闪烁_第2页
单片机驱动一个LED闪烁_第3页
单片机驱动一个LED闪烁_第4页
单片机驱动一个LED闪烁_第5页
资源描述:

《单片机驱动一个LED闪烁》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单片机程序设计基础在简单了解单片机原理的基础上,我们就可以试着编一些简单的程序,以便提高单片机系统的认识,同时培养单片机的编程能力。本章以项目和任务为内容,由浅入深、循序渐进,介绍单片机资源的利用以及简单系统程序设计的思想,达到培养单片机程序设计能力目标。另外,每一个项目的程序可以在Kile软件中编写,也可以通过软件仿真和硬件仿真观察程序运行的结果。3.1单片机驱动一个LED闪烁单片机的I/O口可以直接驱动一些器件,通过单片机运行程序,达到单片机对一些器件的控制。LED是一种常用的显示器件,单片机的I/O可以直接驱动。本节任务是利用单

2、片机的一个I/O口驱动LED电路,设计程序使其闪烁。在了实现P0.0口驱动负载特点基础上掌握程序设计一般方法,同时还要掌握单片机系统仿真、程序下载的一般过程。3.1.1电路原理STC-89C51单片机的P0口采用为OD门输出,高电平输出时不存在拉出电流,但P0口输出低电平时,P0口灌入电流达到20毫安,因此P0只具有较强的低电平驱动能力。如果利用P0驱动门电路以及如LED这样的小功率负载,必须加上拉电阻,否则,即使编程让P0输出高电平,但是实际只能输出低电平。图3-1-1是单片机驱动LED电路,图中P0.0端口与电源之间接有一个电阻R

3、2,当P0.0口输出低电平时,从电源正极出发经过电阻的电流通过P0.0口进入单片机,LED的正极为低电平,此时LED不亮,当此时P0口输出高电平时,经过电阻的电流无法进入P0.0端口,只能通过LED,此时LED亮。这种LED驱动方式为高电平有效方式。P0.7驱动LED采用的是低电平有效方式,直接了利用了P0口的低电平驱动能力。当P0.7端口输出高电平时,LED不亮,只有当P0.7端口输出低电平时,LED才亮。图3-1-1单片机驱动LED电路原理3.1.2程序设计与编译一、程序设计单片机内部的P0~P3寄存器都可以进行位操作,P0~P3

4、对应的端口即单片机的32个I/O口会输出P0~P3的结果。本例实现LED闪烁,只要让P0.0电平周期性变化即可。程序流程见图3-1-2所示。图3-1-2LED闪烁程序流程在Kiel程序设计软件中,P0.0口定义为P0^0,因此在利用C语言程序设计时,要想让P0.0为低电平,只要编写P0^0=0一条语句即可。为了是程序简单明了,也可以利用sbitLED1=P0^0语句,让LED1代替P0^0。本案例的程序清单如下:/*************************************************************

5、******/#include//包含头文件sbitLED1=P0^0;//LED接P0.0。在kellC51软件中,//定义P0.0为sbitsbitLED2=P0^7;voiddelay(unsignedcharx)//延时函数{unsignedchari,j;for(i=0;i

6、,//不精确LED1=1;//P0.0输出高电平,LED1亮delay(100);}}/************************************************************/二、程序说明(1)因为使用的单片机芯片为STC89C51,因此程序包含reg51.h文件,reg51.h文件定义了51单片机所有特殊功能寄存器的名称定义和相对应的地址值;(2)单片机程序顺序执行程序,先执行主函数,在主函数内可以调用分函数,分函数可以调用分函数,但分函数不能调用主函数,程序执行一条命令再执行下一条,执行完毕后返回

7、到主函数入口进行下次循环。延时的过程是单片机执行了一个delay(100)函数而浪费一段时间。在执行delay()的过程中,如果没有中断单片机只能忙这一件事,单片机在执行此函数相关指令时浪费和占用的时间就是执行延时函数获得的时间,但利用delay()不能得到精确的延时。延时函数还可以利用带有形参的函数实现,例如:/******************************/voiddelay(unsignedintx){while(x)x--;}/******************************/(3)利用位定义命令让L

8、ED等价于P0.0,程序执行LED1=1后,P0.0对以的单片机内部位寄存器就设置为高电平,P0.0端口输出高电平,单片机的所有I/O口都可位位定义,也可以字节定义。(4)单片机C语言程序设计需要的C语言关键字不多,并且

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。