当前位置:文档之家› 基于51单片机的数字时钟设计报告

基于51单片机的数字时钟设计报告

基于51单片机的数字时钟设计报告
基于51单片机的数字时钟设计报告

题目:基于DS1302与单片机组成的数字时钟学院:电气与控制工程学院

专业班级:自动化

学生姓名:

指导教师:

提交时间:2013年1月9日

目录

摘要 (3)

1.系统方案设计 (3)

1.1 系统总体方案设计 (4)

1.2 主要模块方案选择和论证 (4)

1.2.1 单片机的选择 (4)

1.2.2 时间生成模块的选择 (4)

1.2.3 显示模块的选择 (4)

1.2.4 显示模块的选择 (4)

1.2.5 按键模块的设计 (4)

2.硬件电路的设计 (5)

2.1 单片机系统电路的设计 (5)

2.1.1 AT89C52的介绍 (5)

2.1.2 功能概述 (6)

2.2 时钟芯片和按键电路的设计 (6)

2.2.1 DS1302的介绍 (6)

2.2.2 功能概述 (8)

2.3 LCD1602模块和蜂鸣器电路的设计 (9)

2.3.1 LCD1602的介绍 (9)

2.3.2 功能概述 (11)

2.4 DS18B20温度显示模块电路的设计 (12)

2.4.1 DS18B20的简介 (12)

2.4.2 功能概述 (13)

3.软件设计 (13)

3.1 主程序设计 (14)

3.2 网状多级状态结构的按键处理 (14)

4.系统调试、功能及使用说明 (16)

4.1 硬件调试 (16)

4.2 软件调试 (16)

4.3 系统功能 (16)

4.4 时间,日期的设置 (16)

5.讨论及总结 (16)

5.1 出现问题 (16)

5.2 已解决问题 (17)

5.3 未解决为题 (17)

5.4 总结 (17)

6.个人心得体会 (18)

6.1 王仲浩、胡婷婷、李三丽的心得体会、 (18)

附录 (20)

附录一系统总体原理图 (20)

附录二系统程序清单 (21)

附录三元件清单 (22)

参考文献 (22)

基于DS1302与单片机组成的数字时钟

摘要本文叙述了数字时钟的整个设计过程,包括硬件设计和软件设计,并重点讨论了模块软件设计和编程思想,并在本文末尾进行了讨论和总结,提出了改进的方面和改进的方法。主要介绍了以AT89C52单片机为核心,控制实时时钟芯片DS1302,数字温度芯片DS18B20和液晶显示模块LCD1602,实现时间和星期的显示与调整,温度显示。整个系统的软件设计在Keil环境下以C 语言实现.完成的电子钟具有走时准确;掉电长时间后时间不需重新设置;功耗低,操作界面友好,操作简便;最大的特点是具有人性化的设计。

关键字数字时钟硬件设计软件设计AT89C52单片机人性化

Abstract This article narrated electron clock's entire design process, including the hardware design and the software design, and discussed the module software design and the programming thought with emphasis, and has carried on the discussion and the summary end of this article, proposed the improvement aspect and the improvement method. This paper mainly introduces the hardware and software design of digital electronic clock which is made up of the AT89S52 MCU ,DS1302 clock chip,DS18B20 Temprature chip and LCD1602 module .It can accurately present and adjust the information of the time and temprature. Completes the electron clock has is in luck accurately; After power failure the long time, the time cannot the reset; The power loss is low, the operation contact surface is friendly, the operation is simple; The most major characteristic has the user-friendly design.

Keyword Digital clock Hardware design Software design AT89C52MCU User-friendly

1.系统方案设计

1.1系统总体方案设计

本课设题目要求为:1.具有年、月、日、时、分、秒、星期、温度显示功能;

2.具备年、月、日、时、分、秒、星期较准功能;

3.具备测量环境温度功能。

本方案采用单片机AT89C52作为控制单元,与数字温度芯片DS18B20接口获取温度数据,与实时时钟芯片DS1302接口获取时间/日历数据,通过与液晶模

块LCD1602接口显示温度、时间和日历,调整时间按键采用简单的单个I/O口键

盘,蜂鸣器发声。

系统整体方案图如下:

1.2 主要模块方案选择和论证

1.2.1单片机的选择

单片机有多种方案的选择,如Philips、Winbond、Intel、Siemens、或者STC 等,但51单片机价格便宜,使用方便,操作简单。针对题目的要求,89C52八位单片机已足够胜任,采用AT89S52,片内ROM全都采用Flash ROM;能以3V 的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。所以选择采用AT89S52作为主控制系统.故本设计采用89C52做处理器控制模块。

1.2.2时间生成模块的选择

时间生成可采用52单片的定时中断实现,它的优点:软硬件简单,操作简便,缺点:精确度低,掉电不保存。于是选择常用的时钟芯片DS1302来实现时间的生成。DS1302是低功耗实时时钟芯片,附加31字节静态RAM,采用SPI 三线接口与MCU进行同步通信,可提供秒,分,时,日,星期,月,年,采用双电源供电(主电源和备用电源),工作电压宽(2.5V~5.5V),不仅时间精确,还可以掉电保存时间日期,静态RAM可用来保存重要数据、标记。

1.2.3 显示模块的选择

显示模块是显示时间等信息和人机交流的设备,好的人机操作界面应该是友好的,显示的信息足够丰富。显示模块可用8位数码管显示,但是数码管显示信息量少,显示不友好,硬件相对复杂,在软件设计中不断扫描显示,占用CPU时间,效率低。液晶显示屏(LCD)具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影象稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强等特点。因此本方案选用LCD1602液晶显示模块。LCD1602液晶显示模块可显示16x2个字符,显示信息丰富,界面友好,硬件接口简单,驱动程序简单,是理想的显示器件。

1.2.4温度模块的选择

作为一个完整的数字时钟,温度的显示是必要的。早期的模拟温度传感器外形复杂,如热敏电阻是开发早、种类多、发展较成熟的敏感元器件.热敏电阻由半导体陶瓷材料组成,利用的原理是温度引起电阻变化.通过一定的电路可以将周围环境的温度变化转化成电压的变化,通过AD转化器件将信号传输给单片机进行分析,从而测出当前环境温度,但误差大,不稳定,对环境要求较高。而由美国DALLAS半导体公司推出的数字化温度传感器DS18B20采用单总线协议,即与单片机接口仅需占用一个I/O端口,无需任何外部元件直接将环境温度转化成数字信号,以数字码方式串行输出,大大地简化了传感器与单片机的接口。

1.2.5 按键的设计

由于电子钟功能的设置简单,只需4个按钮,故不采用矩阵键盘,而是采用简单的单个I/O口键盘,每个按钮占用一个I/O口,程序简单,并用蜂鸣器发声,硬件连接也很简单。

1.3电路设计最终方案决定

综上各方案所述,对此次作品的方案选定: 采用AT89C52单片机作为主控制系统;采用DS1302作为时钟芯片;采用1602 LCD液晶作为显示器件,温度数据由单片机从数字温度芯片DS18B20获取,用四个独立按键来实现时间和日期的调整。

2.硬件电路的设计

硬件电路设计是该系统设计的第一步。主控芯片采用美国ATMEL公司的AT89C52系列单片机,时钟芯片为DS1302,温度数据由单片机从数字温度芯片DS18B20获取,显示器件采用1602液晶显示模块。在1602液晶模块的第一行显示年、月、日,星期。第二行显示时、分、秒,温度。通过对液晶模块的地址设置使数字显示在屏幕的正中央已达到美观的效果。四个按键S1、S2、S3、S4分别与单片机的P1.4、P1.5、P1.6、P1.7四个I/O口线相连,S1为加1键,S2为减1键,S3为系统设置键,S4为确定键。当第一次上电时,系统日期初始化为“2000-01-01”,时间初始化为“00:00:00”。通过S1、S2、S3、S4可以设置成当前时间,当时间设置完成后,系统可进入正常走时状态。在正常走时状态下,随时可以通过S1、S2、S3、S4四个按键调整时间和日期。

2.1单片机系统电路的设计

2.1.1 AT89C52的介绍

AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。

AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。

AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。

(1)兼容MCS51指令系统,8k可反复擦写(>1000次)Flash ROM;

(2)32个双向I/O口,256*8bit内部RAM;

(3)3个16位可编程定时/计数器中断,时钟频率0-24MHz;

(4)2个串行中断,可编程UART串行通道;

(5)2个外部中断源,共8个中断源;

(6)2个读写中断口线,3级加密位;

(7)低功耗空闲和掉电模式,软件设置睡眠和唤醒功能。

2.1.2 功能概述

AT89C52为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。

如图,系统主控电路设计如下:

图2 主控电路模块

2.2时钟芯片和按键电路的设计

2.2.1 DS1302的简介

DS1302芯片是美国DALLAS公司推出的低功耗实时时钟芯片,它工作电压为2.5V~5.5V,采用串行通信方式,只需3条线便可以和单片机进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。可增加系统的RAM。DS1302的时钟校准比较容易,若采用专用的晶体振荡器,几乎无须调整即可以达到国家要求的时钟误差标准。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电

源进行涓细电流充电的能力,这样避免了由于突然停电而造成时钟停止,因此它非常适合于长时间无人职守的监测控制系统或需经常记录某些具有特殊意义的数据及对应时间的场合。DS1302提供秒、分、时、日、星期、月、年的信息,每月的天数和闰年的天数可自动调整,并可通过AM/PM 指示决定采用24 或12 小时格式。

(1)内部结构及引脚功能

DS1302内部主要包括实时时钟(real time clock)、输入移位寄存器(input shift registers)、31字节静态RAM、电源控制部分(power control)、命令控制逻辑(command and control logic)、振荡器和分频器(oscillator and divider)等部分。

DS1302具有8脚DIP引脚排列如图3所示:

图3 DS1302引脚排列

Vcc1:后备电源,在主电源关闭的情况下,也能保持时钟的连续运行;当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。

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

X1、X2:振荡源,外接32.768kHz晶振。

GND:接地端

SCLK:串行时钟输入端

I/O:串行数据输入输出端(双向)。

RST:复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。

(2)工作原理

DS1302工作时为了对任何数据传送进行初始化,需要将复位脚(RST)置为高电平且将8位地址和命令信息装入移位寄存器。数据在时钟(SCLK)的上升沿串行输入,前8位指定访问地址。命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输入数据。时钟脉冲的个数在单字节方式下为8+8(8位地址+8位数据),在多字节方式下最多可达8+248。

(3)控制字节及寄存器

DS1302的一次数据传送是从发送控制字节开始的。控制字节的最高有效位(位7)必须是逻辑1,如果该位为0,则无法把数据写入到DS1302中;位6表示要读写的数据类型,为0表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示要操作单元的地址;最低有效位(位0)表示命令类型,为0表示要进行写操作,为 1 表示要进行读操作。控制字节总是从最低位开始输出。

对DS1302的操作就是对其内部寄存器的操作,DS1302内部共有12个寄存器,其中有7个寄存器与日历、时钟有关,存放的数据位为BCD码形式。

表1 DS1302的日历时钟寄存器及控制字

此外,还有控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS1302与RAM相关的寄存器分为两类,一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、(读) 。

(4)数据的传送

向DS1302 写入数据时,数据在控制字节输入后的下一个SCLK周期的上升沿被写入,多余的SCLK将被忽略。数据写入时从低位(位0)开始;同样,从DS1302 读取数据时,数据在紧跟控制字节后的下一个SCLK的下降沿读出,读出数据时也是从低位(0位)到高位(7 位),只要RST保持高电平,额外的SCLK 将导致数据字节的持续读出,这个特性用于实现该芯片的突发读模式。

对DS1302 的每一次读写需16个时钟脉冲,前8 个脉冲输入操作地址和读写命令,后8个脉冲写入或读出数据。

2.2.2 功能概述

(1)按键与单片机的接线图

四个按键S1、S2、S3、S4分别与单片机的P1.4、P1.5、P1.6、P1.7四个I/O口线相连,S1为加1键,S2为减1键,S3为系统设置键,S4为确定键。当第一次上电时,系统日期初始化为“2000-01-01”,时间初始化为“00:00:00”。通过S1、S2、S3、S4可以设置成当前时间,当时间设置完成后,系统可进入正常走时状态。在正常走时状态下,随时可以通过S1、S2、S3、S4四个按键调整时间和日期。

图4 按键模块

(2)DS1302与单片机接线图

DS1302是低功耗实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与MCU进行同步通信,可提供秒,分,时,日,星期,月,年,采用双电源供电(主电源和备用电源),工作电压宽(2.5V~5.5V),不仅时间精确,还可以掉电保存时间日期,静态RAM可用来保存重要数据、标记。

图5 DS1302时钟芯片模块

2.3 LCD1602模块和蜂鸣器电路的设计

2.3.1 LCD1602字符液晶介绍

工业字符型液晶,1602是指显示的内容为16*2,即能够同时显示两行,每行16个字符。常见的1602字符液晶有两种,一种显示的是绿色背光黑色字体,另一种显示蓝色背光白色字体,目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的。本课题所用1602液晶模块,显示屏是绿色背光黑色字体。

表2 1602字符液晶引脚说明

各个引脚具体功能说明:

第1脚:GND为地电源。

第2脚:VCC接5V正电源。

第3脚:VO为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生重影,使用一个1K的电位器调整对比度。

第4脚:RS为寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器。

第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。

第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:DB0~DB7为8位双向数据线。

第15~16脚:背光灯电源。

表3 基本操作时序

RAM

1602液晶控制器芯片内部带有80个8位的RAM缓冲区,其地址和屏幕的对应关系如图7示

1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如下表所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形

显示出来,我们就能看到字母“A”.

表4 1602字符液晶字库2.3.2 功能概述

(1)LCD1602与单片机接线图

图6 LCD1602显示模块

(2)蜂鸣器与单片机接线图

图7蜂鸣器模块

2.4温度芯片DS18B20 简介

温度数据由单片机从数字温度芯片DS18B20获取。DS18B20的通信方式为单线总线方式(详见美国DSLLAS公司关于该芯片的数据手册),本系统中以单片机模拟单线总线方式实现与其接口。单片机以字节为单位对其进行读写操作,读写一个字节分成8个连续的位读写时隙实现。单片机对DS18B20的操作需遵循以下步骤:

2.4.1 DS18B20简介

(1)复位,即单片机发出复位脉冲(将总线从高电平拉到低电平并保持480微秒到960微秒,然后释放),等待接收DS18B20的存在脉冲(DS18B20将总线从高电平拉低,保持60微秒到240微秒)。

(2)发送ROM操作指令,即读ROM(33H)、匹配ROM(55H)、忽略ROM(CCH)和搜素ROM(F0H)其中之一。

(3)发送存储器操作指令,即读便笺存储器(BEH)、写便笺存储器(4EH)、复制便笺存储器(18H)、温度转换(44H)、回写E2PROM的值到便笺存储器(B8H)和读电源供给(B4H)其中之一。

(4)处理或数据操作。

要注意,DS18B20进行一次12位的温度转换需要750毫秒,如果温度转换没有结束就去读温度数据,将不能得到正确的温度值,且会终止正在进行的温度转换。所以,必须等

待足够的时间,让温度转换完成。本系统中,重复ShowTimes次读取时间数据,显示时间和温度等操作来实现这个等待时间,即图2中连接点②处的循环。

2.4.2 功能概述

数字化温度传感器DS18B20采用单总线协议,即与单片机接口仅需占用一个I/O端口,无需任何外部元件直接将环境温度转化成数字信号,以数字码方式串行输出。

如图:

图8 DS18B20温度芯片模块

3.软件设计

整个软件系统采用模块化思想,把1602,DS1302的驱动程序做成头文件,在功能程序中调用。采用这种方法不仅使程序模块化,使程序结构层次分明,便于管理和维护,同时可方便以后开发的调用,只要包含头文件,功能程序模块中再调用接口函数就可以了,而不必关心底层驱动是如何实现的,这样缩短了开发周期,开发效率大大提高。在主程序中采用事件顺序驱动机制的编程方法,按键处理中采用采用网状多级状态结构的编程方法,而秒表功能采用定时中断实现,精确到1ms.

3.1 主程序设计

包含主程序设计、实时时钟程序设计、温度芯片程序设计、液晶显示程序设计四部分。在此,仅将流程图中的重点做以解释说明。

图9 系统软件主程序流程图

3.2 网状多级状态结构的按键处理

按键处理中采用了基于状态机的程序调度机制,当某个按键按下时,改变其状态,再根据状态散转去执行相应的程序,达到了一键多义的效果。

主程序采用事件驱动机制,事件为某个按键按下,则主程序响应这个按键,并进入相应的功能程序,其编程思想如下;

其中改变设置标记的状态为“设置”键:当第一次按下“设置”键时,改变设置标记为1,表示主程序应该响应设置事件,进入设置状态。当退出设置状态时,置设置标志为0,表示主程序响应显示时间事件,进入显示时间状态。

设置键的状态机处理过程为:每按一下“设置”键,则其状态改变一次(标记状态从1改变到8),如图:

图10 各个键态的转移网络图

图11 按键流程图

4.系统调试功能及使用说明

4.1 硬件调试

排除元器件的实效:造成这类错误的原因有两个:一个是买来的元器件就是坏的,另一个由于安装的错误造成元器件烧坏。可以采取检查元器件与设计要求、规格和安装是否一致。在保证安装无误后,用替换方法排除错误。

排除电源故障:在通电前,一定要检查电源电压的幅值和极值,否则很容易造成集成块损坏。加电后检查各查件上引脚的点位,一般先检查VCC与GND

之间的点位,若在5V~4.8V之间属正常。若有高压,联机仿真器调试时将会损坏仿真器,有时会使应用系统中的集成块发热损坏。

4.2软件调试

(1)打开Proteus软件

(2)选择file菜单下的open design…选项,找到所需的元器件,按照电路图连接后并保存

(3)将用keil编译过的HEX格式程序下载到单片机中:单机51单片机再左击,再弹出的对话框,选择program file 文本框或单击文件图标,浏览找到所编译的程序,单击确定。

(4)单击左下角运行按钮,进行软件仿真、调试,直到出现正确的结果。

4.3 系统功能

1.具有年、月、日、时、分、秒、星期、温度显示功能;

2.具备年月日时分秒星期较准功能;

3.具备测量环境温度功能。

4.4 使用说明

作为十分接近生活的数字时钟,它的使用非常方便。系统上电后,自动在液晶显示1602上显示时间,以及环境温度。倘若需要调整时间的时候,可以用按键来设置。其中S1为加1键,S2为减1键,S3是模式键,S4是确定键。先按下S3,进入模式调整,可以依次调整分、时、年、月、日、周。再根据加减键调整,然后用确定键退出调整模式,便可以进入正常运行模式。

5.讨论及总结

5.1出现问题

介于初次自己动手来设计一个小的单片机最小系统,以实现时间和温度的显示。本次课程设计是利用时钟芯片DS1302,数字温度芯片DS18B20,液晶显示器LCD1602,在KEIL的环境下,通过C语言编程,实现了时间的显示与调整,温度显示。但在实现过程中遇见诸多问题。主要如下:

问题一:硬件设计完成后,在烧入显示程序后,LCD1602只亮但不显示。

问题二: 烧入程序后,系统时间的各个字符在1602上乱码显示。

问题三:在系统中加入温度测量DS18B20后,并在程序中加入相关程序,

但1602上温度不变化,只显示初始化时的数值。

问题四:在系统中加入闹钟功能及相应程序后,无法实现闹钟功能。

问题五:预想在系统中扩展秒表的功能,无从下手。

5.2已解决问题

已解决问题一:

在系统出现此种状况后,并不能确定是程序错误还是硬件电路存在问题。于是,为了分辨出问题所在,重新写入一个简单的显示程序,1602仍然不显示。得出,应是硬件电路的问题。

然后相应地,在有关接线及电位器中仔细检查。后来发现是调节对比度的电位器没有调到适当的位置,后经调整1602正常工作。

已解决问题二:

在调整好显示模块后,往C52中烧入程序后,系统不能实现预想功能。它在1602上以字符问号的形式在所有应该显示时间的位置呈现。再三检查程序逻辑结构,以及执行顺序。然后发现是在DS1302的写程序中未能很好地完成各个步骤,经修改后,可以显示时间,并可以通过按键调整时间。

已解决问题三:

在硬件电路中加入DS18B20后,并在软件中加入相应程序后,待系统重新上电后,温度始终显示初始化值。认真检查DS18B20的焊接,在参考单片机教材检查的过程中发现,教材中的元件图是底视图,由于经验主义,以为是俯视图,结果焊错1、3管脚没导致系统无法实现温度测量功能。经更改后发现芯片被烧毁,无法再使用。重新更换芯片后,再次调试,达到预期效果。

5.3未解决问题

未解决问题一: 加入闹钟程序后,无法实现闹钟功能。

未解决问题二: 加秒表功能,未实现。

5.4总结

经过实际的测试,该方案较好的实现了时间的显示与调整,具有较好的适应性与稳定性。

从最终的作品来看,本电子钟具有如下优点:走时准确;实时环境温度显示;掉电长时间(可达一年)后时间不需要重新设置;功耗低,操作界面友好,操作简便;最大的特点是人性化的设计。

在本次课程设计过程中,虽然比较顺利地完成了软件和硬件的设计和仿真,并最终实现了题目所要求实现的功能。但还有可深入研究和可改进之处。在调试过程中,最让人头痛的是DS1302的驱动,除了注意时序以外,引脚的连接和抗干扰很重要,特别是使用了备份电池。需要改进的地方是按键和闹钟时间的设置。在实际的操作中,按键的反应很慢,原因是为了防抖而在程序中加入只有按键弹起才执行的程序,虽然防抖了,但按键反应迟钝,带来了操作上的不便。以上在以后是需要进一步改进的。

本课程设计从软件设计到仿真到硬件制作和调试,都收获不小。特别是在仿真编程和硬件调试方面。在编程过程中一直灌输给自己“编程是一种思想”,一定要用编程的思想去编程,如模块化思想,文件管理思想,头文件和接口函数的思想,设计程序时要考虑到程序的可扩充性,兼容性,可维护性以及重用性,并归

纳和总结各种功能算法,各种调度和事件驱动机制等等。在编程方面有了一定的进步。在使用仿真软件时得到了一些启示:仿真只是提供一个实现的大概参考,真正的功能实现仍需在实际硬件调试中完善。

通过这次课程设计,在对单片机有了一个具体的认识的基础上,不仅将以前的知识来个总结,而且也学到了新知识。在设计制作“基于DS1302与单片机的数字时钟”的过程中在遇到很多问题,为了能够及时的发现问题并解决问题,就必须在做的过程中就阅读了大量相关书籍,请教老师和同学,来提高动手能力,和自学能力,为以后的学习和动手操作打下良好的基础。在做论文的过程中,论文格式是让我很头疼的问题,对于论文格式的问题必须仔细,耐心并且一丝不苟。在整个课设过程中,我们认为首先必须具备的是知识,然后是动手能力。当然这其中还包含了发现和解决问题的能力以及严谨的学习态度。通过这次设计我也摆脱了单纯的理论知识学习状态,和实际的设计的结合锻炼了我们的综合运用所学的专业基础知识,解决实际问题的能力。

6.心得体会

6.1王仲浩的心得体会

设计心得体会

————王仲浩

在这次的单片机课程设计中我担任软件编程及调试的任务,从一开始的茫然到现在的熟练,我觉得我收获了很多很多。

开始我根本不知道DS1302和LCD1602以及DS18B20的功能都是什么,也不知道要如何嵌套调用子函数,怎样才能达到预想的效果。然后我翻查了大量的资料,上网也搜索了很多的程序以供参考,慢慢的我明白了,要先做什么后做什么,如何把几个模块的子程序组装以实现想要的效果。程序写好后载入单片机后,一开始没有反应,1602也不亮,我们软硬件一起查,最终排除故障,但秒的调整和闪烁程序加入之后,显示不变经过多次改正还是不行,由于时间关系我们先交上这次作业,以后有时间我会请教同学及老师使得其完满。

刚开始在屏幕不显示时,我以为是程序出了问题,随后检察了好几遍程序,对1602和1302的初始化都做了延时修改,但还是不能显示。然后我参考了别人的程序,觉得没问题时,我们知道是硬件出了问题,经排除故障原来是1602有问题。显示之后,我把调时显示时的光标程序加进去,并不起作用,修改了之后仍然不行,还有闹钟的程序本来要加进去的,但由于上个程序没调好的原因,还有时间原因,没能实现,但在以后空闲时我们还会继续努力,使其完善。还有蜂鸣器的响声没有达到预期的效果,这一系列问题我们也会想办法解决。

6.2胡婷婷的心得体会

设计心得体会

————胡婷婷

通过这次对数字钟的设计与制作,让我了解了设计电路的程序,也让我了解了关于数字钟的原理与设计理念,要设计一个电路总要先用仿真仿真成功之后才实际接线的。但是最后的成品却不一定与仿真时完全一样,因为,再实际接线中

有着各种各样的条件制约着。而且,在仿真中无法成功的电路接法,在实际中因为芯片本身的特性而能够成功。所以,在设计时应考虑两者的差异,从中找出最适合的设计方法。这次学习,也让我对各种电路都有了大概的了解。

学贵以致用,通过几天的数字钟设计过程,将从书本上学到的知识应用于实践,学会了初步的电子电路仿真设计,虽然过程中遇到了一些困难,但是在解决这些问题的过程无疑也是对自己自身专业素质的一种提高。当最终调试成功的时候也是对自己的一种肯定。在当前金融危机大的社会背景下,能够增加自身砝码的不仅仅是一纸文凭证书,更为重要的是毕业生是否能够适应社会大潮流的需要,契合企业的要求即又较硬的动手操作及设计能力。此次的设计作业不仅增强了自己在专业设计方面的信心,鼓舞了自己,更是一次兴趣的培养,为自己以后的学习方向的明确了重点。还有在实验设计中我们曾遇到多块芯片以及数码管损坏的情况造成了数字钟的显示没有达到预期的效果,或是根本不显示,通过错误排除最终确认是元件问题,并向老师咨询跟换元件最终的到解决。在我们曾经遇到不懂的问题时,利用网上的资源,搜索查找得到需要的信息。

所以说,坐而言不如立而行,对于这些电路还是应该自己动手实际操作才会有深刻理解。

6.3李三丽的心得体会

设计心得体会

————李三丽

在这次的课程设计中,我主要负责的是硬件部分(焊接等),通过请教老师及其他人,还有通过查阅相关的资料,我基本了解了线路的相关连接。同时也懂了相关部件的功能(如DS1302,LCD1602,DS18B20等),这是我觉得最大的收获。本次实习中,还懂得了相关软件的使用,了解到了几个以前根本没有学习过的软件的相关功能及其基本操作,这让我感觉自己又有了进一步的提升,有了很大的提高。

这次实习中,通过解决出现的相关问题,我也学到了很多东西。首先是线路的连接问题,比如会出现虚焊以及元器件的极性接错等问题,所以在焊接时一定要细心认真,可用万用表来检查线路的相关短接及通电等问题。还有在实习还出现显示屏只有通电但并无显示的问题,如果线路连接保证的话,那么就是程序出现相关问题,可检查器接口相关输入输出的问题。其次,最重要的我觉得还是团结性问题,一个小组必须团结起来,这样才有所谓的“干活不累”,单凭一个人的力量在规定的时间内在基本没经验的基础上一般是无法完成这些任务的。

通过本次实习我知道了查阅资料的重要性,通过查阅图书馆中的相关资料,也可以通过网上搜索等,我们可以了解到很多我们不懂的知识,在平时的学习中,我们一定要本着不断求知的态度,不断去了解新的知识。还有对我们来说最重要的是对待事情态度,不论是做什么事情我们不能急躁,这些东西都关乎着所做事情的成败,遇到问题我们应该沉着冷静的去分析进而解决,不应该任其发展,这样只会让事情变得更加糟糕。还有做事情的时候我们彼此须有责任心,有团体意识,我们应该以集体的利益为准,担负起自己的责任,不能只把任务推

给其他人。

附录一系统总体原理图:

基于-89C51单片机的秒表课程设计汇本

《单片机技术》 课程设计报告 题目:基于MCU-51单片机的秒表设计班级: 学号: 姓名: 同组人员: 指导教师:王瑞瑛、汪淳 2014年6月17日

目录 1课程设计的目的 (3) 2 课程设计题目描述和要求 (3) 2.1实验题目 (4) 2.2设计指标 (4) 2.3设计要求 (4) 2.4增加功能 (4) 2.5课程设计的难点 (4) 2.6课程设计容提要 (4) 3 课程设计报告容 (5) 3.1设计思路 (5) 3.2设计过程 (6) 3.3 程序流程及实验效果 (7) 3.4 实验效果 (16) 4 心得体会 (17)

基于MCS-51单片机的秒表设计 摘要:单片机控制秒表是集于单片机技术、模拟电子技术、数字技术为一体的机电一体化高科技产品,具有功耗低,安全性高,使用方便等优点。本次设计容为以8051 单片机为核心的秒表,它采用键盘输入,单片机技术控制。设计容以硬件电路设计,软件设计和PCB 板制作三部分来设计。利用单片机的定时器/计数器定时和计数的原理,用集成电路芯片、LED 数码管以及按键来设计计时器。将软、硬件有机地结合起来,使他拥有正确的计时、暂停、清零、并同时可以用数码管显示,在现实生中应用广泛。 关键词:秒表;8051;定时器;计数器 1 课程设计的目的 《单片机应用基础》课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。 2 课程设计题目描述和要求

简单51单片机数字时钟设计

题目:简单51单片机数字时钟设计 院系: 物理与电气工程学院 专业:自动化专业 班级:10级自动化 姓名:苏吉振 学号:2 老师:李艾华

引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS 化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。 单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 数字钟是采用数字电路实现对时,分,秒数字显示的计时装置,广泛用于个 人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。

基于51单片机的数字钟

专业课程设计报告 专业班级 课程 题目基于51单片机的数字钟的设计报告学号 学生姓名 指导教师 成绩 2013年6月20日

基于A T89C51的数字钟总体设计说明书 目录 1. 51单片机设计数字钟设计的现实意义 (2) 2. 总体设计 (2) 2.1.开发与运行环境 (2) 2.2.硬件功能描述 (2) 2.3.硬件结构 (3) 3. 硬件模块设计 (3) 3.1.描述 (3) 3.1.1. AT89C51单片机简介 (3) 3.1.2. 键盘电路的设计 (4) 3.1.3. 显示器的选择 (5) 3.1.4. 蜂鸣器驱动电路 (5) 3.1.5. 各部分功能 (6) 4. 嵌入式软件设计 (7) 4.1.流程逻辑 (7) 4.2.算法 (7) 4.2.1. 中断定时器的设置 (27) 4.2.2. 闹钟子函数 (28) 4.2.3. 计时函数 (29) 4.2.4. 键盘扫描函数 (31) 4.2.5. 时间和闹钟的设置 (32) 5. 实验器材清单 (33) 6. 测试与性能分析 (33) 6.1.测试结果 (33) 6.2.优点 (33) 6.3.结论 (34) 7. 心得体会 (36) 8. 致谢 (36) 9. 参考文献 (37)

1.51单片机设计数字钟设计的现实意义 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间等造成的。而钟表的数字化给人们生产生活带来了极大的方便。数字钟是通过数字电路实现时,分,秒数字显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所,成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烤箱、通断动力设备、甚至各种定时电气的自动启用等。所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 2.总体设计 2.1.开发与运行环境 在硬件方面,除了CPU外,使用八个七段LED数码管来进行显示,LED采用的是动态扫描显示。通过LED能够较为准确地显示时、分、秒。四个简单的按键实现对时间的调整。软件方面采用C语言编程。使用Keil单片机模拟调试软件,测试程序的可行性并用Proteus进行仿真。 2.2.硬件功能描述 硬件部分设置了的三个按键S1、S2、S3、S4。当按键S1第一次按下时,停止计时进

基于51单片机课程设计

基于51单片机课程设计报告 院系:电子通信工程 团组:电子设计大赛1组 姓名: 指导老师:

目录 一、摘要 (3) 二、系统方案的设计 (3) 三、硬件资源 (5) 四、硬件总体电路搭建 (13) 五、程序流程图 (14) 六、设计感想 (14) 七、参考文献 (16) 附录 (17) 附录 1 程序代码 (17)

一、摘要 本设计以STC89C51单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。文中介绍了该控制系统的硬件部分,包括:温度检测电路、温度控制电路。单片机通过对信号进行相应处理,从而实现温度控制的目的。文中还着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、led控制程序、超温报警程序。 关键词:STC89C51单片机 DS18B20温度芯片温度控制 ,LED报警提示. 二、系统方案的设计 1、设计要求 基本功能: 不加热时实时显示时间,并可手动设置时间; 设定加热水温功能。人工设定热水器烧水的温度,范围在20~70度之间,打开开关后,根据设定温度与水温确定是否加热,及何时停止加热,可实时显示温度; 设定加热时间功能。限定烧水时间,加热时间内超过温度上限或低于温度下限报警,并可实时显示温度。 2、系统设计的框架

本课题设计的是一种以STC89C51单片机为主控制单元,以DS18B20为温度传感器的温度控制系统。该控制系统可以实时存储相关的温度数据并记录当前的时间。其主要包括:电源模块、温度测量及调理电路、键盘、数码管显示、指示灯、报警、继电器及单片机最小系统。 图1 系统设计框架 3 工作原理 温度传感器 DS18B20 从设备环境的不同位置采集温度,单片机STC8951获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备(压缩制冷器) ,当采集的温度经处理后低于设定温度的下时 , 单片机通过三极管驱动继电器开启升温设备 (加热器) ,这里采用通过LED1和LED2取代!!! 当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声,这里采用HLLED提示。

基于单片机的数字钟设计-(1)

基于单片机的数字时钟摘要 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 本课题主要研究的是基于单片机的数字钟设计,采用AT89C51单片机作为系统的主控芯片,外接LED显示电路,按键电路,晶振电路,复位电路模块构成一个简单的数字钟。通过按键电路能对时、分、秒分别进行设置和实时调整,并将结果显示在数码管上。 关键词:数字钟,单片机,数码管

Abstract Author:cheng dong Tutor:wang xin Electronic technology has been developed rapidly in the 20 century,with its modern electronic products, pushed by almost permeated every area of society has vigorously promoted social productive forces development and improvement of social informatization level, also make modern electronic product performance further improved, and the rhythm of upgrade its products is becoming more and more quickly. The most common SCM module is a digital clock, a digital clock is a kind of digital circuit technology implementation, minutes and seconds, the timing device with mechanical clock compared with higher accuracy and intuitive and no mechanical device, has more longer service life, so it has been widely used. This topic research is the digital clock design based on SCM, AT89C51 SCM as the main control chip system, external LED display circuit, key circuits, crystals circuit, reset circuit module constitute a simple digital clock. Through the key circuits can respectively the diffculties, minutes and seconds setting and real-time adjustment, and the result showed that in the digital tube. Key words:digital clock SCM ; digital

51单片机数字时钟

计算机硬件综合课程 设计报告 课目: 学院: 班级: 姓名: 指导教师: 目录 1 设计要求 功能需求 设计要求

2 硬件设计及描述 总体描述 系统总体框图 Proteus仿真电路图 3 软件设计流程及描述 程序流程图 函数模块及功能 4 心得体会 附:源程序 设计要求 功能需求 实现数字时钟准确实时的计时与显示功能; 实现闹钟功能,即系统时间到达闹钟时间时闹铃响; 实现时间和闹钟时间的调时功能; 刚启动系统的时候在数码管上滚动显示数字串(学号)。设计要求 应用MCS-51单片机设计实现数字时钟电路; 使用定时器/计数器中断实现计时; 选用8个数码管显示时间;

使用3个按钮实现调时间和闹钟时间的功能。按钮1:更换模式(模式0:正常显示时间;模式1:调当前时间的小时;模式2;调当前时间的分钟;模式3:调闹钟时间的小时;模式4:调闹钟时间的分钟);按钮2:在非模式0下给需要调节的时间数加一,但不溢出;按钮3:在非模式0下给需要调节的时间数减一,但不小于零; 在非0模式下,给正在调节的时间闪烁提示; 使用扬声器实现闹钟功能; 采用C语言编写程序并调试。 2 硬件设计及描述 总体描述 单片机采用AT89C51型; 时间显示电路:采用8个共阴极数码管,P1口驱动显示数字,P2口作为扫描信号; 时间设置电路:、、分别连接3个按键,实现调模式,时间加和时间减; 闹钟:口接扬声器。 系统总体框图 Proteus仿真电路图

3 软件设计流程及描述 程序流程图

函数模块及功能 void display_led() 学号的滚动显示函数; void display() 显示时间以及显示调节时间和闹钟时间的闪烁; void key_prc() 键盘功能函数,实现3个按键有关的模式转换以及数字加一减一; void init() 初始化设置中断;

基于51单片机的数字钟设计

20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 本课题主要研究的是基于单片机的数字钟设计,采用AT89C51单片机作为系统的主控芯片,外接LED显示电路,按键电路,晶振电路,复位电路模块构成一个简单的数字钟。通过按键电路能对时、分、秒分别进行设置和实时调整,并将结果显示在数码管上。

1 引言 (3) 2 单片机介绍 (4) 3 数字钟硬件设计 (4) 3.1系统方案的确定 (4) 3.2功能分析 (4) 3.3数字钟设计原理 (5) 3.3.1键盘控制电路 (5) 3.3.2晶振电路 (6) 3.3.3复位电路 (7) 3.3.4数码显示电路 (7) 4.数字钟的软件设计 (8) 4.1程序设计内容 (8) 4.2源程序 (9)

1 引言 在单片机技术日趋成熟的今天,其灵活的硬件电路和软件电路的设计,让单片机得到广泛的应用,几乎是从小的电子产品,到大的工业控制,单片机都起到了举足轻重的作用。单片机小的系统结构几乎是所有具有可编程硬件的一个缩影,可谓是“麻雀虽小,肝胆俱全”,单片机的学习和研究是对微机系统学习和研究的简捷途径。基于单片机的定时和控制装置在许多行业有着广泛的应用,而数字钟是其中最基本的,也是最具有代表性的一个例子[1],用数字电路实现对时、分、秒数字显示的计时装置。因为机具有体积小、功耗低、功能强、性价比高、易于推广应用的优点,在自动化装置、智能仪器表、过程控制、通信、家用电器等许多领域得到日益广泛的应用[2],因此具有很大的研究价值。

51单片机红绿灯课程设计

1 电源提供方案 为使模块稳定工作,须有可靠电源。因此考虑了两种电源方案:方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。 方案二:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。综上所述,选择方案二。 2 显示界面方案 该系统要求完成倒计时功能。基于上述原因,我考虑了二种方案:方案一:采用数码管显示。这种方案只显示有限的符号和数码字符,简单,方便。方案二:采用点阵式LED 显示。这种方案虽然功能强大,并可方便的显示各种英文字符,汉字,图形等,但实现复杂,成本较高。 综上所述,选择方案一。 3 输入方案: 设计要求系统能调节灯亮时间,并可处理紧急情况,我研究了两种方案:方案一:采用8155扩展I/O 口及键盘,显示等。 该方案的优点是:使用灵活可编程,并且有RAM,及计数器。若用该方案,可提供较多I/O 口,但操作起来稍显复杂。 方案二:直接在I/O口线上接上按键开关。 由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用。

综上所述,选择方案二。 3.1单片机交通控制系统的通行方案设计 设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态6然后循环至状态1,周而复始,即如图2.1所示: 图1 交通状态 本系统采用MSC-51系列单片机AT89C51作为中心器件来设计交通灯控制器。实现以下功能:

基于51单片机的数字时钟的设计

基于51单片机的数字时钟的设计 摘要:现代生活中,对于数字电子钟的使用情况已经远远大于对于机械表的使用。数字时钟不仅仅是使用方便,而且由于单片机的引入,额外增加了自动控制和闹钟报时等功能,十分便利。本次毕业设计,是以STC89C52芯片为核心,添加适当外围电路,辅以C语言,所形成的数字电子钟。除了51单片机芯片,还主要用到了时钟芯片DS1302和型号是1602的液晶显示屏。 关键词:STC89C52;数字电子钟;C语言。

Design of Digital Clock System Based on MSC-51 Singlechip Abstract: In modern life, the use of digital electronic clock has been far greater than for the use of mechanical watches. Digital Clock is not just easy to use, and because of the introduction of single-chip, additional automatic control and alarm clock timekeeping functions, is very convenient. The graduation project is based STC89C52 chip as the core, adding the appropriate external circuit, supplemented by the C language, the formation of digital electronic clock. In addition to 51 single-chip, is also largely used in the clock chip DS1302 and models are 1602 LCD display. Keywords: STC89C52; digital electronic clock; C language.

51单片机课程设计

课程设计说明书
课程设计名称






学生姓名
指导教师
单片机原理及应用课程设计 电子信息工程 140405 20141329 李延琦 胡黄水
2016 年 12 月 26 日

课程设计任务书
课程设计 题目
酒精测试仪
起止日期
2016 年 12 月 26 日— 2017 年 1 月 6 日
设计地点
计算机科学与工程学 院单片机实验室 3409
设计任务及日程安排: 设计任务:分两部分: (一)、设计实现类:进行软、硬件设计,并上机编程、联线、调试、 实现; 1.电子钟的设计 2.交通灯的设计 3.温度计的设计 4.点阵显示 5.电机调速 6.电子音乐发声(自己选曲) 7.键盘液晶显示系统 (二)、应用系统设计类:不须上机,查资料完成软、硬件设计画图。 查资料选定题目。 说明:第 1--7 题任选其二即可。(二)里题目自拟。 日程安排: 本次设计共二周时间,日程安排如下: 第 1 天:查阅资料,确定题目。 第 2--4 天:进实验室做实验,连接硬件并编写程序作相关的模块实验。 第 5--7 天:编写程序,并调试通过。观察及总结硬件实验现象和结果。 第 8--9 天:整理资料,撰写课程设计报告,准备答辩。 第 10 天:上交课程设计报告,答辩。 设计报告要求:
1. 设计报告里有两个内容,自选题目内容+附录(实验内容),每 位同学独立完成。 2. 自选题目不须上机实现,要求能正确完成硬件电路和软件程序 设计。内容包括: 1) 设计题目、任务与要求 2)硬件框图与电路图 3) 软件及流程图 (a)主要模块流程图 (b)源程序清单与注释 4) 总结 5) 参考资料 6)附录 实验上机调试内容
注:此任务书由指导教师在课程设计前填写,发给学生做为本门课程设计 的依据。

基于单片机的数字时钟之C51单片机

山东大学威海分校 基于单片机的数字时钟 C51单片机 王若愚 学号200800800307 2010/7/18

概述 AT89C51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4K的可编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片机芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。 功能特性概述 AT89S51提供以下标准功能:4K字节闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中到内容,但振荡器停止工作并禁止其它所有工作部件直到下一个硬件复位。

AT89S51硬件电路原理 复位及振荡电路 复位电路由按键复位和上电复位两部分组成,如图2所示。AT89S系列单片及为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC 充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为8.2K和10uF。 按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。 MCS51 LITE使用22.1184MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路, 所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF之间。

51单片机课程设计 AD转换

课程设计报告 华中师范大学武汉传媒学院 传媒技术学院 电子信息工程2011 仅发布百度文库,版权所有.

AD转换 要求: A.使用单片机实现AD转换 B.可以实现一位AD转换,并显示(保留4位数字)设计框图:

方案设计: AD转换时单片机设计比较重要的实验。模数转换芯片种类多,可以满足不同用途和不同精度功耗等。 外部模拟量选择的是简单的电位器,通过控制电位器来改变模拟电压。显示电压值采用一般的四位七段数码管。而AD转换芯片采用使用最广的ADC0809 ADC0809芯片有28条引脚,采用双列直插式封装,如图所示。 下面说明各引脚功能: ?IN0~IN7:8路模拟量输入端。 ?2-1~2-8:8位数字量输出端。 ?ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。?ALE:地址锁存允许信号,输入端,高电平有效。 ?START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。 ?EOC: A/D转换结束信号,输出端,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。 ?OE:数据输出允许信号,输入端,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 ?CLK:时钟脉冲输入端。要求时钟频率不高于640KHz。

?REF(+)、REF(-):基准电压。 ?Vcc:电源,单一+5V。 ?GND:地 工作原理: 首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC 变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。 本次实验采用中断方式 把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。 不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。 首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。 采用中断可以减轻单片机负担。并可以使程序有更多的空间作二次开发。

(最新版)基于51单片机汇编语言的数字钟课程设计报告含有闹钟万毕业论文

单片微型计算机课程设计报告 多功能电子数字钟 姓 名 学

教师 许伟敏 电气二班 林卫

目录 一:概述 (1) 二:设计基本原理简介 (2) 三:设计要求及说明 (3) 四:整体设计方案 (4) 系统硬件电路设计 4 系统软件总流程设计模块划分及分析5 6 五:单模块流程设计 (8) 各模块设计概述、流程图模块源程序集合及注释8 13 六:单模块软件测试 (23) 七:系统检测调试 (24) 硬件电路调试 软件部分烧写调试 八:系统优化及拓展 (26) 九:心得体会 (28)

单片微型计算机课程设计 一、概述 基于汇编语言的电子数字钟概述 课程设计题目:电子数字钟 应用知识简介: ● 51 单片机 单片机又称单片微控制器,它不是完成某一个逻辑功能 的芯片,而是把一个计算机系统集成到一个芯片上。作为嵌 入式系统控制核心的单片机具有其体积小、功能全、性价比高等诸多优点。51 系列单片机是国内目前应用最广泛的单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用,51 系列单片机的发展又进入了一个新的阶段。在今后很长一段时间内51 系列单片机仍将占据嵌入式系统产品的中低端市场。 ●汇编语言 汇编语言是一种面向机器的计算机低级编程语言,通常是为特定的计算机或系列计算机专门设计的。汇编语言保持了机器语言的优点,具有直接和简捷的特点,其代码具有效率高实时性强等优点。但是对于复杂的运算或大型程序,用汇编语言编写将非常耗时。汇编语言可以与高级语言配合使用,应用十分广泛。 ● ISP ISP(In-System Programming)在系统可编程, 是当今流行的单片机编程模式,指电路板上的空白元器 件可以编程写入最终用户代码,而不需要从电路板上取 下元器件。已经编程的器件也可以用ISP方式擦除或再 编程。本次课程设计便使用ISP方式,直接将编写好的 程序下载到连接好的单片机中进行调试。 选题 系统功能分析 硬件电路设计 整体流程设计 及模块划分 模块流程设计 模块编 码测试 系统合成调 试编译 下载调试(含硬件电路调试及软件烧写调试) 验收 完成总结报告课程设计流程图↑ 选题目的及设计思想简介: 课程设计是一次难得的对所学的知识进行实践的机会,我希望通过课程设计独立设计一个简单的系统从而达到强化课本知识并灵活运用的目的。电子数字钟是日常生活钟随处可见的简单系统。对电子数字钟的设计比较容易联系实际并进行拓展,在设计中我将力求尽可能跳出课本的样板,从现实生活中寻找设计原型和设计思路,争取有所突破。 如图所示便是我本次课程设计流程图,设计的整个过程运用自顶向下分析、自底向上实现的

单片机课程设计——基于C51简易计算器

单片机十进制加法计算器设计 摘要 本设计是基于51系列的单片机进行的十进制计算器系统设计,可以完成计 算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用4×4矩阵键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C 语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用全球编译效率最高的KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus仿真。 引言 十进制加法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减乘除

目录 摘要 (01) 引言 (01) 一、设计任务和要求............................. 1、1 设计要求 1、2 性能指标 1、3 设计方案的确定 二、单片机简要原理............................. 2、1 AT89C51的介绍 2、2 单片机最小系统 2、3 七段共阳极数码管 三、硬件设计................................... 3、1 键盘电路的设计 3、2 显示电路的设计 四、软件设计................................... 4、1 系统设计 4、2 显示电路的设计 五、调试与仿真................................. 5、1 Keil C51单片机软件开发系统 5、2 proteus的操作 六、心得体会.................................... 参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单..................................

基于51单片机课程设计报告

单片机课程设计 课题:基于51单片机的交通灯设计 专业:机械设计制造及其自动化 学号: 指导教师:邵添 设计日期:2017/12/18 成绩: 大学城市科技学院电气学院 基于51单片机数字温度计设计报告

一、设计目的作用 本设计是一款简单实用的小型数字温度计,所采用的主要元件有传感器DS18B20,单片机AT89C52,,四位共阴极数码管一个,电容电阻若干。DS18B20支持“一线总线”接口,测量温度围-55°C~+125°C。在-10~+85°C围,精度为±0.5°C。18B20的精度较差,为±2°C 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。 本次数字温度计的设计共分为五部分,主控制器,LED显示部分,传感器部分,复位部分,按键设置部分,时钟电路。主控制器即单片机部分,用于存储程序和控制电路;LED显示部分是指四位共阴极数码管,用来显示温度;传感器部分,即温度传感器,用来采集温度,进行温度转换;复位部分,即复位电路,按键部分用来设置上下限报警温度。测量的总过程是,传感器采集到外部环境的温度,并进行转换后传到单片机,经过单片机处理判断后将温度传递到数码管显示。 二、设计要求 (1).利用DS18B20传感器实时检测温度并显示。 (2).利用数码管实时显示温度。 (3).当温度超过或者低于设定值时蜂鸣器报警,LED闪烁指示。 (4).能够手动设置上限和下限报警温度。 三、设计的具体实现 1、系统概述 方案一:由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。 方案设计框图如下:

基于51单片机的数字钟设计-毕业设计论文(可编辑)

武汉大学电子信息学院 电子系统综合设计课程论文 基于51单片机的数字钟设计

目录 1 作品的背景与意义 1 2 功能指标设计 1 3 作品方案设计 1 3.1总体方案的选择 1 3.1.1方案一:基于单片机的数字钟设计 2 3.1.1方案二:基于数电实验的数字钟设计 3 3.1.2两种方案的比较................................................................... . (3) 3.2控制方案比较 3 3.3显示方案比较 3 3.4单片机理论知识介绍 4 3.4.1单片机型号................................................................... . (5) 3.4.2硬件电路平台................................................................... (6) 3.4.3内部时钟电路................................................................... .. (7)

3.4.4复位电路................................................................... .. (7) 3.4.5按键部分................................................................... . (8) 4 硬件设计9 4.1显示模块电路图9 5 软件设计11 5.1主程序流程图11 5.2中断服务以及显示 12 6 系统测试13 6.1测试环境13 6.2测试步骤13 6.2.1硬件测试 6.2.2软件测试 1.连接单片机和计算机串接................................................................... ................13 6.2.3实施过程................................................................... ..................................................................... . (14)

51单片机电子时钟课程设计报告

第一部分设计任务和要求 1.1 单片机课程设计内容 利用STC89C51单片机和LCD1602电子显示屏实现电子时钟,可由按键进行调时和12/24小时切换。 1.2 单片机课程设计要求 1.能实现年、月、日、星期、时、分、秒的显示; 2.能实现调时功能; 3.能实现12/24小时制切换; 4.能实现8:00—22:00整点报时功能。 1.3 系统运行流程 程序首先进行初始化,在主程序的循环程序中首先调用数据处理程序,然后调用显示程序,在判断是否有按键按下。若有按键按下则转到相应的功能程序执行,没有按键按下则调用时间程序。若没到则循环执行。计时中断服务程序完成秒的计时及向分钟、小时的进位和星期、年、月、日的进位。调时闪烁中断服务程序用于被调单元的闪烁显示。调时程序用于调整分钟、小时、星期、日、月、年,主要由主函数组成通过对相关子程序的调用,如图所示。实现了对时间的设置和修改、LCD显示数值等主要功能。相关的调整是靠对功能键的判断来实现的。 第二部分设计方案 2.1 总体设计方案说明 1.程序设计及调试 根据单片机课程设计内容和要求,完成Protues仿真电路的设计和用Keil软件编写程序,并进行仿真模拟调试。 2.硬件焊接及调试 根据仿真电路图完成电路板的焊接,并进行软、硬件的调试,只到达到预期目的。

3.后期处理 对设计过程进行总结,完成设计报告。 2.2 单片机系统方框图 2.2 单片机系统流程图 主流程图键盘扫描流程图

时钟流程图 第三部分主要器件及简介 3.1 主要器件 1. STC89C51单片机; 2.LCD1602液晶显示屏; 3.2 主要器件简介 1.STC89C51单片机简介 STC89C51是采用8051核的ISP(In System Programming)在系统可编程芯片,最高工作时钟频率 为80MHz,片内含8K Bytes的可反复擦写1000次的 Flash只读程序存储器,器件兼容标准MCS-51指令系 统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有在系统可编程(ISP)特性,配合PC端的控制程序即可将用户的程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快。 2.LCD1602液晶显示屏简介

基于51单片机的数字钟毕业设计

大学电子信息学院 电子系统综合设计课程论文 基于51单片机的数字钟设计 2010 年 6 月 20日

目录 1 作品的背景与意义 (1) 2 功能指标设计 (1) 3 作品方案设计 (2) 4 软件设计 (3) 附录1 系统电路图 (6) 附录2 系统软件代码 (7)

1 作品的背景与意义 时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。 现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。现在我们利用单片机实现数字时钟计时功能的主要容,其中AT89C51是核心元件同时采用数码管动态显示“时”,“分”,“秒”的现代计时装置。与传统机械表相比,它具有走时精确,显示直观等特点。它的计时周期为24小时,显满刻度为“23时59分59秒”,另外具有校时功能,断电后有记忆功能,恢复供电时可实现计时同步等特点,除此外还实现了万年历和闹钟等的功能。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。 单片计算机即单片微型计算机。(Single-Chip Microcomputer ),是集CPU、RAM、ROM、定时、计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。而51单片机是各单片机中最为典型和最有代表性的一种。所以综上所述,此次实验中所完成的数字钟有着强大的功能和良好的市场前景,复合电子类产品的发展趋势。 2 功能指标设计 2.1 基本功能

51单片机课程设计实验报告

51单片机课程设计报告 学院: 专业班级: 姓名: 指导教师: 设计时间:

51单片机课程设计 一、设计任务与要求 1.任务:制作并调试51单片机学习板 2.要求: (1)了解并能识别学习板上的各种元器件,会读元器件标示; (2)会看电路原理图; (3)制作51单片机学习板; (4)学会使用Keil C软件下载调试程序; 用调试程序将51单片机学习板调试成功。 二、总原理图及元器件清单 1.总原理图 2.元件清单 三、模块电路分析 1. 最小系统: 单片机最小系统电路分为振荡电路和复位电路, 振荡电路选用12MHz 高精度晶振, 振荡电容选用22p和30p 独石电容;

图 1 图 2 复位电路使用RC 电路,使用普通的电解电容与金属膜电阻即可; 图 3 当单片机上电瞬间由于电容电压不能突变会使电容两边的电位相同,此时RST 为高电平,之后随着时间推移电源负极通过电阻对电容放电,放完电时RST 为低电平。正常工作为低电平,高电平复位。 2. 显示模块: 分析发光二极管显示电路: 图 4 发光二极管显示电路分析:它是半导体二极管的一种,可以把电能转化成光能,常简写为

LED。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。当给发光二极管加上正向电压后,产生自发辐射的荧光。图中一共有五个发光二极管 其中一个为电源指示灯,当学习板通电时会发光以指示状态。其余四个为功能状态指示灯,实际作用与学习板有关 分析数码管显示电路 图 5 数码管显示电路分析:数码管按段数分为七段数码管和八段数码管,图中所用为八段数码管(比七段管多了一个小数点显示位),按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管.共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。数码管主要用来显示经电路板处理后的程序的运行结果。图中使用了八个八段数码管,可以显示八个0-15的数字。使用数码管可以直观的得到程序运行所显示的结果.也可以显示预置在学习板上的程序,主要通过16个开关来控制。 四、硬件调试 1、是否短路 用万用表检查P2两端是短路。电阻为0,则短路,电阻为一适值,电路正常。 2、焊接顺序 焊接的顺序很重要,按功能划分的器件进行焊接,顺序是功能部件的焊接--调试--另一功能部件的焊接,这样容易找到问题的所在。 3、器件功能 1)检查原理图连接是否正确 2)检查原理图与PCB图是否一致 3)检查原理图与器件的DA TASHEET上引脚是否一致 4)用万用表检查是否有虚焊,引脚短路现象 5)查询器件的DA TASHEET,分析一下时序是否一致,同时分析一下命令字是否正确 6)通过示波器对芯片各个引脚进行检查,检查地址线是否有信号的 7)飞线。用别的的口线进行控制,看看能不能对其进行正常操作,多试验,

相关主题
文本预览
相关文档 最新文档