唯倚社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 529|回复: 5

[学习教程] 单片机按键控制数码管移位显示

[复制链接]

31

主题

151

帖子

812

积分

版主

Rank: 7Rank: 7Rank: 7

积分
812
发表于 2017-9-23 20:11:02 | 显示全部楼层 |阅读模式

轻松玩转社区

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
单片机按键控制数码管移位显示
[C] 纯文本查看 复制代码
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int

uchar code DSY_CODE[]=
{
 	0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff
};
uchar code DSY_Index[]=
{
  	0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01
};
uchar Display_Buffer[]=
{
 	0,10,10,10,10,10,10,10
};

void DelayMS(uint x)
{
 	uchar t;
	while(x--)
	{
	 	for(t=0;t<120;t++);
	}
}

void Show_Count_ON_DSY()
{
 	uchar i;
	for(i=0;i<8;i++)
	{
	 	P2 = DSY_Index[i];
		P0 = DSY_CODE[Display_Buffer[i]];
		DelayMS(2);
	}
}

void main()
{
 	uchar i;
	uchar Key_NO,Key_Counts=0;
	P0 = 0xff;
	P1 = 0xff;
	P2 = 0x00;
	while(1)
	{
	 	Show_Count_ON_DSY();
		P1 = 0xff;
		Key_NO = P1;
		switch(Key_NO)
		{
		 	case 0xfe: Key_Counts++;
						if(Key_Counts>8)
							Key_Counts = 8;
						Display_Buffer[Key_Counts-1] = Key_Counts;
						break;
			case 0xfd: if(Key_Counts>0)
							Display_Buffer[--Key_Counts] = 10;
						if(Key_Counts==0)	
						Display_Buffer[0] = 0;
						break;
			case 0xfb: Display_Buffer[0]=0;
						for(i=1;i<8;i++)
							Display_Buffer[i] = 10;
						Key_Counts = 0;
		}
		while(P1 != 0xff)
			Show_Count_ON_DSY();
	}
}

[发帖际遇]: 渣哥_小白 发帖时在路边捡到 1 E币,偷偷放进了口袋. 幸运榜 / 衰神榜

3

主题

122

帖子

426

积分

版主

Rank: 7Rank: 7Rank: 7

积分
426
发表于 2017-9-23 20:15:45 | 显示全部楼层
看个标题就走了
回复

使用道具 举报

83

主题

196

帖子

3331

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3331

最佳新人

发表于 2017-9-23 21:05:11 | 显示全部楼层
专业抢二楼!顺便笑摸狗头(3L)
回复

使用道具 举报

3

主题

122

帖子

426

积分

版主

Rank: 7Rank: 7Rank: 7

积分
426
发表于 2017-9-24 01:56:58 | 显示全部楼层
痛并快乐着
回复

使用道具 举报

5

主题

120

帖子

800

积分

版主

Rank: 7Rank: 7Rank: 7

积分
800
发表于 2017-9-24 10:24:59 | 显示全部楼层
为何要放弃治疗
回复

使用道具 举报

132

主题

302

帖子

3693

积分

LV3

Rank: 3Rank: 3

积分
3693

最佳新人

发表于 2017-9-24 10:56:30 | 显示全部楼层
我就看看
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|weiecn ( 湘ICP备14002058号 )

GMT+8, 2018-10-23 09:06 , Processed in 0.066838 second(s), 10 queries , Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表