5kg的单片机压力传感器 连单片机怎么做,求大神指教

正在初始化报价器手机压力传感器有什么用求大神指教下3个回答svhdsp光纤传感器由光源、入射光纤、出射光纤、光调制器、光探测器以及解调制器组成,原理是光在调制区内与外界被测参数相互作用,使光的光学性质发生变化而成为被调制的信号光,再经出射光纤送入光探测器、解调器而获得被测参数压力传感器的重要传感元件是法布利-比洛特(FP)型光学干涉仪。
soufunso  手机压力传感器作用如下
海拔高度测量
  对于喜欢登山的人来说,都会非常关心自己所处的高度。海拔高度的测量方法,一般常用的有2种方式,一是通过GPS全球定位系统,二是通过测出大气压,然后根据气压值计算出海拔高度。
  辅助导航
  现在不少开车人士会用手机来进行导航,不过常常会有人抱怨在高架桥里导航常常会出错。比如在高架桥上时,GPS说右转,而实际上右边根本没有右转出口,这主要是GPS无法判断你是桥上还是桥下而造成的错误导航。一般高架桥上下两层的高度都会有几米到十几米的距离了,而GPS的误差可能会有几十米,所以发生上面的事情也就可以理解了。
  室内定位
  由于在室内无法很好的接收GPS信号,所以当使用者进入一幢很厚的楼宇时,内置感应器可能会失去卫星的信号,所以无法识别用户的地理位置,并且无法感知垂直高度。而如果手机加上压力传感器再配合加速度计、陀螺仪等技术就可以做到精准的室内定位。这样以后你在商场购物时,就可以通过手机定位来告诉你你想购买的产品在商场的那个位置,哪一层楼。
yesido_37手机上的压力传感器就是触屏的屏幕一般是电阻屏幕电容也算,不过电容屏只需要导体操作就可以,操作灵活,而电阻屏操作就一般了
希望解答了你的疑惑,解决了你的问题。
其他回答热门问答1234567891011121314151617181920查看更多21222324252627282930相关问答1个回答陡变吧SOI电压力锅的压力开关是出厂前经严格测试调定的。维修人员不可随意调整,压力增大后会相当危险的!4个回答qzuser_感觉没有冒啥气哈,难道运气那么好,不用调!!!1个回答暖宝宝_1711蒸汽压力开关,装在锅盖上,一般是两个。4个回答qzuser_1.231个回答man_8777你好歹也上个图啊?3个回答咚咚锵_8813顶上3个回答笑谈闲扯多一个隔膜将介质隔离开,因此表内可以注入一些甘油等阻尼物质7个回答chenmo31我都是用压力表来调的,安全第一啊!现在的电压力锅用的材料都没有以前的好了,所以最好还是用压力表来调,以前我碰到一个自己调压力,煮饭时竟然把压力锅底部顶烂了,好在人没有受伤,对待压力...3个回答锈袚许那刚买来的时候没用过吗?呵呵 没有开关,做什么食物直接选择即可,做完有提示音。3个回答下次10417滴盘右下角,一根红线,一根兰线,有铜片触点。查看: 4116|回复: 8
求大神指教一下!通过单片机和温度传感器控制温度从而控制一个小风扇转速的快慢
我想做一个小设计。通过单片机和温度传感器控制温度从而控制一个小风扇转速的快慢。本人挺喜欢这些小东西的,可惜电子的专业课学的不是很好,不知道有那个大神可以教一下我该怎么做的。例如电路该怎么设计比较简单,单片机芯片用那个型号的好。
找找看坛里有没有单片机温控风扇之类的帖子,555的温控风扇电路还算简单,只是不属于单片机类芯片。
可以这样设计&&就是温度值读出来多少 然后通过单片机的PWM模块
我主要是想设计一个程序,当温度达到一个值就可以通过单片机来控制电流的输出从而控制风扇转速的快慢。
找找看坛里有没有单片机温控风扇之类的帖子,555的温控风扇电路还算简单,只是不属于单片机类芯片。
真找到这样的帖子,谢谢了
用电流控制风扇转速就要用到数/模转换,用PWM的话电路更简单些。
&&采用直流电机,&&用霍尔元件&&,由单片机一输入口,计数输入转数。 单片机采用 STC 15W4K32S4
&&以下是 控制电机电压 PWM 程序详解
汇编示例代码1
假如要生成一个重复的PWM波形,波形如下:
PWM波形发生器的时钟频率为系统时钟/4,波形由通道4输出,周期为20个PWM时钟,占空比为1/3,由4个PWM时钟的相位延迟(波形如下图所示)
汇编代码可以如下设计:2500 ---- 4000&&转
;; +-------------------------+
;; | Global Configuration&&
;; +-------------------------+
;; 全局配置&&
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
;&&Set EAXSFR to enable xSFR writing against XRAM writing
;&&设置端口配置寄存器 P_SW2
;&&EAXSFR: 扩展xSFR访问控制使能&&EAXSFR为1
端口配置寄存器P_SW2
地址:BAH& & & & 初始值:B
EAXSFR:扩展SFR访问控制使能
:MOVX A,@DPTR/MOVX @DPTR,A指令的操作对象为扩展RAM(XRAM)
:MOVX A,@DPTR/MOVX @DPTR,A指令的操作对象为扩展SFR(XSFR)
注意:若要访问PWM在扩展RAM区的特殊功能寄存器,必须先将EAXSFR位置为1
BIT6,BIT5,BIT4为内部测试使用,用户必须填0
mov& &&&A, P_SW2
orl& &&&A, #B
mov& &&&P_SW2, A&&
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
;&&Set channel-4 output register start at LOW
;&&设置 PWM配置寄存器 PWMCFG
;&&通道 4 初始化为低电平
PWM配置寄存器PWMCFG
地址:F1H& & & & 初始值:B
CBTADC:PWM计数器归零时(CBIF==1时)触发ADC转换
:PWM计数器归零时不触发ADC转换
:PWM计数器归零时自动触发ADC转换。(注:前提条件是PWM和ADC必须被使能,即ENPWM==1,且ADCON==1)
CnINI:设置PWM输出端口的初始电平
:PWM输出端口的初始电平为低电平
:PWM输出端口的初始电平为高电平
mov& &&&A, PWMCFG
anl& &&&A, #B& && && &&&; channel-4 start at LOW
mov& &&&PWMCFG, A& && &&&
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
;&&Set a clock of the waveform generator consists of 4 Fosc
;&&设置 时钟选择寄存器 PWMCKS
;&&选择4分频系统时钟
PWM时钟选择寄存器PWMCKS
地址:FFF2H(XSFR)& & & & 初始值:xxx0,0000B
SELT2:PWM时钟源选择
:PWM时钟源为系统时钟经分频器分频之后的时钟
:PWM时钟源为定时器2的溢出脉冲
PS[3:0]:系统时钟预分频参数。当SELT2==0时,PWM时钟为系统时钟/( PS[3:0]+1)
mov& &&&DPTR, #PWMCKS& && && &&&; FFF2H
mov& &&&A, #B
movx& & @DPTR, A& &
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
;&&Set period as 20
;&&{PWMCH,PWMCL} &= 19
;&&设置 PWM 计数器 PWMCH=00H
;& && && && && && &PWMCL=13H&&
PWM计数器的高字节PWMCH(高7位)
地址:FFF0H(XSFR)& & & & 初始值:x000,0000B
PWMCH[14:8]
PWM计数器的低字节PWMCL(低8位)
地址:FFF1H(XSFR)& & & & 初始值:B
PWMCL[7:0]
PWM计数器位一个15位的寄存器,可设定1~32767之间的任意值作为PWM的周期。PWM波形发生器内部的计数器从0开始计数,每个PWM时钟周期递增1,当内部计数器的计数值达到[PWMCH,PWMCL]所设定的PWM周期时,PWM波形发生器内部的计数器将会从0重新开始开始计数,硬件会自动将PWM归零中断中断标志位CBIF置1,若ECBI==1,程序将跳转到相应中断入口执行中断服务程序。
mov& &&&DPTR, #PWMCH& && && && &; FFF0H
mov& &&&A, #00H& && && && && &&&; PWMCH should be changed first
movx& & @DPTR, A
mov& &&&DPTR, #PWMCL& && && && &; FFF1H
mov& &&&A, #13H& && && && && &&&; Write PWMCL simultaneous update PWMCH
movx& & @DPTR, A
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &;; +-------------------------+
;; | Channel-4 Configuration&&|
;; +-------------------------+
;;&&通道配置
; Set toggle point 1 of Channel-4 as 3
; 设定 PWM4 一次翻转计数器为3&&(1 --- 32767)
; pwm2 ---&&pwm7
PWM4的第一次翻转计数器的高字节PWM4T1H
地址:FF20H(XSFR)& & & & 初始值:x000,0000B
PWM4T1H[14:8]
PWM4的第一次翻转计数器的低字节PWM4T1L
地址:FF21H(XSFR)& & & & 初始值:B
PWM4T1L[7:0]
mov& &&&DPTR, #PWM4T1H& && && & ; FF20H
mov& &&&A, #00H
movx& & @DPTR, A
mov& &&&DPTR, #PWM4T1L& && && & ; FF21H
mov& &&&A, #03H
movx& & @DPTR, A& && && && &
; Set toggle point 2 of Channel-4 as 16
; 设定 PWM4 二次翻转计数器为16 (1 --- 32767)
PWM4的第二次翻转计时器的高字节PWM4T2H
地址:FF22H(XSFR)& & & & 初始值:x000,0000B
PWM4T2H[14:8]
PWM4的第二次翻转计时器的低字节PWM4T2L
地址:FF23H(XSFR)& & & & 初始值:B
PWM4T2L[7:0]
PWM波形发生器设计了两个用于控制PWM波形翻转的15位计数器,可设定1~32767之间的任意值。PWM波形发生器内部的计数器的计数值与T1/T2所设定的值相匹配时,PWM的输出波形将发生翻转。
T1== PWM4T1H PWM4T1L&&T2 = PWM4T2H PWM4T2L
mov& &&&DPTR, #PWM4T2H& && && & ; FF22H
mov& &&&A, #00H
movx& & @DPTR, A& && &&&
mov& &&&DPTR, #PWM4T2L& && && & ; FF23H
mov& &&&A, #10H
movx& & @DPTR, A& && && && && && &
; Set Channel-4 output pin as default, and disable interrupting
;&&设定 PWM4的控制寄存器 PWM4CR
PWM4的控制寄存器PWM4CR
地址:FF24H(XSFR)& & & & 初始值:xxxx,0000B
PWM4_PS:PWM4输出管脚选择位
:PWM4的输出管脚为PWM4:P2.2
:PWM4的输出管脚为PWM4_2:P4.4
EPWM4I:PWM4中断使能控制位
:关闭PWM4中断
:使能PWM4中断,当C4IF被硬件置1时,程序将跳转到相应中断入口执行中断服务程序。
EC4T2SI:PWM4的T2匹配发生波形翻转时的中断控制位
:关闭T2翻转时中断
:使能T2翻转时中断,当PWM波形发生器内部计数值与T2计数器所设定的值相匹配时,PWM的波形发生翻转,同时硬件将C4IF置1,此时若EPWM4I==1,则程序将跳转到相应中断入口执行中断服务程序。
EC4T1SI:PWM4的T1匹配发生波形翻转时的中断控制位
:关闭T1翻转时中断
:使能T1翻转时中断,当PWM波形发生器内部计数值与T1计数器所设定的值相匹配时,PWM的波形发生翻转,同时硬件将C4IF置1,此时若EPWM4I==1,则程序将跳转到相应中断入口执行中断服务程序。
mov& &&&DPTR, #PWM4CR& && && &&&; FF24H
mov& &&&A, #00H
movx& & @DPTR, A& && &
;&&Clear EAXSFR to disable xSFR, return movx-DPTR to normal XRAM access
; 设置端口配置寄存器 P_SW2
;&&EAXSFR: 扩展xSFR访问控制OFF&&EAXSFR为0
mov& &&&A, P_SW2
anl& &&&A, #B
mov& &&&P_SW2, A
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
;; +-------------------------+
;; | Operate PWM output& && &|
;; +-------------------------+& && &&&
; Enable counter counting, and enable Channel-4 output
; 使能 PWM4
PWM控制寄存器PWMCR
地址:F5H& & & & 初始值:B
ENPWM:使能增强型PWM波形发生器
:关闭PWM波形发生器
:使能PWM波形发生器,PWM计数器开始计数
ECBI:PWM计数器归零中断使能位
:关闭PWM计数器归零中断(CBIF依然会被硬件置位)
:使能PWM计数器归零中断
ENCnO:PWM输出使能位
:相应PWM通道的端口为GPIO
mov& &&&A, PWMCR
orl& &&&A, #B
mov& &&&PWMCR, A
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
; 定时器 1 16位自动重载
TIMER1INIT:& & & & & & & & & & & & ;125毫秒@5.5296MHz
anl&&auxr,#0 定时器时钟 1 12T
anl&&tmod,#00fh
mov&&tl1, #000h
mov&&th1, #01fh
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& & & &
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
; 定时器 2 16位自动重载
TIMER1INIT:& & & & & & & & & & & & ;125毫秒@5.5296MHz
anl&&auxr,#0 定时器时钟2 12T
anl&&tmod,#00fh
mov&&tl2, #000h
mov&&th2, #01fh
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
转速& & && 4000&&转& &&&提转&&200& &&&
油量& & 420& &310& &260& &220&&190& &毫秒&&
PT1000&&&195&&&195&&&195&&&195 &195&&度&&
启动& & 风机&&1700&&开始点火&&2分钟&&PT000 增量30度&&熄火& &可重复3次
关机& & PT1000 下降到 35度&&关风机
开机故障检测&&实验读取数据
我有详解 QQ:
采用直流电机,&&用霍尔元件&&,由单片机一输入口,计数输入转数。 单片机采用 STC 15W4K32S4
&&以下 ...
Powered by求大神指教这种效果的图是怎么做出来的? - 知乎有问题,上知乎。知乎作为中文互联网最大的知识分享平台,以「知识连接一切」为愿景,致力于构建一个人人都可以便捷接入的知识分享网络,让人们便捷地与世界分享知识、经验和见解,发现更大的世界。201被浏览<strong class="NumberBoard-itemValue" title="1分享邀请回答2添加评论分享收藏感谢收起查看: 2753|回复: 7
用51单片机定时器输出PWM控制舵机,输出的PWM有很大误差,请大神指教
主题帖子精华
初级会员, 积分 155, 距离下一级还需 45 积分
在线时间8 小时
[C] 纯文本查看 复制代码#include &reg52.h&
#define uchar unsigned char
#define uint unsigned int
sbit pwm=P2^0;
void delayms(uint xms);
//软件延时函数
void timer_set(uint value);
void main()
TMOD=0X01;
//定时器初始化
TH0=()/256;
TL0=()%256;
pwm_val=500;
delayms(1000);
pwm_val=1500;
delayms(1000);
void timer0() interrupt 1
static uchar i=1;
//两角度之间切换
timer_set(pwm_val);
timer_set(20000-pwm_val);
void timer_set(uint value)
TH0=(65536-value)/256;
TL0=(65536-value)%256;
void delayms(uint xms)
for(i=i&0;i--)
for(j=125;j&0;j--);
主题帖子精华
初级会员, 积分 155, 距离下一级还需 45 积分
在线时间8 小时
程序要实现的功能是用定时器输出20ms的PWM,然后通过每秒钟改变高电平的时间实现舵机的来回转动。但是最后输出的PWM周期竟然是22.5ms左右,而且明明是设置的高电平在0.5ms和1.5ms之间切换,结果示波器测出来的竟然是2ms和3ms,找了很久就是不知道为什么会这样。。
主题帖子精华
金钱128938
在线时间1150 小时
你PWM计算公式呢?先根据公式算一下看看。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
主题帖子精华
初级会员, 积分 155, 距离下一级还需 45 积分
在线时间8 小时
回复【3楼】正点原子:
---------------------------------
我是用的51单片机,通过定时器中断来控制PWM的脉宽和周期,公式就是给定时器赋的初值。但是结果误差很大,不知道为什么,弄了好几天。
主题帖子精华
新手入门, 积分 14, 距离下一级还需 6 积分
在线时间0 小时
我现在也有这种情况,请问楼主怎么解决的?
主题帖子精华
金钱128938
在线时间1150 小时
主题帖子精华
高级会员, 积分 594, 距离下一级还需 406 积分
在线时间87 小时
你使用定时器模拟Pwm要精确考虑定时器改变定时参数不是立刻改变定时周期的,你为什么不用硬件Pwm,或者把定时器周期固定,通过软件计数达到你的要求的比例。
主题帖子精华
中级会员, 积分 343, 距离下一级还需 157 积分
在线时间55 小时
Powered by这题怎么做,求大神指教!!!! 请说详细点,谢谢!_百度知道
这题怎么做,求大神指教!!!! 请说详细点,谢谢!
文字说明在第二张图,算式在第一张图
厉害,绝对给好评
采纳率:83%
为您推荐:
其他类似问题
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 压力传感器指标 的文章

 

随机推荐