1. <em id="3qmea"><ol id="3qmea"></ol></em>
    2. <em id="3qmea"></em>
      中国领先的单片机及嵌入式资讯教程开发工具提供者!
      当前位置单片机教程网 >> MCU设计实例 >> 浏览文章

      第3课 点亮第一个发光二极管

      作者:huqin   来源:本站原创   点击数:  更新时间2013年12月30日   字体

       

      在第上一课中我们主要讲了keil软件的使用及如?#38382;?#29992;keil软件建立一个工程文件下面我们就使用语言编写一个程序点亮实验板上的一个发光二极管首先我们来讲一下发光二极管的发光原理
      发光二极管发光原理
      发光二极管简称LED采用砷化镓镓铝砷和磷化镓等材料制成其内部结构为一个PN结具有单向导电性 当在LED发光二极管PN结上加正向电压时 P区的空穴注入到N区N区的电子注入到P区这空穴与电子相复合时产生的能量大部分以光的形式出现因此而发光并且根据释放能量的不同能发出不同波长的光在电路或仪器中可用作指示灯?#37096;?#20197;组成文字或显示器件
      发光二极管按封装这里可以暂理解为外形可分为直插式和贴片式的两种按发光颜色可分为红色蓝色绿色等如图所,上面为帖片发光二极管下边为直插式的发光二极管
       
      图发光二极管
          LED工作时应该串接一个限流电阻该电阻的阻值大小应根据不同的使用电压和LED所需工作电流来选择LED发光二极管的压降一般为1.5~3.0 V红色和黄色一般为2V其它颜色一般为3V其工作电流一般取10~20 mA为宜其限流电阻的计算公式为R=(U-UL)/IU为电源电压UL为发光二极管正常发光时端电压I为发光二极管的电流
      以上是发光二极管的基础知识但这里只说了一些重要的性质和参数?#23548;?#22312;做电路时还要考虑到其它的因素如各种种样的封装尺寸以及价格等下面说一下如何通过编程让实验板上的一个发光二极管发光
      学过电子技术的人应该知道要让一个发光二极管发光我们可能采用如下电路实现如图2这里只要限流电阻选择恰当就可以让发光二极管发光
      图2 全硬件电路实现发光二极管发光
      下面我们把电?#39134;?#20316;变化如图3把图2中接地的一端直接接到单片机的P1口的第1个引脚上大家想想现在怎么才能让发光二极管发光呢可能大家马上会说出让单片机第1脚输出低电压而单片机的引脚可以输出0和1两种电平0代表低电平也就是低电压1代表高电平也就高电压这个我们在前面的课程中讲过也就是说我们现在只要能通过程序让每1脚输出0就可以了
      图3 单片机实现发光二极管发光的原理图
      为了便于演示结果我们先给出实验板上的原理图如图4所示8个发光二极管通过一个排阻再通过一个跳线帽接电源的正极5V而所有管的负极则分别接到单片机的P1口的8个引脚上关于跳线帽这里就不解释了下面先说下排阻吧
       
      图4 实验板上的8个发光二极管
       
       
      图5 直插排阻和贴片的排阻
      2发光二极管及流水灯程序
      2.1 点亮第一个发光二极管
      上面我们介绍了发光二极管的发光原理同时对实验板上的原理图作了相应的分析下面给出点亮第一个发光管具体程序关于工程文件的建立前面已经详细的讲过这里不在叙述这里我们点击keil软件建立工程LED1,然后建立文件LED1最后输入程序如下
      例1 点亮第一个发光二极管程序
      2输入源程序又称为程序编辑
      #include<reg52.h>//52系列单片机头文件
      sbit D1=P1^0;//位定义单片机P1口的第1位
       
      void main()//主函数
      {
             D1=0;//点亮第一个发光二极管
      }
      输入上面程序时keil软件会自动识别C51的关键字如本程序中的includesbitvoid并会以不同的颜色加以提示如果输入有误则不会变颜色这样就可以使得程序编写者减少输入错误提高编程质量当然这一系列的前提是建立文件时必须先保存才会出现这?#20013;?#26524;这个也是我们上一节讲的为什么文件建好后最好先进行保存的原因
      2程序的编译与错误检查
      程序输入完毕后下一步的工作就?#23884;?#25991;件进行编译和错误检查与排除
      图6 输入代码后的界面
      如图6所示为程序输入后的界面点击全部编译快捷按钮此时会进入编译后的界面如图7.
      图7 编译后的界面
      在图7中我们会下到最下边的编译对话框里会多出几行字具体的含义如下
       
      创建目标“Target1”
      编译文件led1.c…
      链接…
      程序大小内部RAM 9.0个字节外部RAM 0个字节ROM空间18字节
      工程“led1”0错误0警告
       
      这就表示程序语法上没有错误当然如果有错误刚编译不能通过现在我们更改程序如我们把“sbit D1=P1^0; ”后面的“; ”再次编译此时会出现错误提示界面如图所示
       
      图8编译错误的界面
      此时双击错误提示行图8蓝色行会有在程序中出现一个箭头错误信息?#32479;?#29616;在箭头附近这里相当于一个提示此时根据该提示信息就可以快速的?#19994;?#31243;序错误的地方
      ?#24120;?#31243;序下载
      在下载程序到单片机之前我们还需做一步工作就是生成“ȣţ”文件生成的设置因为单片机只能认识0和1之类的二进制数字代码也就是说再复杂的程序最终下载到单片机内部都只能是一连串的二进数单片机允许下载ȣţ文件和£ɣ文件BIN是二进制文件是binary的简称可直接下载到单片机内部ȣţ是十六进制文件是hexadecimax的简称下载?#26412;?#36807;下载软件?#30452;?#32763;译成二进制文件最终下载到单片机里
      Keil软件可以直接输出HEX文件但需要设置此时回到编辑界面然后点击Project Opitions for Targtet ‘Target 1’选项或直接点击界面左上角快捷方式按钮出现设置界面如图选择utput选项然后在Creat Hex file选项前打?#24120;?#28982;后点击确定即可
      图9hex文件输出设置窗口
      ȣţ文件设置后会重新回到编辑界面此时再次点击全部编译按键此时会在最后面的编译信息窗口看到多出了creating hex file from “led1”…如图10所示此时表明在工程文件中生成了hex文件这个
      图10生成hex文件后的窗口
      此时我们用ɣӣ软件将来此ȣţ文件下载到实验板中看到的实验现象如图11所示
      图11第一个发光二极管发光的实验现象
      发表评论告诉好友收藏此文关闭窗口

      文章评论

      相关文章

      ຣ11ѡ5app

        
        
        1. <em id="3qmea"><ol id="3qmea"></ol></em>
        2. <em id="3qmea"></em>

            
            
            1. <em id="3qmea"><ol id="3qmea"></ol></em>
            2. <em id="3qmea"></em>