欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    收音机tea5767+温度18b20+时间ds1302+1602液晶显示+红外遥控功放显示系统.docx

    • 资源ID:11189848       资源大小:993.65KB        全文页数:17页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    收音机tea5767+温度18b20+时间ds1302+1602液晶显示+红外遥控功放显示系统.docx

    1、收音机tea5767+温度18b20+时间ds1302+1602液晶显示+红外遥控功放显示系统大家好!我是威虎小熊, 。 下面这个就是我最近做的数字收音机+温度+时间+液晶显示+红外遥控=功放显示系统,(初稿,后续会完善其他功能),希望能和大家一起分享(哈哈)。 功能说明:液晶显示 (时间.温度,收音机频率) 2.红外遥控 (mini红外遥控器) 3.温度检测 (ds18b20)4.时间显示 (ds1302)5.收音机 (TEA5767 无线功放)电路图:PDF 图,DXP原图请到下载 电路图/功放显示 下载。PCB图,用处不大,在此贴上,威虎科技集团是我将来的公司名字 ,呵呵PCB打样成品:

    2、5cm* 非常小巧,很容易嵌入其他东西, 需要的朋友可以找我联系 ,我去打样的成本8元一片,不过快递运费自付。(好像不划算哦)Pcb资源:见上图,很多吧, 除了现在已经调试的功能外,还可以做315M/无线遥控AD采集,DA控制,LCD数码管口可以用作与其他器件的嵌入通讯。好了,该上程序了。 +后面内容为中内容+#include#include#include#include#include#include#define uint unsigned int#define uchar unsigned charuint key,nt,t05s,t2s;void io_init(void);void

    3、 int_init(void); void InitTimer0(void);show_time(uint wei) nt+. ;unsigned char code line1 = 2012/06/15 09:52;unsigned char code line2 = FM: T:;unsigned char code L1 = 20 / / : ; void Wlcd595(uchar dat595 ) unsigned char nt; HC595CLK=0;HC595RCK=0;for(nt=8;nt0;nt-)LCM_Data=(dat595&0x80);dat595=1;HC595

    4、CLK=0; HC595CLK=1;HC595CLK=1; HC595CLK=1; HC595CLK=0; HC595RCK=1; ;DisplayOneChar(7,2,(frequency%100000)%10000)%1000)/100+0x30); void radio_write(void) unsigned char i; iic_start(); iic_write8bit(0xc0); /TEA5767写地址 if(!iic_testack() for(i=0;i5;i+) iic_write8bit(radio_write_datai); iic_ack(); iic_sto

    5、p(); /由频率计算PLLvoid get_pll(void) unsigned char hlsi; / unsigned int twpll=0; hlsi=radio_write_data2&0x10; /HLSI位 if (hlsi) pll=(unsigned int)(float)(frequency+225)*4)/(float); /频率单位:k else pll=(unsigned int)(float)(frequency-225)*4)/(float); /频率单位:k/由PLL计算频率void get_frequency(void) unsigned char hls

    6、i; unsigned int npll=0; npll=pll; hlsi=radio_write_data2&0x10; if (hlsi) frequency=(unsigned long)(float)(npll)*(float); /频率单位:KHz else frequency=(unsigned long)(float)(npll)*(float)+225); /频率单位:KHz/读TEA5767状态,并转换成频率void radio_read(void) unsigned char i; unsigned char temp_l,temp_h; pll=0; iic_start

    7、(); iic_write8bit(0xc1); /TEA5767读地址 if(!iic_testack() for(i=0;imax_freq) frequency=min_freq; else frequency-=25; if(frequencymax_freq) frequency=min_freq; else radio_write_data2=0x20; /41 frequency-=40; if(frequencymin_freq) frequency=max_freq; get_pll(); radio_write_data0=pll/256+0x40; /加0x40是将SM置

    8、为1 为自动搜索模式 radio_write_data1=pll%256; radio_write_data3=0x11; /SSL1和SSL0控制搜索停止条件 radio_write_data4=0x40; radio_write(); radio_read(); while(!(radio_read_data0&0x80) /搜台成功标志 radio_read(); #endif+ 的内容+#ifndef _ykong_H#define _ykong_H#include#include#define uint unsigned int#define uchar unsigned charu

    9、int key,rkey,numkey;uchar RIGHT=0, LEFT=0; uchar timewei=1;sbit YK=P32; uchar stime11=0,1,2,0,6,1,5,2,3,5,7;/年月日时分各2位 /数据存放位置 无 年 月 日 时 分 void showkey() /*DisplayOneChar(0,2,0x30+key/10);DisplayOneChar(1,2,0x30+key%10); */ showsstime() WriteComLCM(0x0f); /0x0c不显示光标,0e光标显示,0d光标闪动 DisplayListChar(0, 2

    10、, *TIME SET* ); DisplayListChar(1, 1, 0); if(ET0=1) DisplayListChar(0, 2, line2); / 设置完毕后恢复显示; DisplayListChar(0, 1, L1); / 设置完毕后恢复显示; showfm(); /恢复显示频率 WriteComLCM(0x0C); /关光标 ,恢复显示。 write_1302(0x8e,0x00); /允许写,禁止写保护 if(timewei9)write_1302(0x82,stime9*16+stime10);/分钟数据if(timewei7)write_1302(0x84,st

    11、ime7*16+stime8);/小时数据if(timewei5)write_1302(0x86,stime5*16+stime6);/日期数据if(timewei3)write_1302(0x88,stime3*16+stime4);/月份数据if(timewei1)write_1302(0x8c,stime1*16+stime2);/年份数据 write_1302(0x8e,0x80); /打开写保护 timewei=1; void pkey()if(rkey!=key) switch(key) case 70 : ET0=ET0;showsstime();break; / mode /进

    12、入和退出时间设置 case 64 : LEFT=1;search(0);showfm();break; / 向上微调FM case 21 : auto_search(0); showfm(); break; / - 自动向下搜台 case 9 : auto_search(1); showfm(); break; / + 自动向上搜台 case 68 : showfm();break; / | case 7 : if(ET0=0)ds1302_init(); break; / EQ /在时间设置状态时初始化1302 case 22 : numkey=0; break; /0 case 12 :

    13、numkey=1; break; /1 case 24 : numkey=2; break; /2 case 94 : numkey=3; break; /3 case 8 : numkey=4; break; /4 case 28 : numkey=5; break; /5 case 90 : numkey=6; break; /6 case 66 : numkey=7; break; /7 case 82 : numkey=8; break; /8 case 74 : numkey=9; break; /9 ; /*遥控中断*/void int_init(void)EX0=1; EA=1;

    14、/*遥控服务程序*/void interrupt0()interrupt 0 uchar i3=0,j3=0,k3=0,us=0; uchar addr4=0; EX0=0; for(i3=0;i3255;i3+) /9ms内有高电平认为是干扰 if(YK) /255的值实际时间为800us EX0=1; return; while(!(YK); /等待9ms低电平过去 for(i3=0;i34;i3+) for(j3=0;j38;j3+) while(YK); /等待高电平过去 while(!(YK); /等待低电平后面的高电平 while(YK) /计算这个高电平的时间 for(us=0;

    15、us=30) /高电平时间过长退出程序 EX0=1; return; addri3=addri31; /接收一位数据 if(k3=8) addri3=addri3|0x80; /高电平大于,则为1 k3=0; key=(addr2); /二进制键值 EX0=1; pkey(); showkey(); #endif+ds18b20内容+#ifndef _DS18B20_H#define _DS18B20_H#includesbit DQ=P33;/ds18b20与单片机连接口uchar data disdata5;uint tvalue;/温度值uchar tflag;/温度正负标志 /*ds1

    16、820程序*/void delay_18B20(unsigned int i9)/延时1微秒 while(i9-); void ds1820rst()/*ds1820复位*/DQ = 1; delay_18B20(4); /延时DQ = 0; delay_18B20(100); /精确延时大于480usDQ = 1; delay_18B20(40); uchar ds1820rd()/*读数据*/ unsigned char i9=0;unsigned char dat2 = 0;for (i9=8;i90;i9-) DQ = 0; dat2=1; DQ = 1; if(DQ) dat2|=0

    17、x80; delay_18B20(10); return(dat2);void ds1820wr(uchar wdata)/*写数据*/unsigned char i9=0; for (i9=8; i90; i9-) DQ = 0; DQ = wdata&0x01; delay_18B20(10); DQ = 1; wdata=1; read_temp()/读取温度值并转换uchar da1,da2;ds1820rst(); ds1820wr(0xcc);/*跳过读序列号ds1820wr(0x44);/*启动温度转换ds1820rst(); ds1820wr(0xcc);/*跳过读序列号 ds1820wr(0xbe);/*读取温度 da1=ds1820rd();da2=ds1820rd();tvalue=da2;tvalue=8;tvalue=tvalue|da1; if(tvalue0x0fff) tflag=0; else tvalue=tvalue+1;tflag=1; tvalue=tvalue*;/温度值扩大10倍,精确到1位小数 return(tvalue); #endif后记:由于时间比较急,很多地方没有优化 。基础程序来源于网络,现在我也将资源回放给网络!希望大家能一起探讨。


    注意事项

    本文(收音机tea5767+温度18b20+时间ds1302+1602液晶显示+红外遥控功放显示系统.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开