温度采集
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河北科技大学
《接口技术》课程设计报告
学生姓名:学号:
专业班级:
课程名称:温度采集及显示控制
学年学期:
指导教师:
2 0 16年6 月
课程设计成绩评定表
学生姓名学号成绩专业班级起止时间
设计题目
验收内容课程设计小组验收结果:
硬件设计:优秀□良好□中等□及格□需努力□程序设计:优秀□良好□中等□及格□需努力□实验结果:优秀□良好□中等□及格□需努力□
课程设计个人验收结果:
操作能力:优秀□良好□中等□及格□需努力□软件理解:优秀□良好□中等□及格□需努力□硬件理解:优秀□良好□中等□及格□需努力□
指导教师:
年月日
目录
一、设计题目 (1)
二、设计目的 (1)
三、设计原理及方案
1、实验方案 (1)
2、D/A转换 (2)
3、A/D转换 (4)
4、8255A (5)
5、八段数码管显示 (7)
6、直流点击 (8)
7、键盘 (8)
四、实验方法
1、连线图 (11)
2、实验流程图 (12)
五、实验结果 (15)
六、改进意见及建议 (15)
七、设计体会 (15)
八、附录 (16)
一、设计题目:
温度采集及显示控制
二、设计目的:
1、根据现有设备(实验箱及计算机)设计出使用接口原理图。
2、利用A/D、D/A转换,实现温度采集及显示控制。
3、实现根据设定温度进行显示控制。
三、设计原理及方案:
1.实验方案:
本次试验主要用到A/D,D/A转换芯片8255A芯片等,利用电阻来模拟温度的变化方式,利用以下列举的芯片与器材显示输出到七段led译码管显示器上并带动直流电机正转反转以及控制转速来体现温度差。
代码中的变量定义如下:
CS0832 equ 0b000h
DC_P equ 1
mode equ 082h ; 方式0,PA,PC输出,PB输入
PortA equ 8000h ; Port A
PortB equ 8001h ; Port B
PortC equ 8002h ; Port C
CAddr equ 8003h ; 控制字地址
ADPort equ 0a000h ; AD采样输入片选
CS273 equ 0a000h ; 控制输出片选
UP equ 16h ; Next
DOWN equ 15h ; Last
LowLimit equ 10
HighLimit equ 30
LowTemp equ -99 ; A/D 0
HighTemp equ 99 ; A/D 255
Cool equ 1 ; 致冷控制
Heat equ 2 ; 加热控制
OUTBIT equ 09002h ; 位控制口
OUTSEG equ 09004h ; 段控制口
IN_KEY equ 09001h ; 键盘读入口
LEDBuf db 6 dup(?) ; 显示缓冲
Num db 1 dup(?) ; 显示的数据
DelayT db 1 dup(?)
CurTemp db 1 dup(?) ;当前温度
SetTemp db 1 dup(?) ;设定温度
PortABuf db 1 dup(?)
2、D/A转换
工作原理
1)、D/A转换是把数字量转换成模拟量的变换,实验台上D/A电路输出的是模拟电压信号。要实现实验要求,比较简单的方法是产生三个波形的表格,然后通过查表来实现波形显示。
2)、产生锯齿波和三角波的表格只需由数字量的增减来控制,同时要注意三角波要分段来产生。
要产生正弦波,较简单的方法是造一张正弦数字量表。即查函数表得到的值转换成十六进制数填表。
D/A转换取值范围为一个周期,采样点越多,精度越高些。
3)、8位D/A转换器的输入数据与输出电压的关系为
U(0∽-5V)=Uref/256×N
U(-5V∽+5V)=2·Uref/256×N-5V (这里 Uref为+5V)
本实验的DA转换的作用就是把当前温度和所设定温度的差值转化为模拟量然后驱动直流电机旋转,代码如下:
startMotor proc near
OutLoop:
push dx
push ax
mov dx,CS0832
mov al, settemp
sub al, curtemp
out dx,al
call delay ; 等待电机运转稳定
pop ax
pop dx
ret
startMotor endp
3、A/D转换
工作原理
A/D转换器大致有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好;价格便宜,但速度慢;二是逐次逼近A/D转换器,精度,速度,价格适中;三是并行A/D转换器,速度快,价格也昂贵。
实验用的ADC0809属第二类,是八位A/D转换器。每采集一次一般需100us。本程序是用延时查询方式读入A/D转换结果,也可以用中断方式读入结果,在中断方式下,A/D转换结束后会自动产生EOC信号,将其与CPU的外部中断相接,有兴趣的同学可以试试编程用中断方式读回A/D结果.
原理图如下:
AD转换的作用就是把从电位器读取来的模拟量转为数字量,然后再转为处于以下数字区间的数字:
LowTemp equ -99 ; A/D 0 最低温度
HighTemp equ 99 ; A/D 255 最高温度
其代码如下: