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

下载本文档

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

文档简介

1、目录(ml)TOC o 1-3 h u HYPERLINK l _Toc5131 1、题目(tm)设计要求1 HYPERLINK l _Toc30040 2、系统(xtng)的组成及设计方案1 HYPERLINK l _Toc29394 2.1系统组成1 HYPERLINK l _Toc24435 2.1.1 晶振电路(时钟电路)1 HYPERLINK l _Toc20181 2.1.2 复位电路1 HYPERLINK l _Toc29583 2.1.3 51单片机2 HYPERLINK l _Toc13486 2.1.4 显示电路2 HYPERLINK l _Toc2973 2.1.5 驱动

2、电路2 HYPERLINK l _Toc32605 2.1.6 5V电源3 HYPERLINK l _Toc9250 2.2设计方案3 HYPERLINK l _Toc14520 3、器件的功能和作用3 HYPERLINK l _Toc10616 3.1硬件系统实现3 HYPERLINK l _Toc26141 3.1.1工作原理及原理图3 HYPERLINK l _Toc29744 3.1.2设计元器件说明4 HYPERLINK l _Toc27615 3.2系统软件设计6 HYPERLINK l _Toc5450 3.2.1程序流程图及主程序6 HYPERLINK l _Toc17679

3、3.2.2 子程序功能实现10 HYPERLINK l _Toc22878 4、 系统仿真调试过程及结果11 HYPERLINK l _Toc31370 4.1 Proteus下的仿真原理图设计 PAGEREF _Toc31370 11 HYPERLINK l _Toc25072 4.2仿真运行过程及结果 PAGEREF _Toc25072 12 HYPERLINK l _Toc23408 5、 总结 PAGEREF _Toc23408 12 HYPERLINK l _Toc28292 6、参考文献 PAGEREF _Toc28292 121、题目设计(shj)要求利用(lyng)51单片机和

4、88点阵显示屏设计(shj)电梯楼层显示器,实现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单片机组成(z ch

5、n):由P0、P1、P2、P3四个口以及复位端RST、电源VCC等多个功能接口组成,其具体结构如图2.3所示功能(gngnng):存储和处理程序。图2.3 单片机结构图2.1.4 显示(xinsh)电路功能:8*8LED点阵用于显示电梯楼层,连接点阵显示器的共阳极r端需经驱动三极管与单片机的P3口相连,而共阴极c端需经限流电阻与单片机的P0口相连。仿真图如图2.4所示。图2.4 8*8LED点阵显示器2.1.5 驱动电路用于驱动8*8点阵LED显示设备,使51单片机所发出的信号的电压相对稳定(wndng),增加负载能力。 2.1.6 5V电源(dinyun)提供设备所需的电压(diny),功耗

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

7、手动按键显示楼层是根据具体的硬件键盘设置功能键实现电梯显示屏楼层的滚动变换,在12MHz晶振的作用下,开关触发I/O口变自动调用相应位置中的程序,将对应的振动频率输出给8*8点阵,实现点阵显示屏的不同变化。其原理图如图3.1所示。图3.1 电路(dinl)原理图3.1.2设计(shj)元器件说明1)AT89C51简介(jin ji)AT89C51是一种带4K HYPERLINK /view/60408.htm t /_blank 字节FLASH HYPERLINK /view/87697.htm t /_blank 存储器(FPEROMFlash Programmable and Erasab

8、le Read Only Memory)的低电压、高性能CMOS 8位 HYPERLINK /view/1125.htm t /_blank 微处理器,俗称 HYPERLINK /view/1012.htm t /_blank 单片机。AT89C2051是一种带2K HYPERLINK /view/60408.htm t /_blank 字节闪存可编程可擦除 HYPERLINK /view/132973.htm t /_blank 只读存储器的 HYPERLINK /view/1012.htm t /_blank 单片机。 HYPERLINK /view/1012.htm t /_blank

9、单片机的可擦除 HYPERLINK /view/132973.htm t /_blank 只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失 HYPERLINK /view/87697.htm t /_blank 存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速 HYPERLINK /view/87697.htm t /_blank 存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51 HYPERLINK /view/1012.htm t /_blank 单片机

10、为很多 HYPERLINK /view/2613031.htm t /_blank 嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及 HYPERLINK /view/641241.htm t /_blank 引脚排列如图3.2和3.3所示。 图3.2 三种(sn zhn)单片机外形图 图3.3 AT89C51的管脚图部分(b fen)引脚功能:VCC:供电(n din)电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,

11、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口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序

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

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

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

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

16、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=0 x00,0 x10,0 x30,0 x10,0 x10,0 x10,0 x38,0 x00, /点阵显示(xinsh)数字10 x00,0 x18,0 x24,0 x04,0 x18,0 x20,0 x3c,0 x00, /点阵(din zhn)显示数字20 x00,0 x18,0 x24,0 x04,0 x

17、18,0 x04,0 x24,0 x18, /点阵显示数字30 x00,0 x08,0 x18,0 x28,0 x48,0 x7c,0 x08,0 x08, /点阵显示数字40 x00,0 x3c,0 x20,0 x38,0 x04,0 x04,0 x38,0 x00,/点阵显示数字50 x00,0 x18,0 x24,0 x20,0 x38,0 x24,0 x24,0 x18,/点阵显示(xinsh)数字6;uint r;char offset=0;uchar Current_Level=1,Dest_Level=1,x=0,t=0;void delay(uint x) /延迟函数,通过(t

18、nggu)延时函数消除抖动 uchar i; while(x-) for(i=0;i120;i+);void main() /主函数(hnsh) P3=0 x80; /给P3口赋初值 Current_Level=1; Dest_Level=1; TMOD=0 x01; /定时器T0工作模式选择1 TH0=-4000/256; / TL0=-4000%256; TR0=1; /启动T0开始计时 IE=0 x82; /中断允许寄存器,其值为82时,二进制为1000 0010,IE.7位为1表示CPU开放中断,IE.1位也为1,表示允许定时器T0溢出中断 while(1); /等待中断void LE

19、D_Screen_Display() interrupt 1 /中断函数 uchar i; if(P1!=0 xff&Current_Level=Dest_Level) if(P1=0 xfe) Dest_Level=5;K6=0; if(P1=0 xfd) Dest_Level=4;K5=0; if(P1=0 xfb) Dest_Level=3;K4=0; if(P1=0 xf7) Dest_Level=2;K3=0; if(P1=0 xef) Dest_Level=1;K2=0; if(P1=0 xdf) Dest_Level=0;K1=0; TH0=-4000/256; /复位(f wi

20、)TL0=-4000%256; P3=_crol_(P3,1); /循环(xnhun)左移一位i=Current_Level*8+r+offset; P0=NUMi; if(Current_LevelDest_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 子程序功能(gngnng)实现延时函数(hnsh)void delay(uint x) uchar i; while(x-) for(i=0;i120;i+);楼层(lu cn)判断if(

21、Current_LevelDest_Level) if(+r=8) r=0; if(+x=4) x=0; if(-offset=-8) offset=0; Current_Level-; 系统仿真调试过程(guchng)及结果4.1 Proteus下的仿真(fn zhn)原理图设计首先利用Proteus中的器件库完成电路的连接,其中电路由一个(y )复位电路和一个时钟电路与单片机相连,P1口与六个控制开关相连,经LED显示屏与限流装置相连,构成一个完整的系统,其仿真图如图4.1所示:图4.1 仿真(fn zhn)原理图然后(rnhu)双击AT89C51,出现(chxin)“Edit Componet ”,在Program File中单击,出现文件浏览对话框,找到后缀为.hex的文件,单击确定,完成添加文件。Proteus与程序代码的链

温馨提示

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

评论

0/150

提交评论