MOV P0,#7EH ;显示1 LCALL DELAY MOV P0,#0FFH SETB P2.1
CLR P2.2 ;选中第三个数码管 MOV P0,#0A2H ;显示2 LCALL DELAY MOV P0,#0FFH SETB P2.2
CLR P2.3 ;选中第四个数码管 MOV P0,#62H ;显示3 LCALL DELAY MOV P0,#0FFH SETB P2.3
CLR P2.4 ;选中第五个数码管 MOV P0,#74H ;显示4 LCALL DELAY MOV P0,#0FFH SETB P2.4
CLR P2.5 ;选中第六个数码管 MOV P0,#61H ; 显示5 LCALL DELAY
MOV P0,#0FFH SETB P2.5
CLR P2.6 ;选中第七个数码管 MOV P0,#21H ; 显示6 LCALL DELAY MOV P0,#0FFH SETB P2.6
CLR P2.7 ;选中第八个数码管 MOV P0,#7AH ; 显示7 LCALL DELAY SETB P2.7 MOV P0,#0FFH AJMP MAIN ;重新开始 DELAY: ;延时子程序 MOV R7,#2 D1: MOV R6,#25 D2: DJNZ R6,D2 DJNZ R7,D1 RET END
2.3.5 按键模块设计
按键接到P1口下半部分。用一条4PIN数据排线,把按键部份的JP37,接到CPU部份的P1口JP44的
p1.4—p1.7.
按键模块参考程序见xlisp程序说明
2.3.6 闹钟模块设计
用1条1PIN线把喇叭部分的JP16接单片机P3.3 参考程序见xlisp程序说明小喇叭程序
三、系统的软件设计 3.1程序流程框图
开始 初始化 DS1302读写日期、时间 分离日期\\时间\\显示值 显示子程序 定时闹铃子程序 日期、时间修改子程序 返回 图3-1 主程序流程图
图3-2 时间调整流程图
3.2 子程序的设计
DS1302的结构及工作原理
DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。 2.1 引脚功能及结构
DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK始终是输入端。 相关原理:
程序运行照片: