論文格式
    電氣工程 會(huì)計(jì)論文 金融論文 國(guó)際貿(mào)易 財(cái)務(wù)管理 人力資源 輕化工程 德語論文 工程管理 文化產(chǎn)業(yè)管理 信息計(jì)算科學(xué) 電氣自動(dòng)化 歷史論文
    機(jī)械設(shè)計(jì) 電子通信 英語論文 物流論文 電子商務(wù) 法律論文 工商管理 旅游管理 市場(chǎng)營(yíng)銷 電視制片管理 材料科學(xué)工程 漢語言文學(xué) 免費(fèi)獲取
    制藥工程 生物工程 包裝工程 模具設(shè)計(jì) 測(cè)控專業(yè) 工業(yè)工程 教育管理 行政管理 應(yīng)用物理 電子信息工程 服裝設(shè)計(jì)工程 教育技術(shù)學(xué) 論文降重
    通信工程 電子機(jī)電 印刷工程 土木工程 交通工程 食品科學(xué) 藝術(shù)設(shè)計(jì) 新聞專業(yè) 信息管理 給水排水工程 化學(xué)工程工藝 推廣賺積分 付款方式
    • 首頁 |
    • 畢業(yè)論文 |
    • 論文格式 |
    • 個(gè)人簡(jiǎn)歷 |
    • 工作總結(jié) |
    • 入黨申請(qǐng)書 |
    • 求職信 |
    • 入團(tuán)申請(qǐng)書 |
    • 工作計(jì)劃 |
    • 免費(fèi)論文 |
    • 現(xiàn)成論文 |
    • 論文同學(xué)網(wǎng) |
    搜索 高級(jí)搜索

    當(dāng)前位置:論文格式網(wǎng) -> 免費(fèi)論文 -> 其他論文

    片機(jī)實(shí)現(xiàn)的多功能智能鐘源代碼

    本論文在其他論文欄目,由論文格式網(wǎng)整理,轉(zhuǎn)載請(qǐng)注明來源www.donglienglish.cn,更多論文,請(qǐng)點(diǎn)論文格式范文查看

    單片機(jī)實(shí)現(xiàn)的多功能智能鐘源代碼
    程序清單如下:
    ;*******************************************************************
    ;寫字節(jié)子程序WMAX
    ;占用寄存器ACC
    ;*******************************************************************
    DIN  EQU    P1.6
    CLK  EQU    P1.4
    WMAX:  JB E7,W7  ;判是否為1
     LCALL WM0  ;不是,則調(diào)用寫“0”子程序
     LJMP N7
    W7:   LCALL WM1  ;是,則調(diào)用寫“1”子程序
    N7:   JB E6, W6
     LCALL WM0
     LJMP N6
    W6:   LCALL WM1
    N6:   JB E5, W5
     LCALL WM0
     LJMP N5
    W5:   LCALL WM1
    N5:   JB E4, W4
     LCALL WM0
     LJMP N4
    W4:   LCALL WM1
    N4:   JB E3, W3
     LCALL WM0
     LJMP N3
    W3:   LCALL WM1
    N3:   JB E2, W2
     LCALL WM0
     LJMP N2
    W2:    LCALL WM1
    N2:   JB E1, W1
     LCALL WM0
     LJMP N1
    W1:   LCALL WM1
    N1:   JB E0, W0
     LCALL WM0
     LJMP N0
    W0:   LCALL WM1
    N0:   CLR CLK
     CLR DIN
     RET
     
        ;*******************************************************************
    ;寫“1”子程序
    ;*******************************************************************
    WM1:    CLR CLK
     SETB DIN  ;送出“1”
     NOP
     SETB CLK  ;產(chǎn)生 CLK的上升沿
     NOP
     NOP
     CLR CLK     ;產(chǎn)生 CLK的下降沿
     RET
        ;*******************************************************************
    ;寫“0”子程序
    ;*******************************************************************
    WM0:    CLR CLK
     CLR DIN   ;送出“0”
     NOP
     SETB CLK   ;產(chǎn)生 CLK的上升沿
     NOP
     NOP
     CLR CLK   ;產(chǎn)生 CLK的下降沿
     RET
     
     。玻兀玻担埃矗档某跏蓟白x寫子程序
    ;X25045引腳定義如下
     SCK  EQU  P2.3  ;串行時(shí)鐘輸入
     SI   EQU  P2.4  ;串行數(shù)據(jù)輸入
     SO   EQU  P2.6  ;串行數(shù)據(jù)輸出
     CS   EQU  P2.7  ;片選輸入
     ;其中寫保護(hù)輸入WP始終接高電平
    ;狀態(tài)寄存器及各命令字節(jié)定義
     STATUS_REG  EQU  #00010000B
     ;上述狀態(tài)寄存器中的WD1=0,WD0=1,即看門狗周期為600ms
     ;另外,BL1=0,BL0=0
     READ_INST  EQU  #00000011B
     WRITE_INST  EQU  #00000010B
     RDSR_INST  EQU  #00000101B
     WREN_INST  EQU  #00000110B
     WRSR_INST  EQU  #00000001B
     WRDI_INST  EQU  #00000100B
       
        ;*******************************************************************
    ;寫 1字節(jié)數(shù)據(jù)到 X25045中的子程序WRONE
    ;數(shù)據(jù)在 A中,地址在 DPTR中
    ;占用寄存器:ACC,DPTR
    ;*******************************************************************
    WRONE:  PUSH ACC   ;待寫數(shù)據(jù)保護(hù)
     LCALL WREN   ;WRITE ENABLE.
     CLR SCK    ;X25045的 SCK置低
     CLR CS     ;片選 CS置低,選中
     MOV A, WRITE_INST
     MOV B, DPH
     MOV C, B.0
     MOV ACC.3, C   ;DPH的最低位 (A8)送 ACC.3
     LCALL OUTBYT   ;送含地址高位的寫命令
     MOV A, DPL
     LCALL OUTBYT   ;送低 8位地址
     POP ACC
     LCALL OUTBYT   ;寫一字節(jié)數(shù)據(jù)
     CLR SCK    ;X25045的 SCK置低
     STEB CS    ;片選 CS置高 ,無效
     RET
     
        ;*******************************************************************
    ;設(shè)置寫使能鎖存器WREN子程序( 即允許寫操作)
    ;*******************************************************************
    WREN:  CLR CS
     CLR SCK
     MOV A,WREN_INST
     LCALL OUTBYT  ;送寫使能命令 WREN
     SETB CS
     CLR SCK
     RET
        ;*******************************************************************
    ;給 X25045寫入 1字節(jié)地址或數(shù)據(jù)子程序OUTBYT
    ;欲寫內(nèi)容在 A中
    ;占用寄存器:ACC,B
    ;*******************************************************************
    OUTBYT: MOV B,#08H   ;置循環(huán)次數(shù) 8
    OUTBYT1: CLR SCK
     RLC A     ;Acc的最高位送 Cy
     MOV SI, C    ;Cy送 X25045的 SI
     SETB SCK
     DJNZ B,OUTBYT1  ;循環(huán) 8次,8bits
     CLR SI     ;X25045的 SI置低
     CLR SCK
     RET

     ;*******************************************************************
     ;功能:讀X25045狀態(tài)寄存器,等待內(nèi)部寫
     ;入口條件:R6的數(shù)據(jù)是等待延時(shí)時(shí)間
     ;出口信息:WIP=1,正在寫,WIP=0寫完成
     ;占用資源:R6、A、B、PSW
     ;*******************************************************************
     RDS045: MOV R6,0FFH   ;循環(huán)次數(shù)送入R6
     RDS01:  CLR SCK        
        NOP
       CLR CS       ;選中X25045
        NOP
       MOV A,RDSR_INST ;05H,讀X25045狀態(tài)寄存器命令送A
        LCALL  OUTBYT    ;調(diào)用X25045寫入1個(gè)字節(jié)子程序
       LCALL  INBYT     ;調(diào)用X25045讀出1個(gè)字節(jié)子程序
        SETB   CS        ;不選中X25045
       JNB ACC.0,DS02    ;WIP=1, 正在寫, WIP=0寫完成
        DJNZ R6,DS01
     RDS02:   RET
     ;*******************************************************************
     ;功    能: 向X25045寫入一批數(shù)據(jù)子程序W045
     ;入口條件: R0的內(nèi)容為CPU內(nèi)存的地址
     ;        R1的內(nèi)容是X25045的待寫地址,R3是待寫數(shù)據(jù)的長(zhǎng)度
     ;       R4的內(nèi)容是02H或0AH,表示寫命令的執(zhí)行區(qū)域
     ;出口信息: R3的內(nèi)容為0
     ;占用資源:A、B、PSW、R0、R1、R2、R3、R4
     ;*******************************************************************
     W045:  CLR SCK      
         NOP
        CLR CS     
       NOP
        MOV A,WREN_INST ;#06H,寫允許命令送入A
       LCALL OUTBYT  ;調(diào)用向X25045寫入1個(gè)字節(jié)子程序
        SETB CS  
       NOP
        CLR CS  
       MOV A,R4      ;命令送入A
        LCALL OUTBYT  ;調(diào)用X25045寫入1個(gè)字節(jié)子程序
       MOV A,R1      ;X25045的首地址送入A
        LCALL OUTBYT     ;調(diào)用25045 寫入1個(gè)字節(jié)子程序
     W0450:  MOV A,@R0      ;待寫數(shù)據(jù)送入A
     LCALL OUTBYT  ;調(diào)用X25045寫入1個(gè)字節(jié)子程序
     INC R0       ;調(diào)整CPU內(nèi)數(shù)據(jù)存儲(chǔ)區(qū)的位置
     DJNZ R3,W0450    ;判斷這批數(shù)據(jù)是否寫完
     SETB CS         ;批量數(shù)據(jù)寫完,不選中X25045
     RET
     
        ;*******************************************************************
     ;功    能: 向X25045讀出一批數(shù)據(jù)子程序
     ;入口條件: R0的內(nèi)容為CPU內(nèi)存的地址
              R1的內(nèi)容是X25045的待寫地址,R3是待寫數(shù)據(jù)的長(zhǎng)度
            R4的內(nèi)容是03H或0BH,表示寫命令的執(zhí)行區(qū)域
     ;出口信息: R3的內(nèi)容為0
     ;占用資源: A、B、PSW、R0、R1、R2、R3、R4
     ;*******************************************************************
     R045:  CLR  SCK  
     NOP
     CLR  CS  
     NOP
     MOV  A,R4   ;命令送入A
     LCALL OUTBYT      ;25045寫入8個(gè)字節(jié)子程序
     MOV  A,R1          ;對(duì)X25045的操作首地址送入 A
     LCALL  OUTBYT       ;25045寫入8個(gè)字節(jié)子程序
     R0451:   LCALL  INBYT        ;調(diào)用讀出8位數(shù)據(jù)子程序
             MOV   @R0,A        ;讀出的數(shù)據(jù)送入CPU內(nèi)存
              INC     R0          ;調(diào)整CPU內(nèi)部存放數(shù)據(jù)的位置
     DJNZ R3,R0451      ;數(shù)據(jù)未讀完,跳轉(zhuǎn)
     SETB    CS        ;數(shù)據(jù)讀完,不選中X25045
     RET
        ;*******************************************************************
     ;功能:  從X25045中讀出8位數(shù)據(jù)子程序
     ;出口信息:A的內(nèi)容為讀出的8位數(shù)據(jù)
     ;占用資源:B、PSW
     ;*******************************************************************
     INBYT:  MOV B,#08H
       INBYT:  CLR SCK   
                 NOP
                 MOV C,SO
                 NOP
                 SETB SCK   
     RLC A
     NOP
                DJNZ B,INBYT
            CLR SCK          
     RET
      

    3.DS1302的初始化及讀寫子程序
    ;*********************************************************
    T_CLK  EQU  P3.3  ;實(shí)時(shí)時(shí)鐘時(shí)鐘線引腳T_IO  EQU  P3.4  ;實(shí)時(shí)時(shí)鐘數(shù)據(jù)線引腳T_RST  EQU  P3.2   ;實(shí)時(shí)時(shí)鐘復(fù)位線引腳;*******************************************************************
    ;子程序名:Set1302
    ;功 能:設(shè)置DS1302 初始時(shí)間,并啟動(dòng)計(jì)時(shí)。
    ;說 明:
    ;調(diào) 用: RTInputByte
    ;入口參數(shù):初始時(shí)間在:Second,Minute,Hour,Day,Month,Week,YearL
    ;   (地址連續(xù))
    ;返 回 值:無
    ;影響資源:A B R0 R1 R4 R7
    ;*******************************************************************
    Set1302:  CLR T_RST
     CLR T_CLK
     SETB T_RST
     MOV B,#8EH   ;控制寄存器
     LCALL RTInputByte
     MOV B,#00H   ;寫操作前WP=0
     LCALL RTInputByte
     SETB T_CLK
     CLR T_RST
     MOV R0,#Second;
     MOV R7,#7   ;秒 分 時(shí) 日 月 星期 年
     MOV R1,#80H   ;秒寫地址
     Set13021:  CLR T_RST
     CLR T_CLK
     SETB T_RST  
     MOV B,R1    ;寫秒 分 時(shí) 日 月 星期 年 地址
     LCALL RTInputByte
     MOV A,@R0   ;寫秒數(shù)據(jù)
     MOV B,A
     LCALL RTInputByte
     INC R0
     INC R1
     INC R1
     SETB T_CLK
     CLR T_RST
     DJNZ R7,Set13021
     CLR T_RST
     CLR T_CLK
     SETB T_RST
     MOV B,#8EH   ;控制寄存器
     LCALL RTInputByte
     MOV B,#80H   ;控制,WP=1,寫保護(hù)
     LCALL RTInputByte
     SETB T_CLK
     CLR T_RST
     RET
     
    ;*******************************************************************
    ;子程序名:Get1302
    ;功 能:從DS1302 讀時(shí)間
    ;說 明:
    ;調(diào) 用:RTInputByte,RTOutputByte
    ;入口參數(shù):時(shí)間保存在:Second,Minute,Hour,Day,Month,Week,YearL
    ;返 回 值:無
    ;影響資源:A B R0 R1 R4 R7
    ;*******************************************************************
    Get1302:   MOV R0, #Second
     MOV R7, #7
     MOV R1, #81H   ;秒地址
     Get13021:  CLR T_RST
     CLR T_CLK
     SETB T_RST
     MOV B, R1   ;秒 分 時(shí) 日 月 星期 年 地址
     LCALL RTInputByte
     LCALL RTOutputByte
     MOV @R0, A    ;秒
     INC R0
     INC R1
     INC R1
     SETB T_CLK
     CLR T_RST
     DJNZ R7, Get13021
     RET
     
    ;*******************************************************************
    ;寫1302一字節(jié)子程序
    ;*******************************************************************
    RTInputByte: MOV R4, #8
    Inbit1:   MOV A, B
     RRC A
     MOV B, A
     MOV T_IO, C
     SETB T_CLK
     CLR T_CLK
     DJNZ R4, Inbit1
     RET
     
    ;*******************************************************************
    ;讀1302一字節(jié) 子程序
    ;*******************************************************************
    RTOutputByte: MOV R4, #8
    Outbit1:   MOV C, T_IO
     RRC A
     SETB T_CLK
     CLR T_CLK
     DJNZ R4, Outbit1
     RET


     ;*******************************************************************
     ;發(fā)送接收控制信號(hào)
     SFCTRL  EQU  P1.7
     ;本通信節(jié)點(diǎn)地址定義
     ADDRESS EQU  01H
     ;通信所需變量定義
       ;*******************************************************************
     ;主程序串行通信的初始化
     MAIN:  MOV SP, #60H
         MOV PCON, #00H ;SMODE=0
        MOV TMOD, #20H ;定時(shí)器1設(shè)為模式2(波特率發(fā)生器)
        CLR EA
        MOV TH1, #0F3H ;定時(shí)起始值,6MHz晶振時(shí)波特率1200bps
        MOV TL1, #0F3H  
        MOV SCON, #0D8H ;串行口模式3,TB8=1發(fā)送地址呼叫
        SETB TR1  ;啟動(dòng)定時(shí)器1
        SETB EA
        (其他初始化)
        (其他處理程序)
     
     ; 
     TX:  SETB RS0   ;選擇1組工作寄存器
        PUSH ACC 
        CLR RI    ;清接收標(biāo)志
        CLR ES    ;關(guān)閉串行口中斷
        CLR SFCTRL   ;使485處于接收方式
        MOV A,SBUF   ;接收數(shù)據(jù)
        MOV B,A   ;數(shù)據(jù)暫存
        XRL A,#0FFH  ;判是否是復(fù)位命令(字節(jié)0FFH)
        JNZ TX_1   ;不是,則轉(zhuǎn)
         SETB SM2   ;是,則進(jìn)行軟復(fù)位處理
        SETB ES    
           (設(shè)置系統(tǒng)軟復(fù)位標(biāo)志以便系統(tǒng)進(jìn)行軟復(fù)位處理)
        POP ACC    ;恢復(fù)現(xiàn)場(chǎng)
        CLR RS0
        RETI
     TX_1:  MOV A,B   ;取出數(shù)據(jù)以判是否呼叫本機(jī)
        CJNE A,#ADDRESS,TX_2
        SJMP TX_3
     TX_2:  SETB ES    ;不是,則中斷返回
        POP ACC    ;恢復(fù)現(xiàn)場(chǎng)
        CLR RS0
        RETI
     TX_3:  CLR SM2
        SETB SFCTRL   ;使485處于發(fā)送狀態(tài)
        MOV A,#ADDRESS  ;用本機(jī)地址作為應(yīng)答
        MOV SBUF,A
     TX_4:  JNB TI,TX_4  ;等待發(fā)送完成
        CLR TI
        CLR SFCTRL   ;使485恢復(fù)接收狀態(tài)
     (下面開始接收并進(jìn)行相應(yīng)處理)
     ...
        SETB ES    
        POP ACC    ;恢復(fù)現(xiàn)場(chǎng)
        CLR RS0
       RETI


    相關(guān)論文
    上一篇:基于SAR影像的海洋溢油檢測(cè)研究 下一篇:有機(jī)廢氣的處理技術(shù)
    Tags:實(shí)現(xiàn) 多功能 智能 源代碼 【收藏】 【返回頂部】
    人力資源論文
    金融論文
    會(huì)計(jì)論文
    財(cái)務(wù)論文
    法律論文
    物流論文
    工商管理論文
    其他論文
    保險(xiǎn)學(xué)免費(fèi)論文
    財(cái)政學(xué)免費(fèi)論文
    工程管理免費(fèi)論文
    經(jīng)濟(jì)學(xué)免費(fèi)論文
    市場(chǎng)營(yíng)銷免費(fèi)論文
    投資學(xué)免費(fèi)論文
    信息管理免費(fèi)論文
    行政管理免費(fèi)論文
    財(cái)務(wù)會(huì)計(jì)論文格式
    數(shù)學(xué)教育論文格式
    數(shù)學(xué)與應(yīng)用數(shù)學(xué)論文
    物流論文格式范文
    財(cái)務(wù)管理論文格式
    營(yíng)銷論文格式范文
    人力資源論文格式
    電子商務(wù)畢業(yè)論文
    法律專業(yè)畢業(yè)論文
    工商管理畢業(yè)論文
    漢語言文學(xué)論文
    計(jì)算機(jī)畢業(yè)論文
    教育管理畢業(yè)論文
    現(xiàn)代教育技術(shù)論文
    小學(xué)教育畢業(yè)論文
    心理學(xué)畢業(yè)論文
    學(xué)前教育畢業(yè)論文
    中文系文學(xué)論文
    最新文章
    熱門文章
    計(jì)算機(jī)論文
    推薦文章

    本站部分文章來自網(wǎng)絡(luò),如發(fā)現(xiàn)侵犯了您的權(quán)益,請(qǐng)聯(lián)系指出,本站及時(shí)確認(rèn)刪除 E-mail:349991040@qq.com

    論文格式網(wǎng)(www.donglienglish.cn--論文格式網(wǎng)拼音首字母組合)提供其他論文畢業(yè)論文格式,論文格式范文,畢業(yè)論文范文

    Copyright@ 2010-2018 LWGSW.com 論文格式網(wǎng) 版權(quán)所有

    感谢您访问我们的网站,您可能还对以下资源感兴趣:

    论文格式网:毕业论文格式范文