我现在写了DS18B20的c程序还有用定时器输出的PWM波程序,用数码管显示温度的,但是把它们组合在一起不行
发布网友
发布时间:2022-05-05 06:25
我来回答
共3个回答
热心网友
时间:2023-10-12 21:43
我告诉你为什么:
因为定时器中断是强制性的,一旦计时溢出,无论程序执行到何处都会被暂停,优先去执行中断服务程序。 DS18B20这种对时序有严格要求的单总线通讯,在发送和接收数据时被定时器中断扰乱了时序,所以无法通讯。要解决此问题建议你采用带硬件PWM的MCU,或者将18B20通讯代码放在中断服务程序内部,如果采用后一种方式,PWM计时时间请算上18B20通讯的时间。
热心网友
时间:2023-10-12 21:44
这是一定不行的,定时器写的pwm是会破坏18b20的时序的;
如果时间允许序的话,即pwm高(低)电平时间大于读写18b20的时间;我建议你在每个pwm的高(低)电平的时候进行18b20的操作;
若时间不允许的话,那么只能在定时器中加上18b20的读取时间了,这样将会很麻烦;
以上仅供参考。
希望你早日解决问题,谢谢
热心网友
时间:2023-10-12 21:44
那一定是你程序调用的时候出了问题,程序不知道跑哪里执行了。~
我现在写了DS18B20的c程序还有用定时器输出的PWM波程序,用数码管显示...
DS18B20这种对时序有严格要求的单总线通讯,在发送和接收数据时被定时器中断扰乱了时序,所以无法通讯。要解决此问题建议你采用带硬件PWM的MCU,或者将18B20通讯代码放在中断服务程序内部,如果采用后一种方式,PWM计时时间请算上18B20通讯的时间。
...在液晶上显示由DS18B20感受的温度和设定的温度,设定温度控制电机的...
我的18B20也丢了,也没有L298N,不具备实验条件 PWM程序是以前试过的,所以就直接贴出来了 若你的整体程序老是出问题,静下心来,分步实验 先写一个温度测量显示程序 再写按键控制PWM调速程序 然后二者合一,一边测温,一边手动调速 最后,改成根据所测温度自动调速 复杂问题分步解决就要容易得多 多...
求一个单片机c程序关于温度报警的 DS18B20 AT89C51
使用DS18B20测温,用LED对温度进行显示,并能通过矩阵键盘对温度进行上限值设定,要求越限蜂鸣器报警.要钱的就免了,只是做课设,急用。目前没什么头绪,板用的是hc6800最好是有程序和原... 使用DS18B20测温,用LED对温度进行显示,并能通过矩阵键盘对温度进行上限值设定,要求越限蜂鸣器报警.要钱的就免了,只是做课设,急...
单片机与DS18B20并用LCD1602显示 c程序
这是电路的连接sbitDQ=P1^4;//ds18b20与单片机连接口sbitRS=P1^3;sbitRW=P1^2;sbitEN=P1^1;还有我的LCD的16引脚接到了单片机上的P1.0上,就是要用软件使LCD亮,硬件已经做出来了,所以... 这是电路的连接sbit DQ=P1^4;//ds18b20与单片机连接口sbit RS=P1^3;sbit RW=P1^2;sbit EN=P1^1;还有我的LC...
用单片机做温度检测系统 论文,
用DS18B20做的电子温度计,非常简单。include <reg51.h> include\"AscLed.h\"include <intrins.h> include <stdio.h> // define Seck (500/TK) //1秒中的主程序的系数 define OffLed (Seck*5*60) //自动关机的时间5分钟!// if (FHz==0)define NOP_2uS_nop_()else defin...
怎样用c程序将ds18b20的温度精度提高到0.5?
ds18b20的精度 可以达到0.0625
DS18B20测温8位LEDC程序:数码管显示不随温度变化,老是显示0.1“c,且...
这个问题我也曾经出现过,显示的温度不变,我的是因为取了温度以后对温度×100的算法不对,比如28度,算的时候先×100变成2800,然后再通过取余什么的得到十位、个位等数。就是在计算实际温度的那个地方错了,你看看温度换算那里吧,一般取温程序不会有错。
51单片机温度传感器ds18b20、lcd1602液晶C程序
必要操作:连接传感器DS18B20到U6 / pragma db code include<AT89X52.H> include "INTRINS.H"define BUSY1 (DQ1==0) //定义busy信号 sbit LED_0=P1^0;//定义数码管控制脚为P1口的0-3脚 sbit LED_1=P1^1;sbit LED_2=P1^2;sbit LED_3=P1^3;sbit DQ1=P3^5;//定义18B20单总...
谁能教教我怎么学单片机,先学什么,怎么入门?
学习51单片机的IO模块,使用IO点灯(流水灯)、控制数码管、控制8*8点阵模块、按键输入。 学习51单片机的中断模块,先从最简单的外部中断,使用中断的方式识别按键事件。 学习51单片机的定时器模块,实现1s定时,实现简单的数字秒表,实现IO口输出PWM波。 学习51单片机的串口模块,掌握串口电平标准,TTL、RS232、USB电平标准,...
大神,我想用基于STC89C52单片机,用到定时器通过L298N调PWM控制一个电机...
我可以给你一个手动PWM程序供参考 STC单片机单/双键控制LED亮度PWM调光程序 输出口为P3.7(PWM0) S2 S3为亮度调节(可用来调速)按钮 液晶屏LCD1602用来显示1-20亮度或速度级数,可以去掉 / include<STC12C54.H> define uchar unsigned char define uint unsigned int uchar vx=10;//vx=10 在上...