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

正文內(nèi)容

基于單片機(jī)的智能電能表的設(shè)計(jì)(參考版)

2025-06-21 18:48本頁面
  

【正文】 由于我們的水平有限,報(bào)告中錯(cuò)誤不可避免,請老師批評指正。在這里說一句,大家辛苦了!也感謝組里人對我的壞脾氣的容忍,謝謝大家,感謝老師了。經(jīng)過這次設(shè)計(jì),我們大家的感情加深了。我想我們組每一個(gè)人都有自己不同的收獲。我們必須自己到圖書館尋找自己所需要的資料,哪怕只是為了一句話、一個(gè)公式、或者是一個(gè)型號的芯片。通過這次課程設(shè)計(jì),我們對自己所學(xué)的內(nèi)容有了更宏觀的認(rèn)識,了解了自己所學(xué)的內(nèi)容在電力系統(tǒng)中的作用;我們對自己所學(xué)的內(nèi)容有了更細(xì)節(jié)的體會(huì),每一步都需要我們精心考慮,因?yàn)槊恳徊蕉紩?huì)對下一步有很大影響。這兩個(gè)子程序的編制如下:PRSUB1: MOVX A,DPTR ;查詢打印機(jī)是否處于忙狀態(tài) JB ,PRSUB1 MOV A,R1 ;R1在主程序中被賦予打印指令代碼 MOVX DPTR,A ;送打印機(jī)命令、數(shù)據(jù)后啟動(dòng) RETPRSUB2: MOVX A,DPTR ;片外讀取,產(chǎn)生信號 JB ,PRSUB2 ;查詢打印機(jī)是否處于忙狀態(tài)LP: MOV A,R4 ;R4存放字符串的表首偏移量 MOVC A,A+PC ;查表取打印數(shù)據(jù) MOVX DPTR ;數(shù)據(jù)送打印機(jī)LP1: MOVX A,DPTR ;查詢數(shù)據(jù)是否打印完 JB ,LP1 INC R4 MOV A,R4 ;打完,指向下一數(shù)據(jù) XRL A,R3 ;R3存放字符串表尾偏移量加1的數(shù)據(jù) JNZ LP RET總結(jié)經(jīng)過兩周的課程設(shè)計(jì),我們在老師的指導(dǎo)下,基本完成了對于智能電能表的設(shè)計(jì)工作。在主程序中主要是給需要調(diào)用的子程序的緩沖空間賦值,判斷打印條件是否滿足,從電量存儲空間讀取電量值和其他數(shù)據(jù)。在打印程序中的常數(shù)、符號、標(biāo)記、參數(shù)等不變的字符存放在AT89C51單片機(jī)的片內(nèi)程序存儲器中,需要打印的數(shù)據(jù)從電量存儲單元取出,打印數(shù)據(jù)從日歷/時(shí)鐘芯片中取出。打印機(jī)“忙”狀態(tài)信號BUSY高電平有效,高電平狀態(tài)表明打印機(jī)正忙于處理數(shù)據(jù),此時(shí),單片機(jī)AT89C51不得使用數(shù)據(jù)選通信號向打印機(jī)送入新的數(shù)據(jù)。對于兩個(gè)時(shí)間間隔符的顯示,在主程序中只需給50H單元送數(shù)01H或02H即可實(shí)現(xiàn)。在程序設(shè)計(jì)過程中在主程序中根據(jù)需要顯示二進(jìn)制數(shù)字查表得到相應(yīng)的十進(jìn)制數(shù)字的顯示代碼,然后把相應(yīng)的顯示代碼送顯示器緩沖區(qū),最后調(diào)用顯示程序顯示電量或時(shí)間。YNN開始調(diào)用子程序延時(shí)12ms有鍵閉合否?判斷閉合鍵值—棧閉合鍵釋放?有無鍵按下?鍵值和—A進(jìn)行相應(yīng)功能處理返回YYN液晶顯示器SMS0601的程序由生產(chǎn)公司隨帶產(chǎn)品提供,只需用戶根據(jù)需要填寫用戶程序。鍵掃描程序流程圖中的12ms軟件延時(shí)用來消除鍵抖動(dòng)現(xiàn)象的。對于需要多個(gè)組合鍵才能完成的功能來說,把多次所得的鍵值相加后送寄存器A,然后完成相應(yīng)功能。在確認(rèn)有鍵按下的條件下,通過掃描的方式求取鍵值。在主程序中每循環(huán)一次主程序就判斷一次“是否有按鍵按下”的事件。對設(shè)置寫使能鎖存器子程序、復(fù)位寫使能鎖存器子程序、寫狀態(tài)寄存器子程序來說,可以通過給數(shù)據(jù)緩沖區(qū)寫入不同的命令字調(diào)用同一子程序,根據(jù)X5045的讀寫操作時(shí)序編寫的在電能表主程序中調(diào)用的子程序。指令名指令格式操作WREN00000110設(shè)置寫使能鎖存器(允許寫操作)WRDI00000100復(fù)位寫使能鎖存器(禁止寫操作)RDSR00000101讀狀態(tài)寄存器WRSR00000001寫狀態(tài)寄存器(塊鎖定位)READ0000A011從所選地址的存儲器陣列開始讀出數(shù)據(jù)WRITE0000A010把數(shù)據(jù)寫入所選的存儲器陣列(1—4字節(jié)) X5045命令集串行輸入線(51)上輸入的數(shù)據(jù)在SCK的上升沿被鎖存,數(shù)據(jù)在SCK的下降沿輸出到串行輸出線(50)上。在用WREN指令置位寫使能鎖存器之后進(jìn)行寫操作、再用WRDI指令復(fù)位鎖存器。在片選信號()為低電平并且寫保護(hù)信號()為高電平時(shí),數(shù)據(jù)在串行時(shí)鐘信號SCK的上升沿由時(shí)鐘同步輸入。DS1302的命令字格式: 7 6 5 4 3 2 1 01RAM A4A3A2A1A0RD X5045片內(nèi)包括一個(gè)指令寄存器、寫使能寄存器、狀態(tài)寄存器。最低有效位LSB(位0)為邏輯0指定進(jìn)行寫操作(輸入)。 邏輯1指定RAM數(shù)據(jù)。最高有效位MSB(位7)必須為邏輯1,如果它是0,禁止寫DS1302。DS1302所有數(shù)據(jù)的讀寫都是通過向DS1302寫入命令字的方式告訴其讀寫地址單元以及將進(jìn)行的是讀操作還是寫操作。在電能表接到時(shí)鐘校正信號時(shí),電能表的AT89C51就會(huì)向DS1302寫命令字;在判斷時(shí)段時(shí),需要讀取DS1302的時(shí)間寄存器以及片內(nèi)數(shù)據(jù)存儲器完成時(shí)間段的比較。根據(jù)串行口數(shù)據(jù)傳送的時(shí)序?qū)懗龅腃S5460A的命令字寫入子程序、讀寄存器子程序、寫寄存器子程序如下: SDI EQU P10SDO EQU P11SCLK EQU P12 ;命令字寫入程序WR_COM: MOV A, R1 ;在主程序中將命令字送到R1中 MOV R7,8H ;將命令字傳送的位數(shù)8送R7COMWORDSEND: RLC AMOV SDI,C SETB SCLK CLR SCLK ;在此形成一個(gè)脈沖下降沿,數(shù)據(jù)寫入 DJNZ R7,COMWORDSND ;判斷8個(gè)數(shù)據(jù)位是否傳送完WR_COM_END: RET;數(shù)據(jù)寫入子程序,將寫入數(shù)據(jù)的高、中、低字節(jié)存放到42H、41H、40H中WR_DATA: LCALL WR_COM ;調(diào)用命令字寫入子程序 MOV R2,42H MOV R3,03HWR_LP2: MOV R7,08H MOV A, R2WR_LP1: RLC A MOV 5DI,C SETB SCLR CLR SCLR DJNE R7,WR_LP1 DEC R3 DJNE R2,WR_LP2 RET;數(shù)據(jù)讀取子程序,將讀出的數(shù)據(jù)的高、中、低字節(jié)存放到42H、41H、40H中RD_DATA; LCALL WR_COM MOV R2,42H MOV R3,03HRD_LP2: MOV R7,08H MOV R0,0FEHRD_LP1: CLR SCLKMOV C,SD0 RLC A MOV R1,A MOV A,R0 RLC A MOV R0,A MOV SDI,C STEB SCLK MOV A,R1 DJNE R4,RD_LP1 MOV R2,A DEC R2 DJNE R3,RD_LP2 RET在電能表中當(dāng)單片機(jī)AT89C51需要讀取CS5460A的寄存器獲取瞬時(shí)電流、瞬時(shí)電壓、瞬時(shí)功率,設(shè)置CS5460A的寄存器的值時(shí),都是通過調(diào)用這兩個(gè)程序來實(shí)現(xiàn)的。在讀寄存器的數(shù)據(jù)時(shí)AT89C51可以發(fā)送一個(gè)新的命令。當(dāng)以讀命令字初始化數(shù)據(jù)傳輸時(shí),串行口將在SD0引腳為緊接的16或24個(gè)串行時(shí)鐘周期按高位在先的原則傳送寄存器的各位數(shù)字。當(dāng)命令字包括了一個(gè)寫操作時(shí),串行口將在SDI引腳繼續(xù)為緊接的24個(gè)串行時(shí)鐘周期記錄數(shù)據(jù)位,其順序也是高位在先。對CS5460A的寄存器的訪問都是通過SPI串行口進(jìn)行的。寫到寄存器的命令必須緊跟2或3字節(jié)的數(shù)據(jù)。狀態(tài)機(jī)接收并解碼一個(gè)有效命令字之后就立即命令轉(zhuǎn)換器執(zhí)行一個(gè)系統(tǒng)操作或與內(nèi)部寄存器之間傳送數(shù)據(jù)。NNNN復(fù)位清看門狗送數(shù)顯示是否停電?讀DS1302時(shí)鐘整數(shù)分鐘?讀瞬時(shí)電流寄存器判斷是否過流?讀瞬時(shí)電壓寄存器判斷電壓是否過欠壓?有鍵按下嗎?是否有電能脈沖?上電低功耗待命需要更新時(shí)段?更新時(shí)段值送停電命令是否有上電命令?處理按鍵命令執(zhí)行電能累加程序YYYYYYYN系統(tǒng)一旦上電,CS5460A就被初始化并處于有效操作狀態(tài)。狀態(tài)機(jī)在串行時(shí)鐘的上升沿解釋8位的命令字,狀態(tài)機(jī)在解釋完命令字之后立即執(zhí)行外部微控制器請求的命令,或者為寄存器的數(shù)據(jù)傳輸做準(zhǔn)備。這些寄存器用來完成對CS5460A的設(shè)置、采集數(shù)據(jù)的存儲以及串行輸入輸出的控制。(2)當(dāng)CS5460A的電能輸出引腳()和電能方向指示器引腳()輸出脈沖時(shí),中斷服務(wù)程序根據(jù)記憶在時(shí)鐘芯片DS1302中的時(shí)段參數(shù)以及實(shí)時(shí)時(shí)鐘的值來判斷當(dāng)前的時(shí)段類型,單片機(jī)響應(yīng)外部中斷進(jìn)行電量的累加。第4章 電能表的軟件設(shè)計(jì)根據(jù)電能表的硬件電路設(shè)計(jì),電能表運(yùn)行的過程可以表述為:(1)當(dāng)CS5460A未輸出電能脈沖和方向脈沖以及中
點(diǎn)擊復(fù)制文檔內(nèi)容
外語相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1