购买增强型51实验板请查看:/Shop/dpj/200802/52.html 从本文开始,我们将各方面着手,结合实例,如:按键、继电器、蜂鸣器、数码管、串口通信、液晶屏、红外线、步进电机、IIC通信等原理及使用方法,一步一步地伴您走向单片机大门。在前一期中,我们已对发光二极管的使用进行了学习,如怎么编写流水灯程序,相信大家都已经有了一个感性的认识。在这一期中,我们首先将一起来学习一下单片机应用电路中键盘、蜂鸣器和继电器的工作原理及使用方法,这也是单片机开发中,**为常用的。至于具体涉及到的程序编写、仿真调试及芯片烧写的使用,读者朋友可以参考我们前几课接触过的教程。 我们先来介绍一下我们本期及以后几期用来学习的增强型51实验板。如图1所示
这是我们**新研制的增强型51实验板,功能更强大,性能更稳定,板上的资源非常丰富,可做的相关实验有:数码管、蜂鸣器、继电器、流水灯、开关、IIC协议通信、串口通信、红外线、步进电机等等,足矣使你从单片机入门转为单片机高手。 首先,我们先来学习一下键盘的使用方法。单片机对键盘信息的读取可以分为静态扫描法和动态扫描法,动态的稍微复杂一些,故在此我们介绍一下静态扫描法,看看单片机是如何获得按钮的状态信息,然后再作出相应的控制。
如图2所示,在我们的增强型51实验板上,共有5个按键,第一个是用来做系统复位使用,其余4个按键是供用户使用的,从原理图上可以看到,它们分别接在单片机的P3.2、P3.3、P3.4、P3.5口上。我们在前一期中曾经讲到点亮一个发光管的实例,那时程序执行的效果是:实验板上电后,马上点亮发光管。而现在,我们如果想要通过按键来控制发光管的点亮,如:按下第一个接P3.2口的那个按钮,发光管点亮,那该怎么办呢?其实想做到这一点是非常容易的,点亮第一个发光管的程序代码很简单,就是:CLR P1.0,那么我们现在要做的就是当读取按键状态为按下时,执行CLR P1.0该语句,点亮发光管。以下是此功能的程序代码。 按下按键(P3.2)时点亮第一个发光管的程序如下: Loop: SETB P1.0 L1: jnb P3.2,L2 Ajmp L1 L2:CLR P1.0 Ajmp Loop END “SETB P1.0”语句的作用是,给单片机P1.0口置高电平,初始化发光管的状态,使其不亮。行号为L1语句的作用是:如果p3.2等于低电平(键按下)那么转到行号为L2语句处执行。“Ajmp L1”语句的作用是跳转到语句行L1处执行,如后面那句“Ajmp Loop”语句的作用则是跳转至Loop处执行。“L2:CLR P1.0”的作用则是给P1.0口置低电平,即点亮发光管。我们在这个程序中使用“Ajmp Loop”语句来作循环的作用是不停地判断按键是否被按下,一旦发现按下,则马上转至L2语句执行,点亮发光管。当程序执行仿真或将文件烧入单片机芯片插在增强型51实验板上运行时,你会发现,当你按下板上P3.2那个按键,第一个发光管点亮,手放开后发光管即熄灭。呵呵,有点意思吧:) 这是一个**简单的,用按键控制发光管的实例,当然,你也可以去控制其它的东西,只要在L2标号处填写相应的程序代码就可以了,如控制数码管、蜂鸣器或继电器等等。在此说明一下,刚才我们使用到的是接在P3.2的按钮,如果你想使用实验板上其它几个按键来控制,那只要在程序中改动相应的P口号即可,如将P3.2改为P3.3、P3.4或P3.5即可。 当你看到这里,相信你对按键的使用已有了一定的了解了吧。说到单片机,它在很多方面的应用就是用来做控制的,当然控制方式有多种,如通过可控硅,继电器等等。就我个人认为,作为初学者来说,还是用继电器来的好,也比较安全。那接下来,我们就来介绍一下继电器的原理及使用方法。
购买增强型51实验板请查看:/Shop/dpj/200802/52.html |
|