《单片机课程方案温度测试系统方案.docx》由会员分享,可在线阅读,更多相关《单片机课程方案温度测试系统方案.docx(16页珍藏版)》请在三一办公上搜索。
1、引言随着现代科技的发展,单片机控制无疑为人带来了诸多方便,他的性能虽然与PC 机无法相比,但它体积小,价格低,高可靠性,智能性,实时性,可塑性好等优点, 使它应用于诸多控制领域。近年来,随着电子技术和微机计算机的迅速发展,单片机 的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器 仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到 了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。80C51是INTEL公司MCS-51系列单片机中最基本的产品,采用INTEL公司可靠的 CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HC
2、MOS产品,结合了 HMOS的高速和高密度技术及CHMOS的低功耗特征,继承和扩展了 MCS-48单片机的体系 结构和指令系统。80C51内置中央处理单元、128字节内部数据存储器RAM、32个双向 输入/输出(I/O口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信 口,片内时钟振荡电路。此外,80C51还可工作于低功耗模式,可通过两种软件选择空 闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功 能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。80C51有 PDIP(40pin和 PLCC(44pin两种封装形式。1.1.1课程
3、设计的意义:课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践 能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的 日新日异,单片机技术已经成为当今计算机应用中空前活跃的领域,在生活中可以说 得是无处不在。因此作为二十一世纪的大学来说掌握数字电子技术是十分重要的。而 课程设计是深入学习,真正掌握单片机原理与接口技术的有效途径:1、有利于基础 知识的理解通过单片机原理与接口技术的学习,掌握了数字技术基础知识和基本 技能,具备了在日常生活与学习中应用数字技术解决问题的基本态度与基本能力。但 是,对于器件选择、电路仿真模拟、电路搭建等知识内容的理解
4、比较肤浅。通过课程 设计就能真正理解,从而进一步加强理论知识的学习。2、有利于逻辑思维的锻炼在常规的理论学习中,我们的思维常常处于混乱的状 态。写起作文来前言不搭后语,解起数学题来步骤混乱,这些都是缺乏思维训练的结 果。课程设计设计是公认的、最能直接有效地训练创新思维,培养分析问题、解决问 题能力的途径之一。整个设计过程都需要有条理地构思,中间有猜测设想、判断推理 的抽象思维训练,也有分析问题、解决问题、预测目标等能力的培养。 3、有利于 治学态度的培养。在课程设计中,会遇到各种问题和困难,可能要通过几次乃至十多 次的反复修改、调试,才能成功,但这种现象会随着学习的深入而慢慢改观。可以培 养严
5、谨治学、一丝不苟的科学精神和不怕失败、百折不挠品格。1.1.2设计目的1、通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解表关电 路参数的计算方法。2. 通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。3. 通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用 系统的全过程,为今后从事相应的工作打下基础。1.2设计任务设计要求:利用温度传感器和ADC0809采用中断方式设计一个温度测试系统,每 隔2秒测量一次,将测试结果十进制)在LED上显示出来。定义一个保持按键,当按 下该键时,将当前的测试值保持不变按键不动作时为正常测量显示)。温度显示格式
6、为:XXXC。温度测量范围为:20100系统设计2.1硬件设计2.1.1总体设计框图:根据课题,温度采集部分选择常用的Pt100热敏电阻,其电阻温度系数为3.9X10 一3/C, 0C时电阻值为100。,电阻变化率为0.3851Q /C。伯电阻温度传感器精度 高,稳定性好,应用温度范围广,是中低温区最常用的一种温度检测器,在+10C +150C范围内,阻值与温度的关系线性度非常好,通常把这一温度范围作为有效温度 范围,本题目要求的温度范围是+20C+100C,正好位于有效范围内,故温度采集电 路部分相对较为简单。51单片机与ADC0809、显示器以及锁存器部分的电路已经具有比较成熟的连接方 法
7、,因此硬件电路的设计比较简单。根据以上分析,可以得出系统的原理框图如下:勺原理框图ADC08092.1.2温度采集电路的设计温度采集电路设计如下,电路图如图2所示: 片图2温度采集电路图津路说明R49将 Pt100通滤波放-+RW1大EXT|/(R10k , ,其放LED曰二弱 _显示器 R57一个差动运算放大器,其电大倍数。当温度为0C时,差动运算放大器的正负输入端电压差为0为0,但皿输出也应 出电压u(u好关系为U22:ACO,所以大器存在漂移2一 7 aJ-i R53k4+00144Rw1)J 10kL所以用201LM358N TE.XjARt/1000电位器RW2来调零。6LM358N
8、.0099)Pt10p的电阻值与输空D111N970BI, R621k kTEXT因为本课题的温度范围为20100C,LJ 时又希望输出电压在05V之间,所以,最终得到输出电压与所测温度的关系为:Uout=1108.8/(10100+0.385T0.0099)2.1.3单片机接口电路设计单片机接口电路主要由单片机80C51、模数转换器ADC0809、集成芯片8255A、锁 存器74LS373以及数码显示器组成.各电路组成部分简要介绍如下:1、单片机80C51该系列单片机是采用高性能的静态80C51设计,由先进CMOS工艺制造并带有 非易失性Flash程序存储器,全部支持 12时钟和6时钟操作,
9、P89C51X2和 P89C52X2/54X2/58X2,分别包含 128 字 节和256字节RAM,32条I/O 口线3个 16位定时/计数器,6输入4优先级嵌 套中断结构,1个串行I/O 口,可用于多 机通信I/O扩展或全双工UART以及片内 振荡器和时钟电路。此外,因为器件采用 了静态设计,可提供很宽的操作频率范 围,频率可降至0。可实现两个由软件选 择的节电模式,空闲模式和掉电模式,空 闲模式冻结CPU但RAM定时器,串口和中 断系统仍然工作。掉电模式保存RAM的内 容,但是冻结振荡器将导致所有其它的片 内功能停止工作。因为设计是静态的时钟 可停止而不会丢失用户数据运行可从时 钟停止处
10、恢复。234567813c12d14L1918g1716。0P 1.0/72moP1J/T2EXPOEP1.2P0.2PI 3IU3PL480C51P0.4P1.580C52P1 6P0.6P1.7IM7P3.3/INTJP2 0P3.2/INT0P2.1P2.2P3.5/TIP2.3P3 4/T0P2.4EA/VtnP2.5PN6XTALJP2.7XIA 1.2P3 0JRXDRSTP3.1 TXDP3 7/RDAI4-. PROGP3 6 WTiPSEN383635S4J33223242526271030图3 50C51单片机引脚图2、 8255A8255A,具有24条输入/输出引脚、可编
11、程的通用并行输入/输出接口电路。它 是一片使用单一 +5V电源的40脚双列直插式大规模集成电路。8255A的通用性 强,使用灵活,通过它CPU可直接与外设相连接。其引脚图如下:8255A在使用前要写入一个方式控制字,选择A、B、C三个端口各自的工作方 式,共有三种。方式0 :基本的输入输出方式,即无须联络就可以直接进行的I/O方式。其 中A、B、C 口的高四位或低四位可分别设置成输入或输出。方式1 :选通I/O,此时接口和外围设备需联络信号进行协调,只有 A 口和B 口可以工作在方1,此时C 口的某些线被规定为A 口或B 口与外围设备的联络信 号,余下的线只有基本的I/O功能,即只工作在方式0
12、。方式2:双向I/O方式,只 有A 口可以工作在这种方式, 该I/O线即可输入又可输出, 此时C 口有5条线被规定为A 口和外围设备的双向联络线, 口剩下的三条线可作为B 口方 式1的联络线,也可以和B 口 一起方式0的I/O线。图48255引脚图3、 ADC0809:ADC0809是采样频率为8 位的、以逐次逼近原理进行模PBlPBsEOC祈电据373635W招弗313029券26252423222J一数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中%OECLOCKVVrCf(+)GNDD】ADC0809& 1&ADEDCE 坤 :N:N:
13、N9 99虹DTD6D54环 K 巩的一个进行A/D转换。其引脚图如下图5所示:1 .主要特性1) 8路8位A / D转换器,即分辨率8位。2 )转换时间为100 “s3)模拟输入电压范围0+ 5V,不需零点和满刻度校准。4)低功耗,约15mW。2 .内部结构ADC0809是CMOS单片型逐次逼近式A/D转换器,它由8路模拟开关、地址锁 存与译码器、比较器、8位开关树型D/A转换器、逐次逼近3 .外部特性ADC0809芯片有28条引脚,采用双列直插式封装。各引脚功能如下:IN0IN7 : 8路模拟量输入端。图5 ADC0809引脚图2-12-8: 8位数字量输出端。ADDA、ADDB、ADDC
14、 : 3位地址输入线,用于选通8路模拟输入中的一路ALE:地址锁存允许信号,输入,高电平有效。START : A /D转换启动脉冲输入端,输入一个正脉冲使其启动EOC: A / D转换结束信号,输出,当A/D转换结束时,此端输出一个高电 平。OE :数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高 电平,才能打开输出三态门,输出数字量。CLK :时钟脉冲输入端。要求时钟频率不高于640KHZ。REF+ )、REFXTAL1I M CPDEDDPD.1MD1PD2AD25CTAL2PD.tADiPDJgmOS PDJ6MD6 RSTPD.TjftDTP2IW P21 福S皿
15、 SIP22M1DPSEN-P23ft11ALEP2.UM2虱P2jami3P2JEWUP2.7J(R15P1DP3IPRXDP1.1P3.1/TXDP12p?2.irFrFP13P1.31N1TP1.tP3.5DP1SP3J5JT1P1J6PSfiAIVR-P1-7P3TfflD图6=?一HtJ-cttllID而21J 0T rK.2VREF0VREFWCLOCKOUTPUT ENABLE三、软件设计31主程序主程序的主要功能是负责数据指针ADC0809、8255A外部中断INT0和定时中断1 各参数的初始化,温度的实时显示、读出并处理测量的当前温度值,温度测量每2s进 行一次均设置在中断服
16、务程序中其程序流程见图7所示。32显示温度子程序,初始化数据指针显示温度子程序的主要功能是读出经过转换处理后并且以存储于显示缓冲单元RAM中的温度值,显示缓冲单元定义在40H、41H、42H,其程序流程图如图8所示:初始化始又、8255A1转换的数字量,进行温度处理,并且转换为十进制数,分别取出小数位、个位、十位数字存储到显示缓冲单元中,等待显 示。温度处理子程序流程图如图9所示。r开始 )暂存转换数据图9温度处理子程序流程图3.4、外部中断0服务子程序此中断服务程序主要是为了定义保持按键,程序中用R1标记中断次数,并利用算 法判别R1的奇偶性,当R1为奇数时,即一直显示当前温度值,而当再来一
17、个外部按 键信号时,R1变为偶数,此时直接跳至中断返回语句,进行正常测量显示。其程序流 程图如图10所示:图10夕外部中断0服务子程序3.5、定时中断2S服务子程序此定时中断服务子程序主要是为了定时2S,定时中断一采用工作方式1,每次可以 定时100mS,TH1的初值为3CH,TL1的初值为0B0H,定时器方式寄存器TMOD的值为 10H,为达到定时2S,需要在程序中定义循环变量R0来实现循环200次。其程序流程图 如图11所示:以上分析是软件设计的核心部分,经过编程实现可以得到此温度测试系统的完 整汇编程序,各个部分的汇编程序见附录二。I、结语1、过程总结:在这次设计中遇到了很多实际性的问题
18、,在实际设计中才发现,书本上理论性的 东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且 要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的 过程当中会发现自己在飞速的提升。对于单片机设计,其硬件电路是比较简单的,主 要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题 的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程中大部分 时间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才 是关键的问题所在,这需要对单片机的结构很熟悉。因此可以说单片机的设计是软件 和硬件的结合,二者是密不可分的
19、。在程序方面,这次单片机课设内容包括LED显 示、中断服务等。我的经验教训是,写程序注释写得越详细越好、不要怕麻烦。编写 程序前要画流程图有助于写程序以及日后查错。其次,这次课程设计让我充分认识到 团队合作的重要性,团队需要个人,个人也离不开团队,必须发扬团结协作的精神, 只有分工协作才能保证整个项目的有条不絮。平时看课本时,有时问题老是弄不懂, 做完课程设计,那些问题就迎刃而解了。而且还可以记住很多东西。比如一些芯片的 功能,平时看课本,这次看了,下次就忘了,通过动手实践让我们对各个元件映象深 刻。认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准, 课程设计对我们的作用是
20、非常大的。单片机课程设计,是对单片机知识的验证,可以 帮助我们理解巩固所学知识,激发我们对单片机课程的兴趣,更锻炼了我们独立思 考、开拓创新的能力。2、心得体会:设计过程,好比是我们人类成长的历程,常有一些不如意,难免会遇到各种各样 的问题。在设计过程中,经常会遇到这样那样的情况,就是心里想老着这样的接法可 以行得通,但实际接上电路,总是实现不了,因此耗费在这上面的时间用去很多。在 设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。我们通过查阅大量有关资料,遇到实在搞不明白的问题就会及时请教老 师,使自己学到了不少知识,也经历了不少艰辛。在整个设计中我懂得了许
21、多东西, 也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工 作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过 程中探索的艰难和成功时的喜悦。虽然单片机课程设计不在大纲要求范围内,但我们很高兴老师给我们加了此次课 程设计,给了我们一个动手操作的机会,加深了理论知识的学习,通过实际应用,进 一步熟悉和掌握了单片机的结构、工作原理、接口技术,掌握了模块化程序设计方法 和调试技术、完成了包括电路设计和程序开发的完整过程,了解了开发一单片机应用 系统的全过程,通过这样的经历,不但使我们增长了知识面,提高了我们学习新知识 的能力,更加强了我们动手能力的锻
22、炼,培养了我们发现问题,思考问题,解决问题 的能力。在以后的学习生活中,我们将更加积极主动的参加各次动手能力锻炼,为将 来自身的发展奠定坚实的基础。参考文献:1 郭文川.单片机原理与接口技术.中国农业出版社.2007年.2 胡汉才.单片机原理及接口技术第二版).清华大学出版社.2003年.3 阎石.数字电子技术基础.第五版.高等教育出版社出版.4 宋涛.通用集成电路速查手册.第二版.山东科学技术出版社.5 韩广兴.电子元器件与实用电路基础.修订版.电子工业出版社附录一:硬件电路系统图附录二:本I,计课,汇编程序ORG0000Hl,|MP MAINRG 0003H。夕卜部中断0入口地址,“岳 J
23、_Y吕El-J三 oELrl,|MP INTORG 001BH。定时中断入口地址l,|MP TINTORG 1000HHMOVMAIN:OD#10L 凸U住CLI-YZ您s1苫E空r-J wLtz.aLUX21YPT一JgaL21.LI2MOV TH1,#3CH 。赋初始值MOV TL1,#0B0HSETB IT0SETB EASETB EX0SETB ET1SETB TR1MOV DPTR,#7FF8HMOV R1,#0。用于标记外部中断的奇偶性MOV A,#0MOVX DPTR,AHERE: SJMP HERE。温度处理子程序ORG 1500HTEMDEAL: MOV DPTR,#7FF8
24、HMOVX A,DPTRMOVR7,A。暂存ADC转换的结果ANLA,#0FH。取低四位的值MOVB,#5,获取的运算MULABMOVB,#16DIVABMOV41H,A。暂存个位数的部分结果MOVA,BMOVB,#10MULABDIVABMOV40H,A。存小数位结果MOVA,43HMOVB,#16DIVABMOVB,#5MULABADDA,#20ADDA,R7MOVB,#10DIVABMOV42H,A。存十位数MOVA,BMOV41H,A。存个位数RET。外部中断服务程序ORG 2000HINTO: INC R1MOVA,R1。判断R1的奇偶性MOVB,2DIVABMOVA,B。把R1除2
25、的余数给AJNZLOOP3LJMPINTR2。A中值不为0,代表R0为奇数,跳转,否则为偶数,顺序执行LOOP3: MOV DPTR,#1B03HMOV A,#80HMOVX DPTR,ADISP3: MOV R0,#40HMOV R2,#20HDISP4: MOV DPTR,#1B00HMOV A,R0ACALL TABLEMOVX DPTR,AMOVDPTR,#1B01HMOVA,R2MOVX DPTR,AMOVR3,#0FFHDJNZR3,$INCR0CLRCMOVA,R2RRCAMOVR2,AJNZDISP4SJMPDISP3TABLE: INC AMOVC A,A+PCRETDB3F
26、H,06H,5BH,4FHDB66H,6DH,7DH,07HDB7FH,6FH,40HLJMPLOOP3INTR2: RETI。定时2s中断服务程序ORG 2500HTINT: NOPJIXU: MOV TH1,#3CH。重新赋初始值MOV TL1,#0B0HCJNE R0,#100,JIXULCALL TEMDEALLCALL DISPLAYMOV DPTR,#7FFHMOV A,#0MOVX DPTR,ARETI。显示子程序ORG 3000HDISPLAY: MOV DPTR,#0BFFH 。8255A初始化MOV A,80HMOVX DPTR,ADISP1: MOV R0,#40HMOV
27、 R2,#4HDISP2: MOV DPTR,#0BFFCH ;段码数据口MOV A,R0LCALL TABLE2MOVX DPTR,AMOV DPTR,#0BFFDH ;位控口MOV A,R2MOVX DPTR,A ;输出到位控口MOV R3,#0FFHDJNZ R3,$INC R0CLR CMOV A,R2RRC AMOV R2,AJNZ DISP2SJMP DISP1TABLE2: INC AMOVC A,A+DPTRRETDB3FH,06H,5BH,4FHDB66H,6DH,7DH,07HDB7FH,6FH,40HRET附录三:元器件清单:元器件名称数量备注单片机80C511ADC08091八位人/转换器D锁存器74LS3731TTL工艺8255A1接口扩展74LS511或非门电路74LS041非门电路分频器1可用计数器电阻1K)3电阻10K)3电阻240K)2电阻5K)1LM3582放大器电位器2稳压管3热敏电阻1Pt100电容2