通过按键控制IO口操作

来源:本站
导读:目前正在解读《通过按键控制IO口操作》的相关信息,《通过按键控制IO口操作》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《通过按键控制IO口操作》的详细说明。
简介:今天对单片机按键有了一定的认识,单片机分为独立式键盘和矩阵式键盘,独立式占用IO口资源比较大,适合按键少的控制操作,其优点是设计编程一目了然,比较简单,矩阵式占用IO口比较少,适合对按键要求比较高而IO口资源比较宝贵的操作,这两者各有其优点和缺点,以后应用时要根据需要进行设计,特别是矩阵式的要利用行线,和列线的高低电平检测和处理数据信息的原理要记住。

下面把今天学的一个简单的通过按键控制IO口LED灯工作的程序写一下,呵呵,可以加深我对按键操作(ELSE语句)的理解。

#include<reg52.h>

#define uint unsigned int

#define uchar unsigned char

sbit DIPswitch1=P3^0;

sbit DIPswitch2=P3^1;

sbit redLED1=P1^0;

sbit blueLED1=P1^1;

sbit greenLED1=P1^2;

sbit yellowLED1=P1^3;

sbit redLED2=P1^4;

sbit blueLED2=P1^5;

sbit greenLED2=P1^6;

sbit yellowLED2=P1^7;

void delay(void)

{ uint i;

for(i=0;i<35530;i++);

}

void main(void)

{

P1=0XFF;

P3=0XFF;//置位

while(1)

{

if(DIPswitch1==0)

{

redLED1=~redLED1;

yellowLED2=~yellowLED2;//判断按钮1是否为低电平,如果是的话,实现P0口的1脚和7脚按位取反

delay();}//延时操作

else if(DIPswitch2==0)

{

P1=~P1;//按键2取低时,P0口所有位按位取反闪烁

}

else

{

P1=0X00;//如果按键1VS2都为高,则所有灯亮

}

}

}

工作原理是当按键1为低电平时,P1口的1脚和7脚按位取反,实现LED灯的闪烁。当按键2为低电平的时候,P1口所有的灯实现按位取反功能,所有灯闪烁。当按键1和2都为高电平时,P1口为低电平,所有灯亮。

这个硬件电路是P3^0和P3^1控制按键1和2;P1口控制八个LED灯。

呵呵,数码管的动态和静态还在学习当中,现在基本的静态控制应该是会了,动态的争取这两天把它学完。加油。

由于时间关系,在这就不写上单片机的工作系统了。

提醒:《通过按键控制IO口操作》最后刷新时间 2024-03-14 01:09:22,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《通过按键控制IO口操作》该内容的真实性请自行鉴别。