单片机数字时钟课程设计报告(共10篇)

上传人:bin****86 文档编号:59852313 上传时间:2018-11-12 格式:DOCX 页数:49 大小:41.07KB
返回 下载 相关 举报
单片机数字时钟课程设计报告(共10篇)_第1页
第1页 / 共49页
单片机数字时钟课程设计报告(共10篇)_第2页
第2页 / 共49页
单片机数字时钟课程设计报告(共10篇)_第3页
第3页 / 共49页
单片机数字时钟课程设计报告(共10篇)_第4页
第4页 / 共49页
单片机数字时钟课程设计报告(共10篇)_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《单片机数字时钟课程设计报告(共10篇)》由会员分享,可在线阅读,更多相关《单片机数字时钟课程设计报告(共10篇)(49页珍藏版)》请在金锄头文库上搜索。

1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划单片机数字时钟课程设计报告(共10篇)单片机课程设计:电子钟一、实现功能1、能够实现准确计时,以数字形式显示时、分、秒的时间。2、小时以24小时计时形式,分秒计时为60进位,能够调节时钟时间。3、闹钟功能,一旦走时到该时间,能以声或光的形式告警提示。4、能够实现按键启动与停止功能。5、能够实现整点报时功能。6、能够实现秒表功能。二、设计思路1、芯片介绍VCC:电源。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义

2、为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此

3、作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口

4、管脚备选功能RXDTXD/INT0/INT1T0T1/WR/RDP3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是A

5、LE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储,不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源。2、显示电路就时钟而言,通常可采用液晶显示或数码管显示。由于一般的段式液晶屏,需要专门的驱动电路,而且液晶显示作为一种被动显

6、示,可视性相对较差;对于具有驱动电路和微处理器接口的液晶显示模块,一般多采用并行接口,对微处理器的接口要求较高,占用资源多。另外,89C2051本身无专门的液晶驱动接口,因此,本时钟采用数码管显示方式。数码管作为一种主动显示器件,具有亮度高、价格便宜等优点,而且市场上也有专门的时钟显示组合数码管。对于实时时钟而言,显示显然是另一个重要的环节。通常LED显示有两种方式:动态显示和静态显示。静态显示的优点是程序简单、显示亮度有保证、单片机CPU的开销小,节约CPU的工作时间。但占有I/O口线多,每一个LED都要占有一个I/O口,硬件开销大,电路复杂。需要几个LED就必须占有几个并行口,比较适用于L

7、ED数量较少的场合。当然当LED数量较多的时候,可以使用单片机的串行口通过移位寄存器的方式加以解决,但程序编写比较麻烦。LED动态显示硬件连接简单,但动态扫描的显示方式需要占有CPU较多的时间,在单片机没有太多实时测控任务的情况下可以采用。本系统需要采用6位LED数码管来分别显示时、分、秒,因数码管个数较多,故本系统选择动态显示方式。此次设计主要是应用单片机来设计电子时钟,硬件部分主要分以下电路模块:显示电路用6个共阴数码管分别显示,小时、分钟和秒,通过动态扫描进行显示,从而避免了译码器的使用,同时节约了I/0端口,使电路更加简单。单片机采用AT89S51系列,这种单片机应用简单,适合电子钟设

8、计。针对要实现的功能,采用AT89S51单片机进行设计,AT89S51单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构。这样,既能做到经济合理又能实现预期的功能。在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。程序可分为闹钟的声音程序、时间显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序、整点报时等。运用这种方法,关键在于各模块的兼容和配合,以免各模块不匹配会出现意想不到

9、的错误。首先,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否则,编程无从下手,电路也无法设计。这是前期准备工作。第二部分是硬件部分:依据想要的功能分块设计设计,比如输入需要开关电路,输出需要显示驱动电路和数码管电路等。第三部分是软件部分:先学习理解汇编语言的编程方法再根据设计的硬件电路进行分块的编程调试,最终完成程序设计。第四部分是软件画图部分:设计好电路后进行画图,包括电路图和仿真图的绘制。第五部分是软件仿真部分:软硬件设计好后将软件载入芯片中进行仿真,仿真无法完成时检查软件程序和硬件电路并进行修改直到仿真成功。在已经正确的设计基础上,添加额外的功能!在设计

10、的的过程中,主要采用分块设计的方法,进行分块调试在进行整体组合。在设计实时显示时间和秒表时主要是时间的计算,才能精确计时间,和两个定时器的优先级问题才能进行两个模块的切换。三、设计流程图第1章绪论1.设计要求系统可以按“秒”进行计时。数字时钟可以显示小时、分钟和秒。可通过按键K1来选择设置“小时”、“分钟”和“秒”。设置时可通过“加”和“减”按键来调整时间;设置过程中时钟停止计时。无键按下三秒后,自动进入时钟的计时程序。2.设计方案采用AT89C51芯片作为硬件核心,其内部采用FlashROM,具有4KBROM存储空间,能于3V的超低压工作,本系统的计时方案是利用单片机内部的定时/计数器进行中

11、断定时,配合软件延时实现对时、分、秒的计时。整个系统的控制方案是:上电后系统自动进入时间显示,从00:00:00开始计时。按下键,进入调秒状态,时钟停止计时;按或键可进行加1或减1操作;继续按键可分别进行分位、时调整;无键按下3秒钟后退出调整状态,自动进入时钟的计时和显示。整个系统的硬件原理框图如图,它采用的是AT89C51单片机,只用了P1口。为了简化硬件电路,LED显示采用了动态扫描的方式实现,LED采用共阳极数码管,驱动电流由三极管9012提供。为了提高计数精度,所采用的晶振频率为12MHz。第2章硬件设计1单片机的选择本课程选用AT89C51型号的单片机。AT89C51是美国ATMEL

12、公司生产的低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的只读程序存储器和128bytes的随机存取数据存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位央处理器和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。主要性能参数:与MCS-51产指令系统完全兼容4k字节可重擦写Flash闪速存储器1000次擦写周期全静态操作:0Hz24MHz三级加密程序存储器1288字节内部RAM32个可编程IO口线2个16位定时计数器2.显示方案由于系统要显示的内容较简单,显示

13、量不多,所以选用数码管既方便又经济。LED有共阴极和共阳极两种。如图所示。二极管的阴极连接在一起,通常此公共阴极接地,而共阳极则将发光二极管的阳极连接在一起,接入+5V的电压。一位显示器由8个发光二极管组成,其中7个发光二极管构成字型“8”的各个笔划ag,另一个小数点为dp发光二极管。当在某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则暗。为了保护各段LED不被损坏,需外加限流电阻。图LED数码管结构原理图众所周知,LED显示数码管通常由硬件7段译码集成电路,完成从数字到显示码的译码驱动。本系统采用软件译码,以减小体积,降低成本和功耗,软件译码的另一优势还在于比硬件译码有更大的灵活

14、性。所谓软件译码,即由单片机软件完成从数字到显示码的转换。从LED数码管结构原理可知,为了显示字符,要为LED显示数码管提供显示段码,组成一个“8”字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED数码管的显示段码为1个字节。各段码位与显示段的对应关系如表。表各段码位的对应关系需说明的是当用数据口连接LED数码管adp引脚时,不同的连接方法,各段码位与显示段有不同的对应关系。通常数据口的D0位与a段连接,D1位与b段连接,?D7位与dp段连接,如表1所示,表为用于LED数码管显示的十六进制数和空白字符与P的显示段码。根据AT89C2051单片机灌电流能力强,拉电流能力弱的特点,我们

15、选用共阳数码管。将AT89C2051的分别与共阳数码管的ag及dp相连,高电平的位对应的LED数码管的段暗,低电平的位对应的LED数码管的段亮,这样,当P0口输出不同的段码,就可以控制数码管显示不同的字符。例如:当P0口输出的段码为,数码管显示的字符为0。表LED显示段码注:本表所列各字符的显示段码均为小数点不亮的情况。“空白”字符即没有任何显示。数码管显示器有二种工作方式,即静态显示方式和动态扫描显示方式。为节省端口及降低功耗,本系统采用动态扫描显示方式。动态扫描显示方式需解决多位LED数码管的“段控”和“位控”问题,本电路的“段控”通过P0口实现;而每一位的公共端,即LED数码管的“位控”,则由P3口控制。这种连接方式由于多位字段线连在一起,因此,要想显示不同的内容,必然要采取轮流显示的方式,即在某一瞬间,只让其中的某一位的字位线处于选通状态,其它各位的字位线处于断开状态,同时字段线上输出这一位相应要显示字符的字段码。在这一瞬时,只有这一位在显示,其他几位则暗。在本系统中,字位线的选通与否是通过PNP三极管的导通与截止来控制,即三极管处于“开关”状态。第3

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

当前位置:首页 > 办公文档 > 总结/报告

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