單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1]課件
單擊此處編輯母版標(biāo)題樣式,,單擊此處編輯母版文本樣式,,第二級(jí),,第三級(jí),,第四級(jí),,第五級(jí),,*,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],*,PPT,文檔演模板,Office,PPT,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案,2024/12/11,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],第一章,,單片微型計(jì)算機(jī)概述,本章主要介紹單片機(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ī)。,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],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ā)展。,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],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在空間上分開;,,(3)它的引出管腳一般都設(shè)計(jì)成多功能的;,,(4)增加了一個(gè)全雙工的串行接口,以擴(kuò)充I/O口和外接同步輸入和輸出設(shè)備;,,(5)有21個(gè)特殊功能寄存器;,,(6) 有豐富的指令系統(tǒng),內(nèi)部設(shè)置了可以位尋址的位地址空間。,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],1,.,3,單片機(jī)的主要品種及系列,,一、 4位單片機(jī),,二、 8位單片機(jī),,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],表格 1?1 MCS-51系列型號(hào),,型 號(hào),,,制造技術(shù),,,片內(nèi)程序存儲(chǔ)器,,,片內(nèi)數(shù)據(jù)存儲(chǔ)器,,,8051AH,,,H MOS,,,ROM (4k),,,128字節(jié),,,8031AH,,,AH MOS,,,無,,,128字節(jié),,,8751H,,,H MOS,,,EPROM(4K),,,128字節(jié),,,80C51,,,CHMOS,,,ROM (4K),,,128字節(jié),,,80C31,,,CHMOS,,,無,,,128字節(jié),,,8051,,,H MOS,,,ROM (8K),,,256字節(jié),,,8031,,,H MOS,,,無,,,256字節(jié),,,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],1,.,4,單片機(jī)的應(yīng)用,,,一、 單片機(jī)在儀器儀表中的應(yīng)用,,二、 單片機(jī)在機(jī)電一體化中的應(yīng)用,,三、 單片機(jī)在智能接口和多機(jī)系統(tǒng)中的應(yīng)用,,四、 單片機(jī)在生活中的應(yīng)用,,,,,,,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],第 二 章,,MCS-51單片機(jī)的結(jié)構(gòu)和原理,本章主要介紹MCS-51系列的8051的基本結(jié)構(gòu)、工作原理、存儲(chǔ)器結(jié)構(gòu)、P,0,、P,1,、P,2,、P,3,四個(gè)I/O口的基本工作原理和操作特點(diǎn)。單片機(jī)的各種工作方式、單片機(jī)的時(shí)序等。,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],2.1 MCS-51單片機(jī)的結(jié)構(gòu)原理,一、 8051單片機(jī)的結(jié)構(gòu),圖 2?1 MCS-51單片機(jī)的基本結(jié)構(gòu),單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],二、 8051單片機(jī)的內(nèi)部結(jié)構(gòu)和工作原理,,8051單片機(jī)的內(nèi)部結(jié)構(gòu)框圖如圖 2?2 所示,下面分別進(jìn)行介紹:,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],,圖,2?2 8051,的內(nèi)部結(jié)構(gòu)框圖,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],,圖,2?3 8051,存儲(chǔ)器組織結(jié)構(gòu),,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],字節(jié)地址,,位 地 址,,,,2FH,,2EH,,2DH,,2CH,,2BH,,2AH,,29H,,28H,,27H,,26H,,25H,,24H,,23H,,22H,,21H,,20H,,,,,,,,,,,,D,7,,,D,6,,,D,5,,,D,4,,,D,3,,,D,2,,,D,1,,,D,0,,,7FH,,,7EH,,,7DH,,,7CH,,,7BH,,,7AH,,,79H,,,78H,,,77H,,,76H,,,75H,,,74H,,,73H,,,72H,,,71H,,,70H,,,6FH,,,6EH,,,6DH,,,6CH,,,6BH,,,6AH,,,69H,,,68H,,,67H,,,66H,,,65H,,,64H,,,63H,,,62H,,,61H,,,60H,,,5FH,,,5EH,,,5DH,,,5CH,,,5BH,,,5AH,,,59H,,,58H,,,57H,,,56H,,,55H,,,54H,,,53H,,,52H,,,51H,,,50H,,,4FH,,,4EH,,,4DH,,,4CH,,,4BH,,,4AH,,,49H,,,48H,,,47H,,,46H,,,45H,,,44H,,,43H,,,42H,,,41H,,,40H,,,3FH,,,3EH,,,3DH,,,3CH,,,3BH,,,3AH,,,39H,,,38H,,,37H,,,36H,,,35H,,,34H,,,33H,,,32H,,,31H,,,30H,,,2FH,,,2EH,,,2DH,,,2CH,,,2BH,,,2AH,,,29H,,,28H,,,27H,,,26H,,,25H,,,24H,,,23H,,,22H,,,21H,,,20H,,,1FH,,,1EH,,,1DH,,,1CH,,,1BH,,,1AH,,,19H,,,18H,,,17H,,,16H,,,15H,,,14H,,,13H,,,12H,,,11H,,,10H,,,0FH,,,0EH,,,0DH,,,0CH,,,0BH,,,0AH,,,09H,,,08H,,,07H,,,06H,,,05H,,,04H,,,03H,,,02H,,,01H,,,00H,,,圖,2?4 8051,內(nèi)部,RAM,位地址區(qū),,圖,2?4 8051,內(nèi)部,RAM,位地址區(qū),,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],表格,2?2,特殊功能寄存器表,,符號(hào),,,單元地址,,,名稱,,,位地址,,,符號(hào),,,地址,,,* ACC,,,E0H,,,累加器,,,ACC.7~ACC.0,,,E7H~E0H,,,* B,,,F0H,,,乘法寄存器,,,B.7~B.0,,,F7H~F0H,,,* PSW,,,D0H,,,程序狀態(tài)字,,,PSW.7~PSW.0,,,D7H~D0H,,,SP,,,81H,,,堆棧指針,,,,,,,,,DPL,,,82H,,,數(shù)據(jù)存儲(chǔ)器指針(低8位),,,,,,,,,DPH,,,83H,,,數(shù)據(jù)存儲(chǔ)器指針(高8位),,,,,,,,,* IE,,,A8H,,,中斷允許控制器,,,IE.7~I(xiàn)E.0,,,AFH~A8H,,,* IP,,,B8H,,,中斷優(yōu)先控制器,,,IP.7~I(xiàn)P.0,,,BFH~B8H,,,* P,0,,,80H,,,通道0,,,P,0.7,~P,0.0,,,87H~80H,,,* P,1,,,90H,,,通道1,,,P,1.7,~P,1.0,,,97H~90H,,,* P,2,,,A0H,,,通道2,,,P,2.7,~P,2.0,,,A7H~A0H,,,* P,3,,,B0H,,,通道3,,,P,3.7,~P,3.0,,,B7H~B0H,,,PCON,,,87H,,,電源控制及波特率選擇,,,,,,,,,* SCON,,,98H,,,串行口控制,,,SCON.7~SCON.0,,,9FH~98H,,,SBUF,,,99H,,,串行數(shù)據(jù)緩沖器,,,,,,,,,* TCON,,,88H,,,定時(shí)控制,,,TCON.7~TCON.0,,,8FH~88H,,,TMOD,,,89H,,,定時(shí)器方式選擇,,,,,,,,,TL,0,,,8AH,,,定時(shí)器0低8位,,,,,,,,,TL,1,,,8BH,,,定時(shí)器1低8位,,,,,,,,,TH,0,,,8CH,,,定時(shí)器0高8位,,,,,,,,,TH,1,,,8DH,,,定時(shí)器1高8位,,,,,,,,,,*:可位尋址的特殊功能寄存器,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],,圖,2?5 P,0,口的位結(jié)構(gòu),,(1) P,0,口位的結(jié)構(gòu),,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],(2) P,1,口位的結(jié)構(gòu),,,圖,2?6 P,1,口的位結(jié)構(gòu),,圖,2?6 P,1,口的位結(jié)構(gòu),,圖,2?6 P,1,口的位結(jié)構(gòu),,圖,2?6 P,1,口的位結(jié)構(gòu),,圖,2?6 P,1,口的位結(jié)構(gòu),,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],(3) P,2,口的位結(jié)構(gòu),,,圖,2?7 P,2,口的結(jié)構(gòu)圖,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],(4) P,3,口的位結(jié)構(gòu),,,圖,2?8 P,3,口的結(jié)構(gòu)圖,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],(4) P,3,口的位結(jié)構(gòu),,圖,2?8 P,3,口的結(jié)構(gòu)圖,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],表格,2?3 P,3,口的第二功能表,,I/O口,,,第二功能,,,注 釋,,,P,3.0,,,RXD,,,串行口數(shù)據(jù)接收端,,,P,3.1,,,TXD,,,串行口數(shù)據(jù)發(fā)送端,,,P,3.2,,,INT(————),0,,,外部中斷請(qǐng)求0,,,P,3.3,,,INT(————),1,,,外部中斷請(qǐng)求1,,,P,3.4,,,T,0,,,定時(shí)/計(jì)數(shù)器0,,,P,3.5,,,T,1,,,定時(shí)/計(jì)數(shù)器1,,,P,3.6,,,WR(———),,,外部RAM寫信號(hào),,,P,3.7,,,RD(———),,,外部RAM讀信號(hào),,,,,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],一、 時(shí)鐘周期、機(jī)器周期和指令周期,,圖,2-9,基本定時(shí)時(shí)序關(guān)系,,2,.,2 MCS-51,單片機(jī)的時(shí)序,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],1.時(shí)鐘周期,,,圖 2?10 MCS-51的取指/執(zhí)行時(shí)序,2.機(jī)器周期,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],,3.指令周期,,二、 MCS-51單片機(jī)指令的取指和執(zhí)行的時(shí)序,,三、 訪問外部ROM和RAM的時(shí)序,,,圖,2?11,訪問外部,ROM,的時(shí)序,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],1.訪問外部ROM的時(shí)序,,2.訪問外部RAM的時(shí)序,,,圖 2?12 訪問外部RAM的時(shí)序,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],2.3 MCS-51單片機(jī)的時(shí)鐘和復(fù)位電路,,一、 時(shí)鐘電路,,,圖 2?13 MCS-51時(shí)鐘接法,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],1.內(nèi)部振蕩器方式,,2.外部時(shí)鐘方式,,二、 復(fù)位電路及復(fù)位狀態(tài),,1.內(nèi)部復(fù)位電路,,,圖 2?14 8051復(fù)位電路結(jié)構(gòu),,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],2.外部復(fù)位電路,,,圖,2?15,復(fù)位電路,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],3.,復(fù)位狀態(tài),,,,表格,2?4,各專用寄存器的復(fù)位值,,專用寄存器,,,復(fù)位值,,,PC,,,0000H,,,ACC,,,00H,,,B,,,00H,,,PSW,,,00H,,,SP,,,07H,,,DPTR,,,0000H,,,P,0,~P,3,,,FFH,,,IP,,,XXX00000B,,,IE,,,0XX00000B,,,TMOD,,,00H,,,TCON,,,00H,,,TH0,,,00H,,,TL0,,,00H,,,TH1,,,00H,,,TL1,,,00H,,,SCON,,,00H,,,SBUF,,,不定,,,PCON(CHMOS),,,0XXX0000B,,,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],2.4 MCS-51單片機(jī)的低功耗工作方式,,一、 電源控制寄存器PCON,,,,,,PCON,,,,,,,,,,,D,7,,,D,6,,,D,5,,,D,4,,,D,3,,,D,2,,,D,1,,,D,0,,,SMOD,,,—,,,—,,,—,,,GF1,,,GF0,,,FD,,,IDL,,,三、 掉電方式,,二、 等待工作方式,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],第三章 MSC-51 單片機(jī)的指令系統(tǒng),3,.,1,指令系統(tǒng)概述,,一、 機(jī)器碼指令與匯編語言指令,,機(jī)器碼指令:,,匯編語言指令:,,二、 指令格式,匯編語言格式為:[標(biāo)號(hào):] 操作碼助記符 [目的操作數(shù),] [源操作數(shù)] [;注釋],,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],,,,,,,單字節(jié)指令,,雙字節(jié)指令,,三字節(jié)指令,,操作碼 24H,,,操作數(shù) 22H,,,,INC A ADD A,#22H MOV 5EH,4FH,,操作碼 04H,,,,操作碼 85H,,,源操作數(shù) 4FH,,,目的操作數(shù) 5EH,,,,,,,,圖,3-1,機(jī)器碼指令格式,,,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],3.2 尋址方式,,一、 寄存器尋址,,二、 直接尋址,,三、 立即尋址,,四、 寄存器間接尋址,,五、 變址尋址,,六、 相對(duì)尋址,,七、 位尋址,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],,3,.,3 MSC-51,單片機(jī)的指令系統(tǒng),,,,按照指令的功能,可以把MSC-51的111條指令分成五類:,,l,,數(shù)據(jù)傳送類指令(29條),,l,,算術(shù)運(yùn)算類指令(24條),,l,,邏輯操作類指令(24條),,l,,控制轉(zhuǎn)移類指令(17條),,l,,位操作類指令 (17條),,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],,圖 3-2 相對(duì)尋址過程,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],,第四章 MCS-51單片機(jī)的應(yīng)用程序設(shè)計(jì),,,圖 4-1 基本程序結(jié)構(gòu),,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],4.1 運(yùn)算程序,,一、 多字節(jié)數(shù)加法,,1.,多字節(jié)無符號(hào)數(shù)加法,,CLR C,,MOV R,0,,#40H ;指向加數(shù)最低位,,MOV R,1,,#5OH ;指向另一加數(shù)最低位,,MOV R,2,,#04H ;字節(jié)數(shù)作計(jì)數(shù)初值,,LOOP1:MOV A,@R,0,;取被加數(shù),,ADDC A,@R,1,;兩數(shù)相加,帶進(jìn)位,,MOV @R,0,,A,,INC R,0,;修改地址,,INC R,1,,DJNZ R,2,,LOOPl ;未加完轉(zhuǎn)LOOP1,,JNC LOOP2 ;無進(jìn)位轉(zhuǎn)LOOP2,,MOV @R,0,,#01H,,LOOP2:DEC R,0,,RET,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],2.多字節(jié)有符號(hào)數(shù)加法,MOV A,R,0,;復(fù)制保存地址指針,,MOV R,2,,A,,MOV A,R,3,,MOV R,7,,A,,CLR C,,LOOP1:MOV A,@R,0,,ADDC A,@R,1,;相加,,MOV @R,0,,A,,INC R,0,,INC R,1,;地址指針加1,,DJNZ R,7,,LOOP1,,JB OV,ERR ;若溢出,轉(zhuǎn)溢出處理,,DEC R,0,,MOV A,@R,0,,JNB E7H,LOOP2,,SETB 07H ;和值為負(fù),置位標(biāo)志,,LOOP2:MOV A,R,2,;恢復(fù)地址指針,,MOV R,0,,A,,RET,,┇,,ERR:┇ ;溢出處理,,RET,,SDADD:CLR 07H ;標(biāo)志位清零,,圖,4-3,多字節(jié)有符號(hào)數(shù)加法程序流程圖,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],二、 多字節(jié)數(shù)減法,MOV R,0,,#40H ;指向被減數(shù)最低位,,MOV R,1,,#5OH ;指向減數(shù)最低位,,MOV R,2,,#04H ;字節(jié)數(shù),,CLR C,,LOOP1:MOV A,@R,0,,SUBB A,@R,1,;完成一個(gè)字節(jié)的減法運(yùn)算,,MOV @R,0,,A,,INC R,0,,INC R,1,,DJNZ R,2,,LOOP1,,RET,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],三、 多字節(jié)十進(jìn)制數(shù)(BCD碼)加法,,,,圖,4-4 BCD,碼多字節(jié)加法程序流程圖,,,,,,,,BCDADD:MOV 20H,R,0,,MOV 23H,R,3,,CLR C,,LOOP0: MOV A,@R,0,;取被加數(shù),,ADDC A,@R,1,;兩數(shù)相加,,DA A ;十進(jìn)制調(diào)整,,MOV @R,0,,A,,INC R,0,;指針加1,,INC R,1,,,DJNZ R,3,,LOOP0 ;作完加法否,,MOV R2. #23H,,JNC RETURN ;有無進(jìn)位,,MOV@ R,0,,#01H,,INC R,3,,RETURN:MOV R,0,,#20H,,RET,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],四、 多字節(jié)數(shù)乘法,,ZHENFA: MOV A,R,0,,MOV B,R,1,,MUL AB ;(R,1,)*(R,0,),,MOV R,3,,A ;積的低位送到R,3,,MOV R,4,,B ;積的高位送到R,4,,MOV A,R,0,,MOV B,R,2,,MUL AB ;(R,2,)*(R,0,),,ADD A,R,4,;(R,1,)*(R,0,)的高位加(R,2,)*(R,0,)的低位,,MOV R,4,,A ;結(jié)果送R,4,,進(jìn)位在CY中,,MOV A,B,,ADDC A,#OOH;(R,2,)*(R,0,)的高位加低位來的進(jìn)位,,MOV R,5,,A ;結(jié)果送R,5,,RET,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],五、 多字節(jié)數(shù)除法,,,,DV: MOV R,7,,#08H ;設(shè)計(jì)數(shù)初值,,DVl: CLR C,,MOV A,R,5,,RLC A,,MOV R,5,,A,,MOV A,R,6,,RLC A ;將(R,6,)、(R,5,)左移一位,,MOV 07H,C ;將移出的一位送07H位保存,,CLR C,,圖,4-5,除法程序流程圖,,SUBB A,R,2,;余數(shù)(高位)減除數(shù),,JB O7H,GOU ;若標(biāo)志位為1,說明夠減,,JNC GOU ;無借位也說明夠減,,ADD A,R,2,;否則,恢復(fù)余數(shù),,AJMP DV2,,GOU:INC R,5,;商上1,,DV2:MOV R,6,,A ;保存余數(shù)(高位),,DJNZ R,7,,DVl,,RET,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],一、,,數(shù)據(jù)的拼拆,4.2 數(shù)據(jù)的拼拆和轉(zhuǎn)換,,例4-7 設(shè)在30H和31H單元中各有一個(gè)8位數(shù)據(jù):,,(30H)=x,7,x,6,x,5,x,4,x,3,x,2,x,1,x,0,,(3lH)=y,7,y,6,y,5,y,4,y,3,y,2,y,1,y,0,,現(xiàn)在要從30H單元中取出低5位,并從31H單元中取出低3位完成拼裝,,,拼裝結(jié)果送40H單元保存,并且規(guī)定:,,(40H)=y,2,y,1,y,0,x,4,x,3,x,2,x,1,x,0,,解:利用邏輯指令A(yù)NL、ORL來完成數(shù)據(jù)的拼拆,程序清單如下:,,MOV 4OH,3OH ;將x,7,~x,0,傳送到40H單元,,ANL 4OH,#000111llB ;將高3位屏蔽掉,,MOV A,31H ;將y,7,~y,0,傳送到累加器中,,SWAP A ;將A的內(nèi)容左移4次,,RL A ;y,2,~y,0,移到高3位,,ANL A,#111000OOB ;將低5位屏蔽掉,,ORL 4OH,A ;完成拼裝任務(wù),,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],二、 數(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)系便不難編寫出轉(zhuǎn)換程序:,,“字符0”~“字符9”的ASCII碼值為“30H”~“39H”,它們與30H之差恰好為“00H”~“09H”,,,結(jié)果均<0AH。,,“字符A”~“字符F”的ASCII碼值為“41H”~“46H”,它們各自減去37H后恰好為“0AH”~“0FH”,,,結(jié)果>0AH。,,根據(jù)這個(gè)關(guān)系可以編出轉(zhuǎn)換程序如下,程序以R,1,作為入口和出口。,,ASCHIN:MOV A,R,1,;取操作數(shù),,CLR C ;清進(jìn)位標(biāo)志位C,,SUBB A,#30H ;ASCII碼減去30H,實(shí)現(xiàn)0-9的轉(zhuǎn)換,,MOV R,1,,A ;暫存結(jié)果,,SUBB A,#0AH ;結(jié)果是否>9?,,JC LOOP ;若≤9則轉(zhuǎn)換正確,,XCH A,R,1,,SUBB A,#07H ;若>9則減37H,,MOV R,1,,A,,LOOP: RET,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],2.BCD碼與二進(jìn)制數(shù)的轉(zhuǎn)換,,,圖,4-6 BCD,碼(十進(jìn)制)轉(zhuǎn)換成二進(jìn)制數(shù)程序流程圖,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],程序清單如下:,,MAIN:MOV A,R,5,,MOV R,2,,A ;給子程序入口參數(shù),,ACALL BCDBIN ;調(diào)用子程序,,MOV B,#64H,,MUL AB,,MOV R,6,,A,,XCH A,B,,MOV R,5,,A,,MOV A,R,4,,MOV R,2,,A,,ACALL BCDBIN ;調(diào)用子程序,,ADD A,R,6,,MOV R,4,,A,,MOV A,R,5,,ADDC A,#00H,,MOV R,5,,A,,RET,,子程序如下:,,BCDBIN:MOV A,R,2,,ANL A,#0F0H ;取高位BCD碼,屏蔽低4位,,SWAP A,,MOV B,#0AH,,MUL AB,,MOV R,3,,A,,MOV A,R,2,,ANL A,#0FH,,ADD A,R,3,;加低位BCD碼,,MOV R,2,,A,,RET,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],4.3 查表程序,使用MOVC A,@A+DPTR指令來查表,程序清單如下:,,MOV DPTR,#BS ;子程序入口地址表首址,,RL A ;鍵碼值乘以2,,MOV R,2,,A ;暫存A,,MOVC A,@A+DPTR ;取得入口地址低位,,PUSH A ;進(jìn)棧暫存,,INC A,,MOVC A,@A+DPTR ;取得入口地址高位,,MOV DPH,A,,POP DPL,,CLR A,,JMP @A+DPTR ;轉(zhuǎn)向鍵處理子程序,,BS: DB RK,0,L ;處理子程序入口地址表,,DB RK,0,H,,DB RK,1,L,,DB RK,1,H,,DB RK,2,L,,DB RK,2,H,,┇ ┇,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],4.4 散轉(zhuǎn)程序,,一、 采用轉(zhuǎn)移指令表的散轉(zhuǎn)程序,,例4-17 編出要求根據(jù)R,3,的內(nèi)容轉(zhuǎn)向各個(gè)操作程序的程序。即當(dāng),,(R,3,)=0,轉(zhuǎn)向OPRO,,(R,3,)=1,轉(zhuǎn)向OPRl,,…,,(R,3,)=n,轉(zhuǎn)向OPRn,,解:程序清單如下:,,MOV A,R,3,,RL A ;分支序號(hào)值乘2,,MOV DPTR ,#BRTABL ;轉(zhuǎn)移指令表首址,,JMP @A+DPTR ;轉(zhuǎn)向形成的散轉(zhuǎn)地址,,BRTABL:AJMP OPR0 ;轉(zhuǎn)移指令表,,AJMP OPR1,,…,,AJMP OPRn,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],二、 采用地址偏移量表的散轉(zhuǎn)程序,,例4-19 編出能按R,6,的內(nèi)容轉(zhuǎn)向5個(gè)操作程序的程序。其對(duì)應(yīng)關(guān)系如下:,,OPRD0:操作程序0,,OPRD1:操作程序1,,OPRD2:操作程序2,,OPRD3:操作程序3,,OPRD4:操作程序4,,解:程序清單如下:,,MOV A,R,6,,MOV DPTR,#TAB3 ;指向地址偏移量表首址,,MOVC A,@A+DPTR ;散轉(zhuǎn)點(diǎn)入口地址在A中,,JMP @A+DPTR ;轉(zhuǎn)向相應(yīng)的操作程序入口,,TAB3: DB OPRDO-TAB3 ;地址偏移量表,,DB OPRDl-TAB3,,DB OPRD2-TAB3,,DB OPRD3-TAB3,,DB OPRD4-TAB3,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],三、 采用轉(zhuǎn)向地址表的散轉(zhuǎn)程序,,例4-20 編程:要求根據(jù)R,6,的內(nèi)容轉(zhuǎn)向相應(yīng)的操作程序中去。設(shè)備操作程序的轉(zhuǎn)向地址分別為OPRD0,,,OPRDl,… OPRDn。,,解:程序清單如下:,,MOV DPTR,#BRTABL ;指向轉(zhuǎn)向地址表,,MOV A,R,6,,ADD A,R,6,;(A)←(R,6,)*2,,JNC NAND;,,INC DPH ;(R,6,)*2的進(jìn)位加到DPH,,NAND:MOV R,3,,A ;暫存變址值,,MOVC A,@A+DPTR ;取轉(zhuǎn)向地址高8位,,XCH A,R,3,,INC A,,MOVC A,@A+DPTR ;取轉(zhuǎn)向地址低8位,,MOV DPL,A ;轉(zhuǎn)向地址在DPTR中,,MOV DPH,R,3,,CLR A,,JMP @A+DPTR ;轉(zhuǎn)向相應(yīng)的操作程序,,BRTABL:DW OPRDO ;轉(zhuǎn)向地址表,,DW OPRD1,,┆,,DW OPRDn,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],四、 采用“RET”指令的散轉(zhuǎn)程序,,例4-21 編出能根據(jù)R,6,的內(nèi)容轉(zhuǎn)向各個(gè)操作程序的程序。設(shè)該操作程序的轉(zhuǎn)向地址分別為OPRD0,,,OPRDl,… OPRDn。,,解:程序清單如下:,,MOV DPTR,#TAB3 ;指向轉(zhuǎn)移地址表,,MOV A,R,6,,ADD A,R,6,,JNC NAND,,INC DPH,,NAND:MOV R,7,,A,,MOVC A,@A+DPTR ;取轉(zhuǎn)向地址高8位,,XCH A,R,7,,INC A,,MOVC A,@A+DPTR ;取轉(zhuǎn)向地址低8位,,PUSH A ;轉(zhuǎn)向地址入棧,,MOV A,R,7,,PUSH A,,RET ;轉(zhuǎn)向操作程序,,TAB3:DW OPRD0 ;轉(zhuǎn)向地址表,,DW OPRDl,,┇,,DW OPRDn,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],4.5 I/O端口控制程序,,例4-22 試編出能模擬圖4-9中電路的程序,。,,,,ORG 0200H,,D BIT 00H,,E BIT 01H,,G BIT 02H,,LOOP1:ORL P,1,,#08H ;準(zhǔn)備P,1.3,輸入,,LOOP2:MOV C,P,1.3,;檢測(cè)K3狀態(tài),,JC LOOP2 ;若未準(zhǔn)備好(K3斷),則LOOP2,,ORL P,1,,#03H ;若準(zhǔn)備好,則準(zhǔn)備輸入P,1.0,和P,1.1,狀態(tài),,MOV C,P,1.0,;輸入K0狀態(tài),,MOV D,C ;送入D,,MOV C,P,1.1,;輸入K1狀態(tài),,MOV E,C ;送入E,,ANL C,D ;D∧E送C,,MOV G,C ;送入G,,MOV C,E,,ORL C,D ;D∨E送C,,ANL C,/G ;(D∨E)∧(D∧E),,MOV P,1.2,,C ;輸出結(jié)果,,SJMP LOOP1 ;準(zhǔn)備下次模擬,,END,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],4.6 子程序調(diào)用時(shí)的參數(shù)傳遞方法,,一、 通過寄存器或片內(nèi)RAM傳遞參數(shù),,例4-23 利用通過寄存器或片內(nèi)RAM傳遞參數(shù)這種方法編出調(diào)用SUBRT子程序的主程序。,,解:應(yīng)該是:,,MAIN :MOV R,0,,#30H ;傳送RAM數(shù)據(jù)區(qū)的起始地址,,MOV R,7,,#0AH ;傳送RAM數(shù)據(jù)區(qū)的長(zhǎng)度,,ACALL SUBRT ;調(diào)用清零子程序,,SJMP $ ;結(jié)束,,SUBRT:MOV A,#00H ;清零子程序,,LOOP:MOV @R,0,,A,,INC R,0,,DJNZ R,7,,LOOP,,RET,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],二、 通過堆棧傳遞參數(shù),例4-25 在HEX單元存有兩個(gè)十六進(jìn)制數(shù),試編程分別把它們轉(zhuǎn)換成ASCII碼存入ASC和ASC+1單元。,,解:本題子程序采用查表方法完成一個(gè)十六進(jìn)制數(shù)的ASCII碼轉(zhuǎn)換,主程序完成入口參數(shù)的傳遞和子程序的兩次調(diào)用,以滿足題目要求。程序清單為:,,ORG 1200H,,PUSH HEX ;入口參數(shù)壓棧,,ACALL HASC ;求低位十六進(jìn)制數(shù)的ASCII碼,,POP ASC ;出口參數(shù)存入ASC,,MOV A,HEX ;十六進(jìn)制數(shù)送A,,SWAP A ;高位十六進(jìn)制數(shù)送低4位,,PUSH ACC ;入口參數(shù)壓棧,,ACALL HASC ;求高位十六進(jìn)制數(shù)的ASCII碼,,POP ASC+1 ;出口參數(shù)送ASC+1,,SJMP $ ;原地踏步,結(jié)束,,HASC:DEC SP,,DEC SP ;入口參數(shù)地址送SP,,POP ACC ;入口參數(shù)送A,,ANL A,#0FH ;取出入口參數(shù)低4位,,ADD A,#07H ;地址調(diào)整,,MOVC A,@A+PC ;查相應(yīng)ASCII碼,,PUSH ACC ;出口參數(shù)壓棧,,INC SP,,INC SP ;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,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],三、 利用指針寄存器傳遞參數(shù),,例4-26 編出能實(shí)現(xiàn)打印THIS IS AN EXAMPLE的程序。,,解:將要打印的字符及代碼不是放在調(diào)用指令之前,而是緊跟在調(diào)用指令之后。,,主程序:,,MAIN: …,,ACALL PRINT ;調(diào)用打印子程序,,DB‘THIS IS AN EXAMPLE' ;要打印的字符及代碼,,DB OAH,ODH,OOH,,NEXT: …,,子程序:,,PRINT:POP DPH ;把調(diào)用指令下面字節(jié)的地址彈出,作為數(shù)據(jù)指針,,POP DPL,,PPPl: MOV A,#OOH,,MOVC A,@A+DPTR ;取出欲打印的字符,,INC DPTR,,JZ PPPEND ;判斷是否為結(jié)束字符,,PPP2: ;打印程序,,SJMP PPPl ;未完,繼續(xù)打印,,PPPEND:JMP @A+DPTR ;指向主程序NEXT處,取代返回指令,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],,第五章 定時(shí)/計(jì)數(shù)器,,,5.1 定時(shí)/計(jì)數(shù)的結(jié)構(gòu)及工作原理,,一、 定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)和原理,,,1.定時(shí)/計(jì)數(shù)器的結(jié)構(gòu),,,圖,5?1 TMOD,、,TCON,與,T,0,、,T,1,的結(jié)構(gòu)框圖,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],2.定時(shí)/計(jì)數(shù)器的原理,,,圖 5?2 定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)框圖,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],二、 定時(shí)/計(jì)數(shù)器方式寄存器TMOD,,,表格,5?1,方式選擇位意義,,M,1,M,0,,,工作方式,,,功 能 說 明,,,0 0,,,方式0,,,13位計(jì)數(shù)器,,,0 1,,,方式1,,,16位計(jì)數(shù)器,,,1 0,,,方式2,,,自動(dòng)再裝入8位計(jì)數(shù)器,,,1 1,,,方式3,,,定時(shí)器0:分成兩個(gè)8位計(jì)數(shù)器,,定時(shí)器1:停止計(jì)數(shù),,,,TMOD格式如下,:,,定時(shí)器1,,定時(shí)器0,,,,,,,,TMOD,,,,,,,,,,,,,,D,7,,,D,6,,,D,5,,,D,4,,,D,3,,,D,2,,,D,1,,,D,0,,,GATE,,,C/,T(—),,,M,1,,,M,0,,,GATE,,,C/,T(—),,,M,1,,,M,0,,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],三、 定時(shí)控制寄存器TCON,,,定時(shí)器控制字TCON的格式如下,:,,,,TCON,,8FH,,,8EH,,,8DH,,,8CH,,,8BH,,,8AH,,,89H,,,88H,,,TF,1,,,TR,1,,,TF,0,,,TR,0,,,IE,1,,,IT,1,,,IE,0,,,IT,0,,,,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],5.2 定時(shí)/計(jì)數(shù)器的工作方式,,一、 方式0,,,當(dāng)M,1,M,0,兩位為00時(shí),定時(shí)/計(jì)數(shù)器被選為工作方式0,其邏輯結(jié)構(gòu)如圖 5?3 所示。,,,圖,5?3 T,0,(,或,T,1,),方式,0,結(jié)構(gòu),,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],二、 方式1,,,圖,5?4 T,0,(,或,T,1,),方式,1,結(jié)構(gòu),,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],三、 方式2,,,圖,5?5 T,0,(,或,T,1,),方式,1,結(jié)構(gòu),,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],三、 方式2,,,圖 5?6 T,0,(或T,1,)方式2結(jié)構(gòu),,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],四、 方式3,,,圖,5?7 T,0,方式,3,下和,T,1,結(jié)構(gòu),,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],一、 方式0、方式1的應(yīng)用,,例5-1 選擇T,1,方式0用于定時(shí),在P,1。1,輸出周期為1ms的方波,晶振f,osc,=6MHZ。,,根據(jù)題意,只要使P,1。1,每隔500µs取反一次即可得到1ms方波,因而T1的定時(shí)時(shí)間為,500µs。,,將T,1,設(shè)為定時(shí)方式0:GATE=0,C/T(—)=0,M,1,M,0,=00;T,0,不用可為任意,只要不使其進(jìn)入方式3,一般取0即可。故TMOD=00H。系統(tǒng)復(fù)位后TMOD為0,所以不必對(duì)TMOD置初值。下面計(jì)算500µs定時(shí)T,1,的初值:,,機(jī)器周期 T=12/f,osc,=12/6×10,6,=2µs,,設(shè)初值為X則: (2,13,-X)×2×10,-6,s =500×10,-6,s,,X=7942D=1111100000110B=1F06H,,因?yàn)樵谧?3位計(jì)數(shù)器用時(shí),TL,1,高3位未用,應(yīng)寫0,X的低5位裝入TL,1,的低5位,所以TL,1,=06H;X的高8位應(yīng)裝入TH,1,,所以TH,1,=F8H。,,源程序如下:,,,,,,,,,,,,MOV,,TL,1,,#06H,,;給TL,1,置初值,,,,MOV,,TH,1,,#F8H,,;給TH,1,置初值,,,,SETB,,TR,1,,;啟動(dòng)T,1,,LP1:,,JBC,,TF,1,,LP2,,;查詢計(jì)數(shù)溢出否,,,,AJMP,,LP1,,,,LP2:,,MOV,,TL,1,,06H,,;重裝初值,,,,MOV,,TH,1,,F(xiàn)8H,,,,,,CPL,,P,1。1,,;輸出取反,,,,AJMP,,LP1,,;重復(fù)循環(huán),,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],二、 方式2的應(yīng)用,,,例5-2 用定時(shí)器1方式2計(jì)數(shù),要求每計(jì)滿100次,將P,1。0,取反。,,根據(jù)題意,外部計(jì)數(shù)信號(hào)由T,1,(P,3.5,)引腳輸入,每跳變一次計(jì)數(shù)器加1,由程序查詢TF,1,。方式2有自動(dòng)重裝初值的功能,初始化后不必再置初值。,,初值 X=2,8,-100=156D=9CH,,TH,1,=TL,1,=9CH,,TMOD=60H,,源程序如下:,,,,MOV,,TMOD,#60H,,;設(shè)置T,1,為方式2,,,,MOV,,TL,1,,#9CH,,;置初值,,,,MOV,,TH,1,,#9CH,,,,,,SETB,,TR,1,,;啟動(dòng)T,1,,DEL:,,JBC,,TF,1,,REP,,;查詢計(jì)數(shù)溢出,,,,AJMP,,DEL,,,,REP:,,CPL,,P,1。0,,;輸出取反,,,,AJMP,,DEL,,,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],三、 門控位的應(yīng)用,,,圖,5?8,外部正脈沖寬度測(cè)量,,例5-3 利用T,0,門控位測(cè)試INT,0,引腳上出現(xiàn)的正脈沖的寬度,并以機(jī)器周期數(shù)的形式顯示在顯示器上,。,,根據(jù)要求可這樣設(shè)計(jì)程序:將T,0,設(shè)定為方式1,GATE設(shè)為1,置TR,0,為1。一旦INT,0,(P,3。2,) 引腳上出現(xiàn)高電平即開始計(jì)數(shù),直至出現(xiàn)低電平,停止計(jì)數(shù),然后讀取T,0,的計(jì)數(shù)值并顯示。,,測(cè)試過程如下:,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],源程序如下:,,BEGIN:,,MOV,,TMOD,# O9H,,;T,0,工作于方式1,GATE置1,,,,MOV,,TL,0,,#00H,,,,,,MOV,,TH,0,;#00H,,,,WAIT1:,,JB,,P,3。2,,WAIT1,,;等待INT,0,變低,,,,SETB,,TR,0,,;啟動(dòng)T,0,,WAIT2:,,JNB,,P,3。2,,WAIT2,,;等待正脈沖到,,WAIT3:,,JB,,P,3。2,,WAIT3,,;等待INT,0,變低,,,,CLR,,TR,0,,;停止T,0,計(jì)數(shù),,,,MOV,,R,0,,#DISBUF,,;顯示緩沖區(qū)首地址送R,0,,,,MOV,,A,TL,0,,;機(jī)器周期的存放格式為低位占低地址,高位占高地址,連續(xù)4個(gè)顯示緩沖單元,,,,XCHD,,A,@R,0,,,,,,INC,,R,0,,,,,,SWAP,,A,,,,,,XCHD,,A,@R,0,,,,,,INC,,R,0,,,,,,MOV,,A,TH,0,,,,,,XCHD,,A,@R,0,,,,,,INC,,R,0,,,,,,SWAP,,A,,,,,,XCHD,,A,@R,0,,,,DIS:,,LCALL,,DISUP,,;長(zhǎng)調(diào)用顯示子程序,,,,AJMP,,DIS,,;重復(fù)顯示機(jī)器周期數(shù),,由于定時(shí)方式1的16位計(jì)數(shù)長(zhǎng)度有限,被測(cè)脈沖高電平寬度只能小于65536個(gè)機(jī)器周期。,,源程序如下,:,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],第六章 MCS-51單片機(jī)的系統(tǒng)擴(kuò)展,,6,.,1 MCS-51,單片機(jī)的引腳定義及最小應(yīng)用系統(tǒng),,,一、 8051的引腳定義及功能,,圖,6?1 MCS-51,的引腳圖及功能分類圖,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],二、 MCS-51單片機(jī)最小應(yīng)用系統(tǒng),,,圖,6?2 8051/8751,最小應(yīng)用系統(tǒng),,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],6.2 MCS-51單片機(jī)外部存儲(chǔ)器的擴(kuò)展,,一、 外部程序存儲(chǔ)器的擴(kuò)展及取指過程,,,圖 6?3 外部程序存儲(chǔ)器一般連接方法,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],1.,程序存儲(chǔ)器的一般連接方式,,,圖,6-4,擴(kuò)展,8K,字節(jié)程序存儲(chǔ)器的連線圖,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],2.,典型EPROM擴(kuò)展電路,,3.,程序存儲(chǔ)器E,2,PROM的擴(kuò)展,,,圖,6-5 E,2,PROM,作為程序存儲(chǔ)器的擴(kuò)展圖,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],二、 數(shù)據(jù)存儲(chǔ)器的擴(kuò)展,,,圖,6-6,擴(kuò)展,2KB,數(shù)據(jù)存儲(chǔ)器的線路圖,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],1,.?dāng)?shù)據(jù)存儲(chǔ)器一般的擴(kuò)展方法,,2.,常用數(shù)據(jù)存儲(chǔ)器的擴(kuò)展電路,,三、 綜合擴(kuò)展實(shí)例,,,圖,6-7,擴(kuò)展,16KB RAM,和,16KB EPROM,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],,6.3 并行I/O口的擴(kuò)展,,一、 簡(jiǎn)單I/O口的擴(kuò)展,,,圖,6-8,簡(jiǎn)單,I/O,接口擴(kuò)展電路,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],二、 可編程I/O口的擴(kuò)展,,,圖,6?9 8155,的結(jié)構(gòu)和引腳,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],表格,6?1 8155,口地址分布,,AD,0,~AD,7,,,選 中 寄 存 器,,,A,7,A,6,A,5,A,4,A,3,,,A,2,,,A,1,,,A,0,,,× × × × ×,,,0,,,0,,,0,,,內(nèi)部命令寄存器,,,× × × × ×,,,0,,,0,,,1,,,通用I/O口A寄存器,,,× × × × ×,,,0,,,1,,,0,,,通用I/O口B寄存器,,,× × × × ×,,,0,,,1,,,1,,,口C:通用I/O口或控制口,,,× × × × ×,,,1,,,0,,,0,,,定時(shí)/計(jì)數(shù)器的低8位寄存器,,,× × × × ×,,,1,,,0,,,1,,,定時(shí)/計(jì)數(shù)器的高8位寄存器,,,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],3.,8155與單片機(jī)的連接,,,表格,6?2 8155,的,RAM,和,I/O,口地址分配,,P,2.4,,,P,2.3,,,選擇,,,地 址,,,0,,,0,,,RAM,,,E700H~E7FFH (256B),,,0,,,1,,,I/O口,,,EF00H 命令口/狀態(tài)口,,,EF01H 通用I/O口A,,,EF02H 通用I/O口B,,,EF03H 口C,,,EF04H 計(jì)數(shù)值低8位,,,EF05H 計(jì)數(shù)值高8位和計(jì)數(shù)方式,,,,圖,6?10,擴(kuò)展一片,8155,的基本方案,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],4.8155片內(nèi)RAM的使用,,OK: … ;和為0,讀/寫正確,,(1)命令寄存器的用法,,表格,6?3 C,口工作方式,,方式,,位,,,ALTI,,,ALT2,,,ALT3,,,ALT4,,,PC,0,,,輸入方式,,,輸出方式,,,AINTR(A口中斷),,,AINTR(A口中斷),,,PC,1,,,ABF(A口緩沖器滿),,,ABF(A口緩沖器滿),,,PC,2,,,ASTB(A口選通),,,ASTB(A口選通),,,PC,3,,,輸出方式,,,BINTR(B口中斷),,,PC,4,,,BBF(B口緩沖器滿),,,PC,5,,,BSTB(B口選通),,,備注,,,A口B口為基本I/O口,,,A口B口為基本I/O口,,,A口為選通輸入方式,,B口為基本I/O口,,,A口、B口為選通,,輸入/輸出方式,,,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],,圖,6?12 8155,方式,4,的邏輯結(jié)構(gòu)圖,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],,,,,,,,,,,,,,,,,6.,作定時(shí)/計(jì)數(shù)器用,,,,,,,,,,表,6-4 8155,定時(shí)器輸出方式,,,,,,,,,M,2,M,1,,,方 式,,,定時(shí)器輸出方波,,,0 0,,,單個(gè)方波,,,,,0 1,,,連續(xù)方波,,,,,1 0,,,在終止計(jì)數(shù)時(shí)輸出單個(gè)脈沖,,,,,1 1,,,連續(xù)脈沖,,,,,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],第七章,,MCS-51系統(tǒng)的串行接口,,7.1 串行通訊概述,,一、 串行通訊的兩種基本方式,,1.,異步傳送方式,,,,,,,第n個(gè)字符(一串行幀),,n+1,,n-1,,,,…,,,P,,,1,,,0,,,D0,,,D1,,,D2,,,D3,,,D4,,,D5,,,D6,,,D7,,,P,,,1,,,0,,,D0,,,…,,,,,,起始位,,,數(shù) 據(jù) 位,,,校驗(yàn)位 停止位,,,,,,,圖,7-2,異步通訊的幀格式,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],開始,,,,,,,,,,,,結(jié)束,,,同步字符,,,同步字符,,,數(shù)據(jù)段,,,CRC字符,#,1,,,CRC字符,#,2,,,圖,7-3,同步傳送方式,,二、 波特率,,,圖 7-4 串行通訊的制式,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],三、 數(shù)據(jù)傳送的方向,,1.,單工制式,(Simplex),,2.,半雙工制式,(Half Duplex),,3.,全雙工(Full-duplex)制式,,7.2 MCS-51單片機(jī)的串行接口,,一、 MCS-51串行口結(jié)構(gòu),,,圖 7-5 MCS-51串行口組成示意,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],1.串行口數(shù)據(jù)緩沖器SBUF,,2.,串行口控制寄存器SCON,,,見表格7-1,,SM0,,位地址,,,9F,,,9E,,,9D,,,9C,,,9B,,,9A,,,99,,,98,,,SCON,,,,,SM1,,,SM2,,,REN,,,TB8,,,RB8,,,TI,,,RI,,,,,,接收中斷標(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,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],3.,特殊功能寄存器PCON,,,PCON主要是為CHMOS型單片機(jī)的電源控制設(shè)置的專用寄存器,單元地址為87H,不能位尋址。其格式如,,,圖 7-7 所示。,,SMOD,,,—,,,—,,,—,,,GF1,,,GF0,,,PD,,,IDL,,,,,,通用標(biāo)志位,,空閑控制位,,,0:正常方式,,1:空閑方式,,,掉電控制位,,,0:正常方式,,1:掉電方式,,,波特率選擇位,,,SMOD=1時(shí),方式1、2和3的波特率加倍,,,,,,,,,,,,,,,,圖,7-7 PCON,各位定義,,單片微型計(jì)算機(jī)原理及其應(yīng)用電子教案[1],二、 MCS-51串行的工作方式,,,MCS-51的串行口有四種工作方式,它是由SCON中的SM1和SM0來決定的,如表格 7-1,,表格,7-1,串行口的工作方式,,SM0,,,SMl,,,工作方式,,,方式簡(jiǎn)單描述,,,波特率,,,0,,,0