资源简介
两位按键控制一个数码管加减.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校验
相关资源
- 提取码.txt
- 3dsMax2016从入门到精通中文版随书光盘
- Tianyancha_Data_Collection_ChangeInfo.ipynb
- iCopy解码软件v1.0.1.7.exe
- servo.slx
- js.txt
- Visio2013版64位激活工具地址.txt
- 基于LDA主题模型的短文本分类方法_张
- 计算机网络慕课.docx
- LenovoEDU9.0MBR版底层驱动.txt
- project1.0.zip
- Robomotion.zip
- Kalman滤波原理及程序手册.doc282116
- 模糊PI控制器回馈好朋友的帮助帮助其
- Anti保密检查工具v1.5绿色版.rar
- 清华天河pccad201564位中文正式特别版(
- iOS游戏开发视频教程《愤怒的小鸟》
- 计算机组成原理复习指导教学视频课
- 千锋SpringBatch批处理实战教程.txt
- ios-swift 实现扫雷.zip
- 吉林大学《人工智能》课程视频32集
- 《C标准模板库编程实战》.txt
- 3k6f0g.NET微博源代码合集.txt
- 北风网ADO.NET教学系列视频10讲.txt
- ios-仿美团点餐列表界面.zip
- 85a261679cb24342f8ab04486078b73e.txt
- 控制论_工程控制论上下钱学森,宋健
- 布衣大众点评手机号码采集助手.rar
- IBMAIX操作系统基础共10集.txt
- 2018最新千锋教育C4D教程.txt
评论
共有 条评论