电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>C语言|源代码>按钮开关控制实验程序经典案例分享

按钮开关控制实验程序经典案例分享

2017-09-06 | rar | 0.1 MB | 次下载 | 免费

资料介绍

#include???//?定义8051暂存器的标头档,P2-17~19?
#include ?"myio.h"??//?自己写的I/O程序库?
#define?PB?P2????//?定义按钮开关接至Port 2
//==主程序======================================
main()??????//?主程序开始 ?
{?LED=0xff;????//?初始状态(LED全灭)
?while(1)????//?无穷循环,程序一直跑?
?{?PB=0xff;???//?规划P2为输入端口?
??switch(~PB)???//?switch叙述开始?
??{?case 0x01: ??//?如果按下PB1
???{?debouncer();//?防弹跳?
????while(~PB==1);?//?等待PB1放开??
????debouncer();//?防弹跳?
????alter(3);?//?交互闪烁三次?
????flash(3); ?//?全灯闪烁三次?
????break; }?//?退出switch叙述?
???case 0x02:??//?如果按下PB2
???{?debouncer();//?防弹跳?
????while(~PB==2);?//?等待PB2放开?
????debouncer();//?防弹跳?
????left(3);?//?单灯左移三圈?
????flash(3); ?//?全灯闪烁三次?
????break; }?//?退出switch叙述?
???case 0x04:??//?如果按下PB3
???{?debouncer();//?防弹跳?
????while(~PB==4);?//?等待PB3放开?
????debouncer();//?防弹跳?
????right(3);?//?单灯右移三圈?
????flash(3); ?//?全灯闪烁三次?
????break; }?//?退出switch叙述?
???case 0x08:??//?如果按下PB4
???{?debouncer();//?防弹跳?
????while(~PB==8);?//?等待PB4放开?
????debouncer();//?防弹跳?
????pili(3);?//?霹雳灯三圈?
????flash(3); ?//?全灯闪烁三次?
????break; }?//?退出switch叙述??
??}?????//?结束switch叙述?
?}??????//?while结束?
}???????//?主程序结束?
?

2、多重按钮开关实验

/* ch04-3-6b.c - 多重按钮开关实验之2 - P4-30 */
//==声明区======================================
#include??//?定义8051暂存器的标头档,P2-17~19?
#include ?"myio.h"?//?自己写的I/O程序库 P4-26
#define?PB?P2???//?定义按钮开关接至Port 2
//==主程序======================================
main()?????//?主程序开始 ?
{?LED=0xff;???//?初始状态(LED全灭)
?while(1)???//?无穷循环,程序一直跑?
?{?PB=0xff;??//?规划输入埠?
??switch(~PB)??//?switch叙述开始
??{?case 0x01: ?//?如果按下PB1
???{?debouncer();//?防弹跳?
????alter(3);?//?交互闪烁三次?
????flash(3); ?//?全灯闪烁三次?
????break; }?//?退出switch叙述?
???case 0x02:??//?如果按下PB2
???{?debouncer();//?防弹跳?
????left(3);?//?单灯左移三圈?
????flash(3); ?//?全灯闪烁三次?
????break; }?//?退出switch叙述?
???case 0x04:??//?如果按下PB3
???{?debouncer();//?防弹跳?
????right(3);?//?单灯右移三圈?
????flash(3); ?//?全灯闪烁三次?
????break; }?//?退出switch叙述?
???case 0x08:??//?如果按下PB4
???{?debouncer();//?防弹跳?
????pili(3);?//?霹雳灯三圈?
????flash(3); ?//?全灯闪烁三次?
????break; }?//?退出switch叙述?
??}?????//?结束switch叙述?
?}??????//?while结束?
}???????//?主程序结束?
?

3、多重按钮开关实验

/* ch04-3-6a.c - 多重按钮开关实验之1 - P4-26 */
//==声明区================================
#include ??//?定义8051暂存器的标头档,P2-17~19?
#include ?"myio.h"?//?自己写的I/O程序库?
sbit? PB1=P2^0;???//?声明PB1=P2.0
sbit? PB2=P2^1;???//?声明PB2=P2.1
sbit? PB3=P2^2;???//?声明PB3=P2.2
sbit? PB4=P2^3;???//?声明PB4=P2.3
//==主程序================================
main()?????//?主程序开始 ?
{?LED=0xff;???//?初始状态(LED全灭)
?P2=0xff;???//?规划P2输入端口?
?while(1)???//?无穷循环,程序一直跑?
?{?if (PB1==0) ?//?如果按下PB1
??{?debouncer();//?防弹跳?
???alter(3);?//?高低位元交互闪烁三次?
???flash(3);}?//?全灯闪烁三次?
??else if (PB2==0)//?如果按下PB2
??{?debouncer();//?防弹跳?
???left(3);?//?单灯左移三圈?
???flash(3);}?//?全灯闪烁三次?
??else if (PB3==0)//?如果按下PB3
??{?debouncer();//?防弹跳?
???right(3);?//?单灯右移三圈?
???flash(3);}?//?全灯闪烁三次?
??else if (PB4==0)//?如果按下PB4
??{?debouncer();//?防弹跳?
???pili(3);?//?霹雳灯三圈?
???flash(3);}?//?全灯闪烁三次?
?}?????//?while循环结束?
}??????//?主程序结束?
下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1常用电子元器件集锦
  2. 1.72 MB   |  24485次下载  |  免费
  3. 2ssd1306单片 CMOS OLED/PLED 驱动芯片中文手册
  4. 1.66 MB   |  4次下载  |  1 积分
  5. 3低压降肖特基整流管SR340L数据手册
  6. 0.78 MB   |  2次下载  |  免费
  7. 4高压MOS管MDD12N65F/MDD12N65P数据手册
  8. 2.36 MB   |  2次下载  |  免费
  9. 5FP6195 60V、800mA、480KHz异步降压转换器规格书
  10. 0.88 MB   |  2次下载  |  免费
  11. 6CPCI6310型复合视频采集板资料
  12. 0.04 MB   |  1次下载  |  免费
  13. 7STM32F10xxx参考手册
  14. 13.64 MB   |  1次下载  |  1 积分
  15. 8PC2456高压浪涌抑制器控制器数据手册
  16. 3.03 MB   |  1次下载  |  免费

本月

  1. 1常用电子元器件集锦
  2. 1.72 MB   |  24485次下载  |  免费
  3. 2三相逆变主电路的原理图和PCB资料合集免费下载
  4. 27.35 MB   |  111次下载  |  1 积分
  5. 3运算放大器基本电路中文资料
  6. 1.30 MB   |  16次下载  |  免费
  7. 4苹果iphone 11电路原理图
  8. 4.98 MB   |  12次下载  |  5 积分
  9. 5常用电子元器件介绍
  10. 3.21 MB   |  10次下载  |  免费
  11. 6EMC电路设计工程师必备的EMC基础
  12. 0.42 MB   |  6次下载  |  2 积分
  13. 7相关协议信号总结
  14. 0.94 MB   |  4次下载  |  免费
  15. 8ssd1306单片 CMOS OLED/PLED 驱动芯片中文手册
  16. 1.66 MB   |  4次下载  |  1 积分

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935130次下载  |  10 积分
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420064次下载  |  10 积分
  5. 3Altium DXP2002下载入口
  6. 未知  |  233089次下载  |  10 积分
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191390次下载  |  10 积分
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183345次下载  |  10 积分
  11. 6labview8.5下载
  12. 未知  |  81591次下载  |  10 积分
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73816次下载  |  10 积分
  15. 8LabVIEW 8.6下载
  16. 未知  |  65989次下载  |  10 积分