热敏电阻测温课程设计课案Word文档格式.docx
《热敏电阻测温课程设计课案Word文档格式.docx》由会员分享,可在线阅读,更多相关《热敏电阻测温课程设计课案Word文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
2.1前言
微机原理是一门专业基础课程,它的主要内容包括微型计算机体系结构、8086微处理器和指令系统、汇编语言设计以及微型计算机各个组成部分介绍等内容。
要求学生对微机原理中的基本概念有较深入的了解,能够系统地掌握微型计算机的结构、8086微处理器和指令系统、汇编语言程序设计方法、微机系统的接口电路设计及编程方法等,并具有综合运用所学知识分析问题和解决问题的能力。
本次热敏电阻测温放大电路PCB板课程设计采用汇编语言程序编写,要求设计者具备微机原理的理论知识和实践能力。
微机原理和接口技术是一门实践性强的学科,不但要求有较高的理论水平,而且还要求有实际的动手能力。
本课程设计的主要目的是提高实践能力,包括提高汇编等语言的编程能力及对接口等硬件的理解分析能力和设计接口电路的能力,在进行课程设计的过程中,通过让学生体验自己分析解决问题,从而帮助学生系统地掌握微机原理的接口技术的相关知识。
程序使用Dais实验台进行模拟,包括程序输入、调试、运行,最后进行结果分析,验证程序的正确性。
学习微机原理与应用的理论知识后,通过本次课程设计加深对它的理解和掌握。
在设计过程中,广泛查阅各种所需的资料,通过实践来加深和巩固理论,同时将自己对这门技术的理解应用在设计当中,提高实践水平和综合能力。
2.2任务分析与方案设计
(1)任务分析
本课题需要设计对模拟量温度进行采集并将其转换为数字显示的系统。
该系统应具备以下两个功能(任务):
1。
能实现温采集。
2。
能将温度在LED上显示出来
为完成功能1,需要有温度采集输入接口电路,即将热敏电阻阻值随温度的变化转换为电压变化信号,并经过必要的转换或信号的放大与处理,使之符合微机控制系统要求。
接口电路的组成与传感器输出信号的形式有关,与微机处理系统功能要求有关,因此可根据输出信号的形式和系统的功能要求决定接口电路的类型。
本次设计的接口电路所采用的元件有运算放大器LM741CN、滑动变阻器、电阻、稳压管等。
分别实现电压的转换放大、电压大小的调整、分压、稳压等功能。
为实现功能2,需要有能将接口电路输出的电压信号转化为数值的微机部件,即ADC0808或ADC0809。
因而也需要能对AD转换部件进行控制的由一系列微机部件组成的最小系统。
该最小系统包括8086CPU、74LS138、74LS273、8255
作用分别是处理指令、提供片选信号、地址锁存、控制LED等。
为将数值显示出来,还需至少两位8段数码管。
说明:
分析本课题任务与功能,概述为完成任务所需的微机部件有哪些?
各应起到何种功能?
(2)方案设计
系统总体框图如图2-1
图2-1系统总体框图
该系统主要由传感器部分、CPU部分和输出显示部分组成。
它们的各自工作原理如下:
1.传感器部分工作原理:
将热敏电阻阻值随温度的变化经稳压电路、放大电路等转换为电压变化信号,并经过必要的转换或信号的放大与处理,转为合适微机电路的电压输出。
2.CPU部分工作原理:
最小系统提供片选信号选中ADC0809,输出信号使其工作,ADC0809将传感器部分的输出电压信号转为数字量。
最小系统读取数字量,数字量经由数据总线传输给8255,8255将其显示在LED上。
3.输出显示部分工作原理:
将8255得到的数据通过指令显示具体数值。
2.3主要元器件及其说明
本系统主要原件有8086、8255、74LS138、74LS373、ADC08098、8段数码管。
其各功能和使用方法如下:
1.8086
如图2-2为8086结构。
8086由指令执行部件和总线接口部件组成。
其主要功能为执行指令和形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行等。
其使用方法是使VCC引脚接+5V电压,GND引脚接地,各个引脚根据指令输出信号。
8086可以发出对I/O端口进行读、写的信号。
图2-28086结构
2.8255
如图2-3为8255结构及各引脚定义。
本设计中8255主要作为CPU与外设(LED)之间的输出通道。
其使用方法为将8255的D0~D7口与数据总线对应相连,地址总线接A0、A1。
A0、A1的组合与端口关系见图。
另外要使8255工作还需有片选信号输出到6引脚CS。
其A1、A0真值表如图2-4
图2-38255结构图2-4A0、A1真值表
3.74LS138
74LS138结构如图2-5,其功能为通过使能端输入信号,经输入端A、B、C产生片选信号选择YO~Y7中的一个引脚产生片选。
其真值表如图2-6
图2-574LS138结构图2-6A、B、C口真值表
4.74LS373
74LS373结构如图2-7,本次设计将其作为地址锁存器。
1脚是输出使能(OC),输入端1D~8D接AD复用总线,1Q~8Q提供输出地址线。
真值表如图2-8
图2-774LS373结构图2-874LS373真值表
5.ADC0809
ADC0809结构如图2-9。
IN0~IN8通道为模拟量输入信号,ADDA、ADDB、ADDC为通道选择信号。
当START和ALE通过或非门与WR信号及片选信号相连时,CPU输出信号使ADC0809工作,OE经过或非门与片选信号及RD信号相连输入CPU,ADC0809将数据通过D0~D7输到数据总线上。
图2-9ADC0809结构
6.8段数码管
8段数码管结构如图2-10
若是共阴极数码管,则通过给需要亮的二极管的控制口置“1”,使其亮。
如要显示数字“7”则要使a、b、c口为“1”。
则要输入的字形字为07H。
若是共阳极数码管,则通过给需要亮的二极管的控制口置“0”,使其亮。
如要显示数字“7”则要使a、b、c口为“0”。
则要输入的字形字为F8H。
对于同时选择多个数码管,则需要定义各个数码管的字位口“9”。
图2-108段数码管结构
2.4系统设计及仿真
(1)系统电路设计
1.8086CPU模块
8086CPU模块如图2-11,它提供总线和各种控制信号如WR、RD等。
图2-118086CPU模块
2.地址锁存器部分
用74HC373将复用总线转化为地址总线,其结构如图2-12
图2-12地址锁存器
3.片选部分
用74LS138的A、B、C口实现Y0~Y7的片选,其结构如图2-13
图2-13138译码器结构
4.模数转换部分
片选信号及WR信号通过或非门使ADC0809工作,片选信号及RD信号通过或非门读取AD转换结果,使用ADC0809将接口电路JP1输出的模拟量转化为数字量,通过数据总线读出。
通过ADDA、ADDB、ADDC选择通道IN0~IN7(图中三个引脚接地,选择IN0)。
参考电压为5V,则转化值为输入电压V*256/5。
模数转换部分结构如图2-14。
图2-14模数转换部分
5热敏电阻接口电路
热敏电阻接口电路由电源稳压电路、传感器模拟量转换电路、电压跟随器、反向电路和可调反向放大电路及输出电路组成。
将热敏电阻接入后,通过调节各个滑动电阻来调节输出电压JP1的大小,提供合适的电压值给微机系统。
热敏电阻接口电路结构如图2-15。
图2-15热敏电阻接口电路
主要元器件的清单和价格如图2-16。
名称
型号
数量/个
单价/元
电阻
1K
4
0.01
5.1K
1
7.5K
10K
7
可变电阻
5K
0.58
3
运算放大器
LM741CN
2.00
电容
0.33uF
0.08
1uF
2
稳压二极管
6.8V
0.18
三极管
C2655
0.16
PCB板
图2-16主要元器件的清单和价格
(2)软件设计开发
1.控制程序流程图
控制程序流程图见图2-17
图2-17控制程序流程图
2汇编程序设计
本程序采用查表法,即根据AD转换出来的十进制数,与实际温度进行比较,列出两者之间的对应关系的表,通过将AD输出数据与表比较,查出实际温度。
其中A/D转换接口电路采用延时等待接法。
程序见附录。
(3)系统仿真运行
根据仿真结果(图2-18),每个对应的实际温度能很准确地在数码管上显示出来。
图2-18仿真结果
如图,当热敏电阻所处环境实际温度为48度时,数码管显示温度也为48度,仿真结果达到要求。
2.5接口电路板制作
1.接口电路板的工作原理
接口电路主要由6个部分组成,分别是传感器激励电源、传感器模拟量转换电路、电压跟随器、一倍放大器、可调电压放大器、传感器输出端口。
(1)传感器激励电源
其功能是提供稳压源供电,否则热敏传电阻传感器的激励电源引起的微小变化将严重印象测试的精度。
在电路中R1、D1、C1为运算放大器同相输入端提供稳定的基准参考电压,输出电压经R2、RW1、R3分压,经RW1可调端反馈到运算放大器的反相输入端,这样调整RW1就能输出稳定的设定电压值。
传感器激励电源结构如图2-19。
图2-19传感器激励电源
(2)传感器模拟量转换电路
传感器模拟量转换电路是连接传感器与放大器的端口,电路由R4、R5、R6、RW2、C2、Q1组成。
热敏电阻传感器在温度变化场下将产生电阻率的变化,为获得对应的电压值,将热敏电阻传感器3脚设计放置在Q基极的上偏置;
与下偏置RW2、R4、C2共同组成Q1基极的偏置电路,调整RW2就能改基极电压VB,再由静态分析公式:
Ie=Ic=(VB-VBEQ)/R6得随VB变化的Ie的值,Ie流经R6时产生随温度变化的对应电压值。
传感器模拟量转换电路结构如图2-20。
图2-20传感器模拟量转换电路
(3)电压跟随器
电压跟随器的输入阻抗很大,输出阻抗很小,可以看成是一个阻抗转换的电路,这样可以提高原来电路带负载的能力。
电压跟随器部分如图2-21。
图2-21电压跟随器
(4)一倍放大器、
将电路中的R7、R8、R9阻值设计为10k,这样运算放大器将组成一倍的反相运算放大器。
一倍放大器结构如图2-22。
图2-22一倍放大器
(5)可调电压放大器
电路中R10、R12、RW5、R11组成可调反相放大器,调整RW5就能微调输出电压放大倍数,其结构如图2-23。
图2-23可调电压放大器
(6)传感器输出端口
RW6、R13、C3、JP1组成了输出接口电路,调整RW6就可改变输出电压大小,这样能确保在最大量程时,输出电压不超过5V。
传感器输出端口结构见图2-24。
图2-24传感器输出端口
2调试过程
热敏电阻测温电路调试方法:
1正确连接正负12V电源,确认没有接错!
2调节RW1,用万用表20V档测量热敏电阻插座RD的1脚电压,使其为10V;
3用导线短接热敏电阻输入端RD的1、3引脚,此时对应NTC热敏电阻的最高测量值。
用万用表20V档测量电路板信号输出端JP1的1脚,调节RW6万用表读数控制在5V以内,如4.8V;
4连接热敏电阻到RD,在室温下(25℃)调节RW2使三极管Q1的发射极输出电压为1V;
5继续调节RW5使运放U4的输出引脚(6脚)输出为1V;
6最后调节RW6使JP1的1脚为0.5V;
7上述初始状态调节好后,可以实际测量不同温度下,电路板的输出电压,建立温度与电压之间的关系公式;
注意事项:
1热敏电阻类型是NTC-3950,R25=10k,B=3950;
2电路板的输出电压不能高于5V,否则会烧坏微机实验箱电路!
3电路板实物图片
以下是电路板实物图片,如图2-25
图2-25电路板实物图
2.6联机调试
联机调试的关键点就是要知道Dias实验箱已经定义各个地址,不能自己定义。
还需掌握联机调试的方法。
实验箱中IOW和138译码器的Y0口通过02或非门电路来控制ADC0809的START和ALE来实现对其的控制。
实验箱中IOR和138译码器的Y0口通过02或非门电路来控制ADC0809的OE来实现对数据的读取。
实验箱内部6个八段共阴极数码管接74LS373,字形口定义为FFDCH,字位口定义为FFDDH。
138译码器使能控制信号G接使能控制段GS,A、B、C片选口分别接地址总线A2、A3、A4。
74LS273与数据总线D0~D7相连。
联机调试总体图片如图2-26、图2-27、图2-28、图2-29。
图2-26联机调试总体图片
图2-27联机调试总体图片
图2-28联机调试总体图片
3.心得体会
本次课程设计我学会了proteus软件的使用和编程。
从开始对这个软件的一无所知到慢慢学会使我明白只要用心去学习,我们就会有很大的提高,万事开头难,只要我们不打退堂鼓,困难最终会被我们以各个击破。
而且绘图很考验我们的细心,在绘图的过程中少了什么关键微机元件、部分引脚没有定义或一些接口没有接信号输入等都会使后面编程产生错误,所以说做什么事情都要细心。
这次的编程,书上的程序虽然都大体学过,可是它们是彼此分离的,没有形成一个整体,而且平时我们缺乏对其的使用,导致刚开始好一段时间我对程序的编制是一点头绪也没有的。
不过随着资料查阅不断增多、程序阅读的增多及听别的小组讨论产生的想法使我对汇编语言的基本知识更加熟悉同时也增加我对本次课程设计汇编语言设计的能力。
通过这次课程设计,我明白,做好一个课程设计,需要我们的细心、耐心、好奇心,更需要恒心,课程设计更少不了同学之间的合作,虽然我们这组大部分的活是我一个人干的,但是在完成的过程中我常在那里听别组成员一起讨论编程与调试,一起发现问题、讨论问题,然后避免犯他们犯过的错误,吸收他们一些我没有的想法,大大提高了解决问题的速度。
在做课程设计之前我觉得课程设计只是对着门课所学的知识单纯的总结,但通过这次课程设计我发现自己的观点太片面,课程设计不仅是对所学知识的一种检验,而且也是对能力的一种提高。
在课程设计过程中,只有把理论知识拿到实际运用中才能发现它的乐趣,才能发现它的价值,从开始的担心和害怕渐渐变成了享受,享受着一步步成功带给我们的快乐。
看着自己做出来的东西,很开心。
我想微机原理课程设计和其他课程设计有共同的地方,那就而且它也有它的独特的地方,那就是编程和自己做出实物,之前的课程设计基本都是计算而且没有实物,很无聊很枯燥。
所以这次很有趣,也使我有更多的兴趣学习微机原理和其他的汇编。
我还发现,我也一直都知道我存在一个很大的问题,那就是缺乏团队合作能力。
身为组长,我独揽了大部分的工作。
探其根本,大概是我对别人的不信任及自身缺乏沟通能力。
这种性格给我带来了不少苦头,我自己也曾尝试改变,不过有点根深蒂固了。
最后感谢老师在课程设计中对我们的悉心指导与帮助。
4.参考文献
[1]周佩玲,彭虎,傅忠谦.微机原理与接口技术(第3版).电子工业出版社,2011
[2]李国栋,汪新中,陆志平,等.微机原理与接口技术课程设计.浙江大学出版社,2007
[3]顾晖等,微机原理与接口技术---基于8086和Proteus仿真(第2版),电子工业出版社,2015
5.附录:
Proteus程序
DATASEGMENT
SEGDATADB3FH,06H,5BH,4FH,66H,6DH,7DH,
07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H;
LED显示0~F
TABLE1DB18,19,21,22,24,26,28,29,31;
基准电压为5V,
DB33,35,37,39,41,43,46,48,50;
模拟电压V
DB52,55,57,59,61,64,66,68,71;
据公式N=V*256/5得
DB73,76,78,80,83,85,87,90,92;
AD转换十进制表
DB94,97,99,101,103,106,108,110
DB112,114,117,119,121,123,125,127
DB129,131,133,135,137,139,140,142,144
TABLE2DB20,21,22,23,24,25,26,27,28,29;
模拟值对应实际温度
DB30,31,32,33,34,35,36,37,38,39
DB40,41,42,43,44,45,46,47,48,49
DB50,51,52,53,54,55,56,57,58,59
DB60,61,62,63,64,65,66,67,68,69
DB70,71,72,73,74,75,76,77,78,79,80
A8255EQU40H;
8255A口、B口、C口、控制口定义
B8255EQU42H
C8255EQU44H
Q8255EQU46H
AD0808EQU50H;
ADC0808口定义
DATAENDS
CODESEGMENT
ASSUMEDS:
DATA,CS:
CODE
START:
MOVAX,DATA
MOVDS,AX
MOVDX,Q8255;
对8255控制口赋值90H
MOVAL,90H;
A、B、C口方式0
OUTDX,AL;
A输入,B、C输出
HERE:
MOVDX,AD0808
MOVAL,0;
选择通道0
OUTDX,AL
MOVCX,100H;
延时等待数据转换完成
LOOP$
INAL,DX;
读取数据
MOVSI,0
COMP:
CMPAL,TABLE1[SI];
将模拟量与模拟量表中数据
JNAA1;
比较,得出模拟量
INCSI
JMPCOMP
A1:
MOVAL,TABLE2[SI];
将模拟量转化为实际温度
MOVAH,0
MOVBL,10;
分离温度的十位和个位
DIVBL
MOVBX,OFFSETSEGDATA;
对分离出的十位查表
XLAT
MOVDX,B8255;
查表结果赋给LED字形口
MOVAL,11110111B;
字位口选中第二个LED
MOVDX,C8255
CALLDELAY
MOVAL,0FFH;
结束选中LED
MOVAL,AH;
将个位赋给AL
MOVAH,0;
个位清零
对个位进行查表
将查表结果赋给LED字形口
MOVAL,11101111B;
字位口选中第三个LED
MOVAL,11011111B;
选中第四个LED
OUTDX,AL
MOVAL,01100011B;
显示单位“o”
MOVDX,B8255
MOVAL,0FFH
MOVAL,10111111B;
选中第五个LED
MOVAL,00111001B;
显示单位“C”
MOVAL,0FFH;
JMPHERE;
继续读取数据
DELAYPROC;
延时程序
PUSHBX
PUSHCX
MOVBX,1
LP2:
MOVCX,10
LP1:
LOOPLP1
DECBX
JNZLP2
POPCX
POPBX
RET
DELAYENDP
CODEENDS
ENDSTART