课程设计基于51单片机的压力数据采集

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

xxxxxx大学

课程设计报告

课程设计名称:单片机系统综合课程设计

课程设计题目:基于51单片机的压力数据采集

院(系):

专业:

班级:

学号:

姓名:

指导教师:

完成日期:

xxxxxx大学课程设计报告

目录

第1章总体设计方案 (1)

1.1设计原理 (1)

1.2设计思路 (1)

1.3实验环境 (2)

第2章详细设计方案 (3)

2.1硬件电路设计 (3)

2.2主程序设计 (4)

2.2功能模块的设计与实现 (5)

第3章结果测试及分析 (11)

3.1结果测试 (11)

3.2结果分析 (11)

参考文献 (12)

附录A(源程序代码) (13)

附录B(电路原理图) (16)

附录C(元件列表) (17)

第1章总体设计方案

1.1 设计原理

根据课程设计任务书的内容与要求,需要使用伟福Lab6000试验箱上提供的压力传感器实现压力的实时传感,利用A/D转换装置将压力传感器输出的模拟信号转换成为数字信号,在利用箱上的数码管将转换数字信号结果显示出来。

为了保证压力传感的准确性,开始执行时,需要将压力传感器软件调整出零点,如不进行压力零点的调整,压力传感器将不进行工作。压力传感器工作时,由于硬件的原因压力传感结果经常波动,如果想进行压力传感值的锁定,程序提供了利用开关实现的此功能,以方便对于压力测算值的读取。

1.2 设计思路

采用C语言编程,结合伟福Lab6000试验箱的固定硬件模块加以实际连线调整硬件部分。

1)提出方案

a)需要实验箱上压力传感器提供准确的压力测算值;

b)压力传感器的模拟信号通过箱上的A/D转化模块转化为可以显示的数字

信号;

c)A/D转换的结果通过中断的方式显示到数码管上。

2) 方案论证

由于压力传感器的硬件原因,其A/D转换结果并非从零开始的,为提供准确的压力测算值,程序开始须等待调零,否则不提供压力的测定值。若进行过调零,则之后不断的测试压力的变化,提供测定值。

模拟信号进入A/D转化之后,每一次完成转化,通过EOC端口向外发出中断,使用该中断信号作为输出数据的采集信号。

进入中断后采集的数字信号通过公式转化成为可现实的数字,用显示程序通过对数码管的扫描显示显示出来。

1.3 实验环境

·硬件环境:伟福Lab6000实验箱,PC机。

·软件环境:Wave应用软件。

第2章详细设计方案

2.1 硬件电路设计

硬件电路共由以下四个部分组成,分别包括压力传感器硬件模块,A/D转换硬件模块(ADC0809),8031硬件模块以及数码管硬件模块。

硬件电路连线如图2.1所示。

图2.1 硬件电路连线图

压力传感器模块:压力传感器模块将传感器接受到的压力转化成模拟信号输出到端口上,大致分为电源、电阻电路、运放、输出四部分。

A/D转化模块:以ADC0809芯片为基础集成的硬件模块,ADC0809芯片为逐次逼近型8位A/D转化器,可采用中断方式读结果,在中断方式下,A/D转换结果会自动产生EOC信号,将其与CPU外中断相连,即可用中断方式读取A/D 转换结果。

8031CPU模块:8031CPU上提供并行口进行输入输出,提供内部时钟计时,并可以接受外部中断信号进行中断服务子程序的处理。

数码管模块:提供6位8段码LED显示电路,8位段码、6位位码由两片74LS374输出,位码经过MC1413倒向驱动后,选择相应位显示。8位段码输出地址为0x004H,位码输出地址为0x002H。

2.2 主程序设计

主程序流程图如图2.2所示。

图2.2 主程序流程图

程序开始时等待程序调零,若不进行调零则一直处于等待的状态下。调零后,压力转化器将采集数据传入A/D转换器中,A/D转换器转化完成将通过EOC端口发出一个中断信号,接受到中断信号后,若中断开启,将A/D转化结束的数值取出,输出到数码管的显示;若中断关闭,则开始新一轮的采集压力,不予显示。锁定测定值原理同中断关闭,不接受新的中断,而保持原来需要输出的数值不变。

2.2 功能模块的设计与实现

程序主要包括以下几个部分:

a)对中断方式,计数器计数方式的初始化;

b)等待压力传感器调零;

c)等待中断,等待期间不断输出压力值;

d)中断服务子程序,A/D转换结果的保存;

e)定时器定时。

1)中断方式,计数器计数方式的初始化模块

对中断的设置包括:开外中断0(即INT0);设置中断优先等级为五个中断同一优先级;设置触发方式为边沿触发;最后开启中断。

对计数器的设置包括:计数器工作方式设置为T0工作于方式一定时器;设置计数器初值为0xFE0C(这个初值下计数器为1ms级别定时器)。

计数器初值计算由下面的公式得出:

可得X=0xFE0C。

中断方式,计数器计数方式的初始化流程图如图2.3所示。

图2.3 初始化流程图

2)等待压力传感器调零模块

由于压力传感器的硬件局限,不施加压力时,依然会有一个非零的模拟信号发送出来,经A/D转化后将在数码管上显示出不符合事实标准的一个非零压力值,所以设计了等待清零的模块,防止此种状况的出现。

程序初始化完成之后,进入等待调零的状态,此状态下数码管不显示具体数值,显示字母P以表示等待。当开关给出清零信号之后,跳出等待状态,进入压力值正常显示状态。

等待压力传感器调零流程图如图2.4所示。

相关文档
最新文档