下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录第一章 系统介绍1.1 电子钟介绍1.2 单片机 AT89C51 介绍1.3 时钟芯片 DS1302 简介1.3.1主要功能1.3.2内部结构及引脚功能1.3.3工作原理1.3.4控制字节及寄存器1.3.5时钟 /日历存储区(时分秒)1.3.6数据的传送第二章 硬件设计1. 02.1 系统结构及总流程图.102.2 系统硬件电路设计图.112.2.1整体电路设计.112.2.2DS1302电路设计.112.2.3按键电路.122.2.4显示电路.12第三章、程序源代码.133.1 程序流程图.133.1 源程序1. 4第四章 PROTEUS 软件仿真.26总结.27谢辞.28参考文献.2.
2、 9第一章 系统介绍1.1 电子钟介绍电子钟已成为人们日常生活中的必需品, 广泛应用于家庭、车站、 办公室等场所。 钟表数字化给人 们生产生活带来了极大地方便而且大大地扩展了钟表原先的报时功能诸如定时自动报警、按时自动打 铃、时间程序自动控制、 通断动力设备、 甚至各种定时电气的自动启用,因此研究数字钟及扩大其应用 有着非常现实的意义。数字电子钟设计与制作可采用数字电路实现,也可以采用单片机来完成。 若用数字电路完成, 所设 计的电路相当复杂, 大概需要十几片数字集成块, 其功能也主要依赖于数字电路的各功能模块的组合来 实现, 焊接的过程比较复杂,成本也非常高。 若用单片机来设计制作完成, 由
3、于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低。截止今日,单片机应用技从计算机的网络通讯术飞速发展,纵观现在各个领域,从导弹的导航装置,到飞机上各种仪表的控制,IC 卡、与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能电子宠物等,这些都离不开单片机。单片机即单片微型计算机(Single-Chip Microcomputer),是集CPU ,RAM ,ROM , 定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。同时,若采用单片机计时,一方面需要采用计数器,占用硬件资源,另
4、一方面需要设置中断、查询等,同样耗费单片机的资源,而且,某些测控系统可能不允许。但是,如果在系统中采用时钟芯片,则能很好地解决这个问题。现在流行的串行时钟电路很多,如DS1302 、 DS1307 、 PCF8485 等。这些电路的接口简单、价格低廉、使用方便,被广泛地采用。美国Dallas 公司生产的串行实时时钟芯片 DS1302 是一种具有涓细电流充电能力的实时时钟芯片,采用普通 32.768KHZ 晶振,具有实时时钟和 31 字节的静态 RAM 。主要特点是采用串行数据传输,可方便地与单片机接口,可为掉电保护电源提供可编程的充电功能 ,并且可以关闭充电功能。本设计要求利用 51 单片机和
5、 DS1302 设计制作一个 LED 电子钟,用 8 个 LED 显示时间,当按下相应按键时,修改当前时间或闹铃时间,若当前时间与闹铃时间相同,蜂鸣器发音1 分钟。1.2 单片机 AT89C51 介绍AT89C51 是一个低功 耗,高性 能CMOS 8 位 单片机, 片内含8k Bytes ISP(In-systemprogrammable) 的可反复擦写1000 次的Flash 只读程序存储器, 器件采用ATMEL 公司的高密度、 非易失性存储技术制造,兼容标准MCS-51指令系统及 80C51 引脚结构,芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元,功能强大的微型计算
6、机的 AT89C51 可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89C51 具有如下特点:40 个引脚, 8k Bytes Flash 片内程序存储器, 256 bytes 的随机存取数据存储器( RAM ),32 个外部双向输入 /输出( I/O )口, 5个中断优先级 2层中断嵌套中断, 2个 16位可编程定时计数器,2 个全双工串行通信口,看门狗( WDT )电路,片内时钟振荡器。另外,AT89C51可降至 0Hz 静态逻辑操作, 支持 2 种软件可选择节电模式。空闲模式下, CPU 停止工作,允许 RAM、定时器 / 计数器、串口、中断继续工作。掉电保护方式下,RAM 内容
7、被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。芯片引脚功能AT89C51 芯片 DIP 双列直插式封装引脚如图 1-1 所示。图 1-1 AT89C51 引脚排列8 个 TTL 逻辑电平。P0 口也被作为低 8 位P0 口: P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 对 P0 端口写“ 1 ”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,地址/数据复用。在这种模式下, P0 具有内部上拉电阻。P1 口: P1 口是一个具有内部上拉电阻的 8 位双向I/O 口, P1 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P1 端口写
8、“ 1 ”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。引脚口第二功能如下:P1.0/T2 (定时器 / 计数器 T2 的外部计数输入) ,时钟输出P1.1/T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5/MOSI在系统编程用)P1.6/MISO在系统编程用)P1.7/SCK在系统编程用)P2 口: P2口是一个具有内部上拉电阻的8位双向I/O 口,P2输出缓冲器能驱动 4个TTL逻辑电平。对 P2 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的
9、引脚由于内部电阻的原因,将输出电流(IIL )。在访问外部程序存储器或用 16 位地址读取外部数据存储器(例如执行 MOVX DPTR )时,P2 口送出高八位地址。 在这种应用中, P2 口使用很强的内部上拉发送1。在使用 8 位地址(如 MOVX RI )访问外部数据存储器时,P2 口输出P2锁存器的内容。P3 口: P3 口是一个具有内部上拉电阻的 8 位双向I/O口, P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P3 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因, 将输出电流IIL)。 P3 口亦作为 A
10、T89C51 特殊功能(第二功能)使用。引脚口第二功能如下:P3.0/RXD(串行输入口P3.1/TXD(串行输出口P3.2/INTO(外中断 0)P3.3/INT1(外中断 1)P3.4/TO( 定时 /计数器0)P3.5/T1( 定时/计数器1)P3.6/WR( 外部数据存储器写选通 )P3.7/RD( 外部数据存储器读选通 )此外,P3 口还接收一些用于 FLASH闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE (地址锁存允许)输出脉冲用于锁存ALE/PROG 当访问外部程序存储器或数据存储器时,ALE脉冲。地址的
11、低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止 ALE操作。该位置位后,只有一条 MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE禁止位无效。PSEN 程序储存允许(PSEN )输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次 PS
12、EN信号。EA/VPP 外部访问允许,欲使CPU仅访问外部程序存储器 (地址为0000H-FFFFH ), EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接 Vcc端),CPU则执行内部程序存储器的指令。1.3时钟芯片DS1302简介1.3.1主要功能DS1302是美国DALLAS公司推出的一种高性能、低功耗、带 RAM的实时时钟电路,它可以对2.5V5.5V。采用三线接年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内
13、部有一个31 X8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。特性:实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行计数用于高速数据暂存的 31 X8 RAM2引脚的串行I/O2.5-5.5V满度工作范围用于时钟或RAM数据读写的单字节或多字节数据传送双电源引脚可选慢速充电至VCC11.3.2内部结构及引脚功能DS1302内部主要包括实时时钟(real time clock 、输入移位寄存器(input shift registers)、31字节静态 RA
14、M、电源控制部分 (power con trol)、命令控制逻辑 (comma nd and con trol logic)、振荡器和分频器(oscillator and divider、等部分。DS1302内部结构如图1-2所示。AD BUS图1-2 DS1302 内部结构VcciVccjGNDv,t=1S二1仏X1CZ2iSCLKX匸3=ii/nCKD匚45二IR舒图1-3 DS1302 引脚排列DS1302具有8脚DIP引脚排列如图1-3所示。Vcc1:后备电源,在主电源关闭的情况下,也能保持时钟的连续运行;当Vcc2 大于 Vcc1 + 0.2V时,Vcc2给DS1302供电。Vcc2
15、X1、X2:振荡源,外接 32.768kHz 晶振。GND :接地端SCLK :串行时钟输入端I/O :串行数据输入输出端(双向)。RST :复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。1.3.3工作原理DS1302工作时为了对任何数据传送进行初始化,需要将复位脚(RST )置为高电平且将 8位地址和命令信息装入移位寄存器。数据在时钟(SCLK)的上升沿串行输入,前 8位指定访问地址。命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,
16、写操作时输入数据。时钟脉冲的个数在单字节方式下为8+8 (8位地址+8位数据),在多字节方式下最多可达8+248 。1.3.4控制字节及寄存器DS1302的一次数据传送是从发送控制字节开始的。控制字节的最高有效位(位7)必须是逻辑1 ,:主电源,当 Vcc2小于Vcc1时,DS1302由Vcc1供电。如果该位为0,则无法把数据写入到DS1302中;位6表示要读写的数据类型,为0表示存取日历时钟数据,为1表示存取 RAM数据;位5至位1指示要操作单元的地址;最低有效位(位0)表示命令类型,为0表示要进行写操作,为1表示要进行读操作。控制字节总是从最低位开始输出。其控制字节格式如图1-4所示。写入
17、或读出数据。数据传送时序如图1-5。1.3.5时钟/日历存储区(时分秒)7B432 1打1,01小01O$ECsec0HHhftD.- 100 Sfr01QU削UiN1 °1小hID'%51 17 0 231*secUiN1.3.6数据的传送SCLK周期的上升沿被写入,多余的向DS1302写入数据时,数据在控制字节输入后的下一个SCLK将被忽略。数据写入时从低位 (位0)开始;同样,从 DS1302读取数据时,数据在紧跟控制字节后的下一个 SCLK的下降沿读出,读出数据时也是从低位(0位)到高位(7位),只要RST保持高电平,额外的SCLK将导致数据字节的持续读出,这个特性用
18、于实现该芯片的突发读模式。对DS1302的每一次读写需 16个时钟脉冲,前8个脉冲输入操作地址和读写命令,后8个脉冲SCLKfuumnwuwwnnj图1-5数据读写时序图第二章硬件设计2.1系统结构及总流程图图3-1系统总体结构根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构:时钟显示是一个循环过程,系统以单片机 AT89S52为主控制器,不断读取实时时钟芯片 DS1302提供的时间送LED显示,时间采用24小时模式;当达到闹钟所设定时间时,控制蜂鸣器发声一分钟;当需要调整时USB电源线由电脑提间或闹钟时,按下相应按键进入中断处理。整个系统的电源可由电池提供或者用供
19、。系统总体结构如图3-1所示。2.2系统硬件电路设计图2.2.1整体电路设计ClXiWCI1i xi,tPV T耳 PPT .I . J卜-NLh I =? E U-.Ml i 刃网XMLZt*rrPC.pn>*hTPE孙叱戟淖WXir工aaIfi*七Ml,尸ihPdjml 上Z72 鼻 iMHFIJIP31/口 1站,亿hTAFUrijri.H口何r ijdp53(7TK.F4TpiTiTTLM.IBb9-1门RF1将DS1302时钟芯片与单片机的P1 口连接构成系统的实时时钟电路的部分;将键盘与单片机的P1.4-P1.7接口连接组成系统的按键电路,用来对显示器的控制;LED的段选端与
20、单片机的 P0 口连接构成系统的显示段选控制系统;将位选与P2 口连接使系统的位选较好。2.2.2DS1302 电路设计ALE oP1J3ri.1(口Fl.*DS1302部分电路设计图将DS1302的XI、X2引脚分别与晶振相连, 并通过两个分立电容相连然后接地;将VCC1、VCC2相连然后接地,此部分构成了DS1302芯片的供电电路。将 DS1302的RST引脚接单片机 P1.1弓I脚作为DS1302的复位引脚电路;将 DS1302的SLK引脚单片机的P1.2引脚相连组成 DS1302的时钟端电路;将 DS1302的I/O引脚与单片机的 P1.3相连构成DS1302的I/O端口的电路连接图。
21、2.2.3按键电路按键部分电路设计图将四个按键分别与单片机的P1.4-P.7相连组成系统的按键电路部分,P1.4用来接key1,此按键作为切换键,P1.5接口接key2,此键作为加,P1.6接口接key3,此键最为系统减位,2.2.4显示电路ABCDSTTS DF RPI3pnoxoDD. 慎bl M星咖 PDADCaPD网咗 PDJSROS U.P lb"_rUpzn- 卩PZACMS(魚口fZ?rA15aZ1 PHBBPACK-C-ar系统显示部分电路设计图将LED数码显示管的段选端与单片机的P0 口相连,由于数码管采用的是动态显示,所以通过对LED的位选端与单片机的 P2 口连
22、P0的8位二进制数据的不断改变使数码显示管不断的动态显示;将接使LED数码显示管不断的到位选信号在与数选信号不断的配合下显示数时间数据。第三章、程序源代码3.1程序流程图图为系统软件系统流程图,通过不断的切换与循环实现系统循环计时I此图为按键扫描软件流程图,通过软件的不断扫描信号,确认按键的扫描情况。3.1源程序#in clude<reg52.h>write_addr7=0x80,0x82,0x84,0x86,0x88,0x8a,0x8c;#defi ne uchar un sig ned charfor(i=135;i>0;i-);据#defi ne uint un sig
23、 ned int/ucharcodesbit beep = P 3人3 ;read_addr7=0x81,0x83,0x85,0x87,0x89,0x8b,0x8d;sbit RST = P 1人1 ;sbit SCK = P "2 ;共阳数码管码表,表示0-9和-。-表示时分秒sbit SDA = P "3 ;sbit key1 = P 1人4 ;sbit key2 = P15 ;sbit key3 = P16 ;sbit key4 = P17 ;uchar i,j,mod,flag,flag1=1 ;/ucharcode的间隔.uchar code LED11=0xC0
24、,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,;uchar disbuf8=/滴一声,用来按键伴音void di()0x62,0xa2,0xf7,0x7a,0x28,0xf7,0x7e,0x7euchar i ;/定义时间日期的结构类型struct timefor(i=0;i<40;i+)ucharsecond ;uchar minute ;delay(1);uchar hour;beep =1 ;uchar week ;delay(1);uchar day ;uchar month ;ucharyear;/滴滴,连续响两下。用来闹钟提醒。v
25、oid didi()curre nt_time ;uchar i ;#defi nectime curre nt_time/定义闹钟的时分秒变量for(i = 2; i>0; i-)uchar asec,am in ,ahour ;void delay( uint ms)uchar i ;di();delay(140);while(ms-)/DS1302的写驱动,传入参数为一个地址和数void write(uchar addr,uchar dat)uchar i ;RST = 0 ;SCK = 0 ;RST = 1 ;for(i=0;i<8;i+)SCK = 0 ;SDA = (b
26、it)(addr&OxO1);addr >>=1 ;SCK= 1 ;for(i=0;i<8;i+)SCK = 0 ;SDA = (bit)(dat&0x01);dat >>= 1 ;SCK= 1 ;RST = 0 ;/DS1302的读驱动,传入参数为一个地址,返回参数为读到的数据uchar read(uchar addr)uchar i,dat ;RST = 0 ;SCK = 0 ;RST = 1 ;for(i=0;i<8;i+)SCK = 0 ;SDA =(bit)(addr&0x01);addr>>=1 ;SCK= 1
27、 ;for(i=0;i<8;i+)SCK=0 ;dat>>=1 ;if(SDA)dat|=0x80 ;SCK=1 ;RST=O;dat=(dat/16*10)+(dat&0 x0f);write(0x80,(ctime.seco nd/10)<<4|(ctime.sec on d%10);write(0x8e,0x00);%10);return dat ;/读取DS1302的时间和日期write(0x82,(ctime.mi nute/10)<<4|(ctime.mi nute%10);void read_time()write(0x84,(c
28、time.hour/10)<<4|(ctime.hour%10);ctime.sec ond = read(0x81);ctime. minute = read(0x83);write(0x8e,0x80);ctime.hour=read(0x85);elsectime.day=read(0x87);ctime.m onth=read(0x89);write(0x8e,0x00);ctime.week=read(0x8b);ctime.year=read(0x8d);write(0x86,(ctime.day/10)<<4|(ctime.day%10);/设定时间和日期
29、void set_time()if(!flag)write(0x88,(ctime.mo nth/10)<<4|(ctime.mo nth%10);write(0x8a,(ctime.week/10)<<4|(ctime.weekdisbuf1 = 0xbf ;write(0x8c,(ctime.year/10)<<4|(ctime.year%ctime.mi nu te+;set_time();if(ctime.mi nu te=60)10);disbuf2 = 0xbf ;write(0x8e,0x80);disbuf3 = 0xbf ;disbuf4
30、= LEDctime.week;flag1=1 ;disbuf5 = 0xbf ;disbuf6 = 0xbf ;/刷新显示缓冲区disbuf7 = 0xbf ;void refbuf()break ;case 3 :switch(flag)disbuf0 = LEDasec%10;case 1 :disbuf1 = LEDasec/10;disbuf2 = 0xbf ;disbuf0 = LEDctime.day%10;disbuf1 = LEDctime.day/10;disbuf2 = 0xbf ;disbuf3 = LEDctime.mo nth%10;disbuf4 = LEDcti
31、me.mo nth/10;disbuf5 = 0xbf ;disbuf6 = LEDctime.year%10;disbuf3 = LEDami n%10;disbuf4 = LEDami n/10;disbuf5 = 0xbf ;disbuf6 = LEDahour%10;disbuf7 = LEDahour/10;break ;default :disbuf7 = LEDctime.year/10; disbuf0 = LEDctime.seco nd%10;break ;case 2 :disbuf1 = LEDctime.seco nd/10;disbuf2 = 0xbf ;disbu
32、f4 = LEDctime.mi nute/10;disbuf5 = 0xbf ;disbuf6 = LEDctime.hour%10;mod = 0 ; /调节加1,因为涉及到时分秒,年月日周disbuf7 = LEDctime.hour/10;和闹钟的调节,所以写的比较复杂,应该有更精简的代码。/键盘扫描if(key2=0)void keysca n()if(key1 = 0)delay(5);if(key1 = 0)delay(5);if(key2=0)while(!key2);di();switch(mod)while(!key1); /key1 用来调节时case 1 :间和日期、闹
33、钟mod+;/mod标示调节时间的时ctime.sec on d+;候对应的闪烁位,mod=1秒位或天或闹钟的秒,if(ctime.sec on d=60)ctime.sec on d=0 ;mod=2 是分位,mod=3 是小时位di();/退出调节功能,返回正常显示break ;case 2 :if(mod = 4)ctime.mi nu te=O ;break ;break ;case 3 :case 3 :ctime.year+;ctime.hour+;if(ctime.hour=24)ctime.hour=0 ;break ;if(ctime.year=100)ctime.year=
34、0 ;break ; /flag=0时默认调节时分秒,=1时调节年月日,=2时调节周,=3时调节闹钟,=4时就返回正常显示,flag又key4来控制。if(flag=1)switch(mod)case 1 :ctime.day+;if(ctime.day=32)ctime.day=0 ;break ;case 2 :ctime.mo nth+;ctime.mo nth=0 ;if(flag=2)if(mod=1)ctime.week+;if(ctime.week=8)ctime.week=1 ;if(flag=3)switch(mod)asec+;if(ctime.m on th=13)cas
35、e 1 :if(asec=60)di();asec=0 ;switch(mod)break ;case 2 :case 1 :amin+;if(ctime.sec on d=0)if(am in=60)ctime.sec on d=60 ;amin=0 ;ctime.sec on d-;break ;break ;case 3 :case 2 :ahour+;if(ctime.mi nu te=0)if(ahour=24)ctime.mi nu te=60 ;ahour=0 ;ctime.mi nu te-;break ;break ;case 3 :if(ctime.hour=0)/调节减1
36、,功能与key2相似。if(key3=0)ctime.hour=24 ;ctime.hour-;break ;delay(5);if(flag=1)if(key3=0)while(!key3);switch(mod)case 1 :ctime.week-;if(ctime.day=O)ctime.day=32 ;ctime.day-;if(flag=3)break ;case 2 :switch(mod)if(ctime.mo nth=0)ctime.m on th=13 ;case 1 :ctime.m on th-;if(asec=0)break ;asec=60 ;case 3 :ase
37、c-;if(ctime.year=0)break ;ctime.year=100 ;case 2 :ctime.year-;if(am in=0)break ;amin=60 ;ami n-;break ;if(flag=2)case 3 :if(ahour=0)if(mod=1)ctime.week=8 ;ahour=24 ;ahour-;if(ctime.week=1)break ;TMOD = 0X01 ;间,用来显示。TH0=(65536-3000)/256 ;if(key4=0)delay(5);if(key4=0)while(!key4);di();flag+;if(flag=3)
38、flag=0 ;flag1=1 ;TL0TR0ET0EA=(65536-3000)%256 ;/*wnte(0x8e,0x00);/第一次写DS1302芯片,不然开始显示乱码,只需要初始化一次就行了,以后就屏蔽掉write(0x80,0X10);write(0x82,0X10);write(0x84,0X10);write(0x86,0x23);write(0x88,0x07);write(0x8a,0x06);write(0x8c,0x11);/初始化,定时器定时 3ms用来动态扫描数码管write(0x8e,0x80);*/显示read_time();void in it()/每次初始化的
39、时候都读取时钟芯片的时void timeO()i nterr upt 1void mai n()ini t();if(i=8)i=0 ;/闹钟判断,默认响 1min,同时按下j+;key2和key3关掉闹钟TH0=(65536-3000)/256 ;TL0=(65536-3000)%256 ;while(1)keysca n();/实现调节是闪烁的效果if(mod|flag)if(ami n=ctime.mi nute&&ahour=ctime.ho ur&&flag1)didi();if(key2=0)&&(key3=0)delay(5);if
40、(key2=0) &&(key3=0)flag1=0 ;if(j=10)switch(mod)case 1 :disbuf0=0xff ;disbuf1=0xff ;break ;case 2 :disbuf3=0xff ;disbuf4=0xff ;i+;break ;3msx8x20 ,大约 480ms 从 DS1302 芯片case 3 :读取一下时间P0=disbufi;disbuf6=0xff ;if(j=20)disbuf7=0xff ;break ;j=0 ;refbuf();if(mod=0)read_time();P 2=(0x80>>i);第四章
41、Proteus软件仿真仿真显示用Keil软件编译程序生成可执行文件.hex文件后,在Proteus文件中在单片机里加入Keil软件中生成的hex文件,然后仿真测试LiJir 'b LI 竺-num打Pl审llj口ARMrw-沁|如旦*REPtiafirSP瞬止KTPJMlJPJ'JW-id-tiAFi.a tiJ-pj.imjNMTV w jSfrrijri>許吐PGPJIF-JWV n.THT19JC3 产IIff I* I i/xtfti3-1-1 显示时分秒Hex文件烧入到单片机中后看到数码管显示的效果为时时一分分一秒秒的样式,刚开始时数码管显示有乱码的现象,此现象为系统刚上电后系统初始化闪动的现象,大约过了1秒钟后系统便正常工作,显示格式为课程设计要求的格式。对于系统的按键部分, 当调节各个按键,数码显示管对应的数码位处于闪烁状态,然后进入可调整阶段, 可以对系统的时间显示部分进行调整。系统的电路及显示效果均到达设计要求总结本设计利用单片机 AT89C51 控制串行实时时钟芯 DS1302 构成数字时钟电路,实现计时功能。该电路使用简单的三线接口, 为单片机节省大量的接口资源, 时钟芯片带有后备电池。 该时钟功能强大, 性能优越,能为很多领域,特别
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中化学溶液导电性与离子浓度关系的光电实验设计课题报告教学研究课题报告
- 大学教师职业规划
- 湿热蕴结患者的个性化饮食指导
- 涂装电器安全培训课件
- 人工智能分类技术详解
- 初中化学智慧教育云平台与教师教学能力提升研究教学研究课题报告
- 5S管理在医院感染控制中的应用
- 药物管理与护理
- 城区环境卫生设施提升项目可行性研究报告
- 教学实践:在线学习社区教师数字能力提升的实践探索研究教学研究课题报告
- 2025-2030中国曲氟尿苷替匹嘧啶片行业市场现状分析及竞争格局与投资发展研究报告
- SL631水利水电工程单元工程施工质量验收标准第3部分:地基处理与基础工程
- GB/T 3543.11-2025农作物种子检验规程第11部分:品种质量品种真实性鉴定
- 人力资源有限公司管理制度
- 2024年高中语文选择性必修上册古诗文情境式默写(含答案)
- 部编人教版4年级上册语文期末复习(单元复习+专项复习)教学课件
- 2024-2025学年云南省玉溪市八年级(上)期末英语试卷(含答案无听力原文及音频)
- 绿色建材生产合作协议
- 英语丨安徽省皖江名校联盟2025届高三12月联考英语试卷及答案
- 湖南省长沙市长2024年七年级上学期数学期末考试试卷【附答案】
- 凉山州 2024 年教师综合业务素质测试试卷初中物理
评论
0/150
提交评论