LED灯闪烁protues仿真文件及源程序.zip

  • 浏览量:2223
  • 下载量:1
  • 资料大小:58.91 KB
  • 日期:2014-04-08
  • 上传者:ww4160
  • 分享
  • 评论
  • 举报
  • 收藏

资料描述

    第一项任务:驱动led灯闪烁 间隔时间自定





    用到的知识点:


    1.单片机io口


    2.led灯的使用原理


    3.最简单的程序led闪烁的实现


    第一个知识点:单片机io口


    单片机的输出电流非常小(内部有30k的上拉电阻),因此都是灌电流的方式来点亮led





    p1 p2 p3口  高(对应1)为5v 低(对应0)为0v


    p0口           高是高阻态非5v 低(对应0)为0v


    如果使用p0口来驱动led灯的话需要,接上拉电阻,


    原理如下图:





    那上拉电阻的阻值是多少呢?


    第二个知识点:led的使用原理假定led的压降电压为1.7v,正常工作的电流为3ma--20ma,那就可以很简单的算出r=(5v-1.7v)/(3ma--20ma)


    第三个知识点:最简单的程序led闪烁的实现


    程序如下:


    #include //头文件


    #define uint unsigned int


    #define uchar unsigned char


    sbit led1=p0^0;   //位定义


    void delay_ms(uint);//ms级带参数延时函数声明


    void main()


    {


    while(1)


    {


    led1=0;


    delay_ms(1000);


    led1=1;


    delay_ms(1000);


    }


    }


    void delay_ms(uint z)  //延时子程序


    {


    uint x,y;


    for(x=z;x>0;x--)


    for(y=110;y>0;y--);


    }


    这个程序是可以指示灯以接近1秒的间隔来闪烁,简单吧,因为这是第一个程序,里面涉及到知识点对于新手来说理解起来也是有点困难


    上面这个程序:包含的知识点有以下几个


    头文件,宏定义,位定义,延时函数(带参数),while语句,for语句,程序的写法


    第四个知识点头文件:头文件是一些变量和函数的定义,你要引用这些函数或变量,就必须告诉编译器这些函数或变量的所在的文件!常用的有reg51.h  reg
评论(0)

登录后可评论,请 登录注册

   
相关资料
换一换