|
刚做的实验
并行I/O口的输入输出实验
- /*--------------------------------------------------------------------------------------
- *工程名称:DS18B20单总线数字温度传感器实验
- *开发环境:KEIL V4.70
- *主控芯片:STC89C52RC
- *编写人员:余钊
- *编写时间:2013/10/11
- *程序版本:v1.0
- ------------------------------------------------------------------------------------------
- 程序说明:
- 1、DS18B20使用IO P2.2,注意插接方向
- 实现功能:
- 1、在数码管显示模块上前四个数码管显示当前温度
- -------------------------------------------------------------------------------*/
- #include <reg52.h>
- #include "ds18b20.h"
- #include "smg.h"
- //----------------------------宏定义----------------------------------------------//
- #define VTH0 ((65535-15000)>>8)
- #define VTL0 ((65535-15000)&0X00FF)
- //------------------------函数声明---------------------------------------------//
- void Timer0Init(void);
- //========================主函数=================================================//
- void main(void)
- {
- Timer0Init();
- while(1)
- {
- EA = 0;
- TempChange();
- EA = 1;
- }
- }
- /****************************************************************************
- ***函数名称:Timer0Init
- ***函数目的: 定时器0初始化
- ***入口参数:无
- ***出口参数:无
- ***其他说明:定时器中断中显示数码管,不是使传感器函数干扰显示
- ******************************************************************************/
- void Timer0Init(void)
- {
- TMOD = 0X01;
- TH0 = VTH0;TL0 = VTL0;
- ET0 = 1;
- TR0 = 1;
- EA = 1;
- }
- /*-------------------------------------------------------------------------------
- 定时器中断0处理函数
- --------------------------------------------------------------------------------*/
- void Timer0_deal(void) interrupt 1
- {
- TH0 = VTH0;TL0 = VTL0;
-
- Display(0,Temperdat18b20.shi);
- Display(1,Temperdat18b20.ge);
- Display(2,10);
- Display(3,Temperdat18b20.fen);
- }
复制代码
|
|