单片机八层电梯控制系统 仿真图+源程序+电路原理图

2019-11-20来源: 51hei关键字:单片机  电梯控制系统  仿真图

 
单片机八层电梯控制仿真图

 

单片机八层电梯控制电路原理图

单片机八层电梯控制系统源程序代码:

#include                 //调用单片机头文件

#define uchar unsigned char  //无符号字符型 宏定义        变量范围0~255

#define uint  unsigned int         //无符号整型 宏定义        变量范围0~65535


//数码管段选定义       0    1    2    3   4           5        6         7          8           9        

uchar code smg_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0xdf,0xdb

//                                           A        B         C          D           E   F        不显示

                                         };         //断码        


uchar dis_smg[8] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};


bit flag_100ms,flag_1s;        

bit flag_stop = 1;   //用做到了相应的楼停下


sbit beep  = P2^6;

sbit xia   = P2^0;

sbit zhong = P2^1;

sbit shang = P2^2;


uchar value2;


sbit led1 = P1^7;          //8个发光二极管定义

sbit led2 = P1^6;

sbit led3 = P1^5;

sbit led4 = P1^4;

sbit led5 = P1^3;

sbit led6 = P1^2;

sbit led7 = P1^1;

sbit led8 = P1^0;


uchar dt_1;  //1楼电梯标志位

uchar dt_2;  //2楼电梯标志位

uchar dt_3;  //3楼电梯标志位

uchar dt_4;  //4楼电梯标志位

uchar dt_5;  //5楼电梯标志位

uchar dt_6;  //6楼电梯标志位

uchar dt_7;  //7楼电梯标志位

uchar dt_8;  //8楼电梯标志位


uchar dt_value = 1;  //电梯到哪一层的变量

uchar dt_s_x ;    //电梯上下的标志位


/***********************1ms延时函数*****************************/

void delay_1ms(uint q)

{

        uint i,j;

        for(i=0;i

                for(j=0;j<120;j++);

}



/********************独立按键程序*****************/

uchar key_can;         //按键值


void key()         //独立按键程序

{

        static uchar key_new;

        key_can = 20;                   //按键值还原

        P3 |= 0xff;

        if(P3 != 0xff)                //按键按下

        {

                delay_1ms(1);                     //按键消抖动

                if((P3 != 0xff) && (key_new == 1))

                {                                                //确认是按键按下

                        key_new = 0;

                        switch(P3)

                        {

                                case 0xfe: key_can = 1; break;          //得到按键值 

                                case 0xfd: key_can = 2; break;          //得到按键值 

                                case 0xfb: key_can = 3; break;          //得到按键值 

                                case 0xf7: key_can = 4; break;          //得到按键值 

                                case 0xef: key_can = 5; break;          //得到按键值 

                                case 0xdf: key_can = 6; break;          //得到按键值 

                                case 0xbf: key_can = 7; break;          //得到按键值 

                                case 0x7f: key_can = 8; break;          //得到按键值 

                        }

                }                        

        }

        else 

                key_new = 1;        

}


void key_with()

{

        if(key_can == 1)

        {

                led1 = 1;         //点亮发光二极管

                dt_1 = 1;         //

        }                

        if(key_can == 2)

        {

                led2 = 1;         //点亮发光二极管

                dt_2 = 1;

        }        

        if(key_can == 3)

        {

                led3 = 1;        //点亮发光二极管

                dt_3 = 1;

        }        

        if(key_can == 4)

        {

                led4 = 1;        //点亮发光二极管

                dt_4 = 1;

        }        

        if(key_can == 5)

        {

                led5 = 1;        //点亮发光二极管

                dt_5 = 1;

        }        

        if(key_can == 6)

        {

                led6 = 1;        //点亮发光二极管

                dt_6 = 1;

        }        

        if(key_can == 7)

        {

                led7 = 1;        

                dt_7 = 1;

        }        

        if(key_can == 8)

        {

                led8 = 1;        

                dt_8 = 1;

        }        

}

/*********************当电梯不动时、判断是向上、还是向下**********************/

void tiandi_shang_xia()

{

        static uchar value;

        if(dt_s_x == 0)

        {

                

                flag_stop = 1;

                if(dt_value == 1)         //电梯在第1层停下不走了

                {

                        value = dt_2 + dt_3 + dt_4 + dt_5 + dt_6 + dt_7 + dt_8; 

                        if(value != 0)

                        {

                                dt_s_x = 1;   //电梯向上        

                                shang = 0;          //显示上

                                zhong = 0;        

                                xia = 1;                                         

[1] [2] [3] [4] [5] [6] [7] [8]
关键字:单片机  电梯控制系统  仿真图 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic480584.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:单片机iic+pca9685驱动控制9路舵机源程序
下一篇:出租车计费仿真原理图+单片机源程序

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

PIC系列单片机的优势是什么
一、引言据统计,我国的单片机年容量已达1-3亿片,且每年以大约16%的速度增长,但相对于世界市场我国的占有率还不到1%。这说明单片机应用在我国才刚刚起步,有着广阔的前景。培养单片机应用人才,特别是在工程技术人员中普及单片机知识有着重要的现实意义。当今单片机厂商琳琅满目,产品性能各异。针对具体情况,我们应选何种型号呢?首先,我们来弄清两个概念:集中指令集(CISC)和精简指令集(RISC)。采用CISC结构的单片机数据线和指令线分时复用,即所谓冯.诺伊曼结构。它的指令丰富,功能较强,但取指令和取数据不能同时进行,速度受限,价格亦高。采用RISC结构的单片机数据线和指令线分离,即所谓哈佛结构。这使得取指令和取数据可同时进行
发表于 2019-12-05
PIC系列单片机的优势是什么
PIC单片机以及51单片机和AVR单片机的IO口操作方法介绍
对于pic单片机的学习,很多朋友总是能充满激情,不断利用闲余时间研究pic单片机的各类技术。而谈及pic单片机,必须牵扯至51、AVR单片机。因此本文中,将探讨pic单片机以及51、AVR单片机对于IO口的操作。对于本文,希望大家认真研读,以在pic单片机的学习之路上更为精进。一.51单片机IO口的操作51单片机IO口的结构比较简单,每个IO口只有一个IO口寄存器Px,而且这个寄存器可以位寻址,操作起来是所有单片机里最简单的,可以直接进行总线操作也可以直接进行位操作,这也是51单片机之所以成为经典的原因之一。下例的运行坏境为Keil软件,器件为AT89S52。#i ncludesbit bv=P2^0;//定义位变量,关联P2.0
发表于 2019-12-05
PIC单片机以及51单片机和AVR单片机的IO口操作方法介绍
PIC单片机的类型以及特征介绍
对于pic单片机,大家或多或少均有所耳闻。但是,大家对pic单片机有多少了解呢?是否熟知不同类型的pic单片机呢?由美国Microchip公司推出的PIC单片机系列产品,首先采用了RISC结构的嵌入式微控制器,其高速度、低电压、低功耗、大电流LCD驱动能力和低价位OTP技术等都体现出单片机产业的新趋势。现在PIC系列单片机在世界单片机市场的份额排名中已逐年升位,尤其在8位单片机市场,据称已从1990年的第20位上升到目前的第二位。PIC单片机从覆盖市场出发,已有三种(又称三层次)系列多种型号的产品问世,所以在全球都可以看到PIC单片机从电脑的外设、家电控制、电讯通信、智能仪器、汽车电子到金融电子各个领域的广泛应用。现今
发表于 2019-12-05
PIC单片机的类型以及特征介绍
PIC单片机和51单片机谁更容易于学习
pic单片机是当前最实用工具之一,而对于pic单片机的探讨往往与其他类型单片机相联系。51好学一些,但是PIC也没比51难多少。首先,PIC比51多个配置位,这个基本上看看就懂了。然后,PIC的端口要配置成输入或者输出,51单片机则不用。PIC的中断没有优先级,需要软件判断。最后,PIC比51多许多寄存器,你要使用PIC的各种功能,都需要去初始化寄存器。再说说PIC相比与51单片机有哪些优点:1:相同的晶振情况下,PIC比51速度快,PIC4个时钟周期为一个指令周期,51是12个。2:PIC比51功能强大许多,比如自带AD转换,自带PWM,内置弱上拉(需设置)LCD接口等。。这样,你在用到许多功能的时候就很方便啦,不用
发表于 2019-12-05
PIC单片机和51单片机谁更容易于学习
PIC单片机相比其他单片机的四大优势介绍
本人从事单片机应用系统的开发已有多年,使用过多种型号的PIC单片机,深感PIC单片机使用起来确实很方便:1、 PIC单片机采用精简指令集,中档产品仅需35条指令,入门门槛低,而在使用过程中绝不会感到不方便。2、PIC单片机的数据线和指令线各自独立,代码效率高,是传统51系列单片机的2-3倍,除几个跳转类指令外均为单周期指令,在计算延时时间时非常方便。 3、PIC单片机外围接口十分丰富,能满足绝大部分应用系统的需求;比如PIC16F877A包含8路ADC,1个CCP、PWM、USART、SSP、I2C/SPI,3个定时/计数器,1个硬件WDT等接口,8K FLASH程序存储器、256字节EEPROM,能满足较复杂测控系统
发表于 2019-12-05
PIC单片机相比其他单片机的四大优势介绍
PIC单片机的基本程序设计方法解析
PIC单片机(Peripheral Interface Controller)是一种用来开发去控制外围设备的集成电路(IC)。一种具有分散作用(多任务)功能的CPU。本内容讲述了PIC单片机中的程序设计方面的学习1、PIC单片机程序的基本格式先介绍二条伪指令:EQU ——标号赋值伪指令ORG ——地址定义伪指令PIC16C5X单片机在RESET后指令计算器PC被置为全“1”,所以PIC16C5X几种型号芯片的复位地址为:PIC16C54/55:1FFHPIC16C56:3FFHPIC16C57/58:7FFH一般来说,PIC单片机的源程序并没有要求统一的格式,大家可以根据自己的风格来编写。但这里我们推荐一种清晰明了的格式供参考
发表于 2019-12-05
PIC单片机的基本程序设计方法解析
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved