基于1602液晶的温度感应器

发布者:innovator8最新更新时间:2015-11-12 来源: eefocus关键字:1602液晶  温度感应器  单片机 手机看文章 扫描二维码
随时随地手机看文章
1602液晶是单片机初学者必学的资源,其操作简单,可读可写,相比数码管而言,其显示更为简单。这里就不再介绍1602的具体特点和功能,可以去百度一下,可以搜索到很多资料。下面是我结合天祥视频写的一个温度感应器。

--------------------------------------------------------------------------------------------------

 

#include
#define uint unsigned int
#define uchar unsigned char
uchar code table[]="The Tem is     C";// 初始化温度
uchar code table1[]="00:00:00";   //初始化时间
uchar code table2[]="MON TUE WEN THU FRI SAT SUN"; //周日表
uchar code wendu[]="0123456789";        //温度显示表
sbit lcdrs=P1^4;  //读取命令选择
sbit lcdrw=P1^5;  //读/写数据选择
sbit lcden=P1^6;  //使能信号

uint num;
uchar count,shi,fen,miao,xq,t,tt;   
void delay(uint z);


void write_com(uchar com)

 lcdrs=0;
 P2=com; 
 delay(5);
 lcden=1;
 delay(5);
 lcden=0;
}

 

void write_date(uchar date)

 lcdrs=1;
 P2=date;
 delay(5);
 lcden=1;
 delay(5);
 lcden=0;
}

void init()
{
 lcden=0;
 lcdrw=0;
 write_com(0x38);
 write_com(0x0c);
 write_com(0x06);
 write_com(0x80);

   write_com(0x80+0x40);
 for(num=0;num<16;num++)
  write_date(table[num]);

 write_com(0x80+0x0c);
 for(num=0;num<3;num++)
  write_date(table2[num]);

  write_com(0x80+0x02);
 for(num=0;num<8;num++)
  write_date(table1[num]);
 TMOD=0x01;
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%6;
 EA=1;
 ET0=1;//开定时器0中断
 TR0=1;//启动定时器  
}

void write_sfm(uchar add,uchar date) //第一个参数为地址,第二个参数为数据  修改时间
{
 uchar shi,ge;
 shi=date/10;
 ge=date;
 write_com(0x80+0x02+add);  //先确定地址
 write_date(0x30+shi);  //数值分别送
 write_date(0x30+ge);
}
void write_xq(uchar xq)  //参数代表位置
{
 write_com(0x80+0x0c);
 for(num=xq;num   write_date(table2[num]);
}

 


void showtime()
{
 xq=0;

  if(count==20)
  {
   count=0;
   miao++;
   if(miao==60)
    {
     miao=0;
     fen++;
     if(fen==60)
      {
       fen=0;
       shi++;
       if(shi==24)
        {
         shi=0;
         xq+=4;
         if(xq==28)
          xq=0;
         write_xq(xq);
        }
       write_sfm(0,shi);
      }
     write_sfm(3,fen);
    }
   write_sfm(6,miao);
   }

 

 

void main()
{
 init();
 showtime();
 while(1)
 {
  showtime();
  if(t==20)
  {
   t=0;
   tt++;
   if(tt==30)  //30s采集一次温度
   {
    tt=0; 
   }
  }
 }
 
}

void timer0() interrupt 1
{
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%6;
 count++;t++; 
}
void delay(uint z)
{
 uchar x,y;
 for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}

关键字:1602液晶  温度感应器  单片机 引用地址:基于1602液晶的温度感应器

上一篇:HT46ru232单片机简介
下一篇:利用E2PROM写的一个时钟

推荐阅读最新更新时间:2024-03-16 14:39

关于单片机--蜂鸣器输出音调设置
根据查找资料,现做以总结和说明。 1. 首先要明确音调问题: 音调在简谱中的发音为:1 2 3 4 5 6 7 。读作多来米发梭拉西。重低音区的音调“拉”(6)。在各乐器中(电子琴、手风琴)的发声频率都是220Hz,低音区的“拉”为440Hz,中音区的“拉”为 880Hz,高音区为1760Hz。 世界范围内统一标准。以电子琴举例: 重低音“拉”与低音“拉”之间,间隔12个按键(白健加黑键)。相邻两个音调之间的频率成等比数列。 2.音调频率的计算: 如果设等比数列中的公比为q,则: 220*q*q*...*q (12个q) = 440,由此可得:q = 1.059463. 由此可计算每个按键的频
[单片机]
关于<font color='red'>单片机</font>--蜂鸣器输出音调设置
单片机控制的电池管理实现了成功的互联网
微控制器将在观光噪比(IoT)取向设计大多数因特网主控制元件和这些MCU将有可能被电池供电。电源效率将是实现可接受的电池寿命至关重要因此MCU将需要管理的电池使用更精确地比以往任何时候。许多MCU具有特殊的功能,帮助管理电池电量和使用这些功能优化可能使输赢在市场之间的差异。 本文将很快回顾一些实现高效电池的MCU产品设计,并说明所需的关键功能,例如使用的设备,这些功能如何提高工作效率和电池寿命。软件工具,帮助估计电池寿命将用于展示如何在您详细的设计实施估计寿命。这极大地有助于设备选择并且是一个关键的技术用于创建电源效率的设计。 管理电源域 电池的MCU实现时想我们最初可能,前提是有一个单一的MCU电源域,流失的电池,我们的目
[嵌入式]
<font color='red'>单片机</font>控制的电池管理实现了成功的互联网
PIC单片机引脚中断程序的设计技巧
1 简 述 所有的中档系列PIC单片机,PORTB端口最高的4个引脚(RB7"RB4)在设为输入模式时,当输入电平由高到低或由低到高发生变化时,可以让单片机产生中断。这就是通常所说的引脚状态变化中断。 在设计引脚中断程序时,有三个需要特别注意的地方。一是,在清除P0RTB中断标志位RBIF之前,必须安排一条必不可少的,以PORTB端口数据寄存器PORTB为源寄存器的读操作指令。放置这一指令的目的有时并不只是为了读取有用的数据,而是为了取消状态变化的硬件信号,以便顺利清除RBIF标志位,为下一次中断做好准备。二是,由于端口PORTB是引脚电子变化中断,即无论引脚出现上升沿还是下降沿都会产生中断请求,所以必须处理好不需要的虚假
[应用]
中颖电子:贸易战影响不大,锂电池管理芯片应用增加
近日,中颖电子接待了来自海通证券、富春投资、六禾投资等18家机构的调研活动,披露了家电智能化产品研发、工控单芯片及锂电池管理芯片销量情况、AMOLED产品线的研发等相关情况。 对于当前中美贸易摩擦对公司的影响,中颖电子表示,美国的贸易对抗清单太广,对我们还是有产生些微影响,但是影响的比例不大,客户本来就有小比例的终端产品是销往美国的。主要体现在短期冲击上,中美贸易摩擦,让客户对未来市场判断趋于谨慎,减少备货订单,影响公司短期的营运增速。由于我国已发展成为全球最大的家电、电子产品制造基地,而且国家政策上积极支持芯片国产化,普遍对客户长期加大国产芯片的采购意愿有所鼓励,国内客户对公司工控单芯片、锂电池管理芯片的接受度不断提高。
[嵌入式]
中颖电子:贸易战影响不大,锂电池管理芯片应用增加
TI - MCU - MSP430使用指南31 -> BSL
在讲述BSL功能之前,首先我们需要了解以下MSP430的下载方式: JTAG: 很多MCU都使用的下载方式,具有速度快,可以仿真等优点,但是连线较多,需要: VCC, GND, TDI, TDO, TMS, TCK, TEST,RST 每个引脚具体功能如下图所示: SBW: SBW即Spy-Bi-Wire下载方式,包括电源的两个引脚在内的话,仅仅需要四个引脚: VCC, GND, SWDIO, SWCLK, 其中SWDIO为数据引脚,双向通信,SWCLK为时钟引脚,在MSP430内部有一个SBW控制器,可以解码SBW信号转换成JTAG信号,如下图所示: BSL: BSL即bootloader,是固化在MSP430内部R
[单片机]
TI - <font color='red'>MCU</font> - MSP430使用指南31 -> BSL
STC89C52单片机内部EEPROM驱动
STC89C52单片机自身带有4K的存储空间,分为8个扇区,每个扇区512字节,第一扇区起始地址为:0x2000, 结束地址为:21FF, 第八扇区起始地址为0x2E00,结束地址是2FFF #include reg52.h #include intrins.h #define uchar unsigned char #define uint unsigned int /******************定义命令字节******************/ #define Read_COM 0x01 //字节读数据命令 #define Prog_COM 0x02 //字节编
[单片机]
使用MAXQ系列微控制器中的定时器
本应用笔记描述了如何针对不同的应用设置和使用MAXQ™系列微控制器中的Type 2定时器。它包括供参考的源代码。 介绍 MAXQ系列微控制器有三种类型的定时器:定时器0、定时器1和定时器2。 MAXQ定时器0型是仿照许多0微型控制器上常见的定时器8051型。MAXQ定时器1类型仿照8051定时器2类型。大多数MAXQ产品都有一个新的定时器,称为定时器2,这是MAXQ系列独有的。本应用笔记详细介绍了如何为不同目的设置和使用这款新的定时器2,并附有一些源代码供参考。 概述 功能 定时器的三个主要用途是生成输出波形、对输入信号的转换进行计数(包括对系统时钟转换进行计数,从而起到定时器的作用)以及对输入信号进行计时。本节介绍使用计
[单片机]
使用MAXQ系列<font color='red'>微控制器</font>中的定时器
stc12c5a60s2复位电路说明
STC12C5A60S2在众多的51系列单片机中,要算国内STC 公司的1T增强系列更具有竞争力,因他不但和8051指令、管脚完全兼容,而且其片内的具有大容量程序存储器且是FLASH工艺的,如STC12C5A60S2单片机内部就自带高达60K FLASHROM,这种工艺的存储器用户可以用电的方式瞬间擦除、改写。而且STC系列单片机支持串口程序烧写。显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短。写入单片机内的程序还可以进行加密,这又很好地保护了你的劳动成果。 stc12c5a60s2内部结构图 stc12c5a60s2内部结构图如下: stc12c5a60s2复位电路 就是在复位引脚接1个10UF电容到电源+,
[单片机]
stc12c5a60s2复位电路说明
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved