智能温度计的设计Word文档格式.docx
- 文档编号:21182804
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:23
- 大小:506.72KB
智能温度计的设计Word文档格式.docx
《智能温度计的设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《智能温度计的设计Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
片内有数据输出寄存器,并有三态输出的控制逻辑。
其运行方式灵活,可进行12位转换,也可作8位转换;
转换结果可直接12位输出,也可先输出高8位,后输出低4位。
可直接与8位或16位的CPU接口。
输入可设置为单极性,也可设成双极性。
片内有时钟电路,无需外部时钟。
图3A/D转换模块图
图3是AD574与单片机接口电路以,它分两次将单极性电压的12位转换结果送给单片机。
具体先由单片机发出控制信号,使A/D转换器启动转换,等待转换结束,单片机再分两次将转换数据读到内存中。
按上图接法AD574是单极性输入,接成0—+10V的接法,按上图向FF7C写数据,就启动AD574转换器开始转换,检测P1.0口即可查看AD574是否转换结束,从FF7D端口即可读出转换结果的高八位,从FF7F端口中即可读出转换结果的低四位。
3.3显示模块设计
利用串口和74164驱动LED显示器工作,采用静态显示方式。
这种方式可避免采用并行I/O接口占用资源较多的缺点。
采用共阳极数码管,因而各位的COM接口接+5V电源,若要显示某字段,则相应的移位寄存器74164输出必须为低电平,由于74164在低电平输出时,允许通过的电流为8mA左右,故不用再加驱动电路了,只需向串口发送要显示三位数的显示控制代码(段码),即可在LED显示器上显示出所要的字符,只需将各位的小数点控制位接低电平,使其显示,其他位的小数点控制位均接高电平即可,注意加限流电阻。
如图4所示。
图4显示模块原理图
3.4键盘模块设计
因为本设计中需要的按键不多,故设计采用独立式按键,分别占用P1.4,P1.5,P1.6和P1.7口。
它们分别实现选择是正常运行还是设置模式的功能键,温度上限十位的设置键,温度上限个位的设置键以及温度上限的十分位的设置键。
键盘的防抖动可有软件来实现,每个引脚上都引入上拉电阻。
原理如图5所示。
图5键盘模块原理图
3.5状态指示与接口模块设计
当测量温度达到了上限温度时,P2.0口输出高电平,驱动报警二极管发光,指示温度已经超过上限值,当温度下降到设定值以下是,P2.0变成低电平,报警解除。
当按下打印摁键时,单片机响应外部中断0,进而要打印的数码发送至打印机的数据口,进行打印。
打印时,需要先将要打印的字符转换为其ASCII码,将此ASCII送入打印机数据口进行打印。
需要注意要将小数点也打印出来,打印完十位和个位再将小数点打印出来,再把十分位进行打印。
而扩展接口采用简单的三线式接口,一线为接收数据,一线为发送数据,还有一线为查询状态。
由P2.6控制其导通,还是高阻的状态。
原理如图6和7所示。
图6打印接口原理图
图7扩展口及工作状态原理图
3.6硬件电路总体设计
将上述功能模块合理有序连接即构成整体图,电路图参见图8。
图8硬件电路总体设计原理图
4.软件设计
4.1主程序设计
主程序流程图如下图9。
图9主程序流程图
4.2定时中断服务程序设计
定时中断服务程序流程图如下图10。
图10定时中断服务程序流程图
4.3外部中断0服务程序设计
外部中断0程序流程图如下图11。
图11外部中断0服务程序流程图
4.4设置键处理程序设计
设置键处理子程序流程图如下12。
图12设置键处理子程序流程图
5.课程设计体会
经过将近两周的单片机课程设计,终于完成了我的数字温度计的设计,虽然没有完全达到设计要求,但从心底里说,还是高兴的,毕竟这次设计把实物都做了出来,高兴之余不得不深思呀!
在本次设计的过程中,我发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我长进了很多,单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,虽然以前写过几次程序,但我觉的写好一个程序并不是一件简单的事,举个例子,以前写的那几次,数据加减时,我用的都是BCD码,这一次,我全部用的都是16进制的数直接加减,显示处理时在用除法去删分,感觉效果比较好,有好多的东西,只有我们去试着做了,才能真正的掌握,只学习理论有些东西是很难理解的,更谈不上掌握。
从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。
参考文献
1石晓晶智能仪器设计讲义,南京:
南京理工大学机械学院,2009
2石晓晶智能仪器设计实验指导书,南京:
3张迎新单片机初级教程,北京:
北京航空航天大学出版社,2006
4周杏鹏仇国富
现代检测技术,北京:
高等教育出版社,2003
5朱蕴璞孔德仁
传感器原理及应用,北京:
国防工业出版社,2005
6周严测控系统电子技术,北京:
科学出版社,2007
7赵新民智能仪器设计基础,哈尔滨:
哈尔滨工业大学出版社,2009
8张国雄测控电路,北京:
机械工业出版社,2008
9寇戈蒋立平模拟电路与数字电路,北京:
电子工业出版社,2006
附录程序清单:
Org0000H;
主程序入口地址
KS:
LJMPSTART
ORG0003H;
外部中断0服务程序入口地址
LJMPINT_0
ORG000BH;
定时器0中断服务程序入口地址
LJMPINT_T0
ORG100H
TAB1:
;
字符段码表格
DB0C0H,0F9H,0A4H,0B0H,99H
DB92H,82H,0F8H,80H,90H,88H
DB83H,0C6H,0A1H,86H,0FFH
START:
MOVSP,#60H
CLREA
MOVR0,#3EH;
运行/设置状态寄存器清零
MOV@R0,#0H
DECR0
MOV@R0,#0H
MOVR0,#20H;
20H-22H放初始温度设置上限值50.0
MOV@R,#05H
INCR0
MOV@R0,#00H
SETBP1.4;
设置P1.4—P1.7为输入端口
SETBP1.5
SETBP1.6
SETBP1.7
MOVR2,#03H;
在LED上显示888
DL0:
MOVA,#80H;
把字符“8”的段码送给累加器A
MOVSBUF,A;
累加器A循环三次把段码发送到串口,显示
DL1:
JNBTI,DL1
CLRTI
DJNZR2,DLO
LCALLDELAY;
延时
关断所有LED
把关断的段码送给累加器A
累加器A循环三次把段码发送到串口,关断LED
DJNZR2,DLO;
以上完成了自检
MOVTHOD,#21H;
设置定时器工作方式
MOVTL0,#77H;
设置定时器初值
MOVTHO,#OECH
SETBTRO;
开定时器中断
SETBETO
SETBIT;
开外部中断0
SETBEX0
SETBEA;
开总中断
STA0:
LJMPSTA0;
等待中断
;
******************************************************************************
STA2:
LCALLCOMP
LCALLCL0
LCALLZH0
STA3:
LCALLSET0
JNBF0,STA4
LCALLCHENG
STA4:
RET
CHENG:
JBP1.7,CHE1
LCALLDELAY2
MOVRO,#22H
CJNE@R0,#09H,CHE4
MOV@R0,#0H
AJMPCHE5
CHE1:
JBP1.6,CH2
JBP1.6,CHE2
MOVR0,#21H
CJNE@R0,#09,CHE4
MOV@RO,#OH
AJMPCHE5
CHE2:
JBP1.5,CHE5
JBP1.5,CHE5
MOVR0,#20H
CJNE@R0,#09H,CHE4
CHE4:
INCRO
CHE5:
MOVR0,#3DH
MOV@R0,#55H
MOVR0,#3EH
MOVR0,#0H
RET
SET0:
JNBP1.4,SET1
LCALLDELAY0
JNBP1.4,SET1
SETBF0
SET1:
CLRF0
MOVR0,#3DH
MOV@R0,#0H
MOVR0,#3EH
MOV@R0,#55H
INT_T0:
CLREA;
关中断
CLRTR0
MOVTL0,#77H;
重置定时器初值
MOVTH0,#0E0H
MOVR0,#3DH
CJNE@R0,55H,INT_T01
LCALLDISP2
MOVR6,#20H
LCALLDELAY
LCALLSTA3
LJMPINT_T04
INT_T01:
MOVR0,#3EH
LCALLDISP1
MOVR6,#40H
LJMPINT_T03
INT_T02:
LCALLDISP0
CJNER2,#3CH,INT_T04
MOVR0,#3CH
MOV@R0,#55H
INT_T03:
LCALLSTA2
INT_T04:
SETBTR0
SETBET0
SETBEA
RETI
CL0:
MOVR0,#40H
CLRA
CLRC
MOV@R0,A
MOVR0,#40H
CLRP3.7
CLRP3.6
MOVDPTR,#FF7CH
MOVA,#0H
MOVX@DPTR,A
HD:
JBP1.0,HD
MOVDPTR,#0FF7DH
MOVXA,@DPTR
MOVR7,A
MOVDPTR,#0FF7FH
MOVXA,@DPTR
ANLA,#0F0H
MOVR6,A
SWAPA
MOVA,R7
SWAPA
MOVR7,A
ANLA,#F0H
ANLA,R6;
低八位
MOVR6,A
MOVA,R7
ANLA,#0FH;
高八位(最高四位为0)
MOVA,R6
MOVR0,40H
MOVA,R7
LCALLBIJIAO
CL3:
JBF1CL4
CLRP2.0
AJMPCL2
CL4:
SETBP2.0
AJMPCL2
CL2:
RET
BIJIAO:
CLRC
CLRF1
MOVA,5BH
SUBBA,41H
JCBIG1
CLRC
MOVA,5AH
SUBBA,40H
BIG1:
SETF1
COMP:
MOVR0,#20H
MOVA,@R0
MOVB,#64H
MULAB
MOVRO,#5AH
MOV@R0,A
INCR0
MOV@R0,B
MOVA,21H
MOVB,#0AH
ADDA,5AH
MOV5AH,A
MOVA,#0H
ADDCA,5BH
MOV5BH,A
MOVA,22H
ZH0:
CLRA
MOVR7,40H
MOVR6,41H
MOVR3,A
MOVR4,A
MOVR5,A
MOVR2,#10H
HB3:
MOVA,R7
RLCA
MOVR7,A
MOVA,R6
MOVR6,A
MOVA,R5
ADDCA,R5
DAA
MOVA,R4
ADDCA,R4
MOVA,R3
ADDCA,R3
DJNZR2,HB3
MOVA,R5
ANLA,#0FH
MOV6AH,A
ANLA,#F0H
MOV6BH,A
MOVA,R4
MOV6CH,A
RET
DISP1:
SETBRS0
PUSHACC
PUSHDPH
PUSHDPL
MOVR2,#03H
MOVR0,#6AH;
(若显示设置值则上一条语句改为MOVR0,#22H)
MOVA,@R0
MOVDPTR,#TAB1
MOVCA,@A+DPTR
MOVSBUF,A
JNBTI,DLI
CLRTI
(若显示设置值则此处改为DECR0)
DJNZR2,DLO
CLRRS0
POPDPL
POPDPH
POPACC
INT_0:
CLREX0
MOVDPTR,#7FFFH
LOOP:
MOVX A,@DPTR
JBACC.7,LOOP
MOVR1,#60H
MOVA,@R1
ADDA,#30H
MOVX@DPTR,A
INCR1
MOVA,#27H
MOVX@DPTR,A
ADDA,#30H
SETBEX0
RETI
DISP2:
MOVR0,#22H;
DECRO
DELAY0:
MOVR7,#80H
DJNZR7,$
DELAY2:
MOVR6,#50H
DELAY20:
DJNZR6,DELAY20
DELAY:
PUSH06H
DELAY6:
DELAY5:
DELAY4:
DJNZR6,DELAY4
POP06H
DJNZR6,DELAY5
P0P06H
DJNZR6,DELAY6
DJNZR6,DELAY
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 温度计 设计