您的位置 首页 数字

单片机小白学步(13) 点亮第一个LED——好的开始,成功的一半

前面介绍了很多概念知识,做了很多准备工作,从这一节开始,我们正式开始单片机的学习。我们将使用单片机完成一项非常简单的工作:点亮一个…

前面介绍了许多概念常识,做了许多预备作业,从这一节开端,咱们正式开端单片机的学习。咱们将运用单片机完结一项十分简略的作业:点亮一个发光二极管(即LED:Light-Emitting Diode)。

LED简介

先简略介绍一下LED。LED是一种半导体器材,咱们其实对LED并不生疏,各种电器的指示灯、手机键盘灯、LED液晶屏的背光、高亮LED手电筒等,都是经过LED发光的。LED有两种主要用途,一种是作为指示灯;另一种是照明。照明用的LED一般都是大功率LED,需求较大的电压电流才干正常作业。而这儿咱们要用到的则是用作指示灯的小功率LED。常见的小功率LED,在它的正负极加上3V左右的电压,就会发光,正常发光的时分,电流大概是2~5mA。这儿要留意,LED有正负极之分,接反了不会发光。别的,电压也不行太高,那样会烧坏LED。关于LED更具体的介绍,咱们能够参阅电子元器材介绍之类的书本。

电路规划

前面现已介绍了,单片机的IO口能输出凹凸电平,点亮LED便是经过IO口输出电平完结的。假如咱们把LED的正极接在电源正极,负极接在单片机的一个IO口上。让单片机的IO口输出低电平,也便是挨近0V的电压,这时LED两头有电压差,就能发光;假如IO口输出高电平,LED就会平息。

咱们咱们用的51单片机是5V供电,而LED需求3V电压,所以咱们需求在LED上串联适宜的电阻,否则会烧坏器材。咱们能够选用P0~P3共32个IO口中的任何一个,这儿挑选的是P1.0。电路图如下,电阻取值引荐为330Ω ~ 1kΩ之间。

趁便附上电阻阻值的核算进程:

1、电阻和LED串联,LED点亮时总电压5V,LED上需求3V,所以电阻上电压是5-3=2V。

2、LED的电流为2~5mA,假如算成2mA,电阻上电压为2V,电流为2mA,依据欧姆规律,所以阻值应该为2V/2mA=1kΩ。

面包板建立电路

咱们在自己的面包板上建立的电路如下,我把LED衔接在P1.0端口上(万用板焊接的电路这儿没有供给,咱们能够自己去建立):

开发板的运用

假如你是用的是开发板而且上面有LED模块,你能够检查电路图。例如我的开发板电路图:

图中VCC经过J1接到RP1上,RP1是排阻,图中的1号脚是公共脚,在排阻的内部从1号脚往2~9号每个管脚之间有一个1k电阻,一共8个1k电阻摆放起来,所以叫做排阻。J1相当于一个开关,其实是两个排针构成的插座。假如插上跳线帽,就能够导通;拔下跳线帽,就断开了。这样规划的优点是,假如我要用LED模块就插上跳线帽;而假如我不必LED模块,而讲IO口用于其他意图,这时LED就不会对我的电路发生搅扰,咱们LED一端接IO口,另一端接到排阻上,而排阻另一端是悬空的,没有接入电路。

而图中的标号DB1~DB8又接在单片机最小体系电路中的P1.0~P1.7的IO口,所以在J1导通的状况下,P1.0~P1.7的凹凸电平就能操控D1~D8这八个LED的亮灭了。

具体操作

单片机的编程,咱们一般运用Keil软件。Keil软件能够从网上下载,装置进程这儿不做具体介绍,有根本核算机操作常识,装置起来应该没有问题。值得留意的一点是,装置的时分尽量装置到英文目录下,最好不要用中文,避免程序运转呈现问题。

咱们翻开Keil软件,预备给单片机写程序。咱们能够依照下面的过程进行(这儿以Keil uv4英文版为例进行阐明。假如你运用的是Keil其他版别,操作方法根本相同)。

一、新建并装备工程

1、首要新建工程:点击菜单中的Project – New uVision Project。

2、然后咱们在电脑上为咱们的工程新建一个文件夹,这儿我用的是Project01 – LED,咱们能够自行命名,但最好是英文名。

3、翻开文件夹,输入工程的称号,点击保存。这儿我输入的是LED。

4、然后弹出一个窗口,让咱们挑选单片机的类型。咱们用到的是STC89C52RC,而这儿面或许没有STC单片机,咱们只需求挑选彻底兼容STC的Atmel系列AT89C52单片机,点击OK结语即可。

5、随后会弹出一个窗口,提示咱们是否需求增加8051的发动代码到工程中,点击否即可(假如咱们需求运用自定义的发动代码,则能够点是,然后修正发动代码。而咱们编程用的是C言语,一般状况下不需求修正发动代码。至于发动代码有什么用途,则能够比及咱们对单片机了解的比较深化的时分再查找相关材料进行学习)。

6、下面咱们对工程进行简略的设置。右击Target 1,挑选第一项Options for Target ‘Target1’…,弹出工程特点设置窗口。

7、咱们翻开Output标签,并勾选Create HEX File,然后点击OK结语即可。

二、新建源文件并增加至工程中

1、工程新建并装备完结了,下面咱们开端新建程序源文件。点击菜单中的File-New,呈现一个新的文件,如图。

2、然后咱们点击保存按钮,将其保存到工程文件夹Project01 – LED中,保存为扩展名是“.c”的文件,如main.c。这儿咱们要留意的是,源文件其实仅仅一个一般的文本文件,不过扩展名是c而不是txt。咱们刚刚新建main.c文件的操作,也能够经过在资源办理器中新建文本文档,然后重命名为main.c的方法进行。

3、源文件新建好了。源文件仅仅一个独立的文本文件,而工程文件现在和刚刚新建的源文件仍是彻底独立、没有相关的。咱们要把刚刚新建的main.c文件增加到咱们的工程中来:右击Target 1/Source Group 1,并挑选菜单中的Add Files to Group ‘Source Group 1’…来增加文件。

4、双击需求增加的文件main.c,或许选中它再点击Add按钮,从左面的Project窗口就能够看到,文件就现已被增加到工程中了。这时弹出的窗口并没有封闭,咱们这样能够便利持续增加其他文件。咱们咱们现在只需增加一个文件而且增加好了,所以点击Close封闭弹出的窗口。

三、编写程序并编译

1、咱们翻开main.c,开端正式编写程序了。咱们编写的程序如下并保存。至于这个程序是什么意义,之后将具体介绍。留意一点,我给出的程序中设置的LED是P1.0,假如你的开发板或许自己建立的电路中LED的IO口不是P1.0,你需求照着我给出的格局修正sbit那一行。这一点也充分体现了,单片机编程是和实践硬件电路休戚相关的,程序和电路要配套,才干正常运转。

#include

sbit LED = P1^0;

void main()

{

LED = 0;

while(1);

}

2、点击左上方的双箭头按钮编译悉数文件,咱们看到下方的输出窗口显现编译完结,“creating hex file from ‘LED’”标明现已编译时创建了HEX文件(HEX文件是十六进制文件,将烧写进单片机。相当于Windows中的可碑文文件“.exe”),“0 Error(s), 0 Warning(s).”一共编译成功,程序也没有语法错误。假如提示你的程序有错,请仔细的检查一下,有没有发生漏掉分号等状况。

四、烧写程序到单片机中

在工程文件夹下,咱们能够看到生成的LED.hex文件,这正是咱们所需求的。下面咱们将把LED.hex文件烧写进单片机。前面现已介绍了单片机程序下载相关常识,这儿咱们将介绍下载程序的一般过程。咱们咱们运用的电脑、开发板等都不彻底相同,有或许会下载失利。期望下载没有成功的读者不要悲观,关于下载失利怎么处理,请持续看后边内容。下载程序的操作过程如下:

1、设置单片机类型,这儿咱们设置单片机为STC89C52RC。

2、设置串口端标语,波特率等参数。咱们咱们一般用的是USB转串口芯片,不是真实的RS232串口,所以串标语不固定,每次插上转接板或单片机学习板时,咱们应翻开设备办理器如图(XP体系:右击“我的电脑”→“特点”→“硬件”→“设备办理器”;Win7体系:右击“核算机”→“办理”→“设备办理器”)。找到端口(COM和LPT)选项,翻开,晒干会有一个相似“Prolific USB-to-Serial Comm Port(COM1)”或许“USB-SERIAL CH431(COM1)”的项。括号晒干的COMx便是咱们要找的端标语。填到STC-ISP中就能够了(假如有多项不知道是哪一个,能够插拔单片机学习板看哪项会改写)。假如很不幸,你的串标语很大,超出STC-ISP可设置的范围了,能够右击设备办理器中显现的那一项更改COM端口序号。波特率等选项一般按默许即可,不需设置。

3、点击“翻开程序文件”,挑选要烧写的单片机程序HEX或BIN文件。HEX或BIN文件是编译之后的机器码,翻开后能够在STC-ISP右侧程序文件中看到对应的十六进制数字。你能够挑选自己写的程序发生的机器码,也能够在STC-ISP的test-hex目录中找一些测验程序。这儿咱们挑选刚刚编译生成的HEX文件。

4、先点击“下载”,然后再翻开电源开关,给单片机上电。稍后STC-ISP就会显现正在烧写程序。假如点击“下载”前忘了先关电源,或许程序没能下载,不需求点击“中止”按钮,直接断电再上电测验即可。一般几秒钟就能下载完结,STC-ISP中会显现下载成功。

五、调查程序碑文成果,有必要的时调试程序。

一般程序下载完结后,假如P1.0口接有LED,电路衔接无误,LED就会奇观般的亮起来。咱们就成功的让单片机碑文了咱们自己写的程序。每个初学单片机的人在看到这一幕的时分,往往都会激动万分,正如我第一次学习单片机相同高兴。咱们这儿的程序十分简略,根本不需求调试。这时你就能够向老友夸耀一下,展现你的劳动成果了。

=======================================================

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/shuzi/265990.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部