单片机课程设计 时钟跑表

上传人:第*** 文档编号:55655445 上传时间:2018-10-03 格式:DOC 页数:25 大小:896.15KB
返回 下载 相关 举报
单片机课程设计 时钟跑表_第1页
第1页 / 共25页
单片机课程设计 时钟跑表_第2页
第2页 / 共25页
单片机课程设计 时钟跑表_第3页
第3页 / 共25页
单片机课程设计 时钟跑表_第4页
第4页 / 共25页
单片机课程设计 时钟跑表_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《单片机课程设计 时钟跑表》由会员分享,可在线阅读,更多相关《单片机课程设计 时钟跑表(25页珍藏版)》请在金锄头文库上搜索。

1、成绩课 程 设 计课程名称单片机原理与应用课程设计单片机原理与应用课程设计课题名称时钟跑表设计时钟跑表设计专 业班 级学 号姓 名指导老师林国汉、王迎旭、汪超、李晓秀等林国汉、王迎旭、汪超、李晓秀等2017 年 5 月 22 日电电气气信信息息学学院院课课程程设设计计任任务务书书课题名称时钟跑表设计时钟跑表设计姓 名专业班级学号指导老师林国汉课程设计时间2017 年 5 月 22 日-2017 年 6 月 3 日一、任务及要求设计任务:本课题要求以 MCS-51 系列单片机为核心,设计一个数字时钟。(1)具有时钟和跑表功能,用 LED 或者液晶显示器进行显示;(2)具有时钟调整功能(3)* 具

2、有闹钟功能,且闹钟时间可调整。(4)*其它功能设计要求:(1)确定系统设计方案;(2)进行系统的硬件设计;(3)完成应用程序设计;(4)应用系统的硬件和软件的调试。二、进度安排第一周:周一:集中布置课程设计任务和相关事宜,查资料确定系统总体方案。周二周三:完成硬件设计和电路连接周四周日:完成软件设计第二周:周一周三:程序调试周四周五:设计报告撰写。周五进行答辩和设计结果检查。三、参考资料1、王迎旭等.单片机原理及及应用M. 2 版.机械工业出版社,20122、胡汉才.单片机原理及其接口技术M.3 版.清华大学出版社,2010.3、戴灿金.51 单片机及其 C 语言程序设计开发实例M.清华大学出

3、版社,2010目 录第一章 总体方案设计11.1 设计方案设计任务与要求 11.2 设计思路及系统框架图 1第二章 硬件电路设计32.1 单片机 AT89C51 32.2 矩阵键盘电路 42.3 蜂鸣器电路 42.4 LED 数码管显示电路 5第三章 软件设计63.1 系统主程序 63.2 矩阵键盘功能程序 63.4 定时功能程序 8第四章 调试.104.1 系统调试方法 .104.2 调试结果 .10第五章 总结.11附录12附录 A 电路仿真原理图12附录 B 程序清单130第一章 总体方案设计1.1 设计任务与要求设计任务:本课题要求以 MCS-51 系列单片机为核心,设计一个数字时钟。

4、(1)具有时钟和跑表功能,用 LED 或者液晶显示器进行显示;(2)具有时钟调整功能(3)* 具有闹钟功能,且闹钟时间可调整。(4)*其它功能设计要求:(1)确定系统设计方案;(2)进行系统的硬件设计;(3)完成应用程序设计;(4)应用系统的硬件和软件的调试。1.2 设计思路及系统框架图我们采用的是 AT89C51 作为时钟控制芯片。本次方案主要由时钟模块、秒表模块和闹钟模块组成,其中时钟模块包含时钟显示功能、时钟调整功能和时钟暂停功能,秒表模块包含秒表启动功能、秒表暂停功能、秒表时间存储功能和秒表回显功能,闹钟模块包含闹钟调整功能、闹钟显示功能和闹钟存储功能。时钟通过定时器 T0 对时、分、

5、秒的数值进行操作,并且秒计算到 60 的时候,要自己清零并向分进 1,分计算到 60 的时候,要自己清零并向时进 1,时进到 24 的时候,要清零,这样才能进行循环计时。秒表模块需要重新显示一个秒表界面,同时也应该需要通过另外一个定时器 T1 对秒表进行操作,从而保证在秒表界面,时钟显示模块的时间还在进行。闹钟模块则需要设计闹钟时间,当设计的闹钟时间和时钟的时间相等,蜂鸣器响起,从而达到闹钟功能,此外通过外接24c02 存储芯片,将闹钟时间进行存储,且具有断电存储功能,当系统断电重新开启以后,可显示之前设定的闹钟值。此外还要实现对时间的调整功能,AT89C51 的 P1 口外接一个矩阵键盘,当

6、按下 K3 键时,进行时钟调整,当 K3 按下一次时,是对时间的分钟进行调整,按下 K5 键数值加一,按下 K6 键数值减一。当按下 K12 键时,进行闹钟的调整,当 K3 按下一次时,是对闹钟的分钟进行调整,按下 K5 键数值加一,按下 K6 键数值减一。对于秒表模块,当按下 K7键时,秒表启动,当按下 K8 键时,显示秒表当前值,但秒表继续走动。在秒表计时过程中,每按下一次 K9 键,则对秒表当前值进行存储,每按下 K10 键,则对存储值进行一一回显(矩阵键盘按键标号详见电路仿真图)。在单片机内部构建两个模块:控制模块、定时模块,用以实现根据要求进行自动计数功能。单片机外部构建四个电路:矩

7、阵键盘电路、数码管显示电路、蜂鸣器电路、124C02 存储电路,用以实现对单片机内部计数选择控制、闹钟响铃、闹钟存储和时间输出的正确显示。该电子时钟是显示分、时值,秒为数码表的 DP 位闪烁的一种计时装置本次计时周期设置为 24 小时。为了确保时间正常校对,在系统中设有校对按钮,用以实现对数码管显示的正确调整,如图 1.1 所示为系统框架图。图 1.1 系统框架图2第 2 章 硬件电路设计2.1单片机 AT89C51AT89C51 是一低电压、高性能 CMOS 的 8 位微处理器,俗称单片机。AT89C51 是一种带 2K 字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反

8、复擦除 1000 次。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51 是一种高效微控制器。AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案,如图 2.1 所示为 AT89C51 的管脚图。本次电路中用到单片机的 P0、P1、P2、P3 口,所示下面对这四个端口进行详细介绍。P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P0 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在 FIASH 编程时,P0 口作为原码输入口,当

9、 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须接上拉电阻。本次课设中 P0 口接的是数码管的 8 个管脚,P00P07 依次接数码管的 ADP 管脚。P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时,P1 口作为低八位地址接收。本次 P1 课设口接的数码管的 6 个位选端口。图 2.1 89C51 引脚图3P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P

10、2 口缓冲器可接收,输出 4个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。本次课设中 P2 口的 P24P27 分别接的是数码管的位选 W1W4。P3 口:本次课设中 P3 口的 P33 和 P34 分别接

11、的是 24C02 的 SCL 和 SDA,P37 接的是蜂鸣器的一端。2.2矩阵键盘电路在本次设计中,矩阵键盘的 S1S4 列分别接 P17P14 引脚,H1H4 行分别接的是P13P10 引脚。先从 P1 口的高四位输出高电平,低四位输出低电平,从 P1 口的高四位读取键盘状态。再从 P1 口的高四位输出低电平,低四位输出高电平,从 P1 口的低四位读取键盘状态。将两次读取结果组合起来就可以得到当前按键的特征编码。使用上述方法我们得到 16 个键的特征编码。如图 2.2 所示为矩阵键盘接线图。图 2.2 矩阵键盘接线图2.3蜂鸣器电路 当时钟显示的时间与闹钟存储的时间相同时,P37 引脚输出

12、低电平,使蜂鸣器接通,发出滴滴的响声,响声持续时间为 20 秒,20 秒后 P37 引脚输出高电平,蜂鸣器关断,如图 2.3 所示为蜂鸣器接线图。4图 2.3 蜂鸣器接线图2.4LED 数码管显示电路在本次的设计中,采用的 4 位的数码管显示器。数码管如果按照段数分可为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元,也就是多了一个小数点的显示;如果按照发光二极管单元的连接方式又可以分为共阳极数码管和共阴极数码管。共阳极的数码管是将所有发光二极管的阳极接到一起后就形成公共阳极(COM)的数码管,共阳极数码管在应用时要将公共极(COM)接到+5V,当某一字段发光二极管的阴极为低

13、电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴极数码管是将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴极数码管在应用时应将公共极(COM)接到地线 GND 上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。本次课设的数码管选用共阳极八段数码管,如图 2.4 所示为 LED 数码管接线图。图 2.4 LED 数码管接线图5第 3 章 软件设计3.1系统主程序先对显示单元和定时器/计数器初始化,然后重复调用数码管显示模块和按键处理模块,检测矩阵按键值,则转入相应的功能程序。主程序流程图如图 3.1 所

14、示。图 3.1 主程序流程图 3.2矩阵键盘功能程序本次设计的 16 个矩阵按键共用到了 12 个按键,每个按键都有相应的功能。K1 键为时钟启动键,按下 K1 键后数码管显示时钟。此时按下 K3 键以后进行时钟调整,按一下进行分钟调整,按两下进行小时调整。接着按 K5 键数值加一,按 K6 键数值减一。每次调整分钟或小时之后都要按 K1 键进行确定之后才能重新按 K3 键进行调整。按下 K7 键启动秒表,接着按下 K8 键,秒表暂停,但此时秒表还在走动,只是显示按键时秒表的当前值。在秒表走动过程中,按下 K9 键则存储当前按下值,每按一下,存储一个值,按下K10 键后则回显秒表之前存储的值,

15、每按一下,回显一个时间,循环显示。K11 键为闹钟显示功能按键,K12 为闹钟调整按键,按一下进行分钟调整,按两下进行小时调整。接着按 K5 键数值加一,按 K6 键数值减一。每次调整分钟或小时之后都要按 K11 键进行确定之后才能重新按 K12 键进行调整。此外 K2 键为时钟暂停键,K4 键为系统清零键。时钟模块、秒表模块和闹钟模块对应的矩阵键盘功能程序流程图分别如图 3.3、图 3.4、图 3.5所示。6图 3.3 时钟模块矩阵键盘功能流程图 图 3.4 秒表模块矩阵键盘功能流程图K1键?时钟显示K3键是否按下?按几下?分钟调整小时调整YYYN初始化是否有按键按下NN两下一下K7键?秒表

16、启动K8键是否按下?K9键是否按下?秒表暂停存储按下时秒表时 间K10键是否按 下?秒表回显YYYY初始化是否有按键按下YNNNNN7初始化是否有按键按下K12键?闹钟调整分钟调整小时调整K6键是否按下?K5键是否按下?数值加一数值减一YNNYYYNN按一下?按两下?NYYN图 3.5 闹钟模块矩阵键盘功能流程图3.3 定时功能程序T0 用于时钟定时,定时时间设为 50ms,定时时间到则中断,在中断服务程序中用一个计数器对 50ms 计数,计 20 次则对秒单元加一。秒单元加到 60 则对分单元加一,同时秒单元清 0;分单元加到 60 则对时单元加一,同时分单元清 0;时单元加到 24 则对时单元清 0,标志一天时间计满。T1 用于秒表定时,定时时间设为 20ms,定时时间到则中断,在中断服务程序中用一个计数器对 20ms 计数,计 5 次则对秒表的 100 毫秒单元加一。100 毫秒单元加到 10 则对秒单元加一,同时 100 毫秒单

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号