




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
/23仃/仃/23CS5460A的所有命令字都是一個(gè)字節(jié)。寫到寄存器的命令CS5460A的所有命令字都是一個(gè)字節(jié)。寫到寄存器的命令SYNC1命令,上電數(shù)據(jù)傳送的初始化8位的命令字實(shí)現(xiàn)作或與內(nèi)部寄存器之間傳送數(shù)據(jù)。必須緊跟1、2或3字節(jié)的數(shù)據(jù)。其主要包括起動(dòng)轉(zhuǎn)換命令, SYNC(命令,命令、掉電命令、校準(zhǔn)命令,寄存器讀 /寫命令。對(duì)CS5460A的寄存器的訪問都是通過SPI串行口進(jìn)行的??梢钥闯?,是通過在數(shù)據(jù)傳輸之間向串行口(SDI引腳)按高位在先的方式發(fā)送一個(gè)
WR_COM:MOVA,R1;在主程序中將命令字送到R1中MOVR7,#8H;將命令字傳送的位數(shù)8送R7COMWORDSEND:RLCAMOVSDI,CSETBSCLKCLRSCLK;在此形成一個(gè)脈沖下降沿,數(shù)據(jù)寫入DJNZR7,COMWORDSNDU斷8個(gè)數(shù)據(jù)位是否傳送完WR_COM_END:RET42H41H、40H中;命令字寫入程序?qū)懭霐?shù)據(jù)的高、中、低字節(jié)存放到;調(diào)用命令字寫入子程序MOVR2,#42HMOVR3,#03HMOVR7,#08HMOVR0,#0FEHCLRSCLKMOV C,SD0RLCAMOVR1,AMOVA,R0RD_LP2:RD_LP1:的。當(dāng)命令字包括了一個(gè)寫操作時(shí),串行口將在 SDI引腳繼續(xù)為緊接的24個(gè)串行時(shí)鐘周期記錄數(shù)據(jù)位,其順序也是高位在先。通知一個(gè)寄存器寫操作的命令字必須緊跟 24位數(shù)據(jù)。當(dāng)以讀命令字初始化數(shù)據(jù)傳輸時(shí),串行口將在 SDO引腳為緊接的8、16的。當(dāng)命令字包括了一個(gè)寫操作時(shí),串行口將在 SDI引腳繼續(xù)為緊接的24個(gè)串行時(shí)鐘周期記錄數(shù)據(jù)位,其順序也是高位在先。通知一個(gè)寄存器寫操作的命令字必須緊跟 24位數(shù)據(jù)。當(dāng)以讀命令字初始化數(shù)據(jù)傳輸時(shí),串行口將在 SDO引腳為緊接的8、16或24個(gè)串行時(shí)鐘周期按高位在先的原則傳送寄存器的各位數(shù)字。通知寄存器寫的命令字必須緊跟 8、16或24位數(shù)據(jù)。在讀寄存器的數(shù)據(jù)時(shí)AT89C51可以發(fā)送一個(gè)新的命令。串行口一旦接收到新的命令,它就立即執(zhí)行并可能結(jié)束前一個(gè)寄存器讀。根據(jù)串行口數(shù)據(jù)傳送的時(shí)序?qū)懗龅?CS5460A的命令字寫入子程序、讀寄存器子程序、寫寄存器子程序如下:SDISDOSCLKEQUEQUEQUP10P11P12WR_DATA:LCALLWR_COMMOVR2,#42HMOVR3,#03HWR_LP2:MOVR7 ,#08HMOVA,@R2WR_LP1:RLCAMOV5DI,C;數(shù)據(jù)寫入子程序,SETBCLRDJNEDECDJNERET;數(shù)據(jù)讀取子程序,LCALLWR_COMSCLRSCLRR7R3R2RD_DAT;A,WR_LP1,WR_LP2將讀出的數(shù)據(jù)的高、中、低字節(jié)存放到42H、41H、40H中RLCAMOVR0,AMOVSDI,CSTEBSCLKMOVA,R1DJNER4,RD_丄P1MOV@R2,ADECR2DJNER3,RD_丄P2RET在電能表中當(dāng)單片機(jī)AT89C51需要讀取CS5460A的寄存器獲取瞬時(shí)電流、 瞬時(shí)電壓、瞬時(shí)功率,設(shè)置CS5460A的寄存器的值時(shí),都是通過調(diào)用這兩個(gè)程序來實(shí)現(xiàn)的。4.1.2對(duì)日歷/時(shí)鐘DS1302的讀寫操作的軟件實(shí)現(xiàn)在電能表中與時(shí)間有關(guān)的判斷和時(shí)間讀取都是通過 DS1302與AT89C51的接口完成的。在電能表接到時(shí)鐘校正信號(hào)時(shí),電能表的AT89C51就會(huì)向DS1302寫命令字;在判斷時(shí)段時(shí),需要讀取DS1302的時(shí)間寄存器以及片內(nèi)數(shù)據(jù)存儲(chǔ)器完成時(shí)間段的比較 ;用戶進(jìn)行時(shí)段設(shè)置查詢時(shí),需要讀取DS1302片內(nèi)的數(shù)據(jù)存儲(chǔ)器。DS1302所有數(shù)據(jù)的讀寫都是通過向 DS1302寫入命令字的方式告訴其讀寫地址單元以及將進(jìn)行的是讀操作還是寫操作。每一數(shù)據(jù)傳送由命令字節(jié)初始化。最高有效位 MSB位7)必須為邏輯1,如果它是0,禁止寫DS1302位6為邏輯0指定時(shí)鐘/日歷數(shù)據(jù);邏輯1指定RAM數(shù)據(jù)。位1至5指定進(jìn)行輸入或輸出的特定寄存器。最低有效位 LSB(位0)為邏輯0指定進(jìn)行寫操作(輸入);邏輯1指定讀操作(輸出)。DS1302的命令字格式:X5045片內(nèi)包括一個(gè)指令寄存器、寫使能寄存器、狀態(tài)寄存器。送往指令寄存器的命令集如表4.1所示。AT89C51對(duì)指令寄存器的訪問是通過串行輸入線(SI)進(jìn)行的。在片選信號(hào)(錯(cuò)誤!未找到引用源。)為低電平并且寫保護(hù)信號(hào)(錯(cuò)誤!未找到引用源。)為高電平時(shí),數(shù)據(jù)在串行時(shí)鐘信號(hào)SCK的上升沿由時(shí)鐘同步輸入。 所有數(shù)據(jù)的傳輸都是以高位在前的方式進(jìn)行傳送。在用WREN!令置位寫使能鎖存器之后進(jìn)行寫操作、 再用WRDI指令復(fù)位鎖存器。狀態(tài)寄存器中可以設(shè)置看門狗定時(shí)器的定時(shí)時(shí)間, 在電能表的程序設(shè)計(jì)中, 選擇了看門狗定時(shí)周期位600mso指令名指令格式操作WREN00000110設(shè)置寫使能鎖存器(允許寫操作)WRDI00000100復(fù)位寫使能鎖存器(禁止寫操作)RDSR00000101讀狀態(tài)寄存器WRSR00000001寫狀態(tài)寄存器(塊鎖定位)READ0000A011從所選地址的存儲(chǔ)器陣列開始讀出數(shù)據(jù)WRITE0000A010把數(shù)據(jù)寫入所選的存儲(chǔ)器陣列(1—4字節(jié))表4.1X5045命令集串行輸入線(51)上輸入的數(shù)據(jù)在SCK的上升沿被鎖存,數(shù)據(jù)在SCK的下降沿輸出到串行輸出線(50)上。AT89C51與X5045的接口軟件包括設(shè)置寫使能鎖存器子程序 (COMMSUB讀狀態(tài)寄存器子程序X_RDSR字節(jié)讀子程序X_RDBYTE字節(jié)寫子程序X_WRBYTE復(fù)位看門狗子程序WATCHDOG寸設(shè)置寫使能鎖存器子程序、復(fù)位寫使能鎖存器子程序、寫狀態(tài)寄存器子程序來說,可以通過給數(shù)據(jù)緩沖區(qū)寫入不同的命令字調(diào)用同一子程序, 根據(jù)X5045的讀寫操作時(shí)序編寫的在電能表主程序中調(diào)用的子程序COMMSU:BCLRP17CLRP13MOVA,R1CALLOUTDATACLRP17SETBP13RET。;P17接X5045的串行時(shí)鐘引腳SCK;P13接X5045的片選引腳;R1用于存放命令字X_RDSR:CLRP13MOVACALLOUTDATACALLINDATACLRP17SETBP13RET,R1CLRP17CLRP17;P17接X5045的串行時(shí)鐘引腳SCK;P13接X5045的片選引腳;R1用于存放命令字X_WRBYT:ECLRMOVP13AX_RDSR:,R1MOVB,R2MOVC,B.0MOVACC.3,CCALLOUTDATA;發(fā)送寫指令CALLA,R3;R3用于存放地址的低位字節(jié)CALLOUTDATA;發(fā)送地址MOVA,R2CALLOUTDATACLRP17SETBP13RETP17;P17接X5045的串行時(shí)鐘引腳CLRP13;P13接X5045的片選引腳MOVA,R1;R1用于存放命令字MOVB,R2;R2用于存放地址的高位字節(jié)MOVC,B.0MOVACC.3,CCALLOUTDATACALLA,R3CLRSCKMOVCALLA,R2INDATAP17P13CLRSETBRETOUTDATA:MOVR4,#08HOUT1:CLRP17RLCAMOVP16 ,CSETBP17DJNZR4,OUT1CLRP16RETINDATA:MOVR4,#08HOUT2:SETBP17CLRP17MOVC,P15RLCADJNZR4,OUT2CLRP16RETWATCHDO:GCLRP13SETBP13CALLOUTDATARET;P16接X5045的串行輸入引腳;P15接X5045的串行輸出引腳4.1.4矩陣鍵盤鍵功能處理程序電能表的鍵盤處理程序采用編程掃描工作方式進(jìn)行處理。在主程序中每循環(huán)一次主程序就判斷一次“是否有按鍵按下”的事件。當(dāng)查詢有鍵被按下時(shí),程序按以下方法進(jìn)行處理軟件延時(shí)一段時(shí)間再判斷鍵盤狀態(tài),如果仍為有鍵按下狀態(tài),則認(rèn)為有一個(gè)確認(rèn)的鍵按下,否則按鍵抖動(dòng)處理;在確認(rèn)有鍵按下的條件下,通過掃描的方式求取鍵值;鍵閉合一次僅進(jìn)行一次鍵功能操作。對(duì)于需要多個(gè)組合鍵才能完成的功能來說,把多次所得的鍵值相加后送寄存器A,然后完成相應(yīng)功能。鍵掃描程序流程圖如圖4.9。鍵掃描程序流程圖中的12ms軟件延時(shí)用來消除鍵抖動(dòng)現(xiàn)象的。當(dāng)有多個(gè)鍵被依次按下時(shí),把每次按下的鍵值存于緩沖區(qū)中,當(dāng)沒有鍵按下時(shí)再把鍵值總和送寄存器A中,根據(jù)A中的鍵值和執(zhí)行相應(yīng)功能。
返回圖4.2返回圖4.2鍵掃描程序流程圖4.1.5液晶顯示器SMS0601在電能表中顯示功能實(shí)現(xiàn)液晶顯示器SMS0601的程序由生產(chǎn)公司隨帶產(chǎn)品提供,只需用戶根據(jù)需要填寫用戶程
序。在電能表部分需要顯示的內(nèi)容包括時(shí)間、 電量、單位為伏特的電壓、單位為安培的電流。在程序設(shè)計(jì)過程中在主程序中根據(jù)需要顯示二進(jìn)制數(shù)字查表得到相應(yīng)的十進(jìn)制數(shù)字的顯示代碼,然后把相應(yīng)的顯示代碼送顯示器緩沖區(qū), 最后調(diào)用顯示程序顯示電量或時(shí)間。 在程序設(shè)計(jì)中顯示器緩沖區(qū)被定義在從單片機(jī)片內(nèi)的數(shù)據(jù)存儲(chǔ)器空間的 50H-56H單元。對(duì)于兩個(gè)時(shí)間間隔符的顯示,在主程序中只需給 50H單元送數(shù)#01H或#02H即可實(shí)現(xiàn)。給出顯示碼的查表子程序:A中,表格的首地址在DPTR中,兩者的值根據(jù)主程序確定PUSHA中,表格的首地址在DPTR中,兩者的值根據(jù)主程序確定PUSHPUSHDPLTAB1:DB;第1、2TAB1:DB;第1、2、MVOCPOPPOPRETDBADPLDPH,@A+DPTR0EEH67H3、5、6個(gè)LED的代碼以及第4個(gè)LED在作為時(shí)間顯示是的代碼表,028H,0CDH6DH2BH,0E3H,2CH0EFH06FHTAB2:TAB2:DBDB0FEH,038H,0DDH7DH3BH77H ,0F3H,3CH0FFH07FH;第4個(gè)LED在用作電量顯示是的代碼表
4.1.6打印機(jī)驅(qū)動(dòng)程序打印機(jī)接口的時(shí)序圖表明了8位并行數(shù)據(jù)在數(shù)據(jù)選通信號(hào)的上升沿被打印機(jī)讀入機(jī)內(nèi)鎖存,數(shù)據(jù)選通信號(hào)的寬度必須大于 0.5卩S。打印機(jī)“忙”狀態(tài)信號(hào)BUSY高電平有效,高電平狀態(tài)表明打印機(jī)正忙于處理數(shù)據(jù), 此時(shí),單片機(jī)AT89C51不得使用數(shù)據(jù)選通信號(hào)向打印機(jī)送入新的數(shù)據(jù)。當(dāng)打印機(jī)的應(yīng)答信號(hào)低電平有效時(shí),表明打印機(jī)己取走數(shù)據(jù)線上的數(shù)據(jù)。在打印程序中的常數(shù)、符號(hào)、標(biāo)記、參數(shù)等不變的字符存放在序存儲(chǔ)器中,需要打印的數(shù)據(jù)從電量存儲(chǔ)單元取出,打印數(shù)據(jù)從日歷打印機(jī)的打印控制程序中,數(shù)據(jù)的打印順序是按照從上到下、據(jù)。在主程序中主要是給需要調(diào)用的子程序的緩沖空間賦值,量存儲(chǔ)空間讀取電量值和其他數(shù)據(jù)。PRSUB,1打印字符串子程序PRSUB1:MOVXAJBACC.7AT89C51單片機(jī)的片內(nèi)程/時(shí)鐘芯片中取出。在從左到右的順序打印字符、數(shù)判斷打印條件是否滿足,從電主程序需要調(diào)用的子程序包括打印機(jī)查詢、送數(shù)子程序PRSUB2這兩個(gè)子程序的編制如下AT89C51單片機(jī)的片內(nèi)程/時(shí)鐘芯片中取出。在從左到右的順序打印字符、數(shù)判斷打印條件是否滿足,從電主程序需要調(diào)用的子程序包括打印機(jī)查詢、送數(shù)子程序PRSUB2這兩個(gè)子程序的編制如下:,@DPTR,PRSUB1,R1,A;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)鋁顏料行業(yè)運(yùn)行現(xiàn)狀及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 2025-2030年中國(guó)鋁冶煉市場(chǎng)競(jìng)爭(zhēng)格局及前景趨勢(shì)預(yù)測(cè)報(bào)告
- 2025-2030年中國(guó)鎢行業(yè)未來投資預(yù)測(cè)發(fā)展戰(zhàn)略規(guī)劃分析報(bào)告
- 2025四川省建筑安全員《C證》考試題庫(kù)
- 2025-2030年中國(guó)過氧化鋅市場(chǎng)運(yùn)營(yíng)動(dòng)態(tài)及發(fā)展前景分析報(bào)告
- 2025-2030年中國(guó)車蠟行業(yè)市場(chǎng)運(yùn)行態(tài)勢(shì)及發(fā)展盈利分析報(bào)告
- 2025-2030年中國(guó)貿(mào)易融資前景趨勢(shì)及發(fā)展?jié)摿Ψ治鰣?bào)告
- 2025-2030年中國(guó)調(diào)味香料市場(chǎng)發(fā)展前景及投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)船舶制造行業(yè)發(fā)展?fàn)顩r及營(yíng)銷戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)紙基覆銅板市場(chǎng)十三五規(guī)劃及投資風(fēng)險(xiǎn)評(píng)估報(bào)告
- 教師讀書分享《給教師的建議》課件
- 人民警察紀(jì)律條令試卷含答案
- 婚姻矛盾糾紛調(diào)解培訓(xùn)課件
- 普通昆蟲學(xué)-實(shí)驗(yàn)指導(dǎo)
- 中職對(duì)口升學(xué)養(yǎng)殖專業(yè)獸醫(yī)基礎(chǔ)習(xí)題集判斷題詳解
- 初中物理各單元思維導(dǎo)圖
- 氧化還原反應(yīng)和氧化還原平衡--ppt課件
- 國(guó)內(nèi)外旅游公共服務(wù)研究的文獻(xiàn)綜述
- 2022年北京市專升本英語(yǔ)真題
- 鍺的提取方法
- 有害物質(zhì)管控清單(歐盟)
評(píng)論
0/150
提交評(píng)論