当前位置:文档之家› 基于单片机C51的万年历课程设计报告

基于单片机C51的万年历课程设计报告

课程设计说明书课程名称:《单片机技术》设计题目:基于单片机的万年历设计院(部):电子信息与电气工程学院学生:学号:专业班级:电子信息工程10-1指导教师:2013年 05 月 17 日课程设计任务书万年历设计摘要:以AT89S52为主控芯片设计了一个带温度显示的万年历电路系统,该电路具有年、月、日、星期、时、分、秒、闹钟显示和调整,并且还能显示温度和按键提示音、整点鸣叫、定时闹钟鸣叫等功能。

本设计由数据显示模块、温度采集模块、时间处理模块和调整设置模块四个模块组成。

温度采集选用DS18B20芯片,数据显示采用1602A液晶显示模块,主芯片利用定时中断产生时间,控制着液晶的显示更新、温度的实时变化以及按键的读取处理,而对于闹钟,实际上就是时间里的一个嵌套程序。

时间和闹钟的值由按键调整设置,采用通用的二十四小时制。

关键词:单片机;液晶显示屏;温度传感器;时钟芯片目录1. 设计背景 (1)1.1 概述 (1)1.2 万年历设计目的 (1)2.设计方案 (2)2.1 按键控制模块设计与论证 (2)2.2 时钟模块设计与论证 (2)2.3 显示模块模块设计与论证 (3)3. 方案实施 (4)3.1系统整体框图 (4)3.2原理图设计 (4)3.2.1 单片机最小系统模块 (4)3.2.2 电源模块 (5)3.2.3 时钟芯片DS1302模块 (6)3.2.4温度采集DS18B20模块 (6)3.2.5 闹钟模块 (7)3.2.6 LCD1602显示模块 (8)3.2.7 按键模块 (9)3.3 软件设计 (9)3.4 系统仿真 (10)3.5系统制作 (11)4. 结果与结论 (12)4.1 结果 (12)4.2 结论 (12)5. 收获与致 (13)6. 参考文献 (14)7. 附件 (15)7.1 原理图 (15)系统电路图如图7.1所示: (15)7.2 元器件清单 (15)7.3 实物图 (16)7.3.1 正常工作 (16)7.3.2 调试状态 (17)7.3.3 闹钟设置状态 (18)1. 设计背景1.1 概述如今万年历已经在人们生活中广泛的使用,它不仅是记录日期和时间的工具,而且也成为了一种装饰品。

现在的万年历可以说是多种多样,外观精美。

放在家里既可以计时也可作为风景壁画,因此越来越受到大众消费者的喜爱。

1.2 万年历设计目的随着电子技术的发展,人类不断研究,不断创新纪录。

万年历目前已经不再局限于以书本形式出现。

以电脑软件或者电子产品形式出现的万年历被称为电子万年历。

与传统书本形式的万年历相比,电子万年历得到了越来越广泛的应用,采用电子时钟作为时间显示已经成为一种时尚。

目前市场上各式各样的电子时钟数不胜数,但多数是只针对时间显示,功能单一不能满足人们日常生活需求。

本文提出了一种基于AT89S52单片机的万年历设计方案,利采用一个LCD显示。

本方案以AT89S52单片机作为主控核心,与时钟芯片DS1302、温度芯片DS18B20、闹钟模块、按键、LCD显示等模块组成硬件系统。

在硬件系统中设有5个独立按键和一个LCD显示器,能显示丰富的信息,根据使用者的需要可以随时对时间进行校准、选择时间、温度显示、综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。

2.设计方案2.1 按键控制模块设计与论证方案一:直接加减:使用7按键,1按键切换闹钟,6按键对时分秒分别加减,控制方式相当简单,但需要较多按键与I/O口,功能一般,成本较高。

方案二:矩阵键盘:使用16按键对时分秒直接设置,能最为灵活的对数字钟进行设置,功能强大,但控制方式相对困难,成本较高,需要较多按键与I/O口。

方案三:换位调整:使用4按键,1设置闹钟,1键设置调整时间,1键调整,1键确定,此种控制方式相对简单,占用I/O口少,成本低廉,但功能一般。

经过反复比较,在3种方案中选取了第3种——换位调整,此方案成本低,功能已经足够满足数字钟的需要,而且硬件软件均比较简单。

2.2时钟模块设计与论证方案一:不使用芯片,采用单片机的定时计数器这种方法原理是利用单片机芯片的定时器来产生固定的时间,模拟时钟的时, 分,秒。

如:利用AT80C52芯片,定时器用工作方式1,每50ms产生一个中断,循环20次,即1s周期。

每一个周期加1,那么1min为60个周期,1h就是60*60=3600个周期,一天就是3600*24=86400个周期。

此方法优点是可以省去一些外围的芯片,但这种方法只能适用于一些要求不是十分精确,不做长期保留的场合。

方案二:并行接口时钟芯片 DS12887特点:采用单片机应用系统并行总线(三总线)扩展的接口电路,采用这种接口电路具有操作速度快,编程方便的优点。

但是对于80C52单片机来说,低位地址线要通过锁存器输出,还要地址译码器,而且并行口芯片的体积相对较大,会占用较多的空间。

方案三:串行接口时钟芯片DS1302芯片主特性:(1)实时时钟具有能计算2100 年之前的秒分时日日期星期月年的能力,还有闰年调整的能力(2) 8 位暂存数据存储RAM(3)串行 I/O 口方式使得管脚数量最少(4)宽围工作电压2.0~5.5V(5)工作电流 2.0V 时,小于300nA(6)读/写时钟或RAM 数据时有两种传送方式单字节传送和多字节传送字符组方式(7)8 脚DIP 封装或可选的8 脚SOIC 封装根据表面装配(8)简单 3 线接口(9)与 TTL 兼容V cc=5V(10)可选工业级温度围-40~+85优点:串行接口的日历时钟芯片,使用简单,接口容易,与微型计算机连线较少等特点,在单片机系统尤其是手持式信息设备中己得到了广泛的应用。

比较以上三种方案的优缺点,综合考虑最终选择串行时钟芯片DS1302。

2.3 显示模块模块设计与论证方案一:采用静态显示方法,静态显示模块的硬件制作较复杂及功耗大,要用到多个移位寄存器,但不占用端口,只需两根串口线输出。

方案二:采用动态显示方法,动态显示模块的硬件制作简单,段扫描和位扫描各占用一个端口,总需占用单片机14个端口,采用间断扫描法功耗小、硬件成本低及整个硬件系统体积相对减小。

方案三:采用LCD的方法,具有硬件制作简单可直接与单片机接口,显示容多,功耗小,成本低等优点,LCM1602可显示32个字符,采用LCD的缺点是亮度不够。

比较以上三种方案:方案一硬件复杂体积大、功耗大;方案二硬件简单、功耗小;方案三硬件简单,显示容多,功耗小,成本低等。

本系统设计要求达到功耗小、体积小、成本低,显示信息多等要求,权衡三种方案,选择方案三。

3.方案实施3.1系统整体框图按照系统设计的要求,初步确定系统由电源模块、复位电路、时钟模块、显示模块、按键模块、温度采集模块和蜂鸣器组成,电路系统构成责整体框图如图3.1所示:图3.1 整体框图 3.2原理图设计3.2.1 单片机最小系统模块单片机最小系统设计为如图3.2:图3.2 单片机最小系统本设计中选择了部时钟方式和按键电平复位电路,来构成单片机的最小电路。

复位是单片机的初始化操作,单片机在启动运行时,都需要先复位,其作用是使CPU 和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。

此设计中P0口做为输出口用来驱动LCD 显示,而P0口部又没有上拉电阻,所以加上10K 上拉电阻。

时钟电路 按键模块显示模块蜂 鸣 器复位电路本设计中的复位电路集手动复位及上电自动复位于一体。

1)上电自动复位通过外部复位电路的电容C3的充电来实现,只要电源VCC 的上升时间不超过1ms,就可以实现自动上电复位。

2)按键手动复位是通过使复位端经电阻与VCC接通而实现的。

时钟振荡电路考虑系统运行速度,采用12MHZ的石英晶振,并使用两个小电容作为微调电容。

3.2.2 电源模块3.2.3 时钟芯片DS1302模块时钟芯片电路设计如图3.4:图3.4 时钟芯片电路如图3.4所示,其中Vcc1为后备电源,Vcc2为主电源。

VCC1在单电源与电池供电的系统中提供低电源并提供低功率的电池备份。

VCC2在双电源系统中提供主电源,在这种运用方式中VCC1连接到备份电源,以便在没有主电源的情况下能保存时间信息以及数据。

DS1302由VCC1或VCC2 两者中较大者供电。

当VCC2大于VCC1+0.2V时,VCC2给DS1302供电。

当VCC2小于VCC1时,DS1302由VCC1供电。

DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置“0”,接着把RST端置“1”,最后才给予SCLK脉冲;DS1302的控制字的位7必须置1,若为0则不能对DS1302进行读写数据。

对于位6,若对时间进行读/写时,CK=0,对程序进行读/写时RAM=1。

位1至位5指操作单元的地址。

位0是读/写操作位,进行读操作时,该位为1;进行写操作时,该位为0。

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

DS1302的日历、时间寄存器容:“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。

“WP”是写保护位,在任何的对时钟和RAM的写操作之前,“WP”必须为0。

当“WP”为1时,写保护位防止对任一寄存器的写操作。

3.2.4温度采集DS18B20模块温度采集电路设计如图3.5所示:图3.5 温度采集电路如3.5图所示,该系统中采用数字式温度传感器DS18B20,具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,用P3.7 与DS1802的DQ端口连接,V cc接电源,GND接地。

DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。

DS18B20测温原理如图3.6所示。

图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。

高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。

计数器1和温度寄存器被预置在-55℃所对应的一个基数值。

计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。

3.2.5 闹钟模块闹钟电路如图3.6所示:3.6 闹钟电路我们采用的有源蜂鸣器,由于单片机的输出电流较小所以我们采用PNP形的三极管作为驱动电路,来驱动蜂鸣器发声,当单片机给低电平时蜂鸣器响。

相关主题