我们做传感器和执行器实验所用的数据通信端口是

我们做传感器和执行器实验所用的数据通信端口是,第1张

Socket端口。TCP/IP协议集成到 *** 作系统的内核中,这就相当于在 *** 作系统中引入了一种新的输入/输出端口技术,因为在TCP/IP协议中引入了一种称之为"Socket(套接字)"应用程序端口。在我国的传感器和执行器实验中的数据通信端口绝大部分都是Socket端口,Socket端口也是官方所使用的一种端口,该端口能够任意连接两个计算机进行数据传输。

硬件消抖自己去查电路。

软件消抖的话,用延时。用定时器延时,或者程序延时,消除抖动的时间,一般15ms,但如果你的程序要求不高的话,可以延长时间。在plc和单片机中一般都是这么做的。

这样搞出来的东西无论p0^1上是什么信号在p3^0,p3^1上都没反应,颇为不解。

在硬件接线上找原因,首先保证传感器电源负极和单片机系统的电源负极要短接,然后P01作为输入的话,P0口引线要接上拉电阻(每个引脚接电阻一端,另一端接电源正),1K-10K就够了,时间久了,记不大请了,你查查。

可以这么定义输入引脚吗?有哪些引脚是可以定义用来输入输出的?

没有问题,可以这么定义,单片机输入输出是双向的。

另外后面还要加一个灰度传感器,输出是模拟信号,在06V~16V,暂时不会自己做模数转换,怎么能把这个信号输进单片机?

C52没有模拟量输入接口,要加模拟量转换芯片,最好是串行通信的模块如I2C总线的,模块很多,不过编程比较复杂,初学者最好在找芯片的同时找一段成熟的读写子程序,网上示例很多。

SAMPLEAPP:这个实验按键控制工作组内模块LED 灯闪烁的实验,只有模块在工作组内,它以下的节点才能控制LED。

实验说明:首先启动一个网络协调器,协调器如果建立网络成功后,会在LCD 上显示

该节点为协调者同时显示网络ID 号。然后打开一个终端节点的电源,此时节点会自动加入

网络。加入网络成功后,节点会显示自己的网络地址和父节点的网络地址。模块加入网络后会自动加入工作组。节点跟主机、路由器加入同一工作组后,节点就可以控制主机和路由器的LED4 闪烁了,只需把节点的摇杆往上拔,就可以控制路由器和主机的LED 闪烁。同样,路由器的摇杆往上拔,也可以控制主机的LED4 闪烁。主机和路由器也可以随时退出工作组或加入工作组,

当主机或路由器在工作组内时,把摇杆往右拔一下,就可以退出工作组,反之则加入工作组。

主机或路由器一旦退出工作组,终端节点就无法控制主机或路由器了。

通往无线的桥梁

无线世界的先锋

32 Zigbee2007 协议栈实验例程表演说明

C:\Texas Instruments\ZStack-200-120\Projects\zstack\Samples\SampleApp\CC2520DB

这个实验按键控制工作组内模块LED 灯闪烁的实验,只有模块在工作组内,它以下的

实验说明:首先启动一个网络协调器,协调器如果建立网络成功后,会在LCD 上显示

该节点为协调者同时显示网络ID 号。然后打开一个终端节点的电源,此时节点会自动加入

网络。加入网络成功后,节点会显示自己的网络地址和父节点的网络地址。模块加入网络后

节点跟主机、路由器加入同一工作组后,节点就可以控制主机和路由器的LED4 闪烁了,

只需把节点的摇杆往上拔,就可以控制路由器和主机的LED 闪烁。同样,路由器的摇杆往

上拔,也可以控制主机的LED4 闪烁。主机和路由器也可以随时退出工作组或加入工作组,

当主机或路由器在工作组内时,把摇杆往右拔一下,就可以退出工作组,反之则加入工作组。

主机或路由器一旦退出工作组,终端节点就无法控制主机或路由器了。

GenericApp

这个实验是两个模块相互绑定后可以对传数据,模块绑定之后,两个模块之间相互传输

字符串"Hello World"。

实验说明:首先启动一个网络协调器,协调器如果建立网络成功后,会在LCD 上显示

该节点为协调者同时显示网络ID 号。然后打开一个终端节点或路由器的电源,此时节点会

自动加入网络。加入网络成功后,节点会显示自己的节点类型、网络地址和父节点的网络地

址。

节点加入网络成功后,首先把主机模块的摇杆往右拔一下,然后把要绑定模块的摇杆也

往右拔一下,如果两边的LED4 都熄灭或是点亮后马上熄灭,表示绑定成功。绑定成功后,

两个节点就开始相互定时发送数据,并在对方的LCD 屏上显示出来,发送的数据为"Hello

World"。此时如果把相互绑定模块中的一个摇杆往左拔一下,可以发送Match Description

Request 命令,对方则显示Match Description Request 信息。

通往无线的桥梁

无线世界的先锋

38400,无奇偶校验,1 位停止位。此时其中一个模块从串口发送数据,就可以从另一个模

实验工程路径为: C:\Texas Instruments\ZStack-200-120\Projects\zstack\Utilities\

这个实验是一个无线传输数据速度测试实验,主要是完成模块间的绑定和测试两个模块

之间相互传输数据的速成度实验。实验首先要完成绑定功能,才能进行数据传输的速度测试。

实验说明:首先启动一个网络协调器,协调器如果建立网络成功后,会在LCD 上显示

该节点为协调者同时显示网络ID 号。然后打开一个终端节点的电源,此时节点会自动加入

网络。加入网络成功后,节点会显示自己的网络地址和父节点的网络地址。加入成功后,就

可以开始绑定了。首先把主机模块的摇杆往右拔一下,然后把绑定模块摇杆也往右拔一下,

如果两边的LED4 都熄灭或是点亮后马上熄灭,表示绑定成功,此时就可以进行无线数据传

绑定成功后,此时把摇杆下拔,可以清除收发数据的计数值,并显示接收和发送时的速

度和完成收发的字节数。LCD 第一排显示此模块接收数据的速度和总字节数,第二排显示

此模块发送数据的速度与总字节数。如果模块想要发送数据,只需把摇杆向上拔一下,模块

就开始发送数据,LCD 上第二排则显示此时的速度与发送数据的总字节数。被绑定的另一

端则显示接收数据的速度与接收到数据的部字节数。如果想要停止发送数据,只需把摇杆向

SimpleApp

1、开关实验

在工程序里选择SimpleController 或SimpleController-Pro 做主机或路由程序,选择

SimpleSwitch 或SimpleSwitch-Pro 做节点程序时,可以做开关控制实验。

首先把SimpleController 或SimpleController-Pro 程序下载到模块里,然后把模块复位,

模块复位后LED2 不停闪烁。此时把摇杆往上拔,则此模块的属性就被定义为网络协调器,

然后系统会自动重新启动,模块会以网络协调器的身份建立一个网络,并会在LCD 上显示

该节点为协调者同时显示网络ID 号。如果把摇杆往右拔,则模块的属性被定义为路由器,

然后模块自动重启,如果此时有网络存在,节点会以路由器的身份加入网络,节点会在LCD

上显示自己为路由器以及它的网络地址和父节点的网络地址。此后,不管是复位还是断电重

启节点的类型都不会再改变了。只有重新烧写一次程序才能改变节点的类型。然后把SimpleSwitch 或SimpleSwitch-Pro 程序下载到模块里。然后把模块复位,模块复

位后LED2 不停闪烁。此时把摇杆往上拔或是向右拔,模块会以终端节点的身份自动重启,

如果此时有网络存在,模块会自动加入网络并显示自己的节点类型、网络地址和父节点的网

络地址。当下一次复位或是断电重启,模块都会直接以终端模块的类型加入网络。

当模块加入网络成功后,此时把协调器模块的摇杆往上拔一下,模块则允许其它模块绑

定。此时再把终端模块的摇杆往上拔一下,协调器模块LCD 上显示”Match Desc Req ”和”Rsp

Sent”,表示终端模块已经跟协调器模块绑定成功,此时把终端模块的摇杆往右拔可以控制

协调器模块的LED1 灯的亮和灭。终端节点绑定成功后,也可以把摇杆往下拔来解除绑定。

2、传感器实验

在工程序里选择SimpleCollector 或SimpleCollector-Pro 做主机或路由程序,选择

SimpleSensor 或SimpleSensor-Pro 做节点程序时,可以做无线传感器实验。

首先把SimpleCollector 或SimpleCollector-Pro 程序下载到模块里,然后把模块复位,模

块复位后LED2 不停闪烁。此时把摇杆往上拔,则此模块的属性就被定义为网络协调器,然

后系统会自动重新启动,模块会以网络协调器的身份建立一个网络,并会在LCD 上显示该

节点为协调者同时显示网络ID 号。如果把摇杆往右拔,则模块的属性被定义为路由器,然

后模块自动重启,如果此时有网络存在,节点会以路由器的身份加入网络,节点会在LCD

上显示自己为路由器以及它的网络地址和父节点的网络地址。此后,不管是复位还是断电重

启节点的类型都不会再改变了。只有重新烧写一次程序才能改变节点的类型。

然后把SimpleSensor 或SimpleSensor-Pro 程序下载到模块里。然后把模块复位,模块复

位后LED2 不停闪烁。此时把摇杆往上拔或是向右拔,模块会以终端节点的身份自动重启,

如果此时有网络存在,模块会自动加入网络并显示自己的节点类型、网络地址和父节点的网

络地址。当下一次复位或是断电重启,模块都会直接以终端模块的类型加入网络。

当模块加入网络成功后,此时把协调器模块的摇杆往上拔一下,模块则允许其它模块绑定,

此时需要等待一段时间,大约5 秒后协调者LCD 上显示”Match Desc Req ”和”Rsp Sent”。此

后终端模块会自动绑定到协调器上,终端模块和协调器模块绑定成功后,终端模块会定时向

网络协调器发送自己的温度值和电池电压值。网络协调器此时需要用串口线把底板接到电脑

上,然后打开串口调试助手,把波特率设到38400,8 位数据位,1 位停止位,无奇偶校验

位。就可以定时在串口调试助手上显示其它终端节点的温度值和电池电压值。

应该就是这样的了,很明白

这种柔软的皮肤传感器设计用于捕捉、收集和分析汗液。(版权所有)西北大学J罗杰斯(JRogers),

想象一下,如果拍下你的健康快照就像在皮肤上贴上贴纸一样容易。一项新的研究发现,一个小小的粘着传感器可以根据你的汗水来读取你体内的状况,并将有关你健康状况的信息无线传输到智能手机上。研究人员称,这种可穿戴传感器有一天可以作为血液检测的替代品来评估人们的健康状况。

汗液是一种富含分子的化学物质,从简单的带电离子到更复杂的蛋白质,这些分子可以揭示人体内部的情况。医生可以用汗水来诊断某些疾病,揭示药物的使用情况,以及对运动成绩的洞察。研究的资深作者、伊利诺伊州埃文斯顿市西北大学生物集成电子中心主任、材料科学家约翰·罗杰斯说,汗液收集的侵入性也比血液小得多。在这项新的研究中,科学家们将化学传感器和其他设备嵌入一个软物中,柔软的硅橡胶圆盘,大约有四分之一的大小和厚度,可以很容易地粘在皮肤上。该设备旨在收集和分析汗液中的关键生物标志物或健康标志物。例如,传感器可以显示人们对运动的反应,包括是否有人需要做出调整,比如多喝水或补充电解质。[仿生人类:前10项技术]“KDSPE”“KDSPs”“我们已经开发了各种薄的、柔软的和柔软的皮肤安装设备作为下一代可穿戴技术平台,几年来,”Rogers告诉Live Science。现在,我们已经开发出一种能够捕捉和分析汗液的装置。

这个可穿戴的实验室包含了“微流体技术”,其设计原理与微电子学处理电子的方法非常相似。具体地说,传感器将汗液沿着一些宽度约为002英寸(05毫米)的微观通道导入直径约为016英寸(4毫米)的隔间。罗杰斯在一份声明中说:“我们选择了这四种生物标志物,因为它们提供了一个与健康状况测定相关的特征曲线。”该装置还可以测定出汗率和汗液流失量,必要时还可以储存样本用于后续的实验室分析。

传感器腔室内的化学反应会导致颜色的可见变化,从而显示出汗液中所含生物标记物的水平。当智能手机靠近传感器时,智能手机内的近场通信技术(与谷歌钱包(Google Wallet)和苹果支付(Apple Pay)等移动支付系统中使用的技术相同)使用短程无线电波为传感器内的电子设备供电和通话。然后,传感器中的电子设备使一个智能手机应用程序拍下传感器的照片,然后应用程序可以分析这个图像来计算生物标记物的水平,研究人员说。

“我们开发的汗液分析平台将允许人们在现场监测自己的健康状况,而无需进行血液取样和研究合著者、西北大学工程系教授黄永刚在一份声明中说,由于集成电子设备不需要电池,但仍能与智能手机无线连接,因此

是一种分析汗液的传统方法,它通过贴在皮肤上的吸水性贴片来捕捉汗液并进行分析他们稍后离开现场。相反,罗杰斯说,这种新的传感器可以实时分析汗液,其他科学家开发的

汗液传感器可以戴在皮肤上。但罗杰斯说,与微流控通道相比,这些其他传感器仍然依赖于吸水性贴片,因此它们无法分析人们出汗的速度。此外,与以往的汗液传感器不同,他补充说,这种新设备不需要电池,在实验中,罗杰斯、黄和他们的同事将传感器放在21名健康志愿者的前臂和背部,分析他们的汗液。其中9人在受控条件下在健身中心室内骑车,另外12人参加了图森巡回赛,一种在干旱和复杂的户外条件下进行的长距离自行车比赛。

根据科学家们的研究,室内自行车运动员佩戴的传感器的数据与传统的汗液分析方法的数据相吻合。户外自行车运动员身上的传感器也如预期的那样工作,尽管沙漠环境复杂且不可预测,传感器仍然保持工作。此外,研究人员说,这些设备在所有志愿者身上都不会引起不适或 。

的目的是让传感器“每台设备的价格不到150美元,”罗杰斯说在这个价格点上,我们认为他们可以合理地找到一次性使用的应用程序。

就直接的商业应用而言,科学家们说他们“可以看到这种设备用于健身、健康和锻炼——例如,运动员可以跟踪出汗率和电解质流失,”罗杰斯说“我们还与一家大型生物医学设备公司合作,利用这些设备在糖尿病的情况下无创性地追踪汗液中的葡萄糖,”他补充说我们还与美国空军合作,跟踪现役飞行员的健康状况。

研究人员补充说,他们的技术可能延伸到其他体液,如眼泪和唾液。科学家们在11月23日的《科学转化医学》杂志上详细介绍了他们的发现。

关于生命科学的原始文章。

楼主你这里的光电开关又叫光电对管(一个红外发射管和一个基极内接的感光三极管) 因为这是循迹小车我选用rpr220,我以上传电路图

我补充一句光电耦合器原理也类似光电对管只不过把发光管和感光管镶嵌在内部,而且值得注意的是光电耦合器规格只有多少电压的,我没有听说有多少电流的,要用光耦还不如用三极管更直接。其实不推荐使用光耦做驱动,我的电路就是使用l298n驱动12v电机

顺便说一下,电路图里有一个电机接一个电容主要是针对电机调速,而我的电机灵敏度不好,加一个电容起缓冲作用,而l298芯片的电路典型法中没有。

我最近做了个循迹小车结题报告如下。。。

其实是否用光电隔离取决于你驱动的电机的电流大小如果电流不到1安不用光电耦合也行。。。光耦驱动好像不行,不太稳定

测速用码盘的话最好做的越密越好,否则实际运行中轮子会晃动等等很多原因使结果误差很大,因为一般光电开关都会有聚光器,很小的晃动都能感觉到

循迹小车

制作人:李静

摘要:通过制作小车可以加深对单片机控制的熟练程度,同时初步学习项目开发的过程。

小车按照给定的路线行走,有定时,显示运行时间,计时,粗测行走距离等功能。

一、 设计任务:

1、设计要求

(1)自动寻迹小车开始处于设置模式下,通过按键设置运行时间,完成设置时间后,按下开始键小车启动,同时显示当前运行的时间。

(2)小车按指定路线运行,自动区分直线轨道和弯路轨道,在指定弯路处拐弯,实现灵活前进、转弯等功能。

(3)小车行走在预设的时间后,自动停止,数码管显示行走的时间,3秒后显示行走距离。

(4)中途可以按右键强制停止,提前结束,显示行走时间,距离。

2、小车循迹的原理

这里的循迹是指小车在白色地板上循黑线行走,通常采取的方法是红外探测法。

红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。红外探测器探测距离有限,一般最大不应超过3cm。

二、 方案论证:

根据设计要求,本系统主要由控制器模块、电源模块、寻迹传感器模块、直流电机及其驱动模块、电压比较模块等模块构成。

为较好的实现各模块的功能,我们分别设计了几种方案并分别进行了论证。

31车体设计

方案1:购买玩具电动车。购买的玩具电动车具有组装完整的车架车轮、电机及其驱动电路。但是一般的说来,玩具电动车具有如下缺点:首先,这种玩具电动车由于装配紧凑,使得各种所需传感器的安装十分不方便。其次,这种电动车一般都是前轮转向后轮驱动,不能适应该题目的方格地图,不能方便迅速的实现原地保持坐标转90度甚至180度的弯角。再次,玩具电动车的电机多为玩具直流电机,力矩小,空载转速快,负载性能差,不易调速。而且这种电动车一般都价格不菲。因此我们放弃了此方案。

方案2:自己制作电动车。经过反复考虑论证,我们制定了左右两轮分别驱动,前万向轮转向的方案。即左右轮分别用两个转速和力矩基本相同的直流电机进行驱动,车体首部装一个万向轮。由此可以轻松的实现小车坐标不变的90度转弯。

在安装时我们保证两个驱动电机同轴。当小车前进时,左右两驱动轮与前万向轮形成了三点结构。这种结构使得小车在前进时比较平稳,可以避免出现后轮过低而使左右两驱动轮驱动力不够的情况。为了防止小车重心的偏移,前万向轮起支撑作用。

对于车架材料的选择,我们经过比较选择了铝合金。用有铝合金做的车架比塑料车架更加牢固,比铁制小车更轻便,美观。

32控制器模块

方案1:采用stc宏晶公司的stc89c52单片机作为主控制器。stc89c5是一个低功耗,高可靠性,超低价,无法解密,高性能的8位单片机,片内含32k空间的可反复擦写100,000次的Flash只读存储器, 32个IO口,且stc系列的单片机可以在线编程、调试,方便地实现程序的下载与整机的调试。

从方便使用的角度考虑,我们选择了此方案。

33电源模块

方案1:采用12V蓄电池为直流电机供电,将12V电压降压、稳压后给单片机系统和其他芯片供电。蓄电池具有较强的电流驱动能力以及稳定的电压输出性能。虽然蓄电池的体积过于庞大,在小型电动车上使用极为不方便,但由于我们的车体设计时留出了足够的空间,并且蓄电池的价格比较低。因此我们选择了此方案。

综上考虑,我们选择了此方案。

34稳压模块

方案1:用一个7805直接降压,用大散热片。虽然结构,原理简单,但电流过大,使电路不稳定,容易烧坏稳压块我们放弃了此方案。

方案2:直接用两7805把电压直接稳压到5V,理论上由于降压过大容易烧稳压块,用两个7805并联。但两个稳压块出现馈赠问题,后用修改电路解决此问题,我们最后选择了此方案

35寻迹传感器模块

方案1:用光敏电阻组成光敏探测器。光敏电阻的阻值可以跟随周围环境光线的变化而变化。当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱。因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。将阻值的变化值经过比较器就可以输出高低电平。

但是这种方案受光照影响很大,不能够稳定的工作。因此我们考虑其他更加稳定的方案。

方案2:用RPR220型光电对管。RPR220是一种一体化反射型光电探测器,其发射器是一个砷化镓红外发光二极管,而接收器是一个高灵敏度,硅平面光电三极管。

RPR220采用DIP4封装,其具有如下特点:

塑料透镜可以提高灵敏度。

内置可见光过滤器能减小离散光的影响。

体积小,结构紧凑。

当发光二极管发出的光反射回来时,经过lm339电压比较芯片,通过对门限电压进行比较,输出高低电平,通过调整门限电压可以调整传感器单元的灵敏度。此光电对管调理电路简单,工作性能稳定。

因此我们选择了方案2。

36电机模块

本系统为智能电动车,对于电动车来说,其驱动轮的驱动电机的选择就显得十分重要。由于本实验要实现对路径的准确定位和精确测量,我们综合考虑了一下两种方案。

方案1:采用直流减速电机。直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便。由于其内部由高速电动机提供原始动力,带动变速(减速)齿轮组,可以产生较大扭力。

因我们用软件对电机调速,实际值要比这小一些

注意:在实际计算时用的是理论值。

能够较好的满足系统的要求,因此我们选择了此方案。

37电机驱动模块

方案1:采用专用芯片L298N作为电机驱动芯片。L298N是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。用该芯片作为电机驱动, *** 作方便,稳定性好,性能优良。

方案2:对于直流电机用分立元件构成驱动电路。由分立元件构成电机驱动电路,结构简单,价格低廉,在实际应用中应用广泛。但是这种电路工作性能不够稳定。

因此我们选用了方案1。

三、 分析与计算:

1、传感器模块的设计

因此我们考虑用比较器的方案。

在图中,可调电阻RV1可以调节比较器的门限电压,而且经试验验证给此电路供电的电池的压降较小。因此我们选择此电路作为我们的传感器检测与调理电路。

2、寻迹光电对管的安装

考虑到设计要求,本次设计仅用4对光电传感器就能完成设计要求,采用直线型排列,中间2对传感器用来校正小车的寻迹路线,保证小车运行的直线性。两侧的传感器用来检测小车过线,可以实现小车的转弯。

4、电机驱动电路的设计

我们采用电机驱动芯片L298N作为电机驱动,驱动电路的设计如图7所示:

L298N的5、7、10、12四个引脚接到单片机上,通过对单片机的编程就可以实现两个直流电机的PWM调速以及正反转等功能。这里的二极管作用是释放电机线圈的自感电能

电容c3起缓冲作用,经过试验在调速时下方的电机接收的是一个高脉冲的电流,由于直流电机灵敏性不是很好,我们也考虑用周期长的脉冲,但由于扫描数码管就会慢,数码管就会出现颤动。综合考虑,我们选择接电容起缓冲作用。

4、测量距离设计

我们采用用一个光电对管感应轮子黑白条来算出轮子转动的角度间接测出行走的距离。

在实际中会出现轮子打滑现象,黑白纸带表面不光滑,不平整,轮子轴不牢固,内外摇晃,由于rpr220有聚光器即使非常小的变化都会有反应。通过实际测试传感器发出的信号要比理论大的多,在电池电量过低时,这种现象会更加不准,无规律可循(有时候大,有时候小)。即使在电量足的情况下也有很大误差,超过一定距离,结果已经没有意义,所以我们限定最大估测距离在6米左右,因此此设计为粗测距离。

四、 总电路图及元器件清单

经过反复论证,我们最终确定了如下方案:

(1)车体用铝合金车架手工制作。

(2)采用stc89c52单片机作为主控制器。

(3)用12V蓄电池为直流电机供电,将12V电压经两个7805(带大散热片)并联降压、稳压后为单片机系统和其他芯片供电。

(4)用RPR220型光电对管进行寻迹。

(5)L298N作为直流电机的驱动芯片。

五、 软件实现

31主程序流程图

我们所设计的软件的主程序流程图如图所示:

六、 测试:

七、 创新点

本作品改进了lm339电压比较器接控制门限电压的电阻的方式,没有采用接4个变阻器,用的是统一接一个变阻器,这样方便调整灵敏度。在光电对管传感器电路上也有改变,直接把发射极和集电极接在5V电源上,这样可以使电流更大,试验证明当接通时电流不足以烧坏三极管。

直流并联了电容,电容c3起缓冲作用,经过试验在调速时下方的电机接收的是一个高脉冲的电流,由于直流电机灵敏性不是很好,我们也考虑用周期长的脉冲,但由于扫描数码管也会慢,数码管就会出现颤动,我们同时考虑用时钟中断扫描刷新数码管,但那样使中断频繁发生(大约50ms)而且数码管刷新一次用时也会很长(大约24ms),造成中断过长,那样会大大加大整个循环周期,基本看不到数码管显示连续的数。综合考虑,我们选择接电容起缓冲作用。

八、 心得体会

P0 要想用做io口时必须加上拉电阻,即使用上拉电阻驱动能力也不怎么好。本作品用共阴数码管,驱动电路设计比较复杂,数字不够亮,最好用共阳数码管,加上三极管驱动可能效果会好一些。

由于单片机高频的对数码管进行扫描,在程序设计的时候就要求主程序的周期不能过长,这对于我们小车执行寻迹,调速,定时,计时,测距,转弯等功能的程序要求是非常高的,经过我综合考虑后决定主函数只有刷新数码管和探测黑线的功能剩下的所有功能都用中断处理,同时要求产生的中断时间不能过长。这些就造就了我的程序到目前为止已经有350行的长度。

我们最初设计精确测量距离,但误差不可避免,由于硬件的局限性,尊重事实,我们降低了标准。以后可以在此改进,扩展。

在整个测试阶段我们充分考虑程序功能的连续性和兼容性,由于89c52单片机速度的局限,同时程序需要实时对数码管高速的刷新频率我们不能设计车太高的速度。经过反复测试综合考虑我们采用目前的方案

九、 结束语

我们的寻迹小车在完成设计要求的前提下,充分考虑到了外观、成本等问题,在性能和价格之间作了比较好的平衡。由于设计要求并不复杂,我们没有在电路中增加冗余的功能。

由于作者水平的有限,部分观点存在错误,希望指正,指教,对此表示感谢。

特别感谢:

张洪军老师和实验室老师的指导,及接伟权,张新涛,黄绍军等学长的建议和指教,还有陈振宇,吴旷和全组成员,没有你们就没有我们今天。

2010年5 月

李静

程序片段

/

数码管刷新函数

/

void display(uchar qw,uchar bw,uchar sw,uchar gw)//显示函数

{

P2=0xe0;

P1=tabledu[qw];

delay(6);

P2=0xd0;

P1=tabledu[bw];

delay(6);

P2=0xb0;

P1=tabledu[sw];

delay(6);

P2=0x70;

P1=tabledu[gw];

delay(6);

P2=0x0f;//

}

/

任务初始化函数

/

void init0()任务1初始化函数

{

EA=1;

EX0=1;

EX1=1;

IT1=IT0=1;

P0=0x00;

flag=1;

jishu=0;//

}

void init()//任务2初始化函数

{

EA=1;

TH0=(65536-50000)/256;//初始化加1计数器

TL0=(65536-50000)%256;

ET0=1;

TR0=1;

TH1=(65536-50000)/256;//初始化加1计数器

TL1=(65536-50000)%256;

ET1=1;

TR1=1;

TMOD=0x11;

dsh=(qw10+bw)60;//

jishu=1;//

}

void jiesu()

{

if(flag2==0)

{

flag1=1;

flag2=1;

cnt1=0;

}

ET0=0;

P0=0;

display(qw,bw,sw,gw);

}

以上就是关于我们做传感器和执行器实验所用的数据通信端口是全部的内容,包括:我们做传感器和执行器实验所用的数据通信端口是、传感器实验 路灯控制电路中 怎样消除抖动、stc89c52 接一个红外传感器(E18-D80NK),怎么把信号输到单片机等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://www.54852.com/zz/9355877.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存