单片机课程设计(论文)-电子钟的设计

上传人:aa****6 文档编号:29986456 上传时间:2018-01-26 格式:DOC 页数:19 大小:540KB
返回 下载 相关 举报
单片机课程设计(论文)-电子钟的设计_第1页
第1页 / 共19页
单片机课程设计(论文)-电子钟的设计_第2页
第2页 / 共19页
单片机课程设计(论文)-电子钟的设计_第3页
第3页 / 共19页
单片机课程设计(论文)-电子钟的设计_第4页
第4页 / 共19页
单片机课程设计(论文)-电子钟的设计_第5页
第5页 / 共19页
点击查看更多>>
资源描述

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

1、衡水职业技术学院机电工程系课程设计报告书课 题 名 称 学 生 姓 名 系、年级专业 指 导 教 师 2011年 6 月 24 日摘 要本电子钟采用 STC89C52单片机为核心,使用 12MHz 晶振与单片机 STC89C52 相连接,通过软件编程的方法实现以 24小时为一个周期,同时 8位 7段 LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求,并在计时过程中具有定时功能,当时间到达提前定好的时间进行蜂鸣报时。该电子钟设有四个按键 S1、S2、S3 和 S4键,进行相应的操作就可实现校时、定时、复位功能。具有时间显示、整点报时、校正等功能。走时准确、显示直观、精度、稳定等优点。整

2、个过程就是先设计和焊接好硬件电路,再通过汇编语言编写应用程序来实现我们需要的功能,这期间,进行的软件仿真和调试是本设计的重点和难点。 关键字:电子钟,STC89C52,硬件设计,软件设计1一、方案比较1.设计课题任务学生在教师指导下,综合运用所学知识完成基于 51单片机的电子钟的设计。要求格式为:XX XX XX,由左向右分别为:时、分、秒。2.功能要求说明学生应通过课程设计巩固和加深扩大所学的理论知识,掌握单片机应用系统的硬件、软件及其接口的设计和调试方法,并根据调试结果,写出设计报告。设计报告应包括任务书、器件选型及设计思路、软硬件设计过程说明、调试结果总结及分析等内容,并附电路原理图及程

3、序清单。3.设计课题总体方案介绍及工作原理说明本电子钟主要由单片机、4*1 独立键盘、显示接口电路和复位电路构成,设计课题的总体方案如图 1.1所示: 图1.1 总体设计方案图本电子钟的所有的软件、参数均存放在 STC89C52的 Flash ROM和内部 RAM中,减少了芯片的使用数量简化了整体电路也降低了整机的工作电流。由于 STC89C52芯片内部 Flash ROM有8KB,RAM 有 256个字节,故软件下载编译时有足够的存储空间。键盘采用动态扫描方式。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据,同时通过端口读入当前外部控

4、制状态来改变程序的不同状态,实现不同功能。二、硬件设计1.设计课题硬件系统各模块功能简要介绍本设计的硬件系统主要采用以下基本模块来实现,单片机最小系统模块,输入模块、输出键盘 4*1复位电路晶振电路蜂鸣器STC89C52单片机数码管驱动74LS245数码管 470欧限流电阻二位一体LED数码显示2模块、电源模块。(1).单片机最小系统模块:包括低功耗、高性能 CMOS8位微控制器 STC89C52;复位电路;晶振电路。本本模块 STC89C52系统控制核心,单片机系统复位由复位电路完成,单片机内部有一个高增益、反相放大器,其输入端为芯片引脚 XTAL1,其输出端位位引脚 XTAL2。通过这两个

5、引脚在芯片外并接石英晶体振荡器和两只电容。这样就构成一个稳定的自激振荡器。 (2).输入模块:本模块共用到了 5个按键,1 个电源开关,一个复位键,单片机运行期间,利用按键完成复位操作。3 个按键独立式键盘,S1 键控制电子钟的启动状态,S2 键为加 1键,S3键为减 1键。且 S1、S2、S3 任一键都独自连一个 I/O(P1.0、P1.1、P1.2)口线,说明它们可以独立实现相应的电子钟功能。(3).输出模块:本次设计显示为 8位,采用四个二位一体数码管(共阳极)作为显示窗口,既可以节约成本又能简化电路。数码管驱动为 74LS245芯片。(4).电源模块:现在市面上销售的编程器有很多都是由

6、 PC机的 USB口直接供电为了降低本设计的成本及节省设计时间,没有另外设计编程器,而直接购买了市场上的 USB供电及下载器。2.设计课题电路原理图、元器件布局图X1X2RSTX1X2RSTabcdefgdpdpabcdefgabcdefgdp 1234567881234567XTAL218XTAL119ALE3031PSN29RST9P0./AD0390.1/138P0.2/AD2370.3/336P0.4/AD4350.5/534P0.6/AD630.7/732P1.0/T211./2EX2P1.231.34P1.451.56P1.671.78P3.0/RXD103.1/T1P3.2/IN

7、0123./IT113P3.4/014P3.7/RD173.6/W163.5/T115P2.7/A1528P2.0/A8212.1/92P2./A10232.3/124P2.4/A12252.5/13262.6/1427U1AT89S52C13pC23pC32uR120X112MHzR210k234567891RP110KA02 B01813 117A24 B21635 315A46 B41457 513A68 B61279 71CE19AB/A1U274LS245S1S2S3S4LS1SPEAKERQ?PN3.设计课题元器件清单设计课题元器件清单如表 2.1所示。表 2.1 设计所用元器件清

8、单名称 数量 参数3电阻 5个 1K共阳数码管 4个 2位一体电阻 4个 4.7kISP下载口插座 1个普通插座 1个 40PIN电阻 8个 470电阻 5个 200按键 5个插针 1排 40PIN锁紧插座 1个 40PIN驱动 一套 74ls245USB供电接口及供电线 一套晶振及其插座 一套 12MHz电容 2个 30pF极性电容 1个 22F排阻 1个 10K芯片 1块 STC89C52发光二极管 1个六角开关 1个电容 各 1个 470f、104P铜柱 (带螺母) 4个三、软件设计1.设计课题使用单片机资源的情况设计课题使用单片机资源的情况如下:P0口输出数码管段选信号,P3 口输出数

9、码管位选信号;晶振 11.0592M;调整选择键SET_KEY:P1.0;通过选择键选择调整位,选中位闪烁;增加键 ADD_KEY:P1.1;按一次使选中位加 1;减少键 DEC_KEY:P1.2;按一次使选中位减 1;P2.1为蜂鸣器发声报时;50H-5FH;16 个寄存器单元作为显示单元; 50H 用于控制秒基准时钟源的产生;51H 清零秒寄存器;52H 清零分寄存器;53H 清零时寄存器;5FH 用于秒个位;5EH 用于秒十位;5DH 用于分个位;5CH 用于分十位;5BH 用于时个位;5AH 用于时十位;54H 用于控制调时闪烁;堆栈栈底:70H。42.设计课题软件系统个模块功能简要介

10、绍本设计的软件系统主要采用以下基本模块来实现,主程序、中断服务程序、键盘输入程序模块、数码管及其驱动模块和延时模块。主程序:主要是用于对输入信号的处理、输出信号的控制和对各个功能程序模块的运用及其控制。中断服务程序:主要是用于电子钟的准确运行、数据输入过程中的闪烁。键盘输入程序模块:主要是用于确定按键并得到特定的键码值。数码管及其驱动模块:主要是用于驱动数码管及利用数码管显示时间。延时模块:程序中有两种延时子程序,一种是短延时用于判键按下等,一种是长延时。3.设计课题软件系统程序流程框图系统软件采用汇编语言按模块化方式进行设计,然后通过 Keil软件开发平台将程序转变成十六进制程序语言,接着使

11、用 Proteous 进行仿真,读出显示数据。主程序流程框图如 3.1所示;加 1子程序如 3.2所示;中断服务程序程序如 3.3所示;键盘扫描子程序框图如 3.4所示;显示子程序框图如 3.5所示;开始程序初始化关闭定时器 T 0送 “ P . ” 显示代码S 1 键是否按下开中断E A = 1键盘扫描子程序时 、 分 、 秒 “ ” 数值处理 , 送缓冲区显示NY图 3.1 主程序流程框图取十位数取个位数 , 并占 A 低半字节把十位数交换到低半字节个位数送缓冲单元取十位数占 A 高半字节加 1十进制调整A D D 1十位数送缓冲单元返回图 3.2 加 1 子程序流程框图5现 场 保 护循

12、 环 次 数 减 1现 场 恢 复秒 值 加 1计 数 器 重 新 加 载秒 显 示 缓 冲 单 元 清 0分 显 示 缓 冲 单 元 清 0TIMET0分 值 加 1返 回是 否 满 20次是 否 满 60s是 否 满 60min是 否 满 24h时 显 示 缓 冲 单 元 清 0时 值 加 1NYYYNNNY图 3.3 中断子程序6图 3.4 键盘扫描子程序开 始结 束有 键 闭 合键 是 否 释 放保 存 键 值 调 显 示 子 程 序调 延 时 去 抖 动YN有 键 闭 合NNYY位 控 码 送 位 控 口 ( P3口 )开 始段 控 码 送 段 控 口 ( P0口 )延 时 5毫 秒

13、修 改 段 控 码8位 显 示 扫 描 是 否 完 成查 表 取 段 控 码修 改 位 控 码结 束NY7图 3.5 显示子程序4.设计课题软件系统程序清单程序入口;- ORG 0000H ;程序入口地址 LJMP START ORG 000BH ;定时器 0中断入口地址 LJMP TIMET0ORG 1000H;-;显 P.程序;功能:可以在 8个数码闪烁移位进行屏保;-START: MOV R6, #2 ;闪烁次数MOV A, #01H ;位选TT: MOV P3, AMOV P0, #0CH ;段码P.LCALL DELAYMOV P3, #00HDJNZ R6, TTLCALL DEL

14、AYLCALL DELAY1RR AJB P1.0, TT ;键是否按下,没按下则转移LCALL DELAY ;延时去抖JNB P1.0, KAI ;再次判断键是否按下KAI: SETB P1.0CLR A ;状态恢复MOV P0, #0FFHLCALL DELAY1SETB 48H ;用于调时闪烁标志SETB 47H ;用于产生脉冲用于调时快进的脉冲MOV R1, #0 ;键功能标志:0 计时、1 调时、2 调分、3 调秒;-;清 16位寄存器及初始化;50H 用于控制秒基准时钟源的产生;51H 清零秒寄存器;52H 清零分寄存器8;53H 清零时寄存器;5FH 用于秒个位;5EH 用于秒十位;5DH 用于分个位;5CH 用于分十位;5BH 用于时个位;5AH 用于时十位;54H 用于控制调时闪烁;-MOV R0, #50H ;初始化MOV R6, #10HCLEARJCQ:MOV R0, #00H ;清寄存器INC R0DJNZ R6, CLEARJCQMOV IP, #02HSETB EASETB ET0MOV

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

当前位置:首页 > 办公文档 > 其它办公文档

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