




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1引言1 2概述错误!未定义书签。 2.1定时开关电源插座系统概述 错误!未定义书签 2.2本设计方案思路错误!未定义书签。 2.3研发方向和技术关键错误!未定义书签。 2.4主要技术指标错误!未定义书签。 3总体设计错误!未定义书签。 3.1可控开关设计的选择 错误!未定义书签。 3.2时钟信号的实现错误!未定义书签。 3.3译码方案的选取错误!未定义书签。 4硬件设计错误!未定义书签。 4.1可控开关电路 错误!未定义书签。 4.2电平转换电路错误!未定义书签。 4.3单片机系统电路 错误!未定义书签。 4.4显示电路错误!未定义书签。 5软件设计错误!未定义书签。 5.1总体方案错误!未
2、定义书签。 5.2主程序流图错误!未定义书签。 5.3中断模块说明错误!未定义书签。 6制作与调试错误!未定义书签。 6.1硬件电路的布线与焊接 错误!未定义书签。 6.2调试错误!未定义书签。 6.3改进与扩展错误!未定义书签。 7结论错误!未定义书签。 致谢23 参考文献错误!未定义书签。 附录错误!未定义书签。 1.引言 随着电子技术和电源技术的发展,开关电源以体积小、重量轻、功率密度 大、集成度高、输出组合便利等优点而成为电子电路电源的首选。定时开关电源 插座,即可以定时打开或关掉电源的插座,这样既能省电又方便用户的个性化使 用。 实现定时开关电源插座的关键是如何实现定时,人类最早使用
3、的定时工具是沙 漏或水漏,但在钟表诞生发展成熟之后,人们开始尝试使用这种全新的计时工具 来改进定时器,达到准确控制时间的目的。于今定时器得到广泛应用,现在的不 少家用电器都安装了定时器来控制开关或工作时间;工业控制中常需要定时的装 置,输出和采集信号;在军事方面制成了定时炸弹,定时雷管。当酷暑或严寒难 耐时,人们需要合理的定时控制空调来节省有限的电能;如此等等。因此,我们 拟从这些方向作进一步的研究探索。 定时器有机械和电子两种,国外和国内都有非常大的市场。机械式采用同步 电机计时,成本低,但走时精度差、寿命短;电子式采用液晶显示,时间精度 高、寿命长,但操作复杂、成本高。特别是精度要求高的控
4、制系统和数据采集系 统,更要求精确的定时操作。马来西亚产的新一代HT高精密可编程电子定时开 关插座由一体化可编程时钟集成电路和大功率继电控制电路组成,它可实现对各 种没有定时装置的电器的定时控制。国内的这类定时开关插座的产品有由杭州菱 洋节能设备有限公司生产的菱洋可编程多功能电子定时插座,它是一个以单片微 处理器为核心配合电子电路等组成的一个电源开关控制装置。 我国是一个人口大国,能源更是宝贵,而能源分析家和经济学家认为,中国 已成为全球浪费电力的大户。我国正在建设节约型社会,节约能源应该成为这一 重大举措的重中之重。基于此,本设计采用单片机定时功能应用在插座开关上, 主要从单片机和可控开关,
5、来设计实现开关电源定时系统,使其准确显示定时指 示灯的亮灭,且能显示时钟精确到时分。该系统简单实用,操作简单,且定时器 不用时可以当普通电源插座用,既具备传统的电源插座的功能,又能达到节省能 源、优化资源的目的。以电热水器为例,我们所使用的电热水器,许多家庭为了 方便使用热水,让热水器24小时通电,其中很大部分电能将消耗在电热水器的 反复加热上。50升1500瓦)的普通电热水器每3小时自动加热30分钟,每天加 热时间是240分钟,耗电6度,其中4度电是属于有效电耗,剩下的就是在反复 加热中耗去的电,属无效耗电。如果把电热水器的电源插头连接到自动开关插座 上只需用前通电,可实现节电2度,而且可以
6、使热水在最高温度状态下投入使 用,大大提高了能量使用效率 2概述 2.1定时开关电源插座系统概述 本文设计的定时开关电源插座电路系统主要是利用单片机P89V51RD2FN 作为主控制元件,通过外围电路控制可控开关的通断以达到定时开、关的目的。 P89V51具有体积小、功能强大、运行速度快、价格低廉等优点,非常适合制作 集成度较高的控制电路。通过键盘键入程序控制可控开关和译码器来实现数码管 的显示。主板电路包括 MCU P89V51、键盘与显示、输入与输出口、可控开关和 稳压等电路组成。 2.2本设计方案思路 本设计实现通过定时电路来控制电源插座开关的通断,和时钟电路的显示为 主要目的;以时钟信
7、号的检测,信号控制,信号译码和数据显示为主要设计内 容。 定时器是本设计系统中的重点,时间控制器(即定时器既可以通过纯硬件实 现,也可以通过软硬件结合实现,根据时间控制器的核心部件 一秒信号的产生原 理,通常有四种形式,如下所述。 1)采用石英钟专用芯片的实现形式 采用石英钟专用芯片的实现的时间控制器,具有实现简单、计时精度高的特 点。石英计时芯片比较多,常用的型号有STP5512F SM5546A和D60400等。 如结合利用5512F的2秒输出信号作为秒信号电路的计数脉冲,可实现电子时 钟。 2)采用NE555时基电路的实现形式 采用NE555时基电路或其他振荡电路产生秒脉冲信号,作为秒加
8、法电路的时 钟信号或微处理器的外部中断输入信号,可构成时间控制器。由555构成的秒脉 冲发生器电路2如图1-1所示。输出的脉冲信号 Vo的频率f=1.443/Ra+2Rb) *C,可以通过调节这3个参数,使输出Vo的频率为精确的1HZ。但这类定时器 精度低,脉冲周期由外接的电阻和电容决定,常用于旋转灯光控制等。 3)采用单片机常用的时钟芯片 以前,通常采用并行的实时时钟芯片计时、EEPROM作为存储器,但对一些 微小型智能控制设备而言,并行实时时钟芯片封装形式大,再加上EEPROM,占 用扩展线多,使电路结构很难进一步简化。Dallas公司生产的串行实时时钟芯片 DS13023具有实时时钟和静
9、态 RAM,采用串行通信,可方便地与单片机接口。 除了在工业控制中使用外,还可以应用到一般的时钟计数上 4)用软件来实现定时 通常利用单片机或多媒体或 PLC内部的定时器,编写大量的源程序来设计, 常称为软件定时器。 电子定时器可用一般数字电路搭建而成,一台四位数的定时器要用十多片 数字电路组成,电路结构复杂、体积庞大,而且功能有一定的局限性。在进行定 时电路设计时,如果需要定时的时间不是很精确且时间较短的话,往往采用555定 时集成电路来实现。然而,若需要定时的时间较长 (如1小时以上则采用专用的 集成电路定时器比较方便 ,而且使用定时器专用集成电路所设计的应用电路比 较简单,同时调试也比较
10、容易。本设计采用单片机作为主硬件电路,外围电路简 单,配合软件设计,使用其灵活的编程实现定时,译码和时间显示等,使定时器 插座可有更多的扩展功能选择。 2.3研发方向和技术关键 1)合理选取定时器方案,提高系统的精度; 2)交直流电压转换; 3)多路优先译码器的选取及扩展; 4)与微机连接进行程序的汇编输入,实现对定时功能的调试; 5)显示部分中数码管的四位一体共阴接法。 2.4主要技术指标 1)具有电子钟功能,显示为四位数 2)可设定定时起动 开始)时间与定时结束 关断)时间 3)定时开始,指示灯亮;定时结束,指示灯灭 4)定时范围可以选择 5)开关次数:次/天 6)时钟日差:秒 /天 7)
11、工作温度范围:-10叶50o 8)工作条件:AC220V,10A,50Hz 9)使用范围:办公室电源开关、实验室电源开关等 6 011 I 1101 71) 7 000001II 07 S 0! 1! mi 7K 9 0110 11 u 6E 其中P3.2、P3.3、P3.4、P3. 5分别作调时”调分”定时开”定 时减”的功能按钮开关;P3. 7输出控制信号,使继电器线圈通电或断电,控制 输出插座”接通或断开220V交流电,从而控制外接电器的工作状态。数码管选 用四位一体共阳接法,每个数码管由 7段笔划组成,每段笔划由一只数码管点 亮,其管压降为1.7-2.2V、电流5-20毫安。 LED数
12、码管显示采用动态扫描方式,见下图3-3。即在某一时刻,只有一个 数码管被点亮。数码管的位选信号由AT89C2051的P3. 3P3. 5输出,并经 74LS138译码后通过三极管放大,以驱动相应的数码管。本设计译码电路选取 74LS138译码集成芯片,其管脚分布如下图 3-4,用来驱动4个LED,从功能表 上可以看出它的输出只有一个低电平,也就是可以用来用灌电流的方式进行驱动 LED,工作电压 Vcc=5V,输出可以直接连接 LED,没有带来不稳定因素,当然 实际中应该串接保护电阻,估计常用的200-300欧姆都可以 0 12 3 M 玄3.3. p F F F Ht【In冨 UEgHH E1
13、 CLR El 图3-3 LED动态扫描电路 16 15 14 13 12 11 10 9 74LS138 1 2 3 4 5 6 7 8 图3- 4 74LS138的管脚分布图 从总的设计可以看出,单片机的控制输出是通过P3. 0P3. 2 口完成的。 当程序开始时,这三个口的输出状态都是低电平,AT89C2051通过程序查询三路 输出的ON或OFF状态预置时间是否已到,若时间到,则改变相应的输出状态, 以完成对外部电路的控制。 3.3.2方案二 软件译码,即上面的三大显示模块和显示段码完全由软件设计实现。 对于硬件译码来说,扩展多片的外部程序存储器采用多片的R0矿展时,其 片选信号CS的处
14、理方法若采用全硬件实现,优点是扩展的各个 EPRO的地址空 间可以是连续的,能得到64K的完整空间;缺点是电路结构复杂,需附加译码器 电路,常用的如上面提到的74138。 由于单片机本身具有较强的逻辑控制能力,采用软件译码并不复杂。其译码 逻辑可以随意编程设定,不受硬件逻辑限制,同时还能简化硬件电路结构。因 此,在单片机应用系统中使用非常广泛。 综上,本设计LED译码和显示模块就是采用软件译码实现,程序编写用C语 言。作为一种结构化的程序设计语言,C语言的特点就是可以使你尽量少地对硬 件进行操作,具有很强的功能性、结构性和可移植性,常常被优选作为单片机系 统的编程语言。用C编写程序比汇编更符合
15、人们的思考习惯,开发者可以摆脱与 硬件无必要的接触,更专心的考虑功能和算法而不是考虑一些细节问题,这样就 减少了开发和调试的时间。C语言具有良好的程序结构,适用于模块化程序设计, 因此采用C语言设计单片机应用系统程序时,首先要尽可能地采用结构化的程序 设计方法,将功能模块化,由不同的模块完成不同的功能,这样可使整个应用系 统程序结构清晰,易于调试和维护。不同的功能模块,分别指定相应的入口参数 和出口参数,对于一些要重复调用的程序一般把其编成函数,这样可以减少程序 代码的长度,又便于整个程序的管理,还可增强可读性和移植性。 4硬件设计 本设计的硬件电路包括单片机 P89V512FN电路、键盘输入
16、与数码显示输 出、信号输入与输出口、三孔扁平插座,可控开关和稳压器等电路组成。具体主 要有三个模块:单片机控制数码显示模块;插座串接继电器模块;AC/DC5V输 出稳压模块 如下图41)。随着外加220V/50HZ的交流电加到插座的同时, AC/DC实现电压交直流的转换,把 220V的交流电变为5V的直流电用于SRD电 磁继电器的工作电压。可控开关装置中的电磁继电器 收到单片机高低脉冲电平 的变化相应做出吸合或断开的指令控制,从而控制插座电源的通断。而单片机软 件编程通过串口输入和USB接口主要实现键盘、LED显示等各模块的功能,采 用C语言编程,来控制译码器译码以及数码管显示。本设计硬件部分
17、电路图见下 图4 2,最终完成的硬件实物图见附录 2。 其中本系统的核心单片机 MCU P89V512FN为40脚600MIL封装,是CMOS 型飞利浦80C51系列单片机,带有2KB闪存E2PROM型。该单片机除了少了两 个并口外,能兼容MCS-51系列单片机的所有功能,且具备体积小、功能强、运 行速度快等特点。该电路可通过单片机的P3. 7 口连接一个键盘电路来实现对参 数的人工自由设定,同时可通过串口连接 4位LED数码管,以分别显示小时、分 钟和秒。系统定时启动是通过 P3. 0 口完成的。程序开始时这三个口的输出状态 都是低电平,P89V512FN通过程序查询P3. 0 口输出ON或
18、OFF的状态预置时 间是否已到,如果已到时间,贝U改变相应的输出状态,从而完成对外部电路的控 制。 图41本设计的三大模块 4 11 gnu 5Q 7JE111U 电-!. “ rat? CEtrLvo p UQG2 411! 15: IMM7 1.5 IM*!: III4CU I4PJ /? (ii =1 L4JI2 | HU I严 凹皆,;_ TT ElLirr u 脚 咅 IX14191%# D 3M5 5半 IIIIHIL! KLJ6 1% T uh = I isAisi: id眷鼻 HTl $ 士和II IS話屯池T IZ4N M 3i*iQ uni Rju SKI*2 TD 10
19、5LIK nss /? uni Rju SKI*2 _ 5LIK o 泄I MIZ4N -IMH 1 XTtm 毎*4|疋巌抵懒IT _N LI4UI ?MIS J I3T 图4 2定时部分硬件电路图 如上图4-2,上半部分是数码管显示电路;下半部分是由桥式整流二极管和 LM7805组成的AC/DC稳压电路,将220V的交流电压整流,滤波后输出直流 5V电 压用于单片机的工作电压;中间部分是由四个按扭开关和单片机相应管脚 vP1.4, P1.5,P3.6,P3.7)连接,分别对应LED时间显示模式控制(开关SW1 操作控制SW5、执行加键 开关SW2 ,执行减键 开关SW3。此外还有单片 机外
20、接热敏电阻,复位键 开关SW4以及蜂鸣器可以用来实现温度测量和自动温 度报警。 4.1可控开关电路 图4 3继电器结构图 继电器(relay 也是一种电门,但与一般开关不同,继电器并非以机械方式控 制,而是一种以电磁力来控制切换方向的电门。当线圈通电后,会使中心的软铁 核心产生磁性,将横向的摆臂吸下,而臂的右侧则迫使电门接点相接,使两接点 形成通路。本设计中选用继电器型号为 SRD-05VDC-SL-C,5接脚,如上图4 3。其中一边的两脚工作状态分别为衔铁动静触点闭合或断开 低压控制电路 时;额定工作电压,即继电器正常工作时线圈所需要的电压,本设计中选用的 继电器的额定工作电压为5V直流电压
21、。利用直流电流触发并控制延时,在延时 过程中可不影响主电路而延时递增。 在本次设计过程中,将继电器与普通电源插座串接起来,三接点中间的那个 脚脚4接电源插座的火线,另外两接脚中接脚 3接单片机的控制信号引出脚,另 一接脚5和控制信号引出脚连共地端。特别需要注意的是,在焊接继电器前要用 万用电表测试其五个管脚以确保正确连接。当接脚3和接脚5之间加5V电压 时,接脚4和接脚2导通,电源插座开关可正常工作;当接脚 3和接脚5之间电 压为0时,接脚4和接脚1导通,电源插座开关不工作,从插座正常工作到不工 作的这段时间即为定时操作,可通过软件编程设置定时 位序 D7 D6 D5 D4 D3 D2 D1
22、D0 位名称 SB EDC 二 4.4显示电路 用单片机驱动LED数码管11有很多方法,按显示方式分,有静态显示和动 态 扫描)显示,按译码方式可分硬件译码和软件译码之分。静态显示就是显示 驱动电路具有输出锁存功能,单片机将所要显示的数据送出后就不再管,直到下 一次显示数据需要更新时再传送一次新数据,显示数据稳定,占用很少的CPU时 间;动态显示需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用 的CPU时间多。这两种显示方式各有利弊:静态显示虽然数据稳定,占用很少的 CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的硬件较多;动态 显示虽然有闪烁感,占用的 CPU时间多,但
23、使用的硬件少,能节省线路板空间。 硬件译码就是显示的段码完全由硬件完成,CPU只要送出标准的BCD码即可, 硬件接线有一定标准;软件译码是用软件来完成硬件的功能,硬件简单,接线灵 活,显示段码完全由软件来处理,是目前常用的显示驱动方式。本设计就采用软 件译码来实现,且单片机驱动数码管的显示采用动态扫描显示的方式。 5软件设计 5.1总体方案 硬件电路一旦决定,可根据电路的结构编制软件,并且决定它所应达到的功 能。本设计用了 4位数码管及4个按键,根据既定的目标具有定时及时钟的功 能。程序应在定时器工作的同时也要启动时钟的时钟工作。 该系统显示电路部分的控制信号检测与数据传送部分,涉及的软件部分
24、较多, 主要是P89V51RD2FN单片机12数据串接口通信及通信协议的程序设计。本设计 中用定时芯片制作定时器的关键是从 P89V51芯片P1.7端口引出控制信号,随着 P1.7高低电平的变化,通过键盘键入程序控制实现继电器的吸合和上扬,来控制 电源插座通断以实现定时控制目的。即当继电器接脚3和接脚5之间加来自P1.7 端口的5V电平信号时,接脚4和接脚2导通,电源插座开关可正常工作;当键 入定时程序控制定时后,接脚3和接脚5之间电平信号为0时,接脚4和接脚1 导通,电源插座开关关闭。此外如要扩展功能,采用单片机C语言编程可实现时 间显示、时间校准、温度显示和温度上限报警、定时 闹钟)功能、
25、跑表等各模 块。 对于P89V51的程序设计,由于所需实现的功能较简单,采用 C语言编译形 式。编译器采用Keil uVision213。 KeiluVision2标准C编译器为8051微控制器的 软件开发提供了 C语言环境,同时保留了汇编代码高效,快速的特点。C51编译 器的功能不断增强,使你可以更加贴近 CPU本身,及其它的衍生产品。Keil编译 器可为人们提供单一而灵活的开发环境,C51已被完全集成到Keil的集成开发环 境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,工程管理器, 调试器,Keil uVision2可为它们提供单一而灵活的开发环境。 5.2主程序流图 本系统的
26、主程序工作过程是首先循环进行四个数码管的扫描显示14(disply 段,然后比较所有预置时间(COMP段是否与当前时间相等,如相等则转向相 应处理程序。比较完成(或处理完成 后,再判断有无按键(PP2段按下,没有则 返回继续显示、比较、判断;有按键按下则转向相应的处理程序。按键转移采用 偏移量加表格跳转转移法(KEY段。预置时间比较则采用逐一比较法,即对每一 个预设的值都进行比较,如果相等,则进行相应的处理。在具体比较时(COMP1 段,首先比较TH值,如不相等,贝U直接转出并置“时间到”标志CCB为0, 而如果TH、TM、TS全部对应相等,则置该标志为1,其软件流程见下图5- 1 所示。 中
27、斷 遮回 图5-1主程序流程图图5-2中断子程序流程图 程序用C语言编写,定时和时钟计时信号由单片机内部定时器T1产生的毫 秒级信号,中断溢出后在 RAM的40H单元中经多次累加输出1秒信号,作为计 时的基本计数单元。待显示的数据放在以下RAM单元中,(1时钟部分:46HR 小时十位数,45HR小时个位数,44HR分钟十位数,43HR分钟个位数;(2定 时部分:4AH分钟十位数,49HR分钟个位数,48HH秒十位数,47HR秒个位 数。通电后,程序初始化使 4BH单元被置1,进入了同时打开定时器,时钟开始 走时,显示-12: 00,秒信号在41H中累加60次,向48H单元作加1运算,这时 数码
28、管将显示12:01,满60分将向小时进位而显示 1:00。如果按动 调时” 调分”键即可调整时间。具体的主程序见附录 3。 5.3中断模块说明 程序初始化后就进入了 定时中断”子程序,其程序流程图见上图5-2。一系 列的运算是在中断产生后进行的15,具体的中断服务程序见附录3。 在程序计数运算中,小时应作12进制或24进制运算、分钟要作60进制运 算;而定时工作时应作99分钟倒计时及的60进制倒计时减运算。 6制作与调试 6.1硬件电路的布线与焊接 6.1.1总体特点 该系统所涉及的各部分硬件电路,总体的特点是: 1)电路原理简单,所用的器件均为常用器件; 2)由于路数较多,电路的规模较大,因
29、此在制作中只做了8路。 因此,应合理布线,以降低焊接难度,降低出错率,同时防止干扰。 6.1.2电路划分与PCB的制作 主板的制作与调试主板的制作稍微复杂一点。首先是制作印刷板,利用 Protel99按照本文所示器件位置图放置好元器件,然后手动布线双面),线宽为 0.8mm左右,太宽做出的板子太大,太窄无法进行自制。绘好印制板图后转成 BMP格式利用电脑刻字机镂空 要用进口的即时贴纸,不然容易断开),贴在双 面敷铜板上,就可以用 FeCl3腐蚀了。具体的制作方法这里不再赘述,但最好在 印制板布线时做个阻焊层,同时在即时贴上刻出来,当板子制好清洗干净后敷在 上面,用浅绿色油漆或清漆喷上薄薄的一层
30、,好看又防腐蚀。 PCB的制作关键是布局和布线的问题,而布局和布线不是截然分开的,布局 是为布线服务,布线为的实现布局的目标。 显然,完成布局不是就不一定能布好线,布局只是布好线的第一步和最基础 的一步。接下来的问题是跳线。跳线就要打乱原先画好的原理图。一个元件转个 方向就可能导致布线发生的改变,两个或多个改变,就更麻烦了。布局过程中的 应在每一次改变方案之前就有了种种考虑,不但包括改变面谈布局后的跳线问 题,甚至还包括不行之后的其它考虑都会在其中。反复的尝试,得出一个合理的 布局,尽量做到电路的走线最优先、最简捷、最有效。制板中注意事项如下: 1. 模拟与数字电路合理分开,普通信号线容易能以
31、很简练的方式完成走 线。 2. 高速信号线、主信号线可以得到最优先、最简捷、最有效的走线。 3. 电源线在走向上容易形成合理的回路和分支。 4. 热设计合理,有利于系统日后工作中散热纳凉,发热元件较合理地远离模 拟电路且工作时不熏烤这些电路。 5. 印刷板的制作特别要注意的是在布线时对 220V市电进入和输出 包括中 线)的线宽设计要宽一点 根据工作电流大小来定为好),还要注意市电与直流 电源的隔离,以免在使用中造成触电事故。 6.1.3焊接 元器件购回后应先进行预处理 引脚打磨、上焊锡),然后逐一焊接。在焊 接MCU和其它集成电路时应使用有良好接地的烙铁 断电焊接也可),以免被击 穿。由于双
32、面印刷板存在一个穿孔问题,器件引脚穿过后,两面都要点上焊锡; 如只是过孔,可用细铜线穿过并在两面焊接后剪掉即可。 在印刷板制作良好,连线没有不应有的开路或短路,且焊接没有虚焊的情况 下,不用调试即可正常工作。焊接前应熟悉各芯片的引脚,焊接时参照电路图, 仔细地连接引脚。按照以下原则进行焊接: 1)先焊接各芯片的电源线和地线,这样确保各芯片有正确的工作电压; 2)同类的芯片应顺序焊接,在一片焊接并检查好之后,其他的同类芯片便 可以参照第一片进行焊接。这样便可大大节省时间,也可降低出错率。 6.2调试 本设计调试通过硬件中的串口接口通信和USB接口连接微机,采用Keil uVi sion2调试。u
33、Vision2包含一个器件数据库(device database可以自动设置汇编 器、编译器、连接定位器及调试器选项,来满足用户充分利用特定微控制器的要 求。uVision2编辑器它包含了所有用户熟悉的特性,彩色语法显像和文件辩识都 对C源代码进行和优化。它可以在编辑器内调试程序,能提供一种自然的调试环 境,使你更快速地检查和修改程序。 6.3改进与扩展 本设计成品中的四个按钮开关控制使用了单片机P89V51RD2FN的P1.4 (模 式控制开关,P1.5(操作控制开关,P3. 6(执行加键,P3. 7(执行减键 。这四个 按钮开关通过软件设计模式控制端可控制时钟显示vcase 0),时钟校准
34、(case 1 跑表显示vcase 2),定时 闹钟)设定vcase 3),显示温度vcase 4)。其中定时 闹钟)操作,显示温度,跑表显示能,只需在软件编程时相应加入相应的程序, 并在硬件电路中相应接入热敏电阻和蜂鸣器即可。当然譬如年月日、农历、星期 的计算 如大月小月、闰年、闰月等)分别汇编相应的子程序插入也可实现。 7结论 本设计方案达到了任务书的要求,实现了定时开关电源插座的定时,时间显 示的电子钟功能,实现了于今一种较为先进且简单实用的节约能源模式的展望。 但设计中有下面几个问题需要注意: V1)由于220V强电输入,在焊接及调试电路时要非常小心; 2)前端220V交流输入后经LM
35、7805稳压后输出5V,误差较大; 3)设计中选用的单片机 P89V51所用的工作电源是连接计算机 USB接口的 5V电源,如需做成市场上的成品,这一点还需要改进; 4)由MCU控制的译码采集和串行传送也调试实现 通过与计算机的串口相 连,用“串口调试程序”调试),信号处理电路通过串口连接到计算机,应用参 考书上设计的“定时汇编程序”软件进行总体调试,实现对时钟的显示和定时。 由于时间、水平和经验有限,在硬件的调试、软件编码及抗干扰等方面仍有 不足之处,有改进的余地,比如电路规模的精简,其他的保护电路,抗干扰处 理。 这次毕业设计对于我来说,既是一次机遇,又是一次挑战。通过这次的毕业 设计,我
36、学到了很多东西,通过自己的实践,增强了动手能力。通过实际工程的 设计也使我了解到书本知识和实际应用的差别。在实际应用中遇到很多的问题, 这都需要我对问题进行具体的分析,并一步一步地去解决它。 致谢 在这几个月的时间里,从对课题的理解,方案的设计,至V电路的制作,再到 论文的写作,中间有着自己的努力,更有着老师和同学的关心和巨大的帮助。 感谢胡体玲老师在很忙的情况下,为我讲解课题的要点,引领设计的思路。 她对学生认真负责的态度让我由衷地敬佩。 感谢冯世柱和孙海连同学给予我无私的帮助,他们对我所遇到的难题的解答 让我受益匪浅 感谢杨老师对我们的关心照顾 感谢母校和老师们在大学四年中对我的培养 参考
37、文献 1 魏军丞用单片机制作的定时开关控制器电子世界,2005:8-10 李响初基于MCS-51单片机的智能时钟控制系统设计世界电子元器件, 2007: 28-30 8 田希晖,薛亮儒编著.C51单片机技术教程.北京:人民邮电出版社,2007 9 王为青,邱文勋编著 51单片机应用开发案例精选北京:人民邮电出版 社,2007 10 徐金增。史斐翡 MCS-51软件消除定时中断误差电子制作, 200710): 52-53 11 朱蓉,郑建华基于MCS-51单片机定时精确控制的研究现代电子技 术,2005,2817): 32-34 12 王振宇.基于单片机设计的多功能定时器.贵州教育学院学报 自然
38、科 学),2005.8,16:接地;VCC40却):主电源+5V。 2. 时钟:XTAL1、XTAL2 -晶体振荡电路反相输入端和输出端。 XTAL119 脚):接外部晶体的一端。在片内它是振荡电路反相放大器的输入端。在采用外 部时钟时,对于HMO单片机,该端引脚必须接地;对于 CHMO单片机,此引脚 作为驱动端。XTAL2V18W):接外部晶体的另一端。在片内它是一个振荡电路反 相放大器的输出端,振荡电路的频率是晶体振荡频率。若需采用外部时钟电路, 对于HMO单片机,该引脚输入外部时钟脉冲;对于 CHMO单片机,此引脚应悬 浮。 3. 控制线:控制线共有4根。 1)ALE/PROG30脚):
39、地址锁存允许/片内EPRO编程脉冲;ALE功能: 用来锁存P0 口送出的低8位地址;PROG功能:片内有EPROI的芯片,在 EPRO编程期间,此引脚输入编程脉冲。 2)PSEN29脚):外ROMS选通信号。在访问片外程序存储器时,此端输出 负脉冲作为存储器读选通信号。CPU在向片外存储器取指令期间,PSEN信号在 PSEN 12个时钟周期中两次生效。不过,在访问片外数据存储器时,这两次有效 信号不出现。PSEN端同样可驱动8个LSTTL负载。我们根据PSEN、ALE和 XTAL2输出端是否有信号输出,可以判别 80C51是否在工作。 3)RST/VPD9脚):复位/备用电源。 RSTvRes
40、et)功能:复位信号输入端; VPD功能:在Vcc掉电情况下,接备用电源。 4)EA/Vpp值超过4KB(0FFFH时,将自动转向执行外 ROM中的程序。当EA保持低电 平时,则只访问外ROM不管芯片内有否内ROM对80C31芯片,片内无ROIM因 此EA必须接地。 Vpp功能:片内有 EPROM勺芯片,在 EPROM编程期间,施加编程电源 Vpp。 4.I/O 线:80C51 共有 4 个 8 位并行 I/O 端口: P0 P1、P2、P3 口,共 32 个 引脚。P3 口还具有第二功能,用于特殊信号输入输出和控制信号属控制总 线)。 其中P3 口的功能如下:P3.0 10脚)一一RXD:串
41、行口输入端; P3.1 11脚)一一TXD:串行口输出端; P3.2 12脚) INT0 :外部中断0请求输入端; P3.3 13脚)INT1 :外部中断1请求输入端; P3.4 14脚)一一T0 :定时/计数器0外部信号输入端; P3.5 15脚)一一T1 :定时/计数器1外部信号输入端; P3.6 16脚) WR外RAM写选通信号输出端; P3.7 17脚)一一RD:夕卜RAM读选通信号输出端。 5. 4个8位的I/0 口 P0.0 P0.7(39脚一32脚,双向I/O内置场效应管上拉)。寻址外部程 序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存 储器时可作为8位准
42、双向I/O 口使用; P1 口: P1.0 P1.71 脚一8 脚),通用 I/O 口 准双向 口); P2.0 P2.726脚一21脚):输出高8位地址 用于寻址时是输出口;不寻 址时是准双向口); P3.0 P3.710脚一17脚):具有特定的第二功能 准双向口)。 附录2硬件电路实物图 附录3时间显示及定时主程序 #in elude #in elude vintrin s.h #in elude /* 端口 定义 */ sbit mode_butt on=PM4 模式控制 sbit operation_button=PM5b 操作控制 sbit inc_button=P3W。/执行加键
43、sbit dee_button=P3G 执行减键 sbit s3 = P10 sbit s2 = P1A10 sbit s0 = P1A0 sbit bell= P2A7o 蜂鸣器控制 sbit power_etrl = PM7。/继电器控制 sbit Cloek =卩2八2。时钟口线 sbit DataOut =卩2八1。/数据输出口线 共阳数码管代码 sbit ChipSeleet =卩2八(。片选口线 /* /* 延时定义 */ #defi ne Waitlus _nop_( #defi ne Wait2us Waitlus Waitlus。 #defi ne Wait4us Wait2
44、us Wait2us。 #defi ne Wait8us Wait4us Wait4us。 #defi ne Wait30us Wait8us Wait8us。Wait8u& Wait4us。Wait2u& * eode un sig ned ehar table10 =0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90。 un sig ned ehar led4。 unsigned ehar timer2_tick,mode,operation unsigned ehar flag=0,timer=0,timer_secon
45、d=0,timer_minute s=0。/跑表时间 int ring_hour=0,ring_minute=0。 闹铃时间 un sig ned char keys un sig ned char temp /* 当前时间 */ typedef struct char houo char minute char second time。 time now=10,30,30。 /* * *100MS 延时* * void delay100ms(void un sig ned int i = 1 , j。 while(i- j=9086。 。 while(j- 延时程序 void delay_m
46、s1( /延时程序 1 un sig ned int i。 for(i=0。i。 void delay_ms2( /延时程序 2 un sig ned int i,j。 for(i=0 o i for(j=0。j。 * *AD 转换程序 un sig ned char adc_c onv( void un sig ned char。 un sig ned char value Clock=0。 ChipSelect=1。 Wait30us ChipSelect=0b for(i=0。i value value|=0 x01。value+=1。 Clock=0。 ChipSelect=1。 re
47、turn( value。 /* LED 动态扫描程序 void display(void P1|=0 x0f。/lit off all led P0=0 xff。 s0=0。 P0=tableled0。 delay_ms1(。 P1|=0 x0f。/lit off all led P0=0 xff。 s1=0。 P0=tableled1。 delay_ms1(。 P1|=0 x0f。/lit off all led P0=0 xff。 30 / 41 P0=tableled2。 delay_ms1(。 P1|=0 x0f。/lit off all led P0=0 xff。 s3=0。 P0=
48、tableled3。 delay_ms1(。 P1|=0 x0f。/lit off all led P0=0 xff。 /* .显示两函*/ void display1( un sig ned char a,b /显示两位 led0=a%10。 led1=a/10。 led2=b%10。 led3=b/10。 display(。 /* 中断服务函数 void timer2(void interrupt 5 using 1 if(s=1 timer+。 if(timer=2 timer=0。 flag+。 if(flag=10 flag=0。timer_second+。 if(timer_sec
49、 on d=60 timer_sec on d=0。 timer_minute+。 timer2_tick+。 if(timer2_tick=20 timer2_tick=0。 no w.sec on d+七 if(no w.sec on d=60 now.minu te+。 no w.sec on d=0 if(now.minu te=60 no w.hour+。 now.minu te=0。 if(no w.hour=24 no w.hour=0。 TF2=0。 当前时间程序 void display_time(void P1|=0 x0f。/lit off all led P0=0 xf
50、f。 s0=0。 led3=no w.mi nu te%10。 P0=tableled3。 delay_ms1(。 P1|=0 x0f。/lit off all led P0=0 xff。 s1=0o led2=no w.mi nute/10。 P0=tableled2。 delay_ms1(。 P1|=0 x0f。/lit off all led PO=Oxff。 s2=0。 led1=no w.hour%10。 P0=tableled1。 if(no w.seco nd%2 P0_7=0 else P0 7=1 delay_ms1(。 P1|=0 x0f。/lit off all led
51、P0=0 xff。 s3=0。 led0=no w.hour/10。 P0=tableled0。 delay_ms1(。 P1|=0 x0f。/lit off all led P0=0 xff。 秒表显示函数 * */ void displaytimer(void P1|=0 x0f。/lit off all led P0=0 xff。 s0=0。 led3=flag。 P0=tableled3。 delay_ms1(。 P1|=0 x0f。/lit off all led P0=0 xff。 s1=0o led2=timer_seco nd%10。 P0=tableled2。 P0_7=0b
52、 delay_ms1(。 P1|=0 x0f。/lit off all led P0=0 xffo s2=0。 led1=timer_seco nd/10。 P0=tableled1。 delay_ms1(。 P1|=0 x0f。/lit off all led P0=0 xff。 s3=0。 led0=timer_mi nu te%10。 P0=tableled0。 P0_7=0b delay_ms1(。 P1|=0 x0f。 /lit off all led P0=0 xff。 闹铃显示函数 void display_ri ng(void display1(ring_minute,ring
53、_hour。 if(no w.hour=ri ng_hour if( no w.mi nu te=ri ng_mi nute bell=0。 power_ctrl = 0。 else bell=1。 power_ctrl = 10 /p1A7高电平时,继电器通;低电平时,继电器断 /*/ 温度显示函数 void display_temp(void float temp,k,value。 un sig ned char tmp delay_ms1(。 value=adc_c onv(。 tmp=value。temp=(floattmp。 k=log(temp/(255-temp。 temp=k/
54、3380+1/298.15 temp=1/temp-273.15 tmp=(un sig ned chartemp led0=tmp%10。 led1=(tmp%100/10。 led2=0。 led3=0。 display(。 /* /*T2 定时器初始化 * static void timer2_initialize (void T2C0N=0 x00。 timer2 tick=0。 TH2 = 0 x4C。 TL2 = 0 x00。 RCAP2H = 0 x4C。 RCAP2L = 0 x00。 ET2 = 1。 EA = 1。 TR2 = 1。 按键记值程序 char gotkey( keys=0。 if (mode_butt on=0 delay100ms(。 if (mode_butt on=0 keys=1o if (operati on
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国机房桥架数据监测研究报告
- 2025年中国木工机械刀片市场调查研究报告
- 2025-2030年中国中药党参行业市场需求预测与投资潜力研究报告
- 2025年中国料门式干燥机市场调查研究报告
- 2025年中国数字地感检测器数据监测报告
- 2025年中国精梳精漂汗布圆领短袖男衫数据监测研究报告
- 2025年中国正时枪市场调查研究报告
- 新疆交通职业技术学院《形体与舞蹈IV》2023-2024学年第二学期期末试卷
- 肇庆市实验中学高中历史三:第2课西学东渐(第2课时)高效课堂教学设计
- 新疆师范大附属中学2025年初三下学期3月模拟考试化学试题含解析
- 保密管理与人工智能技术发展
- 毒理学新技术
- 新生儿贫血护理查房课件
- 电信电源专业应急预案
- “0”何去何从-小数近似数的教学思考与实践 论文
- GMW 17408-2017 Flexible Expanded Rubber And Rubber-Like Materials原版完整文件
- 上市公司固定资产减值研究 -以美的集团股份有限公司为例
- DB14T+2779-2023营造林工程监理规范
- 2023年中考任务型阅读真题(20+)
- 新团员入团仪式PPT模板
- 电力拖动自动控制系统-运动控制系统期末试卷附答案共6套
评论
0/150
提交评论