《单片机原理及接口》课程设计报告-时钟系统设计

上传人:jiups****uk12 文档编号:52746246 上传时间:2018-08-25 格式:DOC 页数:15 大小:450.50KB
返回 下载 相关 举报
《单片机原理及接口》课程设计报告-时钟系统设计_第1页
第1页 / 共15页
《单片机原理及接口》课程设计报告-时钟系统设计_第2页
第2页 / 共15页
《单片机原理及接口》课程设计报告-时钟系统设计_第3页
第3页 / 共15页
《单片机原理及接口》课程设计报告-时钟系统设计_第4页
第4页 / 共15页
《单片机原理及接口》课程设计报告-时钟系统设计_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《《单片机原理及接口》课程设计报告-时钟系统设计》由会员分享,可在线阅读,更多相关《《单片机原理及接口》课程设计报告-时钟系统设计(15页珍藏版)》请在金锄头文库上搜索。

1、单片机原理及接口单片机原理及接口课课程程设设计计报报告告题 目: 时钟系统设计 专业名称: xxx 班 级: 莆田学院 学 号: xxxx 姓 名: xxxx 2012 年 1 月时钟系统设计时钟系统设计一设计说明一设计说明1.11.1 设计目的:设计目的:(1)掌握 C51 单片机的结构及其内部的定时/计数器、中断系统、以及外围的行列式按键 和 LED 数码管等部件 (2)掌握定时/计数器的结构和原理、中断处理系统的工作原理及中断方式处理定时/计数 的工作过程,数码管显示原理 (3)设计时钟系统通过数码管显示及按键设置实现时间的准确显示、闹铃和修改 (4)学会运用软件和硬件相结合来实现设计的

2、需要 1.21.2 设计要求:设计要求:设计一时钟系统,系统具有时钟功能,能准确显示时、分、秒。1.31.3 电子数字钟实现的主要功能电子数字钟实现的主要功能1、 实现正常走时2、 能够设置时间且待设置位会闪烁显示3、 具有闹铃及设定闹铃时间功能4、 具有倒计时功能1.41.4 设计环境设计环境(1)硬件:计算机一台(2)Windowns 操作系统 、 KeilC51 单片机仿真软件 、 proteus 单片机系统仿真软件。二、整体设计方案二、整体设计方案1.1.硬件电路设计硬件电路设计时钟的设计,主要采用了 AT89S52、74HC573、74LS138、晶振、8 只共阴 LED 数码管,包

3、括显示模块,按键模块和扬声器模块以及单片机的基础电路。 1.11.1 方案设计所应用知识方案设计所应用知识1.1.1.C511.1.1.C51 单片机介绍(单片机介绍(如图 1-1)89C51 单片机有四组 8 位并行 I/O 口,记作 P0、P1、P2 和 P3。每组 I/O 口内部都有 8 位数据输入缓冲器、8 位数据输出锁存器及数据输出驱动等电路。四组并行 I/O 端口即可以按字节操作,又可以按位操作。当系统没有扩展外部器件时,I/O 端口用作双向输入输出口;当系统作外部扩展时,使用 P0 口作系统地址的低 8 位、P2 口作系统地址的高 8 位;P0 口还可作数据时分复用线,P3 口有

4、第二功能(如图 1-2) ,大多与其内部功能部件有关,其中 RD、WR 是外部数据存储器的写、读控制信号。 应注意:当四个并行口在作输入口使用时,均应先对其写“1” ,以避免误读。图 1-1 89C51 单片机相关引脚 图 1-2 P3 口每一位的第二功能1.1.21.1.2 定时定时/ /计数器计数器8051 型单片机有两个十六位定时/计数器 T0、T1,有四种工作方式,跟定时/计数器相关的特 殊功能寄存器有这样几个: 表一:方式控制寄存器 TMOD D7D6D5D4D3D2D1D0GATEC/T M1 M0GATEC/TM1M0加法计数寄存器 TH0、TH1 (高八位)TL0、TL1(低八

5、位) ;定时/计数到标志 TF0、TF1(中 断控制寄存器 TCON) ;定时/计数器启停控制位 TR0、TR1(TCON) ; 定时/计数器中断允许位 ET0、ET1(中断允许寄存 IE) ;定时/计数器中断优先级控制位 PT0、PT1(中断优 IP) 。 TMOD 的低四位为 T0 的方式字,高四位为 T1 的方式字。TMOD 不能位寻址,必须整体赋值。(1)工作方式选择位 M1、M0 表二:M1、M0 的状态决定定时器的工作方式M1M0 功 能 说 明 0 0 1 10 1 0 1方式 0,为 13 位的定时计数器 方式 1,为 16 位的定时计数器 方式 2,为常数自动重装入的 8 位

6、定时计数器 方式 3,T0 分为两个 8 位定时计数器,T1 在该方式时停止 (2)定时和外部事件计数方式选择位 C/T C/T0 为定时器方式;C/T1 为外部事件计数器方式 (3)门控位 GATE GATE = 0 时,且受定时器运行控制位(TR0、TR1)的控制时为软件启动。 GATE = 1 时,除受 TR0、TR1 控制外,还受外部引脚(INT0、 INT1)输入电平的控制(为高) 为硬启动。 (4)初值的确定:a = Tfosc/12 (注意单位) ;THx = a / 256;TLx = a % 256; 根据确定初值的公式,三种工作方式下可得以下结论:a.同种方式下,频率越大,

7、所定的最大 时间越来越短;b.同种频率下,方式 1 所定的时间最长;c.晶振为 6MHZ 时能定的最大时间 100ms,晶振为 12MHZ 时能定的最大时间为 50ms1.1.31.1.3 中断中断所谓中断是指,单片机内部有一个中断管理系统,它对内部的定时器事件、串行通信的发送和接收事件及外部事件(如键盘按键动作)等进行自动的检测判断,当有某个事件产生时,中断管理系统会置位相应标志通知 CPU,请求 CPU 迅速去处理。CPU 检测到某个标志时,会停止当前正在处理的程序流程,转去处理所发生的事件(针对发生的事件,调用某一特定的函数,称为该事件的中断服务函数) ,处理完以后,再回到原来被中断的地

8、方,继续执行原来的程序。1.1.41.1.4 数码管显示原理数码管显示原理数码管是一种把多个 LED 显示段集成在一起的显示设备,有两种类型:共阴和共阳如图 1- 3(a)和(b) 。共阳极的就是把多个 LED 显示段的阳极接在一起,又称为公共端;共阴极的就 是把多个 LED 显示段的阴极接在一起,称为公共端。通常数码管又分为 8 段,即 8 个 LED 显 示段,分别为 adp,其中 dp 是小数点位段。N 位 LED 显示器有 N 根位选线和 8N 根段选线。 根据显方式不同,位选线与段选线的连接方法不同。段选线控制字符选择,位选线控制显示位 的亮、灭。 数码管有两种显示方式:静态显示与动

9、态显示 静态显示方式:各位 LED 的位选线连在一起接地或接+5V;每位 LED 的段选线(adp)各与 一个八位并行口相连。 动态显示方式:将所有 LED 的段选线并联在一起,由一个八位 IO 口控制,而位选线分别由 相应的 IO 口线控制(如图 1-4) 本设计用的是数码管动态显示原理,利用人眼的视觉暂留性,依次给出各个数码管公共端加有 效信号,在此同时给出数码管加有效地数据信号,当全段扫面速度大于视觉暂留速度时,显示 就会清晰显示出来。 根据图 1-3(a)和(c)可推导出显示 09 的共阴代码(包括显示小数点)即为 0 时相应的显示段 亮图 1-3 LED 显示器1.21.2 控制器部

10、分控制器部分方案论证方案论证 方案一:时钟模块采用DS1302 芯片,功耗实时时钟电路结构、工作原理及其在实时显示时间 中的应用。它可以对年、月、日、周、日、时、分、秒进行计时。 方案二:采用51单片机,用51单片机加以一定的硬件电路,由于使用软硬件结合的方式,所以电路结构简单,调试也相对方便。1.31.3 显示部分的方案论证显示部分的方案论证方案一:采用 8 段数码管 LED 有两种显示方式:动态显示和静态显示。静态显示式是简单的将数码管的段选与 IO 口相连,另一端接 VCC 或 GND,动态显示则是将多个数码管的段选接至同一个 IO 口,位选接入相应的 IO 口,在编程时,分别点亮每一个

11、数码管, ,利用人眼的暂留效果即感觉到数码管是一直显示的。方案二:液晶显示方式。液晶显示效果出众,可以运用菜单项来方便操作但是价格相对比较贵,而且驱动程序相对于 LED 也比较复杂。 图-2 数码管显示电路1.41.4 最终方案最终方案控制器部分选择 AT89S52 作为始终电路的核心,显示部分选择 8 位 8 段数码管,扬声器部分由IO 连接至三极管作为驱动。由此结合单片机课程学习中对实验面板的了解,做出如下电路:图-3 proteus 仿真电路如图,晶振频率12MHz,P0口接一个上拉排阻,输出作为控制数码管的段控信号,经74LS573即8位数据锁存器接到数码管中;P2.0-P2.2经74

12、HC138连接到数码管位选,P27为74HC138的片选信号;P3.7经三极管与蜂鸣器相连;四个按钮分别与P3.0-P3.3相连。2.2.系统软件总流程设计系统软件总流程设计流程图如左图所示。主程序是先开始,然后启动定时器,定时器启动后在进行按键检测,检测完后,就可以显示时间,之后再检测是否响铃。 图-4 程序总流图按键处理是先检测切换功能位是否被按下,如果没有则显示保留当前状态,若按下,则显示下一个功能(顺序为时钟闹钟倒计时循环) ;判断以为案件是否按下,如果按下,被设置位就相应的改变(顺序为秒分时循环) ;判断“+”按键是否按下, “+”按键如果按下,相对应的被设置位就加 1;如果没有按下

13、,原数字不变。秒计时是采用中断方式进行溢出次数的累积,计满 20 次,即得到秒计时。从秒到分,从分到时是通过软件累加并进行比较的方法来实现的。要求每满 1 秒,则“秒”单元中的内容加 1;“秒”单元满 60,则“分”单元中的内容加 1;“分”单元满 60,则“时”单元中的内容加 1;“时”单元满 24,则将时、分、秒的内容全部清零。3.3.实时时钟程序设计步骤:实时时钟程序设计步骤:(1)计算初值;(2)采用中断方式进行溢出次数累计;(3)时钟显示:时钟时间在方位数码管上进行显示,直接通过显示子函数完成; (4)响铃程序:在一定的条件下是蜂鸣器播放声音;(5)时钟设置:对相应的设置为碱性加或减

14、操作;(6)中断服务程序:进行计时操作,并完成对时、分、秒的加或减操作。三程序调试过程:三程序调试过程:3.13.1 显示模块显示模块电子时钟显示采用数码管,显示模块采用动态显示的方式,即将所有 LED 的段选线并联在一起接至 P0,而位选线由 74HC138 的输出控制。一次可以推算出显示的位码为 smg_wei=0xf7,0xf6,0xf5,0xf4,0xf3,0xf2,0xf1,0xf0。正常显示状态:默认为走时状态,按 24 小时制分别显示“时时-分分-秒秒”,设置时间状态:数码管时间暂停,同时对应的待设置位会闪烁显示。判断当前的显示状态,既 flag_into 标志位。三个 flag

15、_int0 分别对应时钟、闹钟、倒计时。如下图所示:图-6 设置时间时的显示3.23.2 走时、倒计时功能走时、倒计时功能走时程序有内部中断 T0 完成,把定时器的定时时间定为 50ms。这样,计数溢出 20 次即可得到 1 秒。而计数 20 次可以用软件实现。然后完成通过程序对时、分、秒的加操作。同理,倒计时程序由内部中断 T1 完成,硬件定时 50ms,软件循环 20 次得到 1 秒,通过相应的程序完成时分秒的减操作。并在数码管上动态显示。综上所述在设置 T0、T1 定时器是即将 TMOD=0X11(0001 0001) ,THx=-50000/256,TLx=-50000%256,然后将相应的中断打开即可。走时截图如下:3.33.3 时间设置模块时间设置模块由于时钟有三个功能,而这三个功能对应时间内容都是暂时存放在三个对应的数组(time、alarm、timer)内,所以设置时间时要将待设置的时间装入一个临时数组(time_tmp)内。由于正常显示时间时,数码管是显示实时时间,而设置时间时,数码管则应该暂停显示,所以在调试时,在设置时间模块里加了一个读标志(read_flag),当 read_flag 为 1 时,本模块可以读取相应数组的时间;反之则不能读取,如果不能读取时间则相当于时间一直停止在当前

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

当前位置:首页 > 中学教育 > 其它中学文档

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