基于51单片机的数字钟设计
- 格式:doc
- 大小:73.50 KB
- 文档页数:29
基于51单片机的数字钟设计
目 录
1 作品的背景与意义 1
2 功能指标设计 1
3 作品方案设计 1
3.1总体方案的选择 1
3.1.1方案一:基于单片机的数字钟设计 2
3.1.1方案二:基于数电实验的数字钟设计 3
3.1.2两种方案的比较......... ......3
3.2控制方案比较 3
3.3显示方案比较 3
3.4单片机理论知识介绍 4
3.4.1单片机型号........ .........5
3.4.2硬件电路平台.............. ......6
3.4.3内部时钟电路........... ....... 7
3.4.4复位电路............. ..........7
3.4.5按键部分............ ......... 8
4 硬件设计 9
4.1显示模块电路图 9
5 软件设计 11
5.1主程序流程图 11
5.2中断服务以及显示 12 6 系统测试 13
6.1测试环境 13
6.2测试步骤 13
6.2.1硬件测试
6.2.2软件测试
1.连接单片机和计算机串接............ ..13
6.2.3实施过程............. ........14
6.3测试结果 18
7 实验总结................ .......18
7.1代码编写过程中出现问题........... ........18
7.2整个实验过程的体会................. ....19
7.3实验误差分析。。。。。。。。。。。。。 。。。19
参考文献 20
附录1 系统电路图 21
附录2 系统软件代码 21
附录3 系统器件清单 26 1 作品的背景与意义
数字钟是采用数字电路实现对.时,分,秒。数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 而且大大地扩展了钟表原先的报时功能。基于单片机的数字钟具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,生活中诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等也可广泛应用,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。因此,研究数字钟及扩大其应用,有着非常现实的意义。
2 功能指标设计
本实验中,数字钟是基于单片机实现时、分、秒计时的装置,以单片机SST89E516RD为核心元件同时结合LCD显示器、74HC573锁存器、74HC138译码器、74HC02或非门等芯片在同相应软件结合动态显示“时”、“分”、“秒”的现代计时装置。还可以具有校时功能,秒表功能,和定时器功能,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点。
3 作品方案设计
3.1总体方案的选择
3.1.1方案一:基于单片机的数字钟设计
在软件各个步骤做到位的前提下,程序主要分为三个板块来设计。第一,实现数码管的点亮。16位的指针DPTR高8位是连接P2端口的8位I/O口,可控制与P0口连接的锁存器74HC573的使能控制端;DPTR低8位连接P0端口的8位I/O口,通过DPTR数据的设置和传输,锁存在74HC573中,一旦使能端有效,便可实现选取数码管的显示位与现实数据,此过程经过两次传输实现。第二,实现定时器的1S定时,时间到转向秒位的加1。根据机器周期,计算初值,由于机器内部已经产生周期性脉冲,只需人为通过代码控制计数,1S后转向处理函数即可。第三,实现按键校正时间。实验室的单片机有4*4按键和单独与P3口相连的四个按键,由于只实现时分秒的校正,故可选择与P3.2,P3.3,P3.4,P3.5口连接的四个按键较方便,主函数循环扫描是否有按键按下,由于人按键有时间延迟,可选择下降沿触发,若采用电平触发,则需要在处理代码中循环检查,按键松开的后,更改相应位的时间,之后返回主程序。
3.1.1方案二:基于数电实验的数字钟设计
采用集成电路定时器555组成多谐振荡器,输出1000Hz的振荡频率信号,再由三片74LS90芯片级联组成的分频器进行分频,每片为1/10分频器,三片级联正好获得1Hz的标准脉冲,实现“秒”的记时功能。再用两片74LS90芯片级联组成六十进制计数器,输入分频器产生的1Hz标准脉冲,实现“分”的计时功能,采用中规模集成电路74LS193计数器两片组成“12翻1”的计数器件,输入六十进制计数器产生的脉冲,在通过LED显像管显示时间,即可实现数字钟功能。即当计数器计时到12时59分59秒,再来一个秒脉冲,数字钟自动显示00时00分00秒,实现日常的生活习惯用的计量规律。
图3.1 数字钟电路
3.1.2两种方案的比较
基于单片机的数字中设计可将软件与硬件相结合,在计算机的上编写代码,然后将代码通过数据线输入到单片机,输出指令运行。其显示的精确度除了与本身的程序优劣外还收到计算机的运行速度有关,但可以人为的提高代码质量和优化计算机运算速度来实现改善。而且可以在只变代码的情况下扩展数字钟功能,如特定时间响鸣,如显示星期,功能多变实用,软件代码编写测试检验相对简单。基于555的硬件数字钟,由于硬件芯片已经封装集成,芯片本身存在传输数据误差,且在人为连接组装芯片的时候会由于导线等各种原因会出现较大误差。功能比较有限,如果需要附加功能,可能需要改变硬件线路,这比软件编写较困难。
3.2控制方案比较
基于单片机设计数字钟方案的控制器包括SST89E系列单片机系统,电源,LED动态显示电路,按键输出部分,输出电路等几部分组成。
51单片机是单片机中的一种,单片(single-chip microcomputer)是一块集成芯片,但不是一块实现某一个逻辑作用的芯片,而是在这块芯片当中,集成了一个计算机系统。如中央处理器(CPU)、存储器(ROM,RAM)、I/O接口、定时器/计数器、中断系统等。中央处理器是单片机的核心单元,他由运算器和控制器组成,他的主要作用是实现算术运算、逻辑运算、和控制。SST89E系列51单片机主要包括SST89E51RD,SST89E52RD,SST89E54RD,SST89E58RD,
SST89E554RD,SST89E554564等。与其它MCS51系列单片机相比,其突出特点内部嵌入SuperFlash存储器:提高器件抗干扰性能,SST的MCU在51系列中是抗干扰性能最好的可编程计数器阵列(产生PWM输出??IAP功能能够支持远程在线下载和修改程序增强的双倍速模式:比其它所有的51单片机执行速度快一倍。
3.3显示方案比较 依次点亮八段码,设置较快的扫描频率,在段式液晶上面形成稳定的输出。
本实验中的C51单片机上采用8位8段LED数码管显示,数码管引脚如下:
图3.2 LED管实图 图3.3 LED电路图
LED有共阴极和共阳极两种。二极管的阴极连接在一起,通常此为公共阴极接地,而加电压则暗。共阳极则将发光二极管的阳极连接在一起,接入+5V的电压。一位显示器由8个发光二极管组成,其中7个发光二极管构成字型“8”的各个笔划(段)a~g,另一个小数点为dp发光二极管。当在某段发光二极管施加一定的正向电压时,该段笔划即亮;为了保护各段LED不被损坏,需外加限流电阻。本实验利用利用人眼的视觉残留现象,依次点亮每个八段码单元,只要扫描速度超过人眼可以识别的频率,就可以看到稳定的信息输出。本实验中写了一个小程序,来测试此单片机是共阳极还是共阴极。
图3.4共阴极 高电平驱动 图3.5共阳极 低电平驱动
本设计中,应用单片机平台上的LED显像管比较合适和方便。
3.4单片机理论知识介绍
51单片机:
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。作为嵌入式系统控制核心的单片机具有其体积小、功能全、性价比高等诸多优点。51 系列单片机是国内目前应用最广泛的单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用,51 系列单片机的发展又进入了一个新的阶段。在今后很长一段时间内51 系列单片机仍将占据嵌入式系统产品的中低端市场。
汇编语言:
汇编语言是一种面向机器的计算机低级编程语言,通常是为特定的计算机或系列计算机专门设计的。汇编语言保持了机器语言的优点,具有直接和简捷的特点,其代码具有效率高实时性强等优点。但是对于复杂的运算或大型程序,用汇编语言编写将非常耗时。汇编语言可以与高级语言配合使用,应用十分广泛。
ISP:
ISP(In-System Programming)在系统可编程,是当今流行的单片机编程模式,指电路板上的空白元器件可以编程写入最终用户代码,而不需要从电路板上取下元器件。已经编程的器件也可以用ISP方式擦除或再编程。本次课程设计便使用ISP方式,直接将编写好的程序下载到连接好的单片机中进行调试。
3.4.1单片机型号
SST89E516RD是SST公司出产的一款基于8051内核的8 位单片机,SST89E516RD最大的特点是具有在线调试和在线下载功能,为工程开发中的调试提供了最大的方便。该芯片中含有1K的RAM和64K+8K的内置可擦除程序存储器ROM。其程序存储器达到了51内核结构单片机寻址的最大范围,能够满足大容量程序存储的要求。SST89E156RD在5V电压下可以工作在0~40MHz的频率范围。SST的MCU除了具备和一般单片机一样,可以通过专用编程器将程序代码烧写到片内ROM中,然后装入系统运行程序以外,还具备另外两种特殊的下载和仿真功能。程序下载功能:SST单片机可以不需要编程器,直接通过串行通信口,将程序下载到单片机ROM中,且下载的程序在单片机断电后仍会保存,不会丢失。程序下载后,直接复位或者重新上电单片机就可以工作。在线仿真功能:SST单片机还具有在线仿真功能,同样通过单片机的串口,通过在keil软件中设置可以实现在线仿真,具有单步执行、全速执行、设置端点等调试功能。
图3.6 SST89E156RD芯片图
3.4.2硬件电路平台:
“MCS51单片机系统学习板V1.1”是武汉大学电子创新平台中的单片机学习和开发平台。它兼容DIP40封装的51系列单片机,板上配备SST公司的SST89E516RD高性能单片机,可利用串口进行在线下载、硬件仿真和断点调试。系统采用基于总线结构的设计,板上既具有普通的IO实验,更多的采用总线方式扩展板上资源。
图3.7 51单片机平台
3.4.3内部时钟电路
内部时钟电路是单片机的心脏,它控制着单片机的工作节奏,CPU就是通过复杂的时序电路完成不同的指令功能的。内部时钟的产生方式是利用单片机内部的振荡器,然后在引脚X1(18脚)和X2(19脚)两端接晶振,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路,外接晶振时,晶振两端的电容一般选择为30PF左右;这两个电容对频率有微调的作用,晶振的频率范围可1.2MHz-12MHz之间选择。为了减少寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器和电容应尽可能安装得与单片机芯片靠近。