资源简介
基于51单片机的多功能电子钟,有日历、校时、闹钟、温度显示功能含程序源代码、proteus仿真文件、原理说明。
代码片段和文件信息
#include “Feiyun.h“
uint temp=270;
void delay_us(uint t) ////延时函数
{
for(;t>0;t--);
}
void reset(void) ////DS18B20复位函数
{
uchar state=1;
while(state)
{
while(state)
{
DQ=1;
_nop_();_nop_();
DQ=0;
delay_us(50);
DQ=1;
delay_us(6);
state=DQ;
}
delay_us(45);
state=~DQ;
}
DQ=1;
}
void write_byte(uchar val) //写一个字节
{
uchar i;
for(i=8;i>0;i--)
{
DQ=1;_nop_();_nop_();
DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_();
DQ=val&0x01;
delay_us(6);
val=val/2;
}
DQ=1;
_nop_();
}
uchar read_byte(void) ///////读一个字节
{
uchar i;
uchar value=0;
for(i=8;i>0;i--)
{
DQ=1;_nop_();_nop_();
value>>=1;
DQ=0;
_nop_();_nop_();_nop_();_nop_();
DQ=1;_nop_();_nop_();_nop_();_nop_();
if(DQ)value|=0x80;
delay_us(6);
}
DQ=1;
return(value);
}
void gettemp()
{
uchar ab;
uint t;
reset();
write_byte(0xcc);
write_byte(0xbe);
a=read_byte(); //读取高字节
b=read_byte(); //读取低字节
reset();
write_byte(0xcc);
write_byte(0x44);
//处理读取温度t
t=b;
t<<=8; //值左移8位
t=t|a; //合并高低位数值
if(t>0xfff) //判断温度是为正还是为负
t=~t+1; //负值换算
t=t*(0.625); //温度扩大10倍精确到1位小数
if((temp-t)<100||(t-temp)<100)
temp=t;
}
void TempShow() ///温度读取函数
{
char buf[4];
gettemp();
buf[0]=temp%1000/100+0x30; //十位数
buf[1]=temp%100/10+0x30; //个位数
buf[2]=‘.‘;
buf[3]=temp%10+0x30; //小数位
pd(0x40);
write_data(buf[0]);
write_data(buf[1]);
write_data(buf[2]);
write_data(buf[3]);
write_data(du);
write_data(‘C‘);
LcdStr(0x00“The Temperature:“);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 202953 2011-06-22 12:55 多功能电子钟\代码与仿真\51单片机.DSN
文件 1183 2011-07-03 22:46 多功能电子钟\代码与仿真\51单片机.PWI
文件 2590 2011-06-19 22:57 多功能电子钟\代码与仿真\com.LST
文件 2435 2011-06-19 22:57 多功能电子钟\代码与仿真\com.OBJ
文件 1874 2011-06-20 00:49 多功能电子钟\代码与仿真\ds18b20.c
文件 489 2011-06-20 03:17 多功能电子钟\代码与仿真\DS18B20.h
文件 4416 2011-06-20 10:41 多功能电子钟\代码与仿真\ds18b20.LST
文件 8426 2011-06-20 10:41 多功能电子钟\代码与仿真\ds18b20.OBJ
文件 137 2011-06-19 22:55 多功能电子钟\代码与仿真\Feiyun.c
文件 648 2011-06-20 03:17 多功能电子钟\代码与仿真\Feiyun.h
文件 981 2011-06-20 10:41 多功能电子钟\代码与仿真\Feiyun.LST
文件 3513 2011-06-20 10:41 多功能电子钟\代码与仿真\Feiyun.OBJ
文件 1098 2011-06-20 01:38 多功能电子钟\代码与仿真\key.c
文件 292 2011-06-20 01:38 多功能电子钟\代码与仿真\Key.h
文件 3104 2011-06-20 10:41 多功能电子钟\代码与仿真\key.LST
文件 5903 2011-06-20 10:41 多功能电子钟\代码与仿真\key.OBJ
文件 202958 2011-06-20 14:33 多功能电子钟\代码与仿真\Last Loaded 51单片机.DBK
文件 725 2011-06-20 00:04 多功能电子钟\代码与仿真\lcd1602.c
文件 747 2011-06-20 00:04 多功能电子钟\代码与仿真\lcd1602.h
文件 2512 2011-06-20 10:41 多功能电子钟\代码与仿真\lcd1602.LST
文件 6406 2011-06-20 10:41 多功能电子钟\代码与仿真\lcd1602.OBJ
文件 850 2011-06-20 10:39 多功能电子钟\代码与仿真\main.c
文件 3149 2011-06-20 10:41 多功能电子钟\代码与仿真\main.LST
文件 6822 2011-06-20 10:41 多功能电子钟\代码与仿真\main.OBJ
文件 6376 2009-05-07 14:37 多功能电子钟\代码与仿真\STARTUP.A51
文件 14056 2011-06-20 10:41 多功能电子钟\代码与仿真\STARTUP.LST
文件 273 2011-06-20 10:41 多功能电子钟\代码与仿真\STARTUP.OBJ
文件 5072 2011-06-20 10:24 多功能电子钟\代码与仿真\time.c
文件 204 2011-06-20 10:24 多功能电子钟\代码与仿真\Time.h
文件 13668 2011-06-20 10:41 多功能电子钟\代码与仿真\time.LST
............此处省略30个文件信息
相关资源
- STC89C51单片机L298N驱动电路及步进电机
- 毕业论文-基于单片机的智能插座的设
- 室内清洁机器人
- 基于单片机的智能报靶器
- 经典功放电路 pcb图 sch图
- MC9S12XS128单片机学习
- 51单片机数控开关稳压电源设计15V升
- 基于两个单片机串行通信的电子密码
- 一个基于AD1674的模数转换电路及程序
- 直基于单片机的PWM直流电机控制系统
- 新塘 单片机例程 库函数操作
- 单片机STC12C5A60S2中文使用手册
- 51黑论坛_基于单片机设计的数字电子
- 基于STM32单片机的智能浇水系统.pdf
- 电子-复件实验15RTC模拟指针时钟实验
- STC12单片机中文手册.pdf
- 基于51单片机的智能风扇设计与实现开
- STM32F103驱动DHT22温湿度传感器、BH175
- 基于单片机的红外遥控发射接收解码
- 基于STM32单片机的DHT11数字传感器代码
- 基于51单片机简易电子时钟
- 基于51单片机的烟雾报警器设计
- 基于单片机的全自动洗衣机控制器-论
- 基于单片机的智能温控风扇
- 51单片机德飞莱例程
- 51单片机指纹门禁
- STC-isp软件
- 基于AT89C51单片机控制的双闭环直流调
- 基于AT89C51单片机红外遥控系统毕业设
- 基于STM32的热水器设计毕业设计
评论
共有 条评论