您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页C51按键的识别示例程序

C51按键的识别示例程序

来源:五一七教育网
C51按键的识别示例程序

[日期:2008-07-24 ] [来源:东哥单片机学习网 www.picavr.com 整理 作者:佚名] [字体:大 中 小] (投递新闻)

每按一次键盘的S2键,与P1口相连的一个发光二极管往下移动一位。

东哥单片机学习网 www.picavr.com

#include

sbit BY1=P3^4; //定义按键的输入端S2键

unsigned char count; //按键计数,每按一下,count加1

unsigned char temp;

unsigned char a,b;

void delay10ms(void) //延时程序

{

unsigned char i,j;

for(i=20;i>0;i--)

for(j=248;j>0;j--); }

key() //按键判断程序 {

if(BY1==0) //判断是否按下键盘,当单片机上电时所有IO口为//高电平,S2键一端接地另一端接P3.4,所以当键被按下时P3.4口//直接接地,此时检测P3.4肯定为低电平。 {

delay10ms(); //延时,软件去干扰

if(BY1==0) //确认按键按下

{

count++; //按键计数加1

if(count==8) //计8次重新计数

{

count=0; //将count清零

}

}

while(BY1==0);//等待按键释放,如果键未释放则一直在此等待。 }

}

move() //广告灯向下移动移动函数 {

a=temp<b=temp>>(8-count);// _crol_()函数

P1=a|b; } main() {

count=0; //初始化参数设置

temp=0xfe;

P1=0xff;

P1=temp;

while(1) //永远循环,扫描判断按键是否按下 {

key(); //调用按键识别函数

move(); //调用广告灯移动函数 } } 参

http://www.picavr.com/news/2008-07/7484.htm

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务