10独立键盘控制

注意它的IO口!

我们可以直接在数码管的基础上来修改,首先,依旧是延时函数,

1 void delay(float t)
2 {
3     unsigned int j,i;
4     j=t*100;
5     while(j--)     // 150400-1 
6     {
7       for(i=1505;i;i--);   //1505-1=1504   1504-1=1503 
8     }
9 }

 头文件

 1 //hjc52.h  头文件
 2 
 3 #ifndef hjc52_H
 4 #define hjc52_H
 5 
 6 //定义LED流水灯IO口
 7 sbit LED0 =P1^0;
 8 sbit LED1 =P1^1;
 9 sbit LED2 =P1^2;
10 sbit LED3 =P1^3;
11 sbit LED4 =P1^4;
12 sbit LED5 =P1^5;
13 sbit LED6 =P1^6;
14 sbit LED7 =P1^7;
15 
16 //定义按键
17 //HL-1 HJ-3G按键IO口
18 sbit K1 =P3^4;
19 sbit K2 =P3^5;
20 sbit K3 =P3^6;
21 sbit K4 =P3^7;     
22 
23 sbit HLDU =P2^6;  //HL-1
24 sbit HLWE =P2^7; //HL-1
25 
26 sbit FM =P1^2; //P2.3  HL-1
27 sbit EN =P2^5; //LCD1602
28 sbit RST =P1^2; //DS1302 
29 
30 #endif

主板函数

 1 #include <reg52.h>
 2 #include"hjc52.h"
 3 
 4 //请板函数
 5 void hjc52_init(void)
 6 {
 7 FM=0;    //FM
 8 EN=0;    //LCD1602
 9 RST=0; //DS1302
10 }

主函数,注意思想

 1 #include<reg52.h>
 2 #include"hjc52.h"
 3 
 4 void main()
 5 {
 6     hjc52_init();//调用初始化函数
 7     P1=0xff;
 8     while(1)     //检测
 9         {
10         LED0=K1;  //定义
11         LED1=K2;
12         LED2=K3;
13         LED3=K4;
14         // 可以用开短路来想     K1=1;松开时高电平    1
15         //                        K1=0;按下时低电平   0
16         }
17 
18 }
原文地址:https://www.cnblogs.com/Sweet-City/p/8322183.html