單片微型計算機原理及其應(yīng)用.ppt_第1頁
單片微型計算機原理及其應(yīng)用.ppt_第2頁
單片微型計算機原理及其應(yīng)用.ppt_第3頁
單片微型計算機原理及其應(yīng)用.ppt_第4頁
單片微型計算機原理及其應(yīng)用.ppt_第5頁
已閱讀5頁,還剩86頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第七章MCS-51系統(tǒng)的串行接口,71串行通訊概述,一、串行通訊的兩種基本方式,1異步傳送方式,圖7-2異步通訊的幀格式,圖7-3同步傳送方式,二、波特率,圖7-4串行通訊的制式,三、數(shù)據(jù)傳送的方向,1單工制式(Simplex),2半雙工制式(HalfDuplex),3全雙工(Full-duplex)制式,72MCS-51單片機的串行接口,一、MCS-51串行口結(jié)構(gòu),圖7-5MCS-51串行口組成示意,1串行口數(shù)據(jù)緩沖器SBUF,2串行口控制寄存器SCON,SM0,圖7-6串行口控制寄存器SCON,圖7-6串行口控制寄存器SCON,3特殊功能寄存器PCONPCON主要是為CHMOS型單片機的電

2、源控制設(shè)置的專用寄存器,單元地址為87H,不能位尋址。其格式如圖7-7所示。,圖7-7PCON各位定義,二、MCS-51串行的工作方式MCS-51的串行口有四種工作方式,它是由SCON中的SM1和SM0來決定的,如表格7-1,表格7-1串行口的工作方式,1方式0,圖7-8串行口方式0的時序,2方式1在方式1時,串行口被設(shè)置為波特率可變的8位異步通信接口。其時序如圖7-9所示。,圖7-9串行口方式1的時序,3方式2串行口工作為方式2時,被定義為9位異步通信接口。其時序如圖7-10所示。,4方式3圖7-10串行口方式2、3的時序,三、MCS-51串行通信的波特率,1方式0的波特率,2方式2的波特率

3、,3方式1或方式3的波特率,表格7-2常用波特率和定時器T1初值關(guān)系表,表格7-2常用波特率和定時器T1初值關(guān)系表,73MCS-51單片機串行口的應(yīng)用,一、串行口方式0用作擴展并行I/O口,圖7-11串行口方式0擴展并行輸出口,二、方式1與點對點的異步通訊,在下面給出的實現(xiàn)指定功能的通訊程序中,發(fā)送和接收都通過調(diào)用子程序來完成,并設(shè)發(fā)送數(shù)據(jù)區(qū)的首地址為20H,接收數(shù)據(jù)區(qū)的首地址為40H。主程序:,中斷服務(wù)程序:,發(fā)送子程序:,接收子程序:,三、方式2、方式3與多機通訊,圖7-12多機通訊連接示意圖,1多機通信原理,2多機通信實現(xiàn),四、微機與單片機之間的通訊,圖7-13微機與單片機串行通信接口,

4、74相互通道接口標準及其選擇,一、相互通道的典型結(jié)構(gòu),二、關(guān)于RS-232C、RS-449、RS-422、RS-423和RS-485接口,圖7-14多機系統(tǒng)的相互通道,2抗干擾能力,1RS-232C接口,圖7-15通過電話網(wǎng)實現(xiàn)遠程連接,表格7-3微機中常用的RS-232C接口信號,表格7-3微機中常用的RS-232C接口信號,圖7-16簡單的RS-232C數(shù)據(jù)通訊,2RS-449、RS-422、RS-423和RS-485接口,表格7-4幾種串行接口標準的比較,第八章MCS-51單片機的中斷系統(tǒng),圖8-18051的中斷系統(tǒng),81中斷系統(tǒng)及其管理,一、中斷源及中斷入口,二、外部中斷請求標志,2S

5、CON的中斷標志,1TCON中的中斷標志,三、中斷允許控制,四、中斷源優(yōu)先級的設(shè)定,五、中斷響應(yīng)處理過程,2中斷處理,1中斷響應(yīng)的過程,3中斷返回,4外部中斷響應(yīng)時間,82擴充外部中斷源,一、利用定時器進行擴充,圖8-2多外部中斷源連接方法,二、采用中斷和查詢相結(jié)合的方法擴充外部中斷源,EXINT:PUSHPSWPUSHACCJBP10,SAV1JBP11,SAV2JBP12,SAV3JBP13,SAV4DISUB:POPACCPOPPSW,RETISAV1:;XI1中斷服務(wù)程序AJMPDISUBSAV2:;XI2中斷服務(wù)程序AJMPDISUBSAV3:;XI3中斷服務(wù)程序AJMPDISUBS

6、AV4:;XI1中斷服務(wù)程序AJMPDISUB,83中斷系統(tǒng)的應(yīng)用,圖8-3外部中斷實驗,第九章單片機應(yīng)用系統(tǒng)的設(shè)計方法及實例,91顯示器、鍵盤與單片機的連接,一、LED數(shù)碼管與單片機的連接,圖9-1共陰極和共陽極數(shù)碼管,1靜態(tài)顯示,圖9-2靜態(tài)顯示原理,DISP:MOVR0,#50H;R0指向第一個顯示單元MOVR2,#4;循環(huán)計數(shù)器賦初值MOVR3,#0;顯示位指針賦初值LOOP:MOVA,R0ANLA,#0FH;取第i個顯示單元的低4位SWAPAORLA,R3;第i個顯示單元的低4位送R3的高4位MOVP1,A;第i個顯示單元的低4位送R3指出的數(shù)碼管去顯示MOVA,R0ANLA,#0F

7、0H;取第i個顯示單元的高4位INCR3;指向下一個數(shù)碼管ORLA,R3;第i個顯示單元的高4位送R3指出的數(shù)碼管去顯示MOVP1,A;將第i個顯示單元的高4位送到相應(yīng)的數(shù)碼管去顯示INCR0;指向下一個顯示單元INCR3;指向下一個LED數(shù)碼管DJNER2,LOOP;未顯示完4單元的8個BCD碼,返回繼續(xù)顯示RET,圖9-3采用譯碼器的靜態(tài)顯示接口電路,2串行顯示接口,圖9-5串行顯示接口,DISP:SETBP1.0;選通顯示器MOVSCON,#00H;置串口方式0MOVR0,#50H;R0指向第一個顯示單元MOVR2,#4;循環(huán)計數(shù)器置初值MOVDPTR,#TAB;DPTR指向第一個顯示單

8、元LOOP:MOVA,R0ANLA,#0FH;取第i個顯示單元的低4位MOVCA,ADPTR;查譯碼表MOCSBUF,A;第i個顯示單元的低4位的顯示碼送串口緩沖器WAIT1:JNBTI,$;未發(fā)送完,等待CLRTI;清發(fā)送中斷標志MOVA,R0ANLA,#0F0H;取第i個顯示單元的高4位SWAPAMOVCA,ADPTR;查譯碼表MOCSBUF,A;第i個顯示單元的高4位的顯示碼送串口緩沖器WAIT2:JNBTI,$;未發(fā)送完,等待CLRTI;清發(fā)送中斷標志INCR0DJNZR2,LOOP;未發(fā)送完4個單元的8個字符,返回繼續(xù)RETTAB:DB03H,9FH,25H,0DH,99H,DB49

9、H,41H,1FH,01H,19H,3動態(tài)掃描顯示接口,圖9-6動態(tài)掃描顯示接口電路,;-主程序-STAR:LOOP:ACALLS00EF;將顯示緩沖區(qū)內(nèi)容送去顯示SJMPLOOP;-送顯示子程序-DISP:CLRAORLA,P3;取P3口內(nèi)容ANLA,#0F0HMOVR3,A;保護P3口高4位MOVA,43H;取位選信號ANLA,#0FH;位選信號送A的低4位ORLA,R3;P3口高4位送A的高4位MOVR0,34H;取段選指針MOVP1,#0FFH;關(guān)顯MOVP3,A;輸出位選信號MOVA,R0;顯示內(nèi)容送AMOVDPTR,#TAB;譯碼表首址送DPTRMOVCA,A+DPTR;查表譯顯示

10、碼MOVP1,A;輸出段選信號1MOVA,43H;RLA;MOV43H,A;位選指針指向下一位INC34H;段選指針指向下一位JBACC.0,DONE;不到最后一位,轉(zhuǎn)MOV34H,#50H;段選指針復(fù)位MOV43H,#0EEH;位選指針復(fù)位DONE:RET;-顯示譯碼表-TAB:DB0C0H;顯示字符0,相對地址00HDB0F9H;1DB0A4H;2DB0B0H;3DB99H;4DB92H;5DB82H;6DB0F8H;7DB80H;8DB90H;9,圖9-7按鍵與單片機直接連接,圖9-8帶鎖存器的按鍵與單片機的接口電路,圖9-9按鍵接口程序流程圖,程序如下:KSCAN:MOVDPTR,#7

11、FFFH;指向244MOVXA,DPTR;讀244ANLA,#0FH;取4個按鍵的值CJNEA,#0FH,LOOS;無鍵按下,轉(zhuǎn)去判斷是否鍵放開JB11H,L0475;鍵有效標志等于1,等待鍵放開,返回JC10H,SETSYN;第一次發(fā)現(xiàn)鍵按下,轉(zhuǎn)去置標志,存鍵值CJNEA,R4,CLRSYN;兩次讀得的按鍵值不同,鍵無效,清第一次發(fā)現(xiàn)鍵按下標志SETB11H;置鍵有效標志RETLOOS:JNB11H,RETUR;鍵有效標志等于0,未按過鍵,返回SJMPKEYDO;鍵放開,轉(zhuǎn)鍵處理SETSYN:SETB10H;置第一次發(fā)現(xiàn)鍵按下標志MOVR4,A;保存鍵值SJMPRETUR;返回CLRK:CL

12、R11H;清鍵有效標志CLRSYN:CLR10H;清第一次發(fā)現(xiàn)鍵按下標志MOVR4,#00H;清鍵值暫存單元RETKEYDO:RRCAJCJUS2;沒按S1,再判斷S2ALMPDOS1;轉(zhuǎn)鍵S1處理程序JUS2:JCJUS3;沒按S2,再判斷S3ALMPDOS2;轉(zhuǎn)鍵S2處理程序JUS3:JCJUS4;沒按S3,再判斷S4ALMPDOS3;轉(zhuǎn)鍵S3處理程序JUS4:JCRETUR;沒按S4,誤判斷,退出ALMPDOS4;轉(zhuǎn)鍵S4處理程序DOS1:;鍵S1處理程序SJMPRETURDOS2:;鍵S2處理程序SJMPRETURDOS3:;鍵S3處理程序SJMPRETURDOS4:;鍵S4處理程序S

13、JMPRETUR,三、鍵盤與單片機的接口,圖9-10鍵盤與單片機的接口電路,圖9-11鍵盤接口程序流程圖,二、A/D轉(zhuǎn)換器與單片機的接口,圖9-12ADC0801ADC0805,圖9-13ADC08010805與單片機的接口,93D/A轉(zhuǎn)換器與單片機的連接,一、D/A轉(zhuǎn)換器的基本原理,圖9-14T型網(wǎng)絡(luò)D/A轉(zhuǎn)換器,二、D/A轉(zhuǎn)換器與單片機的接口,1內(nèi)部結(jié)構(gòu),圖9-15DAC0832的引腳排列圖9-16DAC0832結(jié)構(gòu)圖,3接口電路,(1)單緩沖器方式,圖9-17DAC0832與單片機的接口,(2)雙緩沖器方式,圖9-18多路DAC0832同步轉(zhuǎn)換的接口電路,程序如下:MOVDPTR,#0D

14、FFFH;指向0832(1)MOVA,#data1MOVXDPTR,A;data1送0832(1)鎖存器MOVXDPTR,#0BFFFH;指向0832(2)MOVA,#data2MOVXDPTR,A;data2送0832(2)鎖存器MOVDPTR,#7FFFH;指向0832(1)和0832(2)的數(shù)據(jù)傳送端MOVXDPTR,A;data1和data2同時送D/A轉(zhuǎn)換器進行轉(zhuǎn)換,94MCS-51單片機應(yīng)用系統(tǒng)設(shè)計舉例,一、系統(tǒng)構(gòu)成及控制原理,圖9-19糖果包裝機的結(jié)構(gòu)圖,圖920走紙輪的頂視圖,圖9-21相位誤差與速度誤差,圖9-22控制流程圖,二、硬件電路,1主程序,圖9-23硬件電路,圖9-

15、24主程序流程圖,-初始化-ORG0000HAJMPADR00ORG0003HCLREX0;關(guān)外部中斷0,以防止脈沖抖動造成中斷重復(fù)響應(yīng)AJMPINT0ORG000BHAJMPT0ORG0013HCLREX1;關(guān)外部中斷1AJMPINT1ORG001BHAJMPT1ORG0030HADR00:MOVR0,#20H;20H70H單元清0MOVR1,#50HCLRAADR10:MOVR0,AINCR0DJNZR1,ADR10ACALLSUB1;清顯示器MOVSP,#5FH;堆棧從60H開始MOVSCON,#00H;串行口置為方式0,MOVA,43H;相位滯后誤差送AACALLSUB2;將A中絕對誤

16、差轉(zhuǎn)為相對誤差放在R7中MOVA,R7CLRCSUBBA,#2JNCADR20;相位滯后小于2%,返回JBP1.0,ADR75;電磁離合齒輪有電,轉(zhuǎn)MOVR5,43H;保存本次測量的相位誤差SETBP1.0;電磁離合齒輪通電,提速2%AJMPADR20;返回ADR75:MOVA,R5;取回上次測量的相位誤差CLRCSUBBA,43H;減本次測量的相位誤差進行比較JNCADR20;本次測量的相位誤差小,返回SETBP1.1;否則,脹緊電機正轉(zhuǎn),提速MOVR2,#06H;設(shè)置最小提速量ACALLSUB3;延時0.6秒CLRP1.1;停止脹緊電機正轉(zhuǎn)AJMPADR20;-相位超前誤差調(diào)整-ADR80

17、:MOVA,42H;相位超前誤差送AACALLSUB2;將A中絕對誤差轉(zhuǎn)為相對誤差放在R7中MOVA,R7CLRCSUBBA,#2JCADR20;相位超前誤差小于2%,返回JNBP1.0,ADR85;電磁離合齒輪未通電,轉(zhuǎn)取比較兩次測量的誤差MOVR6,42H;保存本次測量的誤差CLRP1.0;電磁離合齒輪斷電,減速2%AJMPADR20;返回ADR85:MOVA,R6;取回上次測量的誤差CLRCSUBBA,42H;減本次測量的誤差JNCADR20;本次測量的誤差小,返回SETBP1.2;否則,脹緊電機反轉(zhuǎn),減速MOVR2,#06H;設(shè)置最小減速量ACALLSUB3;延時0.6秒CLRP1.2

18、;停止脹緊電機反轉(zhuǎn)AJMPADR20,2子程序,1)絕對誤差轉(zhuǎn)換為相對誤差子程序,SUB2:MOVB,#64HMULABMOVR7,#00HADR90:CLRCSUBBA,41;誤差的百分數(shù)減切紙周期JCADR0A0;不夠減,轉(zhuǎn)INCR7;夠減,商加1AJMPADR90;返回再減ADR0A0:MOVR6,BCJNER6,#00H,ADR0B0AJMPADR0C0;無位可借,除法結(jié)束ADR0B0:DECB;借位INCR7;商加1AJMPADR90;返回再減ADR0C0:RET,(2)R20.1秒延時子程序R20.1秒延時子程序,用于控制P1.1和P1.2輸出的脈沖寬度。程序如下:SUB3:MOV

19、R3,#64HADR0D0:MOVR4,#0F9HADR0E0:NOPNOPDJNZR4,ADR0E0,DJNZR3,ADR0D0DJNZR2,SUB3RET,3中斷服務(wù)程序,T0、T1、INT0和INT1中斷服務(wù)程序的流程圖如圖9-25圖9-28。,9-圖25T0中斷服務(wù)程序圖9-26T1中斷服務(wù)程序,圖9-27INT0中斷服務(wù)程序圖9-28INT1中斷服務(wù)程序,(4)INT1中斷服務(wù)程序,INT1:PUSHPSWMOV41H,37H;取走紙周期MOV37H,#00H;為下一次記數(shù)做準備MOV43H,36H;取走紙滯后切紙的時間MOVR5,#00H;清監(jiān)視計數(shù)器SETB11H;置檢測到走紙周

20、期標志SETBRS0;選中1區(qū)工作寄存器MOVR1,#30H;R1個位ADR0F0:INCR1;顯示緩沖區(qū)某位加1CJNER1,#0AH,ADR180;加1后不到10,退出MOVR1,#00H0;加1后等于10,將該位清0INCR1;指向顯示緩沖區(qū)下一位CJNER1,#36H,ADR0F0;不到顯示緩沖區(qū)最高位,返回將下一位加1MOVR0,#2FH;顯示緩沖區(qū)位指針R0賦初值MOVR2,#06H;顯示位數(shù)送R2ADR100:INCR0;指向顯示緩沖區(qū)下一位MOVDPTR,#ADR120;基址指針送指向顯示譯碼表首址MOVA,R0;某位顯示內(nèi)容送AMOVCA,A+DPTR;顯示內(nèi)容譯成顯示碼后AMOVSBUF,A;顯示碼通過串口送去顯示ADR110:JNBTI,$;等待1個字節(jié)傳送完畢CLRTI;清傳送完標志,為下一次傳送做準備DJNZR2,ADR100;6位沒有全部顯示完,返回繼續(xù)顯示CLRRS0POPPSWSETBEX1;開外部中斷1RETIADR120:DB03H;顯示0DB9FH;顯示1DB25HDB0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論