基于51单片机及DS12C887实时时钟的隧道灯控制器

上传人:恋****泡 文档编号:94899479 上传时间:2019-08-12 格式:DOCX 页数:17 大小:26.61KB
返回 下载 相关 举报
基于51单片机及DS12C887实时时钟的隧道灯控制器_第1页
第1页 / 共17页
基于51单片机及DS12C887实时时钟的隧道灯控制器_第2页
第2页 / 共17页
基于51单片机及DS12C887实时时钟的隧道灯控制器_第3页
第3页 / 共17页
基于51单片机及DS12C887实时时钟的隧道灯控制器_第4页
第4页 / 共17页
基于51单片机及DS12C887实时时钟的隧道灯控制器_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《基于51单片机及DS12C887实时时钟的隧道灯控制器》由会员分享,可在线阅读,更多相关《基于51单片机及DS12C887实时时钟的隧道灯控制器(17页珍藏版)》请在金锄头文库上搜索。

1、;- ; ; 隧道指示灯控制器程序 ; V1.0 ;软件说明: 本程序使用STC单片机控制隧道灯具,最多可以控制高速公路隧道灯80个,每个都可以单独控制;此软件是V1.0版本2006-11-01 ;使用12887储存时段表和显示方案 ; ; ;- ;联网地址(0-FF) ;地址=0FFH 为广播地址,地址=0 0FEH 为单机地址 LW_ADDR EQU 1 ;- ;变量定义表 ;-寄存器定义- RHOUR DATA 28H ;当前小时寄存器,以BCD形式 RMINUTE DATA 29H ;当前分钟寄存器,以BCD形式 TMSG DATA 2AH ;当前时段寄存器,以BCD形式 TEST_H

2、 DATA 2BH ;小时缓冲 TEST_M DATA 2CH ;分钟缓冲 ;- ;-标志位定义- ;ONOFF_FLG EQU 00H ;- ;-地址常量定义- SD_ADDR EQU 0010H ;时段表存储开始地址,外部RAM MAXTEG EQU 000FH ;最大时段值存储地址,外部RAM XS_ADDR EQU 0030H ;显示方案表存储开始地址,外部RAM ;- ;-常量定义- ;本机使用9600波特率,SMOD=0 BD_RATE EQU 0FDH ;9600 BOAD_RATE VALUE 11.0592M SDXZ EQU 09H ;时段限制(BCD)SDXZ=SDXZ1

3、+1 ;SDXZ1 EQU 08H ;时段限制(BCD) SDXZ3 EQU 08H SD_NUM EQU 20H ;时段表长度=8 * 4 SD_LONG EQU 04H ;时段表中单个时段结构的长度 XS_NUM EQU 09H ;显示方案表长度 SEND_NUM EQU 34H ;模拟口1发送数代换数 JISHU_NUM EQU 35H ;模拟口1发送计数器代换数 R0_NUM EQU 36H; ; ;信号引脚定义 DOG EQU P3.5 ; TIME EQU P3.4 ;=0 DS12887片选有效 XDAT EQU P1.0 XTXD EQU P1.1 XLAT EQU P1.2

4、STACK EQU 50H ; ;- ;-以下为程序清单- ORG 0000H AJMP START ;主程序 ORG 0023H LJMP S_PORT ;INTERRUPT OF SERIES PORT ;首先对89C51初始化 ORG 0030H START: NOP MOV 8EH,#02H ;应用STC89C53RC时,禁止内部扩屏RAM MOV SP,#STACK ;设堆栈首地址 MOV PCON,#00000000B ;SMOD=0 MOV SCON,#01010000B ;1101 0000 (MODE 1 ;RECEIVE ENABLE) MOV TMOD,#00100000

5、B ;0010 0000 (T1 MODE 2_TIME) MOV TCON,#01000000B ;0100 0000 (TR1=1 ) MOV TL1,#BD_RATE ;T1 IS TIMER ,MAKE BARD_RATE MOV TH1,#BD_RATE MOV IP,#00010000B ;0001 0000 (S-PORT HIGH interrupt) MOV IE,#10010000B ;1001 0000 (S_PORT ENABLE INT) CPL DOG ;初始化各变量寄存器 MOV 20H,#00H ; 清位寻址区 MOV 21H,#00H ; MOV 22H,#0

6、0H ; MOV 23H,#00H ; CLR TIME MOV TMSG,#01H ;当前时段 MOV DPTR,#007EH ;判断是否初次运行 MOVX A,DPTR CJNE A,#2CH,CLKSET INC DPTR MOVX A,DPTR CJNE A,#2CH,CLKSET NOP NOP LJMP SFLOG ;应该直到RDTIME CLKSET: CPL DOG ;对DS12887初始化,写操作 MOV DPTR,#000BH ;B寄存器SET位置1,禁止12887运行, MOV A,#0A2H ;设24小时制 MOVX DPTR,A MOV DPTR,#0000H ;清秒

7、 CLR A MOVX DPTR,A INC DPTR MOVX DPTR,A INC DPTR ;清分 MOVX DPTR,A INC DPTR ;分闹钟用03 MOV A,#03H MOVX DPTR,A INC DPTR ;清时 MOV A,#07H MOVX DPTR,A ;7时 INC DPTR MOV A,#00H MOVX DPTR,A ;时闹钟00 INC DPTR ;清周 MOV A,#01H ;周一 MOVX DPTR,A INC DPTR ;日1 MOVX DPTR,A INC DPTR MOV A,#11H ;月11 MOVX DPTR,A INC DPTR MOV A,#06H ;年06 MOVX DPTR,A MOV DPTR,#000AH ;以BCD码计时,允许报警中断 MOV A,#0A0H ;设为010允许保留时间 ,uip位不应该置位 MOVX DPTR,A MOV DPTR,#000CH ;C寄存器没有作用 MOVX A,DPTR INC DPTR MOVX A,DP

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 嵌入式开发/单片机

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号