《多功能数字时钟2004》由会员分享,可在线阅读,更多相关《多功能数字时钟2004(12页珍藏版)》请在金锄头文库上搜索。
1、多功能数字时钟辅导教师:秦文华 赵建平作者:邢庆翠 王式龙 张乾 完成时间:2004 年 9 月 13 日电子设计参赛队:B 甲 0816 曲阜师范大学2004 年 9 月 13 日目 录一 方案论证与比较二 系统设计三 软件设计四 系统测试与分析五 设计总结六 参考资料摘要本设计由单片机 89钟芯片、数转换芯片为核心,辅以必要的电路,构成了一个具有多功能的数字时钟 。它由220V、50流电源供电,能够准确的显示时间、调整时间、闹钟定时,并能够对时钟所在的环境温度、工作时的电网电压、电网频率进行显示,还具有电压欠压、过压报警以及非接触止闹功能。一、方案论证与比较1数字时钟数字时钟是本设计的最主
2、要的部分。根据需要,可利用两种方案实现。方案一:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现 1 秒定时中断,每产生一次中断,存储器内相应的秒值加 1;若秒值达到 60,则将其清零,并将相应的分字节值加 1;若分值达到 60,则清零分字节,并将时字节值加 1;若时值达到 24,则将十字节清零。该方案具有硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。方案二:本方案采用 司的专用时钟芯片 芯片内部采用石英晶体振荡器,其芯
3、片精度不大于 10,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。基于时钟芯片的上述优点,本设计采用方案二完成数字时钟的功能。2数码管显示方案一:静态显示。所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或截止。该方式每一位都需要一个 8 位输出口控制。静态显示时较小的电流能获得较高的亮度,且字符不闪烁。但当所显
4、示的位数较多时,静态显示所需的 I/O 口太多,造成了资源的浪费。方案二:动态显示。所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的 每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了 I/O 口,降低了能耗。本设计从节省 I/O 口和降低能耗出发,采用方案二。二、系统设计1总体设计(1)系统框图系统框图如图 1 所示。 图 1 系统框图(2)模块说明a. 数码管显示模块:用数码管显示时间、环境温度、电网频率及电压温
5、度转换模块:测量环境温度,并经过模数转换后送单片机。b. 时钟芯片:用 钟芯片向单片机提供时间与闹铃信息。c. 报警系统:用蜂鸣器。当闹铃开且所设置的闹铃时刻到时,蜂鸣器报警,当电网电压欠压或过压时,蜂鸣器也报警。当“闹铃关”键按下或有遥控器止闹时,停止报警。d. 键盘和状态显示模块:用可编程并行 I/O 芯片 8255 接状态显示所用的发光二极管及选择各功能的键盘。e. 单片机控制模块:用 89现。是系统的主控制器,控制其它模块协调工作。f. 电源模块:向各用电系统提供电源。g. 电压转换模块:测量电网电压,并经过模数转换后送单片机。 2模块设计与参数计算(1) 码管显示:本设计采用串行输出
6、显示,利用一片 8 位移位寄存器74所有数码管提供显示信号,且利用动态显示,节约了单片机 I/O 口,降低了能耗。数码管采用 路如图 2 所示。(2) 电源模块:由于单片机及其处围的用电模块都用 5V 或 12V 直流电源,而电网电压为 220V 交流电,因此需要设计电源。利用 8W 的变压器将220V 的电网电压变压后加在桥式整流电路的两端进行全波整流。利用三端稳压电源分别产生 12V 和 5V 的电压。三端稳压电源选择 因是它们有过压保护和过流保护而使其免受高压或大电流的袭击;而且与其他三端稳压电源相比,它们更具经济性的特点。根据该电源所带的负载知流过该电源的电压不超过 I=1A。因为变压
7、器输出大约为 2V,所以电阻 。因为电网电压一12单片机温度转换模块频率采集模块时钟芯片报警系统键盘状态显示电源 电压转换模块般为 220V ,50所以全波整流后的电压周期大约为 10 毫秒。又因为时间常数 以取 。10202图 2 数码管显示电路图 3小电容用于滤掉电路路频率较高的部分,使电压输出更加平稳。(3)频率采集模块:如图所示,对电源电路中全波整流后的信号进行判断:若电压大于5V,则二极管正极电压被嵌位于为 小于 5V,则为原值不变。因此形成向下的尖脉冲,经施密特触发器为正脉冲。如图所示。施密特触发器的输出接单片机的 。在单片机内部数 1S 内脉冲的个数,除以 2 后即为电网电压的频
8、率。图频率采集电路图频率采集电路的波形变换() 温度转换模块:用温度传感器采集环境温度将其转化成模拟量,并将该模拟量送入 输入端进行模数转换。最后将转换后的数字量送入单片机 89行处理。电路图如图 6 所示。图 6测温电路() 电压转换模块:因为电网电压也是模拟量,要想利用单片机对其进行处理仍需将模拟量进行模数转换。转换电路如图所示。它仍利用电源电路中全波整流后的信号作为输入。因为频率采集电路也以全波整流后的信号作为输入,为了防止电压转换电路的路产生的稳态电压影响频率采集电路的工作,应在电压转换模块的输入端接入二极管。图电压转换电路() 键盘、状态显示模块:为了使软件编程简单,本设计利用可编程
9、I/O 芯片 8255。接法如表 1 所示。接按键,则用于控制状态显示所用的发光二极管。每个按键都通过一个 10K 的上拉电阻接电源+ ,按键的另一端接地。当有键按下时,与该B 口的相应位变为低电平,单片机检测到该变化后即转到相应的键处理程序,同时在程序中点亮相应的发光二极管。表 1 C 口与键和状态的对应关系 能 设置时间设置闹铃小时 分钟 闹铃开 闹铃关 钟 温度 电压 频率 M 闹铃响 铃不响() 报警系统:将蜂鸣器一端接在单片机的 上,另一端接地。当需要报警时,在口上送上高电平即可;需要关报警时,则送低电平。() 红外非接触止闹系统:红外线传输稳定、可靠,不容易受外界杂散信号的干扰,信
10、号处理简单。为了简化系统电路,我们采用了遥控电视机中经常使用红外遥控系统。遥控器直接使用电视机的遥控器,不用改装。红外信号的接收,采用红外光电二极管与放大电路一体的红外接收器,该器件只有三只引脚,使用极其简单,电路如图 8 所示。用接收器输出的信号送到三极管 基极,集电极、发射极并接在“闹铃关”两端。当接收器接收到信号并输出脉冲时,三极管 通,相当于“闹铃关 ”接通按下,单片机的相应引脚被置为低电平。单片机检测到该信号,执行相应的关闹铃程序。 图 8 红外遥控止闹电路三、软件设计1主程序流程图主程序流程图如图 9 所示。2. 蜂鸣器闹铃中断服务子程序蜂鸣器闹铃中断服务子程序流图如图 10 所示
11、。当数字时钟处在闹铃开状态下到达所设置的闹铃时间时,进入该中断服务子程序。此中断服务子程序的作用是当系统处在闹铃状态下时,若闹铃关键按下或有遥控止闹,则关闭蜂鸣器;蜂鸣器在 后自动停止。四、系统测试与分析1测试仪器 :秒表温度表电压表调压器频率计低频信号发生器2基本要求部分的测试与分析(1) 按下“设置时间”键,观察到“钟表” 和“温度”的发光二极管同时点亮,此时可对时间进行设置。按下“小时” , “分钟”键,观察数码管的小时部分和分钟部分是否随相应按键的变化而变化。经测试该步可以很好的实现。调整时间完毕后,再按一下“设置时间” 主程序流图开启报警系统开始初始化显示时间读电压电压240V?电压
12、200V?有键按下吗?判断键值功能显示时间显示温度显示频率显示电压设置时间设置闹钟闹铃关处理闹铃开处理关闭报警系统显示电压0 蜂鸣器闹铃中断服务子程序进入中断子程序保护现场蜂鸣器响 #20秒“闹铃关”键按下或有遥控止闹2?1?关闭蜂鸣器恢复现场返回键,即可完成对时间的设置。(2) 按下“设置闹铃”键,观察到“电压” 、 “频率”二极管同时点亮;按下“小时” 、 “分钟”键,观察数码管的小时部分和分钟部分是否随相应按键的变化而变化,经测试该部分可很好的实现。调整好后,再按一下“设置闹铃”键,则设置完毕。(3) 利用秒表测量数字时钟变化 1 分钟时的时间间隔。由测试结果知,误差范围很小,其中包括人
13、的反映误差。若除去人的反映误差,则由电路造成的误差可忽略不计。这其中主要的原因是设计中使用了12887 专用时钟芯片。(4) 设置好闹铃时间后,按下“闹铃开”键,在所设置的闹铃时刻观察蜂鸣器是否产生闹铃报警,并观察代表闹铃响与不响的发光二极管是否点亮。经测试该部分也能很好的完成。(5) 在系统闹铃时按下“闹铃关”键,观察闹铃是否停止,并观察代表闹铃响与不响的发光二极管是否点亮。经测试该部分也能很好的完成。(6) 当数字时钟的小时位大于 12 时,观察代表 M 的发光二极管是否点亮。经验证,当数字时钟的小时位大于 12 时,发光二极管点亮。2 发挥部分的测试与分析在该部分中,利用“功能”键实现各
14、个功能之间的切换。此时“闹铃开”键作为各个功能的“确认”键。按下功能键,选择相应的功能,然后按下确认键即执行相应的功能。再按一下“确认”键,即可回到时钟状态。(1)键盘切换现场环境温度显示:按“功能”键选择“温度” ,将温度传感器和温度计放入不同的测试环境中进行测试,结果如表 2 所示。表 2 与标准温度计测量值比较表温度计示值(摄氏度) 氏度) 0000 0253 0500 0703 字钟的输出与温度计值基本上相等,误差不大于 。(2)键盘切换电网频率、电压显示:利用调压器改变电网电压,调压器输出分别接数字时钟与电压表,将它们的电压值进行比较。如表 3 所示。利用低频信号发生器模拟电网频率的变化,并将其输出分别接频率计和数字时钟,将所得频率值进行比较,如表 4 所示。表 3 电压值电压表 220 215 200 230 235数字时钟 2200 频率值 频率计 50 48 46 52 54数字时钟 )欠压、过压报警:利用调压器改变电压值