八路抢答器编程.docxVIP

  • 17
  • 0
  • 约1.07千字
  • 约 3页
  • 2017-11-28 发布于浙江
  • 举报
八路抢答器编程

八路抢答器编程#include reg52.h //此文件中定义了单片机的一些特殊功能寄存器typedef unsigned int uint; //对数据类型进行声明定义typedef unsigned char uchar; #define LED P0 #define KEYSBOARD P1uint code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//显示0~F的值,共阴void delay(uint i){while(i--) ;}void main(){ while(1){ //LED=~smgduan[0]; if(KEYSBOARD==0x7f) //检测按键K1是否按下{delay(1000); //消除抖动 一般大约10msif(KEYSBOARD==0x7f) //再次判断按键是否按下{LED=~smgduan[1]; //led状态取反}while(1);} if(KEYSBOARD==0xbf) {delay(1000); if(KEYSBOARD==0xbf) {LED=~smgduan[2];}while(1);} if(KEYSBOARD==0xdf) {delay(1000);if(KEYSBOARD==0xdf) {LED=~smgduan[3]; }while(1);} if(KEYSBOARD==0xef) {delay(1000);if(KEYSBOARD==0Xef) {LED=~smgduan[4];}while(1);} if(KEYSBOARD==0xf7){delay(1000);if(KEYSBOARD==0xf7) {LED=~smgduan[5]; }while(1);} if(KEYSBOARD==0xfb) {delay(1000);if(KEYSBOARD==0xfb){LED=~smgduan[6]; }while(1);} if(KEYSBOARD==0xfd) {delay(1000);if(KEYSBOARD==0xfd){LED=~smgduan[7];}while(1);} if(KEYSBOARD==0xfe) {delay(1000); if(KEYSBOARD==0xfe) {LED=~smgduan[8]; }while(1);}//while(1); }}

文档评论(0)

1亿VIP精品文档

相关文档