云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于51单片机的三层电梯系统设计 - 图文

基于51单片机的三层电梯系统设计 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/5/5 3:16:20

基于单片机的三层电梯系统设计

附录1 元件清单

序号 名称 型号 单位 数量 备注 1 2 3 4 5 电阻 电容 晶振 按键 7段显示数码管 10K 30P 12MHZ --- SM42038 支 支 支 个 个 1 3 1 8 2 6 7 8 9 10 11 12 电池盒 电池 导线及焊锡 自锁开关 排阻 单片机 万用板 --- --- --- --- 102 AT89C51 --- 个 节 --- 个 个 个 块 1 3 若干 1 2 1 1

1

基于单片机的三层电梯系统设计

附录2 程序部分

#include #define LCD1 P1 #define LCD2 P3

void Zero();

void Delay_ms(unsigned int Time);

void Display(unsigned int n,unsigned char a); void Flash(unsigned int Time); void KBScan(); void dl_ms(); void Destination(); void Up(); void Down();

//P2与查询式键盘硬件相连 sbit P2_0=P2^0; sbit P2_1=P2^1; sbit P2_2=P2^2; sbit P2_3=P2^3; sbit P2_4=P2^4; sbit P2_5=P2^5; sbit P2_6=P2^6;

unsigned int lift=1; /*电梯所在楼层*/

unsigned int status=1; /*电梯上行为1,下行为0*/ unsigned char request[3]={0,0,0}; /*1~3楼有无请求,有请求为1*/ unsigned char dst=1; /*电梯的目的楼层*/

//清零程序 void Zero() {

LCD1=0x00; LCD2=0x00; }

//延时程序,以毫秒为单位,用软件计时,输入的参数 void Delay_ms(unsigned int Time) {

unsigned int i=0,j=0;

2

基于单片机的三层电梯系统设计

for(i=0;i

KBScan(); for(j=0;j<125;++j); } }

//显示某一楼层

void Display(unsigned int n,unsigned char a) {

unsigned char b; if(a==0) { b=0x5e; }

else if(a==1) { b=0x73; } Zero(); KBScan(); LCD2=b; KBScan(); switch(n) {

case 3:{LCD1=0x4f;break;} case 2:{LCD1=0x5b;break;} case 1:{LCD1=0x06;break;} default: {break;} } }

//闪烁显示到达楼层 void Flash(unsigned int Time) {

unsigned char i; for(i=0;i

Delay_ms(1000); KBScan(); Display(lift,status);

3

基于单片机的三层电梯系统设计

Delay_ms(1000); KBScan(); } Zero();

Delay_ms(1000); KBScan(); }

//查询式键盘扫描 void KBScan() {

if(P2!=0xff) { dl_ms(); if(P2!=0xff) {

switch(P2) {

case 0xfe: {P0_0=1;request[0]=1;break;} /*电梯内请求1楼*/

case 0xfd: {P0_1=1;request[1]=1;break;} /*电梯内请求2楼*/ case 0xfb: {P0_2=1;request[2]=1;break;} /*电梯内请求3楼*/ case 0xf7: {P0_3=1;request[0]=1;break;} /*电梯外1楼请求向上*/ case 0xef: {P0_4=1;request[1]=1;break;} /*电梯外2楼请求向上*/ case 0xdf: {P0_5=1;request[1]=1;break;} /*电梯外2楼请求向下*/ case 0xbf: {P0_6=1;request[2]=1;break;} /*电梯内3楼请求向下*/

default: {break;} /*错误请求*/ } } } }

//消抖延时 void dl_ms() {

unsigned char i; for(i=0;i<30;++i); }

//获取目的楼层 void Destination() {

unsigned char j; //j循环控制变量 KBScan(); //有键按下

4

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

基于单片机的三层电梯系统设计 附录1 元件清单 序号 名称 型号 单位 数量 备注 1 2 3 4 5 电阻 电容 晶振 按键 7段显示数码管 10K 30P 12MHZ --- SM42038 支 支 支 个 个 1 3 1 8 2 6 7 8 9 10 11 12 电池盒 电池 导线及焊锡 自锁开关 排阻 单片机 万用板 --- --- --- --- 102 AT89C51 --- 个 节 --- 个 个 个 块 1 3 若干 1 2 1 1 1基于单片机的三层电梯系统设计 附录2 程序部分 #include #define LCD1 P1 #define LCD2 P3 void Zero();

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com