#include <reg52.h>
#include <intrins.h>
sbit hc138_A=P2^5;
sbit hc138_B=P2^6;
sbit hc138_C=P2^7;
sbit s4 = P3^3;
sbit s5 = P3^2;
sbit s6 = P3^1;
sbit s7 = P3^0;
unsigned char shuzi[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char key_value = 0;
void HC138(unsigned int n)
{
switch(n)
{
case 4:
hc138_A=0 ; hc138_B=0 ; hc138_C=1; break;
case 5:
hc138_A=1 ; hc138_B=0 ; hc138_C=1; break;
case 6:
hc138_A=0 ; hc138_B=1 ; hc138_C=1; break;
case 7:
hc138_A=1 ; hc138_B=1 ; hc138_C=1; break;
}
}
void delay(unsigned int k)
{
while(k--);
}
void key_scan()
{
if(s4 == 0)
{
delay(100);
if(s4 == 0)
{
while(s4 == 0);
key_value = 4;
}
}
if(s5 == 0)
{
delay(100);
if(s5 == 0)
{
while(s5 == 0);
key_value = 5;
}
}
if(s6 == 0)
{
delay(100);
if(s6 == 0)
{
while(s6 == 0);
key_value = 6;
}
}
if(s7 == 0)
{
delay(100);
if(s7 == 0)
{
while(s7 == 0);
key_value = 7;
}
}
}
void shumaguan()
{
HC138(6);
P0 = 0x00;
HC138(7);
P0 = shuzi[key_value];
}
void main()
{
HC138(5);
P0 = 0x00;
HC138(4);
P0 = 0xff;
while(1)
{
key_scan();
shumaguan();
}
}
独立按键+静态数码管.rar
需积分: 11 191 浏览量
2022-10-05
16:16:52
上传
评论
收藏 19KB RAR 举报
m0_74084681
- 粉丝: 0
- 资源: 1
最新资源
- 自动驾驶-状态估计和定位之Error State EKF.pdf
- STM32F103ZET6+北斗
- 程序流程图的说明及图形示例
- FDN5618P-NL-VB一款SOT23封装P-Channel场效应MOS管
- Go语言基础(变量和基本类型).zip
- 基于CYCLONE2 (EP2C8Q) FPGA 设计PLL锁相环设置时钟Verilog源码Quartus工程文件.zip
- FDN372S-NL-VB一款SOT23封装N-Channel场效应MOS管
- date0425111111111111111111111
- 包含贪心算法的定义及python代码部分实现
- 自动驾驶-状态估计和定位之扩展卡尔曼滤波.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0