资源简介
基于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个文件信息
相关资源
- STC8951系列单片机中方指南
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- 51单片机PWM程序,占空比、周期可调整
- 单片机和adc0809数字电压表
- PIC单片机完成的电子密码锁
- 单片机、ADC0808809设计简易数字电压表
- 51单片机多功能自行车测速仪
- 单片机做的6位时分秒数字钟
- 单片机电子时钟 闹钟 日历
- 音乐代码转换软件 单片机编程时用
- 单片机课程设计 篮球计分器
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 单片机与温度传感器DS18B20的程序设计
- 51单片机基于protues的几个仿真实例
- 基于52单片机的直流电压测量
- 38k单片机红外发送代码、keil
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- 武汉理工大学 单片机课程设计 16*16点
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- vhdl与lcd1602实现的多控制电子钟
- 浙江工业大学2005-2006学年单片机习题
- 单片机与PC机串口通讯仿真
- 毕业设计 单片机 对讲机 protues仿真
评论
共有 条评论