pcf8563电路图,pcf8563典型电路
求用PCF8563做个实时时钟的C源程序和电路图!?
# include # include # define uchar signed char # define uint unsigned intsbisbit聆听编号[10]={ 0 x 30.0 x 31.0 x 32.0 x 33.0 x 34.0 x 35.0 x 36.0 x 37.0 x 38.0 x 39 };//数字表sbitsbitsbit//充放电开关,履行机构sbitsbitsbit//测试灯sbit位忙=0;听SG;倾听SD;倾听fg;倾听外国直接投资;听到mg;倾听MD;uchar hou=0uchar min=0侦听秒=0倾听子添加收听数字式录音带(digital audio tape)DOS文件名数据文件侦听编号;见start _ PCF 8563();请参见send _ PCF 8563 _ byte();void lcdini(无效);见错误(听dat);void WrDat(收听Dat):见chkbusy(见);参见显示器0(参见);见显示器1(见);请参见stop _ PCF 8563();请参见receive _ PCF 8563 _ byte()。void spit _ time();void LcdIni()//初始化LCD { wrp(0x 01);错误(0x 38);错误(0x 0c);错误(0x 06);}见wrop(听dat)//写液晶显示器显示地址{ P1=dat;RS=0rw=0en=0 chkcbusy();en=1}见wrdat写液晶显示器显示数据{ P1=dat;RS=1rw=0en=0 chkcbusy();en=1}见chkcbusy()//检查液晶显示器是否忙{ P1=0 xff;RS=0rw=1en=0 _ no _();en=1S7-1200可编程控制器:}请参见显示0() //显示必要的背景{ wrp(0x 80);wrd at(” t “);错误(0x 81);wr dat(“:”);错误(0x 84);wr dat(“:”);错误(0x 87);wr dat(“:”);}请参见spit _ time(){ SG=(int)Hou/10;对fg=(int)最小/10;对mg=(int)秒/10;对}请参见display1()//显示时间六位{聆听温度6;听温度5;听温度4;聆听温度3:聆听温度2:聆听温度1:错误(0x 82);temp 6=num[SG];wrdat(温度6);错误(0x 83);temp 5=num[SD];wrdat(温度5);错误(0x 85);temp 4=num[fg];wrdat(温度4);错误(0x 86);temp 3=num[FD];WrDat(温度3):错误(0x 88);temp 2=num[mg];wrdat(温度2);错误(0x 89);temp 1=num[MD];WrDat(temp1):}请参见Send_pcf8563_byte(uchar bb) //向PCF8563发送一个字节{倾听aa;PCF 8563 _ SCL=0 for(aa=0);aa 8;aa){ if((bb0x 80)==0x 80){ PCF 8563 _ sda=1;} else { PCF 8563 _ sda=0 } PCF 8563 _ SCL=1 PCF 8563 _ SCL=0bb=B1;} _ no _();_ no _();pcf 8563 _ sda=1pcf 8563 _ scl=1忙=0;if(PCF 8563 _ sda){ busy=1;} else { _ no _();_ no _();pcf 8563 _ scl=0忙=0;} }请参见write_pcf8563(侦听subadd,侦听dat/)向PCF8563对应地址写数据{ start _ PCF 8563();send _ PCF 8563 _ byte(0xa 2);如果(!busy){ send _ PCF 8563 _ byte(subdd);如果(!busy){ send _ PCF 8563 _ byte(dat);} } stop _ PCF 8563();}请参见read_pcf8563() //读当时的时是吗?分是吗?钞{ start _ PCF 8563();send _ PCF 8563 _ byte(0xa 2);如果(!busy){ send _ PCF 8563 _ byte(0x 02);如果(!busy){ start _ PCF 8563();send _ PCF 8563 _ byte(0xa 3);receive _ PCF 8563 _ byte()。sec=编号0x 7fstart _ PCF 8563();send _ PCF 8563 _ byte(0xa 3);receive _ PCF 8563 _ byte()。最小值=编号0x 7fstart _ PCF 8563();send _ PCF 8563 _ byte(0xa 3);receive _ PCF 8563 _ byte()。侯=数字0x 3f} } stop _ PCF 8563();}请参见receive_pcf8563_byte() //从PCF8563接受一个字节{ uchar ccpcf 8563 _ sda=1 number=0:for(cc=0);cc8号文件;(cc){ number=1;PCF 8563 _ SCL=0 PCF 8563 _ SCL=1 _ no _();_ no _();number=number | PCF 8563 _ sda } PCF 8563 _ SCL=0 _ no _();_ no _();}请参见start_pcf8563() //开启PCF 8563 IIC { PCF 8563 _ sda=1 PCF 8563 _ SCL=1 PCF 8563 _ sda=0//SCL为低,SDA执行一个上跳pcf 8563 _ scl=0//SCL为低是吗?嵌住数据线}请参见stop_pcf8563() //关闭PCF 8563 IIC { PCF 8563 _ sda=0 PCF 8563 _ SCL=1 PCF 8563 _ sda=1//SCL为高,SDA执行一个上跳pcf 8563 _ scl=0//SCL为低是吗?嵌住数据线}见主(同上){ LCD ini();//初始化屏显示0();//显示必要的背影write_pcf8563(0x02,秒);//写钞write_pcf8563(0x03,min);//写分write_pcf8563(0x04,侯);//写时while(1){ read _ PCF 8563();//读当前时间spit_time()://切害时间是吗?为显示做准备显示1();//显示当前时间}}
010-35000
谁能帮我i解析下这电路图中的各个元件的作用(包括接地)
U3是一款低功耗的CMOS实时时钟/日历芯片。它提供可编程时钟输出(CLKOUT)和中断输出(INT)。所有地址和数据通过I2C总线接口(SCL、SDA)串行传输。CY2和U3的内部电路形成一个振荡器,提供U3工作所需的时钟。C31帮助振荡器启动,U3由VCC或BT1供电。两路电源通过D31和D32隔离,C30用作电源滤波器,R31将INT引脚拉高电平,U3发出中断信号时,将INT1拉低电平。
pcf8563是什么啊
Www.ledshow.net也是led网站摘要本系统是从实际应用角度出发,针对目前市场上流行的LED产品的应用领域,设计制造的多功能电子显示屏。可用于商场导购推广展示、新闻广告展示、车站、机场班次时间信息展示等。根据题目的设计要求,这个简单的16行*64列LED电子显示屏的硬件部分主要包括SPCE061A单片机系统、16个88 LED点阵显示模块组成16*64点阵、显示驱动电路、SPR4096存储器、PCF8563实时时钟电路、键盘输入控制器等。此外,还扩展了液晶显示、实时温度检测、无线通信和电机驱动屏幕旋转等电路。该系统不仅可以实现数字、字母、汉字等预存信息的切换显示,还可以实现信息定时循环、上下左右滚动、LED显示亮度连续可调、实时时间显示、实时温度显示、无线遥控、显示屏旋转等扩展功能。此外,该系统可以与PC机通信,并通过PC机的串口更新显示信息。关键词:led电子显示屏SPCE061A串行通信摘要:LED点阵显示系统是随着计算机、微电子、光电子技术的迅速发展而出现的一种新型信息显示媒体。该16*64 LED显示系统包括SPCE061A单片机系统、16个8*8 LED点阵模块、显示驱动电路、SPR4096存储模块、PCF8563实时时钟芯片、键盘控制器等。此外,还包括液晶显示电路、实时温度检测、射频通信电路。该系统可以显示数字、字母、汉字。它可以实时循环显示信息,向上滚动,向下滚动,向左滚动,向右滚动。显示信息的亮度可以连续调节。此外,该系统可以远程控制,并通过COM1与PC机通信,更新显示信息。关键词:LED点阵显示系统SPCE061A串行通信目录一、方案比较4 1、控制系统4 2、点阵信息提取方案4 3、显示驱动电路52、硬件设计与演示5 1、主控单片机6 2、LED显示驱动电路6 3、数据存储器8 4、键盘LCD显示模块9 5、无线通信模块9 6、电路设计10 7、温度检测10 8、打印机选择11 9、旋转机箱设计113、 系统软件设计11 1、主程序流程图12 2、点阵字体信息提取程序流程图12 3、LED显示程序12 4、串口通信程序12 5、PC客户端程序124、系统功能测试16 1、测试中用到的仪器16 2、键盘16各键的功能3、单元模块16的电路测试4、系统整体功能测试165、总结17 1。 方案比较1。控制系统中LED点阵电子显示屏的设计一般有两种方案:方案一:以可编程逻辑器件为核心控制器,产生LED点阵的行、列驱动信号。由于系统不仅需要显示信息,还具有键盘控制器、显示亮度连续可调、实时时钟显示、与PC机通信等功能,因此需要使用中大型PLD,并设计多种接口电路。开发周期长,难以进一步拓展。同时,系统的成本会急剧上升(与第二种方案相比)。因此,本设计不采用该方案。方案二:采用单片机系统实现。鉴于SPCE061A单片机比传统的51系列8位单片机资源更丰富,数据处理速度快,同时“61板”包括电源电路、音频电路(包括MIC输入部分和DAC音频输出部分)、复位电路等。除单片机最小系统电路外,体积小,可靠性高。
本系统的设计采用双单片机系统,其中一个主要用于完成多功能显示和控制功能,另一个主要用于实时时钟显示、实时温度检测和显示、无线通信等扩展发挥部分功能,从而提供充足的内部空间和更多的外部接口;同时安装调试可以并行进行,大大缩短了整体设计制造时间。2.点阵信息提取方案应采用LED点阵显示数字、字母、汉字等信息。首先,它应该能够提取其字体数据,即一个16*8的点阵数字和字母字体数据有16个字节,一个16*16的点阵汉字字体数据有32个字节。首先要确定点阵信息提取方案。方案一:固定汉字显示,即将要显示的句子中所有汉字的字母数据依次提取出来存储在内存中。当有显示任务时,可以直接取出字体数据发送到显示器。这种方法占用空间少,程序简单,显示速度快。采用该方案提取并存储系统中10组预存信息的点阵信息。而要显示大量的汉字或者直接更新显示的信息几乎是不可能的。因此,要实现这样的功能,应该采用第二种方案。方案二:将点阵信息字体数据的标准字体文件(本系统使用中文字体文件HZK16和ASC16)加载到外部ROM存储器中,采用与PC相同的代码(内码)。首先进行基于PC机的预处理,提取待显示内容的内码,通过串口发送给单片机。单片机先做出判断,如果是ASC16,直接计算起始地址,起始地址在ASC16。如果是汉字,单片机将内码转换成区码和位码,然后计算起始地址,在HZK16文件中的指定位置取出连续的32个字节,就是字体信息,然后送到显示器显示。另外,PC机与单片机的串行通信只传输PC机的内部代码,而不传输字体信息,信息量小,不需要复杂的通信协议。这样既可以减轻单片机的负担,又可以根据需要随时改变显示内容,非常简单灵活。3.显示驱动电路常用的显示驱动方式有三种:方案一:串行控制驱动。这种方式的优点是单元内电路连接简单,给印刷电路板的设计带来了方便,降低了布线密度,方便了后期的制造和调试,相对提高了各单元的可靠性;方案二:并行控制驱动,将显示数据以并行(一般为8位)方式送入驱动电路。这样做有以下优点:与串行控制相比,数据刷新速度更快,在处理相同量的数据时,可以大大降低处理速度要求,从而提高系统的稳定性。但因为“并行”,单元内数据线的连接更加复杂,布线后的调试难度大大增加。方案三:专用集成电路(ASIC)用于直接驱动。由于该ASIC集成了行控制、列控制和外围驱动,系统的稳定性更加可靠,特别适用于室外大型或超大显示屏。因为这类显示屏对图像显示的要求很高,不仅要保证图像的一致性,还要保证图像的稳定性和高亮。这次设计的显示屏只有16行*64列,更适合串行控制。这样既省去了制版过程中并行控制驱动器的复杂布线,又因为没有ASIC,在一定程度上降低了整个系统的成本。二。硬件设计与演示根据以上系统方案的比较分析,所设计的系统总体组成框图如图1所示:图1系统总体组成框图由三部分组成:以1#单片机为核心的模块1:包括16*64LED点阵、驱动电路、STR4096存储器、无线数据传输
实现功能:主要用于实现点阵显示,包括具体广告语库内容的显示,定时时间显示,定时温度显示,上下左右滚动等多种模式;存储器用于存储汉字和ASCII码的点阵库,实现掉电不丢失的功能;无线模块更新标语库并接收设置信息;底盘可实现显示屏的左右旋转,摆动幅度可调;在商场里,光电传感器用来检测人的进出,可以配合自动门使用。扬声器播放“欢迎光临”等语音信息;在广告牌应用中,打印机用于名片打印。以MCU 2#为核心的模块2包括4*4键盘、液晶显示和无线数据传输模块。功能:该部分实现了遥控器的功能,可以远程设置显示屏滚动方式,选择广告语库,设置时间,设置摆动幅度;实现广告语库的更新。(键盘说明见附录1)以上位机为核心的模块3:包括上位机软件和MAX232。功能:上位机主要更新标语数据库的数据。上位机软件通过MAX232将更新的内容(汉字或ASCII码)发送给MCU 2#再无线传输给MCU 1#更新数据。以下是各单元电路的具体设计:1 .主控单片机采用凌阳公司的16位单片机SPCE061A作为主控制器。由于SPCE061A内置2K SRAM和32K内存FLASH,可以满足本系统对数据处理和LED点阵显示的数据存储要求。CPU时钟频率高达49.152MHz,可以满足刷新速度的要求。此外,“61板”具有功能强、性价比高、体积小、集成度高、易扩展、功耗低等优点,简化了主控系统的硬件电路设计,可靠性高。除此之外,凌阳单片机具有C风格的汇编语言,兼容标准C,C语言函数可以用汇编函数调用,使其开发更容易,整个系统实现更简单。2.LED显示驱动电路。在本次设计中,16行*64列LED电子显示屏的制作及其显示驱动电路的设计和制作都是非常关键的部分。下面主要介绍显示驱动电路的设计。这款LED点阵屏采用动态扫描方式,即逐行扫描。工作时,通过列驱动输出一行点阵字体,然后用解码器选择相应的行,使其显示出来。然后发送下一行数据,并选择下一行有效,直到所有16行被再次扫描。此时,会出现一条完整的文本消息。然后重复扫描这16行,直到显示新的信息。这种方式具有功耗低、成本低、使用寿命长的优点,但也存在显示亮度和内容显示不稳定的问题。根据视觉保持原理,根据视觉保持原理,每个屏幕的完整显示时间要控制在20ms以内,也就是50Hz,这样人眼就不会感觉到闪烁。由于要扫描16行点阵,每行的时间一定不能超过20ms 16=1.25ms,同时每行的扫描时间越短越好,因为LED的亮度与电流和保持时间有关。LED点阵块单点的静态电流一般在10mA左右。由于占空比为1/16,单点最大动态电流可达160mA。在保持时间不变的情况下,电流越大(不超过额定电流),点阵亮度越亮,而在电流不变的情况下,需要一段保持时间来保持亮度。实验表明,当LED的输入电流为15mA时,维持时间至少需要1ms,否则LED会略亮。由于SPCE061A单片机的时钟频率在设计上设置为24MHz,每次传输有64位的字体数据,因此计算出的传输时间小于1ms,这样就可以充分利用列驱动器74HC595的锁存功能,即在接收到下一行要显示的数据而没有锁存新数据的期间,就可以显示这一行的内容,不需要额外的de
由于显示行的组成是由多个模块并联而成,行驱动的功率要求比较高,我们在扫描行的时候需要选择低行为,所以增加了逆变器ULN2803来满足要求。列信号处理列信号的处理主要由8个8位串并移位寄存器74HC595和锁存器完成。单片机IO口串行输出的64位点阵数据在移位时钟的作用下,一点一点地移动到相应的位置。接收到锁存信号后,数据并行输出到LED的列线上,最终在行驱动信号的作用下点亮一行LED像素。显示电路的电路图如图2所示。图2 LED显示屏扫描驱动电路3。数据存储器的设计题目要求可以增加到10组预存信息,显示的信息具有断电保护功能。同时考虑将汉字点阵字库文件HZK16(261K字节)和ASC码点阵字库文件ASC16(4K字节)加载到ROM存储器中,以便根据内码在字库中寻址,找到对应的字体,提取出来后送到点阵显示屏上显示。因为SPCE061单片机的内存Flash只有32K,而且程序还要存储,所以需要扩展数据内存。我们选择了凌阳“61板”的配套模块SPR4096。SPR4096是一款高性能的4M位(512K字节)闪存,分为256个扇区,每个扇区2K字节。SPR4096串行接口的工作频率可以达到5MHz,数据访问速度和存储容量可以满足我们的要求。硬件连接如图3所示:图3 SPR4096硬件连接图4。键盘液晶模块利用键盘作为显示控制器,实现多功能显示控制。我们采用智能键盘显示控制芯片HD7279A作为4*4键盘与单片机的接口,与微处理器之间只需要4条接口线,采用串行通信方式,占用CPU端口少。同时,HD7279获取键盘代码后,通过中断服务程序将按键信息发送给单片机,让单片机腾出更多空间。在设计中,我们需要用液晶显示模块来显示遥控单片机菜单的所有信息。本系统选用OCM48C模块,可以显示字母、数字符号、中文字体和图形。具有图形和文字图像混合显示功能,可以用并口或串口连接,方便快捷。HD7229、OCM48C和MCU之间的连接原理图如图4所示。5.无线通信模块在本次设计中,我们使用了两块61板,其中1#板主要用于控制LED显示,2#板主要用于键盘液晶控制、实时时钟、实时温度检测和显示、与PC通信等扩展功能。两块板之间采用无线通信进行数据传输。为了满足系统的要求,我们选用了SRWF-1微功耗无线数据传输模块,该模块具有抗干扰能力强、误码率低、通信协议完善、数据实时同步、看门狗实时监控、传输距离远、功耗低、睡眠功能可靠性高、体积小、重量轻等特点。图4键盘显示电路SRWF-1模块提供两个串口和三种接口模式。COM1为TTL级UART接口,COM2为用户自定义的标准RS-232/RS-485接口(用户只需拔掉/插上短路并上电即可改变接口类型)。SRWF-1提供的两个串口在使用时要注意以下事项:(1)SRWF-1将空中接收到的数据通过串口传输到终端设备时,COM1和COM2同时输出,即如果用户将一个设备分别连接到COM1和COM2,都可以同时接收到数据;(2)对于终端设备发送的准备发射到空中的数据,SRWF-1只能正确接收COM1或COM2的一个串口发送的数据,否则会造成数据通信混乱。如果终端设备向COM1发送0x12(数据正在传输),然后向COM2发送0x34,模块将接收到数据串0x12和0x34。图5 SRWF-1与用户设备的接口电路注意:不用的引脚可以不连接
PCF8563与MCU之间的接口电路如图6所示。此外,这部分电路还具有断电保护功能。当主电源系统意外断电时,即Vcc为0V时,D1关闭,3.6V备用电源通过D2继续给PCF8563供电,保证8563正常工作。图6 PCF8563时钟电路7。温度检测本系统扩展了实时温度检测和显示功能,选用DS18B20一线式数字温度传感器,通过单片机读取当前环境温度,并可通过键盘切换显示时间和温度。图6 DS18B20与单片机8的接口电路。选择打印机。该系统还扩展了打印机功能,用于在广告牌应用中打印名片和其他相关信息。我们选择了北京兴威机电应用技术研究所研发的微型热敏打印机。这些字符可以通过常规的ESC/P打印命令来打印。图7打印机接口控制9的时序图。旋转底盘的设计根据应用的需要,系统扩展了显示屏的旋转功能,采用普通小DC电机提供动力,变速箱减速增大驱动能力,使显示屏左右摆动,幅度可调。图8 DC电机驱动电路三。系统的软件设计。该系统的软件主要包括主程序、点阵字体信息提取程序、LED显示程序、串行通信程序和PC客户端程序。1.主程序流程图见图8。2.点阵字体信息提取程序流程见图9。3.LED显示程序LED显示屏的显示方式有静态、上下滚动、左右滚动等等。其中上下滚动显示程序相似,左右滚动显示程序相似,其他多图案显示程序在此基础上进行修改。因此,主要给出了静态显示、上移显示和左移显示的程序流程图,如图10、图11和图12所示。4.串行通信程序每当有新的显示内容输入PC客户端程序并发送给单片机时,单片机就会产生串行中断,接受待显示信息的内码,然后用点阵字体信息提取程序得到点阵数据并发送给LED显示屏进行显示。单片机以中断的形式接受数据。串行中断程序流程图如图13所示。5.PC客户端程序本系统的PC客户端程序是用Visual Basic 6.0开发的,主要利用其串行通信控件MSComm。其主要流程图和运行效果见图14和图15。图8主程序流程图图9点阵字体信息提取程序流程图图10静态显示程序流程图图11上显示程序流程图图12左显示程序流程图图13串行中断程序流程图图15 PC客户端程序流程图图15 PC客户端控制程序IV的界面。系统功能测试1、测试中用到的仪器,如GDS-820C双踪数字示波器、UNT-T表数字万用表、SK1731SL2A DC稳压电源、F10数字合成函数信号发生器、联想PC、烙铁等。2.键盘各键的功能1 2 3 4 5 6 7 8 9 0。/C/-确认取消“0-9”从上到下:数字键;”./:小数点/数据加1;” C/-“:删除网格/数据减1;“确定”:进入菜单,保存设置“取消”:返回上一级菜单“上”:菜单向上翻,插入点向左“下”:菜单向下翻,插入点向右。3.单元模块的电路测试。1)LED点阵测试:所有点阵都被程序点亮,但有些点阵不能完全点亮。更换点阵后,显示正常。2)无线数据传输测试:MCU #2无线发送1000字节数据,MCU #1接收并存储。通过开发环境检查接收到的数据后,发送100次,成功接收100次。系统经测试稳定;3)与上位机通信测试:上位机循环发送1000字节数据,由单片机接收并校验。成功接受后,数据发送到液晶显示器,然后停止传输。测试后,相对于人的refl,接收时间可以忽略
4.系统整体功能测试。各单元模块集成后,系统上电,显示屏上显示预存信息。通过2#电脑上的键盘可以成功控制1#电脑上的显示,包括预存信息切换显示、翻页、上下滚动屏幕、左右滚动屏幕、对流和展开等。LED显示屏亮度连续可调,可成功显示字母、数字、汉字等信息。实时和实时显示可以通过按键控制。通过PC机的客户端程序将需要更新的信息数据发送到2#计算机,2#计算机通过无线数据传输模块发送到1#计算机,可以成功更新显示内容。经过多次测试,整个系统工作稳定可靠,能够实现上述所有功能。5.总结我们制作的这套LED点阵电子显示系统,不仅完成了题目要求的基本功能,而且在实时温度检测与显示、无线遥控、显示方式等方面都有所创新。这套系统以凌阳的16位微控制器SPCE061A为核心部件,最终完成竞赛题目要求的所有任务,包括控制16*64LED点阵显示屏左右滚动信息的能力、显示屏亮度连续可调、实时和实时温度的显示等。在设计过程中,力求硬件电路简单,充分发挥软件编程灵活的特点,以满足系统设计的要求。在比赛中,我们遇到了许多意想不到的问题,不容易解决。比如在整个系统的调试过程中,我们意识到无论是硬件调试还是软件调试都要注重模块化,从底层开始,一步一步通过后才能进行下一步。同时,在联调过程中,要注意模块之间的时序协调。有时,正确的模块程序以不适当的顺序执行,导致程序运行结果完全错误。通过这次比赛,我们深刻体会到了团队合作的重要性,提高了动手能力和解决问题的能力。64*64配四个16*16就可以了。
相关文章
发表评论