基于51单片机的电梯控制系统,包括矩形按键、6位数码管显示、降压模块等,支持串口通讯(Proteus仿真、嘉立创及AD原理图和PCB、实板已测)(后续有二版更新哦!!!)

最近因单片机课设临近,看到电梯控制系统的设计要求,突然灵光乍现,便有了这个板子和控制系统优化代码。

希望大家看后可以得到相应的学习体会,并能带给你们帮助,感谢

目录

一、设计思路

1、KeilC51代码编写

2、单片机最小系统设计

(1)、复位电路

(2)、晶振电路

3、降压模块设计(因51单片机供电是5V)

(1)、原理图和PCB图

4、6位数码管显示加数码管驱动系统板

5、proteus仿真搭建:

二、实物测试

1、降压模块:

2、系统板:

三、资料分享:


一、设计思路

1、KeilC51代码编写

矩阵键盘,上升、下降和目标楼层数组控制。

//显示楼层
void disp()
{
	uchar i=0;
	i=key_scan();//按键检测
	switch(i)
	{
		case 1:flag1[0]=1;break;
		case 2:flag1[1]=1;break;
		case 3:flag2[1]=1;break;
		case 4:flag1[2]=1;break;
		case 5:flag2[2]=1;break;
		case 6:flag1[3]=1;break;
		case 7:flag2[3]=1;break;
		case 8:flag1[4]=1;break;
		case 9:flag2[4]=1;break;
		case 10:flag2[5]=1;break;
		case 11:flag3[0]=1;break;
		case 12:flag3[1]=1;break;
		case 13:flag3[2]=1;break;
		case 14:flag3[3]=1;break;
		case 15:flag3[4]=1;break;
		case 16:flag3[5]=1;
	}
	P0=smgduan[floor];//当前楼层
	smg1=1;
	delay(100);
	smg1=0;
	//目标楼层
	if(direction>0)
	{
		P0=smgduan[next];
		smg3=1;
		delay(100);
		smg3=0;
	}
	switch(direction)
	{
		case 0:P0=0x8c;break;//上升下降
		case 1:P0=0xc1;break;
		case 2:P0=0xa1;
	}
	smg5=1;
	delay(100);
	smg5=0;
	switch(direction)
	{
		case 0:P0=0x8c;break;//上升下降
		case 1:P0=0x8c;break;
		case 2:P0=0xab;
	}
	smg6=1;
	delay(100);
	smg6=0;
}
uchar key=0;
uchar key_scan()//按键检测
{
	uchar i;
	i=0;
	P1=0x7f;//使能01111111
 	switch(P1)//检测第1行
 	{
  		case 0x7e:i=4;break;
  		case 0x7d:i=3;break;
  		case 0x7b:i=2;break;
  		case 0x77:i=1;
 	}
	P1=0xBf;//使能10111111
 	switch(P1)//检测第2行
 	{
  		case 0xBe:i=8;break;
  		case 0xBd:i=7;break;
  		case 0xBb:i=6;break;
  		case 0xB7:i=5;
 	}
	P1=0xDf;//使能11011111
 	switch(P1)//检测第3行
 	{
  		case 0xDe:i=12;break;
  		case 0xDd:i=11;break;
  		case 0xDb:i=10;break;
  		case 0xD7:i=9;
 	}
	P1=0xEf;//使能11101111
 	switch(P1)//检测第4行
 	{
  		case 0xEe:i=16;break;
  		case 0xEd:i=15;break;
  		case 0xEb:i=14;break;
  		case 0xE7:i=13;
 	}
	if(key==i)//判断是否按键状态相同
		return 0;
	else
	{
		key=i;
		return(key);
	}
}

矩阵键盘的知识可以看这位博主的介绍(十分清晰):51单片机---矩阵键盘(含源码、小白可入)_普中51实验板原理图-CSDN博客

2、单片机最小系统设计

(1)、复位电路

(2)、晶振电路

3、降压模块设计(因51单片机供电是5V)

这里我本来想着把12V降压5V的模块和总体设计一起,但后续考虑到初版想用的是直插式的51单片机(STC89C52RC-40I-PDIP40),体积较大,于是我拆分成两个,一个降压模块,一个系统板,用Type-C口连接供电。

使用MP2315GJ-Z芯片做的降压电路:

(1)、原理图和PCB图

4、6位数码管显示加数码管驱动系统板

5、proteus仿真搭建:

二、实物测试

1、降压模块:

2、系统板:

因为这几天在优化设计,加上有比赛,所以就没有时间对这个模块录视频等,但实测可用

后续会更新

三、资料分享:

PCB、Proteus仿真等文件请一键三连私信我,即可获得哦!!

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值