当前位置:文档之家› 基于51单片机的模拟电梯控制系统讲解

基于51单片机的模拟电梯控制系统讲解

基于51单片机的模拟电梯控制系统讲解
基于51单片机的模拟电梯控制系统讲解

摘要

本文介绍了基于单片机的电梯控制系统,硬件部分主要由单片机最小系统模块、电梯内外电路按键模拟检测模块、电梯外请求发光管显示模块、楼层显示数码管模块、电梯上下行模块及模拟传感器模块等5部分组成。该系统采用单片机(AT89C51)作为控制核心,内外均使用按键按下与否引起的单片机相应端口电平变化的原理,作为用户请求信息发送到单片机,单片机根据判断的结果最终驱动步进电机做相应的运动,在运动的过程中,单片机依照请求信息通过模拟的传感器使步进电机停止运动,并利用彩灯作为上升和下降的状况显示,七段数码管实时显示当前楼层,完成整个请求和响应的过程。

软件部分使用汇编语言实现,利用查询方式来检测用户请求的按键信息。根据电梯运行到相应楼层时,模拟按键引起的电平变化,进行判断和执行实现电梯的控制,并且将程序模块化,方便了修改和调用。硬件设计简单可靠,结合软件,基本实现了四层电梯的模拟运行。

关键词:单片机,AT89C51,电梯控制,步进电机

目录

摘要.............................................................................. I 目录............................................................................. II 第1章绪论.. (1)

1.1电梯的研究背景及意义 (1)

1.2 电梯的国内外发展状况 (1)

第2章电梯设计任务与要求 (2)

2.1设计任务 (2)

2.2设计要求 (2)

第3章总体设计方案 (3)

3.1设计思路 (3)

3.2总体设计框图 (3)

第4章电梯控制系统 (4)

4.1电梯控制系统 (4)

4.2主要硬件设计器件介绍 (5)

4.3 软件设计 (9)

第5章个人心得体会 (12)

参考文献 (13)

致谢 (14)

附录I: (15)

附录II: (17)

第1章绪论

1.1电梯的研究背景及意义

电梯是高层宾馆、商城、住宅、多层厂房和仓库等高层建筑不可缺少的垂直方向的交通工具。随着社会的发展,建筑物规模越来越大,楼层越来越多,对电梯的可靠性、舒适感和美学等方面的要求也有了更高的要求。

电梯是集机电一体的复杂系统,涉及机械传动、电气控制和土建等工程领域,而对现代电梯而言,应具有高度的安全性。事实上,电梯上已经采用了多项安全保护措施。在设计电梯的时候,对机械零部件和电器元件都采取了很大的安全系数和保险系数。然而,只有电梯的制造,安装调试、售后服务和维修保养都达到高质量,才能全面保证电梯的最终高质量。在国外,已“法规”实行电梯制造、安装和维修一体化,实行由各制造企业认可的、法规认证的专业安装队伍维修单位,承担安装调试、定期维修和检查试验,从而为电梯运行的可靠性和安全性提供了保证。因此,可以说乘坐电梯更安全。美国一家保险公司对电梯的安全性做过认真地调查和科学计算,其结论是:乘电梯比走楼梯安全5倍。掘资料统计,在美国乘其他交通工具的人数每年约为80亿人次,而乘电梯的人数每年却有540亿人次之多。

1.2 电梯的国内外发展状况

在经济不断发展,科学技术日新月异的今天,楼的高度已和经济发展同样的速度成长起来。作为建筑的中枢神经,电梯起着不可或缺的作用,电梯作为建筑物内的主要运输工具,像其他的交通工具一样,已经成为我们日常生活的一个不可缺少的组成部分。一个国家的电梯需求总量,主要受其经济增长速度、城市化水平、人口密度及数量、国家产业结构等综合因素的影响。在全球经济持续低迷的情况下,我国国民经济仍然以较高的速度持续增长,城市化水平不断提高。这从客观上导致了我国电梯行业的空前繁荣景象,我国已经成为全球最大的电梯市场。上世纪80年代以来,随着经济建设的持续高速发展,我国电梯需求量越来越大。总趋势是上升的,目自口进入了“第三次浪潮”,2004年总产量超过了8万台,而且目前还没有减速的迹象。从1949年建国以来全国共生产安装了6l万多台电梯。尽管如此,我国的电梯远未达到饱和的程度。全世界平均1000人有l台电梯,我国如果要达到这个水准,还需要增加70万台。到那时候,全国在用电梯将达到130万台,每年仅报废更新就需要6万台。到2005年,中国电梯的年产量达到13.5万台,与1980年相比,25年增长了59倍,产量每年平均增长17.8%。2005年安装验收电梯124465台,截至05年底,我国的在用电梯总数已达651794台。如此庞大的市场需求为我国电梯行业的发展创造了广阔的舞台!

许多新技术和新产品,如无机房电梯、无齿轮曳引机、永磁同步拖动技术、远程监控技术等,国际上也是刚刚出现,我国就有许多企业可以生产了。国产电梯以其高质量,低成本的优势赢得了越来越多的国内外客户,为逐步进入国际市场创造了有利条件。

中国电梯在亚洲市场占有越来越重要的位置,每年销售量己达l万台左右,约占亚洲市场的

1/50,一些合资企业在出口创汇方面也做出了贡献。当今世界,电梯的生产情况与使用数量已经成为衡量一个国家工业现代化程度的标志之一。在一些发达的工业国家,电梯的使用相当普遍。

世界上有名的几家电梯公司,诸如:美国奥的斯公司、瑞士讯达公司、日本三菱和日立公司、芬兰科恩等,其电梯的产量已占世界市场的51%。其中,奥的斯公司和三菱公司是世界上最大的电梯生产企业。目前,国外除了以交流电梯取代直流电梯以外,在低层楼房越来越多的使用液压电梯。此外,家用小型电梯将成走电梯家族中新的组成部分,将为人们的生活带来更大的方便。

第2章 电梯设计任务与要求

2.1设计任务

设计并制作一个电梯控制模型,并可以通过程序控制步进电机,实现电梯的运行控制。

电梯模型示意图如下图所示

图2-1电梯控制模型示意图

2.2设计要求

(1)用A T89C51单片机,实现用步进电机带动电梯的4层楼电梯运行控制系统。

(2)每层楼都具有显示和请求的功能。

(3)显示电梯的运行状态并实时显示电梯所在楼层位置。

2 B C A D

3 4 F G

E H D

J

1 M

第3章总体设计方案

3.1设计思路

本次设计的总思想是,用开关作为电梯内外的请求按键,按键和单片机的口相连,按键按下为低电平,将信号传送到单片机,单片机根据各口的信号进行判断处理,处理完毕后控制步进电机运动,实现电梯的上下运动,采用传感器确定电梯所在的楼层数及电梯准确停止的位置,用七段数码管显示电梯所在楼层,用LED灯显示电梯的运行上下运行状态。

3.2总体设计框图

图3-1电梯单片机控制系统结构框图

第4章电梯控制系统

4.1电梯控制系统

电梯运行的基本过程是:由外部的呼叫信号给出呼叫,控制系统判断电梯目前所处的位置和显示当前电梯所在的楼层,并与呼叫楼层进行对照确定电梯的运行方向。若反方向,则改变方向到呼叫层,若同方向直接运行到呼叫层。整个设计由两块51单片机分别控制:图4-1是电梯控制系统的外部请求电路和内部显示电路及电机驱动的原理图,图4-2是电梯控制系统的电梯所在位置的外部显示电路和当前电梯所在楼层索定电路原理图。具体分析如下:

图4-1 电梯外部请求电路和内部显示电路及电机驱动原理图

图4-1为电梯控制系统的外部请求电路和内部显示电路及电机驱动的原理图,整个设计清晰明了,连接说明如下:

P0口:接七段数码管,显示下一目标楼层。

P1口:接步进电机。P1.0-P1.3接电机的驱动模块IN1-IN4。

P2-P3口:P2.0-P2.3接电梯内部的1-4的楼层请求按键。P2.4接四楼下的请求键,P2.5和P2.6接三楼外部的上下请求按键,P2.7、P3.0接二楼的上下请求按键,P3.1接一楼上的请求按键。

图4-2 电梯控制系统的电梯所在位置的外部显示电路和当前电梯所在楼层索定电路原理图

图4-2 电梯控制系统的电梯所在位置的外部显示电路和当前电梯所在楼层索定电路原理图,具体分析如下:

P0口接电梯所在位置显示的七段数码管。

P1.0 接指示电梯上行的显示灯,P1.1接指示电梯下行的显示灯。

P2.0-P2.4分别接索定电梯所在位置的1-4楼的电刷模拟传感器。

4.2主要硬件设计器件介绍

电梯控制系统的软件在硬件支持下运行,指挥系统进行相应的控制。软件均采用MCS—51汇编语言写成,约占内存35K左右.由于电梯控制系统实时采集数据量少,没有在系统中扩展随机RAM,只使用了8031片内RAM来安排呼叫信号的记录,判断输出状态,满足了程序调用的需要。

在整个的设计过程中,主要有两大硬件:51单片机和六线四相步进电机,51单片机作为电梯的大脑起控制作用,步进电机作为电梯的动力之源,在51单片机的控制下带动电梯运动。两者结合再加上附加电路组成了完整的电梯系统。

51单片机的主要功能和各引脚功能如下所示:

图4-3 51单片机的引脚分布图

51单片机的主要特性:

◆与MCS-51 兼容◆4K字节可编程闪烁存储器

◆全静态工作:0Hz-24Hz ◆三级程序存储器锁定

◆128*8位内部RAM ◆32可编程I/O线

◆两个16位定时器/计数器◆5个中断源

◆可编程串行通道◆低功耗的闲置和掉电模式

◆片内振荡器和时钟电路◆寿命:1000写/擦循环◆数据保留时间:10年

51单片机的管脚说明:

VCC:供电电压。

GND:接地

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在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口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH 编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

P3口管脚备选功能:

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 /INT0(外部中断0)

P3.3 /INT1(外部中断1)

P3.4 T0(记时器0外部输入)

P3.5 T1(记时器1外部输入)

P3.6 /WR(外部数据存储器写选通)

P3.7 /RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

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

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两了次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

步进电机的工作原理,特点,原理图,工作方式及时序图如下:

步进电机的工作原理:

步进电动机是纯粹的数字控制电动机,它将电脉冲信号转变成角位移,即给一个脉冲,步进电机就转一个角度,因此非常适合单片机控制。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,电机则转过一个步距角,同时步进电机只有周期性的误差而无累积误差,精度高。步进电机具有控制和机械结构简单的优点。图1是四相六线制步进电机原理图,这类步进电机既可作为四相电机使用,也可做为两相电机使用,使用灵活,因此应用广泛。

四相六线制步进电机原理图:

步进电动机特点:

①步进电动机的角位移与输入脉冲数严格成正比。因此,当它转一圈后,没有累计误差,具有良好的跟随性。

②由步进电动机与驱动电路组成的开环数控系统,既简单、廉价,叉非常可靠。同时,它也可以与角度反馈环节组成高性能的闭环数控系统。

③步进电动机的动态响应快,易于启停、正反转及变速。

④速度可在相当宽的范围内平稳调整,低速下仍能获得较大转矩,因此一般可以不用减速器而直接驱动负载。

⑤步进电机只能通过脉冲电源供电才能运行,不能直接使用交流电源和直流电源。

⑥步进电机存在振荡和失步现象,必须对控制系统和机械负载采取相应措施。

步进电机的工作方式:

步进电机有两种工作方式:整步方式和半步方式。以步进角1.8°四相混合式步进电机为例,在整步方式下,步进电机每接收一个脉冲,旋转1.8°,旋转一周,则需要2OO个脉冲。在半步方式下,步进电机每接收一个脉冲,旋转0.9°,旋转一周,则需要4OO个脉冲。控制步进电机旋转必须按一定时序对步进电机引线输入脉冲。以上述四相六线制电进电机为例,其半步工作方式和整步工作方式的控制时序如表4-1和表4-2所列。

表4-1 半步时序表

表4-2 整步时序图

4.3 软件设计

软件的设计采取了两套方案:

方案一:在程序设计的过程中用中断,以便达到时时判断的目的,在程序的设计过程中,使电梯运行判断更加智能化,程序采用模块化,上下判断采用状态标志法实现电梯的运行,因各方面的原因,方案一作废。但程序中有些模块是比较好的可以用到其他数值大小的判断上,例如:BIJIAO:;当前楼层和请求楼层比较,上升置80H的值为1,下降置70H的值为1 MOV A,60H

CJNE A,51H,S1;1

AJMP ZQD2

S1:

JC SZ1

AJMP XZ1

SZ1:

SETB 71H

CLR 81H

AJMP ZQD2

XZ1:

SETB 81H

CLR 71H

AJMP ZQD2

这段程序实现当前楼层60H中的值和请求楼层值的大小比较,若当前楼层小于请求楼层,则电梯上行,大于则下行,若同时上下都有请求则上行优先,判断完成后,继续判断其他楼层有没有请求。

方案二:整个程序应用单片机端口的高低电平实现,达到了模拟传感器的效果,在程序中无形的对各个端口的优先级进行了设置,并且电梯所在位置的判断、显示与电梯接收外部请求和判断电梯运行是独立控制的,彼此之间互不影响,使程序的设计简单化,并且提高了设计的成功率。

经过分析选取了方案二,方案二的具体介绍如下:

1初始化部分

由于本设计没有用到定时器、中断和串口输出,所以只对51单片机的各个端口进行了初始化,把各个口均置为0FFH(低电平有效),然后利用电刷模拟的传感器判断当前电梯所在的位置,调用数码管显示子程序LCALL XIANSHI显示为1(初始状态电梯在一楼),转入处理一楼子程序,进入程序执行状态。

2各楼层请求响应部分

若电梯在一楼或四楼,直接调用键盘扫描子程序KEY,判断是否有键按下,没键按下则继续扫描;如有键按下则判断是那个键按下并输出键值,转入键值识别子程序再合并电梯内外的请求,驱动电梯到达请求层。在电梯运行期间,程序仍然继续调用键盘扫描子程序KEY和电梯位置子程序DQ,以便随时响应适当的请求。若电梯在其它楼层,先判断位地址78H中的数据是0还是1,0为上升状态,1为下降状态。若为上升状态,则只响应该楼层以上的请求(同向请求),若该楼层以上没有请求则转查询下边楼层有无请求,若有则转为下降状态并响应,如果上下均无请求,则停留在该层继续循环查询等待请求;若为下降状态,则只响应该楼层以下的请求(同向请求),若该楼层以下没有请求则转查询上边楼层有无请求,若有则转为上升状态并响应,如果上下均无请求,则停留在该层继续循环查询等待请求。

3显示子程序

调用显示子程序前先给寄存器A赋值,转到响应的查表地址,将字型码送给串口寄存器KEYBUF,经过74LS164并口输出给数码管显示。

XIANSHI:

MOV A,KEYBUF

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV P0,A

RET

TAB: DB 0EEH,28H,0CDH,6DH,2BH,67H,0E7H

END

4控制电梯正转(上)和反转(下)的子程序

在单片机判断请求信号并做处理确定电机正反转的前提下,控制电机的正反转,带动电梯上下运动,完成整个控制。

步进电机正转,电梯上的子程序:

SHANG:;上

MOV P1,#0FEH

ACALL DELAY

MOV P1,#0FDH

ACALL DELAY

MOV P1,#0FBH

ACALL DELAY

MOV P1,#0F7H

ACALL DELAY

CLR P3.6;上灯

SETB P3.5;下灯

RET

步进电机反转,电梯下的子程序:

XIA:;下

MOV P1,#0F7H

ACALL DELAY

MOV P1,#0FBH

ACALL DELAY

MOV P1,#0FDH

ACALL DELAY

MOV P1,#0FEH

ACALL DELAY

CLR P3.5;上灯

SETB P3.6;下灯

RET

5程序流程图如下图所示:

程序流程图

第5章个人心得体会

随着离校日子的一天天临近,毕业设计也接近了尾声。经过几周的奋战我们的毕业设计终于完成了,但对于自己而言有自豪的地方也有很多的遗憾,更多的是学到了很多。

在学习上我看到了自己的不足,认识到了自己的定位,在没有做毕业设计以前觉得毕业设计只是对这几年来所学知识的单纯总结,但是通过这次做毕业设计发现自己的看法有点太片面。毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。通过这次毕业设计使我明白了自己原来知识还很欠缺,要学习的东西还太多,以前老是觉得自己编程不成问题,直到自己亲手实践时才知道自己对知识的欠缺有多大,眼高手低只会让自己在成功的路上摔的更重,心理上承受更大的打击。我也明白了学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质,只有自己亲身经历了,好多问题的精髓才能真正的接受,只有自己用心钻研了才会发现其中的精华和奥秘所在,并且在研究的过程中自己会获得更多的想法和思路,学习到更多意料之外的新知识,学到更多书本上学不到的知识。

通过这次设计,也让我明白了些许生活中应该拥有的精神,对待身边的任何人都不能看低对方的能力,说不定他就是带自己走向光明的贵人;不能忽略每个人的能力,在团队里每个人都有自己的作用;同学之间互帮互助,不仅加快了设计的进度,而且增进了彼此之间的友谊,也让我深深的体会到什么叫做团队合作精神,设计、情感两丰收。

此外,还得出一个结论:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。

在此要感谢我的指导老师梁老师对我悉心的指导,感谢老师给我的帮助。在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次毕业设计的最大收获和财富,使我终身受益。

参考文献

[1] 叶挺秀.应用电子学[M].杭州:浙江大学出版社,1994

[2] 朱承高.电工及电子技术手册[M].北京:高等教育出版社,1990

[3] 阎石.数字电子技术基础(第三版)[M].北京:高等教育出版社,1989

[4]李朝青.单片机原理及接口技术[M].北京:北京航空航天大学出版社,1994.11

[5]李广弟.单片机基础[M].北京:北京航空航天大学出版社,1997.7

[6]曹巧媛.单片机原理及应用[M].大连:连理工大学出版社.1996.5

[7]陈光东.单片微型计算机原理与接口技术[M].武汉:华中科技大学出版社。

[8]沈德全.mcs51系列单片机接口电路与应用程序实例[M].北京:北京航空航天大学出版社

[9]李广弟.单片机基础[M].北京航空航天出版社,2001.7

[10]然苗.51 系列单片机设计实例[M].北京航空航天出版社,2003.3

[11]唐俊翟.单片机原理与应用[M].冶金工业出版社,2003.9

[12]刘瑞新.单片机原理及应用教程[M].机械工业出版社,2003.7

[13]吴国经.单片机应用技术[M].中国电力出版社,2004.1

[14]何立民.单片机应用系统设计[M].北京航空航天出版社,1995

[15]张凯.MCS-51 单片机综合系统及其设计开发[M].科学出版社,1996

致谢

这次基于单片机的毕业设计已经结束,我们学到了很多东西,得到了极大的锻炼,资料快又准的查找和选择,不仅可以增强设计的成功性,而且提高了设计的效率,我们设计的电梯自动控制用到了51单片机,电梯的动力来源用的是四相六线步进电机,在整个设计的过程中,不管是硬件还是软件都遇到了很多的问题,让我们深刻体会到理论设想与实际结果的差距,也意识到理论与实际相结合的重要性。

这次设计的成功,首先感谢老师能在百忙之中抽出时间帮助我们,在写程序时楼层之间的判断和执行给我们造成了很大的困惑,使得在前期设计没有任何的进展,我们不懂的疑难都向老师请教,老师放下自己的工作给我们系统的分析、指导并给我们更好的方案和建议,使设计找到正确的方向,完成设计,在老师孜孜不倦的教诲和悉心的指导下,我们取得了最后的成功。其次要感谢我们的小组成员,组内成员分工明确,互帮互助,他们尽职尽责完成自己所负责的模块,完成自己的模块后协助其他组员设计,在这次设计中我们看到了团队合作的重要性,使设计变得更加的完美,让我们学到了课堂上学不到的知识。在最后要深深的说一句,老师、同学您们辛苦了!

最后,希望各位领导、老师审阅我们的论文并渴望您们给予批评指正。

附录I:

完成后的电梯结构如下图所示:

完成后的控制电梯运动的电路如下图所示:

完成后的楼层请求按键和请求楼层、上行和下行的指示部分如下图:

附录II:

接收外部请求并控制电梯运行的程序如下:

SP1 EQU P2.0;一楼停点开关

SP2 EQU P2.1;二楼停点开关

SP3 EQU P2.2;三楼停点开关

SP4 EQU P2.3;四楼停点开关

SP5 EQU P2.4;一楼开关

SP6 EQU P2.5;二楼开关

SP7 EQU P2.6;三楼开关

SP8 EQU P2.7;四楼开关

SP9 EQU P3.0;报警开关

ORG 0000H

LJMP MAIN

MAIN:;判断初始楼层

MOV P0,#76H

JNB SP1,LOOP1

JNB SP2,LOOP2

JNB SP3,LOOP31

JNB SP4,LOOP41

JNB SP9,BAOJING1

LJMP MAIN

LOOP1:;一楼

JNB SP5,LOOP5;1-1

JNB SP6,LOOP6;1-2

JNB SP7,LOOP7;1-3

JNB SP8,LOOP8;1-4

JNB SP9,BAOJING1

LJMP LOOP1

LOOP2:;二楼

JNB SP5,LOOP9;2-1

JNB SP6,LOOP10;2-2

JNB SP7,LOOP11;2-3

JNB SP8,LOOP12;2-4

JNB SP9,BAOJING1

LJMP LOOP2

LOOP5:

MOV P0,#06H

LJMP MAIN

LOOP6:

MOV P0,#5BH

LCALL SHANG

JNB SP2,MAIN

基于51单片机的温度控制系统

创作编号: GB8878185555334563BT9125XW 创作者:凤呜大王*

毕业论文设计 基于51单片机的温度控制系统

摘要 在日常生活中温度在我们身边无时不在,温度的控制和应用在各个领域都有重要的作用。很多行业中都有大量的用电加热设备,和温度控制设备,如用于报警的温度自动报警系统,热处理的加热炉,用于融化金属的坩锅电阻炉及各种不同用途的温度箱等,这些都采用单片机技术,利用单片机语言程序对它们进行控制。而单片机技术具有控制和操作使用方便、结构简单便于修改和维护、灵活性大且具有一定的智能性等特 点,可以精确的控 制技术标准,提高了温控指标,也大大的提高了产品的质量和性能。 由于单片机技术的优点突出,智能化温度控制技术正被广泛地采用。本文介绍了基于单片机AT89C51 的温度控制系统的设计方案与软硬件实现。采用温度传感器DS18B20 采集温度数据,7段数码管显示温度数据,按键设置温度上下限,当温度低于设定的下限时,点亮绿色发光二极管,当温度高于设定的上限时,点亮红色发光二极管。给出了系统总体框架、程序流程图和Protel 原理图,并在硬件平台上实现了所设计功能。 关键词:单片机温度控制系统温度传感器

Abstract In daily life, the temperature in our side the ever-present, the control of the temperature and the application in various fields all have important role. Many industry there are a large number of electric heating equipment, and the temperature control equipment, such as used for alarm automatic temperature alarm systems, heat treatment furnace, used to melt metal crucible resistance furnace, and all kinds of different USES of temperature box and so on, these using single chip microcomputer, using single chip computer language program to control them. And single-chip microcomputer technology has control and convenient in operation, easy to modify and maintenance of simple structure, flexibility is large and has some of the intelligence and other characteristics, we can accurately control technology standard to improve the temperature control index, also greatly improve the quality of the products and performance. Because of the advantages of the single chip microcomputer intelligent temperature control technology outstanding, is being widely adopted. This paper introduces the temperature control based on single chip microcomputer AT89C51 design scheme of the system and the hardware and software implementation. The temperature sensor DS18B20 collection temperature data, 7 period of digital pipe display, the upper and lower limits of temperature button when temperature below the setting of the lower limit, light green leds, when the temperature is higher than the set on the limit, light red leds. Given the system framework and program flow chart and principle chart, and in Protel hardware platform to realize the function of the design. Keywords:SCM Temperature control system Temperature sensors

基于51单片机的模拟打地鼠游戏设计

. 《现代通信技术》课程设计基于51单片机的模拟打地鼠游戏设计 院系:工学院 专业班级:通信工程10秋2班 姓名:钟丽薇 学号:10032202 小组成员:陆韵 指导教师:徐振、赵兰 完成日期2013年10月

目录 1 设计任务 (1) 1.1设计题目及材料 (1) 1.2设计要求 (1) 1.3设计进度安排 (2) 2 总体方案 (3) 2.1硬件设计 (3) 2.1.1 主控芯片 (3) 2.1.2 数码管模块 (4) 2.1.3 LED模块 (5) 2.1.4 独立按键模块 (5) 2.2软件设计 (6) 3 功能调试 (7) 3.1调试过程 (7) 3.2调试中遇到的问题 (7) 4 设计总结 (8) 5 致谢 (9)

1 设计任务 通过本次课程设计,运用已学的课程知识,自主设定题目及要求,进行软硬件系统的设计和调试,对《现代通信技术》课程中涉及的芯片结构、控制原理、硬件和编程等方面有一定的感性认识和实践操作能力,从而加深对本课程知识点的理解,使应用知识能力、设计能力、调试能力以及报告撰写能力等方面有显著提高。 1.1 设计题目及材料 我们的课程设计选题定为《基于51单片机的模拟打地鼠游戏设计》。 将所掌握的的元器件组合在一起,设计出具有可玩性的实用小制作,不仅巩固了已学习的知识,更能拓展自己的思维能力。 所用到的材料: 表1.1 材料列表 STC89C52单片机开发板1块 4位8段数码管(共阳)1个 LED灯5个 轻触按键5个 100Ω电阻5个 0.5kΩ电阻4个 9013三极管4个 杜邦线若干 1.2 设计要求 要求作品完成后,可以实现简易打地鼠游戏的功能。 具体如下:接通电源后,游戏开始,数码管显示“0”,同时随意点亮一个LED,在2秒时间内按下对应的按键,则数码管示数加一,游戏继续;

基于51单片机系统设计

基于51单片机的多路温度采集控制系统设计 言: 随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。 本次设计的目的在于学习基于51单片机的多路温度采集控制系统设计的基本流程。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发送到LED进行显示。本系统可以实现多路温度信号采集与显示,可以使用按键来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和继电器的目的。 我所采用的控制芯片为AT89c51,此芯片功能较为强大,能够满足设计要求。通过对电路的设计,对芯片的外围扩展,来达到对某一车间温度的控制和调节功能。 关键词:温度多路温度采集驱动电路 正文: 1、温度控制器电路设计 本电路由89C51单片机温度传感器、模数转换器ADC0809、窜入并出移位寄存器74LS164、数码管、和LED显示电路等组成。由热敏电阻温度传感器测量环境温度,将其电压值送入ADC0809的IN0通道进行模数转换,转换所得的数字量由数据端D7-D0输出到89C51的P0口,经软件处理后将测量的温度值经单片机的RXD端窜行输出到74LS164,经74LS164 窜并转换后,输出到数码管的7个显示段,用数字形式显示出当前的温度值。89C51的P2.0、P2.1、P2.2分别接入ADC0809通道地址选择端A、B、C,因此ADC0809的IN0通道的地址为F0FFH。输出驱动控制信号由p1.0输出,4个LED为状态指示,其中,LED1为输出驱动指示,LED2为温度正常指示,LED3为高于上限温度指示,LED4为低于下限温度指示。当温度高于上限温度值时,有p1.0输出驱动信号,驱动外设电路工作,同时LED1亮、LED2灭、LED3亮、LED4灭。外设电路工作后,温度下降,当温度降到正常温度后,LED1亮、LED2亮、LED3灭、LED4灭。温度继续下降,当温度降到下限温度值时,p1.0信号停止输出,外设电路停止工作,同时LED1灭、LED2灭、LED3灭、LED4亮。当外设电路停止工作后,温度开始上升,接着进行下一工作周期。 2、温度控制器程序设计 本软件系统有1个主程序,6个子程序组成。6个子程序为定时/计数器0中断服务程序、温度采集及模数转换子程序ADCON、温度计算子程序CALCU、驱动控制子程序DRVCON、十进制转换子程序METRICCON 及数码管显示子程序DISP。 (1)主程序 主程序进行系统初始化操作,主要是进行定时/计数器的初始化。 (2)定时/计数器0中断服务程序 应用定时计数器0中断的目的是进行定时采样,消除数码管温度显示的闪烁现象,用户可以根据实际环境温度变化率进行采样时间调整。每当定时时间到,调用温度采集机模数转换子程序ADCON,得到一个温度样本,并将其转换为数字量,传送给89C51单片机,然后在调用温度计算子程序CALCU,驱动控制子程序DRVCON,十进制转换子程序MERTRICCON,温度数码显示子程序DISP。

51单片机模拟PWM输出占空比可调

#include #define UINT unsigned int #define UCHAR unsigned char sbit pwm=P1^0; //pwm输出口 sbit plus=P3^6;//按键调节增加输出脉宽 sbit reduce=P3^7;//按键调节减小输出脉宽 sbit duan=P2^6;// 数码管的段选 sbit wei=P2^7; //数码管的位选 UCHAR code SEG[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f }; UINT i; char j,k=5; void timer_init() //定时器0,8位自动重装 { TMOD=0x02; TH0=56; TL0=56; IE=0x82; TR0=1; } void delayms(UINT x) //延时 { UINT i,j; for(i=x;i>0;i--) for(j=110;j>0;j--); } void show(int a) //数码管显示 { int shi,ge; shi=a/10; ge=a%10; duan=1; P0=SEG[shi]; duan=0;

P0=0xff; wei=1; P0=0xfe; wei=0; delayms(3); duan=1; P0=SEG[ge]; duan=0; P0=0xff; wei=1; P0=0xfd; wei=0; delayms(3); } void timer0() interrupt 1 //定时器中断{ i++; if(i==5000) { i=0; j++; j=j%10; } if(j

基于51单片机的智能家居控制系统方案

基于51单片机的智能家居控制系统 目录

作品简介 (3) 智能家居服务背景 (4) 技术与工艺创新 (4) 可行性分析 (5) 行业背景 (8) 竞争优势 (9) 市场前景 (10) 投资分析 (12) 参考文献 (14) 基于51单片机的智能家居控制系统

作品简介 21世纪是信息化的世纪,各种电信运营商和互联网新技术推动了社会文明的巨大进步。本文介绍的智能化家居控制系统的出现使得人们可以通过手机在任何时候、任意地点对家中的任意电器(空调、电视等)进行远程控制;也可以在下班途中,预先将家中的空调打开调节室温度,这一切的实现都仅仅是发一条简单的短信。此外,该系统还可使家庭具有多途径报警、远程监控等多种功能,如果不幸出现某种险情,您和110可以在第一时间获得通知以便进一步采取行动。舒适、时尚的家居生活是社会进步的标志,智能家居控制系统能够在不改变家中任何家电的情况下,对家里的电器、灯光、电源、家庭环境进行方便地控制,使人们尽享高科技带来的简便而时尚的现代生活。 实现智能化离不开运算和控制单元,本系统采用STC89C52RC作为主控器件,单片机应用系统由硬件和软件组成。硬件由单片机扩展的输入/出设备以及各种实现单片机系统控制要求的接口电路和有关的外围电路芯片或部件组成;而且外置红外控制遥控,可以不改变家居摆设情况下随意控制带红外控制功能的家电,如(空调、电视等)。软件由单片机应用系统实现其特定控制功能的各种工作程序和管理程序组成。本设计的STC89C52RC与各个芯片和模块的接口、各项标准都严格遵循国家有关标准,为以后的产品化提供了良好的基础。 本系统的远程控制是基于全球移动通信系统(GSM)通信方式,程控交换信令作为系统控制命令,采用Siemens TC35 GSM模块实现,单片机通过Siemens TC35 GSM模块识别接收来自手机的控制信号,用户可以根据设定的指令远程控制;各种传感器的检测是利用数据采集系统将多路被测量值转换成数字量,再经过单片机进行数据处理,实现实时测控;短消息发送部分采用基于SIEMENS TC35 GSM模块和TI公司的电平转换芯片MAX3238等器件构成的移动终端的硬件电路可以完成短消息收发等功能。 一、智能家居的服务背景

51单片机中断系统编程

51单片机中断系统编程 51单片机中断系统编程 上传的图片 抱歉,您所在的组无权下载附件,请注册或登陆中断是指如下过程(如下图所示):CPU 与外设同时工作,CPU执行主程序,外设做准备工作。当外设准备好时向CPU发中断请求信 号,若条件满足,则CPU终止主程序的执行,转去执行中断服务程序。在中断服务程序中 CPU与外设交换信息,待中断服务程序执行完后,CPU再返回刚才终止的主程序继续执行。 5.3.1 中断系统 MCS-51单片机提供了5个固定的可屏蔽中断源,3个在片内,2个在片外,它们在程序存储 器中各有固定的中断入口地址,由此进入中断服务程序。5个中断源的符号、名称及产生 的条件如下。 ? INT0:外部中断0,由P3.2端口线引入,低电平或下跳沿引起。 ? INT1:外部中断1,由P3.3端口线引入,低电平或下跳沿引起。 ? T0:定时器/计数器0中断,由T0计数溢出引起。 ? T1:定时器/计数器l中断,由T1计数溢出引起。 ? TI/RI:串行I/O中断,串行端口完成一帧字符发送/接收后引起。 中断源有两级中断优先级,可形成中断嵌套。两个特殊功能寄存器用于中断控制和条件设 置。整个中断系统的结构框图如图所示。 上传的图片 抱歉,您所在的组无权下载附件,请注册或登陆 中断系统结构框图 2 中断系统的控制寄存器 中断系统有两个控制寄存器(IE和IP),它们分别用来设定各个中断源的打开/关闭和中

断优先级。此外,在TCON中另有4位用于选择引起外部中断的条件并作为标志位。 (1)中断允许寄存器IE IE在特殊功能寄存器中,字节地址为A8H,位地址(由低位到高位)分别是A8H-AFH。IE 用 来打开或关断各中断源的中断请求,基本格式如下: 上传的图片 抱歉,您所在的组无权下载附件,请注册或登陆 ? EA:全局中断允许位。EA=0,禁止一切中断;EA=1,打开全局中断控制,此时,由各 个中断控制位确定相应中断的打开或关闭。 ? ×:无效位。 ? ES:串行I/O中断允许位。ES=1,允许串行I/O中断;ES=0,禁止串行I/O中断。 ? ETl;定时器/计数器T1中断允许位。ETl=1,允许T1中断;ETl=0,禁止T1中断。 ? EXl:外部中断l中断允许位。EXl=1,允许外部中断1中断;EXl=0,禁止外部中断1中 断。 ? ET0:定时器/计数器T0中断允许位。ET0=1,允许T0中断;ET0=0,禁止TO中断。 ? EX0:外部中断0中断允许位。EX0=1,允许外部中断0中断;EX0=0,禁止外部中断0中 断。 (2)中断优先级寄存器IP IP在特殊功能寄存器中,字节地址为B8H,位地址(由低位到高位)分别是B8H一BFH。 MCS-51单片机的中断分为两个优先级,IP用来设定各个中断源属于两级中断中的哪一级, 其基本格式如下: 上传的图片

基于51单片机的模拟电梯控制系统

目录 摘要............................................................................. II 目录.............................................................................. I 第1章绪论.. (1) 1.1电梯的研究背景及意义 (1) 1.2 电梯的国内外发展状况 (1) 第2章电梯设计任务与要求 (2) 2.1设计任务 (2) 2.2设计要求 (2) 第3章总体设计方案 (3) 3.1设计思路 (3) 3.2总体设计框图 (3) 第4章电梯控制系统 (4) 4.1电梯控制系统 (4) 4.2主要硬件设计器件介绍 (5) 4.3 软件设计 (9) 第5章个人心得体会 (12) 参考文献 (13) 致谢 (14) 附录I: (15) 附录II: (17)

摘要 本文介绍了基于单片机的电梯控制系统,硬件部分主要由单片机最小系统模块、电梯内外电路按键模拟检测模块、电梯外请求发光管显示模块、楼层显示数码管模块、电梯上下行模块及模拟传感器模块等5部分组成。该系统采用单片机(AT89C51)作为控制核心,内外均使用按键按下与否引起的单片机相应端口电平变化的原理,作为用户请求信息发送到单片机,单片机根据判断的结果最终驱动步进电机做相应的运动,在运动的过程中,单片机依照请求信息通过模拟的传感器使步进电机停止运动,并利用彩灯作为上升和下降的状况显示,七段数码管实时显示当前楼层,完成整个请求和响应的过程。 软件部分使用汇编语言实现,利用查询方式来检测用户请求的按键信息。根据电梯运行到相应楼层时,模拟按键引起的电平变化,进行判断和执行实现电梯的控制,并且将程序模块化,方便了修改和调用。硬件设计简单可靠,结合软件,基本实现了四层电梯的模拟运行。 关键词:单片机,AT89C51,电梯控制,步进电机

(完整word版)基于51单片机的温度控制系统设计

基于51单片机的水温自动控制系统 0 引言 在现代的各种工业生产中 ,很多地方都需要用到温度控制系统。而智能化的控制系统成为一种发展的趋势。本文所阐述的就是一种基于89C51单片机的温度控制系统。本温控系统可应用于温度范围30℃到96℃。 1 设计任务、要求和技术指标 1.1任务 设计并制作一水温自动控制系统,可以在一定范围(30℃到96℃)内自动调节温度,使水温保持在一定的范围(30℃到96℃)内。 1.2要求 (1)利用模拟温度传感器检测温度,要求检测电路尽可能简单。 (2)当液位低于某一值时,停止加热。 (3)用AD转换器把采集到的模拟温度值送入单片机。 (4)无竞争-冒险,无抖动。 1.3技术指标 (1)温度显示误差不超过1℃。 (2)温度显示范围为0℃—99℃。 (3)程序部分用PID算法实现温度自动控制。 (4)检测信号为电压信号。 2 方案分析与论证 2.1主控系统分析与论证 根据设计要求和所学的专业知识,采用AT89C51为本系统的核心控制器件。AT89C51是一种带4K字节闪存可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器。其引脚图如图1所示。 2.2显示系统分析与论证 显示模块主要用于显示时间,由于显示范围为0~99℃,因此可采用两个共阴的数码管作为显示元件。在显示驱动电路中拟订了两种设计方案: 方案一:采用静态显示的方案 采用三片移位寄存器74LS164作为显示电路,其优点在于占用主控系统的I/O口少,编程简单且静态显示的内容无闪烁,但电路消耗的电流较大。 方案二:采用动态显示的方案 由单片机的I/O口直接带数码管实现动态显示,占用资源少,动态控制节省了驱动芯片的成本,节省了电 ,但编程比较复杂,亮度不如静态的好。 由于对电路的功耗要求不大,因此就在尽量节省I/O口线的前提下选用方案一的静态显示。

51单片机模拟spi串行接口程序

51单片机模拟spi串行接口程序 51单片机模拟spi串行接口程序,在keilc51下编写 sbit CS=P3^5; sbit CLK= P1^5; sbit DataI=P1^7; sbit DataO=P1^6; #define SD_Disable() CS=1 //片选关 #define SD_Enable() CS=0 //片选开 unsigned char SPI_TransferByte(unsigned char val) { unsigned char BitCounter; for(BitCounter=8; BiCounter!=0; BitCounter--) { CLK=0; DataI=0; // write if(val&0x80) DataI=1; val<<=1; CLK=1; if(DataO)val|=1; // read } CLK=0; return val; }sbit CLK= P1^5; sbit DataI=P1^7;

sbit DataO=P1^6; #define SD_Disable() CS=1 //片选关 #define SD_Enable() CS=0 //片选开 unsigned char SPI_TransferByte(unsigned char val) { unsigned char BitCounter; for(BitCounter=8; BiCounter!=0; BitCounter--) { CLK=0; DataI=0; // write if(val&0x80) DataI=1; val<<=1; CLK=1; if(DataO)val|=1; // read } CLK=0; return val; } sbit CLK= P1^5; sbit DataI=P1^7; sbit DataO=P1^6; #define SD_Disable() CS=1 //片选关 #define SD_Enable() CS=0 //片选开

51单片机中断系统程序实例

51单片机中断系统程序实例(STC89C52RC) 51单片机有了中断,在程序设计中就可以做到,在做某件事的过程中,停下来先去响应中断,做别的事情,做好别的事情再继续原来的事情。中断优先级是可以给要做的事情排序。 单片机的学习不难,只要掌握学习方法,学起来并不难。什么是好的学习方法呢,一定要掌握二个要点: 1. 要知道寄存器的英文全拼,比如IE = interrupt中断 不知道全拼,要去猜,去查。这样就可以理解为什么是这个名称,理解了以后就不用记忆了。 2. 每个知识点要有形像的出处 比如看到TF0,脑子里马上要形像地定位到TCON寄存器的某位 看到ET0, 马上要形像地定位到IE寄存器的第2位 https://www.doczj.com/doc/317726236.html,/tuenhai/独家揭秘:形像是记忆的最大技巧。当人眼看到某个图时,是把视觉信号转化成电信号,再转化成人能理解的形像。当我们回忆形像时,就是在重新检索原先那个视觉信号,并放大。在学习过程中,不断练习检索、放大信号,我们的学习能力就会越来越强。 写程序代码时,也要把尽量把每行代码形像化。 51单片机内中断源 8051有五个中断源,有两个优先级。与中断系统有关的特殊功能寄存器有IE(中断允许寄存器)、IP(中断优先级控制寄存器)、中断源控制寄存器(如TCON、SCON的有关位)。51单片机的中断系统结构如下图(注意,IF0应为TF0):

8052有6个中断源,它比8051多一个定时器/计数器T2中断源。 8051五个中断源分别是: (1)51单片机外部中断源 8051有两个外部中断源,分别是INT0和INT1,分别从P3.2和P3.3两个引脚引入中断请求信号,两个中断源的中断触发允许由TCON的低4位控制,TCON的高4位控制运行和溢出标志。 INT0也就是Interrupt 0。在这里应该看一下你的51单片机开发板的电路原理图。离开形像的记忆是没有意义的。读到上面这句,你应该回忆起原理图上的连接。任何记忆都转化为形像,这是学习的根本原理,我们通过学习单片机要学会这种学习方法,会让你一辈子受益无穷。 TCON的结构如下图: (a)定时器T0的运行控制位TR0

基于51单片机的交通灯控制系统设计

目录 一引言 (2) 二概要设计 (2) 2.1 设计思路 (2) 2.2总体设计框图 (2) 三硬件设计 (3) 3.1LED循环电路设计 (3) 3.1.1 89cs51单片机概述 (3) 3.1.2 LED循环说明 (5) 3.2 倒计时显示电路 (5) 3.2.1 74LS164芯片 (5) 3.2.2 共阴极数码显示管 (6) 3.2.3 倒计时电路 (6) 3.2.4 急通车电路 (7) 四软件按设计 (7) 4.1 程序流程图: (7) 4.2 LED红绿灯显示 (8) 4.3倒计时显示 (9) 4.4 急通车控制 (9) 4.5程序代码 (9) 五总结 (9) 参考文献 (9) 附录一: (9) 附录二: (10)

基于51单片机的交通灯控制系统设计 摘要:在日常生活中,交通信号灯的使用,市交通得以有效管理,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。交通灯控制系统由80C51单片机、键盘、LED 显示、交通灯延时组成。系统除具有基本交通灯功能外,还具有时间设置、LED信息显示功能,市交通实现有效控制。 关键词:交通灯,单片机,自动控制 一引言 当今,红绿灯安装在个个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这个技术在19世纪就已经出现了。 1858年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械般手势信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的会议大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转方式玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,是警察受伤,遂被取消! 电气启动的红绿灯出现在美国,这种红绿灯由红黄绿三色圆形的投光器组成,1914年始装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。 信号灯的出现,使得交通得以有效的管理,对于疏导交通流量、提高道路通行能力、减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯时通行信号灯,面对绿灯的车辆可以直行,左转弯和右转弯,除非两一种标志禁止某一种转向。左右转弯车辆必需让合法的正在路口内行驶的车辆和过人行横线的行人优先通行。红灯是禁行信号灯,面对红灯的车辆必需在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已经十分接近停车线而不能安全停车的可以进入交叉路口! 二概要设计 2.1 设计思路 利用单片机实现交通灯的控制,该任务分以下几个方面: a 实现红、绿、黄灯的循环控制。要实现此功能需要表示三种不同颜色的LED灯分别接在P1个管脚,用软件实现。 b 用数码管显示倒计时。可以利用动态显示或静态显示,串行并出或者并行并出实现。 C 实现急通车。这需要人工实现,编程时利用到中断才能带到目的,只要有按钮按下,那么四个方向全部显示红灯,禁止以诶车辆通行。当情况解除,让时间回到只能隔断处继续进行。 2.2总体设计框图 见图一:

AT89C51单片机温度控制系统

毕业设计(论文) 论文题目:AT89C51单片机温度控制系统 所属系部:电子工程系 指导老师:职称: 学生姓名:班级、学号: 专业:应用电子技术 2012 年05 月15 日

毕业设计(论文)任务书 题目:AT89C51单片机温度控制系统 任务与要求:设计并制作一个能够控制1KW电炉的温度控制系统,控制温度恒定在37--38度之间。 时间:年月日至年月日 所属系部:电子工程系 学生姓名:学号: 专业:应用电子技术 指导单位或教研室:测控技术教研室 指导教师:职称: 年月日

摘要 本设计是以一个1KW电炉为控制对象,以AT89C51为控制系统核心,通过单片机系统设计实现对保电炉温度的显示和控制功能。本温度控制系统是一个闭环反馈调节系统,由温度传感器DS18B20对保炉内温度进行检测,经过调理电路得到合适的电压信号。经A/D转换芯片得到相应的温度值,将所得的温度值与设定温度值相比较得到偏差。通过对偏差信号的处理获得控制信号,去调节加热器的通断,从而实现对保温箱温度的显示和控制。本文主要介绍了电炉温度控制系统的工作原理和设计方法,论文主要由三部分构成。①系统整体方案设计。②硬件设计,主要包括温度检测电路、A/D转换电路、显示电路、键盘设计和控制电路。③系统软件设计,软件的设计采用模块化设计,主要包括A/D转换模块、显示模块等。 关键词:单片机传感器温度控制

目录 绪论 (1) 第一章温度控制系统设计和思路 (2) 1.1温度控制系统设计思路 (2) 1.2 系统框图 (2) 第二章 AT89C51单片机 (3) 2.1 AT89C51单片机的简介 (3) 2.2 AT89C51单片机的主要特性 (3) 2.3 AT89C51单片机管脚说明 (4) 第三章温度控制的硬件设备 (6) 3.1温度传感器简介 (6) 3.2 DS18B20工作原理 (7) 3.3 DS18B20使用中注意事项 (8) 第四章系统硬件设计 (9) 4.1温度采集电路 (9) 4.2 数码管温度显示电路 (9) 4.2.1 数码管的分类 (9) 4.2.2 数码管的驱动方式 (10) 4.2.3 恒流驱动与非恒流驱动对数码管的影响 (11) 4.3 单片机接口电路 (12) 4.3.1 P0口的上拉电阻原理 (12) 4.3.2 上拉电阻的选择 (14) 4.4 单片机电源及下载线电路 (14) 4.5 温度控制电路 (15) 第五章温度控制的软件设计 (17) 5.1 数码管动态显示 (17) 5.2 DS18B20初始化 (17) 5.3 系统流程图 (19) 谢辞 (20) 参考文献 (21) 附录 (22)

基于51单片机模拟射击类游戏

基于51单片机模拟射击类游戏 大学王凯 (抄袭必纠) 摘要 电子游戏机,又俗称电玩,电动,不同于电脑。自从问世以来,在全球围吸引了无数人的热潮,在每个国家都能找到众多的游戏发烧友,它无疑是当今社会上炙手可热的产品,基于这个广大的应用前景,本文着手研究电子模拟射击训练游戏。 本文主要通过使用51单片机来模拟简单的射击游戏。在像素为160*128的LCD显示屏上显示模拟的手枪,并且可以用按键控制手枪的上下移动以及射出子弹,判断子弹是否击中移动的目标,最后统计得分显示结果。当目标被击中时,蜂鸣器就会发出声音,并且设置有重新开始按键,即得分清零,子弹恢复初始值。本设计通过K1、K2、K3、K4四个按键对游戏进行控制,分别为“向上”键,“向下”键,“发射”键,“子弹复位”键。通过控制上下键使射击器与射击目标保持同一水平线上,然后开始射击,此时蜂鸣器发出发射音效,如射中即可获得一分得分,否则得分不变。当子弹弹数为0时,按“子弹复位”键使游戏中的子弹数目恢复,就重新开始新的游戏。本课题是基于单片机应用技术和LCD液晶显示屏的广泛应用而提出的,本课题所做的设计是以AT89S52单片机结合JM160128A显示器,通过proteus画图软件和keil的C语言编程软件,达到实现模拟射击游戏的目的。 通过将AT89S52单片机与JM160128A LCD结合应用,在仿真软件和硬件上都能很好地模拟常见的简单射击游戏,实现预期目标。在游戏运行过程中,能够通过上下键移动枪支,射击目标,并能够实现上弹复位的目的。这对于更深层次的单片机开发应用有着重要的意义。 关键词:AT89S52单片机,LCD液晶显示屏,C语言,射击游戏 Abstract Electronic games, also known as electric toys (video games, electric), separated from the home computer. Since the advent of a sensation around the world, we can find a group of ingenious enthusiasts on every foot in the Earth's. It is

基于51单片机的温度控制系统的设计

基于单片机的温度控制系统设计 1.设计要求 要求设计一个温度测量系统,在超过限制值的时候能进行声光报警。具体设计要求如下: ①数码管或液晶显示屏显示室内当前的温度; ②在不超过最高温度的情况下,能够通过按键设置想要的温度并显示;设有四个按键,分别是设置键、加1键、减1键和启动/复位键; ③DS18B20温度采集; ④超过设置值的±5℃时发出超限报警,采用声光报警,上限报警用红灯指示,下限报警用黄灯指示,正常用绿灯指示。 2.方案论证 根据设计要求,本次设计是基于单片机的课程设计,由于实现功能比较简单,我们学习中接触到的51系列单片机完全可以实现上述功能,因此可以选用AT89C51单片机。温度采集直接可以用设计要求中所要求的DS18B20。报警和指示模块中,可以选用3种不同颜色的LED灯作为指示灯,报警鸣笛采用蜂鸣器。显示模块有两种方案可供选择。 方案一:使用LED数码管显示采集温度和设定温度; 方案二:使用LCD液晶显示屏来显示采集温度和设定温度。 LED数码管结构简单,使用方便,但在使用时,若用动态显示则需要不断更改位选和段选信号,且显示时数码管不断闪动,使人眼容易疲劳;若采用静态显示则又需要更多硬件支持。LCD显示屏可识别性较好,背光亮度可调,而且比LED 数码管显示更多字符,但是编程要求比LED数码管要高。综合考虑之后,我选用了LCD显示屏作为温度显示器件,由于显示字符多,在进行上下限警戒值设定时同样可以采集并显示当前温度,可以直观的看到实际温度与警戒温度的对比。LCD 显示模块可以选用RT1602C。

3.硬件设计 根据设计要求,硬件系统主要包含6个部分,即单片机时钟电路、复位电路、键盘接口模块、温度采集模块、LCD 显示模块、报警与指示模块。其相互联系如下图1所示: 图1 硬件电路设计框图 单片机时钟电路 形成单片机时钟信号的方式有内部时钟方式和外部时钟方式。本次设计采用内部时钟方式,如图2所示。 单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别为此放大器的输入端和输出端,其频率范围为~12MHz ,经由片外晶体振荡器或陶瓷振荡器与两个匹配电容一 起形成了一个自激振荡电路,为单片机提供时钟源。 复位电路 复位是单片机的初始化操作,其作用是使CPU 和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作,以防止电源系统不稳定造成CPU 工作不正常。在系统中,有时会出现工作不正常的情况,为了从异常状态中恢复,同时也为了系统调试方便,需要设计一个复位电路。 单片机的复位电路有上电复位和按键复位两种形式,因为本次设计要求需要有启动/复位键,因此本次设计采用按键复位,如图3。复位电路主要完成系统 图2 单片机内部时钟方式电路 图3 单片机按键复位电路

51单片机IO口模拟串口通讯C源程序

51单片机IO口模拟串口通讯C源程序 #include sbit BT_SND =P1^0; sbit BT_REC =P1^1; /********************************************** IO 口模拟232通讯程序 使用两种方式的C程序占用定时器0 **********************************************/ #define MODE_QUICK #define F_TM F0 #define TIMER0_ENABLE TL0=TH0; TR0=1; #define TIMER0_DISABLE TR0=0; sbit ACC0= ACC^0; sbit ACC1= ACC^1; sbit ACC2= ACC^2; sbit ACC3= ACC^3; sbit ACC4= ACC^4; sbit ACC5= ACC^5; sbit ACC6= ACC^6; sbit ACC7= ACC^7; void IntTimer0() interrupt 1 { F_TM=1; } //发送一个字符 void PSendChar(unsigned char inch) { #ifdef MODE_QUICK ACC=inch; F_TM=0; BT_SND=0; //start bit TIMER0_ENABLE; //启动 while(!F_TM); BT_SND=ACC0; //先送出低位

F_TM=0; while(!F_TM); BT_SND=ACC1; F_TM=0; while(!F_TM); BT_SND=ACC2; F_TM=0; while(!F_TM); BT_SND=ACC3; F_TM=0; while(!F_TM); BT_SND=ACC4; F_TM=0; while(!F_TM); BT_SND=ACC5; F_TM=0; while(!F_TM); BT_SND=ACC6; F_TM=0; while(!F_TM); BT_SND=ACC7; F_TM=0; while(!F_TM); BT_SND=1; F_TM=0; while(!F_TM); TIMER0_DISABLE; //停止timer #else unsigned char ii; ii=0; F_TM=0; BT_SND=0; //start bit

完整版单片机控制系统的设计

学号 07437230 常州大学 硬件实习报告 题目:步进电机单片机控制系统的设计 学生: 学院(系):专业班级: 指导教师: 通信(怀)081单片机原理与应用实习任务书 一、设计题目 步进电机单片机控制系统的设计 二、设计背景 步进电机是工业过程控制及仪表中的主要控制元件之一。它可以在机械结构中把丝杆的角度变成直线位移,也可以用它带动螺旋电位

通信工程系指导教师:孙守昌1、前言 1.1课题的背景、目的和意义 1.1.1课题设计的背景:

步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。您可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机也是工业过程控制及仪表中的主要控制元件之一。它可以在机械结构中把丝杆的角度变成直线位移,也可以用它带动螺旋电位器,调节电压和电流,从而实现对执行机构的控制。在数字控制系统中,由于它可以直接接收计算机输出的数字信号,而不需要进行D/A转换,所以使用起来十分方便。步进电机具有快速的启停能力和精度高的显著特点,在定位场合得到了广泛应用。 1.1.2 课题设计的目的: (1)了解步进电机的结构和工作原理。 (2)掌握步进电机控制系统的设计方法及其调试技术。 (3)能够使用电路仿真软件进行电路调试。步进电机驱动控制系统设计内容 1.1.3 课题设计的意义: 随着工业自动化的发展,步进电机的应用越来越广泛。步进电机是用脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的微电动机,它最突出的优点是可以在宽阔的频率来实现调速,快速起停,正转反转控制及制动等,并且用其组成的开环系统既简单,廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装备等多领域有着极其广泛的应用。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,研制步进电机驱动器具有十分重要的意义。 1.1.4课题的现状与发展趋势 步进电动机又称脉冲电动机或阶跃电动机,国外一般称为Stepping moter,pulse motor或Stepper servo,其应用发展已有80年的历史。正是由于步进电机具有突出的优点,所以成了机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展。步进电机的需求量与日俱增,在各个国民经济领域都有应用。比如在数控系统中就得到了广泛应用。目前世界各国都在大力发展数控技术,我国的数控系统也取得了很大发展,我国已经能够自行研制开发适合我国数控机床发展需要的各种档次的数控系统。

51单片机模拟PWM

51单片机模拟PWM 吴水林的学习笔记 怎样用单片机模拟PWM 版本:v2 在讲解PWM 之前,让我们来了解几个和PWM 相关的词汇。 1. 频率: 频率f 是周期T 的倒数,即f =1/T。而像中国使用的电是一种正弦交流电,其频 率是50Hz,也就是它一秒钟内做了50 次周期性变化。 2. 周期(period): 事物在运动、变化的发展过程中,某些特征多次重复出现,其接续两次出现所经过的时间。通常用T 表示。频率(f)的倒数。即T = 1 / f.物体完成一个完整的振动所需要的 时间,以T0 表示。单位一般是用“秒”来表示,也常用毫秒(ms)或微秒(us)做 单位。1s=1000ms,1s=1000000us。例如一个单摆,它的周期就是重锤从左运动到 右,再从右运动回左边起点所需要的时间。 3. 占空比(Duty Cycle): 在一串理想的脉冲序列中(如方波),正脉冲的持续时间与脉冲总周期的比值。 例如:脉冲宽度1μs,信号周期4μs 的脉冲序列占空比为0.25。 知道了以上的一些基本知识。那我们怎样确定最占空比呢?最小占空比!在此我们为了 叙述的方便,就把最小占空比宽度定为频率周期的1%. // 如125Hz 方波的周期时间: 1s=1000ms, T = 1000ms/125 = 8ms = 8000us // 最小占空比宽度就是8000us 乘以1%,就是80us. 首先我们就对相关数据进行定义: #define PWM_PERIOD 100 // 100%占空比时标数 sbit PwmOut = P1^0; // 占空比输出I\0 unsigned char PwmPeriodCont; // PWM 占空比计数器 struct Pwm { // PwmPeriod=PwmH+PwmL // DutyCycle(100%)=PwmH/PwmPeriod*100% //unsigned PwmPeriod; unsigned char PwmH; unsigned char PwmL; // 此变量无作为,只是为了便于理解 }; struct Pwm A; 吴水林的学习笔记 下面,我们就用单片机的一个定时器,以最小占空比(80uS)作为标准时标进行中断。那我们就用51 的定时器1 作为1%占空比的时标,计算如下: 在51 单片机中。我们可以作如下处理: /*------------------------------------------------------------------------------------------------*- * 函数名称: Pwm_init () * 函数功能: 设定1%占空比时标。

相关主题
文本预览
相关文档 最新文档