单片机课设电梯楼层显示器设计_第1页
单片机课设电梯楼层显示器设计_第2页
单片机课设电梯楼层显示器设计_第3页
单片机课设电梯楼层显示器设计_第4页
单片机课设电梯楼层显示器设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录1、题目设计要求12、系统的组成及设计方案12.1系统组成12.1.1 晶振电路(时钟电路)12.1.2 复位电路12.1.3 51单片机22.1.4 显示电路22.1.5 驱动电路22.1.6 5V电源32.2设计方案33、器件的功能和作用33.1硬件系统实现  33.1.1工作原理及原理图33.1.2设计元器件说明43.2系统软件设计63.2.1程序流程图及主程序63.2.2 子程序功能实现104、 系统仿真调试过程及结果114.1 Proteus下的仿真原理图设计114.2仿真运行过程及结果125、 总结126、参考文献121、题目设计要求利用51单片机和8

2、15;8点阵显示屏设计电梯楼层显示器,实现6层显示控制。2、系统的组成及设计方案2.1系统组成2.1.1 晶振电路(时钟电路)组成:由51单片机本身时钟段和晶振提供,其中电路由两个22pF的电容C1和C2与一个晶体振荡器X1组成,仿真图如图2.1所示。功能:用来给单片机内各种微操作提供时间基准信号的。图2.1晶振电路2.1.2 复位电路组成:由一个10K的电阻和一个10uF的电容接至51单片机的复位端,完成复位功能,其仿真图如图2.2所示。功能:使单片机内部的CPU及其他部件初始化,即处于一种确定的初始状态,然后从这个初始状态开始工作。图2.2复位电路2.1.3 51单片机组成:由P0、P1、

3、P2、P3四个口以及复位端RST、电源VCC等多个功能接口组成,其具体结构如图2.3所示功能:存储和处理程序。图2.3 单片机结构图2.1.4 显示电路功能:8*8LED点阵用于显示电梯楼层,连接点阵显示器的共阳极r端需经驱动三极管与单片机的P3口相连,而共阴极c端需经限流电阻与单片机的P0口相连。仿真图如图2.4所示。图2.4 8*8LED点阵显示器2.1.5 驱动电路用于驱动8*8点阵LED显示设备,使51单片机所发出的信号的电压相对稳定,增加负载能力。 2.1.6 5V电源提供设备所需的电压,功耗。2.2设计方案本设计是六层电梯的单片机控制系统。从系统硬件结构上来看,我们主要使用到51系

4、列单片机、共阳8*8点阵LED屏、开关键盘输入电路、电源电路等等。将这些硬件电路有机地结合起来使之满足8*8点阵屏仿电梯楼层数字滚动显示的实现硬件需要。从系统软件设计角度来看,将8*8点阵屏仿电梯楼层数字滚动显示的课程设计采用程序模块化设计方法,将程序分为主程序、8*8点阵显示模块。因此,我们可以综合上述的方案设计原理,从软件和硬件两部分进行有计划有步骤的系统分析和设计。3、器件的功能和作用3.1硬件系统实现  3.1.1工作原理及原理图 8*8点阵屏仿电梯楼层数字滚动显示的课程设计主要为手动按键显示楼层。手动按键显示楼层是根据具体的硬件键盘设置功能键实现电梯显示屏楼层的滚

5、动变换,在12MHz晶振的作用下,开关触发I/O口变自动调用相应位置中的程序,将对应的振动频率输出给8*8点阵,实现点阵显示屏的不同变化。其原理图如图3.1所示。图3.1 电路原理图3.1.2设计元器件说明1)AT89C51简介 AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失

6、存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3.2和3.3所示。 图3.2 三种单片机外形图 图3.3 AT89C51的管脚图部分引脚功能:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低

7、八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的

8、缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复

9、位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。2)8*8LED点阵显示器 8×8点阵LE

10、D的引脚图如图3.4所示,当采用单片机进行控制时,连接点阵显示器的共阳极r端需经驱动三极管9012与单片机的P3口相连,而共阴极c端需经限流电阻与单片机的P0口相连。在编程控制时,将8×8点阵LED显示分成行和列两部分,字符数据从P0口输出,扫描控制字从P3口输出,每一列由一个字节的数据组成,数据可一次送入,然后扫描一行,显示一个字需要扫描8次。 图3.4 8×8点阵LED引脚的排列图3)晶振简介晶振全称为晶体振荡器(英文Crystal Oscillators),其作用在于产生原始的时钟频率,这个频率经过频率发生器的放大或缩小后就成了电脑中各种不同的总线频率。图3.5 晶振

11、外形图3.2系统软件设计3.2.1程序流程图及主程序程序流程图介绍:第一类函数起作用于按键按下的时刻,当有按键按下时,以中断的方式发给单片机,此时,单片机即对程序中所有用到的各个状态变量进行置位,且点亮相应的发光二极管;第二类函数起作用与电梯到达目标楼层时,这时函数负责把相关发光二极管熄灭,并且及时清除相关状态位,以免影响判别函数做出正确判断;第三类函数是程序的核心,它直接负责管理电梯下一次所要到达的楼层,每当电梯经过一楼层时,此函数即会被调用,即为下一个电梯要停留的目标楼层值。图3.6 程序流程图#include <reg51.h>#include <intrins.h&g

12、t;#define uchar unsigned char#define uint unsigned intsbit K1=P25;sbit K2=P24;sbit K3=P23;sbit K4=P22;sbit K5=P21;sbit K6=P20;sbit BE=P27;uchar code NUM=0x00,0x10,0x30,0x10,0x10,0x10,0x38,0x00, /点阵显示数字10x00,0x18,0x24,0x04,0x18,0x20,0x3c,0x00, /点阵显示数字20x00,0x18,0x24,0x04,0x18,0x04,0x24,0x18, /点阵显示数字3

13、0x00,0x08,0x18,0x28,0x48,0x7c,0x08,0x08, /点阵显示数字40x00,0x3c,0x20,0x38,0x04,0x04,0x38,0x00,/点阵显示数字50x00,0x18,0x24,0x20,0x38,0x24,0x24,0x18,/点阵显示数字6;uint r;char offset=0;uchar Current_Level=1,Dest_Level=1,x=0,t=0;void delay(uint x) /延迟函数,通过延时函数消除抖动 uchar i; while(x-) for(i=0;i<120;i+);void main() /主

14、函数 P3=0x80; /给P3口赋初值 Current_Level=1; Dest_Level=1; TMOD=0x01; /定时器T0工作模式选择1 TH0=-4000/256; / TL0=-4000%256; TR0=1; /启动T0开始计时 IE=0x82; /中断允许寄存器,其值为82时,二进制为1000 0010,IE.7位为1表示CPU开放中断,IE.1位也为1,表示允许定时器T0溢出中断 while(1); /等待中断void LED_Screen_Display() interrupt 1 /中断函数 uchar i; if(P1!=0xff&&Curren

15、t_Level=Dest_Level) if(P1=0xfe) Dest_Level=5;K6=0; if(P1=0xfd) Dest_Level=4;K5=0; if(P1=0xfb) Dest_Level=3;K4=0; if(P1=0xf7) Dest_Level=2;K3=0; if(P1=0xef) Dest_Level=1;K2=0; if(P1=0xdf) Dest_Level=0;K1=0; TH0=-4000/256; /复位TL0=-4000%256; P3=_crol_(P3,1); /循环左移一位i=Current_Level*8+r+offset; P0=NUMi;

16、if(Current_Level<Dest_Level) if(+r=8) r=0; if(+x=4) x=0; if(+offset=8) offset=0; Current_Level+; else if(Current_Level>Dest_Level) if(+r=8) r=0; if(+x=4) x=0; if(-offset=-8) offset=0; Current_Level-; else if(+r=8) r=0; 3.2.2 子程序功能实现a. 延时函数void delay(uint x) uchar i; while(x-) for(i=0;i<120;

17、i+);b. 楼层判断if(Current_Level<Dest_Level) if(+r=8) r=0; if(+x=4) x=0; if(+offset=8) offset=0; Current_Level+; else if(Current_Level>Dest_Level) if(+r=8) r=0; if(+x=4) x=0; if(-offset=-8) offset=0; Current_Level-; 4、 系统仿真调试过程及结果4.1 Proteus下的仿真原理图设计首先利用Proteus中的器件库完成电路的连接,其中电路由一个复位电路和一个时钟电路与单片机相连,

18、P1口与六个控制开关相连,经LED显示屏与限流装置相连,构成一个完整的系统,其仿真图如图4.1所示:图4.1 仿真原理图然后双击AT89C51,出现“Edit Componet ”,在Program File中单击,出现文件浏览对话框,找到后缀为.hex的文件,单击确定,完成添加文件。Proteus与程序代码的链接如图4.2所示。图4.2 Proteus与程序代码链接图4.2仿真运行过程及结果当闭合开关K6时,8*8LED点阵显示器显示楼层数为6层,并且只有K6断开连接时,其他楼层才能申请电梯的使用,并且显示相应的楼层数,楼层数为6时,运行结果如图4.3所示。图4.3 楼层为6时的楼层数字显示图5、 总结通过这次单片机课程设计,让我在学习单片机理论知识的基础上,增强了实践动手能力。在参考了许多相关资料后,理解了五层电梯的设计要求,并且完成了设计的功能要求,而且还完成了老师布置的相关问题的改进和提升,但本代码中可能仍存在一些不能解决的实际问题,许多工程实际问题不能完全用理论知识去解决,需要不断吸取现场经验,寻

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论