




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、 前言单片机技术是现代电子工程领域一门迅速发展的技术,它的应用已经渗透到各种嵌入式系统中。可以毫不夸张地说:掌握单片机技术是电子信息类专业学生就业的一个重要条件。同时单片机技术又是一门实践性很强的学科,课程设计教学环节的设计和实施,在很大程度上决定了学生对单片机技术的掌握程度。为了更好地完成课程设计这一重要教学环节,我们采用proteus软件与keil软件整合构建单片机虚拟实验平台。学生首先在pc上利用proteus软件自己搭建硬件电路,并利用系统提供的功能完成电路分析、系统调试和输出显示的硬件设计部分;同时在keil软件中编制程序,进行相应的编译和仿真,完成系统的软件设计部分。当系统的设计工作完成后,学生可以在pc上看到最终的运行效果。最后再通过proteus设计pcb,再完成真正硬件的调试。采用proteus软件与keil软件整合构建单片机虚拟实验平台,有利于促进课程和教学改革,更有利于人才的培养;从经济性、可移植性、可推广性角度讲,建立这样的课程设计平台是非常有意义的;利用仿真系统,可以节约开发时间和开发成本;利用仿真系统,具有很大的灵活性和可扩展性。二、设计简介1、设计方案介绍在工业上,多采用可编程控制器或微型计算机实现电梯逻辑控制,可编程控制器抗干扰性强,但针对性强、价格较贵,为实现电梯控制的模拟,本设计采用单片机为控制中心,针对所在的不同楼层分别进行合理的调度。设计中按键用于给用户发出服务请求,led电路用于显示请求状态及电梯运行状态、数码管显示电路来显示实时楼层,而电梯上升或下降的过程则通过定时来模拟。2、设计任务及要求 三层电梯控制模型的设计。2.1 设计要求l 利用51单片机设计三层电梯的控制模型l 利用按键和数码管实现对电梯的控制和运行模拟l 可实时显示电梯所在楼层;l 按键按下后,相应的led灯亮;l 可对发出的服务请求进行合理的分析调度并作出正确的响应;l 用户请求得到服务后,可更新状态。2.2 设计思路单片机控制系统p3、p1口接led指示灯独 立键 盘p1接2接独立键盘led指示 灯p0接数码管段选数码管本次设计的基本思路是以at89s51单片机作为核心,利用其i/o接口与外围电路配合进行控制,通过扫描键盘点亮相应的指示灯,采用数码管来实时显示楼层,单片机通过扫描按键指示灯来读取请求,根据所在楼层的不同,进行不同的分析、调度,然后做出正确的响应,更新状态并在指示灯和数码管上显示出来。系统模拟框图如图所示三、硬件电路设计3.1总体电路模块硬件部分主要由单片机最小系统、系统显示电路、步进电梯驱动模块和按键输入模块等几部分组成。总体电路原理图如下图所示:3.2单片机最小系统部分:单片机最小系统部分由图中的(1)振荡电路(2)复位电路(3)at89c51构成。3.2.1振荡电路单片机系统里都有晶振,在单片机系统里晶振作用非常大,全称叫晶体振荡器,它结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(vco)。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。at89c51使用11.0592mhz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pf至50pf之间。3.2.2复位电路单片机复位电路原理是在单片机的复位引脚rst上外接电阻和电容,实现上电复位。当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期。具体数值可以由rc电路计算出时间常数。复位电路由按键复位和上电复位两部分组成。(1)上电复位:通常在复位引脚rst上连接一个电容到vcc,再连接一个电阻到gnd,由此形成一个rc充放电回路保证单片机在上电时rst脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10k和10uf。(2)按键复位:按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、rst也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。3.2.3单片机at89c51at89c51是一种带4k字节flash存储器(fperomflash programmable and erasable read only memory)的低电压、高性能cmos 8位微处理器,俗称单片机。at89c2051是一种带2k字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪速存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,at89c2051是它的一种精简版本。at89c51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示。主要特性:(1)与mcs-51 兼容 (2)4k字节可编程flash存储器(3)寿命:1000写/擦循环 (4)数据保留时间:10年(5)全静态工作:0hz-24mhz (6)三级程序存储器锁定(7)1288位内部ram (8)32可编程i/o线(9)两个16位定时器/计数器 (10)5个中断源(11)可编程串行通道 (12)低功耗的闲置和掉电模式特性概述:at89c51 提供以下标准功能:4k字节flash闪速存储器,128字节内部ram,32 个i/o 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,at89c51可降至0hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止cpu的工作,但允许ram,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存ram中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。3.3 系统显示电路3.3.1 数码管显示电路显示电路使用了七段数码管7seg-mpx1-cc,它是共阴极的,由高电平点亮3.3.2 led指示电路3.4按键输入模块 在单片机应用系统中能实现向单片机输入数据,传送命令等功能,是人工干预单片机的主要手段。 本系统采用独立式按键,独立式按键的各按键相互独立,每个按键都有一个输入线,各按键的状态互不影响,cpu 需对按键状态分别检测,只适用于按键数量较少的场合。独立按键与单片机接口电路如图所示。3.4.1键盘输入的特点键盘实质上是一级按键开关的集合。通常,键盘开关利用了机械触点的合、断作用。3.4.2按键的确认键的闭合与否,反映在行线输出电压上就呈现高电平或低电平,如果高电平表示键断开,低电平则表示键闭合,通过对行线电平高低状态的检测,便可确认按键按下与否。为了确保cpu对一次按键动作只确认一次按键有效,必须消除抖动的影响。3.4.3如何消除按键的抖动采用软件来消除按键抖动的基本思想是:在一次检测到有键按下时,该键所对应的行线为低电平,执行一段延时10ms的子程序后,确认该行线电平是否仍为低电平,如果仍为低电平,则确认为该行确实有键按下。当按键松开时,行线的低电平变为高电平,执行一段延时10ms的子程序后,检测该行线为高电平,说明按键确实已经松开。3.4.4与非门的作用 这次的电路加上了7个与门,在有一个按键按下之后,与门的一个输入变为低,最后与门的输出就为低,接在外部中断int0,该引脚有高变低,下降有触发,触发外部中断。3.5 步进电梯驱动模块本系统的步进电梯模块由uln2003a驱动步进电梯构成。该电路模块如图所示: 本设计是使用uln2003a芯片来驱动电机,使用步进电机必须由环形脉冲,功率放大等组成的控制系统。l 脉冲信号的产生 步进电机的驱动电路根据控制信号工作,由于控制并不复杂,故直接用单片 机模拟出时序信号。 l 控制换相顺序 通电换相这一过程称为脉冲分配。感应子式步进电机以二、四相电机为主,本 机采用四相八拍为ab-b-bc-c-cd-d-ab,(步距角为0.9度)。 l 控制步进电机的转向 如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电 机就反转。 l 控制步进电机的速度 如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。 两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就 可以对步进电机进行调速。单片机留出来4个口线来与uln2003a连接,以达到 用单片机来驱动步进电动机的运行,上行、以及下行和停止等,具体功能的实 现将由软件编程来完成。 其中uln2003a是高耐压、大电流,内部由7个硅npn达林顿管组成的驱动芯片在电路中可用于伺服电机、步进电机驱动等电路中。 uln是集成达林顿管ic,内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。它是双列16脚封装,npn晶体管矩阵,最大驱动电压=50v,电流=500ma,输入电压=5v,适用于ttl coms,由达林顿管组成驱动电路。 uln是集成达林顿管ic,内部还集成了一个消线圈反电动势的二极管,它的输出端允许通过电流为200ma,饱和压降vce 约1v左右,耐压bvceo 约为36v。用户输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。通常单片机驱动uln2003时,上拉2k的电阻较为合适,同时,com引脚应该悬空或接电源。 uln2003 的每一对达林顿都串联一个2.7k 的基极电阻,在5v 的工作电压下它 能与ttl 和cmos 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来 处理的数据。 uln2003 工作电压高,工作电流大,灌电流可达500ma,并且能够在关态时承受 50v 的电压,输出还可以在高负载电流并行运行。四、系统程序的设计4.1 系统主程序的设计初始化(设定电梯初始状态和定时器初值)显示当前楼层now、扫描键盘now=1的请求分析程序now=1的请求分析程序now=1的请求分析程序电梯动?now=3?now=2?now=1?电梯动?电梯动?等待中断yyyyyynnn开始程序流程框图如图所示:4.2 中断程序的设计程序流程框图如图所示:中断产生更新now值并确实flag参数新的now为目标层或有可读取的请求停下来,等待一会相应的指示灯亮中断返回五仿真调试情况5.1测试结果显示5.2调试时出现的问题及分析l 电梯在一楼时若同时按下2、3数字键,电梯总是上到2楼不停,到3楼后才回到2楼,推测在到2楼时的判断分析程序有错。反复检查、修改无改善后,发觉原先把判断分析电梯怎么动作的程序都写在中断服务程序内,故只有电梯到了新的楼层才会得到下一步怎么走的命令,且在中断服务程序中无按键扫描,故刚好到达某一楼层时按下的键无法扫描到,电梯除初始态外,静止在其他楼层时若有按键按下未必能进行合理的分析和处理。总结以上不足后,把判断电梯该如何动作的分析调度程序改写到主程序中,各个楼层均有一个对应的分析程序,改分析程序内已包含键盘扫描程序,只要电梯未到达新的楼层就始终执行该分析程序。在分析过程中,发现要让电梯上升或下降时就开中断,在等待中断次数够20次(定时2s)的过程中仍未到达新的楼层,故期间一直在执行该分析程序。按照以上思路改进后,上述问题得到解决,故障得以排除。l 在进行程序整体联调时发现,多个按键按下时,有时能扫描到所有按下的键,有时不能,且响应了一个请求之后,即使仍有请求灯在亮着,也不再做任何响应,按键也没反应,就像“死机”了一样。推测可能按键扫描的频率不够高,或者逻辑上不全面,程序进入到一个死循环,故在程序中检查并完善了条件判断语句,几处添加按键检测,只要有键按下就进行行扫描,如此,按键几乎都能扫描到。六设计心得体会通过本次论文设计,使我加深了对单片机的认识,并且熟悉了单片机系统的设计流程,收获丰硕。功能上基本达标:时钟与闹钟的显示,调时间和闹钟功能以及闹钟鸣叫功能。时钟与闹钟显示功能,精确度完全可以满足日常生活显示时间的需要;调时间与闹钟功能,方便快捷。硬件设施基本合乎要求,软件设计可以配合硬件实现其功能。技术在不断进步,机械式时钟已经被淘汰,取而代之的是具有高度准确性和直观性且无机械装置,具有更长的使用寿命等优点的电子时钟。电子时钟更具人性化,更能提高人们的生活质量,更受人们欢迎。机械时代已经远去,电子时代已经到来。做为新时代的我们,更应该提高自身能力,适应新时代的发展。知识来自实践,多从生活中探寻所需要的。从这次的论文设计中,我真正的体会到,知识的重要性,特别是要理论联系实际,把我们所学的理论知识运用到实际生活当中,要用知识改变一切。7、 主程序#include#include#define uint unsigned int#define uchar unsigned charuchar code table=0x3f,0x06,0x5b,0x4f;sbit s0=p10;sbit s1=p11;sbit s2=p12;sbit s3=p13;sbit s4=p14;sbit s5=p15;sbit s6=p16;sbit s7=p17;uint flag=0;uint i=0;sbit a1=p20; /定义步进电机连接端口sbit b1=p21;sbit c1=p22;sbit d1=p23;sbit ashow1=p24;sbit ashow2=p25;sbit ashow3=p26;sbit ashow4=p27;#define coil_a1 a1=1;b1=1;c1=0;d1=0;/ab相通电,其他相断电#define coil_b1 a1=0;b1=1;c1=1;d1=0;/bc相通电,其他相断电#define coil_c1 a1=0;b1=0;c1=1;d1=1;/cd相通电,其他相断电#define coil_d1 a1=1;b1=0;c1=0;d1=1;/da相通电,其他相断电#define coil_off a1=0;b1=0;c1=0;d1=0;/全部断电void delay(uint z);v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025第五章国际技术合作项目风险控制合同
- 二零二五年度企业搬迁员工合同续签及福利保障协议
- 二零二五年度高效能电机进口贸易合同范本
- 2025版高标准办公楼水电暖系统安装及维护保养合同
- 2025版建筑工地安全防护设施升级与监控合同
- 二零二五年度道路桥梁工程承包商履约质量保证合同
- 二零二五年度珠宝首饰代加工及品牌贴牌生产合同
- 二零二五年观叶盆栽种苗园林景观绿化工程合同
- 2025版纸浆及纸张买卖运输合同范本
- 二零二五年度团购二手房合同范本全文
- GB/T 15700-2008聚四氟乙烯波纹补偿器
- GB/T 12234-2019石油、天然气工业用螺柱连接阀盖的钢制闸阀
- 绿色施工培训记录表
- 普通话水平测试培训(标准版)课件
- 高中数学《基于问题链的数学教学探索》课件
- 胰十二指肠切除术的手术配合
- 同创伟业投资分析报告(附358家被投企业介绍)
- 数学-四年级(上册)-人教版-《亿以上数的认识及读法》教学课件
- 政治经济学ppt课件汇总(完整版)
- 互联网保险概述课件
- 医院超声影像科应急预案演练(徒手心肺复苏、过敏性休克、停电应急)
评论
0/150
提交评论