拉力传感器如何用开发板测试

拉力传感器如何用开发板测试,第1张

1、通常的检测方法是对拉力传感器进行固定,将牵引绳的一端与拉力传感器进行连接。

2、再对牵引绳的另一端施加拉力,从而实现对拉力传感器的检测,但是在实际使用中,也存在有在水下使用拉力传感器的使用场景。

3、同时也是为了检测拉力传感器的防水性能,由于水压等因素的影响,水下和陆地上对拉力传感器施加同样的压力得出的检测结果可能会存在差异,目前现有技术中缺少一种模拟水中环境对拉力传感器进行拉力测试的设备。

开机后自动运行用户的应用程序或启动系统服务的命令保存在开发板文件系统的/usr/etc/rclocal文件中。有的开发板开机后自动运行图形界面程序,需要按住ctrl+c让开发板进入到linux的SHELL提示符界面。其实可通过注释掉rclocal文件中调用图形界面的命令,增加运行用户应用程序的命令,达到开机自动运行用户应用程序的目的。

下面以我做的实验为例,描述具体的实现步骤。该方法源于网络,我加以验证,稍做修改,此文相当于转载。

1.进入pc机的Linux *** 作系统,在/nfs/usr/下通过mkdir lz 命令新建一个名为lz的文件夹,进入lz文件夹,通过mkdir hello新建一个hello文件夹用来存放我们将要编写的helloc文件和编译生成的可执行文件。

2.在/nfs/usr/lz/hello下通过vi helloc命令新建helloc文件,编辑如下测试程序:

#include <stdioh>

int main(){

一. 安装单片机程序编译软件KEIL。

1.点击图标 运行直至安装完成。

2.点击图标 运行KEIL,然后选择菜单“project”点击“new……”点击“ ”建立新的工程。填写好工程文件名选择保存路径后按“保存”,此时d出一个窗口如下图所示

点击Atmel左边的+号展开CPU的型号,选择“AT89C51”按“确定”再生成一个对话框如下图,再按“是”即可。

这时在工程左边的文件指示栏中多了一个 这样的图标,点其左边的+号可展开当前所包含的文件。

选择菜单“File”“new”新建一个文本编辑器,按保存按钮,在d出的窗口填入文件名后缀为C ,然后按保存即把这个C文本文件保存到这个工程的目录下。

再在工程左边的文件指示栏中指着 点击右键选择 选项把刚才建立的C文件加入来,按“Add”即可加入,这时就可以在C文本编辑器里编号程序了。

写好程序后选择菜单“project”选择“ ”打开的对话框如下图所示

如果d出来的不是这个对话框时可以重复一次“project”选择“ ”便可以打开,打开后在 这个方框里打上勾然后按“确定”才可以编译生成单片机的烧写文件HEX文件。这些选项都设置好并写好源程序后就可以在菜单选项project选项中选择 选项对源程序进行编译,生成的HEX文件就在工程的目录下。

本文章后面附带的是HJSMSY-V10开发板的测试源程序,读者可以将其复制到编译器里编译。此程序为一个简单的计算器功能程序,数写键依次对应电路板上的数字0--9,“A”键功能为清除,“B”键功能为等于,“C”键功能为+,“D”键功能为-,“E”键功能为,“F”键功能为除。

二. 把单片机开发板用9针串口线与电脑连接好,用配套的USB供电线将单片机开发板供电,并关闭电路板上的电源开关。运行STC芯片烧写软件,

点击图标

打开下载界面如下图

按这个图里面的设置设好参数后,点击“Open File/打开文件”打开HEX文件,在打开的对话框中找到刚才所建立工程的目录,在此目录下可以找到刚才编译得到的HEX文件,如果找不到则是还没有在 这个方框里打上勾,回到工程里打上勾并按 编译一次就行了。打开HEX文件确定后就点击下载软件的 ,再打开单片机开发板上的电源开关,这时电脑便自动与单片机连接并把程序下载到单片机里,下载完成后会有声音提示的,或者可以在软件界面上看得到。注:STC系列单片机是在开机的瞬间下载程序的,如果还未能连接成功可以关掉电源再开一次即可。

//HJSMSY-V10单片机开发板测试程序C

//-----------------------------------------------

// <<计算器>>

//-----------------------------------------------

//编写人:李春起

//编定日期:20100626

//修改日期:

//============================================================

#include <AT89X52H>

#define uchar unsigned char

#define uint unsigned int

uint comdata,vardata,dispdata;

unsigned char flag=0,incflag=0,maxflag=10,maxvar=1;

//===========共阳数码管段码表==================================

uchar code SEG7[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

uchar code ACT[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};

//================引脚定义=======================================

sbit yy=P3^2;

sbit jk=P3^4;

sbit k1=P2^3;

sbit k2=P2^2;

sbit k3=P2^1;

sbit k4=P2^0;

//=====子函数声明======================================

void init(void);

void delay1(uint z);

void kk(void);

//===========程序初始化===============================

void init(void)

{

TMOD=0x01;

TH0=0xf4;

TL0=0x48;

ET0=1;

TR0=1;

EA=1;

}

//=====空 *** 作延时子程序=======================

void delay1(uint z)

{

uint j,y;

yy=0;

for(j=0;j<z;j++)

{for(y=0;y<100;y++){;}}

yy=1;

for(j=0;j<z;j++)

{

for (y=0;y<3422;y++);

}

}

//========键盘扫描子程序===================

void kk(void)

{ P2=0xf0;

if(P2!=0xf0)

{

P2=0xef;

if(!k1){delay1(15);comdata=vardata;vardata=0;incflag=1;} //k13

if(!k2){delay1(15);comdata=vardata;vardata=0;incflag=2;} //k14

if(!k3){delay1(15);comdata=vardata;vardata=0;incflag=3;} //k15

if(!k4){delay1(15);comdata=vardata;vardata=0;incflag=4;} //k16

P2=0xdf;

if(!k1){delay1(15);if(vardata>6553){goto ab1;};vardata=((vardata10)/maxflag+8maxvar);dispdata=vardata;} //k9

ab1:if(!k2){delay1(15);if(vardata>6553){goto ab2;};vardata=((vardata10)/maxflag+9maxvar);dispdata=vardata;} //k10

ab2:if(!k3){delay1(15);vardata=0;dispdata=vardata;} // k11

if(!k4){delay1(15);switch (incflag){

case 1:{vardata=(comdata+vardata);dispdata=vardata;}break;

case 2:{vardata=(comdata-vardata);dispdata=vardata;}break;

case 3:{vardata=(comdatavardata);dispdata=vardata;}break;

case 4:{vardata=(comdata/vardata);dispdata=vardata;}break;

default:break;

}

}//k12

P2=0xbf;

if(!k1){delay1(15);if(vardata>6553){goto ab3;};vardata=((vardata10)/maxflag+4maxvar);dispdata=vardata;} //k5

ab3:if(!k2){delay1(15);if(vardata>6553){goto ab4;};vardata=((vardata10)/maxflag+5maxvar);dispdata=vardata;} //k6

ab4:if(!k3){delay1(15);if(vardata>6553){goto ab5;};vardata=((vardata10)/maxflag+6maxvar);dispdata=vardata;} //k7

ab5:if(!k4){delay1(15);if(vardata>6553){goto ab6;};vardata=((vardata10)/maxflag+7maxvar);dispdata=vardata;} //k8

ab6:P2=0x7f;

if(!k1){delay1(15);if(vardata>6553){goto ab7;};vardata=((vardata10)/maxflag+0maxvar);dispdata=vardata;} //k1

ab7:if(!k2){delay1(15);if(vardata>6553){goto ab8;};vardata=((vardata10)/maxflag+1maxvar);dispdata=vardata;} //k2

ab8:if(!k3){delay1(15);if(vardata>6553){goto ab9;};vardata=((vardata10)/maxflag+2maxvar);dispdata=vardata;} //k3

ab9:if(!k4){delay1(15);if(vardata>6553){goto ab10;};vardata=((vardata10)/maxflag+3maxvar);dispdata=vardata;} //k4

ab10:;

}

}

//======定时器0中断服务子程序================

void time0(void) interrupt 1

{

TH0=0xf4;

TL0=0x48;

P0=0xff;P1=0xff;

// 时钟显示子程序

switch(flag)

{

case 0:{P0=SEG7[dispdata%10];P1=ACT[0];flag=1;}break;

case 1:{P0=SEG7[(dispdata/10)%10];P1=ACT[1];flag=2;}break;

case 2:{P0=SEG7[(dispdata/100)%10];P1=ACT[2];flag=3;}break;

case 3:{P0=SEG7[(dispdata/1000)%10];P1=ACT[3];flag=4;}break;

case 4:{P0=SEG7[dispdata/10000];P1=ACT[4];flag=5;}break;

case 5:{P0=SEG7[0];P1=ACT[5];flag=0;}

default:break;

}

}

//=========主函数======================================

void main()

{

init();

yy=1;

jk=0;

while(1)

{

if((vardata/1000)>=9){maxflag=10;maxvar=0;}

else {maxflag=1;maxvar=1;}

kk();

}

}

想法不错啊,就主应该买个开发板。

我以前用的是周立功的开发板,用起来很顺手,给你推荐一下。呵呵,下面是对开发板的一些介绍,希望对你有帮助。

一.开发板简介

在一般的嵌入式系统开发过程中,硬件一般被分成两个平台,一个是开发平台(host),一个是目标平台(target)即开发板。在此描述的开发平台指的是使用台式机,通过传输的界面,例如串口(RS-232)、串口、或是网络(Ethernet)与目标平台连接。 开发嵌入式系统,不可避免的是一定要先选择目标平台。在挑选一个目标平台时必须审慎评估,因为这涉及到有无方便的开发环境及技术支持。一般的板子除了集成型的CPU之外,最少需要一个输入及输出的界面、供下载影像文件(ROM image)的接口、内存(RAM)、FlashROM、电源模块等。为了开发初期的调试方便,还会在拉出几个特殊的引脚,如JTAG接口,以供外接的调试模块所使用。 当硬件及规格选定完成后,接下来就是进入最开始的系统开发与建立开放环境。如果项目所使用的嵌入式 *** 作系统不是自己开发,而是向其他厂商购买的话,大都提供集成式开发环境(IDE)与仿真器(Emulator)让开发者可以加速整个开发的过程。当你拿到的是系统厂商已经移植好的 *** 作系统,并且确定有给予充分的文件之后,就可以针对自己的目标平台做集成的动作。 选定 *** 作系统之后,通常都会指定开发平台上所使用的各项开发工具,例如编译器、连接器等。开发时需要设置的编译参数会依据每个环境不同而有所差异。这个部分必须依据硬件规格与指示说明编译出一个可以运行的映像文件,然后通过烧录工具烧录在目标平台上。

1在电脑中找到STC-ISP程序烧写软件,有不同版本,但用法基本一致。双击打开会出现下图中界面。

2然后点击下图中箭头所指处,找到单片机型号STC89C52。然后,将51单片机开发板与电脑连接起来,初次连接时,会自动给电脑装一个驱动。

3单片机与电脑连接成功后,点击下图中扫描按钮,扫描出单片机与电脑连接的那个端口号。然后,点击打开程序文件按钮。

4在d出的对话框中,选择刚刚编写的那个程序文件,点击打开按钮。

5然后,点击图中的下载/编程按钮。

6此时,给按下单片机开发板上的电源开关给单片机上电。

7程序烧写成功后,会出现下图所示界面。

8此时,你会看到单片机开发板上,流水灯的第一个被点亮了。

以上就是关于拉力传感器如何用开发板测试全部的内容,包括:拉力传感器如何用开发板测试、如何在开发板执行(热插拔)挂载的时候运行一个程序、请问如何将C或汇编源程序或烧到自己制作的PCB板上 谢谢···等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9508092.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存