数字仪表综合课程设计报告数字式计时温度计_第1页
数字仪表综合课程设计报告数字式计时温度计_第2页
数字仪表综合课程设计报告数字式计时温度计_第3页
数字仪表综合课程设计报告数字式计时温度计_第4页
数字仪表综合课程设计报告数字式计时温度计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计:数字式计时温度计 江西理工大学应用科学学院 数字仪表综合课程设计报告 设计题目: 数字式计时温度计 姓 名: 刘文志 学 号: 14 班 级: 测控071班 指导老师: 完成时间: 2010年12月17号目录目录- 1 -引言- 2 -第一章 设计目的- 3 -第二章 硬件设计- 4 -2.1 单片机的选择- 5 -2.1.1 管脚- 5 -2.1.2 at89s52主要性能- 8 -2.1.3 at89s52功能特性描述- 9 -2.2 时钟电路设计- 10 -2.3 温度测量电路设计- 10 -2.3.1 ds18b20的内部结构- 11 -2.4 44矩阵键盘- 11 -2.5

2、 显示电路设计- 12 -2.6 继电器控制电路- 12 -2.7 电路的原理图- 13 -第三章 软件设计- 14 -3.1 ds1302的汇编源程序- 14 -3.2 ds18b20的汇编源程序- 18 -致 谢- 22 -参考文献- 23 -引言 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。温度测量的原理主要是:将随温度变化而变化的物理参数,如膨胀、电阻、电容、

3、热电动势、磁性、频率、光学特性等通过温度传感器转变成电的或其他信号,传给处理电路。,最后转换成温度数值显示出来。数字式温度控制仪以热敏电阻作感温元件,采用电压频率变换电路克服热敏电阻的非线性缺点;通过调节电路中两只微调电容可替换不同参数的热敏电阻;利用自平衡电桥消除了远距离测温时连接热敏电阻的传输线的影响;采用进位制计数显示电路使结构简单可靠因此,数字式温度计是一种具有读数直观、反映被测温度时间短,测温范围宽和精度高等特点,并能进行远距离测温和控温的新型的数字式温度控制仪。在一些温度控制系统电路中,广泛采用的是通过热电偶、热电阻或pn结测温电路经过相应的信号调理电路,转换成ad转换器能接收的模

4、拟量,再经过采样保持电路进行ad转换,最终送入单片机及其相应的外围电路,完成监控。但是由于传统的信号调理电路实现复杂、易受干扰、不易控制且精度不高。本次设计采用单片机结合ds18b20温度传感器来设计,因此,本系统用一种新型的可编程温度传感器(ds18b20),不需复杂的信号调理电路和ad转换电路能直接与单片机完成数据采集和处理,实现方便、精度高,可根据不同需要用于各种场合。第一章 设计目的1. 熟悉单片机at89s52芯片的应用。2. 熟悉温度传感器芯片ds18b20的应用。3. 熟悉掌握电路知识及protel软件的应用。4. 学习如何设计一个数字式计时温度计。5. 通过课程设计使学生能熟练

5、掌握数据的查询(图书、网络),以及智能仪表原理与设计课程所获得的知识,在课程设计及生活中应用,使理论知识和实践相结合。第二章 硬件设计本系统设计采用at89s52单片机作为系统的控制核心。时钟功能采用单片机集成的时钟芯片ds1302来实现;采用集成的温度芯片ds18b20测量环境温度;采用led显示测量数据及其他信息;采用44手动按键实现功能切换与时间设定;采用蜂鸣器实现报警功能。整个系统采用单片机进行控制和数据处理,不仅系统的灵活性大大增加了,而且可方便的实现其他功能的扩展。总体功能框图如图1-1所示。电源4*4手动按键温度测量ds18b20at89s52数码管显示电路继电器控制模块时钟芯片

6、ds1320图1-1 总体功能框图本系统的执行方法是循环查询执行的,键盘扫描也是用循环查询的办法,由于本系统对实时性要求不是很高,所以没有用到中断方式来处理。本系统设计程序结构图2.1 单片机的选择 单片机即单片微型计算机,是集cpu、ram、rom、定时、计数和多种接口于一体的微控制器,它体积小,成本低,功能强,广泛应用于智能产品和工业自动化领域。本系统采用的是at89s52芯片。图1-2是它的引脚图。图1-2 at89s52引脚电路图2.1.1 管脚表1-1符号管脚类型描述dip40tqfp44plcc44p0.0p0.7393237304336i/op0 口:p0口是一个8位漏极开路的双

7、向i/o口。作为输出口,每位能驱动8个ttl逻辑电平。对p0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,p0口也被作为低8位地址/数据复用。在这种模式下,p0具有内部上拉电阻。在flash编程时,p0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。p1.0p1.7184044,1329i/o带内部上拉p1 口:p1 口是一个具有内部上拉电阻的8 位双向i/o 口,p1 输出缓冲器能驱动4 个ttl 逻辑电平。对p1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流

8、(iil)。此外,p1.0和p1.2分别作定时器/计数器2的外部计数输入(p1.0/t2)和时器/计数器2的触发输入(p1.1/t2ex),在flash编程和校验时,p1口接收低8位地址字节。p1.01402i/ot2:定时器/计数器2的外部计数输入或时钟输出。p1.12413it2ex:定时器/计数器2捕获/重装触发和方向控制。p1.23424ieci:外部时钟输入,pca的外部时钟输入。p1.34435i/ocex0:pca模块0的捕获/比较外部i/o口。每个捕获/比较模块连接一个p1口用作外部i/o口该线不被pca占用时仍可作标准i/o口。p1.45446i/o/ss:spi从机选择输入

9、。cex1:pca模块1的捕获/比较外部i/o口。p1.5617i/omosi:spi主机输出从机输入端。cex2:pca模块2的捕获/比较外部i/o口。p1.6728i/omoso:spi主机输入从机输出端。cex3:pca模块3的捕获/比较外部i/o口。p1.7839i/osck:spi主机输出从机输入端。cex4:pca模块4的捕获/比较外部i/o口。p2.0p2.7212818252431i/o带内部上拉 p2口:p2口是一个带内部上拉的8位双向口。写入1时p2口被内部上拉拉高,可用作输入。用作输出时,由于内部上拉的存在,p2口被外部器件拉低时将吸收电流。在取指外部程序存储器或访问16

10、位地址(movxdptr)的外部数据存储器时,p2口发送高位地址。应用中p2口利用强内部上拉来发送1。在外部主机模式编程和校验中,p2口可接收一些控制信号和部分高地址位。p3.0p3.710175,71311,1319i/o带内部上拉p3口:p3口是一个带内部上拉的8位双向口。写入1时p3口被内部上拉拉高,可用作输入。用作输出时,由于内部上拉的存在,p3口被外部器件拉低时将吸收电流。在外部主机模式编程和校验中,p3口可接收一些控制信号和部分高地址位。p3.010511irxd:串口输入。p3.111713otxd:串口输出。p3.212814iint0:外部中断0输入。p3.313915iin

11、t1:外部中断1输入。p3.4141016it0:定时器/计数器0的外部计数输入。p3.5151117it1:定时器/计数器1的外部计数输入。p3.6161218owr:外部数据存储器写选通信号。p3.7171319ord:外部数据存储器读选通信号。psen292632i/o程序选通使能:psen是外部程序存储器的读选通信号。psen在执行内部程序存储器的程序时无效(高电平),执行外部程序存储器时每个机器周期内两次有效,但当访问外部数据存储器时两个有效psen脉冲将被跳过。当rst输入引脚的高电平时间大于10个机器周期时,向psen脚强制输入一个高电平到低电平的跳变将使器件进入外部之际模式编程

12、。rst9410i复位:振荡器工作时,该引脚上2个机器周期的高电平逻辑状态将使器件复位。当rst输入引脚为高电平时,如果psen脚输入一个高电平到低电平你的跳变,器件将进入外部主机模式。否则进入正常工作模式。ea312935i外部访问使能:若器件要对外部程序存储器取指,ea就必须与vss相连。器件执行内部程序存储器的程序时ea就必须与vdd相连。然而,4个安全锁定电平可将ea禁用,使器件只能执行内部程序存储器的程序。ea脚可承受12v的高压。ale/prog312935i地址锁存使能:ale是一个输出信号,在访问外部存储器时将地址低字节锁存。该引脚也用作flash的编程脉冲输入(prog)。通

13、常,ale在1/6的振荡频率时输出,可用作外部定时或外部时钟。每次访问外部数据存储器时都有一个ale脉冲被跳过。但是,只要ao被置1,ale就被禁用。nc-6,17,28,391,12,23,34i/o不连xtal1191521i晶振1:反相振荡放大器的输入和内部时钟发生电路的输入。xtal2181420o晶振2:反相振荡放大器的输出。vcc403844i电源gnd201622i地2.1.2 at89s52主要性能(1)与mcs-51单片机产品兼容(2)8k字节在系统可编程flash存储器(3)1000次擦写周期(4)全静态操作:0hz33hz(5)三级加密程序存储器(6)32个可编程i/o口

14、线(7)三个16位定时器/计数器(8)八个中断源(9)全双工uart串行通道(10)低功耗空闲和掉电模式(11)掉电后中断可唤醒(12)看门狗定时器(13)双数据指针(14)掉电标识符2.1.3 at89s52功能特性描述at89s52是一种低功耗、高性能cmos8位微控制器,具有8k 在系统可编程flash 存储器。使用atmel公司高密度非易失性存储器技术制造,与工业80c51 产品指令和引脚完全兼容。片上flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位cpu 和在系统可编程flash,使得at89s52为众多嵌入式控制应用系统提供高灵活、超有效的解决方

15、案。at89s52具有以下标准功能: 8k字节flash,256字节ram,32 位i/o 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,at89s52 可降至0hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,cpu停止工作,允许ram、定时器/计数器、串口、中断继续工作。掉电保护方式下,ram内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。(1)中断at89s52 有6个中断源:两个外部中断(int0 和int1),三个定时中断(定时器0、1、2)和一个串行中断。每个中断

16、源都可以通过置位或清除特殊寄存器ie 中的相关中断允许控制位分别使得中断源有效或无效。ie还包括一个中断允许总控制位ea,它能一次禁止所有中断。ie.6位是不可用的。对于at89s52,ie.5位也是不能用的。用户软件不应给这些位写1。它们为at89系列新产品预留。定时器2可以被寄存器t2con中的tf2和exf2的或逻辑触发。程序进入中断服务后,这些标志位都可以由硬件清0。实际上,中断服务程序必须判定是否是tf2 或exf2激活中断,标志位也必须由软件清0。定时器0和定时器1标志位tf0 和tf1在计数溢出的那个周期的s5p2被置位。它们的值一直到下一个周期被电路捕捉下来。然而,定时器2 的

17、标志位tf2 在计数溢出的那个周期的s2p2被置位,在同一个周期被电路捕捉下来。(2)空闲模式在空闲工作模式下,cpu 处于睡眠状态,而所有片上外部设备保持激活状态。这种状态可以通过软件产生。在这种状态下,片上ram和特殊功能寄存器的内容保持不变。空闲模式可以被任一个中断或硬件复位终止。由硬件复位终止空闲模式只需两个机器周期有效复位信号,在这种情况下,片上硬件禁止访问内部ram,而可以访问端口引脚。空闲模式被硬件复位终止后,为了防止预想不到的写端口,激活空闲模式的那一条指令的下一条指令不应该是写端口或外部存储器。(3)掉电模式在掉电模式下,晶振停止工作,激活掉电模式的指令是最后一条执行指令。片

18、上ram和特殊功能寄存器保持原值,直到掉电模式终止。掉电模式可以通过硬件复位和外部中断退出。复位重新定义了sfr的值,但不改变片上ram的值。在vcc未恢复到正常工作电压时,硬件复位不能无效,并且应保持足够长的时间以便使晶振重新工作和初始化。2.2 时钟电路设计 ds1302是美国dallas公司推出的具有涓流充电功能的时钟芯片。它内含一个实时时钟/日历和31字节静态ram,可通过简单的串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息,每月的天数和闰年的天数可自动调整,时钟操作可通过am/pm指示决定采用24或12小时格式。ds1302与单片机之间能简单地采用

19、同步串行的方式进行通信,需用到三个口线:res(复位)、i/o(数据线)、sclk(串行时钟)。时钟ram的读/写数据以一个字节或31个字节的字符组方式通信。ds1302工作时功耗很低,保持数据和时钟信息时功率小于1mw。 ds1302采用双电源引脚用于主电源和备份电源供电。当系统掉电时,可由备用电源单独对时钟电路供电。该芯片具有备用电池充电和切换管理功能。ds1302电路原理图如图2-2所示。图2-2 ds1302电路原理图2.3 温度测量电路设计 ds18b20是美国dallas公司生产的单线数字温度传感器芯片,具有结构简单、体积小、功耗低、抗干扰能力强、使用简单等优点。它的rom中存有其

20、芯片的唯一标识码,即任意两个ds18b20的标识码是不同的,特别适合与微处理芯片构成多点温度测控系统。她支持“一线总线”接口,使用户可轻松地组建传感器网络。其内部采用在板温度测量专利技术,测量范围为-55+125,精度为0.5。ds18b20内部结构主要有四部分组成:64位光刻rom、温度传感器、非挥发的温度报警触发器th和tl、配置寄存器。ds18b20的引脚排列和电路原理图如图2-3所示。图2-3 ds18b20电路原理图 2.3.1 ds18b20的内部结构 ds18b20内部功能模块如图1-3所示, 图1-32.4 44矩阵键盘如图所示,本系统采用44矩阵键盘,16个按键分为输入数字键

21、:0、1、2、3、4、5、6、7、8、9;功能键cel、enter。矩阵键盘。 图242.5 显示电路设计图252.6 继电器控制电路 图2-6是一个蜂鸣器和一个继电器的图,只用到了继电器的图,继电器和单片机的p37口进行通讯。图2-6 2.7 电路的原理图图2-7 电路原理图第三章 软件设计3.1 ds1302的汇编源程序t_rst bit rst;实时时钟复位线引线t_clkbitp3.4 ;实时时钟时钟线引脚t_iobitp3.5 ;实时时钟数据线引脚secondequ30hminuteequ31hhourequ32hdayequ33hmonthequ34hweekequ35hyearl

22、equ36h org0000h ljmpstart org0060hstart: clr t_rst clr t_clk movsp,#60h ;修改堆栈 movsecond,#00h ;初始时间设为12:00:00 movminute,#00h movhour,#12h movday,#01h ;初始日期设为08年1月1日第一周 movmonth,#01h movweek,#01h movyearl,#08h lcallsetds1302 lcallget1302 lcalldisplaymain:movr3,#25 movtmod,#01h movth0,#70h;置定时器初值(定时40m

23、s) movtl0,#00h setbtr0;启动定时器0lp1: jbctf0,lp2;查询计数溢出 sjmplp1;未到40 ms继续计数lp2: movth0,#0b8h;重新置定时器初值 movtl0,#00h lcalldisplay ;显示 djnzr3,lp1 ;未到1 s继续循环 lcallget1302 ;每过1s从ds1302读取一次时间 mov r3,#25 sjmp lp1 ;字符显示码表dig_code: db0c0h,0f9h,0a4h,0b0h,099h,092h,082h,0f8h,080h,090h;数码显示子程序display: mov dptr,#dig_

24、code ;显示秒 mov a,second anl a,#0fh movc a,a+dptr mov p2,a mov p1,#11011111b lcall dis_delay mov a,second swap a anl a,#07h movc a,a+dptr mov p2,a mov p1,#11101111b lcall dis_delay;显示分 mov a,minute anl a,#0fh movc a,a+dptr mov p2,a mov p1,#11110111b lcall dis_delay mov a,minute swap a anl a,#07h movc

25、a,a+dptr mov p2,a mov p1,#11111011b lcall dis_delay;显示小时 mov a,hour anl a,#0fh movc a,a+dptr mov p2,a mov p1,#11111101b lcall dis_delay mov a,hour swap a anl a,#03h movc a,a+dptr mov p2,a mov p1,#11111110b lcall dis_delay ret;显示延时5ms子程序dis_delay: pushpsw movr7,#10d1: movr6,#248d2: djnzr6,$ djnzr7,d1

26、 poppsw ret;设置ds1302初始时间,并启动计时setds1302: clr t_rst nop clr t_clk nop setb t_rst nop mov b,#8eh ;写控制命令字 lcall inputbyte mov b,#00h ;写保护关闭 lcall inputbyte setb t_clk nop clr t_rst mov r0,#second ;内存中的时间首地址 mov r1,#80h ;ds1302中的时间首地址 mov r7,#7 ;字节数setloop: clr t_rst nop clr t_clk nop setb t_rst nop mov

27、 b,r1 ;写命令字 lcall inputbyte mov a,r0 ;设置时间 mov b,a lcall inputbyte inc r0 inc r1 inc r1 setb t_clk nop clr t_rst nop djnz r7,setloop clr t_rst nop clr t_clk nop setb t_rst nop mov b,#8eh lcall inputbyte mov b,#80h ;开写保护 lcall inputbyte setb t_clk nop clr t_rst nop ret;从ds1302读取时间get1302: mov r0,#sec

28、ond mov r1,#81h ;ds1302中读时间的首地址 mov r7,#7getloop: clr t_rst nop clr t_clk nop setb t_rst nop mov b,r1 lcall inputbyte ;写命令字 lcall outputbyte ;读时间 mov r0,a ;将从ds1302中读取的时间从内存中保存 inc r0 ;修改地址指针 inc r1 inc r1 setb t_clk nop clr t_rst nop djnz r7,getloop ret;向ds1302写一个字节inputbyte: mov r4,#8inputloop: mo

29、v a,b rrc a mov b,a mov t_io,c setb t_clk nop ;nop ;nop clr t_clk djnz r4,inputloop ret;从ds1302读一个字节outputbyte: clr a clr c mov r4,#8outputloop: nop nop mov c,t_io rrc a setb t_clk nop nop nop clr t_clk djnz r4,outputloop ret end3.2 ds18b20的汇编源程序flag1;标志位,为“1”是表示检测到ds18b20dq:ds18b20的数据总线接脚可以将检测到的温度直

30、接显示到at89s52开发实验板的两个数码管上ds18b20初始化程序init_1820: setb dq nop clr dq ;主机发出延时复位低脉冲 mov r1,#3 mov r0,#06bhtsr1: djnz r0,tsr1 ;延时 djnz r1,tsr1 setb dq nop nop nop mov r0,#25htsr2: jnb dq,tsr3 ;等待ds18b20回应 djnz ro,tsr2 ljmp tsr4 ;延时tsr3: setb flag1 ;置标志位,表示ds18b20存在 ljmp tsr5tsr4: clr flag1 ;清标志位,表示ds18b20不

31、存在 ljmp tsr7 tsr5: mov r0,#06bhtsr6: djnz r0,#tsr6 ; 延时tsr7: setb dq retds18b20读出转换后的温度值get_temper: setb dq ;定时入口 lcall init_1820 jb flag1,tss2 ret ;若ds18b20不存在则返回tss2: mov a,#0cch ;跳过rom匹配 lcall write_1820 mov a,#44h ;发出温度转换命令 lcall write_1820 lcall display lcall init_1820 mov a,#0cch ;跳过rom匹配 lcall write_1820 mov a,#0beh ;发出读温度命令 lcall write_1820 lcall red_1820 ret 读ds18b20的程序,从ds18b20中读出两个字节的温度数据read_1820: mov r4,#2 ;将温度高位和低位从ds18b20中读出 mov r1,#2bh ;低位存入2bh(temper_l),高位存入2ah(temper_h)re00: mov r2,#8re01: clr c setb dq nop nop clr d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论