Top Banner
实实实实 一、 实实实实实实 实实 AD590 实实实实实实实实实实实实实实实实实实实实实实实实 实实实实 实实 实实实实实实实实 实实实实实 ,: 实实实实实实 40~90℃ 实实实实实 1℃ 实实实实≤ 1℃ 实实实实实实实实实实实实实实实实实实实实实 实实实实实实实实实≤ 1℃ 实 10 实 实实实实 实实 实实实实实 实实
70

一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求...

Jan 28, 2016

Download

Documents

zelia

第 10 章 综合实训. 课题一 水温控制系统设计. 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下: 温度设定范围 40~90℃ ,最小区分度 1℃ ,标定误差≤ 1℃ 。 用十进制数码显示水的实际温度。 环境温度降低时,温度控制的静态误差≤ 1℃ 。. 三、背景知识 1 、 AD590 温度传感器简介 - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

一、实训目的• 熟悉常用温度传感器 AD590 的特性及接口电路的设计方

法;• 学会模块化程序设计方法二、课题要求• 制作一个水温自动控制系统,要求如下:• 温度设定范围 40~90℃ ,最小区分度 1℃ ,标定误差≤ 1

℃ 。• 用十进制数码显示水的实际温度。• 环境温度降低时,温度控制的静态误差≤ 1℃ 。

第 10 章 综合实训课题一 水温控制系统设计

Page 2: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

三、背景知识1 、 AD590 温度传感器简介 AD590 是美国 AD 公司生产的单片集成两端感温电流源。它的测温范围为 -55℃ ~ +150℃ ,工作电压范围为 4V ~ 3

0V ,可以承受 44V 正向电压和 20V 反向电压,输出电阻为710M 。它产生的电流与绝对温度成正比,非线性误差为 ±

0.3℃ 。图 10—1 为 AD590 的引脚图,表 10—1 为 AD590

温度与电流的关系表。

( a )引脚 ( b )封装 ( c )图形符号 图 10—1 AD590 引脚、封装及图形符号

Page 3: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

表 10—1 各温度与电流、电压参考关系表

温度值 AD590电流

经 10kΩ电压 V

放大器输出 V0

( ADC0809的VIN)

ADC0809的输出

0ºC 273.2μA 2.732V 0V 00H

10ºC 283..2μA 2.832V 0.49V 19H

20ºC 293.2μA 2.932 V 0.98V 32H

30ºC 303.2μA 3.032 V 1.47 V 4BH

40ºC 313.2μA 3.132 V 1.96 V 64H

50ºC 323.2μA 3.232 V 2.45 V 7DH

60ºC 333.2μA 3.332 V 2.94 V 96H

70ºC 343.2μA 3.432 V 3.43 V AFH

80ºC 353.2μA 3.532 V 3.92 V C8H

90ºC 363.2μA 3.632 V 4.41 V E1H

100ºC 373.2μA 3.732 V 4.90 V FAH

Page 4: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

AD590 是电流输出型器件,必须利用接口电路将 AD590

输出的电流信号转换成电压信号,再经 A/D 转换器转换成数字信号,提供给单片机处理。在

2 、 AD590 接口电路

表 10—1 中,列出了在不同温度值下的 AD590 的输出电流,通过图 10—2 的放大电路可将输出电流转换成 0~5V 的模拟电压。

图 10—2 温度采集电路

Page 5: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

四、硬件电路 硬件电路由单片机、温度检测模块、加热控制模块、

键盘设定模块及数据显示模块构成。

1 、单片机选择 由于系统对控制精度的要求不高,所以选用内部具有程序存储器芯片的 AT89C51 就可以满足要求了。 2 、温度检测模块 温度检测模块由温度传感器、信号放大器及 A/D 转换器组成。由 AD590 将温度转换成电流信号再经信号放大器得到对应的模拟电压,再经 ADC0809 转换后接入单片机。如图 10—3 所示。

Page 6: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

3 、加热控制模块

加热控制信号经反相器反相后,驱动固态继电器( SS

R )工作,从而接通或断开加热丝两端电源,实现对水的加热控制。加热控制电路如图 10—3 所示。 为了使加热控制更加精确,系统采用了三组加热电炉丝组合实现,当温差小于 5ºC 时,仅 A 组加热丝工作;当温差在5ºC~10ºC 之间时,采用 A 、 B 两组加热控制;当温差大于10ºC 时,采用 A 、 B 、 C 三组加热控制。

4 、键盘设定及数据显示模块

键盘扫描由 11 个按键及 3 位 LED 共阳极显示器组成。通过 P1 、 P2 口直接驱动键盘,为了简化显示接口,这里采用了串行口扩展 LED 显示器。如图 10—3 所示。

Page 7: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

图 10—3 水温控制系统硬件原理图

Page 8: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

五、软件设计1 、程序结构设计( 1 )主程序 用于进行初始化处理,包括各端口的初始化,定时 / 计数

器的设定、中断允许的设定等。同时进行键盘的扫描输入。图 10—4 为主程序流程图。

( 2 )定时中断服务程序 通过单片机内部的定时器 T0 进行 50ms 定时,再通过寄

存器 R6 进行计数,以实现 1s 定时中断的要求。进入中断服务程序后,可进行当前温度的检测及显示,根据所测值与设定值比较进行温度控制等。图 10—5 为中断服务程序流程图。

Page 9: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

图 10—4 主程序流程图 图 10—5 定时中断服务程序流程图

开始

关电炉、开显示

串行口初始化

定时器初始化

中断初始化

调用键盘扫描子程序

等待定时中断

定时中断程序开始

1s定时时间到?

调用标度转换子程序

关定时、关中断

调用温度检测子程序

显示实测温度

调用温度控制子程序

中断返回

Y

开定时、开中断

N

Page 10: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

( 3 )温度检测程序 温度检测采用每 1s 定时采样的方式,为了实现温度的准确

检测,采用了平均值滤波法抗干扰。即连续 4次启动 ADC080

9 进行 A/D 转换,求取转换结果的平均值,存入指定单元,以得到检测温度值。图 10—6 为温度检测程序流程图。

( 4 )温度控制程序 通过比较键盘设定值与温度检测值的差别,按照一定的控制规律,控制输出口线的状态,实现三组加热丝的控制。图 10—

7 为温度控制程序流程图。( 5 )温度显示程序 在每次温度检测后,进行一次温度显示刷新;在进行温度设

定时,显示设定温度值。

Page 11: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

2 、主要程序模块清单主程序:

ORG 0000H

AJMP MAIN

ORG 000BH

AJMP T0INT

ORG 0030H

MAIN : MOV SP , #60H

MOV P1 , #0FFH ;关电炉,开显示 MOV SCON , #00H ;设置串行口工作

; 方式 0 ,发送 MOV TMOD , #01H ;定时器初始化

MOV TH0 , #3CH ; 50ms 定时初值

Page 12: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

MOV TL0 , #0B0H

MOV R6 , #14H ; 1s 定时用( 50ms20次) MOV 5DH , #00H ;显示缓冲区清零 MOV 5EH , #00H

MOV 5FH , #00H

ACALL DISP

SETB ET0

SETB EA

SETB TR0

LM0 : ACALL KEYSCAN ;调用键盘扫描子程序(略), ; 用于设定温度值

AJMP LM0

Page 13: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

图 10—6 温度检测程序流程图

图 10—7 温度控制程序流程图

温度检测开始

转换结束否?

将结果单元清0

转换次数送R7

启动A/D转换

累加转换结果

存结果

4次转换结束否?

返回

Y

N

Y

N

求平均值

Page 14: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

定时中断服务程序:T0INT : MOV TH0 , #3CH

MOV TL0 , #0B0HDJNZ R6 , T0END ; 1s未到,中断返回CLR TR0CLR EA

MOV R6 , #14H ;恢复 R6 初值ACALL TADC ;调用温度检测子程序ACALL XSCL ;调用标度转换子程序ACALL DISP ;调用显示子程序ACALL TCONT ;调用温度控制子程序SETB TR0SETB EA

T0END : RETI

Page 15: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

温度检测子程序:TADC : MOV 50H , #00H ;清存检测值单元

MOV B , #00H

MOV R7 , #04H ;设置转换次数MOV DPTR , #7FFFH ;送 ADC0809地

址TT0 : MOVX @DPTR , A ;启动 A/D 转换

JB P3.2 , $ ;等待转换结束MOVX A , @DPTR ;读 A/D 转换数据ADD A , 50H

MOV 50H , A

JNC TT1 ;是否超出 8 位二进制范围INC B

Page 16: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

TT1 : DJNZ R7 , TT0 ; 4次转换是否完成

CLR C ;求 4次 A/D 转换的平均值

XCH A , B

RRC A

XCH A , B

RRC A

CLR C

XCH A , B

RRC A

XCH A , B

RRC A

MOV 50H , A ;平均值存 50H

RET

Page 17: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

温度控制子程序:

TCONT : MOV A , 51H

CLR C

SUBB A , 50H ;设定值—实测值MOV R0 , A

JNC CCPR ;小于设定温度,接通相应加热器MOV P1 , #0FFH ;否则,关闭加热器AJMP CONEND

CCPR : MOV A , R0

SUBB A , #19H

JC CCPR1

Page 18: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

MOV P1 , #0F8H ;开三组加热器AJMP CONEND

CCPR1 : MOV A , R0

SUBB A , #0CH

JC CCPR2

MOV P1 , #0FCH ;开两组加热器AJMP CONEND

CCPR2 : MOV P1 , #0FEH ;开一组加热器CONEND : RET

Page 19: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

显示子程序:DISP : MOV R2 , #03H ;显示数据的个数

MOV R1 , #5DH ;显示缓冲区首址SETB P1.3

DL0 : MOV A , @R1 ;取要显示的数MOV DPTR , #TABMOVC A , @A+DPTR ;查字型码MOV SBUF , A ;送出数据

DL1 : JNB TI , DL1 ;是否输完一个字节CLR TI ;清发送完标志INC R1DJNZ R2 , DL0 ;三个数是否都显示完?RET

TAB : DB 0C0H , 0F9H , 0A4H , 0B0H , 99H ; 0~9 字型码

DB 92H , 82H , 0F8H , 80H , 90H

Page 20: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

六、总结与提高 设计、调试大型程序时,应该:

先根据要求划分模块,优化结构;再根据各模块特点确定何为主程序,何为子程序,何

为中断服务程序,相互间如何调用;接着根据各模块性质和功能将各模块细化,设计出程

序流程图;最后根据各模块流程图编制具体程序。

调试时应先调主程序,实现最基本最主要的功能,在此基础上再将各模块功能往主程序上堆砌,直至各模块联调、统调,实现全部功能。

Page 21: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

在这个课题中,采用了软件滤波方式提高检测环节的准确,并且采用了三组加热控制提高了温度变化的精度。在此基础上,还可以增加液面检测、缺水报警电路及打印电路等其它辅助电路的设计,使这个控制系统更完善。

Page 22: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

课题二 用 8×8点阵显示器制作电子显示屏一、实训目的熟悉 8×8点阵显示器与单片机的接口电路及其设计方法;学会模块化程序设计方法。二、课题要求 制作一个 8×8点阵显示器。要求如下: 1. 显示“电子设计”四个文字; 2. 显示方式可由 K1 、 K2 和 K3 三个键选择: K1 为逐字显示, K2 为向上滚动显示, K3 为向左滚动显示。

Page 23: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

三、硬件电路

显示器采用 AT89C51 单片机作控制器,时钟频率为 12MHz , 8×8点阵显示器采用共阳极结构,其电路如图 10—8 所示。 P0 作为字符数据输出口, P2 为字符显示扫描输出口, P1.0~P1.2 口分别接开关 K1 、 K2 、 K3 ,

通过改变电阻( 270Ω )的大小可改变显示字符的亮度,驱动用 9012 三极管。

Page 24: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

EA/VP31

X119

X218

RESET9

RD17

WR16

INT012INT113

T014T1

15

12345678

89C51

+5V

+5V

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7

P0.0

P0.1

P0.2

P0.3

P0.4

P0.5

P0.6

P0.7

P2.0

P2.1

P2.2

P2.3

P2.4

P2.5

P2.6

P2.7

30pF

30pF 12 M

Hz

1k 22μF

K1

K2

K3

39

3837

3635

34

33

32

28

2726

2524

23

22

21

+5V

270Ω

图 10—8 硬件电路图

Page 25: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

四、软件设计

1 、程序结构设计( 1 )主程序 主程序用于对系统进行初始化,扫描按

键开关状态,由按键标志位值( 00H 、 01H 、 02H )决定显示的方式。主程序流程图如图 10—9 所示。

Page 26: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

图 10—9 主程序流程图

开始

调用按键扫描子程序

20H.0=1?

20H.1=1?

20H.2=1?

转逐字显示程序

转向上滚动显示程序

转向左滚动显示程序

Y

Y

Y

N

N

N

初始化子程序

Page 27: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

( 2 )初始化子程序

用于对端口进行复位操作,将显示用的字符数据从字符表中装入内存单元 50H~6FH 中。字符表中的每个文字占用 8

个地址单元。

( 3 )显示子程序

显示子程序由显示功能选择程序和显示控制程序组成。 显示功能选择程序 :

负责每次显示时的显示地址首址(在 B 寄存器中)、每个字的显示时间(由 30H 中的数据决定)和下一个显示地址的间隔( 31H 中的数据决定)的处理。

Page 28: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

显示子程序 :

负责对指定 8 个地址单元的数据进行输出显示。 显示一个完整文字的时间约为 8ms 。 在显示子程序中, 1ms延时程序是用调用键扫描子程序的方法实现的。图 10—10 为逐字显示及向上滚动显示方式时的显示控制程序流程图。( 4 )按键扫描程序 用于将按键的状态扫描至 20H 单元的低三位( 20H.0 、20H.1 、 20H.2 )中。同时在程序中利用按键扫描程序代替显示程序中的 1ms延时程序,既可以提高按键的快速响应,又可以提高动态显示的扫描频率,减少文字显示时的闪烁现象。

Page 29: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

逐字或上移显示开始

设定1帧显示时间及换帧步距

置显示数据首址

调用显示控制子程序

1帧显示时间到否?

1次显示结束否?

修改显示数据首地址

转按键扫描子程序

Y

Y

N

N

图 10—10 逐字显示及上移显示程序流程图

Page 30: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

2 、主要程序模块清单主程序:

START : MOV 20H , #00H ; 20H 内存单元清 0

SETB 00H ; 20H.0 位置 1

START1 : LCALL CLEARMEN ;调用上电初始化子 ; 程序 JB 00H , FUN0; 20H.0 位为 1 ,执行 FUN

0

JB 01H , FUN1; 20H.1 位为 1 ,执行 FUN

1

JB 02H , FUN2; 20H.2 位为 1 ,执行 FUN

2

AJMP START1

Page 31: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

初始化程序:CLEARMEN : MOV A , #0FFH ;四端口置 1 MOV P1 , A MOV P2 , A MOV P3 , A MOV P0 , A MOV DPTR , #TAB ;取“电子设计”字 ; 符表首址 CLR A MOV 21H , A ; 21H-24H 内存单元清0 MOV 22H , A MOV 23H , A MOV 24H , A MOV R3 , A ; R3 寄存器清 0

Page 32: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

MOV R1 , #50H ;设字符表移入内存 ; 单元首址 MOV R2 , #20H ;设查表次数( 32次)CLLOOP : MOVC A , @A+DPTR ;查表字符数据移入 ; 内存单元 MOV @R1 , A MOV A , R3 INC A MOV R3 , A INC R1 DJNZ R2 , CLLOOP ;是否已查表 32 ;次,未完转 CLLOOP RET

Page 33: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

TAB : DB 0EFH , 83H , 0ABH , 83H , 0ABH , 83H , 0EEH , 0E0H ; 电 DB 0FFH , 0C7H , 0EFH , 83H , 0EFH , 0EFH , 0CFH , 0EFH ; 子 DB 0B1H , 0B5H , 04H , 0BFH , 0B1H , 0B5H , 9BH , 0A4H ; 设 DB 0BBH , 0BBH , 1BH , 0A0H , 0BBH , 0BBH , 9BH , 0BBH ;计

Page 34: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

键扫描子程序:

KEYWORK : MOV P1 , #0FFH ;置输入状态 JNB P1.0 , KEY1 ; P1.0 为 0 (键按下)转 KEY1 JNB P1.1 , KEY2 ; P1.1 为 0 (键按下)转 KEY2 JNB P1.2 , KEY3 ; P1.2 为 0 (键按下)转 KEY3KEYRET : RET KEY1 : LCALL DL10MS ;按键 1功能处理,延 ; 时 10ms削抖动 JB P1.0 , KEYRET ;是干扰转 KEYRET 结束 SETB 00H ;置逐字显示方式标志 ; ( 20H.0=1 ) CLR 01H CLR 02H RET ;子程序返回

Page 35: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

KEY2 : LCALL DL10MS ;按键 2功能处理 JB P1.1 , KEYRET SETB 01H ;置上移显示方式标志 ; ( 20H.1=1 ) CLR 00H CLR 02H RETKEY3 : LCALL DL10MS ; 按键 3功能处理 JB P1.2 , KEYRET SETB 02H ;置左移显示方式标志 ; ( 20H.2=1 ) CLR 01H CLR 00H RET

Page 36: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

显示功能选择程序:

FUN0 : MOV 30H , #80H ;逐字显示, 1帧显示时间 ; (约 1s ) MOV 31H , #08H ;换帧跳转步距为 8 LJMP DISP1 ;转显示子程序 DISP1FUN1 : MOV 30H , #0AH ;上移显示, 1帧显示时间 ; (约 80ms ) MOV 31H , #01H ;换帧跳转步距为 1 LJMP DISP1 ;转显示子程序 DISP1FUN2 : LJMP DISP2 ;左移显示

Page 37: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

显示控制程序:DISP1 : MOV B , #50H ;显示数据首址 MOV R4 , 30H ;放入 1帧显示时间控制数据MOV R5 , 31H ;放入跳转步距控制数据LOOP : LCALL DISPLAY ;调用显示子程序一次 DJNZ R4 , LOOP ; 1帧显示时间未到再转 ;LOOP循环 MOV R4 , 30H ; 1帧显示时间到,重装初值 MOV A , B CJNE A , #68H , CONT ;不是末地址转 CONT AJMP START1 ;是末地址,一次显示结束 ;跳回 START1CONT : ADD A , R5 ;次帧扫描首址调整 MOV B , A AJMP LOOP ;转 LOOP 进行次帧扫描

Page 38: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

显示子程序:DISPLAY : MOV A , #0FFH MOV P0 , A ;关显示数据 MOV P2 , A ;关扫描 MOV R6 , #0FEH ;赋扫描字 MOV R0 , B ;赋显示数据首地址 MOV R7 , #08H ;一次扫描 8 行DISLOOP : MOV A , @R0 ;取显示数据 MOV P0 , A ;放入 P0 口 MOV P2 , R6 ;扫描输出(显示 ;某一行) LCALL DL1MS ;亮 1毫秒 INC R0 ;指向下一行数据地址 MOV A , R6 ;扫描字移入 A

Page 39: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

RL A ;循环左移一位 MOV R6 , A ;放回 R6 DJNZ R7 , DISLOOP ; 8 行扫描未完转 DISLOOP ; 继续 RET ; 8 行扫描结束

1毫秒延时子程序:

DL1MS : MOV R3 , #64H ; 100× ( 10+2 ) μsLOOPK : LCALL KEYWORK DJNZ R3 , LOOPK RET

Page 40: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

五、总结与提高

该课程设计中,可以看出 LED点阵显示的控制是在七段 LED 数码管显示控制的基础上扩展实现的,二者都是采用动态扫描方式进行设计,从原理上是完全相同的。在这个课题的基础上,还可扩展多个 LED点阵显示以实现更加复杂的分批显示模式及中文字幕的显示。

Page 41: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

课题三 电子万年历的设计与制作

一、实训目的

熟悉 DS12887 时钟日历芯片的特性及设置方法,DS12887 芯片与单片机的接口电路及其设计方法;学会模块化程序设计方法。

Page 42: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

二、课题要求

制作一个可调万年历。要求如下:内定时间为 2000年 1月 1日 12点 00 分 00秒,提供给新产品或换电池时使用。时间调整:开机时,光标停在“年”,移动光标依次修改年、月、日、时、分、秒。每按 P1.0 一次,光标依年、月、日、时、分、秒顺序移动。每按 P1.1 一次,光标所在位置的值加 1 。每按 P1.2 一次,光标所在位置的值减 1 。采用 LCD液晶显示器显示。

Page 43: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

三、背景资料

时钟日历芯片 DS12887 :

能够自动产生年、月、日、时、分、秒等时间信息,芯片内部带有锂电池,外部掉电时,其内部时间信息能够保持 10年之久;有 12 小时制和 24 小时制两种工作模式;时间的表示方法有两种:二进制数表示和 BCD 码表示。用户可对 DS12887 进行编程以实现多种方波输出,用户可对其内部的三路中断通过软件进行屏蔽。

Page 44: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

1 、引脚说明 Vcc :直流电源 +5V 输入

DS12887

1

2

3

4

5

6

7

8

9

10

11

12 13

14

15

16

17

18

19

20

21

22

23

24 Vcc

SQW

NC

NC

NC

IRQ

RESET

DS/

NC

R/W

AS

CS

MOT

NC

NC

AD0

AD1

AD2

AD3

AD4

AD5

AD6

AD7

GND

RD

当 Vcc 的输入小于 +4.25V

时,禁止用户对内部 RAM 进行读、写操作,此时用户不能正确获取芯片内的时间信息;当 Vcc 的输入小于 +3V 时,DS12887 会自动将电源切换到内部自带的锂电池上,以保证内部的电路能够正常工作。 图 10—11 DS12887 引脚图

当 Vcc 输入为 +5V 时,用户可以访问 DS12887 内 RA

M 中的数据,并可对其进行读、写操作;

Page 45: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

GND :地MOT :总线模式选择 当 MOT 接 Vcc 时选用 Motorola总线模式,当 MOT 接 G

ND 时选用 Intel总线模式。SQW :方波输出 当供电电压 Vcc 大于 4.25V 时, SQW 脚可进行方波输出,此时用户可以通过对控制寄存器编程来得到 13种方波信号的输出。AD0~AD7 :双向地址 / 数据总线。AS :地址有效输入。DS/ :数据选通 /读允许 当 MOT 接 Vcc 时作为数据选通;当 MOT 接 GND 时,作为读允许输入。

RD

Page 46: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

R/ :读 /写允许输入。

若MOT 接 Vcc ,该引脚为高电平时读操作,为低电平时写操作;若MOT 接 GND ,该引脚作为写允许输入。 :片选输入。低电平有效。 :中断请求输出。低电平有效。 :复位端。低电平有效,复位操作不影响时钟日历工作。NC :空引脚。

W

CS

IRQ

RESET

Page 47: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

2 、存储器分配与设置 DS12887 片内 RAM 与寄存器地址分配见图 10—12 。 DS12887带有 128 字节片内 RAM :

10 字节的时标寄存器:用来存储时间信息,地址 00H~09

H

CPU 可以通过读取时标寄存器获得时间与日历值,也可以编程设置其初值,时标寄存器的值可以用二进制或 BCD

码表示。4 字节的控制寄存器:用来存储控制信息,地址 0AH~0DH

用户可通过对控制寄存器编程实现从 SQW 引脚输出多种不同频率的方波,并可对其内部的三路中断通过软件进行屏蔽。114 字节作为通用 RAM 供用户使用,地址为 0EH~7FH 。

Page 48: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

秒报警

分报警

时报警

星期

寄存器A

寄存器B

寄存器C

寄存器D

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14字节

114字节RAM

00H

0DH

0EH

7FH

可用二进制数或BCD码表示

10—12 片内 RAM 与寄存器地址分配

Page 49: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

时标寄存器的数据格式 ,见下表所示。

地址单元 功能 十进制

范围

范 围

十六进制码 BCD码

0 秒 0~59 00~3B 00~59

1 秒闹钟 0~59 00~3B 00~59

2 分 0~59 00~3B 00~59

3 分闹钟 0~59 00~3B 00~59

4时( 12小时方式) 1~12

01~0C AM, 81~8C PM

01~12 AM, 81~92 PM

时( 24小时方式) 0~23 00~17 00~23

5

时闹钟( 12小时方式) 1~12

01~0C AM, 81~8C PM

01~12 AM, 81~92 PM

时闹钟( 24小时方式) 0~23 00~17 00~23

6 星期(星期天 =1) 1~7 01~07 01~07

7 日 1~31 01~1F 01~31

8 月 1~12 01~0C 01~12

9 年 0~99 00~63 00~99

Page 50: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

控制寄存器的格式

①寄存器 A 用于选择时钟频率、中断周期和 SQW 输出频率,格式如下:

D7 D6 D5 D4 D3 D2 D1 D0

UIP DV2 DV1 DV0 RS3 RS2 RS1 RS0

Page 51: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

UIP :更新周期标志。 当 UIP=1 时,表示芯片正处于或即将开始更新周期,在此期间不允许读写时标寄存器;

当 UIP=0 时,表示没有更新周期,此时可读时标寄存器。

DV2~DV0 :芯片内部振荡器 RTC 控制位。 当芯片复位后 500ms 开始第一个更新周期。将这 3 位设置

成 010 ,可使芯片以内置的 32.768kHz 的振荡频率工作。

RS3~RS0 :周期中断可编程方波输出速率选择位。 这 4 位不同的组合可以产生不同的方波输出,程序可以通

过设置寄存器 B 的 SQWE 和 PIE 位控制是否允许周期中断方波输出。 RS3~RS0 与中断周期及 SQW 输出频率的对应关系如表 10—3 所示。

Page 52: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

表 10—3 时钟频率选择寄存器 A选择位 32.768kHz时钟频率

RS3 RS2 RS1 RS0 中断周期 SQW输出频率0 0 0 0 — —

0 0 0 1 3.09625ms 256Hz

0 0 1 0 7.8125 ms 128 Hz

0 0 1 1 122.070 μs 8.192 kHz

0 1 0 0 244.141μs 4.096 kHz

0 1 0 1 488.281μs 2.048 kHz

0 1 1 0 976.5625μs 1.024 kHz

0 1 1 1 1.953125 ms 512 Hz

1 0 0 0 3.90625 ms 256 Hz

1 0 0 1 7.8125 ms 128 Hz

1 0 1 0 15.625 ms 64 Hz

1 0 1 1 31.25 ms 32 Hz

1 1 0 0 62.5 ms 16 Hz

1 1 0 1 125 ms 8 Hz

1 1 1 0 250 ms 4 Hz

1 1 1 1 500 ms 2 Hz

Page 53: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

②寄存器 B 主要用于设置芯片的工作状态,格式如下:

D7 D6 D5 D4 D3 D2 D1 D0

SET PIE AIE UIE SQWE DM 24/12 DSE

SET :允许更新周期位。可读 /写,不受信号的影响。 当 SET=0 时,芯片处于正常更新状态; 当 SET=1 时,芯片正常更新被禁止。PIE 、 AIE 、 UIE :分别为周期中断、闹钟中断、更新周期结束中断允许位。 各位分别为“ 1” 时允许发出相应的中断,由端输出。其中, UIE 位在复位或设置 SET 为 1 时清零。

Page 54: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

SQWE :方波输出允许位。 当 SQWE=1 ,按寄存器 A 输出速率选择位所确定的频率输出方波;

当 SQWE=0 , SQW 脚保持低电平。DM :时标寄存器格式选择位。

DM=0 ,为 BCD 码; DM=1 ,为二进制码。

24/12 : 24 小时或 12 小时模式设置位。 24/12=1 ,选择 24 小时工作模式; 24/12=0 ,选择 12 小时工作模式。

DSE :夏令时允许标志位。

Page 55: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

③寄存器 C 为中断标志位寄存器。 特点:程序读寄存器 C 或复位后,该寄存器的内容将自动清零。格式如下:

D7 D6 D5 D4 D3 D2 D1 D0

IRQF PF AF UF 0 0 0 0

IRQF :中断申请标志位。 该位逻辑表达式为: IRQF = PF · PIE+AF · AIE+UF · UIE 。当 IRQF=1 时, IRQ 引脚将输出低电平。

当 DSE=1 时,夏时制设置有效。在四月的第一个星期日的 1:59:59 AM ,调到 3:00:00 AM ;在十月的最后一个星期日的 1:59:59 AM ,调到 1:00:00 AM 。当 DSE=0无效。

Page 56: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

④寄存器 D 为状态标志寄存器,只有一个标志位 VRT

( D7 ),其余各位均为 0 。格式如下:D7 D6 D5 D4 D3 D2 D1 D0

VRT 0 0 0 0 0 0 0

VRT :芯片内部 RAM 与寄存器内容有效标志位。 该位为“ 1” 时,表示芯片内部 RAM 和寄存器内容有效。读该寄存器后,该位将自动置“ 1” 。

PF 、 AF 、 UF :这三位分别为周期中断、闹钟中断、更新周期结束中断标志位。 只要满足各中断的条件,相应的中断标志位将置“ 1” 。

寄存器 C 的 D3~D0 位为 0 ,不使用。

Page 57: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

四、硬件设计

硬件电路见图 10—13 。采用 AT89C51 单片机作控制器,时钟频率为 12MHz 。显示器可采用LED 显示,但由于 LED 数码显示所需的数码管较多,这里选用 LCD 显示器实现。 P1.0~P1.2 口分别接开关 K1 、 K2 、 K3 ,分别用于光标的移动及整定时间时的数字调整。

Page 58: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

EA/VP31

X119

X218

RESET9

RD17

WR16

T014T1

15

12345678

89C51

+5V

+5V

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7

P0.0

P0.1

P0.2

P0.3

P0.4

P0.5

P0.6

P0.7

P2.0

P2.1

P2.2

P2.3

P2.4

P2.5

P2.6

P2.7

30pF

30pF 12 M

Hz

1k 22μF

K1

K2

K3

39

3837

36

35

34

33

32

28

2726

25

24

23

22

21

INT0

ALE

12

30

AD0

AD1

AD2

AD3

AD4

AD5

AD6

AD7

4

56

7

8

9

10

11

AS14

DS

1288

7

CS13

IRQ

19 17

DS/RD

15

R/W

RESET1 18

DB0

DB1

DB2

DB3

DB4

DB5

DB6

DB7

C/D

LCD液晶控制器

CS

RD WR

图 10—13 万年历硬件原理图

Page 59: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

五、软件设计

1 、内部控制寄存器命令字设置( 1 ) DS12887 初始化:给寄存器 A 、 B 、 C 、 D送控制字(片选有效) ①( 0AH ) =20H

设置 DS12887 时钟频率为 32.768kHz , DV2~DV0=010 ; ②( 0BH ) =82H

设置 DS12887 更新周期停止,可进行时钟设定,时间和日期采用 BCD 码,时间单元为 24 小时计时方式。( 2 ) DS12887 开始计时:设置( 0BH ) =12H 由 UIE=

1激活,实现时钟输出显示更新。( 3 ) LCD液晶显示控制器设置(略)

Page 60: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

2 、程序结构设计 ( 1 )主程序 用于实现初始化操作,包括中断设置、 DS12887 时钟芯片及 LCD液晶显示控制器的初始化设置等。流程图见 10

—14 所示。( 2 )外部中断 0 服务程序 用于实现 DS12887 时钟芯片更新值的输出及显示操作。流程图见 10—15 所示。( 3 )按键扫描子程序 用于将三个按键的输入状态扫描至 89C51 相应的寄存器中,进行光标移动、加 1 或减 1 的处理。

Page 61: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

( 4 )显示子程序 用于将显示缓冲区数据依次输出到 LCD 显示器上。( 5 )加 1 处理子程序 将加 1 按键的输入状态转换为对相应存储单元的加 1操作,并将 BCD 码转换成 ASCII 码送显示缓冲区。( 6 )减 1 处理子程序 将减 1 按键的输入状态转换为对相应存储单元的减 1操作,并将 BCD 码转换成 ASCII 码送显示缓冲区。( 7 )内定时间写入子程序 用于将内定时间 00年 1月 1日 12点 00 分 00秒输入 D

S12887 相应的时标寄存器中。

Page 62: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

开始

清屏

LCD初始化

DS12887初始化

中断设置

是否写入内定时间?

调用显示输出子程序

内定时间写入子程序

DS12887开始计时

调用键盘扫描子程序

等待中断

N

Y

开始

现场保护

清中断标志

光标停在“ 年” 位置

读取DS12887时标寄存器中的相应数据

转换ASCII码

调用显示子程序

是否全部显示完?

修改光标位置

光标复位

中断返回

N

Y

图 10—14 主程序流程图图 10—15 中断服务程序流程图

Page 63: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

3 、主要程序模块清单主程序:

ORG 0000H

AJMP MAIN

ORG 0003

AJMP EX0INT

MAIN : MOV SP , #60H ;设置堆栈指针 ACALL BUSY ;调用检测 LCD 是否忙

;的子程序 MOV A , #01H ; LCD清屏 MOV DPTR , #8100H ;送 LCD指令寄存地址 MOVX @DPTR , A

ACALL LCDFIRST ;调用 LCD 初始化程序

Page 64: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

MOV IE , #81H ;外部中断 0 允许 MOV A , #20H ;对 DS12887 的寄存

;器 A赋初值 MOV DPTR , #020AH ;送 DS12887 的寄 ;存器 A 的地址

MOVX @DPTR , A MOV A , #82H ;对 DS12887 的寄存器

B ;赋初值

MOV DPTR , #020BH ;送 DS12887 的寄 ;存器 B 的地址

MOVX @DPTR , A MOV DPTR , #020EH ;读 DS12887 寄存器

0E ;的内容

MOVX A , @DPTR

Page 65: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

CJNE A , #01H , LOOP ;为 0则未设内定 ;时间

SJMP LOOP1

LOOP : ACALL RAMSTART ;调用内定时间写入子 ;程序LOOP1 : ACALL DISP ;调用成组字符显示子程序

MOV A,#12H ;启动 DS12887 开始计时 MOV DPTR , #020BH

MOVX @DPTR , A

LOOP2 : ACALL KEYSCAN ;调用键盘扫描子程序 SJMP LOOP2

Page 66: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

中断服务子程序:EX0INT : PUSH ACC ;现场保护

PUSH PSWMOV DPTR , #020CH ;读 C 寄存器,

;清除中断标志位 IRQFMOVX A , @DPTRMOV R2 , #00H ;光标位置偏移值

EX01 : MOV DPTR , #CUR ; LCD光标位置表首地址MOV A , R2MOVC A , @A+DPTR ;读取光标地址值ACALL BUSY ;检测 LCD 是否忙?

MOV DPTR , #8100H ;送 LCD指令寄存器地址

MOVX@DPTR , AMOV DPTR , #TIM ; DS12887 内部时标寄存

器 ;表首地址

Page 67: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

MOV A , R2 MOVC A , @A+DPTR ;读时标寄存器的地址 MOV DPTR , #0200H ;送时标寄存器首址 MOV DPL , A ;指向相应时标寄存器地址 MOVX A , @DPTR ;读相应时标寄存器的内

容 ACALL BCDACSII ;调用 BCD 码转换 ACSII 码子程

序 ACALL DISP1;调用单字符显示子程序 INC R2 ;指向下一时间单元的处理 CJNZ R2 , #06H , EX01

ACALL CURRET ;调用光标复位子程序 POP PSW ;恢复现场 POP ACC RETI

CUR : DB 82H , 85H , 88H , 8BH , 8EH , 91H;

; LCD“年月日时分秒”光标地址表 TIM : DB 09H , 08H , 07H , 04H , 02H , 00H

;时 ;标寄存器“年月日时分秒”地址

Page 68: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

内定时间写入子程序:

RAMSTART : MOV A , #00H ;写入 00秒 MOV DPTR , #0200H

MOVX @DPTR , A

INC DPTR

INC DPTR

MOVX @DPTR , A;写入 00 分 MOV A , #12H

MOV DPTR , #0204H

MOVX @DPTR , A;写入 12 时 MOV A , #01H

MOV DPTR , #0207H

Page 69: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

MOVX @DPTR , A;写入 1日 INC DPTR

MOVX @DPTR , A;写入 1月 INC DPTR

MOV A , #00H ;写入 00年 MOVX @DPTR , A

MOV DPTR , #020EH ;设定已设置内定时 ;间标志 MOV A , #01H

MOVX @DPTR , A

RET

Page 70: 一、实训目的 熟悉常用温度传感器 AD590 的特性及接口电路的设计方法; 学会模块化程序设计方法 二、课题要求 制作一个水温自动控制系统,要求如下:

六.总结与提高

该课程设计中,为了正确地访问时间和日期信息,使用了更新结束中断( UIE=1 )的方式实现时间和日期的读取。 DS12887 的使用非常灵活,读者也可用查询 UIP 位的方式或设定周期中断速率的方式来实现时间与日期的读取。为了使万年历的程序设计更加完善,还可在此基础上,增加闹钟定时程序等相关内容。