应用系统设计报告

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

随着电子技术的进步和发展,单片机的应用已经普及到我们生活、工作、科研等各个领域,其技术日趋成熟和完善。本设计是一个基于80C51单片机,采用“一线总线”数字化温度传感器DS18B20的测温系统。采用WAVE6000集成调试软件编写汇编程序实现温度的转化、数值计算以及数码管显示当前温度功能,并且可以通过按键设置高低温报警温度,对应配置报警器和报警指示灯。数码管显示采取动态扫描的方法,简化了硬件电路;温度调整运用中断处理,保证了报警温度调整的实时性。本设计可以方便快捷的实现温度的采集和显示,具有精度高、测温范围宽、体积小、功耗低等优点,适用于我们日常生活和工、农业生产中的温度测量,也可以作为温度处理模块嵌入其它系统中,作为其他主系统的扩展电路。DS18B20与80C51结合实现最简温度检测系统,结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。

关键词:一线总线动态扫描中断处理报警温度

摘要 (1)

软件设计部分

一、目的 (3)

二、设计要求 (3)

(一)上机编程操作内容 (3)

(二)实验步骤 (4)

(三)心得体会 (10)

应用系统设计部分

1概述 (11)

1.1设计目的与意义 (11)

1.2设计任务及要求 (11)

2系统总体方案及硬件设计 (11)

2.1主控芯片 (12)

2.1.1 80C51单片机芯片引脚及功能介绍 (12)

2.1.2 芯片引脚介绍 (12)

2.2显示电路 (13)

2.3报警温度调整电路 (13)

2.4报警电路 (13)

2.5温度传感器 (13)

2.6 DS18B20温度传感器与单片机的接口电路 (14)

2.7系统整体硬件电路 (15)

3软件设计 (16)

3.1主程序 (16)

3.2读温度子程序 (16)

3.3报警温度调整子程序 (16)

3.4显示子程序 (16)

4总结 (21)

参考文献 (21)

软件设计

一、目的

1.巩固和加深对《单片机原理》课程内容的认识和理解,提高应用水平。 2.掌握MCS-51汇编语言程序的编制方法。 3.熟悉键盘控制和七段数码管的使用。 4.熟悉单片机应用系统硬件设计的基本方法。

二、设计要求

本课程设计内容包含二个方面:系统设计及上机编程。 (一)上机编程操作内容:

(1)程序一:编程实现在4位LED 上移动显示012345678 (2)程序二:编程实现键盘功能:

按3→A135

按7→B246

,其它左移显示

(3)程序三实现以下要求

a)定义键盘按键,5个为数字键2、4、7、1、3,3个功能键:减号-,

乘号×,等号=; b)可进行三位8进制减法运算;

c)可进行两位8进制乘法运算。

(4)电路框图

(二)实验步骤:

(1)对照实验线路原理图进行接线,并仔细检查;

(2)输入程序并检查无误,经汇编、连接后装入系统;

(3)运行程序

源程序:

(1)

ORG 0000H

LJMP MAIN

ORG 1000H MAIN:

MOV 50H,#00H MOV 51H,#01H MOV 52H,#02H MOV 53H,#03H MOV 54H,#04H MOV 55H,#05H MOV 56H,#06H MOV 57H,#07H MOV 58H,#08H

KEYSUB:

MOV A,#0EH MOV DPTR,#7F00H MOVX @DPTR,A BEGINA:

MOV R1,#50H MOV R4,#06H MOV R5,#0FFH

BEGIN:

ACALL DIS

DJNZ R5,BEGIN

DIS:

PUSH ACC

PUSH 00H

PUSH 03H

MOV A,R1

MOV R0,A

MOV R3,#0FEH MOV A,R3

AGAIN:

MOV DPTR,#7F03H

MOVX @DPTR,A

MOV A,@R0

MOV DPTR,#DDEG

MOVC A,@A+DPTR MOV DPTR,#7F02H

MOVX @DPTR,A

ACALL DL1MS

INC R0

MOV A,R3

JNB ACC.3,OUT

RL A

MOV R3,A

AJMP AGAIN

OUT:

POP 03H

POP 00H

POP ACC

RET

DDEG:

DB 0FCH,60H,0DAH,0F2H,

66H,0B6H,0BEH,0E0H,0FEH DL1MS:

MOV R7,#01H

DL0:

MOV R6,#0FFH

DL1:

DJNZ R6,DL1

DJNZ R7,DL0

RET

END

(2)程序二:

ORG 0000H

LJMP MAIN

ORG 1000H

MAIN:

MOV 50H,#00H

MOV 51H,#00H

MOV 52H,#00H

MOV 53H,#00H

KEYSUB:

MOV A,#0EH

MOV DPTR,#7F00H

MOVX @DPTR,A BEGIN:

ACALL DIS

ACALL CLEAR

ACALL CCSCAN

JNZ INK1

AJMP BEGIN

INK1:

ACALL DIS

ACALL DL1MS

ACALL DL1MS

ACALL CLEAR

ACALL CCSCAN

JNZ INK2

AJMP BEGIN

INK2:

MOV R2,#0FEH

MOV R4,#00H

COLUM:

MOV DPTR,#7F03H

MOV A,R2

MOVX @DPTR,A

MOV DPTR,#7F01H

MOVX A,@DPTR

JB ACC.3,LONE

MOV A,#00H

AJMP KCODE

LONE:

JB ACC.2,NEXT

MOV A,#04H KCODE:

ADD A,R4

CJNE A,#00H,TT0

MOV A,#06H

AJMP L0

TT0:

CJNE A,#01H,TT1

MOV 50H,#0BH

MOV 51H,#02H

MOV 52H,#04H

MOV 53H,#06H

AJMP L1

TT1:

CJNE A,#02H,TT2

MOV A,#0CH

AJMP L0

TT2:

CJNE A,#03H,TT3

MOV A,#0DH

AJMP L0

TT3:

CJNE A,#04H,TT4

MOV A,#0AH

AJMP L0

TT4:

CJNE A,#05H,TT5

MOV A,#0BH

AJMP L0

TT5:

CJNE A,#06H,TT6

MOV A,#09H

AJMP L0

TT6:

CJNE A,#07H,L0

MOV 50H,#0AH

MOV 51H,#01H

MOV 52H,#03H

MOV 53H,#05H

AJMP L1

L0:

ACALL PUTBUF L1:

PUSH ACC

相关文档
最新文档