版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第三章 96系列單片機簡介及應用實例,主要內(nèi)容§3.1 硬件結(jié)構§3.2 MCS-96指令系統(tǒng)§3.3 80C196KB單片機應用實例目的:通過一種單片機的設計實例,掌握智能儀器儀表中CPU設計的一般方法。,§3.1 硬件結(jié)構,主要內(nèi)容3.1.1 內(nèi)部定時3.1.2 存儲空間3.1.3 芯片配置寄存器CCR3.1.4 狀態(tài)和控制寄存器3.1.5 中斷結(jié)構 (√)——重
2、點3.1.6 定時器,3.1.7 高速輸入單元 (√)3.1.8 高速輸出單元 (√)3.1.9 模擬接口3.1.10 串行口 (√)3.1.11 監(jiān)視定時器3.1.12 復位和掉電保護,3.1.1內(nèi)部定時,,內(nèi)部定時(續(xù)),8098為3分頻結(jié)構,即每3個時鐘周期為1個狀態(tài)周期,在12M的晶振下:1個狀態(tài)周期=3個時鐘周期=1/12000000*3s=1/4μs (8T)80C196為
3、2分頻結(jié)構:1個狀態(tài)周期=2個時鐘周期=1/12000000*2s=1/6μs,3.1.2存儲空間,寄存器組合空間 (√)專用寄存器空間掉電保護空間ROM空間的尋址,存儲空間,3.1.3芯片配置寄存器CCR,CCR的內(nèi)容由用戶預先寫入018H單元(芯片配置字節(jié)),系統(tǒng)復位時,該芯片配置字節(jié)被自動送入CCR寄存器。(8位總線時一般為0BDH),3.1.4狀態(tài)和控制寄存器,8098有兩個I/O控制寄存器IOC0和IOC1IO
4、C0控制定時器2和高速輸入線。IOC1控制某些引腳功能、中斷源和兩個HSO引腳。,控制寄存器,狀態(tài)寄存器,3.1.5中斷結(jié)構 (詳細),,設置中斷向量,;設置HSI,TIME,SPCON 的中斷向量ORG2000HDCWTYCINT ;T1溢出中斷ORG2004HDCWHSIINT ;HSIINT---高速輸入中斷ORG200AHDCWTIMEINT ;TIMEINT---軟件定時中
5、斷,3.1.6定時器,系統(tǒng)中有兩個16位定時器,定時器1和定時器2。定時器1作為實時時鐘用來同步其他事件。它自由運行,每8個狀態(tài)周期加1。(定時器+1時間為8T=?)該計數(shù)器在任何時刻均可讀出,但一般不可改寫,且除芯片復位之外也沒有其他手段使其停止計數(shù)并恢復為0。,定時器(續(xù)),定時器1產(chǎn)生高速輸入單元HSI和高速輸出單元HSO的基準時間。定時器溢出時可用來產(chǎn)生中斷,溢出間隔時間(在12M晶振下):0FFFFH*8*T=6553
6、5*8*1/4≈131ms (三分頻系列,如8098)0FFFFH*8*T=65535*8*1/6≈87ms (二分頻系列,如80C196),T1溢出中斷服務子程序,TYCINT:PUSHF… POPF RET,3.1.7高速輸入單元,HSI運行方式HSI狀態(tài)寄存器(HSI_STATUS)HSI的控制和操作 (√)(詳細),高速輸入概述,高速輸入單元HSI可用定時器1作實
7、時時鐘來記錄外部事件發(fā)生的時間?!案咚佟北硎臼录墨@取無需CPU的干預。該單元有四條高速輸入線(HSI.0-3),其中HSI.2-3為雙向引線,和HSO.4-5共用同一引腳。由IOC0和IOC1確定。,一. HSI運行方式HSI_MODE,,,方式選擇位 事件定義008個正跳變?yōu)橐粋€事件01 每個正跳變?yōu)橐粋€事件10每個負跳變?yōu)橐粋€事件11每個跳變(正和負)均為事件,二.HSI狀態(tài)寄存器HSI_
8、STATUS),各位的定義同圖3.9其中低位表示本引腳上是否有事件發(fā)生;高位表示本引腳的現(xiàn)行狀態(tài)。,三.HSI的控制和操作,有關控制見HSI_MODE、IOC0、IOC1、INT_MASK、INT_PENDING以及中斷向量。中斷發(fā)生后:先讀HSI的狀態(tài),后讀其中斷時間。(兩者均得讀,且順序讀),HSIINT 子程序(記錄脈沖),HSIINT: PUSHFLDBHSIBJ,HSISTAJBSHSIBJ,0,HI0
9、 ;判斷是否0口中斷JBSHSIBJ,2,HI1 ;判斷是否1口中斷JBSHSIBJ,4,HI2 ;2JBSHSIBJ,6,HI3 ;3SJMPHSIFHHI0:STHSITIM ,HI0T ;讀時間到HI0T中 … POPF RET,3.1.8高速輸出單元,HSO輸出控制 LDB HSO_COMMAND, #WHAT_TO
10、_DOADD HSO_TIME,TIMER1, #WHEN_TO_DO_IT,高速輸出單元(續(xù)),軟件定時1ms中斷服務子程序,TIMEINT:PUSHFDILDBHSOCOM ,#38H ;重設TIMEINTADDHSOTIM ,TIMER1 ,#TIJG ;12M=#750 6M=#375EIINCZDCS ;中斷次數(shù)加1POPFRET,3.1.9模擬接口,模擬輸入
11、 AD_COMMAND AD_RESULT,脈沖寬度調(diào)制輸出(PWM),數(shù)/模轉(zhuǎn)換可以通過脈沖寬度PWM輸出來實現(xiàn),PWM輸出波形是一個重復周期為256個狀態(tài)周期,而占空比可變,占空比的變化通過向PWM寄存器寫入新值來實現(xiàn)。對此波形進行積分,那么,即可得到一個DC電平,通過改變占空比,可使該電平分256個階梯變化。,,,,,,,,,,,,,,,,,,AD變換子程序,ADBH:LDBTDHAO,ACHTDH;TDHAO標記
12、ACHTDHORBTDHAO,#00001000BLDBADCOM,TDHAO;立即啟動AD變換NOPNOPNOPADDD1:LDBBL,ADL;等待AD變換的完成JBSBL,3,ADDD1LDBBL,ADLLDBBH,ADHSHRBX,#6ADDADLJD,BX ;累計A/D變換值ADDCADLJG,#0INCADBHCS
13、 ;A/D變換次數(shù)+1RET,3.1.10串行口,方式0:同步方式,通常用在以移位寄存器為基礎的I/O擴展方面方式1:標準異步通訊方式。,串行口(續(xù)),方式2和方式3:用于多機通訊,串行口(續(xù)),串行口的控制,串行口波特率設置,1. 98:方式0= 方式1、2、3= 因為波特率寄存器的最高位用于對內(nèi)部時鐘源的選擇 ,當用XTAL1時,固定為“1
14、”,,,2. 96系列單片機的波特率設置,,方式0= 方式1、2、3=,基于串行口的多機通訊,串行口方式2和方式3是提供給多機通訊用的。在方式2下若所接收到的第9位數(shù)據(jù)非1,則不會發(fā)生串行口中斷,而方式3則均會中斷。在多機系統(tǒng)中,當主機欲向某從機發(fā)送數(shù)據(jù)時,它首先發(fā)出一幀地址以確定目的從機。地址幀和數(shù)據(jù)幀的不同點在于,前者之第9位數(shù)據(jù)位為1,后者之該位為0。,在方式2下,數(shù)據(jù)幀不會引起任何從機中斷。然而,地址幀卻將在所有從機
15、中激發(fā)中斷。這樣,各從機便在各自的中斷服務程序中檢查所收到的字節(jié)是否等于自己的地址。相等者即為被呼叫的從機,于是它便切換到方式3下運行,以接收此后主機發(fā)來的數(shù)據(jù);并回送主機數(shù)據(jù)后恢復到方式2下等待。未被呼叫的多個從機則仍留在方式2下繼續(xù)自己的作業(yè)。,通訊舉例:主機和2號從機進行數(shù)據(jù)交換1、主機和全部從機工作于方式2;2、主機以第9位為1發(fā)送地址碼2;3、全部從機接收中斷,2號判定被呼叫轉(zhuǎn)入方式3;其它從機仍然工作與方式2;4、
16、主機發(fā)送數(shù)據(jù),DB9=0,2號中斷接收;5、2號反送主機數(shù)據(jù),主機接收;6、主機和2號從機再轉(zhuǎn)入方式2待命。,串口中斷服務程序,SERINT: PUSHFRDAGA:LDBSPTEMP,SPSTATORBTEMP,SPTEMPANDBSPTEMP,#60HJNERDAGAJBSTEMP,5,TRANSJBSTEMP,6,GETSJMPSEROUT …,3.1.11監(jiān)視定時器,在12M晶振
17、下:98:WATCHDOG溢出時間為:16ms96:WATCHDOG溢出時間為:10.67ms監(jiān)視定時器的驅(qū)動:(連續(xù)寫入) DI LDB WATCHD,#1EH LDB WATCHD,#0E1H EI,3.1.12復位和掉電保護,在電源處于正常范圍且振蕩器穩(wěn)定后,RESET引腳上至少保持兩個狀態(tài)周期的低電平就可使系統(tǒng)復位。RESET引腳電壓升高后,系統(tǒng)將執(zhí)行10個狀態(tài)周期的內(nèi)部復位序列。在此期間,芯片
18、配置字節(jié)CCR被從2018H單元讀出并進而寫入芯片CCR寄存器。,上電復位可用電容、單穩(wěn)或其他方法實現(xiàn),條件是它們能夠提供一個寬度要比Vcc和振蕩器穩(wěn)定下來所需的時間至少長兩個狀態(tài)周期的負脈沖。對于96系列單片機,復位電平是低電平有效。,§3.2 MCS-96指令系統(tǒng),主要內(nèi)容3.2.1操作數(shù)類型 (√)3.2.2操作數(shù)的尋址 (√)3.2.3程序狀態(tài)字PSW3.2.4指令系統(tǒng),3.2.1操作數(shù)類型,字節(jié)型(B
19、YTE)字型(WORD)短整數(shù)型(SHORT_INTEGER)整數(shù)型(INTEGER)位型(BIT)雙字型(DOUBLE_WORD)長整數(shù)型(LONG_INTEGER),3.2.2 操作數(shù)的尋址 (詳細),寄存器直接尋址 (LD AX,BX)間接尋址 (LD AX,[BX])自動增量間接尋址 (LD AX,[BX]+)立即尋址 (LD AX,#1234
20、)短變址尋址 (LD AX,123[BX])長變址尋址 (LD AX,1234[BX])棧指針寄存器尋址 (LD AX,2[SP]),3.2.3程序狀態(tài)字PSW,,3.2.4指令系統(tǒng),8098單片機共有100條指令。80C196單片機共用112條指令,其中的100條與8098完全相同。專用指令如:CMPL/MOVB/JNZW等都是98所沒有的。(詳細),1.
21、60; 數(shù)據(jù)傳送指令,LD LDB ST STB LDBSE(短整數(shù)→整數(shù)) LDBZE(字節(jié)→字)LD AX,BX; LDB AL,BLST AX,BX; STB AL,BLLDBSE LDBZE不常用,2. 算術運算指令,ADD ADDB ADDC ADDCB SUB SUBB SUBC SUBCB CMP
22、 CMPB MULU MULUB MUL MULB DIVU DIVUB DIV DIVB CMPL(雙字比較80C196)注意有無符號和操作數(shù)類型MULU(16*16=32) MULUB(8*8=16) 無符號DIVU(32/16=16 低16=商 高16=余數(shù))DIVUB(16/8=8 低8=商 高8=余數(shù))課堂練習:將1234分解為BCD碼,BCD變換子程序BCSD為入口,AX BX
23、為轉(zhuǎn)換的壓縮BCD碼,BCDBH:CLRAXCLRBCSGDIVUBCSD,#1000ORAX,BCSDSHLAX,#4LDBCSD,BCSGCLRBCSGDIVUBCSD,#100ORAX,BCSDSHLAX,#4LDBCSD,BCSGCLRBCSG,DIVUBCSD,#10ORAX,BCSDSHLAX,#4ORAX,BCSGSTBAL,BL
24、STBAL,BHHSHRBBL,#4ANDBBHH,#00001111BSTBAH,ALSHRBAL,#4ANDBAH,#00001111BPMXYH:RET,3. 邏輯操作指令,AND ANDB OR ORB XOR XORBANDB AL,#11101111B ;指定位清0ORB AL,#00010000B ;
25、指定位置1XORB AL,#00010000B ;指定位取反,4. 棧操作指令,PUSH PUSHF POP POPF PUSHA POPA(雙字進棧80C196專用)PUSHFPUSH AX ;96的堆棧向下生成SP=SP-2PUSH BX ;若SP原為0F0H,BX壓棧后SP=0EEH …POP BX
26、 ;先入后出POP AX POPF,5. 轉(zhuǎn)移操作指令,LJMP SJMP BR LCALL SCALL RET TRAP(軟件中斷陷井,用戶不用),6. 條件轉(zhuǎn)移指令,JC JNC JNH JE JH JNE JV JNV JGE JLT JVT JNVT JGT JLE
27、JST JNSTCMPBAL,BLJNHADDRESS0 ;當AL<=BL時跳轉(zhuǎn),7. 位為0或位為1的轉(zhuǎn)移指令,JBS(位為1跳轉(zhuǎn)) JBC(位為0跳轉(zhuǎn))JBS AL,0,ADDRESS1 ;當AL的第0位=1時跳轉(zhuǎn)JBC AL,0,ADDRESS2 ;當AL的第0位=0時跳轉(zhuǎn),8. 循環(huán)控制指令
28、,DJNZ DJNZW(一個字的遞減,80C196所有) LDB AL,#8LOOP1: LDBBL,#0F0HLOOP0: NOP DJNZ BL,LOOP0 DJNZ AL,LOOP1,9. 單寄存器指令,DEC DECB NEG NEGB INC INCB EXT EXTB(符號擴展) NOT NOTB
29、 CLR CLRBNEG 求補=求反+1 例如:-1=11111111B1=00000001,1求反=11111110B,求反+1=11111111B再例如DS1820輸出的溫度值為補碼,若收到00000001B則為+1,若收到11111111B則為-1。,10. 移位指令,SHL SHLB SHLL SHR SHRB SHRL SHRA SHRAB SH
30、RAL注:SHRA 為帶符號右移,移位后左邊補1SHRAL AL(AL=#11000011B);AL結(jié)果=#11100001B,11. 專用指令,SETC CLRC CLRVT RST DI EI NOP SKIP NORMLRST 機器碼為0FFH ,軟件復位數(shù)據(jù)總線D0~D7接上拉排阻,若程序跑飛到無效地址,取回指令為0FFH使系統(tǒng)復位。,12.
31、; 塊移動(80C196所有),BMOV BMOVIBMOV LREG,WREG 其中LREG為源地址(低16位)指針和目的地址(高16位)指針的組合,WREG為移動的字數(shù)BMOV LREG(高16位=5000H 低16位=4000H),WREG(16位=100)上面語句的作用為將以4000H為首地址的100個字的數(shù)塊移到以5000H為首地址的存儲器中中,13.
32、0; 偽指令,REG:定義寄存器地址ORG:定義程序代碼段地址DSB DSW:定義寄存器地址的代碼DCB DCW:在指定的存儲空間定義常數(shù),即直接將常數(shù)存放于指定地址存儲空間EQU:定義常數(shù)代碼END:程序結(jié)束標記,§3.3 80C196KB單片機測控系統(tǒng)應用實例,主要內(nèi)容(機車隨車質(zhì)量狀態(tài)檢測診斷報警裝置)3.3.1 裝置研制背景3.3.2 系統(tǒng)總體結(jié)構、檢測參數(shù)及功能 (√)
33、3.3.3 系統(tǒng)軟硬件設計 (√)3.3.4 試驗及結(jié)論,3.3.1 裝置研制背景,目前,根據(jù)鐵道部規(guī)定,機車實行定期大修、段修,在段修中經(jīng)常存在某些部件尚可運行,而某些部件應早該更換的問題,這樣勢必存在浪費和事故。因此有必要設計一種隨車的儀器,隨車檢測重要參數(shù),并隨車診斷報警、記錄機車隨車實時的動態(tài)信息,數(shù)據(jù)轉(zhuǎn)儲后,通過地面數(shù)據(jù)分析處理診斷出是否存在故障隱患,以保運輸安全。,3.3.2 系統(tǒng)總體結(jié)構、檢測參數(shù)及功能,,系統(tǒng)總體結(jié)構、
34、檢測參數(shù)及功能(續(xù)),裝置檢測診斷的內(nèi)容語音報警和應急故障處理提示的部分內(nèi)容系統(tǒng)總體功能(詳細),3.3.3 系統(tǒng)軟硬件設計,裝置關鍵硬件的設計單總線數(shù)字式DS18B20傳感器編碼與自動尋碼定位系統(tǒng)軟件設計系統(tǒng)軟硬件詳細功能描述系統(tǒng)主機硬件的研制系統(tǒng)傳感器的選取系統(tǒng)主機軟件的研制PC機軟件的研制,裝置硬件原理圖,CPU板信號采集和調(diào)理板,3.3.4 試驗及結(jié)論,裝置綜合應用計算機軟硬件技術、數(shù)據(jù)采集、記錄、顯示
35、及存儲技術,實現(xiàn)對機車主要的電參數(shù)、電氣線路狀態(tài)、油耗率、熱工參數(shù)、軸溫及火情等質(zhì)量參數(shù)的實時采集、記錄、顯示,并進行實時的機車故障診斷、語音定點定性報警提示,通過數(shù)據(jù)轉(zhuǎn)儲地面分析處理,參數(shù)性能變化趨勢和機車故障先兆信息,及時發(fā)現(xiàn)機車故障隱患,從而提高機車質(zhì)量,確保運輸安全。,本章小結(jié),本章重點介紹了96系列單片機的硬件結(jié)構、軟件操作以及一個基于80C196KB的隨車智能儀表的設計實例。通過96系列單片機的實例,大家掌握智能儀表CP
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- AVR系列單片機c語言編程與應用實例.pdf
- 0566、avr系列單片機c語言編程與應用實例
- 0566、avr系列單片機c語言編程與應用實例
- AVR系列單片機c語言編程與應用實例.pdf
- 單片機外文翻譯-----單片機簡介
- 96系列單片機仿真器研究與設計.pdf
- 單片機編程實例大全
- 單片機編程實例大全
- 96單片機課程設計報告
- 單片機應用系統(tǒng)單片機
- 單片機課程設計---單片機原理及應用
- msp430教程1msp430 單片機系列簡介
- 單片機課程設計-- 單片機原理及應用
- 第十一章 單片機應用系統(tǒng)設計實例
- [工學]單片機的課程設計綜合應用實例
- 51單片機簡介外文翻譯
- 51單片機c語言編程基礎及實例
- 單片機編程實例____c語言____匯編
- 單片機c語言編程實例大全
- 單片機編程實例____c語言____匯編
評論
0/150
提交評論