玩转按键+数码管

/*
实验说明:
	
实验接线:
	1,动态数码管模块-->单片机管脚
	参考动态数码管显示实验接线(开发攻略内在对应的实验章节内实验现象有接线说明)
	2,独立按键模块-->单片机管脚 
	K1-->P10
	K2-->P11
	K3-->P12
	K4-->P13
	
实验现象:
	按K4键进入数字设置,按K2和K3键对闪烁的数字进行加和减,按K1键进行数码管移位设置
	再次按下K4键退出设置。
*/


#include "reg52.h"			 //此文件中定义了单片机的一些特殊功能寄存器

typedef unsigned int u16;	  //对数据类型进行声明定义
typedef unsigned char u8;

sbit LSA=P2^2;	   //数码管位选管脚
sbit LSB=P2^3;
sbit LSC=P2^4;

sbit k1=P3^1;
sbit k2=P3^0;
sbit k3=P3^2;
sbit k4=P3^3;	 //定义按键端口

#define KEY1 1	 //按键名称
#define KEY2 2
#define KEY3 3
#define KEY4 4

u8 code smgduan[17]={
   0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
					0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//显示0~F的值

u8 DisplayData[8];	//定义8位数组
char datnum1=0,datnum2=0,datnum3=0,datnum4=0;  //数码管显示数值
u8 setflag=0;	  //定时器变量
u8 wei_change=0;  //移位定义

/*******************************************************************************
*            : delay
* 函数功能		   : 延时函数,i=1时,大约延时10us
*******************************************************************************/
void delay(u16 i)	  //延时函数
{
   
	while(i--);	
}

/********************************************
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值