河北大学XXXX 级大学计算机作业
X X X 大 学
毕 业 论 文
论文题目: 车载可测温式电子万年历
学生姓名: xx
指导教师: xxx
所学专业: 电子信息工程
2009年6月
1
河北大学XXXX 级大学计算机作业
Chengdong College of Northeast
Agricultural University
Thesis
Thesis topic :
Student name: Tutor name:Specialty :
June 2009
车载可测温式电子万年历
摘 要
随着电子技术的迅速发展,特别是随着大规模集成电路的出现,给人类生活带来了根本性的改变。尤其是单片机技术的应用产品已经走进了千家万户,如电子万年历的出现给人们的生活带来了诸多方便。
本文描述了系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件及其接口技术和各硬件模块的功能及工作过程;其次,详细阐述了程序的各个模块和实现过程。本设计以数字集成电路技术为基础,单片机技术为核心。编写的主导思想软硬件相结合,以硬件为基础,来进行各功能模块的编写。
本系统为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。系统通过传感器采集温度。用四个数码管显示数据,可以显示时间和温度,也可以通过按键调整时间。
关键词:电子万年历;单片机;时钟芯片;温度传感器;数码管显示
1
The Vehicle Carries Temperature Measurement
Type Electron Ten Thousand Calendars
Abstract
Along with electronic technology's rapidly expand, specially along with large scale integrated circuit's appearance, lived for the humanity has brought the fundamental change. Especially the monolithic integrated circuit technology's application product already entered everyone, if the electronic ten thousand calendar's appearances have brought conveniently many for people's life.
This article described the system hardware principle of work, and attaches by the system structure diagram explained that introduced emphatically this system applies various hardware and connection technology and various hardware module function and work process; Next, elaborated in detail procedure each module and realizes the process. This design take the digital integrated circuit technology as the foundation, the monolithic integrated circuit technology is a core. The compilation guiding ideology software and hardware unifies, take the hardware as the foundation, carries on various functional module the compilation.
This system for ease of the expansion and the change, software's design uses the modular structure, causes the programming the logical relation even more simple and brief. System through two group of nixietube demonstration data. May the tell time and the week, after pressing down cuts the key, may the show date.
Key word :Electronic ten thousand calendars; Monolithic integrated circuit; Clock chip;
Temperature sensor ;Nixietube demonstration
目 录
摘 要 .............................................. I Abstract ........................................... II 前 言 ............................................. 1 1 方案选择 ......................................... 2
1.1 整机设计方案选择 ................................ 2
1.2 单片机芯片的选择 ................................ 2
1.3 时钟芯片的选择 .................................. 2
1.4 温度传感器的选择 ................................ 2 2 硬件设计 ......................................... 3
2.1 电路组成框图 .................................... 3
2.2 系统硬件概述及整机工作原理 ...................... 4
2.3 各芯片介绍 ...................................... 6
2.3.1 AT89S51单片机 ............................. 6
2.3.2 DS12887时钟芯片 ........................... 8
2.3.2.1 DS12887主要功能简介 .................. 9
2.3.2.2 DS12887引脚说明 ...................... 9
2.3.2.3 时间,日历和定闹单元 ................ 10
2.3.2.4 DS12887的控制寄存器 ................ 11
2.3.3 DS18B20温度传感器 ....................... 12
2.4 数码管显示电路设计 ............................ 13
2.4.1 显示模块的选择与方案论证 ................. 13
2.4.2 LED显示器工作原理 ....................... 13 3 系统软件设计 ................................... 15
3.1 系统功能模块及主程序流程图 .................... 15
3.2 DS12887初始化程序设计 ....................... 16
3.3 显示子程序设计 ................................ 16
3.4 时间调整程序设计 .............................. 17
3.5 温度采集程序设计 .............................. 22
3.5.1 DS18B20的初始化 ......................... 22
3.5.2 DS18B20的写操作 ......................... 22
3.5.3 DS18B20的读操作 ......................... 22
3.6 温度值与时间的显示 ............................ 25 4 电路安装与调试 ................................. 27
4.1 电路安装 ...................................... 27
4.2 电路调试 ...................................... 27
4.2.1 硬件调试 ................................. 27
4.2.2 软件调试 ................................. 27
4.2.3 综合调试 ................................. 28 5 结 论 .......................................... 28 参 考 文 献 ...................................... 29 致 谢 .......................................... 30
前 言
随着人们生活水平的提高,家庭中的时钟也在悄悄地发生变化。早期的机械式小型时钟大部分被现代的电子时钟所代替。大大小小的时钟在人们的生活中发挥着重要的作用。
在清朝的时候,出现了第一批时钟,是从外国引进的。它是一种挂在脖子上的怀表,表盘是圆形,带一个盖子,打开它就可以看时间。表盘上有一个环,环中有一条链子,就是通过它挂在脖子上,而且表的样式也只有这一种。尽管这样,也是只有皇亲国戚、乡绅官吏和留过洋的人才能拥有。可以说在那时它可是一个罕见的宝贝,所以,它的价值可想而知,普通人是很难拥有的。那时的老百姓只有靠看日头来估算时间。
接着,我们不断的从外国引进他们先进的技术,所以,时钟的生产和样式也有了许多的提高,市场上涌现了许多各式各样的时钟。这些时钟,不仅质量和款式不同,还有了各种品牌。从质量上分,有机械的,石英的等等。从款式上分,有男式的和女式的。不过有一点相同,它们大多是带在手腕上的。与清朝时比,已经有了很大的进步。
慢慢地,随着科学的进步,技术水平的提高,到现在,时钟可以说是样式繁多,款式新颖。不提它的质量,仅仅它的款式就可以让消费者眼花缭乱,难以选择。现在的时钟,不仅分男女样式,还出现了情侣表。生产者还为盲人着想,专门生产了盲人使用的手表。为了追求时尚,还出现了还出现了许多项链式的手表、手链式的手表、戒指式的手表等等。为了家居摆设,出现了立式的和挂式的等。还有,就是为了提醒我们不忘记某些事,而生产了闹钟等。将来随着时钟的发展,它将给人们带来更大的方便。
随着科学技术的飞速发展,单片机以其卓越的性能,在各个领域中得到了广泛的应用。一方面向着高速、智能化的巨型机方向发展,另一方面向着嵌入式微型机的方向发展。其中,单片机其性能和容量不断提高,而价格不断下降的趋势,使其在社会各个领域仍至家庭生活中发挥着越来越大的作用。
现如今在电子系统非常广泛的应用领域内,为使人们用最方便快捷的方式享受生活,设计人员能在更小的空间内实现更多功能,从而提高系统可靠性和速度。如银行﹑公交车﹑酒店等公共场所到处可见的电子万年历。让人们对生活方有了一个更便捷﹑更舒适的感觉,本文为对这种万年历设计的介绍和说明。
1
1 方案选择
1.1 整机设计方案选择
本文主要讲述的是电子万年历的设计与实现,此设计实现主要有两种方案:一是由数字电路来实现;二是由单片机编程控制来实现。选用数字电路虽然硬件连接简单不需要软件编程,但因为数字电路实现必须要有移位寄存器对字符数据进行存储,然后串行输入到显示数码管上,不但如此,而且需要很大一部分的扩展电路才能实现,且设计出的电路的灵活性差、不易调试、成本高等缺点,所以不选用此方案。
此次设计是基于单片机来实现的。由于单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,因而在国民经济建设、军事及家用电器等诸多领域起到了举足轻重的作用。编程语言采用C 语言,由此设计出的电子万年历具有操作灵活便携等诸多优点。
1.2 单片机芯片的选择
方案一:采用89C51芯片作为硬件核心,采用Flash ROM ,内部具有4KB ROM 存储空间,能于3V 的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP 在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。
方案二:采用89S51芯片作为硬件核,AT89S51 是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash 只读程序存储器,器件采用A TMEL 公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash 存储单元,功能强大的微型计算机的A T89S51可为许多嵌入式控制应用系统提供高性价比的解决方案,再者因为AT89S51为当今市场上主流产品,其价格也比较低廉,所以选择此方案。
1.3 时钟芯片的选择
方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。
方案二:采用DS12887时钟芯片实现时钟,DS12887芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM 做为数据暂存区,另外其在没有外部电源的情况下可工作10年自带晶体震荡器及电池。其可以计算到2100年前的秒、分、小时、星期、日期、月、年七种日历信息。
1.4 温度传感器的选择
方案一:采用AD590为温度传感器,AD590虽然有价格低、精度高等优点,但是它还
需要外围的模拟转数字电路,其测温点数量也较少,用起来占空间大也比较麻烦。
方案二:采用DS18B20测温,DS18B20采用单线接口方式,与微处理器连接时仅需要一条线即可实现双向通讯;其适应电压范围更宽;支持多点组网测温;在使用中不需任何外围元件,全部传感元件及转换电路都集成在一只如三极管的集成电路内;价格也较低;DS18B20缺点是测温范围比较小,范围为-55度到+125度,但是用在本设计也 足够了,所以采用此方案。
2 硬件设计
2.1 电路组成框图
该电路主要由时钟芯片、CPU (A T89S51)、键盘、驱动电路、温度采集、显示电路组成。其中键盘调整可以对显示的内容进行切换及对时间进行调整。框图如图2-1所示:
图2-1 电子万年历方框图
2.2 系统硬件概述及整机工作原理
此设计
CPU 采用低功耗,高性能CMOS 8位单片机
AT89S51;时钟芯片用的是美国达接斯半导体公司(Dallas )推出的串行接口实时时钟芯片DS12887,采用
CMOS 技术制成,具有内部晶振和时钟芯片备份锂电池;驱动电路用的是ULN2003芯片;LED 显示部分用的是四个共阴型数码管,显示采用动态扫描并行输出方式。键盘有三个分别为位调整键,加调整键,减调整键。整机工作原理是先初始化DS12887时钟芯片接着CPU 从时钟芯片读取时间及日期信息又从温度传感器采集温度送驱动电路进而送LED 显示,其中键盘调整可以对时间进行调整,对时间进行调整时其更改值写入DS12887,再允许DS12887时间更新并读出时间送显示,温度值和时间轮流交替显示在数码管上。电路图如图2-2所示。
图2-2 整机电路图
2.3 各芯片介绍
2.3.1 AT89S51单片机
AT89S51是一个低功耗,, 高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable) 的可反复擦写1000次的Flash 只读程序存储器, 器件采用ATMEL 公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。其引脚排列如2-3所示。
图2-3 AT89S51引脚图
AT89S51具有如下特点:40个引脚,128 bytes 的随机存取数据存储器(RAM ),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0Hz 并可通过软件设置省电模式。空闲模式下,CPU 暂停工作,而RAM 定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM 的数据,停止芯片其它功能直至外中断激活或硬件复位。
管脚说明:
40个引脚按其功能来分,可分为三个部分:
电源及时钟引脚 控制引脚 I/O口引脚
(1)电源及时钟引脚
电源引脚接入单片机的工作电源。 VCC(40)引脚:接+5V电源。
VSS(20)引脚:接地。
两个时钟引脚XTAL0、XTAL1为单片机提供了时钟控制信号。
XTAL0(18脚):接外部晶体的一个引脚。
XTAL1(19脚):接外部晶体的另一端。
(2)控制引脚
RST 是复位信号的输入端,高电平有效。当单片机正常工作时,在此引脚加上持续时间大于两个机器周期(24个时钟振荡周期)的高电平时,就可完成复位操作。在单片机正常工作时,复位端应小于或等于0.5V 的低电平。
PSEN (29脚)程序存储器允许输出控制端。在单片机访问外部程序存储器时,此引脚输出脉冲负跳沿作为外部程序存储器的选通信号。
ALE (30脚)ALE 为地址锁存允许信号,当单片机上电正常工作后,ALE 引脚不断输出正脉冲信号。当单片机访问外部存储器时,ALE 输出信号的负跳沿用作单片机发出的低8位地址的锁存控制信号。即使不访问外部锁存器,ALE 端仍有正脉冲信号输出,频率为时钟振荡频率fOSC 的1/6。
31脚)功能为内/外程序存储器选择控制端。当EA 脚为高电平时,单片机访问片内程序存储器,当EA 脚为低电平时,单片机则只访问外部程序存储器。所以此次设计,须把单片机的31脚接到高电平。
(3)I/O引脚
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的外部计数输入。在flash 编程和校验时,P1口接收低8位地址字节。
P1 口引脚号的第二功能如表2-1所示。
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 口,对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL )。P3口亦作为AT89S52特殊功能(第二功能)使用,在flash 编程和校验时,P3口也接收一些控制信号。
P3 口引脚号的第二功能如表2-2所示。
表2-2 P3 口引脚号的第二功能
2.3.2 DS12887时钟芯片
河北大学XXXX 级大学计算机作业
X X X 大 学
毕 业 论 文
论文题目: 车载可测温式电子万年历
学生姓名: xx
指导教师: xxx
所学专业: 电子信息工程
2009年6月
1
河北大学XXXX 级大学计算机作业
Chengdong College of Northeast
Agricultural University
Thesis
Thesis topic :
Student name: Tutor name:Specialty :
June 2009
车载可测温式电子万年历
摘 要
随着电子技术的迅速发展,特别是随着大规模集成电路的出现,给人类生活带来了根本性的改变。尤其是单片机技术的应用产品已经走进了千家万户,如电子万年历的出现给人们的生活带来了诸多方便。
本文描述了系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件及其接口技术和各硬件模块的功能及工作过程;其次,详细阐述了程序的各个模块和实现过程。本设计以数字集成电路技术为基础,单片机技术为核心。编写的主导思想软硬件相结合,以硬件为基础,来进行各功能模块的编写。
本系统为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。系统通过传感器采集温度。用四个数码管显示数据,可以显示时间和温度,也可以通过按键调整时间。
关键词:电子万年历;单片机;时钟芯片;温度传感器;数码管显示
1
The Vehicle Carries Temperature Measurement
Type Electron Ten Thousand Calendars
Abstract
Along with electronic technology's rapidly expand, specially along with large scale integrated circuit's appearance, lived for the humanity has brought the fundamental change. Especially the monolithic integrated circuit technology's application product already entered everyone, if the electronic ten thousand calendar's appearances have brought conveniently many for people's life.
This article described the system hardware principle of work, and attaches by the system structure diagram explained that introduced emphatically this system applies various hardware and connection technology and various hardware module function and work process; Next, elaborated in detail procedure each module and realizes the process. This design take the digital integrated circuit technology as the foundation, the monolithic integrated circuit technology is a core. The compilation guiding ideology software and hardware unifies, take the hardware as the foundation, carries on various functional module the compilation.
This system for ease of the expansion and the change, software's design uses the modular structure, causes the programming the logical relation even more simple and brief. System through two group of nixietube demonstration data. May the tell time and the week, after pressing down cuts the key, may the show date.
Key word :Electronic ten thousand calendars; Monolithic integrated circuit; Clock chip;
Temperature sensor ;Nixietube demonstration
目 录
摘 要 .............................................. I Abstract ........................................... II 前 言 ............................................. 1 1 方案选择 ......................................... 2
1.1 整机设计方案选择 ................................ 2
1.2 单片机芯片的选择 ................................ 2
1.3 时钟芯片的选择 .................................. 2
1.4 温度传感器的选择 ................................ 2 2 硬件设计 ......................................... 3
2.1 电路组成框图 .................................... 3
2.2 系统硬件概述及整机工作原理 ...................... 4
2.3 各芯片介绍 ...................................... 6
2.3.1 AT89S51单片机 ............................. 6
2.3.2 DS12887时钟芯片 ........................... 8
2.3.2.1 DS12887主要功能简介 .................. 9
2.3.2.2 DS12887引脚说明 ...................... 9
2.3.2.3 时间,日历和定闹单元 ................ 10
2.3.2.4 DS12887的控制寄存器 ................ 11
2.3.3 DS18B20温度传感器 ....................... 12
2.4 数码管显示电路设计 ............................ 13
2.4.1 显示模块的选择与方案论证 ................. 13
2.4.2 LED显示器工作原理 ....................... 13 3 系统软件设计 ................................... 15
3.1 系统功能模块及主程序流程图 .................... 15
3.2 DS12887初始化程序设计 ....................... 16
3.3 显示子程序设计 ................................ 16
3.4 时间调整程序设计 .............................. 17
3.5 温度采集程序设计 .............................. 22
3.5.1 DS18B20的初始化 ......................... 22
3.5.2 DS18B20的写操作 ......................... 22
3.5.3 DS18B20的读操作 ......................... 22
3.6 温度值与时间的显示 ............................ 25 4 电路安装与调试 ................................. 27
4.1 电路安装 ...................................... 27
4.2 电路调试 ...................................... 27
4.2.1 硬件调试 ................................. 27
4.2.2 软件调试 ................................. 27
4.2.3 综合调试 ................................. 28 5 结 论 .......................................... 28 参 考 文 献 ...................................... 29 致 谢 .......................................... 30
前 言
随着人们生活水平的提高,家庭中的时钟也在悄悄地发生变化。早期的机械式小型时钟大部分被现代的电子时钟所代替。大大小小的时钟在人们的生活中发挥着重要的作用。
在清朝的时候,出现了第一批时钟,是从外国引进的。它是一种挂在脖子上的怀表,表盘是圆形,带一个盖子,打开它就可以看时间。表盘上有一个环,环中有一条链子,就是通过它挂在脖子上,而且表的样式也只有这一种。尽管这样,也是只有皇亲国戚、乡绅官吏和留过洋的人才能拥有。可以说在那时它可是一个罕见的宝贝,所以,它的价值可想而知,普通人是很难拥有的。那时的老百姓只有靠看日头来估算时间。
接着,我们不断的从外国引进他们先进的技术,所以,时钟的生产和样式也有了许多的提高,市场上涌现了许多各式各样的时钟。这些时钟,不仅质量和款式不同,还有了各种品牌。从质量上分,有机械的,石英的等等。从款式上分,有男式的和女式的。不过有一点相同,它们大多是带在手腕上的。与清朝时比,已经有了很大的进步。
慢慢地,随着科学的进步,技术水平的提高,到现在,时钟可以说是样式繁多,款式新颖。不提它的质量,仅仅它的款式就可以让消费者眼花缭乱,难以选择。现在的时钟,不仅分男女样式,还出现了情侣表。生产者还为盲人着想,专门生产了盲人使用的手表。为了追求时尚,还出现了还出现了许多项链式的手表、手链式的手表、戒指式的手表等等。为了家居摆设,出现了立式的和挂式的等。还有,就是为了提醒我们不忘记某些事,而生产了闹钟等。将来随着时钟的发展,它将给人们带来更大的方便。
随着科学技术的飞速发展,单片机以其卓越的性能,在各个领域中得到了广泛的应用。一方面向着高速、智能化的巨型机方向发展,另一方面向着嵌入式微型机的方向发展。其中,单片机其性能和容量不断提高,而价格不断下降的趋势,使其在社会各个领域仍至家庭生活中发挥着越来越大的作用。
现如今在电子系统非常广泛的应用领域内,为使人们用最方便快捷的方式享受生活,设计人员能在更小的空间内实现更多功能,从而提高系统可靠性和速度。如银行﹑公交车﹑酒店等公共场所到处可见的电子万年历。让人们对生活方有了一个更便捷﹑更舒适的感觉,本文为对这种万年历设计的介绍和说明。
1
1 方案选择
1.1 整机设计方案选择
本文主要讲述的是电子万年历的设计与实现,此设计实现主要有两种方案:一是由数字电路来实现;二是由单片机编程控制来实现。选用数字电路虽然硬件连接简单不需要软件编程,但因为数字电路实现必须要有移位寄存器对字符数据进行存储,然后串行输入到显示数码管上,不但如此,而且需要很大一部分的扩展电路才能实现,且设计出的电路的灵活性差、不易调试、成本高等缺点,所以不选用此方案。
此次设计是基于单片机来实现的。由于单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,因而在国民经济建设、军事及家用电器等诸多领域起到了举足轻重的作用。编程语言采用C 语言,由此设计出的电子万年历具有操作灵活便携等诸多优点。
1.2 单片机芯片的选择
方案一:采用89C51芯片作为硬件核心,采用Flash ROM ,内部具有4KB ROM 存储空间,能于3V 的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP 在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。
方案二:采用89S51芯片作为硬件核,AT89S51 是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash 只读程序存储器,器件采用A TMEL 公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash 存储单元,功能强大的微型计算机的A T89S51可为许多嵌入式控制应用系统提供高性价比的解决方案,再者因为AT89S51为当今市场上主流产品,其价格也比较低廉,所以选择此方案。
1.3 时钟芯片的选择
方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。
方案二:采用DS12887时钟芯片实现时钟,DS12887芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM 做为数据暂存区,另外其在没有外部电源的情况下可工作10年自带晶体震荡器及电池。其可以计算到2100年前的秒、分、小时、星期、日期、月、年七种日历信息。
1.4 温度传感器的选择
方案一:采用AD590为温度传感器,AD590虽然有价格低、精度高等优点,但是它还
需要外围的模拟转数字电路,其测温点数量也较少,用起来占空间大也比较麻烦。
方案二:采用DS18B20测温,DS18B20采用单线接口方式,与微处理器连接时仅需要一条线即可实现双向通讯;其适应电压范围更宽;支持多点组网测温;在使用中不需任何外围元件,全部传感元件及转换电路都集成在一只如三极管的集成电路内;价格也较低;DS18B20缺点是测温范围比较小,范围为-55度到+125度,但是用在本设计也 足够了,所以采用此方案。
2 硬件设计
2.1 电路组成框图
该电路主要由时钟芯片、CPU (A T89S51)、键盘、驱动电路、温度采集、显示电路组成。其中键盘调整可以对显示的内容进行切换及对时间进行调整。框图如图2-1所示:
图2-1 电子万年历方框图
2.2 系统硬件概述及整机工作原理
此设计
CPU 采用低功耗,高性能CMOS 8位单片机
AT89S51;时钟芯片用的是美国达接斯半导体公司(Dallas )推出的串行接口实时时钟芯片DS12887,采用
CMOS 技术制成,具有内部晶振和时钟芯片备份锂电池;驱动电路用的是ULN2003芯片;LED 显示部分用的是四个共阴型数码管,显示采用动态扫描并行输出方式。键盘有三个分别为位调整键,加调整键,减调整键。整机工作原理是先初始化DS12887时钟芯片接着CPU 从时钟芯片读取时间及日期信息又从温度传感器采集温度送驱动电路进而送LED 显示,其中键盘调整可以对时间进行调整,对时间进行调整时其更改值写入DS12887,再允许DS12887时间更新并读出时间送显示,温度值和时间轮流交替显示在数码管上。电路图如图2-2所示。
图2-2 整机电路图
2.3 各芯片介绍
2.3.1 AT89S51单片机
AT89S51是一个低功耗,, 高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable) 的可反复擦写1000次的Flash 只读程序存储器, 器件采用ATMEL 公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。其引脚排列如2-3所示。
图2-3 AT89S51引脚图
AT89S51具有如下特点:40个引脚,128 bytes 的随机存取数据存储器(RAM ),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0Hz 并可通过软件设置省电模式。空闲模式下,CPU 暂停工作,而RAM 定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM 的数据,停止芯片其它功能直至外中断激活或硬件复位。
管脚说明:
40个引脚按其功能来分,可分为三个部分:
电源及时钟引脚 控制引脚 I/O口引脚
(1)电源及时钟引脚
电源引脚接入单片机的工作电源。 VCC(40)引脚:接+5V电源。
VSS(20)引脚:接地。
两个时钟引脚XTAL0、XTAL1为单片机提供了时钟控制信号。
XTAL0(18脚):接外部晶体的一个引脚。
XTAL1(19脚):接外部晶体的另一端。
(2)控制引脚
RST 是复位信号的输入端,高电平有效。当单片机正常工作时,在此引脚加上持续时间大于两个机器周期(24个时钟振荡周期)的高电平时,就可完成复位操作。在单片机正常工作时,复位端应小于或等于0.5V 的低电平。
PSEN (29脚)程序存储器允许输出控制端。在单片机访问外部程序存储器时,此引脚输出脉冲负跳沿作为外部程序存储器的选通信号。
ALE (30脚)ALE 为地址锁存允许信号,当单片机上电正常工作后,ALE 引脚不断输出正脉冲信号。当单片机访问外部存储器时,ALE 输出信号的负跳沿用作单片机发出的低8位地址的锁存控制信号。即使不访问外部锁存器,ALE 端仍有正脉冲信号输出,频率为时钟振荡频率fOSC 的1/6。
31脚)功能为内/外程序存储器选择控制端。当EA 脚为高电平时,单片机访问片内程序存储器,当EA 脚为低电平时,单片机则只访问外部程序存储器。所以此次设计,须把单片机的31脚接到高电平。
(3)I/O引脚
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的外部计数输入。在flash 编程和校验时,P1口接收低8位地址字节。
P1 口引脚号的第二功能如表2-1所示。
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 口,对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL )。P3口亦作为AT89S52特殊功能(第二功能)使用,在flash 编程和校验时,P3口也接收一些控制信号。
P3 口引脚号的第二功能如表2-2所示。
表2-2 P3 口引脚号的第二功能
2.3.2 DS12887时钟芯片