基于8051单片机的数字钟设计课程报告姓名:学号:院系:班级:电话:指导老师:组员:基于8051单片机的数字钟设计摘要:本项目设计并实现了一个基于8051单片机的数字钟,充分利用了8051单片机的输入输出端口,外部程序存储器和外部数据存储器寻址空间、中断与堆栈、定时/计数器与寄存器区、指令系统以及布尔处理器,实现的数字钟能够显示年、月、日、时、分、秒等信息,并且可通过外部按键进行时间的设计。关键词:8051单片机,数字钟前言:在日常生活和工作中,我们常常用到定时控制,如扩印过程中的曝光定时等。早期常用的一些时间控制单元都使用模拟电路设计制作的,其定时准确性和重复精度都不是很理想,现在基本上都是基于数字技术的新一代产品,随着单片机性能价格比的不断提高,新一代产品的应用也越来越广泛,大可构成复杂的工业过程控制系统,完成复杂的控制功能。小则可以用于家电控制,甚至可以用于儿童电子玩具。它功能强大,体积小,质量轻,灵活好用,配以适当的接口芯片,可以构造各种各样、功能各异的微电子产品。随着电子技术的飞速发展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的控制器,使用起来很不方便。根据这种实际情况,设计了一个单片机多功能定时系统,它可以避免多种控制器的混淆,利用一个控制器对在日常生活和工作中,我们常常用到定时控制,如扩印过程中的曝光定时等。早期常用的一些时间控制单元都使用模拟电路设计制作的,其定时准确性和重复精度都不是很理想,现在基本上都是基于数字技术的新一代产品,随着单片机性能价格比的不断提高,新一代产品的应用也越来越广泛,大可构成复杂的工业过程控制系统,完成复杂的控制功能。小则可以用于家电控制,甚至可以用于儿童电子玩具。它功能强大,体积小,质量轻,灵活好用,配以适当的接口芯片,可以构造各种各样、功能各异的微电子产品。随着电子技术的飞速发展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的控制器,使用起来很不方便。根据这种实际情况,设计了一个单片机多功能定时系统,它可以避免多种控制器的混淆,利用一个控制器对多路电器进行控制,同时又可以进行时钟校准和定点打铃。它可以执行不同的时间表(考试时间和日常作息时间)的打铃,可以任意设置时间。这种具有人们所需要的智能化特性的产品减轻了人的劳动,扩大了数字化的范围,为家庭数字化提供了可能。多路电器进行控制,同时又可以进行时钟校准和定点打铃。它可以执行不同的时间表(考试时间和日常作息时间)的打铃,可以任意设置时间。这种具有人们所需要的智能化特性的产品减轻了人的劳动,扩大了数字化的范围,为家庭数字化提供了可能。方案选择方案一:纯定时与计数器芯片产生时钟信息:通过定时器芯片如NE555产生基本的参考时钟脉冲,再由计数器芯片如74LS191、74LS192等计数芯片对参考时钟进行计数,再由BCD译码显示芯片CD4511将时间在数码管上显示。这种方式下所产生的时钟精度难做高,电路体积大,时间调整方式也不灵活。方案二:基于FPGA的数字钟设计:参考时钟的生成、计数、译码显示、按键时间调整、定时等功能均可以利用FPGA实现,系统集成度高,精度可以保证,但是系统成本较高,功耗较大。方案三:采用单片机设计数字钟:时钟的生成、计数、译码显示、按键调时等均可以利用单片机内部的功能模块完成。只要单片机内部具有定时器、中断、I/O、RS232等模块就能够满足选型基本要求,可用的单片机型号广泛、并且价格低廉。系统的精度能够保证,如单片机选型恰当也能满足电池供电应用。此外,系统除了可以选用一片单片机实现所有功能的方案外,还可以采用单片机+时钟芯片、单片机+显示芯片、单片机+时钟芯片+显示芯片等多芯片的各种设计方案。综上所述,选择第三种方案。一项目概述本项目要求设计并实现一个设计并实现一个基于单片机的数字钟,能够显示年、月、日、时、分、秒等信息,并支持时间的设定、闹钟等功能。通过此设计,对单片机的工作原理、开发流程有初步了解,并能够利用单片机进行实用小型系统设计。二项目功能指标设计并实现一个基于单片机的数字钟,能够显示年、月、日、时、分、秒等信息,并支持时间的设定、闹钟等功能。基本要求:基于单片机,单片机型号自选;至少12位信息显示(年2位,月2位,日2位,时2位,分2位,秒2位),显示可用LED数码管,也可用液晶显示;精度要求:1小时误差1s;可通过外部按键进行时间的设定;系统稳定、可靠,不会有按键响应错误、运行状态混乱等不足。发挥部分:支持闹钟功能;支持2节以内电池供电;具有掉电存储功能,可以存储掉电前的系统时间信息,再次上电后系统自动调用掉电时的时间,并从此时间开始新的计时;时间的设定、调整可通过COM端口,由PC端程序完成;其它功能。三设计与实现背景现代社会科技飞速发展,人们生活节奏加快,时间就是金钱,时间就是生命。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。20世纪末,电子技术得到飞速发展,各类电子产品相继出现在市场,电子产品主要朝着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。数字化电子产品已渗入到人类生活的方方面面。单片计算机即单片微型计算机(Single-ChipMicrocomputer),是集CPU,RAM,ROM,定时,计数和多输入输出口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。基于以上发展与现实需要本次设计课题就是基于单片机的设计-----基于8051单片机的多功能数字钟。数字钟是采用数字电路实现对时,分,秒,数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。四项目设计与实施方案实现功能首先我们要实现基本的功能:基于单片机,单片机型号自选;至少12位信息显示(年2位,月2位,日2位,时2位,分2位,秒2位),显示可用LED数码管,也可用液晶显示;精度要求:1小时误差1s;可通过外部按键进行时间的设定;系统稳定、可靠,不会有按键响应错误、运行状态混乱等不足。闹钟功能和时间设定。五项目实现计划进行技术调研(第八周)系统框图设计(第九周)硬件框架设计(第十,十一,十二周)硬件材料准备(第十四周)软件框架设计(第十五,十六周)软件代码编程(第十七周)软硬件结合调试(第十九周)六系统框图关键技术我们使用8051单片机,所以关键的技术就在于8051单片机的嵌入式编程,在大二的时候学过针对8051的汇编编程,所以打算从这个角度入手,找到以前的汇编的课本,重新在复习一遍针对计数器,定时器以及译码器的编程与实现。团队分工LY-51SV2.2单片机年月日时分秒显示1602显示器显示时间设置可加减各个时间单位光标移动位置按键设置闹钟功能时间通过按键控制设置可设置到时间是否报警报警方式为时间跳动秒表功能按键进入秒表界面并开始计时再次按键停止计时整点报时现在是几点则时间跳动多少次合作:讨论硬件和软件方案软硬件结合调试分工:XX:硬件框架设计与材料准备XXX:软件框架设计与编程主要器件清单及经费预算8051LY-51SV2.2单片机。经费预算108.10元七8051单片机制作数字钟的原理硬件资源介绍单片机(microcontroller,又称微控制器)是在一块硅片上集成了各种部件的微型计算机。这些部件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器和多种I/O接口电路。图5-18051单片机的基本结构图8051单片机的结构特点有以下几点:8位CPU;片内振荡器及时钟电路;32根I/O线;外部存储器ROM和RAM,寻址范围各64KB;两个16位的定时器/计数器;5个中断源,2个中断优先级;全双工串行口;布尔处理器。定时器/计数器8051内部有两个16位可编程定时器/计数器,记为T0和T1。16位是指他们都是由16个触发器构成,故最大计数模值为216-1。可编程是指他们的工作方式由指令来设定,或者当计数器来用,或者当定时起来用,并且计数(定时)的范围也可以由指令来设置。这种控制功能是通过定时器方式控制寄存器TMOD来完成的如果需要,定时器在计到规定的定时值是可以向CPU发出中断申请,从而完成某种定式的控制功能。在计数状态下同样也可以申请中断。定时器控制寄存器TCON用来负责定时器的启动、停止以及中断管理在定时工作时,时钟由单片机内部提供,即系统时钟经过12分频后作为定时器的时钟。技术工作时,时钟脉冲由TO和T1输入。中断系统8051的中断系统允许接受五个独立的中断源,即两个外部中断申请两个定时器/计数器中断以及一个串行口中断。外部中断申请通过INTO和INT1(即P3.2和P3.3)输入,输入方式可以使电平触发(低电平有效),也可以使边沿触发(下降沿有效)。两个定时器中断请求是当定时器溢出时向CPU提出的,即当定时器由状态1转为全零时提出的。第五个中断请求是由串行口发出的,串行口每发送完一个数据或接收完一个数据,就可提出一次中断请求。液晶LCD1602LCD管脚分布:第1脚:VSS为电源地第2脚:VDD接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操第6脚:E(或EN)端为使能(enable)端。第7~14脚:D0~D7为8位双向数据端。第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。其实物图如图所示注:能同时显示16*02即32个字符。(16列2行)为了表示的方便,后文皆以1为高电平,0为低电平。字符型LCD1602通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,引脚定义如下表所示:HD44780内置了DDRAM、CGROM和CGRAM。DDRAM就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,其地址和屏幕的对应关系如下表:也就是说想要在LCD1602屏幕的第一行第一列显示一个A字,就要向DDRAM的00H地址写入“A”字的代码就行了。但具体的写入是要按LCD模块的指令格式来进行的,后面我会说到的。那么一行可有40个地址呀?是的,在1602中我们就用前16个就行了。第二行也一样用前16个地址。对应如下:DDRAM地址与显示位置的对应关系(事实上我们往DDRAM里的00H地址处送一个数据,譬如0x31(数字1的代码)并不能显示1出来。这是一个令初学者很容易出错的地方,原因就是如果你要想在DDRAM的00H地址处显示数据,则必须将00H加上80H,即80H,若要在DDRAM的01H处显示数据,则必须将01H加上80H即81H。依次类推。大家看一下控制指令的的8条:DDRAM地址的设定,即可以明白是怎么样的一回事了)1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如下表所示,这些字符有:阿拉伯数字、英文字