1、图7红外发射芯片Ccs:用户码选择输入端KL0-KL7:键盘输入KL/Oo-KL/O7:键盘输入输出LMP:指示灯输出OSCI、OSCO:晶振输入输出端REM : 远程输出端SEL : SEL input扩展编码口VDD:电源正VSS:电源地Upd6121使用的载波波形:使用 455KHz 晶体,经内部分频电路,信号被调制在37.91KHz,占空比为3 分之1。如下如图所示。调制频率(晶振使用455KHz时)fCAR = 1/Tc = fOSC/12 38KHzfOSC是晶振频率占空比 = T1/Tc = 1/3图8占空比使用 455KHz 晶振时各代码所占的时间如图所示。图9红外发射代码所占
2、用的时间uPD6121G 按键输出有二种方式:一种是每次按键都输出完整的一帧数据;另一种是按下相同的按键后每发送完整的一帧数据后,再发送重复码,再到按键被松开。本实验采用NEC的uPD6121G组成发射电路,其电路图如图所示。图10 uPD6121的发射电路图11红外发射器的详细编码(二)红外接收部分红外接收电路选择IR1838一体化接收头,并通过中断的方式进行接收,解码采用89C52单片机进行解码,其中断方式为下降沿触发。其电路为下如图所示。图12红外接收一体头电路红外遥控一体化接收头的种类很多,引脚定义也不相同,一般有三个引脚,包括供电脚、接地和信号输出引脚。根据发射端调制载波的不同应选用
3、相应解调频率的接收头。在接收头内部放大的增益很大,很容易引起干扰,因此在接收头的供电引脚上必须加上滤波电容,一般在22UF以上。有的厂家建议在供电引脚和电源之间接入330欧姆电阻,进一步降低电源干扰。注意:在这里特别说明:红外遥控中断信号是进行了反向处理的,也就是说高电平变成低电平,低电平变成高电平。例如发射的引导码:9ms的高电平和4.5ms的低电平,待红外一体化接收头接收放大之后的信号变成:9ms的低电平和4.5ms的高电平。这里是我们编程的时候要特别注意的地方。(三)时钟显示部分1、时钟部分时钟芯片采用DS1302,该芯片是一种高性能、低功耗的时钟芯片,附加31字节静态 RAM,采用 S
4、PI 三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和 RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电 方式,提供了对后背电源进行涓细电流充电的能力。DS1302的外部引脚分配如图所示图13 时钟芯片DS1302外部引脚图各引脚的功能为:Vcc1:主电源;Vcc2:备份电源。当 Vcc2Vcc1+0.2V 时, 由 Vcc2向 DS1302供电,当 Vcc20; i- ) /循环8次移位SCLK = 0;temp = ad
5、dr;DIO = (bit)(temp&0x01); /每次传输低字节addr = 1; /右移一位SCLK = 1;/发送数据 i- )CE = 0;temp = dat;dat SCLK = 1;/数据读取子程序unsigned char Read1302 ( unsigned char addr )unsigned char i,temp,dat1,dat2; CE=0; CE = 1;节 移一位 /右/读取数据 CE=0;ACC_7=DIO; ACC=1; SCLK = 0;dat1=ACC;dat2=dat1/16; /数据进制转换dat1=dat1%16; /十六进制转十 进制dat1=dat1+dat2*10;return (dat1);/初始化 DS1302void Initial(void)Write1302 (WRITE_PROTECT,0X00); /禁止写保护Write1302 (WRITE_SECOND,0x56); /秒位初始 化Write1302 (WRITE_MINUTE,0x34); /分钟初始化Write1302 (WRITE_HOUR,0x12); /小时初始化Write1302 (WRITE_PROTECT,0x80);允许写保护
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1