导航:首页 > 操作系统 > 用单片机模拟电梯

用单片机模拟电梯

发布时间:2022-12-27 09:51:25

Ⅰ 高分悬赏基于51单片机的模拟八层电梯C语言编写

http://..com/question/419086416.html?oldq=1
4层电梯需求分析,
单片机程序的移植性很差和底层硬件有关系。你用模拟那不一样了。

Ⅱ 单片机LED点阵模仿电梯楼层数字流动显示c语言程序及电路图

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit d1=P3^2;
sbit wr=P2^5;
uchar code table1[]={
0x01,0x02,0x04,0x08,
0x10,0x20,0x40,0x80
};
uchar code table2[]={
0xc3,0xdf,0xc3,0xfb,0xc3
};
uchar code table3[]={
0xef,0xef,0xef,
0xef,0xef,0xef
};
void delay(uint z);
uchar tt,num,numm;
void main()
{
tt=0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1; while(1)
{
for(num=1,numm=0;num<6;num++,numm++)
{
P0=table1[num];
P1=table3[numm];
delay(2);
}
P0=0x00;
delay(500);
for(num=1,numm=0;numm<5;numm++,num++)
{
P0=table1[num];
P1=table2[numm];
delay(2);
}
P0=0x00;
delay(500);
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=200;y>0;y--);
}
void time0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
tt++;
}

Ⅲ 用c52单片机如何控制两层电梯运行和开关门

stc89c52单片机的确就有一个串口,当然可以在外部加一个模拟开关来扩展两个串口,但是两个串口是分时工作的,就是不能同时收发。其实,选择STC12C5A60S2,就完全解决了这个问题吗,它就有两个独立串口,价格上不比stc89c52高多少,还有STC现在推出了最新的STC15系列的单片机,都是有两个独立串口的,价格更低了,还完全可以省掉外部复位电路和时钟电路的晶振,非常方便,为什么不选择这款昵?何苦还用stc89c52,还不能解决两个串口的问题,换个思路问题就全解决了。

Ⅳ 单片机:模拟电梯,LED灯和楼层按键怎么一起接,我想省个接口,

本身设计会不会就有问题啊?
开关按下去不自动弹上来,那到某楼后,人间还要按键啊,不谈起来怎么按?
开关有矩阵按键(自动弹起来),拨码开关(手动进行0和1状态的转换),单刀单掷,单刀双掷等·····
点亮是按键接通的信号,我觉得应该要给led信号才能灭掉啊···看那个信号是用按键来给还是电梯动静的信号来给,
一般电梯是用PLC控制的,那个就很简单了··LED控制和按键只是里面简单的逻辑部分而已!呵呵···

Ⅳ 怎么用单片机实现电梯控制系统

随着社会经济建设的发展,人们生活水平的提高,电梯产品需求的数量化、个性化和多样化也提到议事日程上来了。电梯是现代建筑物的组成部分,在现代化的生活和工作当中人们已经离不开电梯了,而且对电梯的需求量也在不断的增长,我国已经成为全球最大的电梯市场。为了掌握好现在电梯的发展方向,了解电梯技术的发展,也为了让所学专业知识得到综合应用,笔者经过多方查阅资料,制定了一套自己的电梯控制模型系统设计方案。

Ⅵ 怎么用单片机实现电梯控制系统

:我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调,所以就需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来,但仅这样还不行,如果有两个器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢?这种情况是不允许的,所以要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有多个器件同时接收)。器件的数据线也就被称为数据总线,器件所有的控制线被称为控制总线。在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址,才能使用,分配地址当然也是以电信号的形式给出的,由于存储单元比较多,所以,用于地址分配的线也较多,这些线被称为地址总线。
二、数据、地址、指令:之所以将这三者放在一起,是因为这三者的本质都是一样的——数字,或者说都是一串‘0’和‘1’组成的序列。换言之,地址、指令也都是数据。指令:由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关系,不可以由单片机的开发者更改。地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内部单元的地址值已由芯片设计者规定好,不可更改,外部的单元可以由单片机开发者自行决定,但有一些地址单元是一定要有的(详见程序的执行过程)。数据:这是由微处理机处理的对象,在各种不同的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况:
1�6�1地址(如MOV DPTR,#1000H),即地址1000H送入DPTR。
2�6�1方式字或控制字(如MOV TMOD,#3),3即是控制字。
3�6�1常数(如MOV TH0,#10H)10H即定时常数。
4�6�1实际输出值(如P1口接彩灯,要灯全亮,则执行指令:MOV P1,#0FFH,要灯全暗,则执行指令:MOV P1,#00H)这里0FFH和00H都是实际输出值。又如用于LED的字形码,也是实际输出的值。
理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把数据当成指令来执行了。
三、P0口、P2口和P3的第二功能用法:初学时往往对P0口、P2口和P3口的第二功能用法迷惑不解,认为第二功能和原功能之间要有一个切换的过程,或者说要有一条指令,事实上,各端口的第二功能完全是自动的,不需要用指令来转换。如P3.6、P3.7分别是WR、RD信号,当微片理机外接RAM或有外部I/O口时,它们被用作第二功能,不能作为通用I/O口使用,只要一微处理机一执行到MOVX指令,就会有相应的信号从P3.6或P3.7送出,不需要事先用指令说明。事实上‘不能作为通用I/O口使用’也并不是‘不能’而是(使用者)‘不会’将其作为通用I/O口使用。你完全可以在指令中按排一条SETB P3.7的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会这么去做,因为这通常这会导致系统的崩溃。
四、程序的执行过程: 单片机在通电复位后8051内的程序计数器(PC)中的值为‘0000’,所以程序总是从‘0000’单元开始执行,也就是说:在系统的ROM中一定要存在‘0000’这个单元,并且在‘0000’单元中存放的一定是一条指令。
五、堆栈: 堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的一部份,特殊的是它存放和取用数据的方式,即所谓的‘先进后出,后进先出’,并且堆栈有特殊的数据传输指令,即‘PUSH’和‘POP’,有一个特殊的专为其服务的单元,即堆栈指针SP,每当执一次PUSH指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP就(在原来值的基础上)自动减1。由于SP中的值可以用指令加以改变,所以只要在程序开始阶段更改了SP的值,就可以把堆栈设置在规定的内存单元中,如在程序开始时,用一条MOV SP,#5FH指令,就时把堆栈设置在从内存单元60H开始的单元中。一般程序的开头总有这么一条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元开始往后,而08H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数据的浑乱。不同作者编写程序时,初始化堆栈指令也不完全相同,这是作者的习惯问题。当设置好堆栈区后,并不意味着该区域成为一种专用内存,它还是可以象普通内存区域一样使用,只是一般情况下编程者不会把它当成普通内存用了。
六、单片机的开发过程: 这里所说的开发过程并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件,下面就是编写软件的工作。在编写软件之前,首先要确定一些常数、地址,事实上这些常数、地址在设计阶段已被直接或间接地确定下来了。如当某器件的连线设计好后,其地址也就被确定了,当器件的功能被确定下来后,其控制字也就被确定了。然后用文本编辑器(如EDIT、CCED等)编写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单的程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。运行正确后,就可以写片(将程序固化在EPROM中)。在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识别这种格式的文件,只要将此文件调入即可写片。在此,为使大家对整个过程有个认识,举一例说明:
ORG 0000H
LJMP START
ORG 040H
START:
MOV SP,#5FH ;设堆栈
LOOP:
NOP
LJMP LOOP ;循环
END ;结束

Ⅶ 基于51单片机的四层电梯c语言独立按键的四层电梯模拟

4层电梯,按键和传感器的基本设置:
1、电梯内部至少6个按键,4个楼层加两个门的控制,定义为:4层楼 PB1,PB2,PB3,PB4,门开,门关,PB5,PB6.
2、楼梯外部每层基本2个按键:1层:上PC1,2层上PC2,下PC3,3层上PC4,下PC5.4层,下PC6.对应4和1层最少使用一个就能完成乘坐的基本要求。
3、电梯位置,每层一个,PA1,PB2,PB3,PB4。
4、电梯状态,停止PD1,向上运动PD2,向下运动PD3. 门打开PD4,门闭合PD5.
5、电梯控制输出,向上运动DE1,向下运动DE2,停止运动DE3,开门DE4,关门DE5.
6、另外一些指示灯的输出,最简单的指示每个按键上一个,内外部显示一个LED点阵指示,
做练习就是编写按键扫描和控制输出,LED显示,基本的程序控制,硬件模型就是指示灯和按键。
真的做项目,那是两码事,一般电梯控制用PLC控制可以直接连接跟电机控制器连接,应用单机也就做个项目中的LED显示,为了安全软件和硬件都要加沉余设计。为了好看清晰可以增加更多的显示和指示。

Ⅷ 我要做个模拟电梯的东西,需要很多LED和按键,可是单片机的IO口不够用怎么办

可在每个楼层,用一个单片机,控制按键和显示。
在电梯上,用一个单片机当做主机,控制梯内按键和电机。
主机与各个分机,采用串行通信方式即可。

Ⅸ 怎么用单片机实现电梯控制系统

能把具体要求给我吗?我给你解题思路!

Ⅹ 单片机C51一个模拟三层电梯的小程序问题

void
init()
{
tmod=0x01;
th0=(65536-50000)/256;
tl0=(65536-50000)%256;
et0=1;
ea=1;
tr0=1;
}
----------中间程序----------------
void
timer0interrupt(
void
)
interrupt
1
using
1
{
uchar
aa;
th0=(65536-50000)/256;
tl0=(65536-50000)%256;
aa++;
if(aa==20)
//精确到1秒
intensity++;
if(intensity==60)
{
intensity=0;
time.min++;
}
if(time.min==0)
time.min
=0;
}
请你说出你具体的是不是要制作一个时钟还是怎样~这样我只能给出这些了

阅读全文

与用单片机模拟电梯相关的资料

热点内容
考驾照怎么找服务器 浏览:882
阿里云服务器如何更换地区 浏览:968
手机app调音器怎么调古筝 浏览:501
锐起无盘系统在服务器上需要设置什么吗 浏览:17
红旗出租车app怎么应聘 浏览:978
如何编写linux程序 浏览:870
吉利车解压 浏览:248
java输入流字符串 浏览:341
安卓软件没网怎么回事 浏览:785
dvd压缩碟怎么导出电脑 浏览:274
冒险岛什么服务器好玩 浏览:541
如何在服务器上做性能测试 浏览:793
命令序列错 浏览:259
javaif的条件表达式 浏览:576
手机app上传的照片怎么找 浏览:531
云服务器面临哪些威胁 浏览:748
c语言各种编译特点 浏览:177
路由器多种加密方法 浏览:604
程序员阻止电脑自动弹出定位 浏览:168
如何做服务器服务商 浏览:762