单片机课程设计之多点温度测量系统的设计.doc

上传人:豆**** 文档编号:17508837 上传时间:2022-05-24 格式:DOC 页数:11 大小:226KB
返回 下载 相关 举报
单片机课程设计之多点温度测量系统的设计.doc_第1页
第1页 / 共11页
单片机课程设计之多点温度测量系统的设计.doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《单片机课程设计之多点温度测量系统的设计.doc》由会员分享,可在线阅读,更多相关《单片机课程设计之多点温度测量系统的设计.doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流单片机课程设计之多点温度测量系统的设计.精品文档.单片机应用系统设计课 题: 多点温度测量系统的设计 姓 名: 班 级: 学 号: 指导老师: 日 期: 一、 设计的背景和意义 温度测控技术在各个领域应用越来越广泛,同时温度测量也被人们所关注,人们对测试温度的仪器要求越来越高,要为人类工、科研、生活提供更好的设施,那就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。二、 系统总体方案设计 因为要用到温度传感器,所以在单片机电路设计中,大多都是使用传感,我们使用的是DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,

2、可以满足设计的要求。 1、 原理:(1)将 AD590 作为室温度传感器,当温度变化时,AD590 会产生电流的变化,经 OPA1 将电流转换为电压,由 OPA2 作为零为调整,最后由 OPA3 反相放大 10 倍。(2)ADCO804 输出最大转换值=FFH(255)。OPA3 为放大 10 倍时。则本电路最大测量温度为;最大显示温度为 5.1/10V=0.51V,即51C(10 为放大倍数)。255X=51,知 X=0.2,即先乘 2 再除 10。FF2552552510,R4=0. 5 R3=10。即 D4=0,D3=5,D2=1,D1=0,本电路显示器只取 D3、D2 两位数。(3)按

3、下 P2.1 按钮,放开后立即进入温度设定模式,显示设定最高温度为 34C(建立在 TABLE 内)每按一次设定温度将减少 1C,直至最低温度 20C,再按一次回到 34C。(4)当室温高于设定温度,压缩机(P3.0)运转,使室温降低,当室温低于设定值时,压缩机停止运行。(5)当进入设定温度模式,如末按下设定按钮(P2.1)经数秒后自动解除设定模式,回到室温显示模式。(6)本程序以计时中断,每 50ms 中断一次,比较室温一次,而令压缩机运转和停止。 总体设计框图:电路原理图:三、 硬件设计 1.复位操作复位是单片机的初始化操作,其主要功能是把 PC 初始化为0000H,使单片机从 0000H

4、 单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或者操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键以重新启动。(1)复位操作还对单片机的个别引脚信号有影响,例如把 ALE和 PSEN 非信号变为无效状态,即 ALE=0,PSEN=1。(2)复位信号及其产生RST 引脚是复位信号的输入端,复位信号是高电平有效,其有效时间持续 24 个振荡脉冲周期(即 2 个机器周期)以上,若使用频率为6MHz 的晶振,则复位信号持续时间应超过 4us 才能完成复位操作。产生复位信号的电路逻辑如图(3)复位方式复位操作有上电自动复位和按键手动复位两种方式。上电自动复位是通过外部复位电路

5、的电容充电来实现的,在单片机控制的数字显示温度计电路设计中的单片机复位就是这种方式,其中电容 C 为22uF,电阻 R 为 1k 欧姆。 这样,只要电源 Vcc(+5V)的上升时间不超过 1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。按键手动复位有电平方式和脉冲方式两种。其中按键电平复位是通过使复位端经电阻与 Vcc 电源接通而实现的而按键复位脉冲复位则是利用 RC 微分电路产生的正脉冲来实现的。显示温度值的 LED 显示器:LED 显示器是单片机应用系统中常用的廉价输出设备。它是由若干个发光二极管组成的,当发光二极管导通时,相应一个笔画划发光,控制某段发光二极管导通,就

6、能显示出某个数码或字符,常用八段 LED显示器有两种结构,如图:在静态显示系统中,每位显示器都应有各自的锁存器、译码器(若采用软件译码,译码器可省去)与驱动器,用以锁存各自待显示数字的 BCD 码或字段码。因此,静态显示系统在每一次显示输出后能够保持显示不变,仅在待显示数字需要改变时,才更新其数字显示锁存器中的内容。这种显示占用 CPU 的时间少,显示稳定可靠。缺点是,当显示的位数较多时,占用的 I/O 口较多。在动态显示的系统中,CPU 需定时地对每位 LED 显示器进行扫描,每位 LED 显示器分时轮流工作,每次只能使一位 LED 显示,但由于人的视觉暂留现象,仍感觉所有的 LED 显示器

7、都在同时显示。这种显示的优点是使用硬件少,占用 I/O 口少。缺点是占用 CPU 时间长,只要不执行显示程序,就立刻停止显示。但随着大规模集成电路的发展,目前已有能自动对显示器进行扫描的专用显示芯片,使电路既简单又占用 CPU 时间。在我们所设计的温度计中数码管显示就是利用的动态显示。 温度传感器 DS1820DS1820 内部结构框图如图 :DS1820 测温原理如图:图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器 1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器 2的脉冲输入。计数器 1 和温度寄存器被预置在55所对应的一个基数值。计数

8、器 1 温度系数晶振产生的脉冲信号进行减法计数,当计数器 1 的预置值减到 0 时,温度寄存器的值将加 1 ,计数器 1的预置将重新被装入,计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图 2 中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正。四、 系统软件设计1 温度控制流程图2 电路程序;6M 晶体 89c51tempheadequ40h display_data1_reg data30h display_data2_reg data31h display_dat

9、a3_reg data32h display_long_regdata33h led1_bitbitp3.0 led2_bitbitp3.1 led3_bitbitp3.2 time1sokbit01H TEMPONE0KBIT02HWiredogcs bit p3.7;TIAOSHI_LONG DATA21H;TIAOSHI_DATA DATA22Htempldata34h temphdata35h temphcdata36h templcdata37h tempdinbitp2.0ORG0000HLJMPSTART ORG000BH AJMPLED ORG0030Hstart:MOVsp,

10、#60Hmovtmod,#21Hmovpcon,#00Hmovscon,#01010000b movth1,#243movtl1,#243SETBET0movdisplay_long_reg,#00hSETBEAMAIN:CLRTEMPONE0K MAIN1:LCALL DLY_1SJNBTEMPONE0K,MAIN2clreaLCALL READTEMP1setbeaLCALL CONVTEMP MAIN2:clrea LCALL READTEMPsetbeasetbTEMPONE0K AJMPMAIN1;DS1820 复位INITDS1820:SETBTEMPDINNOPNOPCLRTEM

11、PDIN MOVR6,#0A0H DJNZR6,$MOVR6,#0A0H DJNZR6,$SETBTEMPDINMOVR6,#32H DJNZR6,$MOVR6,#3CHLOOP1820:MOVC,TEMPDIN JC INITDS1820OUT DJNZR6,LOOP1820INITDS1820OUT:SETBTEMPDINRET;读 DS1820 的数据;入口条件:数据存放在 ACC 中READDS1820:MOVR7,#08HSETBTEMPDINNOP NOPREADDS1820 LOOP:CLRTEMPDINNOP NOP NOPSETBTEMPDINMOVR6,#07H DJNZR

12、6,$MOVC,TEMPDINMOVR6,#3CH DJNZR6,$RRCASETBTEMPDINDJNZR7,READDS1820LOOP MOVR6,#3CHDJNZR6,$ RET;写 DS1820 的数据;出口条件:数据存放在 ACC 中 WRITEDS1820:MOVR7,#08HSETBTEMPDINNOP NOPRRCAMOVTEMPDIN,C MOVR6,#34H DJNZR6,$SETBTEMPDINDJNZR7,WRITEDS1820LOP RET;启动温度转换READTEMP:LCALL INITDS1820MOVA,#0CCHLCALL WRITEDS1820MOVR6

13、,#34H DJNZR6,$MOVA,#44HLCALL WRITEDS1820MOVR6,#34H DJNZR6,$RET;读取转换后的温度值READTEMP1:LCALL INITDS1820MOVA,#0CCH LCALL WRITEDS1820MOVR6,#34HDJNZR6,$MOVA,#0BEH LCALL WRITEDS1820MOVR6,#34H DJNZR6,$MOVR5,#09HMOVR0,#TEMPHEADINCR0READTEMP21:LCALL CRC8CAL DJNZR5,READTEMP2MOVA,BJNZREADTEMPOUT MOVR1,#TEMPHEAD M

14、OVA,R1MOVTEMPL,AINCR1MOVA,R1MOVTEMPH,A READTEMPOUT:RET;处理温度 BCD 码程序 CONVTEMP:MOVA,TEMPHANLA,#80HJZ TEMPC1;判断是否为负数CLRCMOVA,TEMPL CPLAADDA,#01H MOVTEMPL,A MOVA,TEMPH CPLAADDCA,#00HMOVTEMPH,AMOVTEMPHC,#0BH SJMPTEMPC11TEMPC1:MOVTEMPHC,#0AHTEMPC11:MOVA,TEMPHC SWAPAMOVTEMPHC,AMOVA,TEMPLMOVTEMPLC,AMOVA,TEM

15、PL ANLA,#0F0H SWAPAMOVTEMPL,AMOVA,TEMPH ANLA,#0FH SWAPAORLA,TEMPLLCALL HEX2BCD1MOVTEMPL,A ANLA,#0F0H SWAPAORLA,TEMPHCMOVTEMPHC,A MOVA,TEMPL ANLA,#0FH SWAPAORLA,TEMPLC MOVTEMPLC,A MOVA,R7JZ TEMPC12ANLA,#0FH SWAPAMOVR7,AMOVA,TEMPHC ANLA,#0FH ORLA,R7MOVTEMPHC,ATEMPC12:RETTEMPDOTTAB:DB 00H,01H,01H,02H,0

16、3H,03H,04H,04H,05H,06H DB 06H,07H,08H,08H,09H,09HCRC8LOOP1:XRLA,BRRCA MOVA,BJNCCRC8LOOP2XRLA,#18H CRC8LOOP2:RRCAMOVB,A POPACC RR APUSHACCDJNZR7,CRC8LOOP1POPACC RET;单字节 16 进制转换 BCD;入口条件:数据存放在 ACC 中;出口条件:数据存放在 ACC 中HEX2BCD1:MOVB,#64HDIVABMOVR7,A MOVA,#0AH XCHA,BDIVABSWAPA ORLA,B RET;1S 延时程序DLY_1S:PUSH

17、PSWSETBRS0MOVR7,#10DLY_1S_1:MOVR6,#200DJNZR5,$DJNZR6,DLY_1S_2DJNZR7,DLY_1S_1POPPSW RET;数码管显示程序;LED;入口条件:输入数据放入 ACC;输出:转换后的数据保存显示器缓冲区中中;影响数据:ACCLED:pushaccpushdphpushdplmovth0,#0fch movtl0,#66hmovdptr,#led_tab_1mova,display_long_reg incdisplay_long_regrl ajmpa+dptr led_tab_1:ajmpled1ajmpled2ajmpled3l

18、ed1:setb led1_bit setbled2_bit setbled3_bitmova,TEMPLCanla,#0fhmovdptr,#led_tab_2movca,a+dptrajmpled_exitled2:setbled1_bit setbled2_bit setbled3_bitmova,TEMPLCanla,#0f0h swap amovdptr,#led_tab_2movca,a+dptr clracc.7movp1,aclrled2_bit ajmpled_exitled3:setbled1_bitsetbled2_bit setbled3_bit mova,TEMPHC

19、 anla,#0fhmovdptr,#led_tab_2movca,a+dptr movp1,aclrled1_bitmovdisplay_long_reg,#0ajmpled_exitled_tab_2:DB0C0H,0F9H,0A4H,0B0H,99H DB92H, 82H,0F8H, 80H,90HDB88H,83H,0C6H,0A1H,86H,8EH,0ffHled_exit:popdpl popdphpopaccreti五 设计总结 这个设计是参考了很多的材料才完成的,虽然设计的不是很完美,但是能够完成老师的要求,在做这个课程设计的时候,我的朋友帮我找了不少资料,在此,我要特别感谢他。 在做这个课程设计师遇到了许多的困难,但是因为有朋友的帮助,我还是克服了它们!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁