




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I 目录目录 一 功能描述一 功能描述 1 二 方案设计二 方案设计 1 2 1 系统分析 1 2 2 器件选择 1 三 软件设计三 软件设计 2 3 1 操作功能设计 2 3 2 程序编制思想 2 3 3 程序流程图 3 四 程序调试四 程序调试 3 五 心得体会五 心得体会 4 六 参考文献六 参考文献 5 附录附录 1 电路原理图 电路原理图 6 附录附录 2 程序 程序 7 1 多功能电脑时钟设计报告 一 功能描述一 功能描述 1 实时显示当前时间即北京时间 时 分 2 可修改北京时间 时 分 3 可设定闹铃时间 时 分 4 按设定闹铃时间定时报时 报时时长为 10 秒钟 5 具有显示星期和修改星期的功能 6 具有秒表功能 能启动 暂停 停止秒表 启到后实时显示秒 百分 秒 7 能实现整点报时 二 方案设计二 方案设计 2 12 1 系统分析系统分析 根据系统功能要求 可将系统组成结构分成四大部分 单片机控制中心 键盘接口 时钟显示和声音报时 如下图为系统的组成结构图 其中 单片机 控制中心是核心 MCU 根据按键输入 可切换不同的显示模式或设置不同的参 数 时钟显示完成北京时间或秒表时钟或星期的信息 声音报时可完成闹铃和 整点报时的提示 2 22 2 器件选择器件选择 选用 STC89C51 芯片 频率为 11 0592MHz 由于系统要求显示小时和分钟 采用四位 LED 数码管显示即可 按键是用来设置北京时间或闹钟时间或启动秒表等功能的 设置三个按键 模式键 K Mode UP 键 K UP DOWN 键 K DN 2 选用蜂鸣器作为闹铃 三 软件设计三 软件设计 3 13 1 操作功能设计操作功能设计 根据系统功能描述 可以分为 北京时间功能 闹铃功能 秒表功能星期 显示功能 我们通过对 K Mode 键按下的次数计数 用 Mode 计数 Mode 的次数就代表 了不同的模式 每个模式都有与之相对应的指示灯 每个模式的功能如下 Mode 0 按键每按下时显示北京时间模式 此时 四个指示灯全灭 显示 格式为 小时 分钟 如 09 50 为 9 点 50 分 按 K UP 或者 K DN 键对系统 没影响 每到整点时 要进行 3 秒钟的报时 Mode 1 按键按下一次时 进入修改北京时间的小时模式 四个指示灯依 次为亮灭灭灭 按 K UP 或者 K DN 键对小时进行修改 Mode 2 按键按下两次时 进入修改北京时间的分钟模式 四个指示灯依 次为灭亮灭灭 按 K UP 或者 K DN 键对分钟进行修改 Mode 3 按键按下三次时 进入修改闹铃时间的小时模式 四个指示灯依 次为灭灭亮灭 按 K UP 或者 K DN 键对闹铃小时进行修改 Mode 4 按键按下四次时 进入修改闹铃时间的分钟模式 四个指示灯依 次为灭灭灭亮 按 K UP 或者 K DN 键对闹铃分钟进行修改 Mode 5 按键按下五次时 进入秒表模式 四个指示灯依次为亮亮亮亮 显示格式为 秒百分秒 如 12 90 为当前秒表计时到 12 秒 900 毫秒 在此种 模式下 K UP 键设为用来启动 暂停秒表 K DN 键设为用来对秒表进行清零 Mode 6 按键按下六次时 进入星期的显示和修改模式 四个指示灯依次 为亮亮灭灭 显示格式为 X X 表示星期 可以通过按 K UP 或者 K DN 键对 X 修改 3 23 2 程序编制思想程序编制思想 使用定时器 0 来定时 定时 5ms 运用定时器的中断来实现这些功能 显 3 示是用的数码管的动态扫描 每 5ms 扫描一位数码管 20ms 循环一次 设置一 些标志位 实时时间显示的标志位 星期显示的标志位 闹铃时间显示的标志 位 秒表显示的标志位 在不同的模式下 我们要使该模式下的标志位有效 从而进行此模式的显示 通过按键进行不同的操作 每个标志位有效时 数码 管显示的内容就不一样 闹钟的实现是用一个子函数 没 5ms 调用一次函数 把北京时间与设定的 闹铃时间比较 如果相等就使蜂鸣器有效 闹铃时间的长短可以用一个变量对 秒计数 当计数值小于我们设定的值时 就是蜂鸣器有效 当大于等于设定的 值时就关闭蜂鸣器 整点报时很好实现 在中断函数里 当分钟等于 60 时 小时要自增 1 我 们可以在此时是蜂鸣器有效 有用一个变量对秒计数 当秒等于我们设定的值 时 就关闭蜂鸣器 3 33 3 程序流程图程序流程图 图 2 流程图 四 程序调试四 程序调试 按下编译后 生成 hex 文件 通过软件将其下载至单片机中 不是我们 主程序主程序 定时器初始化定时器初始化 等待等待 变量初始化变量初始化 定时中断定时中断 开位码开位码 送段码值送段码值 位码切换位码切换 退出退出 4 想要的结果 对程序要进行不断的调试 我认为在此次程序编写和调试中解决了一个比较大的问题 几个模式 下 数码管的不同显示 我们是在秒表的基础上进行设计 我们在按 Mode 键时 数码管显示的内容没有切换 显示的还是北京那时间 按 K UPK DN 键没有任何反应 只有显示和设定北京时间 最开始我们的显示程序是写 在主函数里的 参考了一些好的程序后 我们借鉴了他们的思想 通过设 置不同的标志位 标志位有效时 在中端函数里进行不同的显示 我们设置了 7 个模式 对每个模式的功能及操作进行调试 我们在秒 表模式下 按下启动 暂停 清零都能实现 不过按启动 暂停时有时候显 示的是北京时间 原来是在秒表模式下 我们要把其他模式的标志位要关 掉 改正后 这个问题就解决了 闹铃的调试时 本来我们是设置的响 1 分钟 并且可以通过一个按键 关断闹铃 但是在第二次设置闹钟时 闹铃就不会响了 最后我们只好让 闹铃响 20s 然后自动关闭 五 心得体会五 心得体会 经过几个周的单片机设计 我们从中学到了很多的东西 刚开始设计时 老师给我们的任务很简单 就叫我们设计灯的闪烁 那时候我们对单片机都还 不熟悉 一下午才把那个任务完成了 然后就是数码管的动态显示 计数器 秒表 最后才是电脑时钟的设计 我们从简单的单片机设计开始 一步一步的 增加难度 电脑时钟的设计 是在秒表的基础上慢慢的添加一个一个的功能 然后一个一个的调试 在调试的过程中我们遇到了很多的问题 我们编出来的 程序不是一下子就能实现我们想要的功能的 要经过不断的修改 调试 最后 实现我们想要的功能 总之 通过本次单片机综合程序设计训练 我对单片机的基本的应用技术 有了深刻的了解 而且还会将其融会贯通 应用于我们我需要的程序之中 本 次训练中 定时器的应用相当广泛 它与中断函数构成了基本的计数环节 为 后面的时间显示和星期显示等提供了基础 中断为定时提供了条件 函数每 5ms 便进入中断函数一次 并执行相应的操作与计数 条件语句为数码管的功 能显示提供了条件 同时 对于程序的调试 分析 修正也有了相应的掌握 5 六 参考文献六 参考文献 1 沈红卫 单片机的智能系统设计与实现 M 北京电子工业出版社 2 李光飞 楼然苗 胡佳文 等著 单片机课程设计实例指导 M 北京航空航天大 学出版社 3 汪德彪 MCS 51 单片机原理及接口技术 M 北京电子工业出版社 4 胡文金 钟秉翔 单片机应用技术实训教程 M 重庆大学出版社 5 张毅刚 彭喜元 董继成 单片机原理及应用 M 重庆大学出版社 6 王静霞 单片机应用技术 电子工业出版社 6 1234 A B C D 4321 D C B A Title NumberRevisionSize A4 Date 17 Jan 2008Sheet of File I 单单单单单单单 单单单 单单单 DdbDrawn B y b 7 e 1 a 11 d 2 com1 12 com2 9 f 10 c 4 g 5 p 3 com3 8 com4 6 L LE ED D CL3461AS M MO OD DE E U UP P D DN N 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 GN D 15 VC C 16 U U2 2MAX232 P00 P01 P02 P03 P04 P05 P06 P07 P10 P11 P12 P13 P00 P01 P02 P03 P04 P05 P06 P07 12 R RP P1 1A A 470 13 R RP P1 1B B 470 14 R RP P1 1C C 470 15 R RP P1 1D D 470 16 R RP P1 1E E 470 17 R RP P1 1F F 470 18 R RP P1 1G G 470 19 R RP P1 1H H 470 VC C C C5 5 0 1uF P20 P21 C C7 7 0 1uF C C9 9 0 1uF C C8 8 0 1uF C C6 6 0 1uF GN D GN D TX D RX D 重庆科技学院自普本05单片机综合训练系统图 VC C RR XD RTXD v1 0 S2 SV CCVC C Q2 8550 R4 10K U9 BU ZZER VC C P14 P00 P01 P02 P03 P04 P05 P06 P07 P34 P35 P36 P37 C12 0 1uF P20 P21 P22 P23 P24 P25 P26 P27 RX D TX D P32 P33 R2 10K VC C C15 15p XT1 11 0592M C1415p VC C C11 100uF C18 10uF P10 P11 P12 P13 P14 P15 P16 P17 EA VP 31 X1 19 X2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10 T 1 P11 T 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE P 30 TX D 11 RX D 10 U7STC 89C51 X1 X2 ALE PSEN 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 J14 CO N16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 J15 CO N16 RES P10 P11 P12 P13 P14 P15 P16 P17 RES RX D TX D P32 P33 P34 P35 P36 P37 X1 X2 GN D VC C P00 P01 P02 P03 P04 P05 P06 P07 ALE VC C PSEN P20 P21 P22 P23 P24 P25 P26 P27 D4 D3 D2 P22 P24 P25 P2612 RP2A 1K 13 RP2B 1K 14 RP2C 1K 15 RP2D 1K VC C P Pw wr rL LE ED DR R 1K AK Pw rLED VC C 1 2 3 4 JP2 US B5V CP1 470uF 1 6 2 7 3 8 4 9 5 J16 RS232 RR XD RTXD GN D SV CC GN D VC C GN D D1 P23 E EN NT T P32 17 1 08图纸 附录附录 1 电路原理图 电路原理图 7 附录附录 2 程序 程序 include reg52 h define THCO 0 xee define TLCO 0 x0 unsigned char code Duan 0 x3F 0 x06 0 x5B 0 x4F 0 x66 0 x6D 0 x7D 0 x07 0 x7F 0 x6F 0 x31 共阴极数码管 段码 unsigned char Data Buffer 4 0 0 0 0 四个数码管显示数值 数组变量定义 unsigned char Mill Sec 0 Sec1 0 Ring flag 0 unsigned char Hour 0 Min 0 Sec 0 unsigned char Ring Hour 16 Ring Min 40 count0 0 Week 1 unsigned char Mode 0 MODE 0 实时时钟 1 修改小时 2 修改分钟 3 修改闹钟小 时 4 修改闹钟分钟 5 启动秒表 6 修改星期 bit start flag 0 brush flag 0 标志位定义 bit flag 0 Week flag 0 标志位定义 sbit P10 P1 0 四个数码管的位码口定义 sbit P11 P1 1 sbit P12 P1 2 sbit P13 P1 3 sbit P14 P1 4 蜂鸣器 sbit K Mode P2 0 按键定义 sbit K UP P2 1 sbit K DN P2 2 sbit LED1 P2 3 四个指示灯 sbit LED2 P2 4 sbit LED3 P2 5 sbit LED4 P2 6 void naozhong void main TMOD 0 x11 定时器 0 初始化 TH0 THCO TL0 TLCO TR0 1 ET0 1 8 EA 1 P14 1 while 1 naozhong if flag 1 更新数码管显示 北京时间 flag 0 Data Buffer 0 Hour 10 Data Buffer 1 Hour 10 Data Buffer 2 Min 10 Data Buffer 3 Min 10 if Ring flag 1 更新数码管显示 闹钟时间 Ring flag 0 Data Buffer 0 Ring Hour 10 Data Buffer 1 Ring Hour 10 Data Buffer 2 Ring Min 10 Data Buffer 3 Ring Min 10 if brush flag 1 更新数码管显示 brush flag 0 Data Buffer 0 Sec1 10 Data Buffer 1 Sec1 10 Data Buffer 2 Mill Sec 10 Data Buffer 3 Mill Sec 10 if Week flag 1 更新数码管显示 Week flag 0 Data Buffer 0 10 Data Buffer 1 10 Data Buffer 2 10 Data Buffer 3 Week void timer0 interrupt 1 static unsigned char Bit 0 静态变量 退出程序后 值保留 static unsigned char K count 0 time count 0 count 0 TH0 THCO TL0 TLCO Bit if Bit 4 Bit 0 P1 0 x0f 先关位码 9 P0 Duan Data Buffer Bit 开段码 if count99 1S 时间到 Mill Sec 0 Sec1 if Sec1 99 Sec1 0 brush flag 1 更新数码管显示标志 count if count 200 秒计时 定时器定时 5ms 计 200 次为一秒 count 0 Sec if Sec 3 P14 1 整点报时闹铃关闭 count0 闹钟响的时间 if Sec 60 count0 0 Sec 0 Min if Min 60 时间计时 P14 0 整点报时 Min 0 Hour if Hour 24 10 Hour 0 Week if Week 8 Week 1 if K Mode 0 K UP 0 K DN 0 有键按下 K count if K count 30 消抖处理 K count 0 flag 1 if K Mode 0 修改 Mode Mode if Mode 7 Mode 0 if Mode 0 LED1 1 LED2 1 LED3 1 LED4 1 实时时间 else if Mode 1 LED1 0 LED2 1 LED3 1 LED4 1 修改小时 else if Mode 2 LED1 1 LED2 0 LED3 1 LED4 1 修改分钟 else if Mode 3 LED1 1 LED2 1 LED3 0 LED4 1 Ring flag 1 flag 0 修改闹铃小时 else if Mode 4 LED1 1 LED2 1 LED3 1 LED4 0 Ring flag 1 flag 0 修 改闹铃分钟 else if Mode 5 LED1 0 LED2 0 LED3 0 LED4 0 brush flag 1 flag 0 Ring flag 0 else if Mode 6 LED1 0 LED2 0 LED3 1 LED4 1 Week flag 1 flag 0 brush flag 1 else if K UP 0 if Mode 1 小时加 Hour if Hour 24 Hour 0 else if Mod
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025汽车保险合同范文
- 2025办公室租赁合同书范文
- 2025深圳华联检测科技有限公司食品检测合同书
- 2025鱼塘租赁合同范文
- 《唐宋诗词与元曲》课件
- 《放射治疗科急诊应对》课件
- 街道市民讲堂管理制度
- 枇杷收购协议书范本
- 菜买卖协议书范本
- 2025授权抵押借款合同范本汇编
- 《近代中国饮食变化》课件
- 2024年05月中国建材集团财务有限公司2024年招考2名工作人员笔试历年参考题库附带答案详解
- 实验教学评价标准与反馈机制构建
- 北师大版三年级下册数学口算题通关练习1000道带答案
- 【MOOC】城市景观设计-南京铁道职业技术学院 中国大学慕课MOOC答案
- 《黑龙江省高尔夫球运动发展现状调查研究》
- 机械CAD、CAM-形考任务三-国开-参考资料
- 2024年湖北省高考地理试卷真题(含答案逐题解析)
- 医疗质量和医疗安全培训
- 作业活动风险分级管控清单
- 四年级语文下册第六单元【集体备课】(教材解读+教学设计)
评论
0/150
提交评论