点亮一个灯
点亮一个灯,听起来就好像使用家里的开关打开日常照明灯一样。没错,这种理解方式是对的。LED灯在1.5V以上就会被点亮,在1.5-3V之间时亮度变化比较明显,3-5V变化比较不明显。另外LED的正常驱动电流为10mA左右,一般我们都控制在5mA-10mA。观察一下下面的电路。
这是一个纯粹的LED电路,Vcc一般选择5V,电阻1K欧姆,那么通过LED的电流在5mA左右,这是一个常亮电流,只要电源不断电,LED就一直工作着。那么我们如何通过单片机控制led灯呢第一节我们说到单片机重要的一点那就是电路引脚,聪明的同学应该也能想到了,我们可以通过引脚,来通过软件编程的方式,让单片机的这个引脚来实现有电和没电的方式,来控制led。
说到引脚,就不得不提单片机很重要的一点,(敲黑板),这是重点,那就是原理图,那什么是原理图呢,那就是单片机芯片的电路结构。
如图,这是stc89c52芯片的一款单片机,这个电路是我们实验室的师兄设计的,重点先讲芯片的引脚分布。
如图就是stc89c52的引脚图,我们本节课需要做的就是,通过kile这个软件编写代码,根据原理图,控制芯片的引脚,来给这个引脚电,实现led灯的亮灭。
再观察一下led的电路
当把GND换成单片机的一个引脚时,通过控制引脚输出高电平,那么LED两端的电压都为5V,不存在电势差,LED就无法点亮;反之,通过控制引脚输出低电平,LED两端形成了电势差,LED就如上面的常亮电路一般点亮。这样就轻松实现了LED的可控亮灭。注意:在这里电阻不宜选择不当,电阻过大流过LED的电流过小,无法点亮LED灯,电阻过小则容易烧毁LED,或者由于灌电流过大而烧毁单片机芯片。(单片机的灌电流一般控制在15mA以下)
原理很好懂,接下来就讲一下程序的步骤。
第一步,引入头文件。没有头文件的程序不是不能执行,只是缺乏系统的对寄存器的定义,小程序还可以解决,一旦程序稍微复杂一点,程序员就会因为查找寄存器地址而浪费很多时间。STC系列所有芯片都有配套的头文件,完全可以直接调用这些头文件,节省这些不必要浪费的时间。
第二步,做初始化准备工作,配置相关的寄存器,包括引脚的输入输出模式,第二功能等等。单片机上电默认配置为准双向口模式,输出高电平。虽然刚开始写的程序大部分都采用上电默认模式,但是作为初学者,还是建议在程序开始的地方写一下模式配置,了解配置的原理。
第三步,编写主体功能程序,点亮一个LED。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!