电梯楼层显示电路设计单片机原理及应用课程设计.docx
- 文档编号:30104626
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:9
- 大小:427.67KB
电梯楼层显示电路设计单片机原理及应用课程设计.docx
《电梯楼层显示电路设计单片机原理及应用课程设计.docx》由会员分享,可在线阅读,更多相关《电梯楼层显示电路设计单片机原理及应用课程设计.docx(9页珍藏版)》请在冰豆网上搜索。
电梯楼层显示电路设计单片机原理及应用课程设计
«单片机原理及应用>>课程设计
邑梯楼层显示电垮
姓名:
纪乐
学号:
12013241906
专业:
通信工程
班级:
2013级1班
指导老师:
陈潮红
学院:
物理电气信息学院
完成日期:
2015年12月10日
电梯楼层显示电路设计
前言:
近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用.仅单片机方而知识是不够的,还应根据具体li更件结构,以及针对具体应用对象特点的软件结合,加以完善。
本次设计通过了解单片机的基本知识,简单的扩展外羽电路,完成基本的功能。
摘要:
AT89C51单片机电梯楼层Proteus仿真
一.设计任务
1、掌握51单片机的基本结构及相关知识,掌握Ke订和Protues软件的使用和两者的关系,并能更好的用两种软件来做单片机实验的仿真。
利用51单片机、数码管显示器设计一个单片机显示系统,要求在液晶上显示楼层"1,2,3,4,5,6,7,8"。
2、按照设讣任务ProteusProfessional中绘制电路原理图:
3、了解电梯楼层显示电路的编程方法和相关知识,根据设计任务的要求编写程序,画岀程序流程图,并在Proteus下进行仿真,实现相应功能。
4、培养学生自主学习、正确分析和解决问题的能力
二・实验原理电梯楼层显示电路是由单片机控制的,主要的部件有51单片机、开关控制和数码显示管组成。
通过数码管显示楼层,开关控制。
1.AT89C51的基本概述
AT89C51单片机,是一种低功耗、髙性能的、片内含有4KBFlashROM的8位CMOS单片机,工作电压范围为2.7〜6V(实际使用+5V供电),8位数据总线。
它有一个可编程的全双工串行通信接口,能同时进行串行发送和接收。
AT89C51具有4K并行可编程的非易失性FLASH程序存储器,可实现对器件串行在系统编程ISP和在应用中编程(IAP)o在系统编程ISP(In-SystemProgramming)当MCU安装在用户板上时允许用户下载新的代码在应用中编程。
IAP(In-ApplicationProgramming)MCU可以在系统中获取新代码并对自己重新编程,这种方法允许通过调制解调器连接进行远程编程。
片内ROM中固化的默认的串行加载程序BootLoader允许ISP通过UART将程序代码装入Flash存储器,而Flash代码中则不需要加载程序对于IAP用户程序通过使用片内ROM中的标准程序对Flash存储器进行擦除和重新编程。
引脚功能说明:
VCC:
电源电压。
GND:
接地。
P0口:
一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口时,每位能吸收电流的方式驱动8个TTL逻借门电路,对端口写“1”可作为髙阻抗输入端用。
在Flash编程中,P0口接收指令字节:
在校验时,输出指令字节,校验时,要求外接上拉电阻。
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仅仅访问外部程序存储器,EA端必须保持低电平。
如果EA端为髙电平,接Vcc端,CPU则执行内部程序存储器中的指令。
XTAL1:
振荡器反向放大器及内部时钟发生器的输入端。
表1P3
口白勺引脚旳第二功能
绵iII-JI脚
trs:
丄力能
P3.Or>3.1P3.2
P3.3
P3・4
P3.5
P3.<5
F>3.7
FOCT(小彳r佈入11)
TXDC彳r伽出11〉
IZTO(夕卜U尊亍O)
ITSTT1C夕卜■|•W?
r1)
TOC^II寸/i|数2曇O)
寸小数時1)
WR(夕卜,•邯数抹;T?
器"门生Jl«)
RDC夕卜沛教拎;存彳ihRSL戈J生jm)
XTAL2:
振荡器反向放大器输入端。
2.数码管显示原理
我们最常用的是七段式和八段式LED数码管,八段比七段多了一个小数点,其他的基本相同。
所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮火来显示出不同的字形。
数码管又分为共阴极和共阳极两种类型,苴实共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端髙电平,它便能点亮。
而共阳极
就是将八个LED的阳极连在一起。
苴原理图如下。
其中引脚图的两个COM端连在一起,是公共端,共阴数码管要将其接地,共阳数码管将其接正5伏电源。
一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。
显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。
数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。
所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即Ox3f:
共阳数码管的字符编码为11000000,即0xc0「可以看出两个编码的各位正好相反。
3.Proteush仿真软件介绍
Proteus软件是英国Labcenterelectronics公司出版的EDA匸具软件。
它不仅具有其它EDA工具软件的仿真功能,还能仿貞•单片机及外用器件。
它是目前最好的仿貞•单片机及外用器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外囤电路协同仿真.一键切换到PCB设计,真正实现了从概念到产品的完整设讣。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器8051、HC11>PIC10/12/16/18/24/30/DsPIC33.AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方而,它也支持IAR、Keil和MPLAB等多种编译器。
该软件的特点:
a.全部满足我们提岀的单片机软件仿頁•系统的标准,并在同类产品中具有明显的优势。
b.具有模拟电路仿真、数字电路仿真、单片机及苴外国电路组成的系统的仿真、RS一232动态仿真、1C调试器、SPI调试器、键盘和LCD系统仿真的功能:
有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
c.目前支持的单片机类型有:
68000系列、8051系列、AVR系列、PIC12系列、PIC16系列.PIC18系列、Z80系列、HC11系列以及各种外围芯片。
d.支持大量的存储器和外用芯片。
总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,可仿真51、AVR、PICo
三•实验方案
四•实验源程序
#include
#defineucharunsignedchar
#defineuintunsignedintsbitled=P2;
sbitswl二P「0;
sbitsw2=Pri;
sbitsw3=Pl*2;
sbitsw4二P「3;
sbitswo=Pl*4;
sbitsw6二Pl/5;
sbitsw7二P「6;
sbitsw8二Pl/7;
charcodetableE10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67};voiddelay(intn)
{
inti;
while(n--)
{for(i=0;i<10000;i卄){;}}
}
voidmainO
{
intcount=l;
P2=0x06;
while(l)
{
if(swl==0)
{
if(count=l){P2=table[count];delay(10);}
else{do{count—;P2=table[count];delay(10);}while(count-l>0);}
}
if(sw2==0)
{
if(count<2){do{count++;P2=table[countJ;delay(10);}while(2-count>0);}
elseif(count>2){do
{count―;P2=table[count];delay(10);}while(count-2>0);}
else{P2=table[count];delay(10);}
}
if(sw3==0)
{
if(count=3){P2=table[count];delay(10);}
elseif(count>3){do
{count―;P2=table[count];delay(10);}vhile(count-3>0);}
else{do{count++;P2=table[count];delay(10);}while(3-count》。
):
}
}
辻(sw4==0)
if(count==4){P2=table[count];delay(10);}
elseif(count>4){do{count―;P2=table[count];delay(10):
}while(count-4>0);}
else{do{count++:
P2=table[count];delay(10);}while(4-count>0);}
}
辻(sw5==0)
{
if(count=5){P2二table[count];delay(10);}
elseif(count>5){do
{count—;P2=table[count];delay(10);}while(count-5>0);}
else{do{count++;P2=table[count];delay(10);}while(5~count>0);}
}
if(sw6==0)
{
if(count=6){P2二table[count];delay(10);}
elseif(count>6){do
{count—;P2=table[count];delay(10);}le(count-6>0);}
else{do{count++;P2=table[count];delay(10);}while(6-count>0);}
}
if(sw7=0)
{
if(count=7){P2=table[count];delay(10);}
elseif(count>7){do
{count―;P2=table[count];delay(10);}while(count-7>0);}
else{do{count++;P2=table[count];delay(10);}while(7-count>0):
}
}
if(sw8==0)
{
if(count==8){P2=table[count];delay(10);}
else{do{count++:
P2=table[count];delay(10);}while(8-count>0);}
}
5.实验步骤
1、打开Protues软件,画出实验电路仿真图:
如下
2^打开keil软件,project—newuvisionproject—输入工程名loucengxianshi,保存。
然后新建Text,输入上面的C语言程序(见附页),编译。
保存成后缀名为・C的文件。
然后左击左而栏里的sourcegroupl—Addfiletosourcegroup1,选择刚刚保存的・C文件,点确定°然后Flash—onfigureFlashtools—output—Creathexfile—确怎。
系统提示hex文件创建成功。
3、打开第一步画好的原理图,双击AT89c51一programfile,找到在Keil里而生成的hex文件,确定。
4、点击仿真按钮I・I4■丄解」■J进行仿真。
6.实验结果
数字就是显示的楼层,如图所示:
7.实验心得
通过这次课程设计,让我在学习单片机理论知识的基础上,增强了的实践动手能力。
在参考了许多相关资料后,充分理解了八层电梯的设汁要求,基本上完成了设汁的功能要求,但本代码中可能仍存在一些不能解决的实际问题,许多工程实际问题不能完全用理论知识去解决,需要不断吸取现场经验,寻找解决问题方法。
虽然能完成设计的基本功能,但仍有可拓展的空间,比如超载报警、多层电梯等,都是可以继续研究以满足更多的功能要求,但以我现在对单片机知识的了解,可能不太容易完成,希望以后有机会再深入地学习单片机,设计出更符合实际功能需求的代码
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电梯 楼层 显示 电路设计 单片机 原理 应用 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)