單片機(jī)基礎(chǔ)電子教案_第1頁(yè)
單片機(jī)基礎(chǔ)電子教案_第2頁(yè)
單片機(jī)基礎(chǔ)電子教案_第3頁(yè)
單片機(jī)基礎(chǔ)電子教案_第4頁(yè)
單片機(jī)基礎(chǔ)電子教案_第5頁(yè)
已閱讀5頁(yè),還剩146頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

單片機(jī)基礎(chǔ)電子教案第一頁(yè),共一百五十一頁(yè),編輯于2023年,星期日

知識(shí)模塊一

單片機(jī)基礎(chǔ)知識(shí)主要介紹單片機(jī)的發(fā)展,基本的結(jié)構(gòu)和特點(diǎn),單片機(jī)的應(yīng)用模式和領(lǐng)域,單片機(jī)的供應(yīng)狀態(tài)等。單片微型計(jì)算機(jī)就是將CPU、RAM、ROM、定時(shí)/計(jì)數(shù)器和多種接口都集成到一塊集成電路芯片上的微型計(jì)算機(jī)。因此,一塊芯片就構(gòu)成了一臺(tái)計(jì)算機(jī)。它已成為工業(yè)控制領(lǐng)域、智能儀器儀表、尖端武器、日常生活中最廣泛使用的計(jì)算機(jī)。第二頁(yè),共一百五十一頁(yè),編輯于2023年,星期日

1.1單片機(jī)的發(fā)展概況綜上所述,我們可以把單片機(jī)的發(fā)展歷史劃分為四階段:第一階段(1976~1978年):低性能單片機(jī)的探索階段。以Intel公司的MCS-48為代表,采用了單片結(jié)構(gòu),即在一塊芯片內(nèi)含有8位CPU、定時(shí)/計(jì)數(shù)器、并行I/O口、RAM和ROM等。主要用于工業(yè)領(lǐng)域。第二階段(1978~1982年):高性能單片機(jī)階段,這一類單片機(jī)帶有串行I/O口,8位數(shù)據(jù)線、16位地址線可以尋址的范圍達(dá)到64K字節(jié)、控制總線、較豐富的指令系統(tǒng)等。這類單片機(jī)的應(yīng)用范圍較廣,并在不斷的改進(jìn)和發(fā)展。第三階段(1982~1990年):16位單片機(jī)階段。16位單片機(jī)除CPU為16位外,片內(nèi)RAM和ROM容量進(jìn)一步增大,實(shí)時(shí)處理能力更強(qiáng),體現(xiàn)了微控制器的特征。例如Intel公司的MCS-96主振頻率為12M,片內(nèi)RAM為232字節(jié),ROM為8K字節(jié),中斷處理能力為8級(jí),片內(nèi)帶有10位A/D轉(zhuǎn)換器和高速輸入/輸出部件等。第四階段(1990年~):微控制器的全面發(fā)展階段,各公司的產(chǎn)品在盡量兼容的同時(shí),向高速、強(qiáng)運(yùn)算能力、尋址范圍大以及小型廉價(jià)方面發(fā)展。第三頁(yè),共一百五十一頁(yè),編輯于2023年,星期日1.2單片機(jī)的結(jié)構(gòu)特點(diǎn)

(1)片內(nèi)的RAM采用寄存器結(jié)構(gòu)形式,這樣可以提高存取的速度;(2)在存儲(chǔ)器結(jié)構(gòu)上,嚴(yán)格的將程序存儲(chǔ)器ROM和數(shù)據(jù)存儲(chǔ)器RAM在空間上分開(kāi);(3)它的引出管腳一般都設(shè)計(jì)成多功能的;(4)增加了一個(gè)全雙工的串行接口,以擴(kuò)充I/O口和外接同步輸入和輸出設(shè)備;(5)有21個(gè)特殊功能寄存器;(6)有豐富的指令系統(tǒng),內(nèi)部設(shè)置了可以位尋址的位地址空間。第四頁(yè),共一百五十一頁(yè),編輯于2023年,星期日1.3單片機(jī)的主要品種及系列

一、4位單片機(jī)二、8位單片機(jī)第五頁(yè),共一百五十一頁(yè),編輯于2023年,星期日表格1?1MCS-51系列型號(hào)型號(hào)制造技術(shù)片內(nèi)程序存儲(chǔ)器片內(nèi)數(shù)據(jù)存儲(chǔ)器8051AHHMOSROM(4k)128字節(jié)8031AHAHMOS無(wú)128字節(jié)8751HHMOSEPROM(4K)128字節(jié)80C51CHMOSROM(4K)128字節(jié)80C31CHMOS無(wú)128字節(jié)8051HMOSROM(8K)256字節(jié)8031HMOS無(wú)256字節(jié)第六頁(yè),共一百五十一頁(yè),編輯于2023年,星期日1.4單片機(jī)的應(yīng)用

一、單片機(jī)在儀器儀表中的應(yīng)用二、單片機(jī)在機(jī)電一體化中的應(yīng)用三、單片機(jī)在智能接口和多機(jī)系統(tǒng)中的應(yīng)用四、單片機(jī)在生活中的應(yīng)用

第七頁(yè),共一百五十一頁(yè),編輯于2023年,星期日知識(shí)模塊二

MCS-51單片機(jī)的基本結(jié)構(gòu)和工作原理本章主要介紹MCS-51系列的8051的基本結(jié)構(gòu)、工作原理、存儲(chǔ)器結(jié)構(gòu)、P0、P1、P2、P3四個(gè)I/O口的基本工作原理和操作特點(diǎn)。單片機(jī)的各種工作方式、單片機(jī)的時(shí)序等。第八頁(yè),共一百五十一頁(yè),編輯于2023年,星期日2.1MCS-51單片機(jī)的結(jié)構(gòu)原理一、8051單片機(jī)的結(jié)構(gòu)圖2?1MCS-51單片機(jī)的基本結(jié)構(gòu)第九頁(yè),共一百五十一頁(yè),編輯于2023年,星期日二、8051單片機(jī)的內(nèi)部結(jié)構(gòu)和工作原理

8051單片機(jī)的內(nèi)部結(jié)構(gòu)框圖如圖2?2所示,下面分別進(jìn)行介紹:第十頁(yè),共一百五十一頁(yè),編輯于2023年,星期日?qǐng)D2?28051的內(nèi)部結(jié)構(gòu)框圖第十一頁(yè),共一百五十一頁(yè),編輯于2023年,星期日?qǐng)D2?38051存儲(chǔ)器組織結(jié)構(gòu)第十二頁(yè),共一百五十一頁(yè),編輯于2023年,星期日字節(jié)地址位地址

2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20HD7D6D5D4D3D2D1D07FH7EH7DH7CH7BH7AH79H78H77H76H75H74H73H72H71H70H6FH6EH6DH6CH6BH6AH69H68H67H66H65H64H63H62H61H60H5FH5EH5DH5CH5BH5AH59H58H57H56H55H54H53H52H51H50H4FH4EH4DH4CH4BH4AH49H48H47H46H45H44H43H42H41H40H3FH3EH3DH3CH3BH3AH39H38H37H36H35H34H33H32H31H30H2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H1FH1EH1DH1CH1BH1AH19H18H17H16H15H14H13H12H11H10H0FH0EH0DH0CH0BH0AH09H08H07H06H05H04H03H02H01H00H圖2?48051內(nèi)部RAM位地址區(qū)圖2?48051內(nèi)部RAM位地址區(qū)第十三頁(yè),共一百五十一頁(yè),編輯于2023年,星期日表格2?2特殊功能寄存器表符號(hào)單元地址名稱位地址符號(hào)地址*ACCE0H累加器ACC.7~ACC.0E7H~E0H*BF0H乘法寄存器B.7~B.0F7H~F0H*PSWD0H程序狀態(tài)字PSW.7~PSW.0D7H~D0H

SP81H堆棧指針

DPL82H數(shù)據(jù)存儲(chǔ)器指針(低8位)

DPH83H數(shù)據(jù)存儲(chǔ)器指針(高8位)

*IEA8H中斷允許控制器IE.7~I(xiàn)E.0AFH~A8H*IPB8H中斷優(yōu)先控制器IP.7~I(xiàn)P.0BFH~B8H*P080H通道0P0.7~P0.087H~80H*P190H通道1P1.7~P1.097H~90H*P2A0H通道2P2.7~P2.0A7H~A0H*P3B0H通道3P3.7~P3.0B7H~B0H

PCON87H電源控制及波特率選擇

*SCON98H串行口控制SCON.7~SCON.09FH~98H

SBUF99H串行數(shù)據(jù)緩沖器

*TCON88H定時(shí)控制TCON.7~TCON.08FH~88H

TMOD89H定時(shí)器方式選擇

TL08AH定時(shí)器0低8位

TL18BH定時(shí)器1低8位

TH08CH定時(shí)器0高8位

TH18DH定時(shí)器1高8位

*:可位尋址的特殊功能寄存器第十四頁(yè),共一百五十一頁(yè),編輯于2023年,星期日?qǐng)D2?5P0口的位結(jié)構(gòu)(1)P0口位的結(jié)構(gòu)第十五頁(yè),共一百五十一頁(yè),編輯于2023年,星期日(2)P1口位的結(jié)構(gòu)圖2?6P1口的位結(jié)構(gòu)第十六頁(yè),共一百五十一頁(yè),編輯于2023年,星期日(3)P2口的位結(jié)構(gòu)圖2?7P2口的結(jié)構(gòu)圖第十七頁(yè),共一百五十一頁(yè),編輯于2023年,星期日(4)P3口的位結(jié)構(gòu)圖2?8P3口的結(jié)構(gòu)圖第十八頁(yè),共一百五十一頁(yè),編輯于2023年,星期日(4)P3口的位結(jié)構(gòu)圖2?8P3口的結(jié)構(gòu)圖第十九頁(yè),共一百五十一頁(yè),編輯于2023年,星期日表格2?3P3口的第二功能表I/O口第二功能注釋P3.0RXD串行口數(shù)據(jù)接收端P3.1TXD串行口數(shù)據(jù)發(fā)送端P3.2INT(————)0外部中斷請(qǐng)求0P3.3INT(————)1外部中斷請(qǐng)求1P3.4T0定時(shí)/計(jì)數(shù)器0P3.5T1定時(shí)/計(jì)數(shù)器1P3.6WR(———)外部RAM寫(xiě)信號(hào)P3.7RD(———)外部RAM讀信號(hào)

第二十頁(yè),共一百五十一頁(yè),編輯于2023年,星期日一、時(shí)鐘周期、機(jī)器周期和指令周期圖2-9基本定時(shí)時(shí)序關(guān)系2.2MCS-51單片機(jī)的時(shí)序第二十一頁(yè),共一百五十一頁(yè),編輯于2023年,星期日1.時(shí)鐘周期

圖2?10MCS-51的取指/執(zhí)行時(shí)序2.機(jī)器周期第二十二頁(yè),共一百五十一頁(yè),編輯于2023年,星期日3.指令周期

二、MCS-51單片機(jī)指令的取指和執(zhí)行的時(shí)序三、訪問(wèn)外部ROM和RAM的時(shí)序

圖2?11訪問(wèn)外部ROM的時(shí)序第二十三頁(yè),共一百五十一頁(yè),編輯于2023年,星期日1.訪問(wèn)外部ROM的時(shí)序

2.訪問(wèn)外部RAM的時(shí)序

圖2?12訪問(wèn)外部RAM的時(shí)序第二十四頁(yè),共一百五十一頁(yè),編輯于2023年,星期日2.3MCS-51單片機(jī)的時(shí)鐘和復(fù)位電路

一、時(shí)鐘電路

圖2?13MCS-51時(shí)鐘接法第二十五頁(yè),共一百五十一頁(yè),編輯于2023年,星期日1.內(nèi)部振蕩器方式

2.外部時(shí)鐘方式

二、復(fù)位電路及復(fù)位狀態(tài)

1.內(nèi)部復(fù)位電路

圖2?148051復(fù)位電路結(jié)構(gòu)

第二十六頁(yè),共一百五十一頁(yè),編輯于2023年,星期日2.外部復(fù)位電路

圖2?15復(fù)位電路第二十七頁(yè),共一百五十一頁(yè),編輯于2023年,星期日3.復(fù)位狀態(tài)

表格2?4各專用寄存器的復(fù)位值專用寄存器復(fù)位值PC0000HACC00HB00HPSW00HSP07HDPTR0000HP0~P3FFHIPXXX00000BIE0XX00000BTMOD00HTCON00HTH000HTL000HTH100HTL100HSCON00HSBUF不定PCON(CHMOS)0XXX0000B第二十八頁(yè),共一百五十一頁(yè),編輯于2023年,星期日2.4MCS-51單片機(jī)的低功耗工作方式

一、電源控制寄存器PCON

PCOND7D6D5D4D3D2D1D0SMOD———GF1GF0FDIDL三、掉電方式

二、等待工作方式

第二十九頁(yè),共一百五十一頁(yè),編輯于2023年,星期日

知識(shí)模塊三MSC-51單片機(jī)的指令系統(tǒng)3.1指令系統(tǒng)概述一、機(jī)器碼指令與匯編語(yǔ)言指令機(jī)器碼指令:

匯編語(yǔ)言指令:

二、指令格式匯編語(yǔ)言格式為:[標(biāo)號(hào):]操作碼助記符[目的操作數(shù),][源操作數(shù)][;注釋]

第三十頁(yè),共一百五十一頁(yè),編輯于2023年,星期日

單字節(jié)指令

雙字節(jié)指令

三字節(jié)指令操作碼24H操作數(shù)22HINCAADDA,#22HMOV5EH,4FH操作碼04H操作碼85H源操作數(shù)4FH目的操作數(shù)5EH

圖3-1機(jī)器碼指令格式

第三十一頁(yè),共一百五十一頁(yè),編輯于2023年,星期日3.2尋址方式

一、寄存器尋址二、直接尋址三、立即尋址四、寄存器間接尋址五、變址尋址

六、相對(duì)尋址

七、位尋址

第三十二頁(yè),共一百五十一頁(yè),編輯于2023年,星期日3.3MSC-51單片機(jī)的指令系統(tǒng)按照指令的功能,可以把MSC-51的111條指令分成五類:l

數(shù)據(jù)傳送類指令(29條)l

算術(shù)運(yùn)算類指令(24條)l

邏輯操作類指令(24條)l

控制轉(zhuǎn)移類指令(17條)l

位操作類指令(17條)

第三十三頁(yè),共一百五十一頁(yè),編輯于2023年,星期日?qǐng)D3-2相對(duì)尋址過(guò)程

第三十四頁(yè),共一百五十一頁(yè),編輯于2023年,星期日

知識(shí)模塊四

MCS-51單片機(jī)的應(yīng)用程序設(shè)計(jì)

圖4-1基本程序結(jié)構(gòu)

第三十五頁(yè),共一百五十一頁(yè),編輯于2023年,星期日4.1運(yùn)算程序一、多字節(jié)數(shù)加法1.多字節(jié)無(wú)符號(hào)數(shù)加法CLRCMOVR0,#40H;指向加數(shù)最低位MOVR1,#5OH;指向另一加數(shù)最低位MOVR2,#04H;字節(jié)數(shù)作計(jì)數(shù)初值LOOP1:MOVA,@R0;取被加數(shù)ADDCA,@R1;兩數(shù)相加,帶進(jìn)位MOV@R0,AINCR0;修改地址INCR1DJNZR2,LOOPl;未加完轉(zhuǎn)LOOP1JNCLOOP2;無(wú)進(jìn)位轉(zhuǎn)LOOP2MOV@R0,#01HLOOP2:DECR0RET第三十六頁(yè),共一百五十一頁(yè),編輯于2023年,星期日2.多字節(jié)有符號(hào)數(shù)加法MOVA,R0;復(fù)制保存地址指針MOVR2,AMOVA,R3MOVR7,ACLRCLOOP1:MOVA,@R0ADDCA,@R1;相加MOV@R0,AINCR0INCR1;地址指針加1DJNZR7,LOOP1JBOV,ERR;若溢出,轉(zhuǎn)溢出處理DECR0MOVA,@R0JNBE7H,LOOP2SETB07H;和值為負(fù),置位標(biāo)志LOOP2:MOVA,R2;恢復(fù)地址指針MOVR0,ARET┇ERR:┇;溢出處理RETSDADD:CLR07H;標(biāo)志位清零圖4-3多字節(jié)有符號(hào)數(shù)加法程序流程圖第三十七頁(yè),共一百五十一頁(yè),編輯于2023年,星期日二、多字節(jié)數(shù)減法MOVR0,#40H;指向被減數(shù)最低位MOVR1,#5OH;指向減數(shù)最低位MOVR2,#04H;字節(jié)數(shù)CLRCLOOP1:MOVA,@R0SUBBA,@R1;完成一個(gè)字節(jié)的減法運(yùn)算MOV@R0,AINCR0INCR1DJNZR2,LOOP1RET第三十八頁(yè),共一百五十一頁(yè),編輯于2023年,星期日三、多字節(jié)十進(jìn)制數(shù)(BCD碼)加法

圖4-4BCD碼多字節(jié)加法程序流程圖BCDADD:MOV20H,R0MOV23H,R3CLRCLOOP0:MOVA,@R0;取被加數(shù)ADDCA,@R1;兩數(shù)相加DAA;十進(jìn)制調(diào)整MOV@R0,AINCR0;指針加1INCR1

DJNZR3,LOOP0;作完加法否MOVR2.#23HJNCRETURN;有無(wú)進(jìn)位MOV@R0,#01HINCR3RETURN:MOVR0,#20HRET第三十九頁(yè),共一百五十一頁(yè),編輯于2023年,星期日四、多字節(jié)數(shù)乘法ZHENFA:MOVA,R0MOVB,R1MULAB;(R1)*(R0)MOVR3,A;積的低位送到R3MOVR4,B;積的高位送到R4MOVA,R0MOVB,R2MULAB;(R2)*(R0)ADDA,R4;(R1)*(R0)的高位加(R2)*(R0)的低位MOVR4,A;結(jié)果送R4,進(jìn)位在CY中MOVA,BADDCA,#OOH;(R2)*(R0)的高位加低位來(lái)的進(jìn)位MOVR5,A;結(jié)果送R5RET第四十頁(yè),共一百五十一頁(yè),編輯于2023年,星期日五、多字節(jié)數(shù)除法DV:MOVR7,#08H;設(shè)計(jì)數(shù)初值DVl:CLRCMOVA,R5RLCAMOVR5,AMOVA,R6RLCA;將(R6)、(R5)左移一位MOV07H,C;將移出的一位送07H位保存CLRC圖4-5除法程序流程圖SUBBA,R2;余數(shù)(高位)減除數(shù)JBO7H,GOU;若標(biāo)志位為1,說(shuō)明夠減

JNCGOU;無(wú)借位也說(shuō)明夠減ADDA,R2;否則,恢復(fù)余數(shù)AJMPDV2GOU:INCR5;商上1DV2:MOVR6,A;保存余數(shù)(高位)DJNZR7,DVlRET第四十一頁(yè),共一百五十一頁(yè),編輯于2023年,星期日一、

數(shù)據(jù)的拼拆4.2數(shù)據(jù)的拼拆和轉(zhuǎn)換例4-7設(shè)在30H和31H單元中各有一個(gè)8位數(shù)據(jù):(30H)=x7x6x5x4x3x2x1x0(3lH)=y7y6y5y4y3y2y1y0現(xiàn)在要從30H單元中取出低5位,并從31H單元中取出低3位完成拼裝,拼裝結(jié)果送40H單元保存,并且規(guī)定:(40H)=y2y1y0x4x3x2x1x0解:利用邏輯指令A(yù)NL、ORL來(lái)完成數(shù)據(jù)的拼拆,程序清單如下:MOV4OH,3OH;將x7~x0傳送到40H單元ANL4OH,#000111llB;將高3位屏蔽掉MOVA,31H;將y7~y0傳送到累加器中SWAPA;將A的內(nèi)容左移4次RLA;y2~y0移到高3位ANLA,#111000OOB;將低5位屏蔽掉ORL4OH,A;完成拼裝任務(wù)第四十二頁(yè),共一百五十一頁(yè),編輯于2023年,星期日二、數(shù)據(jù)的轉(zhuǎn)換

1.ASCII碼與二進(jìn)制數(shù)的互相轉(zhuǎn)換

例4-10編程實(shí)現(xiàn)十六進(jìn)制數(shù)表示的ASC1I代碼轉(zhuǎn)換成4位二進(jìn)制數(shù)(1位十六進(jìn)制數(shù))。解:對(duì)于這種轉(zhuǎn)換,只要注意到下述關(guān)系便不難編寫(xiě)出轉(zhuǎn)換程序:“字符0”~“字符9”的ASCII碼值為“30H”~“39H”,它們與30H之差恰好為“00H”~“09H”,結(jié)果均<0AH?!白址鸄”~“字符F”的ASCII碼值為“41H”~“46H”,它們各自減去37H后恰好為“0AH”~“0FH”,結(jié)果>0AH。根據(jù)這個(gè)關(guān)系可以編出轉(zhuǎn)換程序如下,程序以R1作為入口和出口。ASCHIN:MOVA,R1;取操作數(shù)CLRC;清進(jìn)位標(biāo)志位CSUBBA,#30H;ASCII碼減去30H,實(shí)現(xiàn)0-9的轉(zhuǎn)換MOVR1,A;暫存結(jié)果SUBBA,#0AH;結(jié)果是否>9?JCLOOP;若≤9則轉(zhuǎn)換正確XCHA,R1SUBBA,#07H;若>9則減37HMOVR1,ALOOP:RET第四十三頁(yè),共一百五十一頁(yè),編輯于2023年,星期日2.BCD碼與二進(jìn)制數(shù)的轉(zhuǎn)換

圖4-6BCD碼(十進(jìn)制)轉(zhuǎn)換成二進(jìn)制數(shù)程序流程圖第四十四頁(yè),共一百五十一頁(yè),編輯于2023年,星期日程序清單如下:MAIN:MOVA,R5MOVR2,A;給子程序入口參數(shù)ACALLBCDBIN;調(diào)用子程序MOVB,#64HMULABMOVR6,AXCHA,BMOVR5,AMOVA,R4MOVR2,AACALLBCDBIN;調(diào)用子程序ADDA,R6MOVR4,AMOVA,R5A(chǔ)DDCA,#00HMOVR5,ARET子程序如下:BCDBIN:MOVA,R2ANLA,#0F0H;取高位BCD碼,屏蔽低4位SWAPAMOVB,#0AHMULABMOVR3,AMOVA,R2ANLA,#0FHADDA,R3;加低位BCD碼MOVR2,ARET第四十五頁(yè),共一百五十一頁(yè),編輯于2023年,星期日4.3查表程序使用MOVCA,@A+DPTR指令來(lái)查表,程序清單如下:MOVDPTR,#BS;子程序入口地址表首址RLA;鍵碼值乘以2MOVR2,A;暫存AMOVCA,@A+DPTR;取得入口地址低位PUSHA;進(jìn)棧暫存INCAMOVCA,@A+DPTR;取得入口地址高位MOVDPH,APOPDPLCLRAJMP@A+DPTR;轉(zhuǎn)向鍵處理子程序BS:DBRK0L;處理子程序入口地址表DBRK0HDBRK1LDBRK1HDBRK2LDBRK2H┇┇第四十六頁(yè),共一百五十一頁(yè),編輯于2023年,星期日4.4散轉(zhuǎn)程序一、采用轉(zhuǎn)移指令表的散轉(zhuǎn)程序

例4-17編出要求根據(jù)R3的內(nèi)容轉(zhuǎn)向各個(gè)操作程序的程序。即當(dāng)(R3)=0,轉(zhuǎn)向OPRO(R3)=1,轉(zhuǎn)向OPRl…(R3)=n,轉(zhuǎn)向OPRn解:程序清單如下:MOVA,R3RLA;分支序號(hào)值乘2MOVDPTR,#BRTABL;轉(zhuǎn)移指令表首址JMP@A+DPTR;轉(zhuǎn)向形成的散轉(zhuǎn)地址BRTABL:AJMPOPR0;轉(zhuǎn)移指令表AJMPOPR1…AJMPOPRn第四十七頁(yè),共一百五十一頁(yè),編輯于2023年,星期日二、采用地址偏移量表的散轉(zhuǎn)程序例4-19編出能按R6的內(nèi)容轉(zhuǎn)向5個(gè)操作程序的程序。其對(duì)應(yīng)關(guān)系如下:OPRD0:操作程序0OPRD1:操作程序1OPRD2:操作程序2OPRD3:操作程序3OPRD4:操作程序4解:程序清單如下:MOVA,R6MOVDPTR,#TAB3;指向地址偏移量表首址MOVCA,@A+DPTR;散轉(zhuǎn)點(diǎn)入口地址在A中JMP@A+DPTR;轉(zhuǎn)向相應(yīng)的操作程序入口TAB3:DBOPRDO-TAB3;地址偏移量表DBOPRDl-TAB3DBOPRD2-TAB3DBOPRD3-TAB3DBOPRD4-TAB3第四十八頁(yè),共一百五十一頁(yè),編輯于2023年,星期日三、采用轉(zhuǎn)向地址表的散轉(zhuǎn)程序例4-20編程:要求根據(jù)R6的內(nèi)容轉(zhuǎn)向相應(yīng)的操作程序中去。設(shè)備操作程序的轉(zhuǎn)向地址分別為OPRD0,OPRDl,…OPRDn。解:程序清單如下:MOVDPTR,#BRTABL;指向轉(zhuǎn)向地址表MOVA,R6ADDA,R6;(A)←(R6)*2JNCNAND;INCDPH;(R6)*2的進(jìn)位加到DPHNAND:MOVR3,A;暫存變址值MOVCA,@A+DPTR;取轉(zhuǎn)向地址高8位XCHA,R3INCAMOVCA,@A+DPTR;取轉(zhuǎn)向地址低8位MOVDPL,A;轉(zhuǎn)向地址在DPTR中MOVDPH,R3CLRAJMP@A+DPTR;轉(zhuǎn)向相應(yīng)的操作程序BRTABL:DWOPRDO;轉(zhuǎn)向地址表DWOPRD1┆DWOPRDn第四十九頁(yè),共一百五十一頁(yè),編輯于2023年,星期日四、采用“RET”指令的散轉(zhuǎn)程序

例4-21編出能根據(jù)R6的內(nèi)容轉(zhuǎn)向各個(gè)操作程序的程序。設(shè)該操作程序的轉(zhuǎn)向地址分別為OPRD0,OPRDl,…OPRDn。解:程序清單如下:MOVDPTR,#TAB3;指向轉(zhuǎn)移地址表MOVA,R6ADDA,R6JNCNANDINCDPHNAND:MOVR7,AMOVCA,@A+DPTR;取轉(zhuǎn)向地址高8位XCHA,R7INCAMOVCA,@A+DPTR;取轉(zhuǎn)向地址低8位PUSHA;轉(zhuǎn)向地址入棧MOVA,R7PUSHARET;轉(zhuǎn)向操作程序TAB3:DWOPRD0;轉(zhuǎn)向地址表DWOPRDl┇DWOPRDn第五十頁(yè),共一百五十一頁(yè),編輯于2023年,星期日4.5I/O端口控制程序

例4-22試編出能模擬圖4-9中電路的程序。ORG0200HDBIT00HEBIT01HGBIT02HLOOP1:ORLP1,#08H;準(zhǔn)備P1.3輸入LOOP2:MOVC,P1.3;檢測(cè)K3狀態(tài)JCLOOP2;若未準(zhǔn)備好(K3斷),則LOOP2ORLP1,#03H;若準(zhǔn)備好,則準(zhǔn)備輸入P1.0和P1.1狀態(tài)MOVC,P1.0;輸入K0狀態(tài)MOVD,C;送入DMOVC,P1.1;輸入K1狀態(tài)MOVE,C;送入EANLC,D;D∧E送CMOVG,C;送入GMOVC,EORLC,D;D∨E送CANLC,/G;(D∨E)∧(D∧E)MOVP1.2,C;輸出結(jié)果SJMPLOOP1;準(zhǔn)備下次模擬END第五十一頁(yè),共一百五十一頁(yè),編輯于2023年,星期日4.6子程序調(diào)用時(shí)的參數(shù)傳遞方法一、通過(guò)寄存器或片內(nèi)RAM傳遞參數(shù)例4-23利用通過(guò)寄存器或片內(nèi)RAM傳遞參數(shù)這種方法編出調(diào)用SUBRT子程序的主程序。解:應(yīng)該是:MAIN:MOVR0,#30H;傳送RAM數(shù)據(jù)區(qū)的起始地址MOVR7,#0AH;傳送RAM數(shù)據(jù)區(qū)的長(zhǎng)度ACALLSUBRT;調(diào)用清零子程序SJMP$;結(jié)束SUBRT:MOVA,#00H;清零子程序LOOP:MOV@R0,AINCR0DJNZR7,LOOPRET第五十二頁(yè),共一百五十一頁(yè),編輯于2023年,星期日二、通過(guò)堆棧傳遞參數(shù)例4-25在HEX單元存有兩個(gè)十六進(jìn)制數(shù),試編程分別把它們轉(zhuǎn)換成ASCII碼存入ASC和ASC+1單元。解:本題子程序采用查表方法完成一個(gè)十六進(jìn)制數(shù)的ASCII碼轉(zhuǎn)換,主程序完成入口參數(shù)的傳遞和子程序的兩次調(diào)用,以滿足題目要求。程序清單為:ORG1200HPUSHHEX;入口參數(shù)壓棧ACALLHASC;求低位十六進(jìn)制數(shù)的ASCII碼POPASC;出口參數(shù)存入ASCMOVA,HEX;十六進(jìn)制數(shù)送ASWAPA;高位十六進(jìn)制數(shù)送低4位PUSHACC;入口參數(shù)壓棧ACALLHASC;求高位十六進(jìn)制數(shù)的ASCII碼POPASC+1;出口參數(shù)送ASC+1SJMP$;原地踏步,結(jié)束HASC:DECSPDECSP;入口參數(shù)地址送SPPOPACC;入口參數(shù)送AANLA,#0FH;取出入口參數(shù)低4位ADDA,#07H;地址調(diào)整MOVCA,@A+PC;查相應(yīng)ASCII碼PUSHACC;出口參數(shù)壓棧INCSPINCSP;SP指向斷點(diǎn)地址高8位RET;返回主程序ASCTABL:DB‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’DB‘8’,‘9’,‘A’,‘B’,‘C’,‘D’,‘E’,‘F’END第五十三頁(yè),共一百五十一頁(yè),編輯于2023年,星期日三、利用指針寄存器傳遞參數(shù)

例4-26編出能實(shí)現(xiàn)打印THISISANEXAMPLE的程序。解:將要打印的字符及代碼不是放在調(diào)用指令之前,而是緊跟在調(diào)用指令之后。主程序:MAIN:…ACALLPRINT;調(diào)用打印子程序DB‘THISISANEXAMPLE';要打印的字符及代碼DBOAH,ODH,OOHNEXT:…子程序:PRINT:POPDPH;把調(diào)用指令下面字節(jié)的地址彈出,作為數(shù)據(jù)指針POPDPLPPPl:MOVA,#OOHMOVCA,@A+DPTR;取出欲打印的字符INCDPTRJZPPPEND;判斷是否為結(jié)束字符PPP2:;打印程序SJMPPPPl;未完,繼續(xù)打印PPPEND:JMP@A+DPTR;指向主程序NEXT處,取代返回指令

第五十四頁(yè),共一百五十一頁(yè),編輯于2023年,星期日知識(shí)模塊五

MCS-51單片機(jī)的中斷系統(tǒng)圖

5-18051的中斷系統(tǒng)第五十五頁(yè),共一百五十一頁(yè),編輯于2023年,星期日5.1中斷系統(tǒng)及其管理一、中斷源及中斷入口

中斷源入口地址外部中斷00003H定時(shí)器T0中斷000BH外部中斷10013H定時(shí)器T1中斷001BH串行口中斷0023H第五十六頁(yè),共一百五十一頁(yè),編輯于2023年,星期日二、外部中斷請(qǐng)求標(biāo)志2.SCON的中斷標(biāo)志

1.TCON中的中斷標(biāo)志三、中斷允許控制四、中斷源優(yōu)先級(jí)的設(shè)定五、中斷響應(yīng)處理過(guò)程2.中斷處理1.中斷響應(yīng)的過(guò)程

3.中斷返回

4.外部中斷響應(yīng)時(shí)間第五十七頁(yè),共一百五十一頁(yè),編輯于2023年,星期日5.2擴(kuò)充外部中斷源一、利用定時(shí)器進(jìn)行擴(kuò)充圖

5-2多外部中斷源連接方法第五十八頁(yè),共一百五十一頁(yè),編輯于2023年,星期日二、采用中斷和查詢相結(jié)合的方法擴(kuò)充外部中斷源

EXINT:PUSHPSWPUSHACCJBP10,SAV1JBP11,SAV2JBP12,SAV3JBP13,SAV4DISUB:POPACCPOPPSW

RETISAV1:…;XI1中斷服務(wù)程序

AJMPDISUBSAV2:…;XI2中斷服務(wù)程序

AJMPDISUBSAV3:…;XI3中斷服務(wù)程序

AJMPDISUBSAV4:…;XI1中斷服務(wù)程序

AJMPDISUB第五十九頁(yè),共一百五十一頁(yè),編輯于2023年,星期日5.3中斷系統(tǒng)的應(yīng)用圖8-3外部中斷實(shí)驗(yàn)第六十頁(yè),共一百五十一頁(yè),編輯于2023年,星期日知識(shí)模塊六定時(shí)/計(jì)數(shù)器

6.1定時(shí)/計(jì)數(shù)的結(jié)構(gòu)及工作原理

一、定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)和原理1.定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)圖5?1TMOD、TCON與T0、T1的結(jié)構(gòu)框圖第六十一頁(yè),共一百五十一頁(yè),編輯于2023年,星期日2.定時(shí)/計(jì)數(shù)器的原理

圖5?2定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)框圖

第六十二頁(yè),共一百五十一頁(yè),編輯于2023年,星期日二、定時(shí)/計(jì)數(shù)器方式寄存器TMOD表格5?1方式選擇位意義M1M0工作方式功能說(shuō)明00方式013位計(jì)數(shù)器01方式116位計(jì)數(shù)器10方式2自動(dòng)再裝入8位計(jì)數(shù)器11方式3定時(shí)器0:分成兩個(gè)8位計(jì)數(shù)器定時(shí)器1:停止計(jì)數(shù)TMOD格式如下:定時(shí)器1定時(shí)器0

TMOD

D7D6D5D4D3D2D1D0GATEC/T(—)M1M0GATEC/T(—)M1M0第六十三頁(yè),共一百五十一頁(yè),編輯于2023年,星期日三、定時(shí)控制寄存器TCON定時(shí)器控制字TCON的格式如下:

TCON8FH8EH8DH8CH8BH8AH89H88HTF1TR1TF0TR0IE1IT1IE0IT0

第六十四頁(yè),共一百五十一頁(yè),編輯于2023年,星期日6.2定時(shí)/計(jì)數(shù)器的工作方式一、方式0當(dāng)M1M0兩位為00時(shí),定時(shí)/計(jì)數(shù)器被選為工作方式0,其邏輯結(jié)構(gòu)如圖5?3所示。圖5?3T0(或T1)方式0結(jié)構(gòu)第六十五頁(yè),共一百五十一頁(yè),編輯于2023年,星期日二、方式1圖5?4T0(或T1)方式1結(jié)構(gòu)第六十六頁(yè),共一百五十一頁(yè),編輯于2023年,星期日三、方式2圖5?5T0(或T1)方式1結(jié)構(gòu)第六十七頁(yè),共一百五十一頁(yè),編輯于2023年,星期日三、方式2圖5?6T0(或T1)方式2結(jié)構(gòu)

第六十八頁(yè),共一百五十一頁(yè),編輯于2023年,星期日四、方式3圖5?7T0方式3下和T1結(jié)構(gòu)第六十九頁(yè),共一百五十一頁(yè),編輯于2023年,星期日一、方式0、方式1的應(yīng)用例5-1選擇T1方式0用于定時(shí),在P1。1輸出周期為1ms的方波,晶振fosc=6MHZ。根據(jù)題意,只要使P1。1每隔500μs取反一次即可得到1ms方波,因而T1的定時(shí)時(shí)間為500μs。將T1設(shè)為定時(shí)方式0:GATE=0,C/T(—)=0,M1M0=00;T0不用可為任意,只要不使其進(jìn)入方式3,一般取0即可。故TMOD=00H。系統(tǒng)復(fù)位后TMOD為0,所以不必對(duì)TMOD置初值。下面計(jì)算500μs定時(shí)T1的初值:機(jī)器周期T=12/fosc=12/6×106=2μs設(shè)初值為X則:(213-X)×2×10-6s=500×10-6sX=7942D=1111100000110B=1F06H因?yàn)樵谧?3位計(jì)數(shù)器用時(shí),TL1高3位未用,應(yīng)寫(xiě)0,X的低5位裝入TL1的低5位,所以TL1=06H;X的高8位應(yīng)裝入TH1,所以TH1=F8H。源程序如下:

MOVTL1,#06H;給TL1置初值

MOVTH1,#F8H;給TH1置初值

SETBTR1;啟動(dòng)T1LP1:JBCTF1,LP2;查詢計(jì)數(shù)溢出否

AJMPLP1

LP2:MOVTL1,06H;重裝初值

MOVTH1,F(xiàn)8H

CPLP1。1;輸出取反

AJMPLP1;重復(fù)循環(huán)第七十頁(yè),共一百五十一頁(yè),編輯于2023年,星期日二、方式2的應(yīng)用例5-2用定時(shí)器1方式2計(jì)數(shù),要求每計(jì)滿100次,將P1。0取反。根據(jù)題意,外部計(jì)數(shù)信號(hào)由T1(P3.5)引腳輸入,每跳變一次計(jì)數(shù)器加1,由程序查詢TF1。方式2有自動(dòng)重裝初值的功能,初始化后不必再置初值。初值X=28-100=156D=9CHTH1=TL1=9CHTMOD=60H源程序如下:

MOVTMOD,#60H;設(shè)置T1為方式2

MOVTL1,#9CH;置初值

MOVTH1,#9CH

SETBTR1;啟動(dòng)T1DEL:JBCTF1,REP;查詢計(jì)數(shù)溢出

AJMPDEL

REP:CPLP1。0;輸出取反

AJMPDEL

第七十一頁(yè),共一百五十一頁(yè),編輯于2023年,星期日三、門控位的應(yīng)用圖5?8外部正脈沖寬度測(cè)量例5-3利用T0門控位測(cè)試INT0引腳上出現(xiàn)的正脈沖的寬度,并以機(jī)器周期數(shù)的形式顯示在顯示器上。根據(jù)要求可這樣設(shè)計(jì)程序:將T0設(shè)定為方式1,GATE設(shè)為1,置TR0為1。一旦INT0(P3。2)引腳上出現(xiàn)高電平即開(kāi)始計(jì)數(shù),直至出現(xiàn)低電平,停止計(jì)數(shù),然后讀取T0的計(jì)數(shù)值并顯示。測(cè)試過(guò)程如下:第七十二頁(yè),共一百五十一頁(yè),編輯于2023年,星期日源程序如下:BEGIN:MOVTMOD,#O9H;T0工作于方式1,GATE置1

MOVTL0,#00H

MOVTH0;#00H

WAIT1:JBP3。2,WAIT1;等待INT0變低

SETBTR0;啟動(dòng)T0WAIT2:JNBP3。2,WAIT2;等待正脈沖到WAIT3:JBP3。2,WAIT3;等待INT0變低

CLRTR0;停止T0計(jì)數(shù)

MOVR0,#DISBUF;顯示緩沖區(qū)首地址送R0

MOVA,TL0;機(jī)器周期的存放格式為低位占低地址,高位占高地址,連續(xù)4個(gè)顯示緩沖單元

XCHDA,@R0

INCR0

SWAPA

XCHDA,@R0

INCR0

MOVA,TH0

XCHDA,@R0

INCR0

SWAPA

XCHDA,@R0

DIS:LCALLDISUP;長(zhǎng)調(diào)用顯示子程序

AJMPDIS;重復(fù)顯示機(jī)器周期數(shù)由于定時(shí)方式1的16位計(jì)數(shù)長(zhǎng)度有限,被測(cè)脈沖高電平寬度只能小于65536個(gè)機(jī)器周期。源程序如下:

第七十三頁(yè),共一百五十一頁(yè),編輯于2023年,星期日知識(shí)模塊八

MCS-51單片機(jī)的系統(tǒng)擴(kuò)展8.1MCS-51單片機(jī)的引腳定義及最小應(yīng)用系統(tǒng)一、8051的引腳定義及功能圖6?1MCS-51的引腳圖及功能分類圖第七十四頁(yè),共一百五十一頁(yè),編輯于2023年,星期日二、MCS-51單片機(jī)最小應(yīng)用系統(tǒng)

圖6?28051/8751最小應(yīng)用系統(tǒng)第七十五頁(yè),共一百五十一頁(yè),編輯于2023年,星期日8.2MCS-51單片機(jī)外部存儲(chǔ)器的擴(kuò)展一、外部程序存儲(chǔ)器的擴(kuò)展及取指過(guò)程圖6?3外部程序存儲(chǔ)器一般連接方法第七十六頁(yè),共一百五十一頁(yè),編輯于2023年,星期日1.程序存儲(chǔ)器的一般連接方式圖6-4擴(kuò)展8K字節(jié)程序存儲(chǔ)器的連線圖第七十七頁(yè),共一百五十一頁(yè),編輯于2023年,星期日2.典型EPROM擴(kuò)展電路3.程序存儲(chǔ)器E2PROM的擴(kuò)展圖6-5E2PROM作為程序存儲(chǔ)器的擴(kuò)展圖第七十八頁(yè),共一百五十一頁(yè),編輯于2023年,星期日二、數(shù)據(jù)存儲(chǔ)器的擴(kuò)展圖6-6擴(kuò)展2KB數(shù)據(jù)存儲(chǔ)器的線路圖第七十九頁(yè),共一百五十一頁(yè),編輯于2023年,星期日1.?dāng)?shù)據(jù)存儲(chǔ)器一般的擴(kuò)展方法

2.常用數(shù)據(jù)存儲(chǔ)器的擴(kuò)展電路三、綜合擴(kuò)展實(shí)例圖6-7擴(kuò)展16KBRAM和16KBEPROM第八十頁(yè),共一百五十一頁(yè),編輯于2023年,星期日

8.3并行I/O口的擴(kuò)展一、簡(jiǎn)單I/O口的擴(kuò)展圖6-8簡(jiǎn)單I/O接口擴(kuò)展電路第八十一頁(yè),共一百五十一頁(yè),編輯于2023年,星期日二、可編程I/O口的擴(kuò)展圖6?98155的結(jié)構(gòu)和引腳第八十二頁(yè),共一百五十一頁(yè),編輯于2023年,星期日表格6?18155口地址分布AD0~AD7選中寄存器A7A6A5A4A3A2A1A0×××××000內(nèi)部命令寄存器×××××001通用I/O口A寄存器×××××010通用I/O口B寄存器×××××011口C:通用I/O口或控制口×××××100定時(shí)/計(jì)數(shù)器的低8位寄存器×××××101定時(shí)/計(jì)數(shù)器的高8位寄存器第八十三頁(yè),共一百五十一頁(yè),編輯于2023年,星期日3.8155與單片機(jī)的連接表格6?28155的RAM和I/O口地址分配P2.4P2.3選擇地址00RAME700H~E7FFH(256B)01I/O口EF00H命令口/狀態(tài)口EF01H通用I/O口AEF02H通用I/O口BEF03H口CEF04H計(jì)數(shù)值低8位EF05H計(jì)數(shù)值高8位和計(jì)數(shù)方式圖6?10擴(kuò)展一片8155的基本方案第八十四頁(yè),共一百五十一頁(yè),編輯于2023年,星期日4.8155片內(nèi)RAM的使用OK:…;和為0,讀/寫(xiě)正確(1)命令寄存器的用法

表格6?3C口工作方式方式位ALTIALT2ALT3ALT4PC0輸入方式輸出方式AINTR(A口中斷)AINTR(A口中斷)PC1ABF(A口緩沖器滿)ABF(A口緩沖器滿)PC2ASTB(A口選通)ASTB(A口選通)PC3輸出方式BINTR(B口中斷)PC4BBF(B口緩沖器滿)PC5BSTB(B口選通)備注A口B口為基本I/O口A口B口為基本I/O口A口為選通輸入方式B口為基本I/O口A口、B口為選通輸入/輸出方式第八十五頁(yè),共一百五十一頁(yè),編輯于2023年,星期日?qǐng)D6?128155方式4的邏輯結(jié)構(gòu)圖第八十六頁(yè),共一百五十一頁(yè),編輯于2023年,星期日

6.作定時(shí)/計(jì)數(shù)器用表6-48155定時(shí)器輸出方式M2M1方式定時(shí)器輸出方波00單個(gè)方波01連續(xù)方波10在終止計(jì)數(shù)時(shí)輸出單個(gè)脈沖11連續(xù)脈沖第八十七頁(yè),共一百五十一頁(yè),編輯于2023年,星期日知識(shí)模塊七

MCS-51系統(tǒng)的串行接口7.1串行通訊概述一、串行通訊的兩種基本方式1.異步傳送方式

第n個(gè)字符(一串行幀)n+1n-1

…P10D0D1D2D3D4D5D6D7P10D0…

起始位數(shù)據(jù)位校驗(yàn)位停止位

圖7-2異步通訊的幀格式第八十八頁(yè),共一百五十一頁(yè),編輯于2023年,星期日開(kāi)始

結(jié)束同步字符同步字符數(shù)據(jù)段CRC字符#1CRC字符#2圖7-3同步傳送方式二、波特率圖7-4串行通訊的制式第八十九頁(yè),共一百五十一頁(yè),編輯于2023年,星期日三、數(shù)據(jù)傳送的方向1.單工制式(Simplex)2.半雙工制式(HalfDuplex)3.全雙工(Full-duplex)制式7.2MCS-51單片機(jī)的串行接口一、MCS-51串行口結(jié)構(gòu)圖7-5MCS-51串行口組成示意第九十頁(yè),共一百五十一頁(yè),編輯于2023年,星期日1.串行口數(shù)據(jù)緩沖器SBUF

2.串行口控制寄存器SCON見(jiàn)表格7-1SM0位地址9F9E9D9C9B9A9998SCONSM1SM2RENTB8RB8TIRI

接收中斷標(biāo)志發(fā)送中斷標(biāo)志接收數(shù)據(jù)第9位發(fā)送數(shù)據(jù)第9位接收控制0:禁止接收1:允許接收多機(jī)通信0:?jiǎn)螜C(jī)對(duì)單機(jī)1:多機(jī)通信

圖7-6串行口控制寄存器SCON圖7-6串行口控制寄存器SCON第九十一頁(yè),共一百五十一頁(yè),編輯于2023年,星期日3.特殊功能寄存器PCONPCON主要是為CHMOS型單片機(jī)的電源控制設(shè)置的專用寄存器,單元地址為87H,不能位尋址。其格式如圖7-7所示。SMOD———GF1GF0PDIDL通用標(biāo)志位空閑控制位0:正常方式1:空閑方式掉電控制位0:正常方式1:掉電方式波特率選擇位SMOD=1時(shí),方式1、2和3的波特率加倍

圖7-7PCON各位定義第九十二頁(yè),共一百五十一頁(yè),編輯于2023年,星期日二、MCS-51串行的工作方式MCS-51的串行口有四種工作方式,它是由SCON中的SM1和SM0來(lái)決定的,如表格7-1

表格7-1串行口的工作方式SM0SMl工作方式方式簡(jiǎn)單描述波特率000移位寄存器I/O主振頻率/120118位UART可變1029位UART主振頻率/32或主振頻率/641139位UART可變第九十三頁(yè),共一百五十一頁(yè),編輯于2023年,星期日1.方式0圖7-8串行口方式0的時(shí)序第九十四頁(yè),共一百五十一頁(yè),編輯于2023年,星期日2.方式1在方式1時(shí),串行口被設(shè)置為波特率可變的8位異步通信接口。其時(shí)序如圖7-9所示。圖7-9串行口方式1的時(shí)序第九十五頁(yè),共一百五十一頁(yè),編輯于2023年,星期日3.方式2串行口工作為方式2時(shí),被定義為9位異步通信接口。其時(shí)序如圖7-10所示。4.方式3圖7-10串行口方式2、3的時(shí)序第九十六頁(yè),共一百五十一頁(yè),編輯于2023年,星期日三、MCS-51串行通信的波特率1.方式0的波特率2.方式2的波特率3.方式1或方式3的波特率表格7-2常用波特率和定時(shí)器T1初值關(guān)系表第九十七頁(yè),共一百五十一頁(yè),編輯于2023年,星期日波特率(方式1、3)fosc=6Mfosc=12Mfosc=11.059MSMODT1方式初值SMODT1方式初值SMODT1方式初值62.5k

12FFH

19.2k

12FDH9.6k

02FDH4.8k

12F3H02FAH2.4k12F3H12F3H02F4H1.2k12E6H02E6H02E8H60012CCH02CCH02D0H30002CCH0298H02A0H137.5121DH021DH022EH1100272H01FEEBH01FEFFH表格7-2常用波特率和定時(shí)器T1初值關(guān)系表第九十八頁(yè),共一百五十一頁(yè),編輯于2023年,星期日7.3MCS-51單片機(jī)串行口的應(yīng)用一、串行口方式0用作擴(kuò)展并行I/O口圖7-11串行口方式0擴(kuò)展并行輸出口第九十九頁(yè),共一百五十一頁(yè),編輯于2023年,星期日

MOVSCON,#00H;串行口方式0初始化

MOVA,#80H;最左一位發(fā)光二極管先亮

CLRP1.0;關(guān)閉并行輸出START1:MOVSBUF,A;開(kāi)始串行輸出LOOP:JNBTI,LOOP;查詢TI

SETBP1.0;啟動(dòng)并行輸出

ACALLDELAY;顯示延時(shí)

CLRTI;清發(fā)送中斷標(biāo)志

RRA;準(zhǔn)備右邊一位顯示

CLRP1.0;關(guān)閉并行輸出

SJMPSTART1;再一次串行輸出第一百頁(yè),共一百五十一頁(yè),編輯于2023年,星期日二、方式1與點(diǎn)對(duì)點(diǎn)的異步通訊在下面給出的實(shí)現(xiàn)指定功能的通訊程序中,發(fā)送和接收都通過(guò)調(diào)用子程序來(lái)完成,并設(shè)發(fā)送數(shù)據(jù)區(qū)的首地址為20H,接收數(shù)據(jù)區(qū)的首地址為40H。主程序:

MOVTMOD,#20H;定時(shí)器1設(shè)為方式2

MOVTL,#0F3H;定時(shí)器初值

MOVTH1,#0F3H;8位重裝值

SETBTR1;啟動(dòng)定時(shí)器1

MOVSCON,#50H;串行口設(shè)為方式1,REN=1

MOVR0,#20H;發(fā)送數(shù)據(jù)區(qū)首址

MOVR1,#40H;接收數(shù)據(jù)區(qū)首址

ACALLSOUT;輸出一個(gè)字符$:SJMP$;等待中斷中斷服務(wù)程序:

ORG0023H;串行口中斷入口

AJMPSBRl;轉(zhuǎn)至中斷服務(wù)程序SBRl:JNBRI,SEND;TI=1,為發(fā)送中斷

ACALLSIN;RI=1,為接收中斷

SJMPNEXT;轉(zhuǎn)至統(tǒng)一的出口第一百零一頁(yè),共一百五十一頁(yè),編輯于2023年,星期日SEND:ACALLSOUT;調(diào)用發(fā)送子程序NEXT:RETI;中斷返回發(fā)送子程序:SOUT:MOVA,@Ro;取發(fā)送數(shù)據(jù)到A

MOVC,P;加上奇校驗(yàn)位

CPLC

MOVACC.7,C

INCR0;修改發(fā)送數(shù)據(jù)指針

MOVSBUF,A;發(fā)送ASCII碼

CLRTI;清發(fā)送中斷標(biāo)志

RET

第一百零二頁(yè),共一百五十一頁(yè),編輯于2023年,星期日接收子程序:SIN:MOVA,SBUF;讀出接收緩沖區(qū)內(nèi)容

MOVC,P;取出校驗(yàn)位

CPLC;奇校驗(yàn)

ANLA,#7FH;刪除校驗(yàn)位

MOV@R1,A;讀入接收緩沖區(qū)

INCR1;修改接收數(shù)據(jù)指針

CLRRI;清接收中斷標(biāo)志

RET

第一百零三頁(yè),共一百五十一頁(yè),編輯于2023年,星期日三、方式2、方式3與多機(jī)通訊圖7-12多機(jī)通訊連接示意圖第一百零四頁(yè),共一百五十一頁(yè),編輯于2023年,星期日1.多機(jī)通信原理2.多機(jī)通信實(shí)現(xiàn)四、微機(jī)與單片機(jī)之間的通訊圖7-13微機(jī)與單片機(jī)串行通信接口

第一百零五頁(yè),共一百五十一頁(yè),編輯于2023年,星期日7.4相互通道接口標(biāo)準(zhǔn)及其選擇一、相互通道的典型結(jié)構(gòu)二、關(guān)于RS-232C、RS-449、RS-422、RS-423和RS-485接口第一百零六頁(yè),共一百五十一頁(yè),編輯于2023年,星期日?qǐng)D7-14多機(jī)系統(tǒng)的相互通道第一百零七頁(yè),共一百五十一頁(yè),編輯于2023年,星期日2.抗干擾能力1.RS-232C接口

圖7-15通過(guò)電話網(wǎng)實(shí)現(xiàn)遠(yuǎn)程連接第一百零八頁(yè),共一百五十一頁(yè),編輯于2023年,星期日表格7-3微機(jī)中常用的RS-232C接口信號(hào)引腳號(hào)符號(hào)名稱說(shuō)明1PGND保護(hù)地為了安全和大地相連,有時(shí)可不接2TXD發(fā)送數(shù)據(jù)從DTE到DCE的數(shù)據(jù)線3RXD接收數(shù)據(jù)從DCE到DTE的數(shù)據(jù)線4RTS請(qǐng)求發(fā)送當(dāng)DTE希望在數(shù)據(jù)線上傳遞數(shù)據(jù)時(shí)由DTE發(fā)出,DCE通過(guò)所得到的控制信號(hào)決定是否響應(yīng)5CTS允許發(fā)送允許計(jì)算機(jī)發(fā)送數(shù)據(jù)時(shí),則由DCE發(fā)出6DSR數(shù)字置位就緒當(dāng)數(shù)據(jù)線已被接好后由DCE發(fā)出7SGND信號(hào)地作為信號(hào)地的公共回路8DCD數(shù)據(jù)載波檢測(cè)當(dāng)DCE已經(jīng)從數(shù)據(jù)線上接收到信號(hào)時(shí)發(fā)出此信號(hào)20DTR數(shù)字終端就緒當(dāng)DTE已準(zhǔn)備好和調(diào)制解調(diào)器交換數(shù)據(jù)時(shí),由DTE發(fā)出,使用公共通信網(wǎng)時(shí)才需要22RI振鈴指示當(dāng)正在進(jìn)行通信時(shí),由DCE發(fā)出,使用公共通信網(wǎng)時(shí)才需要表格7-3微機(jī)中常用的RS-232C接口信號(hào)第一百零九頁(yè),共一百五十一頁(yè),編輯于2023年,星期日?qǐng)D7-16簡(jiǎn)單的RS-232C數(shù)據(jù)通訊第一百一十頁(yè),共一百五十一頁(yè),編輯于2023年,星期日2.RS-449、RS-422、RS-423和RS-485接口表格7-4幾種串行接口標(biāo)準(zhǔn)的比較特性參數(shù)RS-232CRS-423RS-422RS-485工作模式單端發(fā)單端收單端發(fā)雙端收雙端發(fā)雙端收雙端發(fā)雙端收在傳輸線上允許的驅(qū)動(dòng)器和接收器數(shù)目1個(gè)驅(qū)動(dòng)器1個(gè)接收器1個(gè)驅(qū)動(dòng)器10個(gè)接收器1個(gè)驅(qū)動(dòng)器10個(gè)接收器32個(gè)驅(qū)動(dòng)器32個(gè)接收器最大電纜長(zhǎng)度15m1200m(1kb/s)1200m(90kb/s)1200m(100kb/s)最大速率20kb/s100kb/s(12m)10Mb/s(12m)10Mb/s(15m)驅(qū)動(dòng)器輸出(最大電壓)±25V±6V±6V-7V~+12V驅(qū)動(dòng)器輸出(信號(hào)電平)±5V(帶負(fù)載)±15V(未帶負(fù)載)±3.6V(帶負(fù)載)±6V(未帶負(fù)載)±2V(帶負(fù)載)±6V(未帶負(fù)載)±1.5V(帶負(fù)載)±5V(末帶負(fù)載)驅(qū)動(dòng)器負(fù)載阻抗3kΩ~7kΩ450Ω100Ω54Ω驅(qū)動(dòng)器電源開(kāi)路電流(高阻抗態(tài))Vmax/300Ω(開(kāi)路)±100μA(開(kāi)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論