• 大小: 320KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: 其他
  • 标签: 真人报时  

资源简介

本压缩包内含原理图,pcb图,c源码, 功能简介: 1。收音机通过i2c总线控制达到调台的目的, 2。温度显示,利用18b20实时显示当前环境温度, 3。利用lcd1602显示信息, 4。利用预先存好语音段的芯片达到真人语音报时功能, 5。采用时钟芯片ds1302可保证断电继续走时

资源截图

代码片段和文件信息

/******************************************************
函数功能:温度传感器检测
编写日期:2015年7月20日
********************************************************/
#include  
#define uchar unsigned char  
#define uint unsigned int 
/********************************************************
定义常量及变量
*********************************************************/
sbit ds=P1^3;//ds18b20信号线  
sbit ACC_7 = ACC^7;//位寻址寄存器高位定义                   
uint itemp;  //定义温度变量        
float f_temp;//定义温度变量 
/*******************************************************
子函数声明部分
*********************************************************/
void delayms (uchar b);
void write_com(uchar com);//写1602命令函数
void write_data(uchar date);//写1602数据函数  
/*******************************************************
初始化温度传感器18B20
*********************************************************/
void dsreset(void)
{   
uint i;  
ds=0;  
i=200; 
while(i>0)i--;  
ds=1;  
i=10;   
while(i>0)i--; 
}
/*****************************************************
读一个字节温度数据函数
******************************************************/
uchar tempread(void)//读1个字节温度数据函数
{   
uchar xijdat;  
dat=0;   
for(i=1;i<=8;i++)  
{   
ds=0;
x++; 
x++;  
ds=1;
x++;
x++;//起延时作用  
j=ds;   
x=8;
while(x>0)x--;    
dat=(j<<7)|(dat>>1);    
}   
return (dat); 
}
/***************************************************
向向DS18B20写一个字节数据函数
****************************************************/
void tempwritebyte(uchar dat)
{
uint i;
uchar j;
bit testb;
for(j=1;j<=8;j++)
{
testb=dat&0x01;//与完之后最低位为0/1,其他位都位0
dat=dat>>1;
if(testb)//写1
{
ds=0;
i++;
i++;
ds=1;//向18b20写1
i=8;//接着延时
while(i>0)i--;
}
else
{
ds=0;//写0
i=8;
while(i>0)i--;
ds=1;
i++;
i++;
}
}
}
/****************************************************
DS18B20开始获取温度并转换函数
****************************************************/
void tempchange(void)
{
dsreset();
delayms(1);
tempwritebyte(0xcc);//向DS18B20写一个字节数据
tempwritebyte(0x44);//向DS18B20写一个字节数据
delayms(10);
}
/****************************************************
获取温度函数
****************************************************/
uint get_temp()
{
uchar ab;
dsreset();
delayms(1);
tempwritebyte(0xcc);
tempwritebyte(0xbe);
a=tempread();//读低8位
b=tempread();//读高8位
temp=b;
temp<<=8;//两个字节组合成1个字节
temp=temp|a;
f_temp=temp*0.0625;
temp=f_temp*10;
return temp;
}
/****************************************************
显示温度函数
****************************************************/
void distemp(uint t)
{
uchar i;
i=t/100;
write_com(0x80+0x40+10);
write_data(0x30+i);
i=t%100/10;
write_com(0x80+0x40+11);
write_data(0x30+i);
i=t%100%10;
write_com(0x80+0x40+13);
write_data(0x30+i);
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3035  2015-08-15 20:40  源码\18B20.c

     文件       6703  2015-08-15 20:44  源码\18B20.LST

     文件       6590  2015-08-15 20:44  源码\18B20.OBJ

     文件      12849  2015-08-15 20:08  源码\DS1302.c

     文件      32477  2015-08-15 20:45  源码\DS1302.LST

     文件      27366  2015-08-15 20:45  源码\DS1302.OBJ

     文件       2173  2015-07-24 19:53  源码\I2C.c

     文件       5121  2015-08-15 20:45  源码\I2C.LST

     文件       4734  2015-08-15 20:45  源码\I2C.OBJ

     文件       1979  2015-07-28 18:08  源码\LCD1602.c

     文件       4188  2015-08-15 20:45  源码\LCD1602.LST

     文件       6214  2015-08-15 20:45  源码\LCD1602.OBJ

     文件       3806  2015-08-18 08:46  源码\main.c

     文件       7750  2015-08-15 20:44  源码\main.LST

     文件       9744  2015-08-15 20:44  源码\main.OBJ

     文件       5115  2002-04-16 14:32  源码\STARTUP.A51

     文件      11665  2015-08-15 20:44  源码\STARTUP.LST

     文件        749  2015-08-15 20:44  源码\STARTUP.OBJ

     文件       6423  2015-08-15 19:08  源码\TEA5767.c

     文件      13367  2015-08-15 20:45  源码\TEA5767.LST

     文件      18108  2015-08-15 20:45  源码\TEA5767.OBJ

     文件      62595  2015-08-15 20:45  源码\电子钟+收音机

     文件      16614  2015-08-15 20:45  源码\电子钟+收音机.hex

     文件        138  2015-08-15 20:45  源码\电子钟+收音机.lnp

     文件      65658  2015-08-15 20:45  源码\电子钟+收音机.M51

     文件       2302  2015-07-18 10:44  源码\电子钟+收音机.opt.bak

     文件        230  2015-08-18 08:46  源码\电子钟+收音机.plg

     文件       2213  2015-07-18 10:44  源码\电子钟+收音机.Uv2.bak

    .......     81841  2015-08-18 08:46  源码\电子钟+收音机.uvopt

     文件      14239  2015-07-18 13:40  源码\电子钟+收音机.uvproj

............此处省略12个文件信息

评论

共有 条评论

相关资源