新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 高精度RTC SD2403AP在智能路燈控制器上的運(yùn)用

高精度RTC SD2403AP在智能路燈控制器上的運(yùn)用

作者: 時間:2008-11-06 來源: 收藏

  時間報警允許寄存器的使能位是用于確定哪些時間報警寄存器(秒、分鐘等)需要與寄存器之間作比較。當(dāng)運(yùn)行時,一旦被允許的報警寄存器均與對應(yīng)的寄存器相匹配,就會觸發(fā)一次報警中斷,同時報警中斷標(biāo)志位INTAF位被置”1”

  當(dāng)設(shè)置 INTS1=0、INTS0=1時,即允許報警中斷從INT腳輸出。該報警中斷有兩種模式,即單事件報警和周期性報警, 模式的選定由控制寄存器2中的報警中斷模式位IM的值來定:
 
  IM=0 ,單事件報警,輸出低電平直至INTAF位清零 

  IM=1 ,周期性報警,輸出低電平有效、寬度為250MS的周期性脈沖直至INTAF位清零
為清除報警中斷,可通過寫操作將控制寄存器1的INTAF位置”0”。但當(dāng)ARST位置為”1”,則在控制寄存器1被讀取時,INTAF位會自動清零。

本文引用地址:http://butianyuan.cn/article/89282.htm

  ●智能路燈控制器設(shè)計 

  本文采用大家使用普遍ATMEL89C51單片機(jī)做主控芯片。通過對時間的調(diào)用配合光感信號達(dá)到對路燈的開關(guān)智能控制,該系統(tǒng)可廣泛應(yīng)用于道路燈、霓虹燈、航標(biāo)燈、夜景燈、高速公路照明燈、庭院燈及所有室外照明燈具的控制,其系統(tǒng)框圖如下 

   

   硬件設(shè)計

       圖中,主要給出SD2403AP的具體接線電路,OUT為各位的控制信號??山尤龢O管后放大給繼電器輸出,從而控制路燈的開關(guān)。 

   在此設(shè)計中MCU通過P3.4,P3.5模擬IIC總線與SD2403AP進(jìn)行通信,并通過INT讀出中斷信號,本設(shè)計設(shè)置的每天早上6:30(此時間可以由用戶通過KEY鍵進(jìn)行修改)定時關(guān)掉OUT1路的輸出。OUT2,OUT3等由光線控制?,F(xiàn)以O(shè)UT1的關(guān)斷做例子分析

  軟件設(shè)計 

  安排SD2403AP在06:30輸出一個低電平的信號,MCU通過輪循的方式查到此電平并設(shè)置OUT1為0,從而關(guān)斷繼電器并關(guān)段路燈等。
這里將寫入SD2403AP的寄存器列出來,如表:

地址

寄存器名稱

D7

D6

D5

D4

D3

D2

D1

D0

數(shù)值范圍

00H

0

S40

S20

S10

S8

S4

S2

S1

0-59

01H

分鐘

0

MN40

MN20

MN10

MN8

MN4

MN2

MN1

0-59

02H

小時

12_/24

0

H20 P/A_

H10

H8

H4

H2

H1

0-23

03H

星期

0

0

0

0

0

W4

W2

W1

0-6

04H

0

0

D20

D10

D8

D4

D2

D1

1-31

05H

0

0

0

MO10

MO8

MO4

MO2

MO1

1-12

06H

Y80

Y40

Y20

Y10

Y8

Y4

Y2

Y1

0-99

07H

秒報警

0

AS40

AS20

AS10

AS8

AS4

AS2

AS1

0-59

08H

分鐘報警

0

AMN40

AMN20

AMN10

AMN8

AMN4

AMN2

AMN1

0-59

09H

小時報警

0

0

AH20 AP/A_

AH10

AH8

AH4

AH2

AH1

0-23

0AH

星期報警

0

AW6

AW5

AW4

AW3

AW2

AW1

AW0

N/A

0BH

日報警

0

0

AD20

AD10

AD8

AD4

AD2

AD1

1-31

0CH

月報警

0

0

0

AMO10

AMO8

AMO4

AMO2

AMO1

1-12

0DH

年報警

AY80

AY40

AY20

AY10

AY8

AY4

AY2

AY1

0-99

0EH

報警允許

0

EAY

EAMO

EAD

EAW

EAH

EAMN

EAS

N/A

0FH

CTR1

W3

0

INTFA

INTDF

0

W2

0

F

N/A

10H

CTR2

WRTC1

IM

INTS1

INTS0

FOBAT

INTDE

INTAE

INTFE

N/A

11H

CTR3

ARST

0

TDS1

TDS0

FS3

FS2

FS1

FS0

N/A

12H

時間調(diào)整

0

F6

F5

F4

F3

F2

F1

F0

N/A

13H

倒計時定時器

TD7

TD6

TD5

TD4

TD3

TD2

TD1

TD0

0-255

14H~1FH

(12BYTE)

BIT7

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0

N/A

   讀時間的時候用到的是00H——06H里面的數(shù)值,為BCD碼。 

  控制寄存器和中斷在07——13H。 

  本設(shè)計設(shè)置的中斷涉及的寄存器有08H,09H,EH,F(xiàn)H,10H

  部分軟件如下:

  1. 打開“軟鎖”,即設(shè)置WRTC1,WRTC2,WRTC3為1,才能寫數(shù)據(jù)。寫完數(shù)據(jù)關(guān)閉軟鎖

   TIMEWRITE_ON:
SETB      SDA
SETB      SCL
LCALL   DELAY
CLR       SDA
LCALL  DELAY
CLR       SCL
LCALL  DELAY            ;I2C START
MOV    R6,#64H
LCALL   SEND
MOV      R6,#10H          ;設(shè)置時鐘數(shù)據(jù)的內(nèi)部起始地址為10H
LCALL   SEND           
MOV   R6,#80H           ;置10H的WRTC1為1
LCALL   SEND
CLR       SDA
SETB      SCL
LCALL   DELAY
SETB      SDA
LCALL   DELAY              ;I2C STOP
LCALL   IICSTART           ;具體程序同上I2C START,此處略
MOV     R6,#64H            ;發(fā)送時鐘SD2400的器件地址(寫)
LCALL   SEND
MOV     R6,#0FH            ;設(shè)置時鐘數(shù)據(jù)的內(nèi)部起始地址為0FH
LCALL       SEND           
MOV     R6,#84H           ;置0FH的WRTC2。WRTC3為1
LCALL     SEND
LCALL     IICSTOP           ;同上,I2CSTOP      
SEND:      MOV      A, R6               ;發(fā)送一個字節(jié)
MOV        R2,#08H
SEND1:      MOV    C,ACC。7
MOV    SDA,C
LCALL  DELAY
SETB    SCL
LCALL  DELAY
CLR             SCL
LCALL    DELAY            ;SEND A BIT
RL     A
DJNZ    R2,SEND1
SETB        SDA               ;置輸入狀態(tài)
SETB        SCL
LCALL     DELAY
MOV        C,SDA
JC          ERROR
CLR              SCL
LCALL       DELAY
RET                        ;READ A BIT
ERROR:      LJMP  0000H

 

2,寫2403的中斷控制寄存器以實現(xiàn)6:30輸出一個低電平
LCALL         TIMEWRITE_ON
LCALL     IICSTART
MOV             R6,#64H                ;發(fā)送時鐘SD2400的器件地址(寫)
LCALL          SEND
MOV             R6,#10H                ;設(shè)置時鐘數(shù)據(jù)的內(nèi)部起始地址為10H
LCALL          SEND    
MOV     R6,#92H                  ;ALARM
LCALL     SEND
LCALL     IICSTOP
LCALL     IICSTART
MOV             R6,#64H                ;發(fā)送時鐘SD2400的器件地址(寫)
LCALL          SEND
MOV             R6,#0EH                ;設(shè)置時鐘數(shù)據(jù)的內(nèi)部起始地址為0E
LCALL          SEND           
MOV     R6,#06H                   ;報警允許小時,分鐘
LCALL         SEND
LCALL   IICSTOP              
LCALL   IICSTART
MOV             R6,#64H                 ;發(fā)送時鐘SD2400的器件地址(寫)
LCALL          SEND
MOV             R6,#08H                 ;設(shè)置分鐘報警地址
LCALL          SEND           
MOV    R6,#30H                     ;MINUTE
LCALL        SEND
MOV     R6,#06H                   ;HOUR
LCALL        SEND   
LCALL   IICSTOP  
LCALL         TIMEWRITE_OFF

  ●結(jié)語 

  SD2403AP是一款實時時鐘芯片,在此智能路燈控制器中發(fā)揮著重要的作用。其芯片可以廣泛用于消費(fèi)和工業(yè)領(lǐng)域的諸多平臺,如電子式電力測量儀(數(shù)字式電力表)、數(shù)碼相機(jī)、數(shù)碼攝像機(jī)、游戲機(jī)、DVD錄像機(jī)、便攜電話等產(chǎn)品

 

      獻(xiàn)
[1]  沙占友,王彥朋,孟志永,單片機(jī)外圍電路設(shè)計,電子工業(yè)出版社,2003.1
[2]  SD2403APIDATASHEET,深圳興威帆電子技術(shù)有限公司,2008

晶振相關(guān)文章:晶振原理
上拉電阻相關(guān)文章:上拉電阻原理

上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉