数字温度计-单片机课设(真实的汇编程序和proteus仿真)_第1页
数字温度计-单片机课设(真实的汇编程序和proteus仿真)_第2页
数字温度计-单片机课设(真实的汇编程序和proteus仿真)_第3页
数字温度计-单片机课设(真实的汇编程序和proteus仿真)_第4页
数字温度计-单片机课设(真实的汇编程序和proteus仿真)_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

微机原理课程设计报告温度计姓名:WW学号:班级:电气1005学院:电气工程学院合作者:WY上课教师:杨少兵指导老师:王健强时间:2013年3月20日微机原理课程设计成绩评定表姓名学号10291150课程设计题目:温度计课程设计答辩或提问记录:成绩评定依据:课程设计预习报告及方案设计情况(30%):课程设计考勤情况(15%):课程设计调试情况(30%):课程设计总结报告与答辩情况(25%):最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字:2013年3月20日

微机原理课程设计任务书学生姓名:指导教师:王健强一、课程设计题目:数字温度计选用温度传感器AD590实现温度采集、摄氏温度显示,温度精度达到0.1度,测量范围零下10度到零上100度。

二、课程设计要求1.根据具体设计课题的技术指标和给定条件,独立进行方案论证和电路设计,要求概念清楚、方案合理、方法正确、步骤完整;2.查阅有关参考资料和手册,并能正确选择有关元器件和参数,对设计方案进行仿真;3.完成预习报告,报告中要有设计方案,设计电路图,还要有仿真结果;4.进实验室进行编程和电路调试,边调试边修正方案;5.撰写课程设计报告——最终的电路图、调试过程中遇到的问题和解决问题的方法。三、进度安排1.时间安排序号内容学时安排(天)1方案论证和系统设计12完成电路仿真,写预习报告13电路调试24写设计总结报告与答辩1合计5设计调试地点:电气楼4062.执行要求课程设计共多个选题,每组不得超过2人,要求学生在教师的指导下,独力完成所设计的详细电路(包括计算和器件选型)。严禁抄袭,严禁两篇设计报告雷同。摘要随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。本文主要介绍了一个基于STC89C52单片机的测温系统,详细描述了利用温度传感器AD590开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示。它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。AD590、ADC0832与STC89C52结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。关键词:单片机;温度检测;温度传感器;数字显示;模数转换AbstractWiththeprogressanddevelopmentofthetimes,theMicrocontrollertechnologyhasspreadtothewaywelive,work,researchinvariousfields,hasbecomearelativelymaturetechnology,thispaperdescribesaTemperatureMeasurementSystemBasedonSTC89C52detaileddescriptionoftheuseoftemperaturesensorAD590temperaturemeasurementsystemdevelopmentprocess,focusingonthehardwareconnectionofthesensorundertheSCM,softwareprogramming,aswellasthemodulesystemprocessescarriedoutadetailedanalysisofthevariouspartsofthecircuitareintroducedonebyone,thesystemiseasytoachieveacquisitionanddisplayoftemperature.itisveryconvenienttouse,withhighprecision,widerange,highsensitivity,smallsize,lowpowerconsumption,suitableinourdailylifeandwork,thetemperaturemeasurementinagriculturalproduction,canalsobeusedasatemperaturetheprocessingmoduleisembeddedintheothersystems,astheauxiliaryexpansionofotherprimarysystem.AD590,ADC0832andSTC89C52mostsimpletemperaturedetectionsystem,thesystemissimple,stronganti-jammingcapability,suitableforharshenvironmentsspottemperaturemeasurement,thereisawiderangeofapplicationprospects.Keywords:Microcontroller;temperaturedetection;temperaturesensor;digitaldisplay;analog-to-digitalconversion目录1绪论················································71.1研究的目的及意义1.2主要研究方向和要求2方案设计············································92.1基本元器件管脚图与功能表2.2设计思路和原理2.3方案设计和选择3基于Proteus仿真设计································173.1仿真电路设计3.2仿真总结3.3仿真结果与分析4汇编编程与元件的安装及调试·························194.1汇编语言简介4.2温度计实验程序4.3实物显示效果5基于Protel99se设计PCB印制电路····················265.1ProtelPCB图绘制6课程设计总结········································276.1课程设计过程中遇到的问题及解决途径6.2课程设计体会与心得7参考文献············································288附录················································29附录1:元器件清单附录2:wave6000简介第一章绪论1.1研究目的及意义随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段:①传统的分立式温度传感器②模拟集成温度传感器③智能集成温度传感器。目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU)。社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。本文将介绍智能集成温度传感器AD590的结构特征及控制方法,并对以此传感器,STC89C52单片机为控制器构成的数字温度测量装置的工作原理及程序设计作了详细的介绍。与传统的温度计相比,其具有读数方便,测温范围广,测温准确,输出温度采用数字显示,主要用于对测温要求比较准确的场所,或科研实验室使用。该设计控制器使用STC公司的STC89C52单片机,测温传感器使用AD公司AD590,用数码管来实现温度显示.1.2主要研究方向和要求方向:温度采集和转换技术研究+数字电路技术研究+模拟放大显示技术研究要求:1.用AD590与电阻组成的温度采集电路产生变化的电压信号;2.ADC0832和运算放大器组成模数转换电路产生0-255数字信号;3.最后经过单片机算法处理输出摄氏温度显示,温度精度达到0.1度,测量范围零下10度到零上100度;4.器件:功率集成电路+分立元件;5.仿真设计,程序编写与硬件调试。第二章系统方案设计基本元器件管脚图与功能表(1)温度传感器AD590<1>AD590是美国模拟器件公司生产的单片集成两端感温电流传感器,是一种已经IC化的温度感测器,它会将温度转换为电流。其规格如下:a、度每增加1℃,它会增加1μA输出电流b、可测量范围-55℃至150℃c、供电电压范围+4V至+30V,可以承受44V正向电压和20V反向电压,因而器件即使反接也不会被损坏;<2>AD590管脚图及元件符号<3>AD590工作原理AD590相当于一个温度控制的恒流源,输出电流大小只与温度有关,且与温度成正比。只需一个精密电阻,就可以将电流(温度)信号转化为电压信号,总的灵敏度系数通过该电阻设定。AD590的温度系数是1μA/K,即温度每增加1K,它会增加1μA输出电流。其输出电流是以绝对温度零度-273℃为基准,每增加1℃,它会增加1μA输出电流,因此0℃到100℃时AD590输出电流为273μA到373μA。<4>电流-电压转换电路电压-电流转换电路图中,AD590输出端输出电流,经过10K的电阻,转换为电压值。OP07为一射极跟随器,A=1,用于提高输入阻抗。两个二极管用于隔离干扰。电流-电压转换公式如下:AD590的灵敏度:经过10K电阻后:具体温度-电压值对应如下表摄氏温度/℃AD590电流/μA经10KΩ电压/V0273.22.73210283.22.83220293.22.93230303.23.03240313.23.13250323.23.23260333.23.332100373.23.732(2)模拟转数字ADC0832ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。通过DI数据输入端,可以轻易的实现通道功能的选择。CS片选使能,低电平芯片使能,CH0模拟输入通道0,CH1模拟输入通道1,GND芯片参考0电位(地),DI数据信号输入,选择通道控制,DO数据信号输出,转换数据输出,CLK芯片时钟输入,Vcc/REF电源输入及参考电压输入。引脚功能说明:引脚功能说明:CS_片选使能,低电平芯片使能。CH0模拟输入通道0,或作为IN+/-使用。CH1模拟输入通道1,或作为IN+/-使用。GND芯片参考0电位(地)。DI数据信号输入,选择通道控制。DO数据信号输出,转换数据输出。CLK芯片时钟输入。Vcc/REF电源输入及参考电压输入(复用)输入格式配置位选择通道号CH0CH1CH0CH1差分LL+-LH-+单端HL+HH+当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能,当此2位数据为“1”、“0”时,只对CH0进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。到第3个脉冲的下沉之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下沉开始由DO端输出转换数据最高位DATA7,随后每一个脉冲下沉DO端输出下一位数据。直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATA0。随后输出8位数据,到第19个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。本次实验中我们使用CH1通道输入模拟信号,因此实验中控制ADC0832的时序图如下:(3)单片机STC89C52STC89C52管脚图:VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

口管脚备选功能

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2/INT0(外部中断0)

P3.3/INT1(外部中断1)

P3.4T0(记时器0外部输入)

P3.5T1(记时器1外部输入)

P3.6/WR(外部数据存储器写选通)

P3.7/RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。(4)八双向总线发送器\接收器(3态)74HC24574HC245总线驱动器,典型的TTL型三态缓冲门电路,其作用为,信号功率放大。74HC245管脚图:74HC245引脚定义:第1脚DIR,为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。第2~9脚“A”信号输入输出端,A1=B1、、、、、、A8=B8,A1与B1是一组,如果DIR=“1”OE=“0”则A1输入B1输出,其它类同。如果DIR=“0”OE=“0”则B1输入A1输出,其它类同。第11~18脚“B”信号输入输出端,功能与“A”端一样。第19脚OE,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。第10脚GND,电源地;第20脚VCC,电源正极。实验过程中我们使用的为从“A”到“B”传输数据。(5)数码管LED数码管中各段发光二极管的伏安特性和普通二极管类似,只是正向压降较大,正向电阻也较大。在一定范围内,其正向电流与发光亮度成正比。由于常规的数码管起辉电流只有1~2mA,最大极限电流也只有10~30mA,所以它的输入端在5V电源或高于TTL高电平(3.5V)的电路信号相接时,一定要串加限流电阻,以免损坏器件。2.2设计思路和原理1.基本设计思路(1)本实验要求温度计的范围-10℃~100℃,并且显示一位小数,所以我们需要四个LED,前两个显示温度的整数部分,第三个显示小数部分,最后一个显示符号。根据给出的元件,我们用AD590做温度传感器,可以把绝对温度转换成电压电流信号。(2)把得到的电压电流信号输入ADC0832以后得到数字信号,即为要采样接收的数据,根据要求,所测温度为-10℃~100℃,则温度每变化一摄氏度输出电压变化10mv,又根据0度时输出电压为2.73V得出电压的变化范围是2.63V-3.73V。0度采集到的数据为:2.73*255/5=139100度采集到的数据为:3.73*255/5=190(3)那么实际的温度计算公式为:(采集到的数据-139)*5*100/255。温度为正时:高八位放在B中,除以10得到的商为十位数,余数为各位;低八位放在A中,除以10,商为第一位小数。温度为负值:高八位的数小于10放在个位数字,十位数显示符号,得到的低八位放在A中,,除以10,商为第一位小数。由此就得到了所要显示的温度。(4)第一个LED的字形地址偏移量放在20H,将20H送入P0.5;第二个LED的字形地址偏移量放在21H,将21H送入P0.4;第三个LED的字形地址偏移量放在22H,将22H送入P0.3;第四个LED的字形地址偏移量放在23H,将23H送入P0.2。电路板连接如下图:10k10kΩ电阻8051单片机ADC08324个数码显示管AD590由此得到的整体框架图为:ADAD采样数值转化循环八位数据初始化温度显示2.3方案设计和选择(1)温度采集处理模块(2)数据算法处理输出模块第三章基于Proteus仿真设计3.1仿真电路设计3.2仿真总结用Proteus仿真模拟电路的效果总体来说是非常不错的,但也存在一些软件的不足之处,比如说没有AD590这个器件,需要用一个滑动变阻器来代替。相比之前自己做的仿真,我觉得本次实验让我最大的收获就是学会了编写输入芯片程序可以在仿真上大概查到程序的一些显示错误。不用自己每天占着学院的电脑苦苦尝试。本次实验仿真的制作还是很顺利的,调试的过程最令人痛苦。3.3仿真结果与分析(1)零下温度显示(2)零上温度显示第四章汇编编程与元件的安装及调试4.1汇编语言介绍本次设计软件采用汇编语言进行编程。汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言,作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。汇编语言直接同计算机的底层软件甚至硬件进行交互,它具有如下一些优点:(1)能够直接访问与硬件相关的存储器或I/O端口;(2)能够不受编译器的限制,对生成的二进制代码进行完全的控制;(3)能够对关键代码进行更准确的控制,避免因线程共同访问或者硬件设备共享引起的死锁;(4)能够根据特定的应用对代码做最佳的优化,提高运行速度;(5)能够最大限度地发挥硬件的功能。同时还应该认识到,汇编语言是一种层次非常低的语言,它仅仅高于直接手工编写二进制的机器指令码,因此不可避免地存在一些缺点:(1)编写的代码非常难懂,不好维护;(2)很容易产生bug,难于调试;(3)只能针对特定的体系结构和处理器进行优化。4.2温度计实验程序:AD0832DI BIT P3.0;伪指令AD0832DO BIT P3.1AD0832CLK BIT P3.2AD0832CS BIT P3.3LED1 EQU 20H;第一个LED的字形地址偏移量放在20HLED2 EQU 21H;第二个LED的字形地址偏移量放在21HLED3 EQU 22H;第三个LED的字形地址偏移量放在22HLED4 EQU 23H;第四个LED的字形地址偏移量放在23HORG0000HLJMPMAINORG0030HMAIN:MOVSP,#6FHMOVR4,#5;显示五次程序H:LCALLADC0832;调用AD转换程序LCALLDELAYLCALLBCD;调用数值转换程序LP:LCALLDISPLAY;调用显示程序DJNZR4,LPSJMPHADC0832:SETBAD0832DI;初始化通道选择,起始信号,DI高电平CLRAD0832CLK;时钟低电平NOP;一个是12个机器周期NOPCLRAD0832CS;拉低/CS端NOPNOPSETBAD0832CLK;拉高CLK端NOPNOPCLRAD0832CLK;拉低CLK端,形成下降沿SETBAD0832DINOPNOPSETBAD0832CLK;拉高CLK端NOPNOPCLRAD0832CLK;拉低CLK端,形成下降沿2CLRAD0832DI;1-0选择1通道NOPNOPSETBAD0832CLK;拉高CLK端NOPNOPCLRAD0832CLK;拉低CLK端,形成下降沿3SETBAD0832DINOPNOPMOVR5,#8;准备送下后8个时钟脉冲AD1:MOVC,AD0832DO;第四个脉冲下沉后开始接收数据MOVACC.0,CRLA;左移一次SETBAD0832CLKNOPNOPCLRAD0832CLK;形成一次时钟脉冲NOPNOPDJNZR5,AD1;循环7次MOVC,AD0832DO;接收数据MOVACC.0,CSETBAD0832CS;拉高/CS端CLRAD0832CLK;拉低CLK端SETBAD0832DO;拉高数据端,回到初始状态ADDA,#10;参数调整MOV30H,A;数据放在30HRETBCD:CLRCSUBBA,#139;与0摄氏度作判断JNCABOVE0;有借位往下执行,没有借位跳转ABOVE0BELLOW0:MOVA,#139;(139-x)*5SUBBA,30HMOVB,#51MULABMOVB,#10MULABMOVR1,AMOVA,BMOVB,#10DIVABMOVLED1,#0AH;最高位显示负号MOVLED2,B;显示个位MOVA,R1MOVB,#26DIVABMOVLED3,A;显示第一位小数MOVLED4,#0BHRETABOVE0:MOVB,#05H;(x-139)*5MULABMOVB,#64HMULABMOVR1,A;低八位给R1MOVA,B;高八位给AMOVB,#0AHDIVABMOVLED1,A;显示十位MOVLED2,B;显示个位MOVA,R1MOVB,#1AH;x/26把0-255的数转换为0-9的数DIVABMOVLED3,A;显示第一位小数MOVLED4,#0BHRETDISPLAY:;显示子程序SETBP0.3SETBP0.4SETBP0.5MOVDPTR,#TABMOVA,20H;LED1MOVCA,@A+DPTR;查字形表MOVP2,A;P2口作字形,P0口做字位CLRP0.5;开LCALLDELAYSETBP0.5;关MOVDPTR,#TABMOVA,21H;LED2:个位MOVCA,@A+DPTR;查字形表MOVP2,ASETBP2.7CLRP0.4LCALLDELAYSETBP0.4MOVDPTR,#TABMOVA,22H;LED3:第一位小数MOVCA,@A+DPTR;查字形表MOVP2,ACLRP0.3ACALLDELAYSETBP0.3MOVDPTR,#TABMOVA,23H;LED4:符号MOVCA,@A+DPTR;查字形表MOVP2,ACLRP0.2ACALLDELAYSETBP0.2RETDELAY: MOVR7,#10;延时1msLP1: MOVR6,#50LP2: DJNZR6,LP2DJNZR7,LP1RETTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H,63HRETEND4.3实物显示效果第五章基于Protel99se设计PCB印制电路5.1ProtelPCB图绘制第六章课程设计总结与建议6.1课程设计过程中遇到的问题及解决途径序号遇到的问题解决途径1不清楚实物连接图肉眼观察以及用万用表测量画出电路图2不了解AD590的具体参数通过上网查找相关资料3不会编写ADC0832启动和数据传送程序上网查找资料并分析它的时序图,最后参考相关例子改编成功4不会控制小数点的显示询问老师得知可以直接置1得到,不用重新编写字形表5显示总是抖动在AD转换后增加一个延时后再处理6显示示数在不同仿真器头下发生突变成80多度坑了一上午,各种软硬件检验,结果换台电脑好了,发现是仿真器头坏了7烧录单片机芯片里发现显示有一位不亮换了一块单片机芯片解决掉,原因不明,可能是原来的芯片坏了6.2课程设计体会与心得单片机课设使我学到了很多,在做实验之前,我们查找了很多相关的资料,认真的阅读了课本,并且在网上也认真的翻阅了很多的资料,了解了各种原器件的工作原理以及控制过程,准备工作做了很多,但是在调试的过程中还是遇到了很多的问题,比如说温度达不到要求的高度和准确度,还有温度显示不稳定,总是闪动等,并且在实验中由于操作不慎导致芯片烧坏,但是经过我们请教老师和同学,以及自己不断地调试检查,最终把这些问题解决了,这次的单片机课程设计不仅加深了对单片机基础知识的理解与记忆,还锻炼了自己的动手调试能力和实际操作能力,做到了理论与实际有效的相结合。通过这次课程设计,我对ADC0832的结构有了全面的认识,也对运用汇编语言编程的能力和整体掌握有了大幅度的提升。而此次课设对我最大的提高在于对未知知识的搜集、掌握和运用过程。如温度传感器是输出电流的,A/D转换是用ADC0832的,他们之间需要用10kΩ电阻作相应转换。最关键的就在于对ADC0832的掌握。因为单片机课上主要讲授了ADC0809,所以我们上网查到相关芯片的资料,得知ADC0832的数字量输出与AD0809的并行输出不同,是串行输出的,所以应该将其输出量在P3.1口输入到单片机。而且它的选口、输输出都要在外部输入的时钟下降沿的时候读写,时钟信号还需要外部给定,所以它的CLK口要与P3.2口相连。ADC0832在数据传输前要在Din中输入起停位和配置位,以设定ADC0832的工作模式,这三位数据也可通过移位输入。由于ADC0832的输入在CH0口,输出为单端输出,所以配置位为10(B)。有了总体思路后我们开始着手分块编写程序,编译无误后就到实验室进行了实验仿真。不管之前怎样全面思考,实验过程中还是会出现意想不到的问题。实验过程中AD590输出的电流变化范围没有设计的那么大,即使将1kΩ电位器调到最大也不能将显示的室温调至准确。所以我们对程序进行了进一步修改,将输入的数值做了一定比例的放大,并做了一些误差调整,最终实现了室温时显示21-26度,用打火机烤AD590之后最大显示数值度能超过100(即在99.99之后又从0.00开始显示),最终做出的温度计量程为0℃到100℃左右。总的来说,这样的课设总是比较有趣,富有挑战性而又不枯燥,非常吸引人,对我个人来说试一次绝佳的锻炼机会,既能进一步巩固专业知识,增强专业基础,又能提高动手能力,使自己对实验调试的方法更加熟练。如果以后还能有机会接触此类实验的话,我一定会倍加珍惜的。最后,感谢老师给了我们这个提高和锻炼自己的机会,同时感谢老师百忙之中给我们指点和验收,谢谢老师。参考文献:[1]胡汉才,单片机原理及其接口技术,清华大学出版社

温馨提示

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

评论

0/150

提交评论