《基于单片机四层楼的电梯控制系统的设计论文.doc》由会员分享,可在线阅读,更多相关《基于单片机四层楼的电梯控制系统的设计论文.doc(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目 录第一部分 设计任务与调研第二部分 设计说明第三部分 设计成果第四部分 结束语第五部分 致谢第六部分 参考文献 第一部分 设计任务1.1系统设计任务此次设计的任务是用单片机模拟电梯的运行状态,用电机模拟现实中电梯运行时带动电梯的上升与下降,用发光二极管来模拟电梯中的开关门和上下行,用数码管显示并模拟电梯所在位置。电源模块中的9V电压与5V电压分别模拟驱动大功率电机和小功率芯片。抛开一些复杂的概念,单片机在我们的生活中触手可及,尤其是在智能仪表、实时控制、机电一体化、办公机械、家用电器等方面拥有广泛的应用领域。毕业设计注重于对单片机的理解与应用,明白单片机的工作原理,以便以后单片机领域的开发
2、和研制打下基础,提高自己的设计能力,培养创新能力,丰富自己的知识理论,做到理论和实际相结合。能进一步了解单片机的工作原理,内部结构和工作状态。理解单片机的接口技术,中断技术,存储方式,时钟方式和控制方式,这样才能更好的利用单片机来做有效的设计,提高自己的综合能力。电梯,是现代社会的一种必不可少的垂直运输交通工具。它能自动登记厢内的选层指令和厢外的召唤指令,关门起动运行,同向逐一应答。当无指令时,关门返回基层,当某一层有召唤指令时再起动应答。毕业设计是五年大专教学计划中最后一个教学环节,是各个教学环节的继续、深化和扩展,是锻炼我们分析问题、解决问题,提高综合能力的重要阶段,为我们今后从事实际的工
3、作打好基础。毕业设计分为两个部分,硬件部分和软件部分。硬件部分介绍:四层楼电梯硬件电路的设计,单片机AT89C51的功能和其在各电路中的作用。其中的作用包括单片机AT89C51的管脚结构和每个管脚的作用及各自的连接方法。软件部分介绍:采用单片机汇编语言,结合单片机AT89C51的功能和其在三个主要电路中的作用进行设计编写。对软件和硬件进行调试,让其协调工作,加上修改和检查,最终完成毕业设计。第二部分 设计说明一电梯系统的方案设计2.1 系统设计阐述9V5V电 源按键输入 STC89C52单片机电机驱动LED数码管显示晶振电路灯光模拟蜂鸣器报警复位电路图1-1 模拟电梯系统组成框图本次设计采用S
4、TC89C52单片机为核心,晶振电路跟复位电路是单片机最小系统的组成,晶振电路用外部时钟电路和单片机内部振荡电路位单片机提供时钟脉冲;复位电路采用手动复位电路为单片机提供复位动作。判断按键电路引起电平的改变发送到单片机,通过单片机输出信号控制电机控制电路,报警电路,显示电路和灯光模拟电路。此次灯光模拟是模拟电梯的上下行和开关门状态。电源模块是分别给单片机和H桥驱动电机供电。2.2系统功能设计此次设计的功能就是实现人在现实中使用电梯时的部分功能。当我们需要乘坐电梯时,会在,门外召唤电梯,当电梯到达人所在楼层后,电梯开门,人进入电梯,然后选择要到达的楼层,之后电梯开始关门,然后运行到所需楼层。所以
5、,这次设计用按键代替门内召唤和门外召唤按钮,数码管显示并模拟电梯的运行状态。2.3系统方案论证此次设计驱动电机部分有以下两种方案。方案一驱动电机可以用L298n驱动芯片驱动,该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。
6、使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。特点:1具有信号指示。2转速可调3抗干扰能力强4具有过电压和过电流保护5可单独控制两台直流电机6可单独控制一台步进电机7PWM脉宽平滑调速8可实现正反转输入信号端IN1接高电平输入端IN2接低电平,电机M1正转。如果信号端IN1接低电平, IN2接高电平,电机M1反转6。方案二用H桥驱动电路驱动电机,通过H桥三极管的通断来控制电机的正转反转。由于考虑到使用芯片驱动电机,自己的动手能力大大减少,自己也想趁此机会了解一下H桥电路,所以就采用了方案二。二电梯系统控制电路设计2.1单片机STC89C52的
7、介绍2.1.1单片机STC89C52的特点STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。主要特性如下:(1)增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.(2)工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V单片机)(3)工作频率范围:040MHz,相当于普通8051的080MHz,实际工作频率可达48MHz(4)用户应用程序空间为8K字节(5)片上集成512字节RAM(6)通用I/O口(32个),复位
8、后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。(7)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,txd/P3.1)直接下载用户程序,数秒即可完成一片(8)具有EEPROM功能(9)具有看门狗功能(10)共3个16位定时器/计数器。即定时器T0、T1、T2(11)外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒(12)通用异步串行口(UART),还可用定时器软件实现多个UART(13)工作温
9、度范围:-40+85(工业级)/075(商业级)STC89C52RC单片机的工作模式(1)掉电模式:典型功耗0.1A,可由外部中断唤醒,中断返回后,继续执行原程序(2)空闲模式:典型功耗2mA(3)正常工作模式:典型功耗4mA7mA(4)掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备STC89C52RC引脚功能说明VCC(40引脚):电源电压VSS(20引脚):接地P0端口(P0.0P0.7,3932引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可
10、以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在Flash ROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。P1端口(P1.0P1.7,18引脚):P1口是一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2E
11、X)P2端口(P2.0P2.7,2128引脚):P2口是一个带内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX DPTR”指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如执行“MOVX R1”指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。在对Flash RO
12、M编程和程序校验期间,P2也接收高位地址和一些控制信号。P3端口(P3.0P3.7,1017引脚):P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。在对Flash ROM编程或程序校验时,P3还接收一些控制信号。P3口除作为一般I/O口外,还有其他一些复用功能,如下表所示:表1-1 P3口引脚复用功能引脚号复用功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断
13、0)P3.3(外部中断1)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。看门狗计时完成后,RST引脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/(30引脚):地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚也用作编程输入脉冲。在一般情况下,ALE以晶振
14、六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址位8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOV指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址位8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。(29引脚):外部程序存储器选通信号是外部程序存储器选通信号。当AT89C51RC从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而访问外部数据存储器时,将不被激活。/VPP(31引脚):访问外部程序存储器控制信号。为
15、使能从0000H到FFFFH的外部程序存储器读取指令,必须接GND。注意加密方式1时,将内部锁定位RESET。为了执行内部程序指令,应该接VCC。在Flash编程期间,也接收12伏VPP电压。XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。XTAL2(18引脚):振荡器反相放大器的输入端1。2.1.2单片机I/O口的配置表1-2 单片机各个引脚的配置P0共阳数码管P2.4关门发光二极管P1.0门内1楼召唤按钮P2.5开门发光二极管P1.1门内2楼召唤按钮P2.6电梯上下行发光二极管P1.2门内3楼召唤按钮P2.7电梯运行发光二极管P1.3门内4楼召唤按钮P3.0门外1楼上召
16、唤按钮P1.4开门按钮P3.1门外2楼上召唤按钮P1.5关门按钮P3.2门外2楼下召唤按钮P1.6蜂鸣器P3.3门外3楼上召唤按钮P2.0H桥驱动电路P3.4门外3楼下召唤按钮P2.1H桥驱动电路P3.5门外4楼下召唤按钮2.2按键电路的设计因为电梯在正常生活中的运行很少需要复位,所以在这里复位电路上的按键就不做介绍了,着重介绍剩余的12个按键。图2-2 按键模块的电路左边六个按键分别对应门内四层楼的召唤和开关门,右边六个按键分别对应门外1楼到楼的召唤,这些按键一边接地,一边接单片机的I/O口,这样就可以用低低电平去判断,然后执行对应键的操作函数。这些按键并联一个1K的上拉电阻,将VCC通过1
17、K电阻并联到按键上,目的是为了防止干扰,增强稳定性。将输出口保持在高电平状态。该上拉电阻的选择是因为单片机电源是5V,P口输入电流不超过额定输入电流即可,单片机I/O口都是开漏输出,除了P0口都内置弱上拉电阻,所以选择1K也行,电流才5MA。但不能太小,防止灌电流过大。2.3数码管显示电路的设计此次采用的是共阳数码管,阳极接公共段,阴极接单片机,所以,单片机需用低电平来控制。当然,数码管用了103排阻,用作上拉电阻,(103=10*103=10000=10K欧姆)并且也加了360的电阻用来限流。数码管静态时,推荐使用10-15MA;动态时,16/1动态扫描时,平均电流为4-5MA,峰值电流为5
18、0-60MA。一般工作电流为5 MA -10 MA,所以(5-2.7)/R=I,所以R=(230-460),所以限流电阻选择了360的。图2-3 数码管显示模块的电路2.4电梯模拟指示灯的设计图2-4 模拟指示灯的电路本次设计的指示灯共有6个,其中一个是电源模块的指示灯(后面会有提到),还有一个是单片机电源指示灯,再一个是电梯正常运行的指示灯。这三盏灯的功能就是为了提示,不做任何模拟,还有三盏灯分别接在P2.4,P2.5,P2.6口上。接在P2.6上的是表示电梯上下行的,当电梯上升时,该指示灯亮,当电梯下降时,该指示灯呈熄灭状态。接在P2.4和P2.5上的指示灯模拟了四个状态。在电梯运行后,两
19、盏灯同时熄灭代表电梯正在关门,同时亮代表正在开门,单独P2.4上的灯亮代表电梯处于关门状态,单独P2.5上的灯亮代表电梯处于开门状态。因为发光二极管接的是5V电源,所以限流电阻分到3V左右的压降,发光二极管的工作电流通常是2 MA-5MA,所以选择了1K的电阻,根据电阻公式是R=(UUF)I,可以算出R=(5-2)/(0.0020.005)=(6001500) ,所以电阻就选择了1K的,这样的电流是3MA,发光二极管可以正常工作。2.5蜂鸣器电路的设计图2-5 蜂鸣器电路本次设计用9012三极管驱动蜂鸣器,当电梯到达所需楼层时,单片机给三极管基极输入一个低电平,此时基极的电压小于发射级的电压,
20、三极管导通,可以使蜂鸣器作响。三极管在蜂鸣器上的作用是放大声音信号。三极管是一种控制元件,主要用来控制电流的大小,当基极电压UB有一个微小的变化时,基极电流IB也会随之有一小的变化,受基极电流IB的控制,集电极电流IC会有一个很大的变化,基极电流IB越大,集电极电流IC也越大,反之,基极电流越小,集电极电流也越小,即基极电流控制集电极电流的变化。但是集电极电流的变化比基极电流的变化大得多,这就是三极管的放大作用,该三极管的放大倍数在150-200之间。在I/O口和三极管B级之间串接个1K左右的电阻的作用是限制I/O口电流,防止I/O口过流烧坏。因为蜂鸣器正极接VCC,串联的电阻选择1K,根据公
21、式可以算出I/O的电流为5MA,再加上蜂鸣器的内阻,电流小于5MA,可以保证I/O口不被烧坏。2.6电源电路的设计2.6.1稳压电路的介绍本次设计采用的电源电路是经典的稳压电路。用一个电源适配器直接将220V的交流电转换成9V,然后接入板子上,一开始的设计是用两个电源,将单片机跟电机的电源分开,但考虑到了经济性和实用性,用了这个模块,只需一个电源输入即可。9V的电可以直接供给H桥驱动,串联一个二极管可以有效防止反接,然后电压经过输入端滤波,由稳压芯片7805输出,再由输出端滤波输出5V直流电给单片机供电。这里的电阻选择1K跟上面讲到的发光二极管的电阻选择一样,都是限流的。图2-6电源电路2.6
22、.2稳压芯片的介绍此次采用的是7805三端稳压集成电路,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。用78/79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。该系列集成稳压IC型号中的78或79后面的数字代表该三端集成稳压电路的输出电压,如7805表示输出电压为正5V,7905表示输出电压为负5V。在实物制作中,在7805上安装了散热器,为了防止温度过高时,稳压性能变差。图2-7稳压芯片78052.7.1光耦的介绍图2-8光耦内部图光耦。它是以光为媒介来传输电信号的器件,通常把
23、发光器(红外线发光二极管LED)与受光器(光敏半导体管)封装在同一管壳内。当输入端加电信号时发光器发出光线,受光器接受光线之后就产生光电流,从输出端流出,从而实现了“电光电”转换。以光为媒介把输入端信号耦合到输出端的光电耦合器。这次设计时本来采用要用驱动芯片L298N来驱动电机的,但考虑到自己动手接触过H桥电路之后会有更深的了解,后又改用H桥。但是刚好有同学也是用H桥驱动电机的,所以就加了光耦。跟原先的H桥相比,稳定性又有所提升。光耦的主要作用就是强弱电的隔离,因为单片机是小功率的芯片,而电机是大功率的,所以光耦可以有效的起到隔离作用。光耦合器的主要优点是:信号单向传输,输入端与输出端完全实现
24、了电气隔离,输出信号对输入端无影响,抗干扰能力强,工作稳定,无触点,使用寿命长,传输效率高。光耦合器是70年代发展起来产新型器件,现已广泛用于电气绝缘、电平转换、级间耦合、驱动电路开关电路、斩波器、多谐振荡器、信号隔离、级间隔离 、脉冲放大电路、数字仪表、远距离信号传输、脉冲放大、固态继电器(SSR)、仪器仪表、通信设备及微机接口中。在单片开关电源中,利用线性光耦合器可构成光耦反馈电路,通过调节控制端电流来改变占空比,达到精密稳压目的2。如上图,二极管负极接VCC,二极管正极接单片机I/O口,发射极接地,集电极接入H桥电路。当电梯需要上升或者下降时,给二极管正极输入一个高电平或者低电平,控制二
25、极管的通断。假如芯片给二极管正极的是低电平,此时二极管导通,然后三极管也导通,因为发射极是接地的,所以集电极端也是低电平。将此信号传输给H桥。光耦在电路中一左一右两个,给左边的光耦输入低电平了,那右边的就是要输入高电平,这样才能维持电机的运转,这个在下面的H桥电路设计中会解释。2.7.2 H桥驱动电路的介绍图2-9 H桥驱动电路图如上为本次设计的H桥驱动电路。电路得名于“H桥驱动电路”是因为它的形状酷似字母H。4个三极管组成H的4条垂直腿,而电机就是H中的横杠。在桥路左边加了一个NPN三极管Q12和PNP三极管Q8,右边也同样加了Q7和Q11,可以更有效的控制和保护电路。要使电机运转,必须是一
26、条对角线上的三极管导通。下面,我们用一个例子来解释下H桥电路的工作原理。假设左边是低电平,那相对应的右边为高电平。所以左边的光耦C脚输入低电平,右边的光耦内的三极管不导通。因为PNP是低电平导通,所以左边第一个三极管Q8导通,因为下面串联一个电阻,所以呈高电平状态,所以左边第二个三极管Q12导通,所以,H桥中右下角的三极管Q14也导通,左上角的三极管Q9的基极B经过了三个电阻,而他的发射极只经过一个电阻,所以基极的电压相对的低于发射极,所以左上角的三极管Q9也导通。所以电机可以运转。接下来要验证右上角的三极管Q10和左下角的三极管Q13不导通,因为光耦不导通,所以右边第一个三极管Q7没有构成回
27、路,所以不导通,右边第二个三极管Q11和H桥右上角的三极管Q10同理也不导通,左下角的三极管Q13 B级没电压,所以也不导通,所以,当左边输入低电平,右边输入高电平时,左上角和右下角的三极管Q9,Q14导通,电机正转。反之,电机反转。四个并联在H桥三极管两端的二极管起到续流保护的作用。三电梯系统的控制程序设计2.1.1程序流程图2.1.2主程序流程图开始初始化扫描键盘查询变量,调用子程序电梯运行当电梯上电了之后,程序开始执行,数码管显示为1楼,同时开始扫描键盘,判断是否有按键按下,当有按键按下后,根据按键修改变量,然后电梯运行,同时数码管显示相应楼层,当抵达所需楼层楼层后,开始开门,同时蜂鸣器
28、发出声音,提示已到达。然后循环以上过程。2.1.3 中断程序流程图入口键盘扫描有键按下?修改请求变量电梯运行返回N Y当有键按下之后,中断开始,修改变量,然后电机开始转,电梯运行,当电梯到达所需楼层后,中断结束,电梯开始开门,同时蜂鸣器发出声音提示到达。然后循环上述过程。2.1.4电梯运行流程图入口电机运行关门是否到达所需楼层?开门返回 数码管显示楼层NY当有键按下,电梯开始运行时,先关门,然后电梯运行,数码管显示电梯所在位置,当到达所需楼层时,电梯门打开,并且蜂鸣器发出声音,提示到达。 第三部分 设计成果一系统的调试3.1系统调试过程3.1.1软件调试程序在调试的时候会出现很多错误,书写格式
29、上的疏忽或者循环错误及参数表语法错误等等,此次的程序是在KEIL中编译完成的,在编写好程序之后,出现的错误很多,比如“DECLARATION MISSING ” “DO STATEMENT MUST HAVE WHILE”“ UNCTION CALL MISSING”等等一大堆,然后自己根据这些提示去查找错误,然后一点点的修改,最后成功编译,当编译成功之后仿真然后在开发板上进行调试,一开始的时候一些功能实现不了,比如开门关门的状态跟自己预先想的完全反了,后面又去程序中修改,这样反反复复直到功能全部实现5。3.1.2系统仿真此次系统仿真用的是PROTUES进行仿真的,首先用KEIL编译程序产生H
30、EX文件并保存,然后在PROTUES上画出仿真图,导入程序并进行仿真,一开始仿真的时候是使用L298N进行仿真的,正在关门的状态显示不出来,去查了正在关门的程序,是直接把那个和关门的程序写一样了,修改过来之后就好了,后来因为设计的更改,采用了H桥驱动电路的仿真仿真图如下:7图3-1 仿真图片3.1.3硬件调试在调试过程中,一开始的时候蜂鸣器一直不响,一开始以为蜂鸣器是坏的,用万用表的二极管档测了之后发现蜂鸣器能响,然后又看三极管,接法也没错误,最后去检查了程序的I/O口才发现是I/O口定义错了,本来是应该定义P1.6的,程序上写成了P3.7。将这个改过来之后蜂鸣器就能响了。还有就是电机只会正转
31、,不会反转,然后找到当电机反转时电流的流向,后来发现光耦接反了,按照那个接法,光耦内的三极管会一直处于断路状态,所以无法驱动H桥内的电机。当全部修改好之后,电梯就可以正常运行了。二系统调试成果当插上电源的时候,电梯显示的楼层在1楼,电梯运行指示灯亮,电源指示灯亮,电源模块的二极管也亮,图片如下:图3-2 调试图片假设我在4楼,现在我要到1楼去,我按下4楼下召唤按钮,然后电机反转,电梯到达4楼,图片如下:图3-3调试图片 进入门后,按下1楼按键,电梯运行,图片如下:图3-4调试图片其他的各个功能也都能正常运行,这样调试就好了。最后附上完成后的实物图,如下:图3-5 实物图片第四部分 结束语大学五
32、年单片机的学习,使我了解和掌握了单片机一些软件和硬件的设计方法。通过这次实际的项目设计,真正明白了单片机开发的基本流程。针对实际问题的解决,更加提高了自我的编程水平。所以在电子技术方面,无论是硬件设计还是软件设计,都必须仔细认真,刻苦钻研,这样才能把项目做得更好,使自己走得更远。说真话,自己从来没有一个人做过课题,感觉有点思路,却抓不住,不知道从何入手,网上的资料不知道怎么去用,很多用得着的知识书本上讲的不是那么详细,要是去查找吸收这些知识的话,时间又显得紧巴巴,天天对着电脑,效率有限,好不容易弄完了硬件之前的部分,第二天却告诉我被损坏打不开,又吭哧吭哧地重新做一遍。我开始懊恼平时怎么没有备份
33、的习惯,开始自我责备为什么不是电脑高手让文件恢复。突然发现很多知识到用的时候方恨少,很多时候需要很多门的知识结合在一起才能完成课题的,天天对着电脑晕头转向,第一次屡战屡胜的战将被打击得这么彻底,第一次沮丧得如此手足无措。看着别人一个个都有大量资料可以参考,我这个眼红啊嫉妒啊,好不容易做出来的,总感觉很多的漏洞,却又不知道怎么去改。但是庆幸的是,我没有去抄,从心底里了解了厚积薄发,平时的积累到现在就起效果了,终于理解了机会是留给有准备的人的。做课题的时候心中压力很大,现在想想,有点夸张的说是噩梦,累啊!通过此次的设计,我学到了许多知识,跨越了传统方式下教与学的体制束缚。我感觉我成长了很多,它锻炼
34、了我的耐心,学会了做事的端正态度,提高了我学习的效率,掌握了更多的专业知识,补充了平时的学习漏洞,培养了自学能力。做完这篇设计,我们很多人将挥别校园,走向社会。祝愿大家都有快乐灿烂的人生。第五部分 致谢经过几个月的查阅资料、整理资料、写作,今天终于可以顺利地完成最后的谢辞了。时光匆匆飞逝,五年的努力与付出,随着毕业设计的完成,终于让我在大学的生活得以划下完美的句号。设计得以完成,要感谢的人实在太多。首先要感谢的是刘慧老师,因为毕业设计是在刘慧老师的悉心指导下完成的。刘慧老师渊博的专业知识、严谨的治学态度、精益求精的工作作风和诲人不倦的高尚师德对我的影响深远。刘慧老师指引我毕业设计的方向和构架,
35、并对初稿进行逐字批阅,指出其中的错误,使我有了思考的方向。在此,我向刘慧老师表示深深的感谢和崇高的敬意。同时,我还要感谢我的同学,在这段日子里,你们给了我很多的启发,提出了很多宝贵的意见,令我受益匪浅。对于你们的帮助和支持,我也表示深深的感谢。在毕业设计的写作过程中,我还参考了有关的书籍和资料,在此我一并向有关作者表示谢意。在临近离开校园之际,我借此机会向在这五年多时间中给予我诸多教诲和帮助的各位老师表示由衷的感谢,感谢他们的辛勤栽培。不积跬步何以至千里。在他们认真负责、悉心指导下,我能够很好地运用专业知识,并在设计中得以体现,顺利完成毕业设计。第六部分 参考文献1 张秀国,单片机C语言程序设
36、计M北京大学出版社,2004. 2 陆应华. 电子系统设计教程M国防工业出版社,2008.3 张迎新. 单片机原理及应用M 电子工业大学出版社 2001.4 查金旺,C语言程序设计上机实验指导M 中国水利水电出版社出版社,2003.5 张义和等. 例说51单片机(c语言版)(第3版)M 北京人民邮电出版社,2010.6 谭浩强, Visual Basic程序设计J 清华大学出版社,2010,(10)附录一:系统电路总图附录二:PCB图附录三:源程序ORG 0000HSTOP:ORL P1,#00HMOV 30H,#01H LCALL DISPLAY LOOP1:LCALL LOOP LCALL
37、 KEY80;外部调用1、2、3、4、5、6 LJMP LOOP1KEY80:LCALL LOOP ;电梯在一楼D80: CJNE A,#0EEH,D90 ;判断按键1是否按下 LJMP KEY1D90: CJNE A,#0DEH,D81 LCALL U11 LJMP KEY2D81: CJNE A,#0BEH,D82 LCALL U11 LJMP KEY2D82: CJNE A,#7EH,D83 LCALL U22 LJMP KEY3D83: CJNE A,#0EDH,D84 LCALL U22 LJMP KEY3 D84: CJNE A,#0DDH,KEY80 LCALL U33 LJMP
38、 KEY4KEY50: LCALL LOOP ; 电梯在二楼D50: CJNE A,#0EEH,D91 LCALL DN11 LJMP KEY1D91 : CJNE A,#0DEH,D92 LCALL KEY2D92: CJNE A,#0BEH,D51 LCALL KEY2D51: CJNE A,#7EH,D52 LCALL U11 LJMP KEY3D52: CJNE A,#0EDH,D53 LCALL U11 LJMP KEY3D53: CJNE A,#0DDH,KEY50 LCALL U22 LJMP KEY4KEY60: LCALL LOOP ; 电梯在三楼D60: CJNE A,#0
39、EEH,D61 LCALL DN22 LJMP KEY1D61: CJNE A,#0DEH,D62 LCALL DN11 LJMP KEY2D62: CJNE A,#0BEH,D93 LCALL DN11 LJMP KEY2D93: CJNE A,#7EH,D94 LCALL KEY3D94: CJNE A,#0EDH,D63 LCALL KEY3D63: CJNE A,#0DDH,KEY60 LCALL U11 LJMP KEY4KEY70:LCALL LOOP ; 电梯在四楼D70: CJNE A,#0EEH,D71 LCALL DN33 LJMP KEY1D71: CJNE A,#0DE
40、H,D72 LCALL DN22 LJMP KEY2D72: CJNE A,#0BEH,D73 LCALL DN22 LJMP KEY2D73: CJNE A,#7EH,D74 LCALL DN11 LJMP KEY3D74: CJNE A,#0EDH,D95 LCALL DN11 LJMP KEY3D95: CJNE A,#0DDH,KEY70 LCALL KEY4KEY1: LCALL LOOP ;从一楼上D10: CJNE A,#7DH,D11 LCALL U1 LJMP KEY6D11: CJNE A,#0EBH,D12 LCALL U2 LJMP KEY7D12: CJNE A,#0
41、DBH,KEY1 LCALL U3 LJMP KEY8KEY2: LCALL LOOPD20: CJNE A,#0BDH,D21 ;二楼 LCALL DN1 LJMP KEY5D21: CJNE A,#0EBH,D22 LCALL U1 LJMP KEY7D22: CJNE A,#0DBH,KEY2 LCALL U2 LJMP KEY8KEY3: LCALL LOOPD30: CJNE A,#0BDH,D31 ;三楼 LCALL DN2 LJMP KEY5D31: CJNE A,#7DH,D32 LCALL DN1 LJMP KEY6 D32: CJNE A,#0DBH,KEY3 LCALL
42、U1 LJMP KEY8KEY4:LCALL LOOPD40: CJNE A,#0BDH,D41 ;四楼 LCALL DN3 LJMP KEY5D41: CJNE A,#7DH,D42 LCALL DN2 LJMP KEY6D42: CJNE A,#0EBH,KEY4 LCALL DN1 LJMP KEY7DH:LJMP KEY80DJ:LJMP KEY50DK:LJMP KEY60DL:LJMP KEY70U11: LCALL LOOP ;上一层楼 LCALL U0 INC 30H LCALL DISPLAY RETU22: LCALL LOOP ;上两层楼 LCALL U0 INC 30H
43、 LCALL DISPLAY LCALL U0 INC 30H LCALL DISPLAY RETU33: LCALL LOOP ;上三层楼 LCALL U0 INC 30H LCALL DISPLAY LCALL U0 INC 30H LCALL DISPLAY LCALL U0 INC 30H LCALL DISPLAY RETDN11: LCALL LOOP ;下一层楼 LCALL DN0DEC 30H LCALL DISPLAY RETDN22: LCALL LOOP ;下两层楼 LCALL DN0 DEC 30H LCALL DISPLAY LCALL DN0 DEC 30H LCALL DISPLAY RETDN33: LCAL