【48812】单片机小白学步(21) IO口:根本的LED和按键操作

  点亮LED的比如前面入门篇现已讲过了,程序写起来很简单,Keil编写程序并编译生成HEX文件,烧写进

  榜首句界说LED为sbit型变量,对应了P1.0口的凹凸电平,详细应该写哪个IO口,和实践电路有关。第二句设置LED对应的P1.0管脚输出低电平,然后点亮LED。

  讲第二个试验前,先粗略地介绍下常用的按键开关。下图便是最常见的按键开关,有四个引脚,图中的1、2连在一起,3、4衔接在一起。按下按键时,四个引脚就悉数导通了。

  依据前面讲的IO口原理,我把按键开关一端接在P2.0端口了,另一端接到GND。由于P2.0有内部上拉电阻,我就不必自己外接了。最小体系和LED仍是之前的电路不变,如下图所示。

  程序首要界说了LED和KEY,别离表明发光二极管和按键开关。假如你用的是制品开发板,或许电路和我的不一样,就界说你的电路中对应的管脚。开发板可以从电路图检查独立按键地点的管脚。

  主函数刚开始时,设置KEY输出高电平,由于后边要读取KEY地点端口的电平。在程序的主循环中,读取KEY的值,这儿咱们直接把KEY作为一个一位变量去判别就可以了,它有值0和1。假如KEY为1,即KEY==1,阐明按键没有按下,设置LED=1即平息。留意这儿运用两个等号表明比较而不能用一个等号,那样就成赋值了。在else中,设置LED=0即点亮。所以就能完结咱们应该的作用了。

  留意这儿咱们读取按键和开关LED的代码应该放在主循环里边,也便是不断的读取按键状况并开关灯。假如放在主循环前面,主函数写成下面这样,是不能作业的。由于单片机履行速度很快,放在循环前面只会读取按键履行一次,履行完了进入while(1)主循环,单片机就不会再读取按键的状况,这时无论如何按键,它都不会帮你开关LED了。

  还要说的是,这个程序还能进一步简化。由于KEY是一个变量,在C语言中变量有真假值,非零为真,零为假。所以主循环中能这样写(其他部分相同):

  可是还可以持续简化。由于LED和KEY都是变量,可优先考虑直接用KEY给LED赋值,写成下面这样就行了。

  假如要完结按下按键灯灭,开释按键灯亮这样恰好相反的作用,做个很小的修正就可以了,如下所示。感叹号是逻辑取反的意思,假如是0就会变成1,假如对错0就变成0。

  试验三我只提供首要代码片段,详细的剖析了解,实践电路搭建和试验,交给我们自己完结。

  再次着重,假如想学好单片机,我们必需要自己独立做完这三个试验,切身体会单片机的作业进程,进步着手才能。假如做试验的进程中感觉很奇特,感受到着手的趣味,就更简单学好单片机。假如你觉得这仅仅不想做的使命,或许你对单片机并没什么爱好,那样的话想学好单片机就有些困难了。由于学习历来都应该是自动的工作。



上一篇:【48812】索尼W700A系列支撑Motionflow倍速驱动吗 下一篇:【48812】教室护眼灯为防控学生近视贡献力量

Copyright © 2014 环球国际2024最新|官网app下载地址 Kuangtong Electric(China) Co.,ltd All Rights Reserved

鄂公网安备 鄂ICP备14019055号-1