/*
实验说明:
实验接线:
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--);
}
/********************************************
玩转按键+数码管
最新推荐文章于 2023-10-07 19:49:30 发布