多功能数字时钟plc设计.docx
河南理工大学万方科技学院目 录一 方案论证与比较二 系统设计三 软件设计四 系统测试与分析五 设计总结六 参考资料10摘要本设计由单片机 89C51、DS12887A 时钟芯片、DAC0809 模数转换芯片为核心,辅以必要的电路,构成了一个具有多功能的数字时钟 。它由 220V、50Hz 沟通电源供电,能够准确的显示时间、调整时间、闹钟定时,并能够对时钟所在的环境温度、工作时的电网电压、电网频率进展显示,还具有电压欠压、过压报警以及非接触止闹功能。一、方案论证与比较1. 数字时钟数字时钟是本设计的最主要的局部。依据需要,可利用两种方案实现。方案一:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现 1 秒定时中断,每产生一次中断,存储器内相应的秒值加 1;假设秒值到达 60,则将其清零, 并将相应的分字节值加 1;假设分值到达 60,则清零分字节,并将时字节值加 1; 假设时值到达 24,则将十字节清零。该方案具有硬件电路简洁的特点。但由于每次执行程序时,定时器都要重赋初值,所以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。方案二:本方案承受Dallas 公司的专用时钟芯片 DS12887A。该芯片内部承受石英晶体振荡器,其芯片精度不大于 10ms/年,且具有完备的时钟闹钟功能, 因此,可直接对其以用于显示或设置,使得软件编程相对简洁。为保证时钟在电网电压缺乏或突然掉电等突发状况下仍能正常工作,芯片内部包含锂电池。当电网电压缺乏或突然掉电时,系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时供给正确的时间。基于时钟芯片的上述优点,本设计承受方案二完成数字时钟的功能。2. 数码管显示方案一:静态显示。所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或截止。该方式每一位都需要一个 8 位输出口掌握。静态显示时较小的电流能获得较高的亮度,且字符不闪耀。但当所显示的位数较多时,静态显示所需的 I/O 口太多,造成了资源的铺张。方案二:动态显示。所谓动态显示就是一位一位的轮番点亮各个位,对于显示器的 每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必需保证扫描速度足够快,字符才不闪耀。显示器的亮度既与导通电流有关,也于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节约了 I/O 口,降低了能耗。数码管显示模块时钟芯片温度转换模块单报警系统片频率采集模块机键盘 状态显示电源电压转换模块本设计从节约 I/O 口和降低能耗动身,承受方案二。二、系统设计1. 总体设计(1) 系统框图系统框图如图 1 所示。图 1 系统框图(2) 模块说明a. 数码管显示模块:用数码管显示时间、环境温度、电网频率及电压温度转换模块:测量环境温度,并经过模数转换后送单片机。b. 时钟芯片:用 DS12887A 时钟芯片向单片机供给时间与闹铃信息。c. 报警系统:用蜂鸣器。当闹铃开且所设置的闹铃时刻到时,蜂鸣器报警,当电网电压欠压或过压时,蜂鸣器也报警。当“闹铃关”键按下或有遥控器止闹时,停顿报警。d. 键盘和状态显示模块:用可编程并行 I/O 芯片 8255 接状态显示所用的发光二极管及选择各功能的键盘。e. 单片机掌握模块:用 89C51 实现。是系统的主掌握器,掌握其它模块协调工作。f. 电源模块:向各用电系统供给电源。g. 电压转换模块:测量电网电压,并经过模数转换后送单片机。2. 模块设计与参数计算(1) 码管显示:本设计承受串行输出显示,利用一片 8 位移位存放器 74LS164 给全部数码管供给显示信号,且利用动态显示,节约了单片机 I/O 口, 降低了能耗。数码管承受 LG5643FH。电路如图 2 所示。(2) 电源模块:由于单片机及其处围的用电模块都用 5V 或 12V 直流电源, 而电网电压为 220V 沟通电,因此需要设计电源。利用 8W 的变压器将220V 的电网电压变压后加在桥式整流电路的两端进展全波整流。利用三端稳压电源分别产生12V 和 5V 的电压。三端稳压电源选择CW7812DS 和 CW7805DS。缘由是它们有过压保护和过流保护而使其免受高压或大电流的攻击;而且与其他三端稳压电源相比,它们更具经济性的特点。依据该电源所带的负载知流过该电源的电压不超过 I=1A。由于变压器输出大约为 U =12V,所以电阻 R = U o= 12 W 。由于电网电压一般oI为 220V ,50Hz,所以全波整流后的电压周期大约为 10 毫秒。又由于时间常数t = RE2>> 10 ms,所以取 E2= 1000 m f 。图 2数码管显示电路图 3电源电路0.1pf 的小电容用于滤掉电路路频率较高的局部,使电压输出更加平稳。(3) 频率采集模块:如图所示,对电源电路中全波整流后的信号进展推断:假设电压大于5V,则二极管正极电压被嵌位于为 5.7V,假设小于 5V,则为原值不变。因此形成向下的尖脉冲,经施密特触发器CD4093 变为正脉冲。如图所示。施密特触发器的输出接单片机的P1.5 口。在单片机内部数 1S 内脉冲的个数,除以 2 后即为电网电压的频率。图频率采集电路图频率采集电路的波形变换 温度转换模块:用温度传感器采集环境温度将其转化成模拟量, 并将该模拟量送入 DAC0809 的输入端进展模数转换。最终将转换后的数字量送入单片机 89C51 进展处理。电路图如图 6 所示。图 6 测温电路 电压转换模块:由于电网电压也是模拟量,要想利用单片机对其进展处理仍需将模拟量进展模数转换。转换电路如图所示。它仍利用电源电路中全波整流后的信号作为输入。由于频率采集电路也以全波整流后的信号作为输入,为了防止电压转换电路的 RC 回路产生的稳态电压影响频率采集电路的工作,应在电压转换模块的输入端接入二极管。图 电压转换电路 键盘、状态显示模块:为了使软件编程简洁,本设计利用可编程I/O 芯片 8255。接法如表 1 所示。PB 口接按键,PC 口则用于掌握状态显示所用的发光二极管。每个按键都通过一个 10K 的上拉电阻接电源+V,按键的另一端接地。当有键按下时,与该键CC相连的 PB 口的相应位变为低电平,单片机检测到该变化后即转到相应的键处理程序,同时在程序中点亮相应的发光二极管。表 1PB、PC 口与键和状态的对应关系PB 口PB.0PB.1PB.2PB.3PB.4PB.5PB.6按键功能设置时间设置闹铃小时分钟闹铃开闹铃关PC 口PC.1PC.2PC.3PC.4PC.5PC.6PC.7状态时钟温度电压频率AM/PM闹铃响铃不响报警系统:将蜂鸣器一端接在单片机的 P1.6 口上,另一端接地。当需要报警时,在口上送上高电平即可;需要关报警时,则送低电平。红外非接触止闹系统:红外线传输稳定、牢靠,不简洁受外界杂散信号的干扰,信号处理简洁。为了简化系统电路,我们承受了遥控电视机中常常使用红外遥控系统。遥控器直接使用电视机的遥控器,不用改装。红外信号的接收,承受红外光电二极管与放大电路一体的红外接收器,该器件只有三只引脚,使用极其简洁, 电路如图 8 所示。用接收器输出的信号送到三极管 N3 的基极, N3 的集电极、放射极并接在“闹铃关”两端。当接收器接收到信号并输出脉冲时,三极管N3 导通,相当于“闹铃关”接通按下, 单片机的相应引脚被置为低电平。单片机检测到该信号,执行相应的关闹铃程序。图 8红外遥控止闹电路三、软件设计1. 主程序流程图主程序流程图如图 9 所示。2. 蜂鸣器闹铃中断效劳子程序蜂鸣器闹铃中断效劳子程序流图如图 10 所示。当数字时钟处在闹铃开状态下到达所设置的闹铃时间时,进入该中断效劳子程序。此中断效劳子程序的作用是当系统处在闹铃状态下时,假设闹铃关键按下或有遥控止闹,则关闭蜂鸣器;蜂鸣器在 32.55s 之后自动停顿。四、系统测试与分析1. 测试仪器 :秒表 温度表电压表调压器频率计低频信号发生器2. 根本要求局部的测试与分析(1) 按下“设置时间”键,观看到“钟表” 和“温度”的发光二极管同时点亮,此时可对时间进展设置。按下“小时”,“分钟”键,观看数码管的小时局部和分钟局部是否随相应按键的变化而变化。经测试该步可以很好的实现。调整时间完毕后,再按一下“设置时间”开头初始化 显示时间读电压显示电压开启报警系统Y电压>240V?NY电压<200V?N关闭报警系统N有键按下吗?Y推断键值设设闹闹置置铃铃时闹开关显显显显间钟处处示示示示理理时温频电间度率压功能图 9主程序流图进入中断子程序保护现场蜂鸣器响MOVR1, #2MOVR2,#0FFH定时 66.536 毫秒“闹铃关”键按下或有遥控止闹YNNR2=R2-1=0?YNR1=R1-1=0?YN关闭蜂鸣器恢复现场返回图 10 蜂鸣器闹铃中断效劳子程序键,即可完成对时间的设置。(2) 按下“设置闹铃”键,观看到“电压”、“频率”二极管同时点亮; 按下“小时”、“分钟”键,观看数码管的小时局部和分钟局部是否随相应按键的变化而变化,经测试该局部可很好的实现。调整好后, 再按一下“设置闹铃”键,则设置完毕。(3) 利用秒表测量数字时钟变化 1 分钟时的时间间隔。由测试结果知, 误差范围很小,其中包括人的反映误差。假设除去人的反映误差,则由电路造成的误差可无视不计。这其中主要的缘由是设计中使用了12887 专用时钟芯片。(4) 设置好闹铃时间后,按下“闹铃开”键,在所设置的闹铃时刻观看蜂鸣器是否产生闹铃报警,并观看代表闹铃响与不响的发光二极管是否点亮。经测试该局部也能很好的完成。(5) 在系统闹铃时按下“闹铃关”键,观看闹铃是否停顿,并观看代表闹铃响与不响的发光二极管是否点亮。经测试该局部也能很好的完成。(6) 当数字时钟的小时位大于 12 时,观看代表 AM/PM 的发光二极管是否点亮。阅历证,当数字时钟的小时位大于 12 时,发光二极管点亮。2. 发挥局部的测试与分析在该局部中,利用“功能”键实现各个功能之间的切换。此时“闹铃开”键作为各个功能的“确认”键。按下功能键,选择相应的功能,然后按下确认键即执行相应的功能。再按一下“确认”键,即可回到时钟状态。(1) 键盘切换现场环境温度显示:按“功能”键选择“温度”,将温度传感器和温度计放入不同的测试环境中进展测试,结果如表 2 所示。表 2 与标准温度计测量值比较表温度计示值(摄氏度)0.025.249.970.1100.0数字钟输出(摄氏度)0000025305000703100.0由测试知,数字钟的输出与温度计值根本上相等,误差不大于 0.5 度。(2) 键盘切换电网频率、电压显示:利用调压器转变电网电压,调压器输出分别接数字时钟与电压表,将它们的电压值进展比较。如表 3 所示。利用低频信号发生器模拟电网频率的变化,并将其输出分别接频率计和数字时钟,将所得频率值进展比较,如表 4 所示。表 3电压值电压表220215200230235数字时钟2200214.4200.2231.1235.6表 4 频率值频率计5048465254数字时钟050.0047.8045.8052.1054.8(3) 欠压、过压报警:利用调压器转变电压值,观测出当电压大于 240 或小于 200 时数字时钟具有报警功能。(4) 利用遥控器,当闹铃响时,能对其实现遥控止闹的功能。五、设计总结:经过小组成员的全都努力,完成了本次课题的任务,到达了预期的的。设计制作了一个具有多种功能的数字时钟。本设计很好的完成了根本功能局部、发挥局部的功能。1. 根本要求(1) 具有时间设置小时和分钟、闹钟时间设置、闹钟开、闹钟关功能。(2) 数字显示小时、分钟,有 AM、PM 指示器,闹钟就绪灯,蜂鸣器。3220V 供电。2. 发挥局部(1) 键盘切换现场环境温度显示。060 ± 1(2) 键盘切换电网频率、电压显示。(3) 电压欠压、过压报警220V ± 10功能。(4) 非接触止闹功能。六、参考资料:1.微型计算机掌握技术于海生编清华大学出版社1999.62.MCS-51 系列单片机原理及应用孙涵芳等编 北京航空航天大学出版社 1996.43.综合电子设计与实践黄正谨等编 东南大学出版社2023.34.电子设计竞赛赛题解析 黄正谨等编 东南大学出版社2023.5