当前位置:网站首页>Extended application of single chip microcomputer-06 independent key
Extended application of single chip microcomputer-06 independent key
2022-07-05 07:41:00 【LCH Nan'an】
subject :
Blue Bridge Cup MCU simulation schematic diagram : Blue Bridge Cup MCU simulation schematic diagram .pdsprj- Handout document resources -CSDN library
Circuit diagram :
Code :
# include<reg52.h>
// Decoder
sbit HC138_C = P2^7;
sbit HC138_B = P2^6;
sbit HC138_A = P2^5;
// LED
sbit L1 = P0^0;
sbit L2 = P0^1;
sbit L3 = P0^2;
sbit L4 = P0^3;
sbit L5 = P0^4;
sbit L6 = P0^5;
// Independent keyboard
sbit S7 = P3^0;
sbit S6 = P3^1;
sbit S5 = P3^2;
sbit S4 = P3^3;
void SwitchHC138(unsigned char channel)
{
switch(channel)
{
case 4:
HC138_C = 1;
HC138_B = 0;
HC138_A = 0;
break;
case 5:
HC138_C = 1;
HC138_B = 0;
HC138_A = 1;
break;
case 6:
HC138_C = 1;
HC138_B = 1;
HC138_A = 0;
break;
case 7:
HC138_C = 1;
HC138_B = 1;
HC138_A = 1;
break;
}
}
void DelayKeys(unsigned char t)
{
while(t--);
}
unsigned char flag=0;
void ScanKeys()
{
if(S7 == 0)
{
DelayKeys(100);
if(S7==0)
{
if(flag==0)
{
L1 = 0;
flag=1;
}
else if(flag == 1)
{
L1 = 1;
flag = 0;
}while(S7 == 0);
}
}
if(S6 == 0)
{
DelayKeys(100);
if(S6==0)
{
if(flag==0)
{
L2 = 0;
flag=2;
}
else if(flag == 2)
{
L2 = 1;
flag = 0;
}while(S6 == 0);
}
}
if(S5 == 0)
{
DelayKeys(100);
if(S5 == 0)
{
if(flag == 1)
{
L3 = 0;
while(S5 == 0); // Close when you let go L3
L3 = 1;
}
else if(flag == 2)// Close when you let go L4
{
L5 = 0;
while(S5 == 0);
L5 = 1;
}
}
}
if(S4 == 0)
{
DelayKeys(100);
if(S4 == 0)
{
if(flag == 1)
{
L4 = 0;
while(S4 == 0); // Close when you let go L3
L4 = 1;
}
else if(flag == 2)// Close when you let go L4
{
L6 = 0;
while(S4 == 0);
L6 = 1;
}
}
}
}
void Init()
{
SwitchHC138(7);
P0=0x00;
SwitchHC138(5);
P0=0x00;
SwitchHC138(4);
P0=0xff;
}
void main()
{
Init();
while(1)
{
ScanKeys();
}
}
边栏推荐
- Numpy——1. Creation of array
- Oracle-触发器和程序包
- Practical application cases of digital Twins - fans
- PIL's image tool image reduction and splicing.
- Latex notes
- Day08 ternary operator extension operator character connector symbol priority
- Rename directory in C [closed] - renaming a directory in C [closed]
- I can't stand the common annotations of idea anymore
- static的作用
- Rough notes of C language (2) -- constants
猜你喜欢
CADD course learning (6) -- obtain the existing virtual compound library (drugbank, zinc)
Differences between pycharm and idle and process -- join() in vs Code
Miracast技术详解(一):Wi-Fi Display
MySql——存储引擎
Leetcode solution - number of islands
2022 PMP project management examination agile knowledge points (7)
MySQL - storage engine
I 用c l 栈与队列的相互实现
Daily Practice:Codeforces Round #794 (Div. 2)(A~D)
Line test -- data analysis -- FB -- teacher Gao Zhao
随机推荐
Unforgettable summary of 2021
Good websites need to be read carefully
Ugnx12.0 initialization crash, initialization error (-15)
Thunderbird tutorial \ easy to use mail client
Basic series of SHEL script (II) syntax + operation + judgment
Rough notes of C language (1)
Pagoda create multiple sites with one server
Idea common settings
Clickhouse database installation deployment and remote IP access
From then on, I understand convolutional neural network (CNN)
Cookie operation
MySQL - storage engine
MySql——存储引擎
Numpy——1. Creation of array
Process (P) runs, and idle is different from pycharm
Simple use of timeunit
并查集理论讲解和代码实现
QT's excellent articles
Use go language to read TXT file and write it into Excel
Altium Designer 19.1.18 - 导入板框