2022年2022年基于单片机的智能电子钟系统设计毕业设计论文 .pdf
《2022年2022年基于单片机的智能电子钟系统设计毕业设计论文 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年基于单片机的智能电子钟系统设计毕业设计论文 .pdf(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于单片机的智能电子钟系统设计姓名:李永健、王海、吕军梅、巩珍珍课题组的分工或贡献:每人完成的百分比或者每人负责的内容课程名称: MCS-51单片机应用设计指导教师:李林2014年 12 月名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 23 页 - - - - - - - - - 基于单片机的智能电子钟系统设计李永健、王海、吕军梅、巩珍珍(信息科学与工程学院)摘要:电子钟是一种利用数字电路来显示时间的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置
2、等优点,因而得到广泛应用。本设计通过以单片机芯片STC89C51 为核心,通过软件编程完成时钟及定时的基本功能,温度芯片DS18B20 完成温度测量功能。采用了六位数码管动态显示时、分、秒,两个 LED灯分别指示上下午, 同时还有两个 LED灯每半秒分别闪烁一次。矚慫润厲钐瘗睞枥庑赖。通过 4 个外部按键可以控制小时和分钟的定时和定闹以及报警。此电子钟具有性能优越,操作简单等优点。关键词: 智能电子钟、 STC89C51、LED 数码管、 DS18B20 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -
3、- - - - 第 2 页,共 23 页 - - - - - - - - - 目录一、项目目的二、项目要求三、基本原理四、设计方案 (一)系统整体设计思想(二) 电子钟计时(三) 数码管显示(四) 调时(五) 定闹、报警(六) 温度采集五、结论六、参考文献七、附录一附录二名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 23 页 - - - - - - - - - 一、项目目的 1. 掌握单片机各个功能模块 ( 并行 I/O 口、中断系统、定时器 / 计数器 )的工作原理、
4、性能和特点;2、掌握单片机外围电路的设计方法和仿真方法;3、掌握单片机外围电路的调试方法;4、掌握单片机外围电路设计报告的撰写方法;5、培养团队合作精神、项目组织与管理、交流表达能力;6、培养责任感和职业道德。二、项目要求本课程三级项目要求学生使用MCS-51系列单片机设计并制作一个具有时间显示、按键调时、闹钟报警、温度测量、遥控和自动调时等功能的软硬件系统,可实现六项基本功能分别如下:聞創沟燴鐺險爱氇谴净。1) 时间显示:采用六个数码管显示当前时间:小时、分钟、秒。2) 温度显示:采用两个数码管显示当前环境温度。3) 上下午指示:采用两个发光二极管来指示上下午。4) 半秒提示:采用两个发光二
5、极管,每隔半秒闪烁。5) 调时功能:采用三个按键 (K1-K3) 来调整时间,步骤如下:a)按下 K1键,开始调小时,同时2 个小时数码管闪烁。b)按下 K2键,小时加;按下K3键,小时减。c) 小时调整好后,再按下K1键,开始调分钟,同时分钟数码管闪烁。d)按下 K2键,分钟加;按下K3键,分钟减。e)调整好分钟后,再按下K1键,调时结束。6) 闹钟功能:采用三个按键 (K2-K4) 来调整闹钟,步骤如下:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 23 页 - -
6、 - - - - - - - a)按下 K4键,开始调小时,同时2 个小时数码管闪烁。b)按下 K2键,小时加;按下K3键,小时减。c) 小时调整好后,再按下K4键,开始调分钟,同时分钟数码管闪烁。d)按下 K2键,分钟加;按下K3键,分钟减。e)调整好分钟后,再按下K4键,定闹结束。闹钟定时的时间到后,蜂鸣器/ 扬声器发出提示音;用户需按K2-k4 键来取消闹钟警告。三、基本原理利用软件编程借助于定时器/ 计数器 0 实现间隔为 1s 的定时功能,格式为秒,分,时,在其中断服务程序中实现对小时、分钟、秒单元数值的调整。主程序通过不断循环调用调时子程序,实现整个功能。 利用嵌套在调时子程序中的
7、显示子程序实现上下午指示和半秒闪烁。利用温度芯片DS18B20来测量温度。残骛楼諍锩瀨濟溆塹籟。四、设计方案(一)系统整体设计思想总体设计框图:电源STC89C52 单片机DS18B20 温度芯片LED 灯指示(上下午、半秒)8 片数码管显示按键(k1k4) 报警名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 23 页 - - - - - - - - - 通过定时器 / 计数器 0 实现 1s 的计时,将它设计成内部中断,即每计满1s产生中断信号, 主程序转去执行定时器0
8、 的中断服务程序, 按照时间规则改变相应 RAM 存储单元的数值。在主程序里首先不断检测是否有按键按下,如果没有,则不断调用显示子程序, 否则, 根据按下的是哪个键可以转去执行相应的程序段,分别实现小时和分钟的加和减以及闹钟定时,而每次执行结束都会调用显示子程序,保证数码管的稳定显示,同时也可以实时根据存储单元数值的不同显示。酽锕极額閉镇桧猪訣锥。而闹钟的倒计时则利用定时器/ 计数器 1 的计时来实现,同样为1s 计时,只不过是在中断服务程序中实现对存储单元的按规则递减,同样的即使显示就可以实现倒计时功能,到达00:00:00 时就可以调用报警子程序,实现报警。彈贸摄尔霁毙攬砖卤庑。(1)RA
9、M 单元分配(21H).0 指示即将显示的是十位还是个位20H #0AH,定时器 / 计数器 0 或 1 计满 10 次为 1s 19H #05H,定时器 / 计数器 0 或 1计满 5 次为 0.5s 18H #05H,显示子程序内部执行次数29H #01010101B 30H 小时的 BCD 码31H 分钟的 BCD 码 32H 秒的 BCD 码TH0 #3CH ,T0计数初值,可计时100ms 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 23 页 - - - -
10、 - - - - - TL0 #0B0H TH1 #3CH ,T1计数初值,可计时100ms TL1 #0B0H (2) 循环执行部分:HERE: LCALL ADJUST AJMP HERE ; 反复调用ADJUST 程序可以实现所有功能(3)主程序的初始化部分:MAIN: SETB P3.0 CLR P3.1MOV TMOD,#01H ; 设 T0方式 1,定时CLR A ;A 清零MOV 30H, A ; “时”单元清零MOV 31H, A ; “分”单元清零MOV 32H, A ; “秒”单元清零SETB ET0 ; 允许中断SETB ET1SETB EA ;CPU开中断MOV TH0
11、, #3CH ; 给 T0装入计数初值,可计时100msMOV TL0, #0B0H ;MOV TH1, #3CH ; 给 T1装入计数初值MOV TL1, #0B0H SETB TR0 ; 启动计数(二) 时间显示模块(1)物理连接P0.0P0.7 接数码管的 adp(片选码 ) P2.0P2.5 接数码管的 16(段选码)时间显示:采用六个数码管显示两位的小时,分钟,秒名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 23 页 - - - - - - - - - (2)
12、流程图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 23 页 - - - - - - - - - (3)动态显示的核心在于依次选中一块数码管,并在此之前将相应数码管要显示的数字的段码送到端口, 进行相应的延时后关闭数码管选通信号。不断执行上述过程就可以实现较为稳定的动态显示。謀荞抟箧飆鐸怼类蒋薔。每次进入主程序都首先判断是否到了1s,到了则继续执行,否则,返回中断。为了在显示完秒之后还能继续显示小时的十位,必须有一个用来计数的单元,用以区分当前显示的是小时还是分钟,还
13、是秒,并以此作为仅次于显示次数 N的循环。厦礴恳蹒骈時盡继價骚。对每一个单元( 30H32H )的两位 BCD 码的显示,用一位( 21H ).0 来指示即将显示的是十位还是各位,据此控制刚才所说的单元指示数值是否用该加一或者重新初始化。茕桢广鳓鯡选块网羈泪。由此在 DISPLAY子程序中有 3 重循环。调用入口参数为30H32H单元的数值。(4)半秒提示:采用两个发光二极管,每隔半秒闪烁。中断 5 次就是半秒,并在相应的分支里设置P3.6 和 P3.7,保证二者同时取反即可。这可以放在显示子程序内部,保证时间显示和半秒闪烁的同步,同时可以节约计数器。(5)上下午指示:采用两个发光二极管来指示
14、上下午。只要判断 30H单元的内容与 11H相比较就可以知道是上午还是下午了,在分支语句里控制相应的灯亮了就行。如上所述,将它放置在显示子程序里较为方便。鹅娅尽損鹌惨歷茏鴛賴。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 23 页 - - - - - - - - - 时间显示模块的仿真结果(三)按键模块ADJUST 的主体部分就是检测是否有按键按下,如果没有只是调用显示子程序,而有的话转去执行相应的分支语句。籟丛妈羥为贍偾蛏练淨。为了防止干扰,我们便写了一个延时5ms左
15、右的子程序,若是经过延时后,按键信号依然有效,则认定是有效信号,否则为干扰,返回程序起始点重新检测。預頌圣鉉儐歲龈讶骅籴。K1可以控制实现定时,所以定时器计数器依然是0 在起作用,在其分支语句里根据按键次数使指针指向不同的单元(小时、分钟),然后检测 K2K3的信号到来。渗釤呛俨匀谔鱉调硯錦。在 K2K3的分支语句里实现指针所指向单元的加一或者减一,但是注意要按照时间规则来, 对加一或者减一结果进行调整, 否则可能出错。铙誅卧泻噦圣骋贶頂廡。对单元的加一或者减一直接反映到显示子程序和定时器计数器0 或者 1 的 16 位计数单元里,所以,每次更改后的值就相当于对时间确定调节,并从该处继续计时,
16、这样就实现了调时功能。擁締凤袜备时分秒上午半秒提示名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 23 页 - - - - - - - - - 訊顎轮烂蔷。K4的分支语句要求实现定闹, 它与 K1分支语句的不同之处是更改当前计数器为1,关闭 0,在计数器 1 的中断服务程序里可以实现倒计时功能。贓熱俣阃歲匱阊邺镓騷。元器件:按钮开关名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -
17、- - - - 第 11 页,共 23 页 - - - - - - - - - (四)闹钟模块(1)计时器 T1 的倒计时同样是 1s 的倒计时,只是在中断程序里实现对计时单元的减一,但在减一之前检测是否为0,如果是就调用报警子程序,如果不是则按照规则减一,注意的同样是数值的调整。坛摶乡囂忏蒌鍥铃氈淚。调整结束后返回 ADJUST 程序,继续检测,这样就可以实现连续调节。K1:控制调时K3:对应单元减一K2:对应单元加一K4:控制定闹名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1
18、2 页,共 23 页 - - - - - - - - - (五)报警模块连线 P1.7 引脚连接到三极管元器件:蜂鸣器、三极管2N2907 原理:由单片机芯片中引脚输出的信号来控制蜂鸣器的开和关在报警子程序里要求不断调用显示子程序,这样数码管可以在时间到达之后稳定显示 00:00:00. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 23 页 - - - - - - - - - (六)温度测量模块元器件:数字温度传感器DS18B20 (测温范围 -55 度125度)原
19、理:利用温度传感器测量到温度值通过引脚传递到芯片中利用 DS18B20 温度芯片来实现温度测量的功能,并将其显示在数码管上。测量的温度范围是零下55 至零上 125 摄氏度。 DS18B20 的六条控制命令如下表:指令约定代码操作说明温度转换44H 启动 DS18B20 进行温度转换读暂存器BEH 读暂存器9 个字节内容写暂存器4EH 将数据写入暂存器的TH 、TL 字节复制暂存器48H 把暂存器的TH、TL 字节写到E2RAM 中重新调 E2RAM B8H 把 E2RAM 中的 TH 、TL 字节写到暂存器TH、TL 字节读电源供电方式B4H 启动 DS18B20 发送电源供电方式的信号给主
20、CPU 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 23 页 - - - - - - - - - 五、结论本次项目利用单片机STC89C52 控制串行口与时钟芯片DS1302构成数字时钟电路,实现计时功能,同时具有定时闹钟的功能,并且可以显示温度,定时和调时的功能仅用四个键控制, 更加方便。本设计没有实现上下午提示和半秒提示的功能,但是智能电子钟的基本功能已经实现,所以算是比较成功的。蜡變黲癟報伥铉锚鈰赘。六、不足和改进(1)当定闹结束之后不能够通过按键来重新启动,
21、这个可以通过在报警子程序里跳转到主程序重新开始执行来实现。(2)在调时和定闹的过程中,相应模块不能闪烁,这个可以通过调用一个新的显示子程序,实现相应数码管间歇性亮灭。買鲷鴯譖昙膚遙闫撷凄。(3)时间紧迫,没有对减或者加的单元设定上限和下限值,所以只能实现一天内的功能。 这个可以通过在相应程序段中与限值比较来实现。綾镝鯛駕櫬鹕踪韦辚糴。(4)温度显示模块是一大遗憾,没有足够的时间来做。(5)在设计过程中另外有一个关于按键的想法,没有能够编程实现。它是利用两级中断来实现。 加一或者减一是通过外部中断的中断服务程序实现。这里可能与按键延时有关, 同时这样的设计可能会涉及到从引脚读入信号,这在实际设计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年基于单片机的智能电子钟系统设计毕业设计论文 2022 基于 单片机 智能 电子钟 系统 设计 毕业设计 论文
限制150内