单片机应用大作业

发布 2022-09-24 11:02:28 阅读 8427

单片机。

大作业报告。

目录。一、设计任务和性能指标

1.1设计任务

1.2性能指标

二、设计方案

三、系统硬件设计

3.1主控制器at89c52最小系统

3.2时钟电路ds1302

3.3显示电路的设计

3.4键盘接口的设计

四、系统软件设计

4.1主程序设计

4.2阴历子程序设计

4.3显示子程序设计

五、调试及性能分析

5.1调试步骤

6.2性能分析

六、心得体会

利用单片机及外围接口电路(键盘接口和显示接口电路)设计制作一个日历时钟,用led把日期﹑时间实时显示出来。

要求用protel 画出系统的电路原理图(要求以最少组件,实现系统设计所要求的功能),印刷电路板(要求布局合理,线路清晰),绘出程序流程图,并给出程序清单(要求思路清晰,尽量简洁,主程序和子程序分开,使程序有较强的可读性)。

1. 日历:年(2位) 、月(2位) 、日(2位)

2. 时钟:时(2位) 、分(2位) 、秒(2位)

3. 星期(1位)

4. 校对键:确认键 、加键、翻屏键。

5. 阴历日期推算并显示:月(2位)、日(2位)、指示阴历闰月(发光二极管一个)

按照系统设计的功能的要求,初步确定设计系统由主控模块、时钟模块、显示模块、键扫描接口电路共四个模块组成,电路系统构成框图如图1.1所示。主控芯片使用51系列at89c52单片机,采用高性能的静态80c51设计,由先进工艺制造,并带有非易失性flash程序存储器。

它是一种高性能、低功耗的8位coms微处理芯片,市场应用最多。

时钟芯片使用美国dallas公司推出的一种高性能、低功耗、带ram的实时时钟芯片ds1302。采用ds1302作为主要计时芯片、可以做到计时准确。更重要的是,ds1302可以在很小的电流的后备电源(2.

5~5.5v电源,在2.5v时耗电小于300na)下继续计时,并可编程选择多种充电电流对后备电源进行慢速充电,可以保证后备电源基本不耗电。

采用串行数据传输,与单片机硬件连接简单,如果使用时钟芯片ds12887,将采用并行数据传输,占用更多的硬件资源。因此为节省单片机端口,时钟芯片采用ds1302。

图 2..1 日历时钟显示系统构成框图。

显示模块采用普通的共阴led数码管,也可采用lcd显示,但考虑其造价较高浪费资源,故使用led显示。键盘采用线性连接,连接方式相对简单,使用查询法实现调整功能。三、系统硬件设计。

atmel公司生产的at89c52单片机它是硬件电路的核心部分,时钟电路晶振使用11.0592mhz,复位电路采取按键复位方式。具体连接见附录1。

的性能。实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行计数;

用于高速数据暂存的31*8位的ram;

最少引脚的串行i/o;

2.5-5.5v的电压工作范围;

2.5v时耗电小于300na;

用于时钟或ram数据读/写的单字节或多字节(脉冲方式)数据传送方式;

简单的3线接口;

可选的慢速充电(至vcc1)的能力。

ds1302时钟芯片包括实时时钟/日历和31字节的静态ram。它经过一个简单的串行接口与微处理器通信。实时时钟/日历提供秒、分、时、日、周、月和年等信息。

对于小于31天的月和月末的日期自动进行调整,还包括闰年校正的功能。时钟的运行可以采用24h或带am(上午)/pm(下午)的12h格式。采用三线接口与cpu进行同步通信,并可采用突发方式一次传送多字节的时钟信号或ram数据。

ds1302有主电源和后备电源双电源引脚:vcc1在单电源与电池供电的系统中提供低电源,并提供低功率的电池备份;vcc2在双电源系统中提供主电源,在这种运用方式中,vcc1连接到备份电源,以便在没有主电源的情况下能保存时间信息以及数据。ds1302由较大者供电。

当vcc2大于vcc1+0.2v时,vcc2给ds1302供电;当vcc2小于vcc1时,ds1302由vcc1供电。

数据操作原理。

ds1302在任何数据传送时必须先初始化,把rst脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在sclk的上升沿被输入。无论是读周期还是写周期,开始8位指定40个寄存器中哪个被访问到。在开始8个时钟周期,把命令装入移位寄存器之后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。

时钟脉冲在单字节方式下为8加8,在多字节方式下为8加字节数,最大可达248个字节数。

如果在传送过程中置rst脚为低电平,则会中止本次数据传送,并且i/o引脚变为高阻态。上电运行时,在vcc≥2.5v之前,rst脚必须保持低电平。

只有在sclk为低电平时,才能将rst置为高电平。ds1302的引脚及内部结构图如图3.1所示,表3.

1为各引脚功能。

图3.1 ds1302引脚及内部结构。

表3.1 ds1302引脚功能。

ds1302与单片机的具体连接见附录1,它的控制字如图3.2所示。控制字的最高有效位(位7)必须是逻辑1;如果为0,则不能把数据写到ds1302中。

位6如果为0,则表示存取日历时钟数据;为1表示存取ram数据。位5-1(a4-a0)指示操作单元的地址。最低有效位(位0)如果为0,表示要进行写操作;为1表示要进行读操作。

控制字节总是从最低位开始输入/输出。

图3.2 ds1302的控制字。

ds1302共有12个寄存器,其中有7个寄存器与日历、时钟有关,存放的数据为bcd码形式。其日历、时间寄存器及其控制字见表2.2,其中奇数为读操作,偶数为写操作。

ds1302的晶振选用32.768khz。

显示部分采用普通的共阴数码管显示,使用动态扫描,以便减少硬件电路。考虑到一次扫描7位数码管显示时会出现闪烁情况,设计时采用多次调用显示子程序解决这个问题。驱动数码管的芯片采用驱动能力较强的74hc373,使用单片机的p0口作为并行输出,74hc373是高电平锁存,用p1.

4口作为74hc373时钟控制端口,即置‘1’控制端。由于数码管采用共阴接法,使用p2.0口-p2.

6口作为数码管的位选,同时加入74ls04作为反向驱动。74hc373在得到高电平后,将8位数据锁存,并行输出送至数码管各段选控制口。

由于p0口内部无上拉电阻,因此需要采用外接上拉电阻的方法,以提高带负载能力,同时还使用发光二极管来指示阴历的闰月。具体连接见附录1。

键盘只有4个,其中1个用于单片机上电复位,其余三个用普通按键接10kω上拉电阻,分别控制移位(对应硬件电路图中的s4键,)、翻屏(对应硬件电路图中的s3)、加一键(对应硬件电路图中的s2),使用查询法来完成读键功能。其具体连接见附录1。

因为使用了时钟芯片ds1302,阳历只需从ds1302各寄存器中读出年、周、月、日、时、分、秒等数据,再经处理即可。在首次对ds1302进行操作之前,必须对它进行初始化,然后从ds1302中读出数据,再经过处理后,送给显示缓冲单元。然后调用阴历更新程序,根据阳历日期推算出阴历日期。

在调用更新阴历程序后,要读取键值。此时如果控制键有效,则进入时间调整部分。调整时间用3个调整按键,1个作为移位、控制用,1个定义为控制按键,用于翻屏,另外1个按键用作加1键。

在调整时间过程中,要调整的位与未调整位应有所区别,所以增加了闪烁功能,即调整的位一直在闪烁,直到调整下一位。闪烁的原理就是,让调整的一位每隔一定时间熄灭一次,利用计数器0,方式1,初值设为0,因为晶振为11.0592mhz,所以当计数达到60ms左右时会溢出,让计数器t0中断6次,就送给调整位熄灭符,再次中断6次时,再送正常显示的值,不断交替,直到调整该位结束。

此时送正常显示值给该位,再进入下一位调整闪烁程序。

主程序流程图见图4.1。

阴历程序的实现是依靠阳历日期来推算的。要根据阳历来推算阴历日期,首先要设计算法。推算的方法是根据阳历当前日期在一年中的天数来计算阴历日期。

计算出的阳历天数为该年的第几天,存放在r2和r3中。计算出天数后,如果大于#ffh,则把#ffh存放在r2中,余数存放在r3中。由于整体算法很复杂,需要计算从2023年到2023年阴、阳历之间的关系,制成**,用dptr查表的方法来送显示,因此这里只给出流程**释说明,阴历程序流程图如图4.

2和图4.3所示。

大工《单片机原理及应用》大作业答案

题目一 单片机电子时钟设计。准则 设计一个基于51单片机或stm单片机的电子时钟,并且能够实现时分秒的显示和调节。撰写要求 1 首先介绍课题背景,并进行需求分析及可行性分析,包括软硬件功能分配 核心器件的选型等 2 对系统硬件进行设计,包括硬件功能模块划分 电路原理图设计等 3 对系统软件进行设计,...

单片机大作业报告

单片机 题目 电子实时时钟 万年日历系统。专业 学生姓名 提交日期 2009 年 12 月 14 日。单片机实验报告。一 实验目的 课程标志性内容的设计理解和综合运用,鼓励独立性设计和功能扩展的创新实践。二 功能要求 1 基本要求 1 显示准确的北京时间 时 分 秒 可用24小时制式 2 随时可以调...

单片机大作业报告

温度控制系统设计。班级 1302041学号 姓名 陈串串。1设计要求。项目简介 温度的测量和控制对人类日常生活 工业生产 气象预报 物资仓储等都起着极其重要的作用。在许多场合,及时准确获得目标的温度 湿度信息是十分重要的,近年来,温湿度测控领域发展迅速,并且随着数字技术的发展,温湿度的测控芯片也相应...