天堂草原最受欢迎的角色,天堂动漫,天堂在线,色天堂下载,天堂中文在线资源,亚洲男人天堂

技術熱線: 4007-888-234
設計開發(fā)

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應用測試 完善的開發(fā)代碼案例庫分享

技術支持

從全面的產(chǎn)品導入到強大技術支援服務 全程貼心伴隨服務,創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力

新聞中心

提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)

發(fā)布我的DS1302程序

更新時間: 2019-03-23
閱讀量:1606

十年專注單片機方案開發(fā)的方案公司英銳恩,分享發(fā)布我的DS1302程序。英銳恩現(xiàn)提供服務產(chǎn)品涉及主控芯片:8位單片機、16位單片機、32位單片機及各類運算放大器等。

程序在PIC16F877單片機運行正常,希望對初學PIC的朋友有所幫助.望斑竹加精.陳斑竹,可以的話,我可以寫個簡單例程發(fā)到主頁上去,應該有用,你看怎么樣?

;================================================ ;DS1302控制子程序 ;================================================= ;程序包括:DS1302初始化,時間數(shù)據(jù)寫入和讀取程序 ;DS1302_init ;init ds1302 ;Set_DS1302 ;set time to ds1302 ;Get_DS1302 ;get time from ds1302 ;=================================================

;============== 1302定義 =========================================== #DEFINE T_IO PORTE,2 ;1302 I_O #DEFINE T_CLK PORTE,1 ;1302時鐘 #DEFINE T_RST PORTE,0 ;1302使能位 #DEFINE DS1302_RX 20H ;保存接受的1個數(shù)據(jù) #DEFINE DS1302_TX 28H ;準備寫入到DS1302的一個數(shù)據(jù)

counter equ xxxh temp_cnt equ xxxh

;************************************************** ; DS1302初始化程序 ;************************************************** DS1302_init ;未寫 

return ;********************************************************** ;子程序名:Set_DS1302 ;功 能:設置DS1302 初始時間,并啟動計時。 ;說 明: ;調 用:Write_byte ;入口參數(shù):初始時間在:W_Second,W_Minute,W_Hour,W_Day,W_Month,W_Week.W_YearL(地址連續(xù)) ;出口參數(shù):無 ;消耗資源:counter,SecAddr(預定義) ;設 計:zhengYanbo 日 期:2005.4.21 ;修 改: 日 期: ;********************************************************** Set_DS1302: bcf T_RST bcf T_CLK bsf T_RST movlw 8eh movwf DS1302_TX ;數(shù)據(jù)發(fā)送寄存器 call Write_byte ;發(fā)送字節(jié) movlw 00h ;WP=0 movwf DS1302_TX call Write_byte bsf T_CLK bcf T_RST movlw W_Second movwf FSR movlw counter,D'7' movlw 80h movwf SecAddr ;秒寫地址 S13021: bcf T_RST bcf T_CLK bsf T_RST movf SecAddr,W movwf DS1302_TX call Write_byte ;寫秒地址 movf INDF,W movwf DS1302_TX call Write_byte ;寫秒數(shù)據(jù) incf FSR incf SecAddr incf SecAddr bsf T_CLK bcf T_RST decfsz counter,F goto S13021 bcf T_RST bcf T_CLK bsf T_RST movlw 8eh ;控制寄存器 movwf DS1302_TX call Write_byte movlw 80h ;控制WP=1,寫保護 movwf DS1302_TX call Write_byte bsf T_CLK bcf T_RST return

********************************************************** ;子程序名:Get_DS1302 ;功 能:從DS1302 讀時間 ;說 明: ;調 用:Write_byte,Read_byte ;入口參數(shù):時間保存在:R_Second,R_Minute,R_Hour,R_Day,R_Month,R_Week.R_YearL ;出口參數(shù):無 ;消耗資源: counter,SecAddr(預先定義) ;設 計:zhengYanbo 日 期:2005.4.21 ;修 改: 日 期: ;********************************************************** Get_DS1302: movlw R_Second ;準備地址 movwf FSR movlw D'7' movwf counter movlw 81h ;秒讀地址 movwf SecAddr G13021 bcf T_RST bcf T_CLK bsf T_RST movf SecAddr,W movwf DS1302_TX call Write_byte call Read_byte movf DS1302_RX,W movwf INDF incf FSR incf SecAddr incf SecAddr bsf T_CLK bcf T_RST decfsz counter,F ;接受7個數(shù)據(jù) goto G13021 return ;********************************************************** ;功 能:寫1302一字節(jié) (內(nèi)部子程序) ;入口:數(shù)據(jù)預先在DS1302_TX中 ;出口:無 ;消耗資源:temp_cnt(預先定義) ;********************************************************** Write_byte movlw D'8' movwf tmp_cnt W_shift rrf DS1302_TX,F ;帶C移位(低位在前) btfsc STATUS,C goto send_1 bcf T_IO goto send_0 send_1 bsf T_IO send_0 bsf T_CLK ;上升沿寫 nop bcf T_CLK decfsz temp_cnt,F goto W_shift return ;********************************************************** ;功 能:讀1302一字節(jié) (內(nèi)部子程序) ;入口:無 ;出口:數(shù)據(jù)保存在DS1302_RX中 ;消耗資源:temp_cnt(預先定義) ;********************************************************** Read_byte bsf STATUS,RP0 ;bank1 bsf TRISE,2 ;設置串行數(shù)據(jù)口為輸入 bcf STATUS,RP0 ;bank0 movlw D'8' movwf temp_cnt R_shift btfsc T_IO goto get_1 bcf STATUS,C ;clr c goto get_0 get_1 bsf STATUS,C get_0 rrf DS1302_RX,F bsf T_CLK nop bcf T_CLK ;下降沿讀 decfsz temp_cnt,F goto R_shift

;reset output bsf STATUS,RP0 ;bank1 bcf TRISE,2 ;設置T_IO為輸出 bcf STATUS,RP0 ;bank0 return ;============================================= ; 初始化端口 ;============================================= Port_Init bsf STATUS,RP0 ;bank1 bcf ADCON1,PCFG0 bsf ADCON1,PCFG1 bsf ADCON1,PCFG2 bcf ADCON1,PCFG3 ;PORTA and PORTE:digital I/O bcf STATUS,RP0 ;bank0 return

联系我们: 凭祥市| 绥德县| 静海县| 武夷山市| 海盐县| 虞城县| 东平县| 锦屏县| 台中市| 大荔县| 阿荣旗| 珲春市| 武邑县| 柞水县| 象山县| 阿克苏市| 泸西县| 阿勒泰市| 廊坊市| 吉林省| 合水县| 班戈县| 葫芦岛市| 建阳市| 凌海市| 中超| 英超| 那坡县| 类乌齐县| 托克逊县| 嘉荫县| 嘉荫县| 阿尔山市| 科技| 正蓝旗| 南通市| 大渡口区| 汤原县| 富锦市| 合肥市| 安福县|