基于stc89c51单片机作息时间控制钟控制系统word格式源文件内容摘要:

下,有序地进行工作。 本设计中使用单个按键 实现单个功能 ,属于较为简单的控制方式。 电路图见图 34。 图 34 按键接口电路图 在多功能系统设计的实验中中我们使用四个按键分别与单片机的 、 、 相连,按键 K_1 控制数据的增加, 按键 K_2 控制 控制数据的减少, 按键 K_3 五种模式的转制, 按键 K_4 有两个作用,在北京时间下 是关闭闹钟,在闹钟时间下是 遍历所有闹钟。 通过按下相应的按键来处理相应的程序。 LED指示电路 发光二极管,是一种固态的半导体器件,它可以直接把电转化为光。 本次设计中通过按键来控制 LED 显示 ,打开电源后按下按键可以看到不同的作息模式。 由于电路中 LED 为共阳极,故控制流水灯显示的 P2 口应为低电平时才有效。 电路图如 35 重庆科技学院单片机课程设计报告 10 图 35 LED 指示电路图 蜂鸣器接口电路 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 下面我们以电磁式蜂鸣器为例来说明它的工作原理: 电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等 组成。 接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。 振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声 , 当输出高电平时,三极管截止,蜂鸣器的两引脚间的直流电压接近于 0V,没有电流流过线圈,蜂鸣器不发声;当输出低电平时,三极管导通,使蜂鸣器的两个引脚间获得将接近 +5V 的直流电压,这样蜂鸣器的电流形成回路,发出声音。 因此,我们可以通过程序控制 IO 口输出的电平来控制蜂鸣器是否发出声音,实现各种可能音响的产生。 在这个设计中是通 口控制其 工作 的。 当 口输出低电平时蜂鸣器工作 , 从而实现响铃效果。 电路图见图 36。 重庆科技学院单片机课程设计报告 11 图 36 蜂鸣器接口电路图 RS232 接口电路 在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。 并且 RS232 是现在主流的串行通信接口之一。 电路图见图 36。 图 37 RS232 接口电路图 1 6 2 7 3 8 4 9 5 J6 DB9 C4 100nF C5 100nF C6 100nF VCC C7 100nF C8 100nF R5 10kΩ RXD TXD R23 100Ω R24 100Ω R2 R3 1kΩ VCC D2 LED(RED) D3 LED(GREEN) C1+ 1 V+ 2 C1 3 C2+ 4 C2 5 V 6 T2OUT 7 R2IN 8 R2OUT 9 T2IN 10 T1IN 11 R1OUT 12 R1IN 13 T1OUT 14 GND 15 VCC 16 U2 SP232 重庆科技学院单片机课程设计报告 12 电源电路 本设计的电源是通过 USB 接口直接与电脑相连而达到给单片机供电,其电路所提供的电压为 5V。 电路图见图 37。 图 38 电源电路 VBUS 1 D+ 2 D 3 GND 4 J1 USB + C1 100μF C2 100nF VCC R1 D1 LED(RED) 重庆科技学院单片机课程设计报告 13 软件设计 总体 软件程序 设计 本设计总体思路:首先初始化定时器 0,即初始化定时器 0 的工作方式,预置定时器的初值,启动定时器 0。 其次初始化数码管,即初始数组 09,以及位码。 通过中断能够调用按键子程序,判断按键程序之后,即可调用相应的控制子程序,从而实现作息时间控制钟的所有功能。 总体 功能 图见图 41。 图 41 总体 功能 图 入口 选择模式 两时间一致 蜂鸣器工作 Y N 显示北京时间 修改北京时间小时 修改北京时间分钟 修改闹钟时间小时 修改闹钟时间分钟 K_4 遍历闹钟 K_4=0 N Y 重庆科技学院单片机课程设计报告 14 主程序设计 主函数程 序设计时包含 定时器 0 的初始化 以及实时更新数码管上每一位的数字。 其流程图如图 42。 图 42 主程序流程图 数码管显示程序设计 数码管显示程序设计采用数码管前两位表示小时,第二位 dp 表示秒,后两位表示分钟。 在主程序之前初始化数码管内的数值,以及位码。 定义一个变量Bit 来作为位选, 由于次中断是 5ms,因此 Bit 加 1 的时间是 5ms,当 Bit 大于 等于 4 则令 Bit 等于 0,这样才能保证不断地在 4 个数码管之间轮流显示,因为其显示时间太短,给人视觉暂停 ,故而看起来是四个数码同时亮。 数码管程序流程图见图 43。 入口 定时器 0 初始化 While 更新数码管数值 重庆科技学院单片机课程设计报告 15 图 43 数码管显示程序流程图 时钟程序设计 时钟程序设计采用 AT89C51 单片机内部时钟,定义每次中断的时间为 5ms,计数 200 次即表示 1s,到达 60 秒时分钟数加 1 并且使秒清零,当分钟数达到 60时,小时加 1 并且使分钟数清零,当小时达到 24 时, 小时 置 0。 时间跳变 流程图见图 441。 入口 Flag++ flag=1 flag=0 北京时间 闹钟时间 修改小时 修改分钟 修改小时 修改分钟 K1=0 K2=0 K1=0 K2=0 Y Y Y Y N N N N 重庆科技学院单片机课程设计报告 16 图 441 时钟 跳变 流程图 修改显示时间时,通过 K_3 键来选择模式来修改所需要修改的内容。 模式 2修改北京时间小时,模式 3 修改北京时间分钟,模式 4 修改闹钟时间小时,模式5 修改闹钟时间分钟。 K_1 和 K_2 键分别控制 显示值 的增加和减少。 当 hour 增加到 24 时,就把 hour 置零,而减少的方法和增加时不一样,先判断 hour 为零后再减少。 如果减少到最小值就把其置为最大值, 其流程图如 442。 入口 初始 TH0 和 TLO Count200 Sec60 Min60 Hour24 Sec++, count=0 Sec=0,Min++ Min=0,Hour++ Hour=0 N N N Y Y Y Y N 重庆科技学院单片机课程设计报告 17 图 442 显示时间修改流程图 闹铃程序设计 闹钟程序设计是采用蜂鸣器发出声响而达到报时的作用。 控制蜂鸣器工作的单片机端口是 P14,由于蜂鸣器的工作状态是低电,故而当 P14=0 时,蜂鸣器工作,当 P14=1 时,蜂鸣器不工作。 而要使 P14=0,那么北京时间和预置的闹钟时间要相等。 闹铃程序流程图见图 45。 入口 修改小时 修改分钟 K_1=0 K_2=0 Hour++ Hour=24 Hour=0 Y Y Hour Hour=0 Hour=24 Y Y N N N N N N K_1=0 K_2=0 Min++ Min =24 Min =0 Y Y Min Min =0 Min =24 Y Y N N N N N N 重庆科技学院单片机课程设计报告 18 图 45 闹钟程序流程图 4. 6 模式程序设计 本控制钟共设计 5 种模式,分别是北京时间 显示 模式、北京时间修改小时模式、北京时间修改分钟模式、闹钟时间修改小时模式、闹钟时间修改分钟模式 北京时间显示模式中,只能够显示当前北京时间,而不做任何修改,其流程图如图 461。 图 461 北京时间显示模式流程图 北京时间修改小时模式、北京时间修改分钟模式、闹钟时间修改小时模式、闹钟时间修改分钟模式这四种模式中,都是通过 K_1 键增加当前显示值,。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。