电梯楼层显示电路设计

上传人:壹****1 文档编号:487311285 上传时间:2022-08-27 格式:DOC 页数:7 大小:533.02KB
返回 下载 相关 举报
电梯楼层显示电路设计_第1页
第1页 / 共7页
电梯楼层显示电路设计_第2页
第2页 / 共7页
电梯楼层显示电路设计_第3页
第3页 / 共7页
电梯楼层显示电路设计_第4页
第4页 / 共7页
电梯楼层显示电路设计_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《电梯楼层显示电路设计》由会员分享,可在线阅读,更多相关《电梯楼层显示电路设计(7页珍藏版)》请在金锄头文库上搜索。

1、课程设计 姓名:纪乐学号:12013241906专业:通信工程 班级:2013级1班 指导老师:陈潮红 学院:物理电气信息学院 完成日期:2015年12月10日电梯楼层显示电路设计 前言:近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时 带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。本次设计通过了解单片机的基本知识,简单的扩展外围电路,完成基本的功能。 摘要:AT89C51单片机 电梯楼层 Proteus仿真 一设计任务 1、

2、掌握51单片机的基本结构及相关知识,掌握Keil和Protues软件的使用和两者的关系,并能更好的用两种软件来做单片机实验的仿真。利用51单片机、数码管显示器设计一个单片机显示系统,要求在液晶上显示楼层“1,2,3,4,5,6,7,8”。 2、 按照设计任务在Proteus Professional中绘制电路原理图; 3、 了解电梯楼层显示电路的编程方法和相关知识,根据设计任务的要求编写程序,画出程序流程图,并在Proteus下进行仿真,实现相应功能。 4、 培养学生自主学习、正确分析和解决问题的能力二实验原理 电梯楼层显示电路是由单片机控制的,主要的部件有51单片机、开关控制和数码显示管组成

3、。通过数码管显示楼层,开关控制。 1.AT89C51的基本概述 AT89C5l单片机,是一种低功耗、高性能的、片内含有4KB Flash ROM的8位CMOS单片机,工作电压范围为2.76V(实际使用+5V供电),8位数据总线。它有个可编程的全双工串行通信接口,能同时进行串行发送和接收。AT89C51具有4K并行可编程的非易失性FLASH程序存储器,可实现对器件串行在系统编程ISP和在应用中编程(IAP)。在系统编程ISP(In-System Programming)当MCU安装在用户板上时允许用户下载新的代码在应用中编程。IAP(In-Application Programming)MCU可

4、以在系统中获取新代码并对自己重新编程,这种方法允许通过调制解调器连接进行远程编程。片内ROM中固化的默认的串行加载程序Boot Loader允许ISP通过UART将程序代码装入Flash存储器,而Flash代码中则不需要加载程序对于IAP用户程序通过使用片内ROM中的标准程序对Flash存储器进行擦除和重新编程。 引脚功能说明: VCC:电源电压。 GND:接地。 P0 口:一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在Flash编程中,P0口接收指令字节;在校验时,输出指令字节,校验

5、时,要求外接上拉电阻。 P1口:一个带内部上拉电阻的8位双向I/O口,P1口的输出缓冲级可驱动4个TTL逻辑门电路。 P2口:一个带有内部上拉电阻的8位双向I/O口,P2 口的输出缓冲级可驱动4个TTL逻辑门电路。 P3口:一组带有内部上拉电阻的8位双向I/O口,P3 口的输出缓冲级可驱动4个TTL逻辑门电路。第二功能如1所示:RST:复位输入。在振荡器工作时,该引脚出现两个机器周期以上的高电平将使单片机复位。 PSEN:程序储存允许输出是读通信号。当AT89C51由外部程序存储器取指令(数据)时,每个机器周期两次PSEN有效。 EA/VPP:外部访问允许。要使CPU仅仅访问外部程序存储器,E

6、A端必须保持低电平。如果EA端为高电平,接Vcc端,CPU则执行内部程序存储器中的指令。 XTAL1:振荡器反向放大器及内部时钟发生器的输入端。 XTAL2:振荡器反向放大器输入端。2.数码管显示原理 我们最常用的是七段式和八段式LED数码管,八段比七段多了一个小数点,其他的基本相同。所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。而共阳极就是将八个LED的阳极连在一起。其原理图如下。其中引脚图的两个COM端连在

7、一起,是公共端,共阴数码管要将其接地,共阳数码管将其接正5伏电源。一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即0x3f;共阳数码管的字符编码为11000000,即0xc0。可以看出两个编码的各位正好相反。3.Proteush仿真软件介绍 Proteus软件是英国Labcenter e

8、lectronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、AR

9、M、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。该软件的特点: a.全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。 b.具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS一232动态仿真、1C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 c.目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、

10、HC11系列以及各种外围芯片。 d.支持大量的存储器和外围芯片。总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,可仿真51、AVR、PIC。三.实验方案四.实验源程序 #include #define uchar unsigned char #define uint unsigned int sbit led=P2; sbit sw1=P10; sbit sw2=P11; sbit sw3=P12; sbit sw4=P13; sbit sw5=P14; sbit sw6=P15; sbit sw7=P16; sbit sw8=P17; char code table1

11、0=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67; void delay(int n) int i; while(n-) for(i=0;i0); if(sw2=0) if(count0); else if(count2)do count-;P2=tablecount;delay(10);while(count-20); else P2=tablecount;delay(10); if(sw3=0) if(count=3)P2=tablecount;delay(10); else if(count3)do count-;P2=tableco

12、unt;delay(10);while(count-30); else docount+;P2=tablecount;delay(10);while(3-count0); if(sw4=0) if(count=4)P2=tablecount;delay(10); else if(count4)do count-;P2=tablecount;delay(10);while(count-40); else docount+;P2=tablecount;delay(10);while(4-count0); if(sw5=0) if(count=5)P2=tablecount;delay(10); else if(count5)do count-;P2=tablecount;delay(10);while(count-50); else do count+;P2=tablecount;delay(10);while(5-count0); if(sw6=0) if(count=6)P2=tablecount;delay(10); else if(count6)do count-;P2=tablecount;delay(10);while(count-60); else do count+;P2=tablecount;delay(10);while(6-count0);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号