历史上的今天
今天是:2024年11月25日(星期一)
2021年11月25日 | stm8的18b20温度显示程序
2021-11-25 来源:eefocus
单片机源程序如下:
#include"stm8s.h"
#include"Cry12864.h"
#include"temp.h"
#include"tim1.h"
void LcdDisplay(int temp) ;
uint a;
void main( void )
{ CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//内部时钟1分频16m
Ini_Lcd();//液晶初始化
Tim1_Init();//时钟初始化
while(1)
{LcdDisplay(Ds18b20ReadTemp());
}
}
/*******************************************************************************
* 函数名 : LcdDisplay()
* 函数功能 : LCD显示读取到的温度
* 输入 : v
* 输出 : 无
*******************************************************************************/
void LcdDisplay(int temp) //lcd显示
{
unsigned char datas[] = {0, 0, 0, 0, 0}; //定义数组
float tp;
if(temp< 0) //当温度值为负数
{
Write_Cmd(0x80); //写地址 80表示初始地址
Write_Data('-'); //显示负
//因为读取的温度是实际温度的补码,所以减1,再取反求出原码
temp=temp-1;
temp=~temp;
tp=temp;
temp=tp*0.0625*100+0.5;
//留两个小数点就*100,+0.5是四舍五入,因为C语言浮点数转换为整型的时候把小数点
//后面的数自动去掉,不管是否大于0.5,而+0.5之后大于0.5的就是进1了,小于0.5的就
//算由?.5,还是在小数点后面。
}
else
{
Write_Cmd(0x80); //写地址 80表示初始地址
Write_Data('+'); //显示正
tp=temp;//因为数据处理有小数点所以将温度赋给一个浮点型变量
//如果温度是正的那么,那么正数的原码就是补码它本身
temp=tp*0.0625*100+0.5;
//留两个小数点就*100,+0.5是四舍五入,因为C语言浮点数转换为整型的时候把小数点
//后面的数自动去掉,不管是否大于0.5,而+0.5之后大于0.5的就是进1了,小于0.5的就
//算加上0.5,还是在小数点后面。
}
datas[0] = temp / 10000;
datas[1] = temp % 10000 / 1000;
datas[2] = temp % 1000 / 100;
datas[3] = temp % 100 / 10;
datas[4] = temp % 10;
Write_Cmd(0x82); //写地址 80表示初始地址
Write_Data(0x30+datas[0]); //百位
//LcdWriteCom(0x83); //写地址 80表示初始地址
Write_Data(0x30+datas[1]); //十位
//LcdWriteCom(0x84); //写地址 80表示初始地址
Write_Data(0x30+datas[2]); //个位
……………………
史海拾趣
|
我想写一个CE程序,上面有拨号和挂断两个按钮,用来操作gprs连接,而且cmwap还要用代理,请问在C#中如何实现。最好能详细一点,我是个初学者。先谢谢各位前辈了!… 查看全部问答> |
|
支持横竖屏切换的.Net Micro Framework模拟器 从.Net Micro Framework V3.0开始,就一直期待美国团队能推出横竖屏切换功能的模拟器,但直到V4.0的推出也没有实现该功能。由于手头上的一些开发板带有的竖屏的LCD,所以离开开发板,开发相关界面就会难以调试,所以只好自行开发一个支持横竖屏切换 ...… 查看全部问答> |
|
1、什麽是变频器? 变频器是利用电力半导体器件的通断作用将工频电源变换为另一频率的电能控制装置。2、PWM和PAM的不同点是什麽? PWM是英文Pulse Width Modulation(脉冲宽度调制)缩写,按一定规律改变脉冲列的脉冲宽度,以调 ...… 查看全部问答> |
|
原文:TI信号链精品博文集锦——看一个TI老工程师如何驯服精密放大器---第一讲 看了好几遍,还是没看明白 第1讲 将运算放大器用作比较器 ——此举可行吗? 答案:不尽然,看 ...… 查看全部问答> |
|
本帖最后由 hh376158101 于 2014-8-16 16:02 编辑 首先,先晒一下本次申请的样品,从申请,发货到收货只用了3天时间,这就是效率啊。这次我选择TI的汽车报警系统设计套件,正好与工作相关,可以参考借鉴。 下图为MSP430F2232单片机特写。 在T ...… 查看全部问答> |
|
本帖最后由 qq849682862 于 2014-12-8 23:20 编辑 照理 先来段科普文 在局域网内,你要通过一台主机和其他主机进行通信,你需要知道对方的ip地址,但是有些时候,你并不知道对方的ip地址,因为一般使用DHCP动态分配ip地址的局域网内,各个主机的 ...… 查看全部问答> |




