基于单片机设计的8层电梯模拟系统论文(编辑修改稿)内容摘要:
梯仍为上行状态,那么此时,电梯的状态肯定处于上楼接人的状态中(即在高层,有人按了下行键)。 反之,若它们中有一个为 1(且按键所处楼层高于当前电梯所在楼层,这个由其他函数来限定,防止电梯在上行过程中受已经过楼层按键按下时的干扰),则电梯此时处于上楼送人状态,就会执行对应的子程序。 其他的与此同理。 电梯各情况下所对应的处理方法 以电梯上行的两种状态为例。 在实际应用中,最简单的情况莫过于电梯当前为闲置状态,然后有一人按下按键呼叫,然后电梯便响应呼叫。 但是,实际情况往往比这复杂的多,在第一个人按下按键电梯运行的过程中,还很有可能会有其他不同楼层的人按下不同的按键(上行或者下行)的情况发生。 那么就必须得为电梯规定好一个特定的优先级规则,让其依据这个规则来运行,以免乱作一团。 那么这个规则就必须要高效且人性化,在此,我们规定,当电梯上行时,均不理会那些按下行按键的顾客。 并且,若在上行过程中,也有人在某层按的是上行按键,但 是电梯此时已经走过了该层,那么电梯也绝对不会再选择先下行接他。 当然,当将高层上行的顾客送完后(此时一般来说电梯已经处于高层了),电梯便会检测下行按键,若更高层有人呼叫下行,则电梯会选择先去响应他们,然后再下行的过程中依次响应按了下行处于等待中的顾客,最后这些顾客都送完后,再去相应那些电梯上行过程中,处于比电梯低的楼层却按了上行键的顾客。 简单地说,若电梯处于上行状态,则在该过程中响应不同顾客的优先级(或 14 者电梯响应的先后顺序)为:高层呼叫上行顾客 高层呼叫下行顾客 底层呼叫下行顾客 底层呼叫上行顾客。 那么,当电梯通过程序运行得知到相应状态后,又是如何具体的判断当天所锁定的目标楼层是否要变更呢。 现以上行为例,加以详细说明:上行,且是送人,比如电梯当前在二层,五楼有人呼叫上楼,那么它就要响应这一呼叫,从而把自己的目标楼层锁定为五楼并向上运行,而在五楼呼叫后不久,四楼也有人呼叫上楼(且电梯此刻还未运行到六楼),那么在电梯运行中,没经过一个楼层,会做一次判决,因为四楼也有人呼叫,所以正常情况下,它应该在判决后将目标楼层定位四楼。 而若四楼的顾客按下的是下行键,或者二楼的人按下呼叫键,电梯此时都会暂时不予理会。 部分 程序代码见附录。 本章小结 本章介绍的是整体流程图以及工作原理。 5 系统的安装与调试 安装步骤 按电路图买好元件后首先检查买回元件的好坏,按各元件的检测方法分别进行检测,一定要仔细认真。 而且要认真核对原理图是否一致,在检查好后才可上件、焊件,防止出现错误焊件后不便改正。 、焊接 各元件 按 原理图的位置放置各元件,在放置过程中要先放置、焊接较低的元件,后焊较高的和要求较高的元件。 特别是容易损坏的元件要后焊,在焊集成芯片时连续焊接时间不要超过 10s,注意芯 片的安装方向。 结论 经过几十天的艰苦奋斗,我最终完成了毕业设计的基本要求。 在大学的最后一个学期里,我学到了很多的知识和技能。 通过本次毕业设计,我掌握了做科学研究的基本方法和思路,为今后的工作打下了坚实的基础。 首先,我学会了对相关文献的检索。 随着计算机的普及以及网络技术的发展,对文献的检索,收集资料的形式也变得越来越丰富。 我们一方面可以利用学校图书馆资源,另一方面可以利用网络来检索资源,例如中国知网 CNKI、 IEEE、万方数据库、百度文库、文库等数据库系统。 15 其次,通过这次毕业 设计,培养了我的动手能力,使我进一步了解毕业设计的基本知识。 巩固了我的知识架构体系,强化了我对大学期间所学到的基础课以及专业课的认识和理解,为今后的工作打下理论基础。 最后,通过本次毕业设计,使我懂得在遇到困惑和不解时要及时与老师和其他同学沟通,这样才能更迅速地解决设计中遇到的问题,提供工作效率。 总之,这次毕业设计不是一次简简单单地完成一个课题。 它不仅让我锻炼了动手操作能力和分析解决问题的能力,巩固了我的专业知识,还让我学到了很多东西,为我今后的工作打下基础。 致谢 大学四年即将画上一个句号了,毕业设计是 我在学校交的最后一份答卷。 在论文完成之际,感受收获喜悦的同时,心中充满了更是感激之情。 首先感谢学校给我们提供的条件使我们有了一个可以对大学四年的知识进行温习总结并付诸实践的机会。 在此次毕业设计过程中,特别要感谢我的毕业实际指导老师,感谢您在这段日子里对我亲切的关怀和悉心的指导。 老师在我遇到难题时,不但给予我技术上的帮助,更教会我诸多检查及解决问题的方法。 老师渊博的知识以及对待学生的耐心和责任感,不仅让我对专业知识有了更深的理解,还教会了我们今后面对工作生活的态度。 借此机会,我也感谢大学四年期间所有指导过 我的老师,感谢他们对我无私的教诲和帮助,感谢他们的谆谆教导。 在此同时,我也要感谢一直陪伴在我身边给予我精神支持和行动支持的同学们,正是由于你们的帮助和支持,我才能克服一个又一个的困难,并且让我从你们身上学到了很多知识。 参考文献 [1]童诗白 华成英 编著《模拟电子技术基础》 高等教育出版社 2020 年 5 月 [2]李朝青 编著《单片机原理及接口技术》 北京航天航空大学出版社 2020年 1 月 [3]马忠梅 编著 《单片机的 C 语言应用程序设计》 航空航天出版社 2020年 7 月 [4]佘新平 编著《 数字电子技术》 华中科技大学出版社 2020 年 2 月 [5]薛永毅 王淑英 何希才 编著《新型电源电路应用实例》 电子工业出版社 2020 年 10 月 16 附录 1 整机电路原理图 17 附录 2 部分源程序 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[]={0xde,0x90,0xcd,0xd9,0x93,0x5b,0x5f,0xd0,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^0。 //8 个发光二极管定义 sbit led2 = P1^1。 sbit led3 = P1^2。 sbit led4 = P1^3。 sbit led5 = P1^4。 18 sbit led6 = P1^5。 sbit led7 = P1^6。 sbit led8 = P1^7。 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。 iq。 i++) for(j=0。 j120。 j++)。 } /********************独立按键程序 *****************/ uchar key_can。 //按键值 void key() //独立按键程序 { static uchar key_new。 key_can = 20。 //按键值还原 P3 |= 0xff。 if((P3 amp。 0xff) != 0xff) //按键按下 { delay_1ms(1)。 //按键消抖动 if(((P3 amp。 0xff) != 0xff) amp。 amp。 (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。 //得到按键值 19 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。 } 20 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。基于单片机设计的8层电梯模拟系统论文(编辑修改稿)
相关推荐
个性化推荐是 基于 用户的兴趣特点和购买行为,向用户推荐 其感兴趣的信息和商品。 随着电子商务规模 不断扩大,商品 数量 和种类 不断 增长,顾客需要花费大量的时间 寻找 自己想买的商品。 这 一过程 无疑会使淹没 在 大量产品信息 中 的消费者不断流失。 为了解决用户流失的问题,电子商务个性化推荐系统应运而生。 电子商务个性化推荐系统是基于 大数据挖掘基础上的一种商务智能平台,能够帮助
9 第 三 章 安卓操作 系统概述 第一节 安卓操作系统的 发展历史及趋势 Android 系统一开始并不是由谷歌研发出来的, Android 系统原来的公司名字就叫做 Android,谷歌公司在 2020 收购了这个仅成立 22 月的高科技企业。 Android 系统也开始由谷歌接手研发, Android 系统的负责人以及 Android 公司的 CEO 安迪 鲁宾成为谷歌公司的工程部副总裁
MySQL 是当今数据库系统开发中比较流行的数据库管理系统,它是将系统开发中各实体间的联系转化为物理结构后的存储仓库,通过此数据库管理系统可对数据进行合理的规 划和存储,节约数据存储的时间和空间,提高了存取速度和灵活性。 当今数据库系统、网站等项目的开发中, MySQL 也非常通用,深受程序开发人员的喜爱。 SQL 语言是当今数据库操作的主流语言,可在各大数据库管理系统中使用
使用的遥控器控制系统,第二套是出门在外时使用的手机控制系统,第三套是在家中控制智能管家。 系统总体结构 根 据总体方案画出了系统的总体设计图,如图 31 所示。 按照结构层次系统划分为三层:数据感知层(协调器和终端节点)、网络层和应用层(智能终端)。 图 31 智能家居 系统的结构图 数据感知层的终端是 系统的前线,它起着数据供给的作用。 它在系统的边缘,是数据采集终端,算是拥有独立系统的单元
本世纪 40年代,为了解决火力控制系统精确跟踪问题,维纳( )于 1942年提出了维纳滤波理论。 维纳根据有用信号和干扰信号的功率谱确定出线性滤波器的频率特性,首次将数理统计理论与线性系统理论有机的联系在一起,形成了对随机信号作平滑、估计或预测的最优估计新理论。 比维纳稍早,前苏联科学家戈尔莫克罗夫( )于1941年也曾提出过类似的理论。 维纳给
部程序存储器时, P0 口输出低 8 位地址信息后,将变为数据总线,以便读指令码(输入)。 在取指令期间, “ 控制 ” 信号为 “0” , V1 管截止,多路开关也跟着 转向锁存器反相输出端 Q非; CPU 自动将 0FFH( 11111111,即向 D锁存器写入一个高电平 ‘1’ )写入 P0口锁存器,使 V2 管截止,在读引脚信号控制下,通过读引脚三态门电路将指令码读到内部总线,这个过程和