《毕业设计(论文)基于单片机的电脑电子时钟设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的电脑电子时钟设计.doc(50页珍藏版)》请在三一办公上搜索。
1、毕业设计(论文)任务书 填表时间: (指导教师填表)学生姓名专业班级指导教师课题 类型工程设计题目基于单片机的电脑时钟设计主要研究目标(或研究内容)设计出一种由单片机控制的电脑时钟,要求:1.自动计时,并用6个LED显示时、分、秒;2.具备时间调整功能;3.具备定时起脑功能;4.精度要求一天的时间误差不能超过1秒课题要求、主要任务及数量(指图纸规格、张数,说明书页数、论文字数等)1要求在老师的指导下,独立完成单片机的电脑时钟设计装置。2要求独立完成程序控制的工作量,画出相应的接线图,设计符合控制要求的程序,毕业设计论文字数为50008000字左右。3. 查阅15篇以上与题目相关的文献。4其余要
2、求按洛阳理工学院毕业设计(论文)工作管理规定中的有关规定。进度计划57周: 查阅资料,熟悉设计内容,拟订设计方案。814周: 进行总体、部件等设计,并完成设计图纸的绘制。1516周:修改完善设计,翻译资料,写说明书,准备答辩。主要参考文献单片机原理及应用电子技术等指导教师签字: 教研室主任签字: 年 月 日摘 要单片机,是集CPU ,RAM ,ROM ,计数和多种接口于一体的微控制器。自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注。它体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易,广泛应用于智能生产和工业自动化上。 本课题通过MC
3、S-51单片机来设计电子时钟,采用汇编语言进行编程,可以实现以下一些功能:小时,分,秒和年,月,的显示、定时报警功能。本次设计的电子时钟系统由时钟电路,LED显示电路,定时报警电路,按键调整电路四部分组成。51单片机通过软件编程,在6-LED显示器上实现小时、分、秒和年、月、的显示;利用AT89C51来实现计时、定时功能;通过两个按键开关,一个用于时钟的调节,一个用于闹钟的调节,来实现参数设置和调节功能;到达设置的闹钟时间,由蜂鸣器发声,起报警作用。本次设计的电子时钟,经过对比测试,发现实际计时的走时精度较高,可满足多种场合的应用需求。 本文详细介绍了AT89C51单片机的基本原理,分析了AT
4、89C51各个管脚的功能及它在设计电路中的作用。本文论述了6-LED显示器和时钟芯片DS1302的工作原理及其软件设计过程。关键词:单片机,电子时钟,时钟芯片,显示器ABSTRACTThe single-chip Microcomputer, collects CPU, RAM, ROM, the counting and many kinds of connections in a body. It has been published since the 70s of 20th century and has high performance, so it attracts lots of
5、 peoples attention. Its volume is small,the weight is light,the capacity of resisting disturbance is strong,the environmental challenge is not high,the price is not expensive and the development is easy, for that it is widely used in the intelligent production and the industrial automation. This top
6、ic designs the electronic clock through the MCS-51 single-chip microcomputer and the assembly language is adopted in this design. The electronic clock can achieve these functions: display the hour, the minute, the second and the year, the month, the date, alarm in the fixed time. The system of the e
7、lectronic clock is composed of the LED display circuit, the clock circuit, the parameter circuit and the timing warning circuit. In order to display the hour, the minute, the second and the year, the month, the date in the LED display device, it use the software assembler; It makes use of AT89C51 to
8、 achieve the functions of accounting and timing; It has two key switches, one is used to control time parameter and the other is used to set up the alarm clock; When the time is reach the set-up time, The buzzer sends out the sound which can react the effect of alarm. The design of the electronic cl
9、ock, which contrasts to the home-use clock, we can find that the time keeping performance is good. For that, the electronic clock is suitable for many occasions. We can learn the basic principles of the AT89C51 from this text. It is good for us to realize the function of the base pins and the functi
10、on in the circuit. This article also discourses the working principles of the LED display device and the clock chip DS1302, We can understand their software design procedure from this passage. KEY WORDS:Single-chip Microcomputer, Electronic clock, Timepiece chip, Display device目 录摘要Abstract目录第一章 前言1
11、第二章 单片机22.1 单片机的概述22.2 单片机的选择8第三章 系统设计要求与方案确定11 3.1 设计要求11 3.2 总体设计方案11 3.3 设计思路12第四章 硬件设计13 4.1 硬件电路的设计方案及框图134.2 时钟与复位电路设计与器件选择134.3 LED显示电路设计与器件选择164.4 按键电路设计与器件选择174.5 蜂鸣器电路的设计18第五章 软件设计205.1软件设计方法205.2 系统资源分配20第六章 应用程序设计226.1 主程序模块226.2计时程序模块256.3 时间设置程序和闹钟定时程序模块276.4键盘扫描程序模块286.5显示程序模块306.6定时比
12、较程序模块336.7拆字程序与合字程序模块34第七章 系统调试与脱机运行377.1硬件调试377.2软件调试377.3脱机运行38第八章 结论39谢辞40参考文献41附图42第一章 前 言本次毕业设计是用51单片机来设计电子时钟。电子时钟是现代电子技术在时钟领域的具体实现方式,由于电子时钟采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子时钟用集成电路计时时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。电子时钟广泛应用于个人家庭,车站,码头办公室等公
13、共场所,成为人们常生活中不可缺少的必需品。电子时钟给人们的生活带来极大的方便,而且大大扩展了钟表原先的功能。诸如定时自动报警,定时开关,自动起闭电路等等。在一定程度上让单片机的涉及范围得以体现,从而扩大应用领域。因此研究电子时钟及扩大其应用,在一定程度上有很大的现实意义。 另外在单片机设计电子时钟方面,对于硬件和软件的设计问题,如何选择符合本设计要求的单片机型号是个比较重要的环节,如何更好的让电子时钟更多功能得以实现是个值得继续研究和开发的问题。所以说还有很多关于单片机的开放性课题有待于研究,需要不断发展和完善单片机控制这一崭新的控制学科。 但是单片机技术在内部结构、功率消耗、外部电压等级以及
14、制造工艺上需要有所提高。所以单片机技术在目前情况之下,要发掘自身问题,让技术更加进步。把单片机嵌入式系统和Internet连接已是一种趋势。但是,Internet一向是一种采用肥服务器,瘦用户机的技术。这种技术在互联上存储及访问大量数据是合适的,但对于控制嵌入式器件就成了杀鸡用牛刀了。要实现嵌入式设备和Internet 连接,就需要把传统的Internet理论和嵌入式设备的实践都颠倒过来。为了使复杂的或简单的嵌入式设备,例如单片机控制的机床、单片机控制的门锁,能切实可行地和Internet连接,就要求专门为嵌入式微控制器设备设计网络服务器,使嵌入式设备可以和Internet相连,并通过标准网络
15、浏览器进行过程控制。 本次毕业设计,通过对51单片机的学习、应用,通过学习与制作掌握单片机的应用,程序的编写,以及硬件电路的制作。运用学过的知识,以AT89C51芯片为核心,辅以必要的电路,设计可以实现的单片机电子时钟方案,通过数码管能够显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。第二章 单片机2.1 单片机的概述单片机(single-chip microcomputer)是把微型计算机主要部分集成在一块芯片上的单芯片微型计算机。单片机的芯片上集成了中央处理单元CPU,只读存储器ROM,定时/计数器,并行和串行输入/输出接口等。由于单片机的高度集成化,缩短了系统内部的信号传送距
16、离,优化了结构配置,大大提高了系统的可靠新性及运行速度,同时它的指令系统又很适合于工业控制要求,所以单片机在工业控制及设备控制中得到广泛的应用。1976年,Intel公司提出了MCS-48系列8位单片机。在80年代,Intel公司对MCS-48作了改进,推出了一种新的单片机系列MCS-51。它增强了MCS-48的结构和性能,执行速度也较48系列快得多。1984年Intel公司又推出了MCS-96系列的高档16位单片机以适应不断发展的高新技术要求。由于集成工艺水平的提高,单片机的寻址范围不断扩大,片内ROM增加,以致有可能将BASIC等高级语言固化在片内,并增加A/D转换功能。此外目前的发展趋势
17、还致力于把一些专用的I/O功能集成在单片机内,使单片机的功能得到极大的提高。由于单片机性能优越,引起了从事计算机及工业控制技术人员的浓厚兴趣。可以预料,单片机可以向高性能方向发展,其应用范围也将日益扩大。MCS-51系统是目前8位微型计算机中性能价格比最佳,在电机控制方面用得较多单片机系列。下面以MCS-51为例说明单片机的基本原理和应用情况。2.1.1 MCS-51单片机的内部结构8051单片机的内部基本结构如下:8位CPU,片内振荡器; 4K字节片内ROM ,128字节的片内RAM; 21个特殊功能寄存器; 32根I/O口; 2个16位的定时器/计数器; 一个全双工串行口;5个中断源,2个
18、中断优先级;可寻址各64K的片外程序、数据存储器空间。下面介绍MCS-51各个部分的结构特点。1存储器对MCS-51系列(8031和8032除外)而言,有4个物理上相互独立的存储器空间:即内、外程序存储器和内、外数据存储器。 (1)程序存储器 程序存储器是用于存放程序及表格常数的,8051片内、片外程序存储器是同一编址的,若单片机的端接“1”,则片内程序存储器占用0000H0FFFH的最低4K字节。若端 接“0”,则片外程序存储器可以从0000H开始编址。在程序存储器中,有六个单元具有特定的含义:0000H:单片机复位后,PC=0000H,即程序从0000H开始执行指令。0003H: 外部中断
19、0入口处。000BH:定时器0溢出中断入口地址。0013H:外部中断1入口地址。001BH: 定时器1溢出中断入口地址。0023H:串行口中断入口地址。(2)数据存储器数据存储器是用于存放运算的中间结果、数据暂存以及数据缓冲等,它由读写存储器RAM组成,片内为256字节,片外最大可扩展为64K。8051单片机,其片内数据存储器最大可寻址256个单元,低128字节(00H7FH)为真正的用户RAM区,高128字节(80HFFH)为特殊功能寄存器(SFR)区。在低128字节中,32个工作寄存器占用了00H1FH单元,分为四组,每组有8个通用工作寄存器(R0R7)组成。通过对PSW中RS1和RS2的
20、设置,选用其中一组工作寄存器。工作寄存器后的16字节单元(20H2FH),可用位寻址方式访问其各位。这128个位地址为00H7FH。2、特殊功能寄存器特殊功能寄存器有21个,它们的功能如下:(1)累加器 又称ACC。(2)B寄存器 用于乘法和除法操作。对于乘除法以外的其他指令,可作为一个暂存器使用。(3)堆栈指令SP 堆栈指针为8位,能位于片内RAM 128字节的任何单元。当8051复位时,堆栈指针初始化为07H。(4)数据指针DPTR 是一个16位寄存器,由高8位字节DPH和低8位字节DPL组成。它的功能是存放16位地址。(5)程序状态字PSW 程序状态字寄存器是一个8位的寄存器,启用被定义
21、的有七位,其定义如下: 符号 位置 名称及定义CY PSW-7 进位标志AC PSW-6 辅助进位(半进位)标志F0 PSW-5 用户标志(用户可使用的通用伟)RS1 PSW-4 寄存器组选择控制位1RS0 PSW-3 寄存器组选择控制位0OV PSW-2 溢出标志P PSW-0 奇偶标志(6)TMOD 用于定义定时器/计数器工作方式。(7)TCON 用于控制定时器运行状态。(8)TH0 定时器/计数器0(高位字节)。(9)TL0 定时器/计数器0(低位字节)。(10)TH1 定时器/计数器1(高位字节)。(11)TL1 定时器/计数器1(低位字节)。(12)IP 中断优先级寄存器。可通过对相
22、应位置1,设定五个中断源之一位高优先级。(13)IE 中断允许寄存器。通过对相应的清0或置1,禁止或允许相应中断请求中端。 8051提供5个中断源,既INT0、INT1、定时器0、定时器1和串行口。2.1.2 MCS-51单片机引脚及功能1、主电源引脚(1)Vss 接地。(2)Vcc 接+5V。 2、时钟电路引脚(1)XTAL1 振荡器的高增益放大器输入,接晶振或外部源。(2)XTAL2 振荡器的放大器输出,或接收外振荡器信号。 3、控制信号引脚(1)EA(_)/Vpp 低电平时,8051执行外程序存储器的指令。高电平时,当PC小于4K时,8051至行片内ROM/EPROM;当PC大于4K时,
23、8051至行片外程序存储器。(2)RST/Vpd 从低到高(约3V)的跳变使8051复位。若Vcc降到低于规定值,而Vpd在规定值(约为5V)内,则Vpd将为RAM提供备用电源。(3)ALE 地质锁存信号输出端。在访 问外程序存储器时,锁存低位地址字节。在进行EPROM编程时,接收编程脉冲输入。(4)PSEN(_) 程序存储器允许输出信号。访问内程序存储器时,不激发PSEN(_)。 4、 输入/输出口引脚8051单片机有4个双向的8位输入/输出端口,分别为P0口、P1口、P2口、P3口。四个并行口提供了32根I/O线。每个口由一个锁存器(特殊功寄存器P0到P3)、一个输出驱动器和一个输入缓冲器
24、组成。P0口和P2口的输出驱动器以及P0口的输入缓冲器用于访问外部寄存器。此时,P0口分别输出外部低位地址、读/写数据,而输P2口出外部寄存器高地址。P3口的每一根线可执行第二功能:口线功能P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7RXD (串行输入口)TXD(串行输出口)INT0(外部中断0输入口)INT1(外部中断1输入口)T0(定时器0外部输入口)T1(定时器1外部输入口)WR(写选通输出口)RD(读宣统输出口)表2-12.1.3 MCS-51指令系统简介指令系统简介 8051的指令系统按功能可以分为数据传送、算术操作、逻辑操作和控制转移四大类。以下分别介绍这几类指
25、令。数据传送 数据传送指令可分为通用的、累加器专用的和目标地址用的三种。通用的传送MOV 执行第二操作数到第一操作数的位、字节和字的传送。PUSH 把SP寄存器加1,然后从第二操作数传送一个字节到当前SP寻址的堆栈单元中。POP 把有SP寄存器寻址的堆栈单元中传送一个字节到第一操作数,然后把SP减1。(b)累加器专用传送XCH 第二操作数的字节与A累加器的字节交换。MOVX 外部数据存储器和A累加器之间传送一个字节。外部抵制可由DPTR寄存器(16位)或R1、R0(各8位)来指定。MOVC 从程序集存器传送一个字节到A寄存器中。( c )目标地址传送MOV DPTR, #data把16位数立即
26、装入一对目的寄存器DPH和DPL中。算术操作 ADD 执行A累加器与第二操作数之间的加法,结果送回A累加器中。DA (BCD加法的十进位法调整) 对两个2位十进制操作数的二进制加法结果进行调整。由DA所形成的压缩十进制数之间和回送到A累加器中。如果BCD结果大于99则进位标志位置位,否则清0。SUBB(连借位减) 执行从第一操作数(累加器)中间去第二操作数,如果C标志位置位则再减1,把结果回送到A寄存器。MUL 执行A累加器与B寄存器的无符号乘法。双字节乘法的高位字接送B寄存器,低位字节送A累加器。如果乘积的高位字节为0则OV清零,若非0则OV置位。C清零,AC保持不变。DIV 执行A累加器与
27、B寄存器的无符号数除法,把商送到累加器A,余数送到B寄存器。若除数为0,则累加器A和寄存器B内容不定,并置位OV,否则OV清0。C清零,AC保持不变。( 3 ) 操作数逻辑操作(a)单操作数逻辑操作CLR 用于A累加器和C进位标志或任何直接寻址位清0。SETB C进位标志或任何直接寻址的位置1。CPL 把A累加器中的操作数取反,并把结果回送到A累加器中,不影响标志位;或者将C进位标志或任何直接寻址位取反。RL, RLC, RR, RRC, SWAP 能对A累加器执行五种循环为操作:RL(左移4位)。对于RLC和RRC,C标志与最后移出的位相同。SWAP把A累加器高半字节与低半字节的内容交换。(
28、 b)双操作数逻辑操作ANL 对两个操作数(位或字节)执行按为逻辑“与”操作,并把结果回送到第一个操作数中。ORL 对两个操作数(字节)执行按位逻辑“或”操作,并把结果回送到第一个操作数中。XRL 对两个操作数(字节)执行按位逻辑“异或”操作并把结果回送到第一个操作数中。( 4 ) 控制转移 控制转移分为无条件转移、调用和返回,条件转移和终端等几种方式。无条件调用、返回和转移RET 转移控制到前一次调用操作时保存在堆栈中的地址,一般ACALL或LCALL所调用的子程序结束语句。JMP A+DPTR 间接转移指令。把累加器A的无符号内容与数据指针的16位数据相加,然后把结果送到程序计数器。这样转
29、移的实际目的可以是程序储存空间中的任何单元。这种间接转移对程序中实现N路散转很方便。有条件转移JZ 如果累加器A为0则执行一次转移。JNZ 如果是累加器A不为0,则执行一次转移。JC 如果仅为标志Cy为1,则执行转移。JNC 如果仅为标志Cy为0,则执行转移。JB 如果直接寻址位为1,则执行转移。CJNE 把第一操作数以第二操作数相比较,如果不相等,则执行转移。DJNE 把操作数减1,结果送回源操作数的地址中,若不为0则转移。使用条件指令可有效地把RAM单元用作程序循环计数器。中断通过内部或外部终端方法可执行程序的转移。所有的中断通过把程序计数器进栈,然后转向位于程序存储器绝对地址3、11、1
30、9、27或35号单元来执行转移。RETI 中断指令。控制转移方式与RET相同,此外它还重新允许现行优先级中断。2.2 单片机的选择2.2.1 AT89C2051单片机的选择与性能简介根据初步设计方案的分析,设计这样一个简单的应用系统,可以选择带有EPROM的单片机,应用程序直接存储在片内,不用在外部扩张程序存储器,电路可以简化。INTEL公司的8051和8751芯片均可以选用。ATMEL公司生产的AT89C系列的单片机也可以选用。AT89C系列与MCN-51系列单片机相比有两大优势:第一,片内程序存储器采用闪速存储器,使程序的写入更加方便;第二,提供了更小尺寸的芯片(AT89C2051/105
31、1),使整个硬件电路的体积更小。它以体积小、良好的性能价格比倍受青睐。因此,我们可以选用AT89C2051单片机。该芯片的功能与MCN-51系列单片机完全兼容,并且还具有程序加密等功能,物美价廉,经济实用。AT89C2051是ATMEL公司生产的带2K字节可编程闪速存储器的8位CMOS单片计算机,工作电压范围为2.76V,全静态工作频率为024MHz。AT89C2051芯片采用DIP-20封装形式,引脚配置如图2-1所示89C2051U120RST VCCP3.0RXD P1.7P3.1TCD P1.6XTAL2 P1.5XTAL1 P1.4P3.2INT0 P1.3P3.3INT1 P1.2
32、P3.4T0 AINI P1.1P3.5T1 AINI P1.0GND P3.719181716151413121112345678910图2-1 AT89C2051的管脚配置图与8051进行对比后可发现,AT89C2051减少了两个对外端口(即P0、P2口),因而芯片尺寸有所减小。AT89C2051芯片的20个引脚功能为:VCC、GND:电源电压、接地引脚。RST:复位信号输入引脚。当RST变为高电平并保持2个机器周期时,所有IO引脚复位至“1”电平。XTAL1、XTAL2:反向振荡放大器内部时钟工作电路的输入、反向振荡放大器的输出引脚。P1.0P1.7:P1口的8为双向IO引脚。P1口引脚
33、写入“1”后,可用作输入。在闪速存储器编程和编程校验期间,P1口也可接收编码数据。P1口输出缓冲器能接收20mA电流,并能直接驱动LED显示器。P3口也可用作特殊功能口,P3.0P3.5与P3.7:为7个带内部上拉的双向IO口引脚。P3口的输出缓冲器能接收20mA电流;P3口写入“1”后,内部上拉,可用作输入。P3.6在内部已与片内比较器输出相连,不能作为通用IO引脚访问。P3口同时也可为闪速存储器编程和编程校验接收控制信号。P1口是8位双向IO口。从上述引脚说明可看出,AT89C2051没有提供外表扩展存储器所需的地址锁存和读写控制信号。因此,利用AT89C2051构成的单片机应用系统时,不
34、能像AT89C51那样扩展存储器等设备,可以根据情况与I2C或SPI串行总线设备接口。第三章 设计要求与总体设计方案3.1 设计要求1.自动计时,并用6个LED显示时、分、秒。2.具备时间调整功能。3.具备定时起脑功能。4.精度要求一天的时间误差不能超过1秒。3.2 总体设计方案3.2.1 计时方案方案一:采用实时时钟芯片。针对计算机系统对实时时钟功能的普遍需求,各大芯片生产厂家陆续推出了一系列的实时时钟集成电路,如DS1287、DS12887、DS1302等。这些实时时钟芯片具备年、月、日、时、分、秒计时功能和多点定时功能,计时数据的更新每秒自动进行一次,不需程序干预。计算机可通过中断或查询方式读取计时数据并进行显示,因此计时功能的实现无需占用CPU的时间,程序简单。此外,实时时钟芯片多数带有锂电池做后备电源,具备永不停止的计时功能;具有可编程方波输出功能,可用做实时测控系统的采样信号等;有的实时时钟芯片内部还带有非易失性RAM,可用来存放需长时期保持但有时也需要变更的数据。由于功能完善,精度高,软件程序设计相对简单,且计时不占用CPU时间,