基于单片机可编程作息时间控制器设计与制作.docx

上传人:b****7 文档编号:11377671 上传时间:2023-02-28 格式:DOCX 页数:72 大小:260.67KB
下载 相关 举报
基于单片机可编程作息时间控制器设计与制作.docx_第1页
第1页 / 共72页
基于单片机可编程作息时间控制器设计与制作.docx_第2页
第2页 / 共72页
基于单片机可编程作息时间控制器设计与制作.docx_第3页
第3页 / 共72页
基于单片机可编程作息时间控制器设计与制作.docx_第4页
第4页 / 共72页
基于单片机可编程作息时间控制器设计与制作.docx_第5页
第5页 / 共72页
点击查看更多>>
下载资源
资源描述

基于单片机可编程作息时间控制器设计与制作.docx

《基于单片机可编程作息时间控制器设计与制作.docx》由会员分享,可在线阅读,更多相关《基于单片机可编程作息时间控制器设计与制作.docx(72页珍藏版)》请在冰豆网上搜索。

基于单片机可编程作息时间控制器设计与制作.docx

基于单片机可编程作息时间控制器设计与制作

可编程作息时间控制器设计与制作

摘要:

本文介绍了一款基于AT89S52单片机数字钟的设计,通过多功能数字钟的设计思路,详细叙述了系统硬件、软件的具体实现过程。

论文重点阐述了数字钟硬件中主控制模块、时钟模块、显示模块和相关控制模块等的模块化设计与制作;软件同样采用模块化的设计,本设计实现了时间与闹钟的修改功能、语音播报功能、年、月、日和星期等的显示功能。

并且通过对比实际的时钟,查找出了误差的来源,确定了调整误差的方法,尽可能的减少误差,使得系统可以达到实际数字钟的允许误差范围内。

本次设计过程在硬件与软件方面是进行同步设计。

硬件部分主要由AT89C52单片机,LED显示电路,以及调时按键电路等组成。

在单片机的选择上本人使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。

显示器使用2片7SEG-MPX8-CA和一片7SEG-MPX4-CA。

7SEG-MPX8-CA是一种八个共阳二极管显示器,7SEG-MPX4-CA是一种四个共阳二极管显示器。

为了能更轻松的控制这三片显示器,本人使用了3片74HC164来驱动。

74HC164是8位边沿触发式移位寄存器,串行输入数据,然后并行输出。

软件方面主要包括日历程序、时间调整程序,公历转阴历程序,显示程序等。

程序采用汇编语言编写,以便更简单地实现调整时间及阴历显示功能。

 

关键词:

时钟电钟;DS1302;DS18B20;动态扫描;单片机

 

ABSTRACT

ThisarticledescribesanAT89S52microcontrollerbaseddigitalclockdesign,throughmulti-functionaldigitalclockdesignideas,detaileddescriptionofthesystemhardwareandsoftwarerealizationprocess.Paperfocusesonthedigitalclockinthemaincontrolmodulehardware,theclockmodules,displaymodulesandassociatedcontrolmodules,modulardesignandproduction;softwareasmodulardesign,thedesignandimplementationofthechangesoftimeandalarmfunctions,voicebroadcastfunction,year,month,dayandweek,etc.display.Andbycomparingtheactualclock,findoutthesourceoftheerror,theerrorofthemethodofdeterminingtheadjustment,asmuchaspossibletoreduceerrors

Enablethesystemtoachieveapracticaldigitalclockwithinallowableerror.

HardwaremainlybytheAT89C52microcontroller,LEDdisplaycircuit,andthetunecomposedofthecircuitwhenthebutton.IntheSCMchoiceIusedtheAT89C52microcontroller,whichissuitableformanyofthemorecomplexcontrolapplications.Monitortheuseoftwo7SEG--MPX8--CAanda7SEG--MPX4--CA.7SEG-MPX8-CAisatotalofeight-yangdisplay7SEG-MPX4-CAisatotaloffour-yangdiodedisplay.Inordertomoreeasilycontrolthethreemonitors,Iusethree74HC164todrive.74HC164isan8-bitedge-triggeredshiftregister,serialinputdata,andparalleloutput.Thesoftwareincludescalendarprogram,timetoadjustprocedures,turnthelunarcalendarprogramsdisplayprograms.Programswritteninassemblylanguageusedinordertomoreeasilyadjustthetimeandtherealizationofthelunarcalendardisplay.Allprogrammingiscomplete,thewavesoftwaredebugging,

 

Keywords:

Clockelectricclock:

DS1302;DS18B20:

DYNAMIC;SCANSCM

 

摘要……………………………………………………………………6

ABSTRACT………………………………………………………………7

前言……………………………………………………………………10

一.设计要求与方案探讨…………………………………………………11

1.1设计目的与意义…………………………………………………………………………10

1.2设计要求…………………………………………………………………………………11

1.3系统基本方案选择探讨………………………………………………………………11

1.3.1主控制芯片的选择方案探讨………………………………………………………11

1.3.2时钟芯片的选择方案探讨…………………………………………………………12

1.3.3LED显示系统选择方案探讨………………………………………………………13

二.硬件设计……………………………………………………………14

2.1系统电路设计框图………………………………………………………………………14

2.2系统硬件设计概述……………………………………………………………………14

2.3系统主要基本单元电路的设计……………………………………………………………………14

2.3.1主控制系统电路的设计……………………………………………………………14

2.3.2时钟电路的设计………………………………………………………………………16

2.3.3LED显示电路的设计……………………………………………………………………17

2.4系统电路原理说明………………………………………………………………18

三、软件设计…………………………………………………………22

3.1程序流程框图……………………………………………………………………………22

3.2子程序的设计……………………………………………………………………………24

3.2.1读、写DS1302子程序………………………………………………………………25

四、硬件与软件调试………………………………………………………2

4.1硬件调试…………………………………………………………………………………25

4.2软件调试……………………………………………………………………………………27

4.3调试结果分析与结论………………………………………………………………………29

4.3.1调试结果分析…………………………………………………………………………29

4.3.2调试结论………………………………………………………………………………29

五、论文总结……………………………………………………………30

参考文献…………………………………………………………………30

附录一:

系统电路图…………………………………………………………31

附录二:

系统程序清单……………………………………………………32

致谢…………………………………………………………………50

 

前言

随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。

  二十一世纪的今天,最具代表性的计时产品就是电子数字钟—电子万年历,它是近代世界钟表业界的第三次革命。

第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。

第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。

第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!

因此,这种数字钟的出现带来了钟表计时业界跨跃性的进步……。

本文通过对一个能实现按键开关可调整年、月、日、周、时、分、秒,且具有测温功能、定点报时的24小时制的时间系统的设计学习,详细介绍了单片机应用中的定时中断原理、数码管显示原理、动态扫描显示原理等,进一步学习、应用单片机汇编语言系统的实现了各种功能。

从而使自身明白使用单片机汇编语言和C语言之间的效率、整体性问题。

系统由单片机、独立式按键、时钟芯片、LED数码管、蜂鸣器等部分构成,能实现24小时制年、月、日、周、时、分、秒等时钟显示。

同时也可进行年、月、日、周、时、分、秒的校准、定点报时和LED数码管显示。

一、设计要求与方案论证

1.1设计目的与意义

(1)在学习了《数字电子技术》和《单片机原理及接口技术》课程后,为了加深对理论知识的理解,学习理论知识在实际中的运用,培养动手能力和解决实际问题的经验让学生接触专用时钟芯片DS1302,并会用DS1302芯片开发时钟系统,应用到其他系统中去。

熟悉WAVE软件调试程序和仿真.

(2)、通过实验提高对单片机的认识;

(3)通过实验提高焊接、布局、电路检查能力;

(4)、通过实验提高软件调试能力;

(5)进一步熟悉和掌握单片机的结构及工作原理。

(6)通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。

(7)通过实际程序设计和调试,逐步掌握系统化程序设计方法和调试技术。

(8)通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应打下基础。

1.2 设计要求:

1具有年、月、日、星期、时、分、秒等功能;

2时间与阴、阳历能够自动关联;

3具备年、月、日、星期、时、分、秒校准功能;

1.3系统基本方案探讨

1.3.1主控制芯片的选择方案探讨:

方案一:

采用89C51芯片作为硬件核心,采用FlashROM,内部具有4KBROM存储空间,能于3V的超低压工作,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,但是运用于电路设计中时由于不具备ISP在线编程技术,当在对电路进行硬件与软件调试时,由于对程序的错误修改或对程序的新增功能需要烧入程序时,调试麻烦,并且这样对芯片的多次拔插会对芯片造成一定的损坏。

方案二:

采用AT89S52,片内ROM全都采用FlashROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KBROM存储空间,具有3个16位定时器/计数器,8个中断源,同样具有AT89C51的功能,且具有ISP在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。

使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

可见AT89S52更能满足各方面的设计要求,减少不必要的麻烦,所以选择采用AT89S52作为主控制系统.

1.3.2时钟芯片的选择方案探讨:

方案一:

直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。

采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。

设计的数字钟误差不能太大,所以不采用此方案。

方案二:

可以采用DS1302时钟芯片,DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,而且精度高工作电压为2.5V~5.5V。

采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。

但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。

所以采用DS1302时钟芯片,更加可靠,稳定。

1.3.3显示系统选择方案探讨:

方案一:

采用LED液晶显示屏,液晶显示屏的显示功能强大,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性相对较差;对于具有驱动电路和微处理器接口的液晶显示系统(字符或点阵),可显示大量文字,图形,显示多样,清晰可见,但是这次设计显示主要是数字,没有大量文字,图形显示,并且价格昂贵,需要的接口线多,所以在此设计中不会采用LED液晶显示屏.

方案二:

采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。

综上所述,所以采用了LED数码管作为显示。

 

1.3电路设计最终方案决定

综上各方案所述,对此次毕业设计的方案选定:

采用AT89S52作为主控制系统;DS1302提供时钟;数字式温度传感器DS18B20作为温度传感器;LED数码管动态扫描作为显示。

二.硬件设计

2.1电路设计方案图

AT89S52

主控制模块

2.2系统硬件设计概述

本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由时钟芯片DS1302提供,它是一种高性能、低功耗、可靠稳定,带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。

采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。

可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;温度的采集由DS18B20构成;显示部份由21个数码管,74ls138、74ls47译码器等构成。

使用LED数码管动态扫描显示方式对数字的显示。

2.3系统主要单元电路的设计

2.3.1系统主控制电路的设计

At89s52是一种低功耗、高性能CMOS8位微控制器,是具有40引脚双列直插芯片,具有8K在系统可编程Flash存储器。

与工业80C51产品指令和引脚完全兼容。

具有以下标准功能:

8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口通信。

有四个I/O口P0,P1,P2,P3,功能如下:

P0口:

P0口是一个8位漏极开路的双向I/O口。

作为输出口,每位能驱动8个TTL逻

  辑电平。

对P0端口写“1”时,引脚用作高阻抗输入。

  当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。

在这种模式下,

  P0具有内部上拉电阻。

  在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。

程序校验

  时,需要外部上拉电阻。

  P1口:

P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个

  TTL逻辑电平。

对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入

  口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

  此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2

  的触发输入(P1.1/T2EX),具体如下表所示。

本设计系统设计如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出.第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端.如图-1所示

图-1主控制系统电路

 

2.3.2时钟电路的设计 

为了实现系统报警计时等功能,此设计采用了DS1302实时时钟芯片。

DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。

采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。

DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。

图-2示出DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。

在主电源关闭的情况下,也能保持时钟的连续运行。

DS1302由Vcc1或Vcc2两者中的较大者供电。

当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。

当Vcc2小于Vcc1时,DS1302由Vcc1供电。

X1和X2是振荡源,外接32.768KHz晶振。

RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。

RST输入有两种功能:

首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。

当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。

如果在传送过程中RSTS置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。

上电动行时,在VSS大于等于2.5V之前,RST必须保持低电平。

中有在SCLK为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。

SCLK始终是输入端。

DS1302与CPU的连接需要三条线,即SCLK(7)、I/O(6)、RST(5)。

下图DS1302与89s52的连接图,其中,时钟的显示用LCD。

图-2DS1302与主控制系统连接电路

 

2.3.3显示系统电路的设计

如图-5所示,采用LED数码管动态扫描显示,由21个数码管,3-8译码器74LS138接1K限流电阻,再接8550三极管接到共阳数码管的输出端作为选通位码,每位选择相应的列。

74ls47接240Ω限流电阻,再接共行的LED数码管的断码。

            图-4LED动态扫描显示电路电路

 

2.4系统电路原理及说明

(1)单片机AT89S52的工作原理:

1.1引脚功能及结构

具有8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:

0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符等结构与功能。

P0口:

P0口是一个8位漏极开路的双向I/O口。

作为输出口,每位能驱动8个TTL逻

  辑电平。

对P0端口写“1”时,引脚用作高阻抗输入。

  当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。

在这种模式下,

  P0具有内部上拉电阻。

  在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。

程序校验

  时,需要外部上拉电阻。

  P1口:

P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个

  TTL逻辑电平。

对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入

  口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

  此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2

  的触发输入(P1.1/T2EX),具体如下表所示。

  在flash编程和校验时,P1口接收低8位地址字节。

  引脚号第二功能

  P1.0T2(定时器/计数器T2的外部计数输入),时钟输出

  P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)

  P1.5MOSI(在系统编程用)

  P1.6MISO(在系统编程用)

  P1.7SCK(在系统编程用)

  P2口:

P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个

  TTL逻辑电平。

对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入

  口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

  在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)

  时,P2口送出高八位地址。

在这种应用中,P2口使用很强的内部上拉发送1。

在使用

  8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。

  在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

  P3口:

P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个

  TTL逻辑电平。

对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入

  口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

  P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。

  在flash编程和校验时,P3口也接收一些控制信号。

  端口引脚第二功能

  P3.0RXD(串行输入口)

  P3.1TXD(串行输出口)

  P3.2INTO(外中断0)

  P3.3INT1(外中断1)

  P3.4TO(定时/计数器0)

  P3.5T1(定时/计数器1)

  P3.6WR(外部数据存储器写选通)

  P3.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 笔试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1