资源简介
两位按键控制一个数码管加减.zip

代码片段和文件信息
//-----------------------------------------------------
// 功能: 按键控制七段LED数码管的显示值变化
// 硬件连接:七段LED数码管的数据端接P0口 2个按键接P1.0和P1.1 *
// 编写: 王晓荣
// 日期: 20110703
//-----------------------------------------------------
#include
#define LED_DATA P0
#define KEY_PIN P1
typedef enum
{
NULL KEY_UP KEY_DOWN
}TYPEDEF_KEY;
unsigned char code LEDMAP[] = //0-9共阳极代码 *
{
0xc0 0xf9 0xa4 0xb0 0x99
0x92 0x82 0xf8 0x80 0x90
};
void Delay(unsigned int t);
TYPEDEF_KEY GetKey(void);
//-----------------------------------------------------
// 主程序
//-----------------------------------------------------
main(void)
{
TYPEDEF_KEY key;
unsigned char number = 0; //仿真运行,观察该变量存储位置
while (1)
{
key = GetKey();
switch(key)
{
case KEY_UP:
number++;
if(number >= 10)
{
number = 0;
}
break;
case KEY_DOWN:
if(number == 0)
{
number = 9;
}
else
{
number--;
}
break;
default:
break;
}
LED_DATA = LEDMAP[number]; //查表法
}
}
//-----------------------------------------------------
// 延时
//-----------------------------------------------------
void Delay(unsigned int t)
{
for (t; t>0; t--) ;
}
//-------------------------------------------------------------------------------
//得到按键值
//-------------------------------------------------------------------------------
TYPEDEF_KEY GetKey(void)
{
TYPEDEF_KEY key = NULL;
if( ~KEY_PIN & 0x03) //有键按下
{
Delay(1000); //去抖动
if(~KEY_PIN & 0X01)
{
key = KEY_UP;
}
else if(~KEY_PIN & 0X02)
{
key = KEY_DOWN;
}
else
{
return(NULL);
}
while(KEY_PIN != 0XFF) //等待键抬起
{
Delay(2);
}
return(key);
}
return(NULL);
}
/*
* 需接限流电阻:8*1K
* 添加“code”:定义的变量存储在ROM中。
*/
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-05-09 13:32 按键控制七段LED数码管的显示值变化\
目录 0 2013-05-09 13:32 按键控制七段LED数码管的显示值变化\v0.1\
文件 87817 2011-07-04 08:58 按键控制七段LED数码管的显示值变化\v0.1\DESP0-9.DSN
文件 626 2018-04-29 08:53 按键控制七段LED数码管的显示值变化\v0.1\DESP0-9.PWI
文件 86488 2010-09-07 00:05 按键控制七段LED数码管的显示值变化\v0.1\Last Loaded DESP0-9.DBK
文件 2006 2011-07-23 19:12 按键控制七段LED数码管的显示值变化\v0.1\main.c
文件 5527 2011-07-23 19:12 按键控制七段LED数码管的显示值变化\v0.1\main.LST
文件 4263 2011-07-23 19:12 按键控制七段LED数码管的显示值变化\v0.1\main.OBJ
文件 4004 2011-07-23 19:12 按键控制七段LED数码管的显示值变化\v0.1\NJUT_AT89S51Teach
文件 493 2011-07-23 19:12 按键控制七段LED数码管的显示值变化\v0.1\NJUT_AT89S51Teach.hex
文件 278 2010-08-31 09:38 按键控制七段LED数码管的显示值变化\v0.1\NJUT_AT89S51Teach.LIB
文件 53 2011-07-23 19:12 按键控制七段LED数码管的显示值变化\v0.1\NJUT_AT89S51Teach.lnp
文件 5141 2011-07-23 19:12 按键控制七段LED数码管的显示值变化\v0.1\NJUT_AT89S51Teach.M51
文件 229 2011-07-30 09:39 按键控制七段LED数码管的显示值变化\v0.1\NJUT_AT89S51Teach.plg
文件 141502 2011-07-30 11:02 按键控制七段LED数码管的显示值变化\v0.1\NJUT_AT89S51Teach.uvopt
文件 13249 2010-09-01 21:52 按键控制七段LED数码管的显示值变化\v0.1\NJUT_AT89S51Teach.uvproj
文件 50 2010-08-31 09:38 按键控制七段LED数码管的显示值变化\v0.1\NJUT_AT89S51Teach.__b
文件 142637 2011-07-30 11:02 按键控制七段LED数码管的显示值变化\v0.1\NJUT_AT89S51Teach_uvopt.bak
文件 13255 2010-09-01 20:37 按键控制七段LED数码管的显示值变化\v0.1\NJUT_AT89S51Teach_uvproj.bak
文件 1352 2010-09-01 20:37 按键控制七段LED数码管的显示值变化\v0.1\one_led.LST
文件 2320 2010-09-01 20:37 按键控制七段LED数码管的显示值变化\v0.1\one_led.OBJ
- 上一篇:航路点设计程序
- 下一篇:Verilog语言实现CRC校验
相关资源
- activiti-explorer流程图设计器汉化文件
- 数据库课程设计停车场管理系统
- m×n的长方阵迷宫问题完美求解
- 针对MPLAB® X IDE使用PICKit™ 3在线调
- 东软股份教育事业部解决方案
- 东软数字化校园网解决方案成功应用
- 奶瓶(beini)无限免费破解增强版 使
- 交通灯multisim仿真(附图)
- powerdesigner 15.1 license key
- powerdesigner15.0的注册码license key
- visio软件64位破解版本
- Internet Explorer 11 Windows 系统 各版本
-
开机速度优化工具Startup Dela
yer3.0中 - tomcat 8.0 32位 绿色版
- 四路抢答器
- SolidWorks-100多个
- delphi源码-检测是否运行了多个程序
- 希捷硬盘套件助系统构建商把握Vist
- 可以在XE下使用的DosCommand,捕获控制
- 如何使用VC和OD调试OCX控件
- 计算机三级-网络技术-第4大题题库-共
- 雷柏v700s机械键盘驱动 v1.0.0.1 官方版
- weui手机商城模板在线
- BMA250手册word和PDF(博文配到资源)
- Delphi时钟助手源码,定时关机、提醒
- Cisco无线AP全部配置文件(AIR-1200系列
- 安卓手机PC端一键重启工具
- ManualIciMapping_v3.1
- 集客9341固件ap
- 遍历USB设备,获取USB序列号
评论
共有 条评论