1、I基于单片机的智能开关设计摘 要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。本设计主要研究智能开关给家居带来便利。主要以单片机 AT89C52 为控制核心控制作息时间及空调温度监控报警,结合相关的元器件,如 DS18B20,MAX7219,数码管,继电器。蜂鸣器等,
2、再配以相应的软件设计,达到制作简易智能开关的目的。关键词:单片机;AT89C52;智能开关;DS18B20IIIntelligent switch based on single-chip designAbstractIn recent years, with computers in the infiltration and the development of large-scale integrated circuits. SCM application is steadily deepening, as it has strong function, small size, low p
3、ower dissipation, low prices, reliable, easy to use features, it is particularly suited to and control of the system, increasingly widely used in automatic control, intelligent instruments, gauges, data acquisition, military products and household appliances, and other areas, is often microcontrolle
4、r as a core component to use, In light of specific hardware architecture, and application-specific software features object combine to make perfect.The intelligent design research to facilitate the switch to bring home. Mainly for the control of single-chip core AT89C52 schedule control and air-cond
5、itioning temperature monitoring alarm, combined with related components, such as DS18B20, MAX7219, LED, relay. Buzzer, etc., together with the corresponding software design, to achieve the production of mini-mental purpose of switching.Keywords:Single-chip; AT89C52 ;Intelligent switch ;DS18B20目 录摘 要
6、 .IABSTRACT.II前 言 - 1 -第 1 章 总体方案设计 - 3 -1.1 总体的设计 - 3 -1.2 设计的任务及要求 - 3 -1.3 主控制部分 - 3 -1.4 温度传感器的选择 - 4 -1.5 语音报时电路 - 5 -1.6 继电器的选择 - 5 -1.7 电源电路部分 - 5 -第 2 章 硬件设计 - 6 -2.1 单片机部分 - 6 -2.2 电源以及看门狗电路 - 6 -2.2.1 电源部分 .- 6 -2.2.2 看门狗电路 - 7 -23 温度测温系统的组成 .- 7 -2.3.1 工作原理 .- 7 -2.3.2 温度传感采集单元 - 8 -2.3.3
7、 温度超温报警驱动 - 9 -2. 4 显示部分 .- 10 -2.4.1 显示驱动器 MAX7219 - 10 -2.4.2 按键单元 .- 10 -2.5 复位电路 .- 11 -2.6 时钟电路: .- 12 -2.7 语音报时电路 .- 12 -第 3 章 软 件 设 计 .- 14 -3.1 主程序流程图 .- 14 -3.2 时间控制子程序 .- 15 -3.3 温度报警子程序设计流程图 .- 16 -3.4 显示子程序说明 .- 16 -第 4 章 设计制作过程与调试 - 18 -4.1 PROTEL99 设计原理图 - 18 -4.2 硬件电路板的制作 .- 19 -4.3 机
8、器的调试 .- 19 -4.3.1.测试方法 .- 19 -4.3.2 MCS52 仿真机用于测试软件 - 20 - 1 -4.3.3 电路性能测试: .- 20 -结 论 - 21 -参 考 文 献 - 22 -附 录 - 23 -致 谢 - 30 - 2 -基于单片机的智能开关设计前 言课题提出的意义20 世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着 CMOS 化、低功耗、小体
9、积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法 1。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。智能开关是诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭电灯、定时开关烘箱、通断动力设备、空调调控、甚至各种定时电气的自动启用等。因此,研究智能开关及扩大其应用,有着非常现实的意义。国内外研究现状根据美国电工行业协会所做的市场调查显示,在开关方面,消费者购
10、买的其实并非开关或者插座本身,而是一种对于生活、工作环境的控制方式,消费者渴望获得一种随心所欲的控制方式 2。根据这个认识,为客户提供控制方式的解决方案才是最重要的。这也是电工行业发展的重要趋势。未来多媒体计算机将逐步深入我们的生活,其将更加人性化,更加适应我们的生活,甚至将来改变我们现有的生活方 式,数字化生活可能成为未来生活的主要模式,人们离不开计算机,计算机也将更加丰富多彩。 家庭自动化与安防向高集成度和全面数字化发展在数字家庭系统中,除了网络视频、新潮电子和视听享受之外,家庭自动化与安防设备也扮演着重要的角色。所谓家庭自动化,是指利用电子技术来集成或控制家中的电子电器产品或系统(例如照
11、明灯、咖啡炉、电脑设备、保安系统、暖气及冷气系统、视讯及音响系统- 3 -等)。其功能实现主要通过一个中央管理平台接收来自传感器(能够感应外界环境的变化,如日升日落所造成的光线变化等)的信息,再以既定的程序控制其它电子电器产品。除了能够通过各种界面(键盘、触摸屏、按钮、电脑、电话、遥控器等)来控制家中的电器产品外,房屋主人还可发送控制信号给中央处理设备并同时接受来自中央处理设备的信息。而开关的自动化,智能话,必然会成为将来的主流。课题主要研究内容本课题研究的是基于单片机控制的作息时间定时唤醒和温度监控报警于一身的多功能智能开关的设计。在进行了大量资料阅读,决定以单片机应用技术为核心进行开发,并
12、配以温度传感器、 、LED 显示、蜂鸣器报警等硬件电路组成。通过软件编程实现智能开关的设计。在对上述问题进行了分析与理解后,制定了基本的技术方案。并且以理论分析和该技术方案为基础,在不断地实验和方案调试,最后完成了一个多功能智能开关系统的设计。本多功能智能开关系统可以完成作息时间时的灯开闭,时间显示,复位电路以及对温度的监测。- 4 -第 1 章 总体方案设计1.1 总体的设计整个智能开关系统电路可分为七大部分:中央处理单元(CPU) 、显示电路、电源电路部分、复位电路、温度采集电路、蜂鸣器报时、继电器电路。下图是一个构件图,它可以用来说明本系统的体系结构。AT89C51显示电路温度采集电路继
13、电开关电路 蜂鸣器报时复位电路电源电路部分图 1-1 智能开关构件图1.2 设计的任务及要求起床唤醒功能:选择起床时间,到达设定的时间电灯亮起,蜂鸣器叫2钟;就寝功能:选定熄灯时间到达时间灭灯;时钟功能:采用12小时制,时间可调整;复位功能:产品出现误动作或者需要调整时,按复位键实现初始化;空调控制:选用模拟系统,温度超过25,蜂鸣器报警小灯亮,表示自动降温。基于以上要求,在设计思路上考虑以单片机为核心来控制开关动作,以达到智能化控制的目的。1.3 主控制部分方案一:此方案采用 PC 机实现。它可在线编程,可在线仿真的功能,这让调试变得方便。且人机交互友好。但是 PC 机输出信号不能直接与 D
14、S18B20 通信。需要通过 RS232 电- 5 -平转换兼容,硬件的合成在线调试,较为繁琐,很不简便。而且在一些环境比较恶劣的场合,PC 机的体积大,携带安装不方便,性能不稳定,给工程带来很多麻烦!方案二:由于我们平时学习多以美国 ATMEL 公司 51 系列单片机较多,所以我们最终选用了 ATMEL 公司的 AT89C52 单片机 3。AT89C52 是美国 ATMEL 公司生产的低电压,高性能 CMOS8 位单片机,片内含 8Kbytes 的可反复擦写的只读程序存储器(PEROM)和256bytes 的随机存取数据存储器(RAM) ,器件采用 ATMEL 公司的高密度、非易失性存储技术
15、生产,与标准 MCS-51 指令系统及 8052 产品引脚兼容,片内置通用 8 位中央处理器(CPU)和 FLASH 存储单元,功能强大 AT89C52 单片机适用于许多较为复杂控制应用场合。1. 4 温度传感器的选择方案一:采用热敏电阻,可满足 40 摄氏度至 90 摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测 1 摄氏度的信号是不适用的。而且在温度测量系统中,采用单片温度传感器,比如 AD590,LM35 等.但这些芯片输出的都是模拟信号,必须经过 A/D 转换后才能送给计算机,这样就使得测温装置的结构较复杂.另外,这种测温装置的一根线上只能挂一个传感器,不能进行多点测量.
16、即使能实现,也要用到复杂的算法,一定程度上也增加了软件实现的难度。方案二:在多点测温系统中,传统的测温方法是将模拟信号远距离采样进行 AD 转换,而为了获得较高的测温精度,就必须采用措施解决由长线传输,多点测量切换及放大电路零点漂移等造成的误差补偿问题。采用数字温度芯片 DS18B20 测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在 0100摄氏度时,最大线形偏差小于 1 摄氏度。DS18B20 的最大特点之一采用了单总线的数据传输,由数字温度计 DS1820 和微控制器 AT89C52
17、成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接 4。这样, 测温系统的结构就比较简单,体积也不大,且由于 AT89C52 以带多个 DS18B20,因此可以非常容易实现多点测量.轻松的- 6 -组建传感器网络。采用温度芯片 DS18B20 测量温度,可以体现系统芯片化这个趋势。部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。所以集成芯片的使用将成为电路发展的一种趋势。本方案应用这一温度芯片,也是顺应这一趋势。1.5 语音报时电路有源蜂鸣器内部带震荡源直 接 接 上 额 定 电 源 就 可 连 续 发
18、 声 ;而 无 源 蜂 鸣 器 则和 电 磁 扬 声 器 一 样 , 内部不带震荡源,用直流信号无法令其鸣叫,必须用 2K5K 的方波去驱动它,并且需 要 接 在 音 频 输 出 电 路 中 才 能 发 声 , 其硬件电路比较复杂。有源要单片机普通 IO 端口直接高低电平驱动,如果你的单片机端口驱动能力不够也可以用三极管驱动,程序也简单。无源的话要频率驱动,不同频率驱动会发出不同的声音。IO 选择上最好是选择定时器的 I/O 输出,PWM 输出或其他方便生成不同频率输出的端口。程序略复杂,看单片机是否方便编程输出频率信号。基于这些原因,我认为选择有源蜂鸣器是最好的。1.6 继电器的选择继电器是
19、我们生活中常用的一种控制设备,通俗的意义上来说就是开关,在条件满足的情况下关闭或者开启。继电器的开关特性在很多的控制系统尤其是离散的控制系统中得到广泛的应用。从另一个角度来说,由于为某一个用途设计使用的电子电路,最终或多或少都需要和某一些机械设备相交互,所以继电器也起到电子设备和机械设备的接口作用。最常见的继电器要数热继电器,通常使用的热继电器适用于交流 50Hz、60Hz、额定电压至 660V、额定电流至 80A 的电路中,供交流电动机的过载保护用 5。它具有差动机构和温度补偿环节,可与特定的交流接触器插接安装。时间继电器也是很常用的一种继电器,它的作用是作延时元件,通常它可在交流 50Hz
20、、60Hz、电压至 380V、直流至 220V 的控制电路中作延时元件,按预定的时间接通或分断电路。可广泛应用于电力拖动系统,自动程序控制系统及在各种生产工艺过程的自动控制系统中起时间控制作用。 - 7 -1.7 电源电路部分在各种电子设备中,直流稳压电源是必不可少的组成部分,它是电子设备唯一能量来源,它的设计思路是根据我们以前学过的模电电子技术,要想得到我们所要的+5V 输出电压,就需将交流 220V 的电压经过变压器、整流电路、滤波电路和稳压电路四个部分。第 2 章 硬件设计2. 1 单片机部分AT89C52 提供以下标准功能:8K 字节 FLASH 闪存,256 字节内部 RAM,32
21、个 I/O口线,3 个 16 位定时/计数器,一个 6 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52 可降至 0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 工作,但允许 RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。如图 2-1 AT89C52 的芯片管脚图图 2-1 AT89C52 的芯片管脚图2.2 电源以及看门狗电路2.2.1 电源部分因为单片机工作电源为+5V,且底层电路功耗很小。采用 7805 三端稳压片即可- 8 -
22、满足要求。具体电路图如 2-2:图 2-2 电源电路 2.2.2 看门狗电路考虑到底层电路板的工作环境相对恶劣,单片机会受到周围环境的干扰,而出现程序跑飞,死机等一些不可预知的不正常工作现象。工作人员也不可能到现场对单片机重启,本设计为单片机电路添加一个外部看门狗电路。定时查询单片机的工作状态,一但发现异常即对单片机延时重起。保证系统安全可靠的运行。NE56604能为多种微处理器和逻辑系统提供复位信号,其门限电平为4.2V 。在电源突然掉电或电源电压下降到低于门限电平时。NE56604将产生精确的复位信号。NE56604内置一个看门狗定时器,用于监控微处理器,以确保微处理器的正常运行。看门狗能
23、产生一个系统复位信号用来终止任何由于微处理器故障而引发的不正常的系统操作。NE56604的看门狗的监控周期为100mS(典型值) 6。特性.正负双逻辑输出的有效复位信号。.精准的门限电平监测。.上电复位内部延时。.可利用外部电阻调节的内部看门狗定时器。.看门狗定时器的监控周期为100mS 典型值。- 9 -.VCC=0.8VDC时产生有效的复位信号典型值。.仅需很少的外围元件。、23 温度测温系统的组成2.3.1 工作原理 温度传感器 DS18B20 从设备环境的不同位置采集温度,单片机 AT89C52获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,
24、通过加热和降温对当前温度进行调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备 ( 空调 ) ,当采集的温度经处理后高于设定温度的上时 , 单片机通过三极管驱动继电器开启升温设备 ( 空调 ) 。 当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声。 本系统通过中断的方式设置 5 个按键,分别为步进选择、加减键、模式选择键、移动键和模式切换键,实现温度上下限的手动设置,以及对上下限温度的录入、历史温度的查询和系统模式切换。 为实现对温度的智
25、能控制,本系统还支持预设一组随时间变化而变化的温度上下限,控制环境温度随时间变化而不断调整,达到让环境温度跟随预先设定的温度值变化的效果,从而实现环境温度的变限控制。2.3.2 温度传感采集单元 工作原理如下: DS18B20 测温原理如图 2-3所示,低温系数晶振的振荡频率受温度影响很小,用于产生固有频率的脉冲信号送给计数器 1 ;高温系数晶振随温度变化其振荡率改变明显,产生的信号作为计数器 2 的脉冲输入。计数器 1 和温度寄存器被预置在 -55 对应的一个基数值。计数器1 对低温系数晶振产生的脉冲信号进 减法记数,当计数器 1 的预置值减到 0 时,温度寄存器的值将加 1 ,计数器 2
26、的值减 1; 再重新装入计数器 1 的预置值,然后重新开始对低温度系数晶振产生的脉冲信号进行记数,如此循环直到计数器 2 记数到 0 后,停止温度寄存器值的累加,此时温度寄存器中的数值即为被测温度值。 - 10 -图 2-3 DS18B20 内部结构图 主机控制 DS18B20 完成温度转换需经初始化、 ROM 操作指令、存储器操作指令三条指令。单片机系统所用的晶振频率为 6MHz ,根据 DS18B20 的初始化时序、写时序和读时序,分别编写 3 个子程序。所有的数据读写均由最低位开始,在数据线上加 4.3kQ 的上拉电阻,其它 2 个脚接地。由于采用单总线数据传输方式, DS18B20 的
27、数据 I O 均由同一条线完成,因此,对读写的操作时序要求严格。为严格保证 DS18B20 的 I O 时序,需要做较精确的延时。在 DS18B820 操作中,用到的延时有 15 s 、 90 s 、 270 s 、 540 s 。2.3.3 温度超温报警驱动 当采集的温度经处理后超过规定温度上限时,单片机通过 P1.4 输出控制信号驱动三极管 D1 ,使继电器 K1 开启降温设备 ( 空调 ) :当采集的温度经处理后高于设定温度下限时,单片机通过 P1.5 输出控制信号驱动三极管 D2 ,使继电器 K2 开启降温设备 ( 空调 ) 。图2-4 温度传感器- 11 -2. 4 显示部分 2.4
28、.1 显示驱动器 MAX7219显示部分由 MAX7219 和两个 4 位 数码管构成,具体工作原理如下: 显示驱动器MAX7219 为高集成化的串行输入输出的共阴极 LED 显示驱动器,每片可驱动 8 位 7 段加小数点的共阴极数码管,可以数片级联,与微处理器的相连只须 3 根线 8。 MAX7219 内部集成有 BCD 码译码器、多位扫描电路、段译码器、位驱动器和用于存放每个数据位的 8 8 静态 RAM 以及每个工作寄存器,通过指令设置不同的工作寄存器,可以使 MAX7219 进入不同的工作状态 7。串行接口的传输速率可达 10MHz :独立的发光二极管段控制:译码与非译码两种显示方式可
29、选;数字和模拟两种亮度控制方式;可以级联使用。本系统采用串行口向 MAX7219 传输数据,显示采用 8 位 LED MAX7219 与 89C52单片机的连接采用任意 3 个端口相连。系统在显示温度前,先对显示单元进初始化,即显示模式、扫描位数,显示亮度、显示控制,然后将显示缓冲区内的 8 个字节的待显示数据送到 MAX7219 的内部存储器,通过串行口向显示单元传送数据,并且结合 P2.6 向 MAX7219 传送加载信号。如图2-5所示。 图2-5 MAX7219驱动电路2.4.2 按键单元 该系统设置了五个按键,分别是模式控制键 (MOD) 、加键 (ADD) 、减键 (SUB) ,步
30、进控制键 (BUJIIN) 和修改移位键 (MOVE) , MOVE 、 ADD 、 SUB 、 BUJIN 分别接单片机 AT89S52 P1.7 、 P1.6 、 P1.1 、 P2.5 I O 口,且用一片 74LS04 ,将 MOVE 、 ADD 、 SUB 的输入信号先“与”后 再连接至 AT89S52的 - 12 -P3.3(INT1) 口, MOD 按键输入信号直接接到 AT89S51的P3.2(INTO) 口。具体连接图见图 2-6 。系统工作时,按键 MOD 对系统的工作模式进行循环切换,当系统处于工作模式一时,通过 BUJIN 键选择调整上下限的步进幅度,同时可通过 ADD
31、 、 SUBB 键对上下限进行加、减调整:当系统处于模式二时,系统进入温度控制状态,当系统处于加温或降温状态时不允许进行模式切换:当系统处于模式三时,通过 ADD 和 SUBB 键对历史温度进行上翻和下翻查询。 图2-6 按键连接图2.5 复位电路当 MCS-5l 系列单片机的复位引脚 RST(全称 RESET)出现 2 个机器周期以上的高电平时,单片机就执行复位操作。如果 RST 持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。常用的上电复位电路如图 2-7 中左图所示。图中电容 C1 和
32、电阻 R1 对电源十 5V 来说构成微分电路。上电后,保持 RST一段高电平时间,由于单片机内的等效电阻的作用,不用图中电阻 R1,也能达到上电复位的操作功能,如图 2-7 中右图所示。图 2-7 复位电路13014- 13 -要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。常用的上电或开关复位电路如图 2-7(b)所示。上电后,由于电容 C3的充电和反相门的作用,使 RST 持续一段时间的高电平。当单片机已在运行当中时,按下复位键 K 后松开,也能使 RST 为一段时间的高电平,从而实现上电或开关复位的操作。根据实际操作的经验,下面给出这两种复位电路的电容、
33、电阻参考值。图 2-7(a)中:Cl10-30uF,R11k图 2-7(b)中:C21uF,Rllk,R210k本系统的复位电路采用上电复位。2.6 时钟电路时钟电路是用来产生 AT89C52 单片机工作时所必须的时钟信号,AT89C52 本身就是一个复杂的同步时序电路,为保证工作方式的实现,AT89C52 在唯一的时钟信号的控制下严格的按时序执行指令进行工作 ,时钟的频率影响单片机的速度和稳定性。通常时钟由于两种形式:内部时钟和外部时钟。我们系统采用内部时钟方式来为系统提供时钟信号 AT89C52 内部有一个用于构成振荡器的高增益反向放大器,该放大器的输入输出引脚为 XTAL1 和 XTAL
34、2,它们跨接在晶体振荡器和用于微调的电容,便构成了一个自激励振荡器电路中的 C1、C2 的选择在 30PF 左右,但电容太小会影响振荡的频率、稳定性和快速性。晶振频率为在 1.2MHZ12MHZ 之间,频率越高单片机的速度就越快,但对存储器速度要求就高。为了提高稳定性我们采用温度稳定性好的 NPO 电容,采用的晶振频率为 12MHZ。如图 2-8 晶振电路图 2-8 晶振电路2.7 语音报时电路有源蜂鸣器内部带震荡源直 接 接 上 额 定 电 源 就 可 连 续 发 声 ;而 无 源 蜂 鸣 器 则和 电 磁 扬 声 器 一 样 , 内部不带震荡源,用直流信号无法令其鸣叫,必须用2K5K的-
35、14 -方波去驱动它,并且需 要 接 在 音 频 输 出 电 路 中 才 能 发 声 , 其硬件电路比较复杂。有源要单片机普通IO端口直接高低电平驱动,如果你的单片机端口驱动能力不够也可以用三极管驱动,程序也简单。无源的话要频率驱动,不同频率驱动会发出不同的声音。I/O选择上最好是选择定时器的I/O输出,PWM输出或其他方便生成不同频率输出的端口。程序略复杂,看单片机是否方便编程输出频率信号。基于这些原因,我认为选择有源蜂鸣器是最好的。该电路图如图2-9所示,图2-9 语音报时电路当系统上电后,电流流过限流电阻,驱动三极管放大蜂鸣器,根据软件的流程进行报时或响铃等。- 15 -第 3 章 软
36、件 设 计在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。所谓“模块” ,实质上就是所完成一定功能,相对独立的程序段,这种程序设计方法叫模块程序设计法。模块程序设计法的主要优点是:1、 单个模块比起一个完整的程序易编写及调试;2、 模块可以共存,一个模块可以被多个任务在不同条件下调用;3、 模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。本系统软件采用模块化结构,由主程序时间子程序、温度报警子程序显示子程序等构成。 (原理图见附录 A)31 主程序流程图 主程序开始初始化变量初始化定时器执行定时时间LED 闪动表示开始执行程序温度值数据类型变化读 DS18B2
37、0 温度值温度实时监控 更新时间数据,定时时间各个值转化 LED的显示继电器开关执行蜂鸣器开始鸣叫- 16 -图 31 主程序流程图32 时间控制子程序单片机作息时间控制的动作利用时间计时处理来做秒计数,当所设置的时间到了,则发出一阵声响,启动继电器,由继电器可以控制放音机开启或关闭。单片机定时器负责定时的计数,不会因为按键处理而中断时间秒数的增加,时,分,秒数据是存在变量内并写入七段显示器的缓冲区内,而由显示器扫描程序中定时扫描而显示出时间其中显示分四路,第一个和第二个数码管显示的是时,第三个和第四个数码管显示分。流程图如 3-2 所示,图 32 系统软件流程图设置 SCON读取数据查表送数
38、显示数据传送结束了吗送下一串数据子程序返回NY子程序入口- 17 -DS18B20 转换值温度是否过高自动报警温度降低/按键解除报警响应结束N3.3 温度报警子程序设计流程图图 3-3 温度报警子程序设计流程图首先系统初始化,关闭所有中断,这样 DS18B20 才能初始化并使用,开始转换温度并且读出温度值放入累加器 A 中,将预设置的报警上线温度转化成响应DS18B20 输出值,通过 DS1820 输出温度值与报警上限的比较实现温度过高报警,若温度没有达到上限,系统继续检测,若温度达到 25报警蜂鸣器响起。3.4 显示子程序说明MAX7219 与 AT89C52 芯片编程主要分为两部分:初始化
39、子程序、送显子程序以及数据传送。初始化程序主要是对 MAX7219 的显示模式、显示亮度、显示位数等进行初始化。本例中主要的初始化部分是选择每一显示位相应的显示方式为全译码方式,开始Ds18B20 初始化NYY- 18 -即给译码方式寄存器 X9H 单元送相应的数值 0FFH;限制显示扫描显示位数为 5 位,即给扫描限制寄存器 XBH 单元送相应的数值 04H。数据传送子程序是根据器件的传送时序编写的子程序,其主要功能是串行传送数据。送显程序的功能是将要显示的数值送到 MAX7219 的数据寄存器里,使其显示出来。- 19 -第 4 章 设计制作过程与调试4.1 Protel99 设计原理图(
40、1)使用 Protel 进行电路板设计的第一步便是设计原理图,原理图决定了整个电路的基本功能,也是接下来生成网络表和设计印刷电路板的基础 10。(2)用 PCB 系统设计 PCB 板分以下 7 个步骤: 有关参数的设置。这一步主要设定自动布参数、自动布线参数、板面参数等。 PCB 板尺寸设计。在禁止布线层上,沿设计的 PCB 边画边框线,即指定自动布局的范围。这一步为自动布局打基础。同时,在上层板面(即元器件面)沿禁止布线层的边框图线放置铜线,这是 PCB 板最后成型所必须的。 布局就是根据原理图上元器件之间的连接关系,并考虑电磁兼容性以及元器件的安装空间和散热等,总是将元器件放置在 PCB
41、电路板上适当的位置。布局的好坏直接影响 PCB 板的电气性能和布局的功能,是 PCB 板设计过程中最费时、最繁琐的。布局工作需要耐心、细致。尽管系统提供了自动布局的功能,但是一般而言都需要手工调整。 自动布线。布线就是在元器件引脚之间放置覆铜连线的过程,这一过程可以通过手工完成,也可以自动进行。但是 Protel99 的 PCB 系统提供了强大的自动布线功能,建议使用该功能自动布线。在进行自动布线之前,设计人员必须先设计好布线参数,定义布线规则。如果不适当,可能会导致自动布线失败,即布线的成功率不高,所以这一 步要特别注意 启动设计规则检查 DRC,这一步利用 PCB 提供的 DRC 功能对完
42、成布线的 PCB板进行检查,这一步由软件自动完成。检查的结果输出在报告文件*.rep 中,PCB 软件将出错处在 PCB 图上显示出来,为检查、修改提供方便。 板面字符调整。为了使设计的 PCB 板美观,并且安装焊接元器件方便,应将元器件的名称。设计值的字符参数移至元器件框外。大小合适且字符不想重叠。- 20 - 将经过 DRC 检查无误,且版面字符调整好的 PCB 设计图存盘、输出、制版。 印刷板电路设计完成以后,整个电路板的设计项目就基本完成。存档以便进行后期的修改及完善。4.2 硬件电路板的制作Protel 是一个很好用的电子制作工具,它还可以进行仿真。在画原理图的过程中,原理图中的元件
43、库中可能找不到自己要找的元件,要自己画元件。在画原理图后,选择将元件自动编号,然后根据需要更改部分元件的编号。在定好元件编号后,使用 TOOLS 中的 ERC 进行检查,它会提示是否有编号相同的元件等错误。在 ERC检查无误后,便可以开始封装了。同样,部分元件的封装在 PCB 库中找不到或者是有出入,如按键开关,2 位拨码开关在 PCB 库中找不到,所以需要自己根据元件的实际大小和相应的原理图中引脚编号,做出正确的封装。如图 4-1;图 4-1 PCB 封装图- 21 -4.3 机器的调试4.3.1.测试方法 用数字万用表测试分立元件的电阻、压降、漏电流、截止/导通状态等参数;信号发生器与示波
44、器用于测试各光电传感器信号的接收与传输。4.3.2 MCS52 仿真机用于测试软件直流稳压电源在测试期间为各待测系统供电;秒表用于产品测试,按照任务书的基本要求对制成的电动车进行产品测试。 4.3.3 电路性能测试:智能开关在控制性能上,达到了初始设计时的要求。(1) 智能开关的控制灵活性,优于断路器,可以通过软件设置的办法,改变其控制参数,不需要改动硬件电路。(2) 智能开关的精度及反应速度,也优于断路器,智能开关的执行速度,主要取决于单片机的运算速度,从电流变化到开关动作,智能开关的反应时间为微秒(拌5)级,而断路器的反应时间为毫秒(ms)级。(3) 智能开关不但对过流有保护作用,而且对欠
45、流也有保护作用,这是一般的电流开关所没有的。(4) 安全性智能开关,在软件方面的安全措施由看门狗电路来解决,硬件方面,由于控制方便,采用了固态继电路做为最终的执行器。 - 22 -结 论AT89C52 的时钟为 12M,I/O 口可达 32 个,高的时钟频率和丰富的 I/O,都为实现电路功能提供了非常有利的条件。同时也 AT89C52 内含 8KB FLASH ROM,开发环境友好,易用,方便,大大加快本系统设计开发。拨码开关的使用,使操作更为简洁,易懂。实时显示电路的设计,使温度信息更迅速,直观地发布。本制作的设计中使用了传感器的只是插座电路,因此,该系统的可扩展性很强。整个系统硬件简单、可
46、靠,系统成本低。致此本人设计基本完成了预期的目标,系统在硬件自动测试,键盘操作,实时显示方面做的比较好。但是由于时间仓促、条件有限,设计成果并不是很完美,还存在下面问题:串口通讯不稳定,未对温度数值统计处理以及存储。我准备在今后的工作过程中进一步完善此设计。- 23 -参 考 文 献1 胡汉才.单片机原理及其接口技术.北京.清华大学出版社.1996 年;2 徐爱均.智能化仪表原理与设计.北京.北京航空大学出版社.1996 年3 Dallas semiconductor inc.ds18b20 programmable resolution 1wiredigital thermometer 20
47、01Z 4 邬宽明.单片机外围器件实用手册.北京.北京航空大学出版社.1998 年5 先锋工作室.单片机程序设计实例.北京.清华大学出版社.2002 年6 张毅刚.彭喜元.孟升卫.刘兆庆.MCS-51 单片机使用子程序设计.哈尔滨.哈尔滨工业大学出版社.2003 年7Donald A. Neamen. Electronic circuit analysis and designM .Tsinghua University Press and Springer Verlag.2002.8 黄攀.王俊杰.单总线数字温度传感器 DS18B20 及其应用.清华大学自动化系.北京.元器件与应用.2001
48、9 罗文广.单总线数字温度传感器的自动识别技术.电子产品世界.2002 (8)10肖玲妮.袁增贵.Protel99SE 印刷电路板设计教程.北京.清华大学出版社.2003 年- 24 -附 录附录A - 25 -附录B 程序- 26 -;=LED1 EQU 20H ;时LED2 EQU 21H ;时LED3 EQU 22H ;分LED4 EQU 23H ;分TIMEH EQU 24H ;024TIMEM EQU 25H ;060TIMES EQU 26H ;060ORG 0000HLJMP STARORG 000BHLJMP TIME0;=初始化=STAR: MOV SP,#60H ;堆栈指针MOV R0,#LED1MOV R2,#07HSTAR1: MOV A,#00H ;2026 清零MOV R0,AINC R0DJNZ R2,STAR1MOV DPTR,#TABLE ;定查表指针MOV R3,#20 ;20 次 X50MS=1SMOV TMOD,#01H ;T0 为 16 位定时MOV TL0,#0B0H ;50msMOV TH0,#3CHSETB EASETB ET0 ;允许 T0 中断SETB TR0 ; 开启 T0 中断;=主程序=- 27 -MAIN: MOV R0,#LED4 ;14 数码管显示MOV P0,R0CLR P2.4LCALL DE