下载此文档

单片机论文.doc


文档分类:论文 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
单片机论文1296810872东北大学秦皇岛分校电子信息系
单片机程序设计
温度采集系统设计
专业名称
班级学号
学生姓名
指导教师
设计时间
-
温度采集系统设计
摘要:本设计是用单片机组成温度采集显示系统,对单路温度进行测量,并用数码管显示当前温度值。温度范围为0℃~100℃,温度分辨率为±1℃。
关键词:温度温度采集
正文:本设计采用AT89C51单片机为核心控制器件,系统框图如下所示。

放大

显示

单片机
A/D转换
传感器
(温度采集)

在温度测量时,需要将温度的变化转换为对应的电压信号的变化,这就需要温度传感器。常用的温度传感器有热敏电阻、热电偶、集成温度传感器等。热电偶误差较大,集成温度传感器精度较高,但价格较贵,折中考虑因此选用负温度系数热敏电阻作为温度传感器。
将热敏电阻的阻值变化转换成相应的电压变化,需要一个转换电路。本设计采用电桥电路,用热敏电阻与三个普通电阻组成电桥,当温度变化时,电桥的输出电压信号随之变化。
由于电桥输出的电压信号幅值较低,要经过放大后才能满足A/D转换器对输入电压的要求,因此采用运算放大器对信号进行放大。温度与放大电路共同构成测温电路。
测温电路输出的电压信号是模拟信号,需要经过A/D转换成数字量后才能被单片机识别。该系统采用8位A/D转换器ADC0809集成电路芯片。AT89C51单片机控制ADC0809将模拟电压信号转换成数字信号,并根据这个数字信号查表取得相应温度值,送到数码管显示。
根据设计要求,可以用3位LED数码管显示当前温度值。由于数据管位数不多,可以采用静态显示方式和BCD-七段译码器译码。但考虑到硬件成本,因此采用动态显示方式和程序译码方式,即直接从I/O口送出七段码。
通过以上分析可得出程序设计方面的各部分任务分配如下:
主程序负责对系统初始化,包括中断设置、定时器设置和启动第一次A/D转换。
定时器T0中断服务程序负责动态显示,定时依次将个、十、百位显示缓冲单元的数据送相应数码管。程序中这3个缓冲单元是30H(个位)、31H(十位)和32H(百位)。
外中断INT0中断服务程序负责控制A/D转换,启动下一次转换,取得转换结果,将结果转换成3位BCD码分别存放在个、十、百位三单元显示缓冲。
相应的程序流程图如下:
主程序
初始化
中断开发
定时器初始化
堆栈设置
启动A/D转换
启动定时器

原地踏步
外中断INT0
中断服务程序
读取A/D0809转换结果
启动下一轮转换
将转换成BCD码

返回

计数器=2
送百位数
百位数码管点亮
计数器+1
送十位数
十位数码管点亮
计数器+1
送个位数
个位数码管点亮
计数器+1
计数器=1
计数器=0
定时器重置初值
定时器T0
中断服务程序
返回
设计的源程序如下:

ORG 0000H
AJMP MAIN
ORG 000BH
AJMP DISP
ORG 0013H
AJMP AD
MAIN: SETB IT0 ;设置INT0为边沿触发器
MOV IE,#83H ;INT0、T0中断开放
MOV IP,#0

单片机论文 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人araccs37
  • 文件大小904 KB
  • 时间2018-01-20