历史上的今天

今天是:2024年11月25日(星期一)

2021年11月25日 | stm8的18b20温度显示程序

发布者:JFET 来源: eefocus关键字:stm8  18b20  温度显示程序 手机看文章 扫描二维码
随时随地手机看文章

单片机源程序如下:

  1. #include"stm8s.h"

  2. #include"Cry12864.h"

  3. #include"temp.h"

  4. #include"tim1.h"

  5. void LcdDisplay(int temp) ;

  6. uint a;

  7. void main( void )

  8. { CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//内部时钟1分频16m

  9.   Ini_Lcd();//液晶初始化

  10.   Tim1_Init();//时钟初始化

  11.   while(1)

  12.   {LcdDisplay(Ds18b20ReadTemp());

  13.   }



  14. }  

  15.   

  16. /*******************************************************************************

  17. * 函数名         : LcdDisplay()

  18. * 函数功能                   : LCD显示读取到的温度

  19. * 输入           : v

  20. * 输出                  : 无

  21. *******************************************************************************/


  22. void LcdDisplay(int temp)          //lcd显示

  23. {

  24.    

  25.           unsigned char datas[] = {0, 0, 0, 0, 0}; //定义数组

  26.         float tp;  

  27.         if(temp< 0)                                //当温度值为负数

  28.           {

  29.                   Write_Cmd(0x80);                //写地址 80表示初始地址

  30.                 Write_Data('-');                  //显示负

  31.                 //因为读取的温度是实际温度的补码,所以减1,再取反求出原码

  32.                 temp=temp-1;

  33.                 temp=~temp;

  34.                 tp=temp;

  35.                 temp=tp*0.0625*100+0.5;       

  36.                 //留两个小数点就*100,+0.5是四舍五入,因为C语言浮点数转换为整型的时候把小数点

  37.                 //后面的数自动去掉,不管是否大于0.5,而+0.5之后大于0.5的就是进1了,小于0.5的就

  38.                 //算由?.5,还是在小数点后面。


  39.           }

  40.         else

  41.           {                       

  42.                   Write_Cmd(0x80);                //写地址 80表示初始地址

  43.                 Write_Data('+');                 //显示正

  44.                 tp=temp;//因为数据处理有小数点所以将温度赋给一个浮点型变量

  45.                 //如果温度是正的那么,那么正数的原码就是补码它本身

  46.                 temp=tp*0.0625*100+0.5;       

  47.                 //留两个小数点就*100,+0.5是四舍五入,因为C语言浮点数转换为整型的时候把小数点

  48.                 //后面的数自动去掉,不管是否大于0.5,而+0.5之后大于0.5的就是进1了,小于0.5的就

  49.                 //算加上0.5,还是在小数点后面。

  50.         }

  51.         datas[0] = temp / 10000;

  52.         datas[1] = temp % 10000 / 1000;

  53.         datas[2] = temp % 1000 / 100;

  54.         datas[3] = temp % 100 / 10;

  55.         datas[4] = temp % 10;


  56.         Write_Cmd(0x82);                  //写地址 80表示初始地址

  57.         Write_Data(0x30+datas[0]); //百位


  58.        

  59.         //LcdWriteCom(0x83);                 //写地址 80表示初始地址

  60.         Write_Data(0x30+datas[1]); //十位


  61.         //LcdWriteCom(0x84);                //写地址 80表示初始地址

  62.         Write_Data(0x30+datas[2]); //个位


  63. ……………………



关键字:stm8  18b20  温度显示程序 引用地址:stm8的18b20温度显示程序

上一篇:STM8单片机+EV1527无线315&433通用遥控解码程序
下一篇:STM8S驱动OLED12864

推荐阅读

机器人是“制造业皇冠顶端的明珠”,其研发、制造、应用是衡量一个国家科技创新和高端制造业水平的重要标志。近日,聚焦“机器人与智能制造”话题,近百位领域内专家、学者在省自然基金委主办的第三期燕赵科学上,分享了机器人技术研究的进展。 “拥抱触手可及的机器人时代”成为本次论坛主题,这传递出专家学者对机器人技术将获得更广泛应用的强烈信心...
一、uart原理简介数据通信方式为:并行通信与串行通信两种:§并行通信:利用多条数据线将数据的各位同时传送。它的特点是:传输速度快,是用于短距离通信;§串行通信:利用一条数据线将数据一位位地顺序传送。特点是通信线路简单,利用简单的线缆就实现通信,低成本,是用于远距离通信。异步通信:ª异步通信:以一个字符为传输单位,通过两个字符间的时间...
11月25日,Melexis宣布推出智能胎压传感器 IC MLX 91805,帮助OEM应对即将出台的轮胎监测法规(范围扩展至商用车),旨在推动新一代智能轮胎的发展。与当前的轮辋安装式 TPMS 传感器不同,MLX 91805 TMS 经过特别设计,可嵌入到轮胎内部,并集成 800g XZ 轴加速计,每秒可感应高达 10,000 个样本。该产品还集成了高精度压力传感器以及温度和...
5nm之后,晶圆代工竞争开始走向更先进制程的3nm节点。当前,在先进制程的竞争上,已形成三星、台积电、英特尔三分天下的局面。而从3nm来看,三星和台积电之间的争夺尤为激烈。关于3nm的进度,台积电方面表示,3nm制程进展符合进度,于今年试产,并将于2022年下半年量产。三星电子则宣布将于2022年上半年开始生产首批3nm芯片,第二代3nm芯片预计将于2023年...

史海拾趣

问答坊 | AI 解惑

AT89C2051宾馆客房电器综合控制源程序

AT89C2051宾馆客房电器综合控制源程序…

查看全部问答∨

哪个可以发个毕业 设计论文不???

单片机烟雾检测报警器电子毕业设计 等等的毕业设计论文,,,哪个发个连接…

查看全部问答∨

wince开发系列问题——2,接系列问题1

编译,连接,都通过了,也生成了EXE;(,我是移植的代码,作了修改:wince开发系列问题——1有详细描述如何解决问题的,可能问题出现自我解决问题的方法) 但是悲剧的是: 在模拟器里跑不成,问题如下   void CbmpView::OnDraw(CDC* ...…

查看全部问答∨

EVC4.2下的系统托盘没有图标

我按照网上的一些代码,就是无论如何都是空图标,透明的。 真的没有图标吗? 我明天发一下我的代码…

查看全部问答∨

有没有做过ADSP的?

如何使用C来编写两个processor?…

查看全部问答∨

北京智博联公司招聘高级电子工程师

本公司招聘硬件工程师,从事检测仪器开发。关注于弱信号的采集、整理和放大。 1.    本科及以上学历; 2.    电子、自动化、硬件电路设计、检测技术等相关专业; 3.    有CPLD或FPGA开发经验者优先; 4.&nbs ...…

查看全部问答∨

酒店数字电视改造方案,供参考

大家来看看这份数字电视改造方案,是我一个网友发来的, 先拿出来给大家分亨一下,或许你们也会用得着!  方案原理:用30多个机顶盒+邻频调制器,做出30多个频道,供给100多个房间都能收看30多个频道。酒店按常规需要100多个机顶盒,用数字电视 ...…

查看全部问答∨

【多功能手持示波函数表】进度汇报

  由于七月外地的比赛,拖了好多天,一直到7月底才开始动工,这个初步情况如下:   1.EEWORLD购买ADI所有的芯片已经到位   2.所有芯片资料都已经阅读和理解完毕   3.所有原理图和PCB已经设计完成并已经制板,开始进入了焊接 ...…

查看全部问答∨

51单片机的传输方式?

我想向大家请教一下,51单片机的数据传输方式是由输入设备先经过存储器再到数据处理器,还是反过来呢? 如果是前一种的话,数据处理之后就直接存储还是先到地主找数据再返回到存储器,由存储器向输出设备?请各位大虾多多打救啊。…

查看全部问答∨

富士通DIY工业控制板原理图及PCB发布

PCB图跳票了好几次,都不好意思了。不说了,直接上货。 [ 本帖最后由 ltbytyn 于 2012-11-28 12:58 编辑 ]…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved