温度巡回检测系统设计

更新时间:2024-06-03 15:14:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

中 北 大 学

课程设计任务书

11/12学年第 二 学期

学 院: 专 业: 学 生 姓 名: 课程设计题目:

信息与通信工程学院

自动化 学 号:

温度巡回检测系统设计

起 迄 日 期: 2012年6月11日~2012年6月15日 课程设计地点: 指 导 教 师: 系

下达任务书日期: 2012 年 6 月 8日

: 中北大学

课 程 设 计 任 务 书

1.设计目的: 设计一个单片机温度巡回检测程序控制系统,可以对粮仓的温度进行多点巡回检测。通过设计,掌握数据采集系统的工作原理、掌握单片机控制系统的设计原理、设计步骤,进一步提高综合运用知识的能力。 2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等): (1) 选择传感器,设计接口电路,对八点的温度进行巡回检测,要求温度测量范围是0~50℃,精度±1℃。 (2) 编写控制程序,在屏幕上巡回显示八点温度的实测值。 (3) 写出设计说明书。 3. 设计工作任务及工作量的要求(包括课程设计计算说明书、图纸、实物样品等): (1)查阅资料,确定设计方案 (2)选择器件,设计硬件电路,并画出原理图和PCB图 (3)画出流程图,编写控制程序 (4)撰写课程设计说明书

课 程 设 计任 务 书

4.主要参考文献: 1 单片机及其接口技术 北京航空航天大学出版社 李朝青主编 2 3 4 5 5.设计成果形式及要求: 课程设计说明书1份 原理图和PCB图各1份 程序清单1份 6.工作计划及进度: 起 迄 日 期 12年6月11日 ~ 6月12 日 6月 12日 ~6月13日 6月13日 ~ 6月14 日 6月 14日 ~ 6月15 日 6 月 16日 ~ 6月17 日 工 作 内 容 查阅资料,确定设计方案 设计硬件电路 画出流程图,编写控制程序 撰写课程设计说明书 课程设计答辩 系主任审查意见: 签字: 年 月 日

设计目的:

设计一个单片机温度巡回检测程序控制系统,可以对粮仓的温度进行多点巡回检测

设计内容和要求:

1、选择传感器,设计接口电路,对八点的温度进行巡回检测,要求温度测量范围是0~50℃,精度±1℃。

2、编写控制程序,在屏幕上巡回显示八点温度的实测值。 3、写出设计说明书。

设计分析:

本次单片机的课程设计为八路温度巡回检测装置,是在粮仓内同时进行多点的温度测量控制。在此次的电路中需要单片机,A/D装换装置,晶振电路,复位电路,温度显示部分,温度检测部分。

每一部分都可作为独立的部分进行设计,设计后连接到单片机上,成为整体的电路。

89C51引脚图:

系统总体结构 八路 温度 模拟 量

信号处理及放大 A/D 转换器 单 片 机 L E D 电 源

温度检测流程图

开始 置采集通道为0 启动A/D转换 结果存入 延时 通道增1 通道数为8? 结束

八路巡回温度检测的原理图,其中温度采集部分只画出了一个,其他7个与此相同。元件库中没有找到89c51,用8031代替。

程序部分:

MAIN: MOV R0,#0A0H; 数据暂存区首址 MOV R2,#08H; 8路计数初值 SETB IT1; 脉冲触发方式 SETB EA; 开中断 SETB EX1 MOV DPTR,#7FF8H; MOVX @DPTR,A; HERE:SJMP HERE; 中断服务程序: MOVX A,@DPTR; MOVX @R0,A; INC DPTR; INC R0; DJNZ R2,DONE RETI

DONE:MOVX @DPTR,A RETI

指向0809首地址启动A/D转换 等待中断 读数 存数 更新通道 更新暂存单元

心得体会:

在经过一周的时间过后,单片机的课程设计结束了。通过这一周的课程设计使我收获很多,使我加深了对单片机课程的理解,以及实际的应用。在这一周的课程设计中,每天都认真的寻找课利用的资源。完成单片机课程设计后,发现我还有许多不足,所学到的知识还远远不够,以至于还有一些功能不能被完成。通过学习这一次课设,使我们认真思考,勤学好问,也使我认识到认识到把理论应用到实践中去是多么重要。课程设计真正地巩固了我所学的内容。另一方面,由于Protel的安装局限,使得一些元器件没有找到画出的电路图不够完整。时间有限,所以没有进行元器件的封装,就没有出PCB板。 通过此次课程设计,我深刻认识到自己左学的东西有多么的少,在以后的学习生活中,一定努力扩大自己的知识面,加深理解。为以后打下扎实的基础。

附录:

程序:

org 0000h mov sp,#50h

LOOP1: MOV 3AH,#01H ;置路数为1 mov r0,#30h ;保存数据区首址给R0

mov dptr,#7ff0h ;P2.7=0,指向IN0(第一路) mov 3bh,#08h ;通道总数为8 read:

movx @dptr,a ;启动A/D转换 nop nop nop

acall wait ;等待A/D转换 movx a,@dptr ;读转换结果 mov @r0,a ;保存转换结果 BIND: PUSH DPL ;取温度值 PUSH DPH MOV DPTR,#0500H MOV A,@R0 MOVC A,@A+DPTR MOV 40H,A

BIN2BCD: ;二进值码转换BCD码程序 MOV R1,#43H

MOV 43H,#00H ;转换前将BCD码清零 MOV 44H,#00H MOV R3,#8 ;移动8次,

START: MOV R1,#43H ;转换后BCD码地址 MOV A,40H RLC A MOV 40H,A

MOV R2,#02H ;转换后BCD码字节数 BCDCHG: MOV A,@R1 ADDC A,ACC DA A MOV @R1,A INC R1

DJNZ R2,BCDCHG DJNZ R3,START pop dpH POP DPL

chanf: mov a,3Ah ;显示缓冲区地址分配 anl a,#0FH mov 48h,a mov a,44h anl a,#0FH

mov 4ah,a mov a,43h anl a,#0FH mov 4ch,a mov a,43h swap a anl a,#0Fh mov 4bh,a

disp: acall sym ;调用判断热电阻是否正常或温度是否超限子程序 acall zero1 ;调用消隐“0”子程序 push dpl ;显示子程序 push dph

mov dptr,#tab ;取段码表首址 MOV 28H,#1eH MOV 29H,#066H dsp1: mov a,48h ;显示路数

movc a,@a+dptr ;查显示数据对应段码 mov p1,a ;送段码 clr p3.4 acall dll setb p3.4

dsp2: clr c ;判断温度是否为负。如是,显示负号 mov a,@r0 subb a,#56h jc plus mov 49h,#0bfh ajmp ka

plus: mov 49h,#0ffh ka: mov a,49h mov p1,a clr p3.3 acall dll setb p3.3

dsp3: mov a,4ah ;显示温度值百位 movc a,@a+dptr mov p1,a clr p3.2

acall dll setb p3.2

dsp4: mov a,4bh ;显示温度值十位 movc a,@a+dptr mov p1,a clr p3.1 acall dll setb p3.1

dsp5: mov a,4ch ;显示温度值个位 movc a,@a+dptr mov p1,a clr p3.0 acall dll setb p3.0 DJNZ 29H,KK1 MOV 29H,#01H

DJNZ 28H,KK1 ;延时,时间未到,循环显示该路温度值 AJMP KK2 KK1: AJMP DSP1

KK2: pop dph ;时间到,显示下一路 pop dpl inc r0 inc 3ah inc dptr

djnz 3bh,fturn ;8路未显示完,显示下一路 ajmp loop1 ;8路显示完,从第一路开始显示 fturn: ajmp read

SYM: mov a,@r0 ;判断热电阻是否正常或温度是否超限子程序 clr c subb a,#1eh jnc sym1

mov 4ah,#0bh ;热电阻开路或温度超过50度,显示“HHH” mov 4bh,#0bh mov 4ch,#0bh ajmp sym3 sym1: mov a,@r0 subb a,#0dbh

jc sym3

mov 4ah,#0ch ;热电阻短路或温度低于-120度,显示“-LLL” mov 4bh,#0ch mov 4ch,#0ch sym3: Ret

zero1: ;消隐“0”子程序 mov a,4ah jNz zero2 mov 4ah,#0Ah mov a,4bH jnz zero2 mov 4bh,#0ah zero2: ret

wait: mov r4,#03ah ;等待子程序 djnz r4,$ ret

dll: MOV R7,#015H ;延时子程序 DL1: MOV R6,#01aH DL2: DJNZ R6,DL2 DJNZ R7,DL1 RET

TAB: DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H

DB 80H,90H,0ffh,89h,0C7h ;其中0FFH是消隐“0”用 ORG 051EH TAB2: H DB

1EH,1DH,1CH,1BH,1AH,19H,18H,17H,16H,15H,14H,14H,13H,12H,11H,10H,0FH,0EH,0DH,0CH,0BH,0AH DB

0AH,09H,08H,07H,06H,05H,04H,03H,02H,02H,01H,0H,01H,02H,03H,04H,05H,06H,07H,08H,09H,09H DB

0AH,0BH,0CH,0DH,0EH,0FH,10H,11H,12H,12H,13H,14H,15H,16H,17H,18H,19H,1AH,1BH,1CH,1DH,1DH DB

1EH,1FH,20H,21H,22H,23H,24H,25H,26H,27H,28H,28H,29H,2AH,2BH,2CH,2DH,2EH,2FH,30H,31H,31

DB

32H,31H,30H,2FH,2EH,2DH,2CH,2BH,2AH,29H,28H,28H,27H,26H,25H,24H,23H,22H,21H,20H,1FH,1F

H DB

32H,33H,34H,35H,36H,37H,38H,39H,3AH,3AH,3BH,3CH,3DH,3EH,3FH,40H,41H,42H,44H,45H,45H,46h DB

47h,48h,49H,4AH,4BH,4CH,4DH,4DH,4EH,4FH,50H,51H,52H,52H,53H,54H,55H,56H,57H,58H,58H,59H

DB 5AH,5BH,5CH,5DH,5EH,5FH,60H,61H,61H,62H,63H,64H,65H,66H,67H,68H,69H,6AH DB 6AH,6BH,6CH,6DH,6EH,6EH,6FH,70H,71H,72H,73H,73H,74H,75H,76H,77H,78H END

本文来源:https://www.bwwdw.com/article/r246.html

Top