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

正文內(nèi)容

基于單片機的電表設計畢業(yè)設計(編輯修改稿)

2025-01-04 11:03 本頁面
 

【文章內(nèi)容簡介】 設置費率 24C64 設置 結束 4. 2. 1. 1 鍵 盤 輸 入 子 程序 圖 43 鍵盤輸入子程序流程圖 鍵盤輸入子程序 具體編寫如下: KEYBORD: MOV C,DATA 。將數(shù)據(jù)送入 C 中 RRC A ;數(shù)據(jù)右移,先送低位 MOV R1, A 。 保存數(shù)據(jù)到 R1 MOV R2, 20H ; 20H 保存計數(shù)信息 DJNZ R2, FINISHKEY MOV 50H,R1 。收齊一幀,保留低 8 位 MOV 20H, 0AH 。重新設置計數(shù)信息 響應中斷 讀 DATA 引腳 將數(shù)據(jù)存放到指定位置 讀滿 8bit? 結束? 返回 N N Y Y AJMP ENDKEY FNISHLEY: MOV 20H, R2 。 保存計數(shù)信息 ENDKEY: RET 根據(jù)讀到的高 8 位信息 ,通過查表可以判斷出 PS2 鍵盤發(fā)送的信息。相關表的信息見附錄。 4. 2. 1. 2 X1288 初始 化 如所有的 I2C 兼容器件一樣, X1288 有一個 7 位串行地址。這個地址被設置為 1010111 或 1101111。地址的最后一位表示讀 /寫( H/L)。主控設備在發(fā)送數(shù)據(jù)前,在時鐘為高時,在數(shù)據(jù)線上發(fā)送一個由高到低的信號來表示開始傳送數(shù)據(jù), X1288 接收到開始信號時,移入后續(xù) 8 位(高 7 位地址線和一個 R/W 位)來確定進行如何操作, R/W 位為 0 表示寫,為 1 表示讀。讀寫操作完成后,在時鐘為高時,在數(shù)據(jù)線上 發(fā)送一個由低到高的信號表示傳送結束。具體時序過程如圖 44 所示: 圖 44 I2C 數(shù)據(jù)傳輸時序圖 從圖 44 可以看出,在對 X1288 進行寫操作的時候首先傳送地址信號并把讀寫標志位令為 0,然后傳送高位地址、低位地址、數(shù)據(jù)。 相關地址所對應的寄存器如表 41 和 42 表 41 STC 和 Control 對應的地址 表 42 ALARM1 和 ALARM0 對應的地址 X1288 程序流程圖如圖 45 圖 45 X128 初 始化程序流程圖 具體程序設計如下: X1288: MOV A, 10101110B。 ACALL IICWRIT。I2C 寫操作子程序 MOV A, 00H。 ACALL IICWRIT MOV A, 03H。 ACALL IICWRIT MOV A, 00H。把 RTCF 位設置為低 ACALL IICWRIT MOV A, 10101110B ACALL IICWRIT。 MOV A, 00H ACALL IICWRIT MOV A, 35H ACALL IICWRIT 開始 送寫命令 送地址 送數(shù)據(jù) 結束 MOV A, 60H。 設置年分 ACALL IICWRIT MOV A, 10101110B ACALL IICWRIT。 MOV A, 00H ACALL IICWRIT MOV A, 34H ACALL IICWRIT MOV A, 61H。設置月份 ACALL IICWRIT MOV A, 10101110B ACALL IICWRIT。 MOV A, 00H ACALL IICWRIT MOV A, 33H ACALL IICWRIT MOV A, 62H。設置日 ACALL IICWRIT MOV A, 10101110B ACALL IICWRIT ACALL IICWRIT MOV A, 00H ACALL IICWRIT MOV A, 32H ACALL IICWRIT MOV A, 63H。 設置小時 ACALL IICWRIT MOV A, 10101110B ACALL IICWRIT。 MOV A, 00H ACALL IICWRIT MOV A, 31H ACALL IICWRIT MOV A, 64H。設置分鐘 ACALL IICWRIT MOV A, 10101110B ACALL IICWRIT。 MOV A, 00H ACALL IICWRIT MOV A, 30H ACALL IICWRIT MOV A, 65H。設置秒 ACALL IICWRIT RET 4. 2. 1. 3 費 率 調(diào) 整 子 程序 計費子程序是通過設置警報時間來完成費率的轉(zhuǎn)換的,警報時間到以后費率根據(jù)設置進行變化,同時對警報時間重新進行設置。 圖 46 費率調(diào)整子程序流程 具體程序設計如下: ZIFEI: MOV R1, 70H。 讀取現(xiàn)在所處的費率時段(峰 /平 /谷) CLR C MOV A, R1。 SUBB A, 02H。 是否處于用電低谷時段? JZ ZIFEI1 MOV A, R1 SUBB A, 01H。 是否處于高峰時段? JZ ZIFEI2 MOV 71H, 80H。 處于正常時段,將記費改為正常標準 MOV 70H, 02H。 AJMP ENDZIFEI ZIFEI1: MOV 71H, 81H。 處于低谷時段,將記費改為低標準 DEC R1 開始 調(diào)整費率 修改時間 結束 MOV 70H, R1 AJMP ENDZIFEI ZIFEI2: MOV 71H, 82H。處于高峰時間,將記費改為高標準 DEC R1 MOV 70H, R1 ENDZIFEI: RET 4. 2. 1. 4 更 新 報 警 時 間子程 序 完成費率的更新后還需要完成報警子程序的更 新,以便下一次能夠及時的更新費率實現(xiàn)正確計費。 在 可知時段被分為低谷、高峰、正常 3 個時段。分別對應的標志為 02H,01H, 00H。通常而言,低谷對應晚上 23: 00 左右到第二天 7: 00 左右,高峰對應 7: 00 左右到 18: 00 左右,正常時段對應 18: 00 左右到 23: 00 左右。因此低谷時間終點的設置涉及到修改日期,而高峰和正常時段只涉及修改小時。設置低谷時間的終點需要先把 RTC 中的月日的信息全部讀出來 (年信息默認等于 RTC),然后對其進行修改。由于 RTC 中的時間是用 BCD 碼表示的,因此操作需要進行特 別的處理。 具體流程圖如圖 47: 圖 47 更新報警時間子程序 I2C 讀操作具體的時序操作如圖 48: 圖 48 I2C 讀操作具體的時序 具體代碼如下: GENXIN: MOV R1, 70H。 MOV A, R1。 CLR C SUBB A, 01H。 JZ GENXIN1 開始 判斷時段 修改日期 僅修改小時 僅修改小時 結束 MOV A, R1 JZ GENXIN2 MOV A, 10101110B。 ACALL IICWRIT。I2C 寫操作子程序 MOV A, 00H。 ACALL IICWRIT MOV A, 03H。 ACALL IICWRIT MOV A, 00H。把 RTCF 位設置為低 ACALL IICWRIT MOV A, 10101110B ACALL IICWRIT。 MOV A, 00H ACALL IICWRIT MOV A, 0CH ACALL IICWRIT MOV A, 10101111B ACALL IICWRIT。 ACALL IICREAD MOV 61H, A。 讀月份 MOV A, 10101110B ACALL IICWRIT。 MOV A, 00H ACALL IICWRIT MOV A, 0BH ACALL IICWRIT MOV A, 10101111B ACALL IICWRIT。 ACALL IICREAD MOV 62H, A。 讀日期 MOV A, 85H。 設置低谷時間終點小時 MOV 63H, A。 MOV A, 62H INC A MOV R3, A ANL A, 0FH SUBB A, 0AH。 判斷低位是否超過 10 JNZ NEXT MOV A, R3 ADD A, 06H。 加六,修正 BCD 碼 NEXT: MOV R3, A MOV A, 90H MOV R4, 61H。 取月份信息 ADD A, R4 MOV R4, A MOV A, @R4。 查找當月一共有多少天(存儲數(shù)據(jù)比實際天數(shù)多 1) CLR C SUBB A, R3 JNZ FINGENGAI MOV R3, 01H。 將日期重新設置為 1 號 MOV A, 61H INC A MOV R4, A SUBB A, 0AH JNZ NEXT2 MOV A, R4 ADD A, 06H NEXT2: MOV R4, A SUBB A, 0DH JNZ FINGENGAI2 MOV R4, 01H。 將月份重新設置為 1 月 FINGENGAI2: MOV 61H, R4。 保存月份 FINGENGAI: MOV 62H, R3。 保存日期 AJMP END GENXIN1: MOV 62H, 86H GENXIN2: MOV 62H, 87H MOV A, 10101110B ACALL IICWRIT。 MOV A, 00H ACALL IICWRIT MOV A, 0CH ACALL IICWRIT MOV A, 61H。設置月份 ACALL IICWRIT MOV A, 10101110B ACALL IICWRIT。 MOV A, 00H ACALL IICWRIT MOV A, 0BH ACALL IICWRIT MOV A, 62H。設置日 ACALL IICWRIT RET 4. 2. 2 測 量 計 費 子 程序 4. 2. 2. 1 功 率 測 量 的 原理 由 AD7751 數(shù)據(jù)手冊可知, AD7751 將測量到的功率轉(zhuǎn)化為頻率信號輸出給單片機,單片機通過測量頻率來獲得功率信息。進一步對照硬件設計原理圖可以發(fā)現(xiàn)測量頻率的本質(zhì)實際上是以計數(shù)的方式對來進行的。每一次計數(shù)滿以后,根據(jù)設置的費率在總費用上加上一定的金額即實現(xiàn)了對電能的 測量和計費。 4. 2. 2. 2 測 量 計 費 子 程序流 程圖 圖 49 測量計費子程序流程圖 4. 2. 2. 3 測 量 計 費 子 程序設 計 測量計費子程序具體如下: CELIANG: MOV TMOD, 05H。 MOV TH0, 3CH MOV TL0, 0B0H SETB TR0。 SETB EA。 SETB ET0。 SJMP $。 JIFEI: MOV A, 71H。 ADD A, 72H。 開始 設置計數(shù)器模式 計數(shù)器中斷到 查詢費率 增加總金額 結束 JNC ENDJIFEI。 判斷是否溢出 CLR C INC 73H。 向次高位進位 JNC ENDJIFEI。 判斷次高位是否溢出 INC 74H。 向最高位進位,進位 2 次可以充分避免溢出 ENDJIFEI: MOV 72H, A。 將增加后的金額放回 72H ACALL DISP。 調(diào)用顯示子程序 RET 顯示子程序 顯 示 子 程 序 流程 圖 顯示子程序主要經(jīng)過
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1