freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于單片機的智能電表的畢業(yè)設計論文(參考版)

2024-11-27 16:32本頁面
  

【正文】 COMMSUB: CLR P17 ; P17 接 X5045 的串行時鐘引腳 SCK CLR P13 ; P13 接 X5045 的片選引腳 MOV A, R1 ; R1 用于存放命令字 CALL OUTDATA CLR P17 SETB P13 RET X_RDSR: CLR P17 ; P17 接 X5045 的串行時鐘引腳 SCK CLR P13 ; P13 接 X5045 的片選引腳 MOV A, R1 ; R1 用于存放命令字 CALL OUTDATA CALL INDATA CLR P17 SETB P13 RET 基于單片機的智能電表的設計 35 X_WRBYTE: CLR P17 CLR P13 MOV A, R1 MOV B, R2 MOV C, MOV , C CALL OUTDATA ;發(fā)送寫指令 CALL A, R3 ; R3 用于存放地址的低位字節(jié) CALL OUTDATA ;發(fā)送地址 MOV A, R2 CALL OUTDATA CLR P17 SETB P13 RET X_RDSR: CLR P17 ; P17 接 X5045的串行時鐘引腳 SCK CLR P13 ; P13 接 X5045 的片選引腳 MOV A, R1 ; R1 用于存放命令字 MOV B, R2 ; R2 用于存放地址的高位字節(jié) MOV C, MOV , C CALL OUTDATA CALL A, R3 CALL OUTDATA MOV A, R2 CALL INDATA CLR P17 SETB P13 RET OUTDATA: MOV R4, 08H OUT1: CLR P17 RLC A 基于單片機的智能電表的設計 36 MOV P16, C ; P16 接 X5045 的串行輸入引腳 SETB。 AT89C51 與 X5045 的接口軟件包括設置寫使能鎖存器子程序 (COMMSUB) ,讀狀態(tài)寄存器子程序X_RDSR,字節(jié)讀子程序 X_RDBYTE,字節(jié)寫子程序 X_WRBYTE,復位看門狗子程序 WATCHDOG。狀態(tài)寄存器中可以設置看門狗定時器的定時時間,在電能表的程序設計中,選擇了看門狗定時周期位 600ms。所有數(shù)據的傳輸都是以高位在前的方式進行傳送。 AT89C51 對指令寄存器的訪問是通過串行輸入線( SI)進行的。 在電能表中對串行 EEPROM 的讀寫 X5045 片內包括一個指令寄存器、寫使能寄存器、狀態(tài)寄存器。最低有效位 LSB(位0)為邏輯 0 指定進行寫操作 (輸入 )。 邏輯 1 指定 RAM數(shù)據。最高有效位 MSB(位 7)必須為邏輯 1,如果它是 0,禁止寫 DS1302。 DS1302 所有數(shù)據的讀寫都是通過向 DS1302 寫入命令字的方式告訴其讀寫地址單元以及將進行的是讀操作還是寫操作。在電能表接到時鐘校正信號時,電能表的AT89C51 就會向 DS1302 寫命令字;在判斷時段時,需要讀取 DS1302的時間寄存器以及片內數(shù)據存儲器完成時間段的比較 。根據串行口數(shù)據傳送的時序寫出的 CS5460A 的命令字寫入子程序、讀寄存器子程序、寫寄存器子程序如下 : SDI EQU P10 SDO EQU P11 SCLK EQU P12 ;命令字寫入程序 WR_COM: MOV A, R1 ;在主程序中將命令字送到 R1 中 MOV R7, 8H ;將命令字傳送的位數(shù) 8 送 R7 COMWORDSEND: RLC A MOV SDI, C SETB SCLK CLR SCLK ;在此形成一個脈沖下降沿,數(shù)據寫入 DJNZ R7, COMWORDSND ;判斷 8 個數(shù)據位是否傳送完 WR_COM_END: RET ;數(shù)據寫入子程序,將寫入數(shù)據的高、中、低字節(jié)存放到 42H、 41H、基于單片機的智能電表的設計 32 40H 中 WR_DATA: LCALL WR_COM ;調用命令字寫入子程序 MOV R2, 42H MOV R3, 03H WR_LP2: MOV R7, 08H MOV A, R2 WR_LP1: RLC A MOV 5DI, C SETB SCLR CLR SCLR DJNE R7, WR_LP1 DEC R3 DJNE R2, WR_LP2 RET ;數(shù)據讀取子程序,將讀出的數(shù)據的高、中、低字節(jié)存放到 42H、41H、 40H 中 RD_DATA; LCALL WR_COM MOV R2, 42H MOV R3, 03H RD_LP2: MOV R7, 08H MOV R0, 0FEH RD_LP1: CLR SCLK MOV C, SD0 RLC A MOV R1, A MOV A, R0 RLC A MOV R0, A MOV SDI, C STEB SCLK MOV A, R1 基于單片機的智能電表的設計 33 DJNE R4, RD_LP1 MOV R2, A DEC R2 DJNE R3, RD_LP2 RET 在電能表中當單片機 AT89C51 需要讀取 CS5460A 的寄存器獲取瞬時電流、瞬時電壓、瞬時功率,設置 CS5460A 的寄存器的值時,都是通過調用這兩個程序來實現(xiàn)的。在讀寄存器的數(shù)據時 AT89C51 可以發(fā)送一個新的命令。當以讀命令字初始化數(shù)據傳輸時,串行口將在 SD0 引腳為緊接的 16 或 24 個串行時鐘周期按高位在先的原則傳送寄存器的各位數(shù)字。當命令字包括了一個寫操作時,串行口將在 SDI 引腳繼續(xù)為緊接的 24 個串行時鐘周期記錄數(shù)據位,其順序也是高位在先。 對 CS5460A 的寄存器的訪問都是通過 SPI 串行口進行的。寫到寄存器的命令必須緊跟 2或 3 字節(jié)的數(shù)據。狀態(tài)機接收并解碼一個有效命令字之后就立即命令轉換器執(zhí)行一個系統(tǒng)操作或與內部寄存器之間傳送數(shù)據。 基于單片機的智能電表的設計 30 電能表主程序流程圖 基于單片機的智能電表的設計 31 系統(tǒng)一旦上電, CS5460A 就被初始化并處于有效操作狀態(tài)。每一個功能單元的程序實現(xiàn)方法可以分以下幾部分說明 : CS5460A 與單片機的數(shù)據交換實現(xiàn)方法 CS5460A 芯片內部包括 16 個 24 位寄存器:配置寄存器、直流電流偏移寄存器、交流電壓寄存器、 AC/DC 電流 增益寄存器、 AC/DC 電壓增益寄存器、周期計數(shù)寄存器、脈沖速率寄存器、有符號寄存器、無符號寄存器、時基校準寄存器、功率偏移寄存器、交流電流偏移寄存器、交流電壓偏移寄存器、狀態(tài)寄存器、屏蔽寄存器、控制寄存器。 電能表的運行過程用匯編程序主程序的流程圖表述為圖 。 2. 當 CS5460A 的電能輸出引腳( )和電能方向指示器引腳( )輸出脈沖時,中斷服務 程序根據記憶在時鐘芯片 DS1302 中的時段參數(shù)以及實時時鐘的值來判斷當前的時段類型,單片機響應外部中斷進行電量的累加。 基于單片機的智能電表的設計 29 4 電能表的軟件設計 電能表的軟件實現(xiàn) 根據電能表的硬件電路設計,電能表運行的過程可以表述為 : 1. 當 CS5460A 未輸出電能脈沖和方向脈沖以及中斷脈沖時,單片機 AT89C51 循環(huán)執(zhí)行清看門狗程序、執(zhí)行顯示本月累計電量值的顯示程序、判斷是否更新時段值、判斷是否有紅外線通信發(fā)生、讀 CS5460A的電流瞬時寄 存器和電壓瞬時寄存器的值以判斷是否該過電流或過電壓或欠壓斷電保護。如果是由于過電壓、過電流和欠電壓造成的停電, AT89C51 的 P20 置低電平, P21 置高電平,因此在用戶按下電能表上的送電鍵后只需改變 P20的狀態(tài)并且只能改變 P20的電平狀態(tài);如果是由于欠費造 成的停電, AT89C51 的 P20 置低電平, P21同時也被置成低電平,因此在電力管理員通過手持抄錄器發(fā)送響應命令時才能改變 P20 的電平狀態(tài)和 P21 的電平狀態(tài)。 基于單片機的智能電表的設計 27 圖 DS1302 與 AT89C51 的硬件連接 通斷電控制電路 圖 通斷控制電路 基于單片機的智能電表的設計 28 對由過電壓、過電流和欠電壓造成的斷電保護可以由用戶自己通過電能表上的送電鍵恢復自家的通電狀態(tài);對由于用戶欠交電費而停電的情況,用戶不能給自家送電,而需要由電力管理部門的管理人員控制。 DS1302 由 \ 兩者中的較大者供電。 DS1302 與 AT89C51 的硬件連接 DS1302 與 AT89C51 的連接只需三條線, SCLK I/O、 、分別與AT89C51 的 TO、 P2 P26 連接。 :復位引腳。 SCLK:串行時鐘輸入引腳。 X1 X2: 晶振輸入引腳。 DS1302 內部有一個 31 8 的用于臨時性存放數(shù)據的 RAM 寄存器。 基于單片機的智能電表的設計 26 時鐘模塊 圖 DS13O2 的管腳分布圖 對電能表來說,它需要根據時間段的劃分來計量各時段的電能值,因此在電能表中需要一個時鐘芯片 計時。 AT89C51的 Pl PI PI P17 引腳分別與 X5045 的 、 SO、 SI、 SCLK 引腳交換數(shù)據。 X5045 的存貯器部分是 CMOS 的 4K 位基于單片機的智能電表的設計 25 串行 EEPROM,結構為 512*8 的十六字節(jié)頁寫方式,串口協(xié)議為 SPI,簡單易行,數(shù)據可保存 100 年。一旦通過編程預置,這個超時值將保持不變。當在可選 的超時周期之內控制器不能重啟定時器時, X5045 看門狗激活 RESET 信號,使系統(tǒng)重新復位,退出故障。上電復位控制的功能是在電源穩(wěn)定和振蕩器可靠振蕩條件下允許處理器執(zhí)行代碼。 Vcc、 Vss:電源正極和電源負極。 SCK:串行時鐘輸入引腳。只要 Vcc 低于 Vcc 檢測電平, RESET 即變?yōu)楦唠娖?,并保持高電平直?Vcc 高于 Vcc 最小檢測電平 200ms 為止。在寫操作過程中,除 必須保持低電平外, 必須基于單片機的智能電表的設計 24 保持高電平。 :寫保護輸入引腳。 /WDI:片選引腳 /看門狗輸入引腳。如果全為 l,則所按下的鍵不在此行,如果不全為 1,則所按下的鍵必在此行。如果有鍵按下,總會有一根行線電平被拉至低電平,從而使行輸入不全為零。鍵盤有無鍵按下是由列線送入全掃描字、行線讀入列線狀態(tài)來判斷的。按鍵設置在行、列線交點,行、列線分別連接到按鍵開關的兩端。因此鍵盤組中包括峰時鍵 (7EH),平時鍵 (OB7H), 谷時鍵 (OBBH),本月鍵 (77H),上月鍵 (7BH),上上月鍵 (7DH),總電量鍵 (OBDH),瞬時電流鍵 (OBEH),瞬時電壓鍵 (OD7H),電壓有效鍵 (ODBH),電流有效鍵 (ODDH),起 始時刻鍵 (OEBH),終止時刻鍵(OEDH),送電鍵 (ODEH)、時段查詢鍵 (OE7H),取消鍵 (OEEH)。 按鍵組功能及與 AT89C51 總線口的連接 電能表上的所有按 鍵可提供用戶按鍵查詢本月的峰時、平時、谷時各時段的用電量以及本月用電總量,上月的峰時、平時、谷時各時段的用電量以及上月用電總量,上上月的峰時、平時、谷時各時段的用電量以及上上月用電總量。所謂靜態(tài)顯示,就是每一個數(shù)碼管顯示器都要占用單獨的具有鎖存功能的 I/O 接口用于筆劃段字形代碼。如果是共陽 LED數(shù)碼管顯示器,公共陽極接
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1