大工秋单片机原理及应用大作业答案.doc

上传人:h**** 文档编号:138469 上传时间:2018-07-10 格式:DOC 页数:17 大小:333.50KB
下载 相关 举报
大工秋单片机原理及应用大作业答案.doc_第1页
第1页 / 共17页
大工秋单片机原理及应用大作业答案.doc_第2页
第2页 / 共17页
大工秋单片机原理及应用大作业答案.doc_第3页
第3页 / 共17页
大工秋单片机原理及应用大作业答案.doc_第4页
第4页 / 共17页
大工秋单片机原理及应用大作业答案.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、 网络教育学院 单片机原理及应用大作业 题 目 : 单片机电子时钟设计 学习中心: 奥鹏远程教育福州学习中心 层 次: 专升本 专 业: 电气工程及其自动化 年 级: 2014 年 09 秋 季 学 号: 学生 姓名 : 大工 15 秋 单片机原理及应用 大作业 具体要求: 1 作业内容 从以下五个题目中任选其一作答。 2 正文格式 作业正文内容统一采用宋体,字号为小四, 字数在 2000 字以上 。 3. 作业提交 学生需要 以附件形式上交离线作业(附件的大小限制在 10M 以内),选择已完成的作业,点 “上交” 即可。如下图所 示。 4. 截止时间 2016 年 3 月 9 日。 在此之前

2、,学生可随时提交离线作业,如需修改,可直接上传新文件,平台会自动覆盖原有文件。 5. 注意事项 请同学 独立完成作业,不准抄袭其他人或者请人代做,如有雷同作业,成绩以零分计! 题目 一 : 单片机电子时钟设计 准 则: 设计一个基 于 51 单片 机 或 STM 单片机 的电子时钟,并且能够实现时分秒的显示和调节 撰写 要求: ( 1) 首先介绍课题背景, 并进行需求分析及可行性分析, 包括软硬件功能分配、核心器件的选型 等 ; ( 2) 对系统硬件进行设计,包括 硬件功能模块划分、电路原理 图设计 等 ; ( 3) 对系统软件进行设计,选用汇编语言或 C 语言编写程序,给出软件开发流程 ;

3、( 4)总结:需要说明的问题以及设计的心得体会。 一、课题背景 1957 年 ,Ventura 发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。从而达到计时的功能,是人们日常生活不可缺少的工具。现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用 LED 显示

4、器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。 二、时钟的基本原理分析 利用单片机定时器完成计时功能,定时器 0计时中断程序每隔 0.01s 中断一次并当作一个计数,设定定时 1秒的中断计数初值为 100,每中断一次中断计数初值减 1,当减到 0时,则表示 1s 到了,秒变量加 1,同理再 判断是否 1min 钟到了,再判断是否 1h到了。 为了将时间在 LED 数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据储存器等较多硬件,可采用动态显示法实现 LED 显示,通过对每位数码管的依次扫描,使对

5、应数码管亮,同时向该数码管送对应的字码,使其显示数字。由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。 三、 51单片机介绍及时钟设计分析 针对要实现的功能,采用 AT89S51单片机进行设计, AT89S51 单片机是一款低功耗,高性能 CMOS8位单片 机,片内含 4KB在线可编程( ISP)的可反复擦写 1000次的 Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准 MCS- 51指令系统及 80C51引脚结构。这样,既能做到经济合理又能实现预期的功能。 在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理

6、解,又能便于添加各项功能。程序可分为闹钟的声音程序、时间显示程序、日期显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序等。运用这种方法,关键在于各模块的兼容和配合,若各模块不匹配会出现意想不到的错误。 首先,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否则,编程无从下手,电路也无法设计。这是前期准备工作。第二部分是硬件部分:依据想要的功能分块设计设计,比如输入需要开关电路,输出需要显示驱动电路和数码管电路等。第三部分是软件部分:先学习理解汇编语言的编程方法再根据设计的硬件电路进行分块的编程调试,最终完成程序设计。第四部分是软件画图部分

7、:设计好电路后进行画图,包括电路图和仿真图的绘制。第五部分是软件仿真部分:软硬件设计好后将软件载入芯片中进行仿真,仿真无法完成时检查软件程 序和硬件电路并进行修改直到仿真成功。第六部分是硬件实现部分:连接电路并导入程序检查电路,若与设计的完全一样一般能实现想要的功能。最后进行功能扩展,在已经正确的设计基础上,添加额外的功能! 四、时钟的设计 A.电路设计 1. 整体设计 此次设计主要是应用单片机来设计电子时钟,硬件部分主要分以下电路模块:显示电路用 8个共阴数码管分别显示,星期(年份),小时、分钟(月份)和秒(日),通过动态扫描进行显示,从而避免了译码器的使用,同时节约了 I/0端口,使电路更

8、加简单。单片机采用 AT89S51系列,这种单片机应用简单 ,适合电子钟设计。 电路的总体设计框架如下: 2. 分块设计 模块电路主要分为:输入部分、输出部分、复位和晶振电路。 单片机 输入部分 晶振和复位 输出部分 2.1 输入部分 输入信号主要是各种模式选择和调整信号,由按键开关提供。 以下为输入部分样例: 在本实验中主要用用 P3口输入按键信号,还用到了特殊的 P0口。对于 P0口,由于其存在高阻状态,为了实现开关功能,给其添加上拉电阻,具体如下图所示: 2.2 输出部分 本电路的输出信号为 7段数码管的位选和段选信号,闹铃脉冲信号,提示灯信号。 本实验的数码管是共阴的,为了防止段选 信

9、号不能驱动数码管,故在 P1 口连接上拉电阻后,再送段选信号,以提高驱动,位选信号直接从 P2 口接入,如下图: 闹铃由 P2.6端输出,模块如下: 2.3 晶振与复位电路 本实验单片机时钟用内部时钟,模块如下: 复位电路为手动复位构成,模块如下: 各模块拼接组合,电路总体设计图如下: B.程序设计 B.1 程序总体设计 本实验用汇编程序完成 . 程序总的流程图如下: 主程序开始 显示星期,时, 分,秒 是否有调 转? T0中断 秒,分,时等进位 闪烁提示 显示日期并调整 响铃提示 时间调整 闹铃设置 定时设置 铃声测试 秒表模式 回主程序 定时到 按0键 按0键 闹铃到 按1键 按2键 按3

10、键 按4键 按5键 按7键 7键恢复 按4键 按8键 按0键 按0键 倒计时启动并显示 回主程序 秒表暂停 秒表清零 回主程序 按7键 B.2 程序主要模块 B.2.1 延时模块 数码管显示动态扫描 时,用到延时程序,这里使用延迟 1ms 的程序,此程序需反复调 ,除数码管动态扫描外,数码管的闪烁提示,以及音乐模块也用到了延时,只是延时的长短不同罢了,在此不再赘述。 B.2.2中断服务程序 本实验中,计数器 T0,T1中断都有运用,其中 T0中断为时钟定时所用, T1中断用于音乐播放。 T0的定时长度为 0.01s,工作于方式 1,计数 1次,时长 1us,故计数器计数 10000次,进入中断

11、,计数初值为 65536-10000=55536=#0D8F0,装满定时器需要 0.01s的时间,从而 100次中断为一秒,一秒之后,判断是否 到 60秒,若不到则秒加一,然后返回,若到,则秒赋值为 0,分加一,依次类推。包括日期显示的功能也是如此。另外,由于要实现倒计时功能,因此在中断程序中还要加入减一的寄存器,需要时将其进行显示。基于以上考虑,以 R3为倒计时中的秒,R4为倒计时的分,当秒加 1时 R3减一,减到 0之后,秒赋值为 59,分减一,直到分为 0。 计数器 T1 工作于方式 1, 当调用响铃程序时,其计数功能开启,为音乐音调不同频率的方波的形成,提供延时。其中断服务程序就是根据

12、音调改变音乐方波输出口电平的高低,用语句 CPL 实现。 中断服务程序中日历的 实现较为复杂,要考虑平年,闰年,特殊的 2月,每月的天数的不尽相同。具体的逻辑判断方法为:首先,要考虑年份是不是闰年,闰年的判断方法是:将年份除以 100,若能整除,则将年份除以 400,若还能整除,则为闰年,若不能,则为平年;若不能被 100整除,则判断是否能被 4整除,若能,则为闰年,若不能则为平年。只有 2月与平、闰年相关,因此在闰年和平年的子程序中,要判断是不是 2月,若是则在相应的年中进行日期的增加,若不是则转入平时的月份。其中 1、 3、 5、 7、 8、 10、 12月是每月 31天, 4、 6、 9

13、、 11月为每月 30天。 日历 进位判断流程图如下: 本实验用 8个数码管,刚好能显示年,月,日,扫描显示与时间的扫描显示类似。年比较特殊,由两个寄存器存储,个位,十位为 0时,表明年数能被 100整除,若此时千位,百位 组成两位数能被 4 整除,则年数被 400 整除,为闰年。若十位,个位组成两位数能被 4整除,则年数能被 4 整除,为闰年。 B.2.3 主程序 主程序主要对按键进行扫描,以及判断定时和闹铃时间是否已到,若到则调用相关程序。 B.2.4 显示子程序 8个数码管轮流进行显示,分别显示 1ms,依赖人的视觉 暂留 效应,给人以数码管持续高亮的错觉。 日期的显示,秒表的显示,倒计

14、时的显示,调闹铃,调定时的显示,闪烁的显示程序与以上的的扫描相似,有的以子程序的方式出现,通过子程序调用语句ACALL调用;有点直接嵌套在相应的程序里面,顺序执行,或者用调转语句 AJMP调用。 C 程序调试及仿真 本程序通过 Keil单片机开发平台实现程序的编译,链接,生成 HEX文件。通年份能否被 100 整除 N Y 年份是否能被 4整除 年份是否能被 400整除 N N 平年 闰年 Y Y 是不是 2 月 是不是 2月 Y 日 =28 之后返回为 1 N N Y 日 =29 之后返回为 1 若月份为 1、 3、 5、 7、 8、 10、 12月则调用 31 天的程序 若月份为 4、 6、 9、 11 则调用 30 天的程序

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 参考答案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。