0%

单片机-输入设备

键盘示例程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include <reg51.c>

#define uint unsigned int
#define uchar unsigned char

sbit MDzhengzhuan_control=P0^0;
sbit MDfanzhuan_control=P0^1;
sbit MDstop_control=P0^2;
sbit light_on_control=P0^3;
sbit light_off_control=P0^4;
sbit fmq_on_control=P0^5;

sbit JDQ_in=P1^0;
sbit MDfu=P1^3;
sbit MDzheng=P1^4;
sbit FMQ=P1^5;


void delay(uint ms);
void key_input();
void MDzhengzhuan();
void MDfanzhuan();
void MDstop();
void light_on();
void light_off();
void fmq_on();


void main(){
P0=0xff;
while(1){
key_input();
}
}

void delay(uint ms){
uint i,j;
for(i=0;i<ms;i++){
for(j=0;j<110;j++);
}
}

void key_input(){
P0=0xff;
if((P0&0x3f)!=0x3f){
delay(10);
if(MDzhengzhuan_control==0){
MDzhengzhuan();
delay(100);
}
if(MDfanzhuan_control==0){
MDfanzhuan();
delay(100);
}
if(MDstop_control==0){
MDstop();
delay(100);
}
if(light_on_control==0){
light_on();
delay(100);
}
if(light_off_control==0){
light_off();
delay(100);
}
if(fmq_on_control==0){
fmq_on();
delay(100);
}
}
}

void MDzhengzhuan(){
MDzheng=1;
MDfu=0;
}

void MDfanzhuan(){
MDzheng=0;
MDfu=1;
}

void MDstop(){
MDzheng=0;
MDfu=0;
}

void light_on(){
JDQ_in=1;
}

void light_off(){
JDQ_in=0;
}

void fmq_on(){
FMQ=0;
delay(1000);
FMQ=1;
delay(1000);
FMQ=0;
delay(1000);
FMQ=1;
delay(1000);
FMQ=0;
delay(1000);
FMQ=1;
}

恰饭,恰饭