單片機(jī)課后習(xí)題答案_第1頁(yè)
單片機(jī)課后習(xí)題答案_第2頁(yè)
單片機(jī)課后習(xí)題答案_第3頁(yè)
單片機(jī)課后習(xí)題答案_第4頁(yè)
單片機(jī)課后習(xí)題答案_第5頁(yè)
已閱讀5頁(yè),還剩62頁(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)介

精選文檔習(xí)題答案習(xí)題0單片機(jī)是把組成微型計(jì)算機(jī)的各功能部件即(微處理器(CPU))、(存儲(chǔ)器(ROM和RAM))、(總線)、(定時(shí)器/計(jì)數(shù)器)、(輸入/輸出接口(I/O口))及(中斷系統(tǒng))等部件集成在一塊芯片上的微型計(jì)算機(jī)。什么叫單片機(jī)?其主要特點(diǎn)有哪些?將微處理器(CPU)、存儲(chǔ)器(存放程序或數(shù)據(jù)的ROM和RAM)、總線、定時(shí)器/計(jì)數(shù)器、輸入/輸出接口(I/O口)、中斷系統(tǒng)和其他多種功能器件集成在一塊芯片上的微型計(jì)機(jī),稱為單片微型計(jì)算機(jī),簡(jiǎn)稱單片機(jī)。單片機(jī)的特點(diǎn):可靠性高、便于擴(kuò)展、控制功能強(qiáng)、具有豐富的控制指令、低電壓、低功耗、片內(nèi)存儲(chǔ)容量較小、集成度高、體積小、性價(jià)比高、應(yīng)用廣泛、易于產(chǎn)品化等。單片機(jī)有哪幾個(gè)發(fā)展階段?(1) 第一階段(1974—1976年):制造工藝落后,集成度低,而且采用了雙片形式。典型的代表產(chǎn)品有Fairchild公司的F8系列。其特點(diǎn)是:片內(nèi)只包括了8位CPU,64B的RAM和兩個(gè)并行口,需要外加一塊3851芯片(內(nèi)部具有1KB的ROM、定時(shí)器/計(jì)數(shù)器和兩個(gè)并行口)才能組成一臺(tái)完整的單片機(jī)。(2) 第二階段(1977—1978年):在單片芯片內(nèi)集成CPU、并行口、定時(shí)器/計(jì)數(shù)器、RAM和ROM等功能部件,但性能低,品種少,應(yīng)用范圍也不是很廣。典型的產(chǎn)品有Intel公司的MCS-48系列。其特點(diǎn)是,片內(nèi)集成有8位的CPU,1KB或2KB的ROM,64B或128B的RAM,只有并行接口,無(wú)串行接口,有1個(gè)8位的定時(shí)器/計(jì)數(shù)器,中斷源有2個(gè)。片外尋址范圍為4KB,芯片引腳為40個(gè)。(3) 第三階段(1979—1982年):8位單片機(jī)成熟的階段。其存儲(chǔ)容量和尋址范圍增大,而且中斷源、并行I/O口和定時(shí)器/計(jì)數(shù)器個(gè)數(shù)都有了不同程度的增加,并且集成有全雙工串行通信接口。在指令系統(tǒng)方面增設(shè)了乘除法、位操作和比較指令。其特點(diǎn)是,片內(nèi)包括了8位的CPU,4KB或8KB的ROM,128B或256B的RAM,具有串/并行接口,2個(gè)或3個(gè)16位的定時(shí)器/計(jì)數(shù)器,有5?7個(gè)中斷源。片外尋址范圍可達(dá)64KB,芯片引腳為40個(gè)。代表產(chǎn)品有Intel公司的MCS-51系列,Motorola公司的MC6805系列,TI公司的TMS7000系列,Zilog公司的Z8系列等。(4)第四階段(1983年至今):16位單片機(jī)和8位高性能單片機(jī)并行發(fā)展的時(shí)代。16位機(jī)的工藝先進(jìn),集成度高,內(nèi)部功能強(qiáng),運(yùn)算速度快,而且允許用戶采用面向工業(yè)控制的專用語(yǔ)言,其特點(diǎn)是,片內(nèi)包括了16位的CPU,8KB的ROM,232B的RAM,具有串/并行接口,4個(gè)16位的定時(shí)器/計(jì)數(shù)器,有8個(gè)中斷源,具有看門狗(Watchdog),總線控制部件,增加了D/A和A/D轉(zhuǎn)換電路,片外尋址范圍可達(dá)64KB。代表產(chǎn)品有Intel公司的MCS-96系歹寸,Motorola公司的MC68HC16系列,TI公司的TMS9900系歹寸,NEC公司的783XX系列和NS公司的HPC16040等。然而,由于16位單片機(jī)價(jià)格比較貴,銷售量不大,大量應(yīng)用領(lǐng)域需要的是高性能、大容量和多功能的新型8位單片機(jī)。近年來(lái)出現(xiàn)的32位單片機(jī),是單片機(jī)的頂級(jí)產(chǎn)品,具有較高的運(yùn)算速度。代表產(chǎn)品有Motorola公司的M68300系列和Hitachi(日立)公司的SH系列、ARM等。在實(shí)際應(yīng)用中,如何選擇單片機(jī)的類型?選擇原則:主要從指令結(jié)構(gòu)、運(yùn)行速度、程序存儲(chǔ)方式和功能等幾個(gè)方面選擇單片機(jī)。MCS-51為主流產(chǎn)品。Motorola是世界上最大的單片機(jī)廠商。品種全、選擇余地大、新產(chǎn)品多。其特點(diǎn)是噪聲精選文檔精選文檔低,抗干擾能力強(qiáng),比較適合于工控領(lǐng)域及惡劣的環(huán)境。Microchip單片機(jī)是市場(chǎng)份額增長(zhǎng)較快的單片機(jī)。它的主要產(chǎn)品是PIC系列8位單片機(jī)。其特點(diǎn)是運(yùn)行速度快,低價(jià)位,適用于量大、檔次低、價(jià)格敏感的產(chǎn)品。美國(guó)德州儀器(TI)公司生產(chǎn)的MSP430系列單片機(jī)是一種特低功耗的Flash微控制器。主要用于三表及超低功耗場(chǎng)合。在嵌入式系統(tǒng)低端的單片機(jī)領(lǐng)域,Intel公司的MCS-51形成了既具有經(jīng)典性又不乏生命力的一個(gè)單片機(jī)系列。許多半導(dǎo)體廠家、電器公司以MCS-51系列中的8051為基核,推出了許多兼容性的CHMOS單片機(jī)----80C51系列。此外,還有Zilog、EM78、Senix、NEC、Epson、NS、三星、富士通、華邦、Philips、ARM等單片機(jī)。試比較MCS-51,MSP430,EM78,PIC,M6800及AVR等系列單片機(jī)的特點(diǎn)。MCS-51為主流產(chǎn)品。MSP430的功能較強(qiáng)。是一種特低功耗的Flash微控制器。主要用于三表及超低功耗場(chǎng)合。EM78系列單片機(jī)采用高速CMOS工藝制造,低功耗設(shè)計(jì)為低功耗產(chǎn)品,價(jià)格較低。具有三個(gè)中斷源、R-OPTION功能.I/O喚醒功能、多功能I/O口等。具有優(yōu)越的數(shù)據(jù)處理性能,采用RISC結(jié)構(gòu)設(shè)計(jì)。PIC系列8位單片機(jī)是Microchip公司的產(chǎn)品。CPU采用RISC結(jié)構(gòu),運(yùn)行速度快,價(jià)格低適于用量大、檔次低、價(jià)格敏感的產(chǎn)品。Motorola是世界上最大的單片機(jī)生產(chǎn)廠家之一,品種全、選擇余地大、新產(chǎn)品多。其特點(diǎn)是噪聲低,抗干擾能力強(qiáng),比較適合于工控領(lǐng)域及惡劣的環(huán)境。AVR是增強(qiáng)RISC內(nèi)載Flash的單片機(jī),單片機(jī)內(nèi)部32個(gè)寄存器全部與ALU直接連接,突破瓶頸限制,每1MHz可實(shí)現(xiàn)1MIPS的處理能力,為高速、低功耗產(chǎn)品。端口有較強(qiáng)的負(fù)載能力,可以直接驅(qū)動(dòng)LED。支持ISP、IAP,I/O口驅(qū)動(dòng)能力較強(qiáng)。舉例說(shuō)明生活中應(yīng)用單片機(jī)的例子。生活中單片機(jī)無(wú)處不在:如洗衣機(jī)的控制主板、太陽(yáng)能的溫度控制器,電動(dòng)車的控制器,電磁爐、(高級(jí))電冰箱的控制系統(tǒng)、手機(jī)、電視遙控器、空調(diào)、洗衣機(jī)、微波爐、冰箱、熱水器、電子稱、電子表、計(jì)算器、汽車鑰匙、可視門禁、公交車報(bào)站器、公交車刷卡器、紅綠燈控制器等等。歐美日等國(guó)家,一個(gè)家庭中所擁有的單片機(jī)數(shù)量平均到100-120顆。單片機(jī)有著廣泛的應(yīng)用領(lǐng)域:?jiǎn)纹瑱C(jī)在智能儀器儀表中的應(yīng)用;單片機(jī)在工業(yè)測(cè)控中的應(yīng)用;單片機(jī)在計(jì)算機(jī)網(wǎng)絡(luò)和通訊技術(shù)中的應(yīng)用;單片機(jī)在日常生活及家電中的應(yīng)用;單片機(jī)在辦公自動(dòng)化萬(wàn)面。目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過(guò)程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄象機(jī)、攝象機(jī)、全自動(dòng)洗衣機(jī)的控制,以及程控玩具、電子寵物、自動(dòng)控制領(lǐng)域的機(jī)器人、

智能儀表、醫(yī)療器械等等MCS51單片機(jī)是基于(Harvard(哈佛))結(jié)構(gòu)的,其特點(diǎn)是(程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器是分開(kāi)的))CPU由(運(yùn)算器)和(控制器)組成。若不使用MCS-51片內(nèi)程序存儲(chǔ)器,引腳MCS51單片機(jī)是基于(Harvard(哈佛))結(jié)構(gòu)的,其特點(diǎn)是(程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器是分開(kāi)的))CPU由(運(yùn)算器)和(控制器)組成。若不使用MCS-51片內(nèi)程序存儲(chǔ)器,引腳(EA)必須接地.。在MCS-51單片機(jī)中,如果采用6MHz晶振,一個(gè)機(jī)器周期為(2us)。8051內(nèi)部RAM位尋址區(qū)的單元地址范圍為(20H?2FH),其位地址范圍為(00H?7FH)。8051芯片的引腳可以分為三類:(電源線)、(端口線)和(控制線)。若A中的內(nèi)容為63H,那么,P標(biāo)志位的值為(0)。8031單片機(jī)復(fù)位后,R4所對(duì)應(yīng)的存儲(chǔ)單元的地址為時(shí)當(dāng)前的工作寄存器區(qū)是(0)組工作寄存器區(qū)。8051型單片機(jī)內(nèi)部有(A)的ROM。A:4KBB:6KBC:MCS-51上電復(fù)位后,SP的內(nèi)容應(yīng)是(C:(04H),因上電時(shí)PSW=(OOH)。這A:00HB:07HPC用來(lái)存放(C)。A:指令C:下一條的指令地址采用8031單片機(jī)必須擴(kuò)展(256BB6OH)。D:8KBD:70HB:D:B上一條的指令地址正在執(zhí)行的指令地址)。C:I/O接口

)。C:I/O接口

)。D:3組A:14.MCS-51什么?MCS-51D:顯示接口A:數(shù)據(jù)存儲(chǔ)器 B:D:顯示接口PSW=18H時(shí),則當(dāng)前工作寄存器是(D0組B:1組C:2組系列單片機(jī)在片內(nèi)集成了哪些主要邏輯功能部件?各個(gè)邏輯部件的主要功能是單片機(jī)在片內(nèi)集成了中央處理器(CPU)、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)器/計(jì)數(shù)器、并行I/O接口、串行I/O接口、中斷系統(tǒng)等幾大單元。CPU是整個(gè)單片機(jī)的核心部件,由運(yùn)算器和控制器組成。運(yùn)算器可以完成算術(shù)運(yùn)算和邏輯運(yùn)算,其操作順序在控制器控制下進(jìn)行。控制器是由程序計(jì)數(shù)器PC(ProgramCounter)、指令寄存器IR(InstructionRegister)、指令譯碼器ID(InstructionDecoder)、定時(shí)控制邏輯和振蕩器OSC等電路組成。CPU根據(jù)PC中的地址將欲執(zhí)行指令的指令碼從存儲(chǔ)器中取出,存放在IR中,ID對(duì)IR中的指令碼進(jìn)行譯碼,定時(shí)控制邏輯在OSC配合下對(duì)ID譯碼后的信號(hào)進(jìn)行分時(shí),以產(chǎn)生執(zhí)行本條指令所需的全部信號(hào)。程序存儲(chǔ)器(ROM)用于存儲(chǔ)程序、常數(shù)、表格等。數(shù)據(jù)存儲(chǔ)器(RAM)用于存儲(chǔ)數(shù)據(jù)。8051內(nèi)部有兩個(gè)16位可編程序的定時(shí)器/計(jì)數(shù)器T0和T1,均為二進(jìn)制加1計(jì)數(shù)器。可用于定時(shí)和對(duì)外部輸入脈沖的計(jì)數(shù)。8051的中斷系統(tǒng)主要由中斷允許控制器IE和中斷優(yōu)先級(jí)控制器IP等電路組成??蓪?shí)現(xiàn)對(duì)5個(gè)中斷源的管理。8051的中斷系統(tǒng)主要由中斷允許控制器IE和中斷優(yōu)先級(jí)控制器IP等電路組成。其中,IE用于控制5個(gè)中斷源中哪些中斷請(qǐng)求被允許向CPU提出,哪些中斷源的中斷請(qǐng)求被禁止;IP用于控制5個(gè)中斷源的中斷請(qǐng)求的優(yōu)先權(quán)級(jí)別。I/O接口是MCS-51單片機(jī)對(duì)外部實(shí)現(xiàn)控制和信息交換的必經(jīng)之路,用于信息傳送過(guò)程中的速度匹配和增加它的負(fù)載能力??煞譃榇泻筒⑿蠭/O接口。中斷系統(tǒng)用于處理中斷過(guò)程。MCS-51系列單片機(jī)的引腳中有多少根I/O線?它們與單片機(jī)對(duì)外的地址總線和數(shù)據(jù)總線之間有什么關(guān)系?其地址總線和數(shù)據(jù)總線各有多少位?對(duì)外可尋址的地址空間有多大?80C51單片機(jī)有4個(gè)I/O端口,每個(gè)端口都是8位雙向口,共占32根引腳。每個(gè)端口都包括一個(gè)鎖存器(即專用寄存器P0?P3)、一個(gè)輸入驅(qū)動(dòng)器和輸入緩沖器。通常把4個(gè)端口稱為P0?P3。在無(wú)片外擴(kuò)展的存儲(chǔ)器的系統(tǒng)中,這4個(gè)端口的每一位都可以作為雙向通用I/O端口使用。在具有片外擴(kuò)展存儲(chǔ)器的系統(tǒng)中,P2口作為高8位地址線,P0口分時(shí)作為低8位地址線和雙向數(shù)據(jù)總線。對(duì)外可尋址空間為64KB。8051單片機(jī)的控制總線信號(hào)有哪些?各有何作用?控制線一共有6條:ale/prog:地址鎖存允許/編程線,配合P0口引腳的第二功能使用。在訪問(wèn)片外存儲(chǔ)器時(shí),8051CPU在P0.7-P0.0引腳上輸出片外存儲(chǔ)器低8位地址的同時(shí)在ALE/PROG上輸出一個(gè)高電位脈沖,用于把這個(gè)片外存儲(chǔ)器低8位地址鎖存到外部專用地址鎖存器,以便空出P0.7?P0.0引腳線去傳送隨后而來(lái)的片外存儲(chǔ)器讀寫(xiě)數(shù)據(jù)。在不訪問(wèn)片外存儲(chǔ)器時(shí),8051自動(dòng)在ALE/PROG上輸出頻率為fosc/6的脈沖序列。該脈沖序列可用作外部時(shí)鐘源或作為定時(shí)脈沖源使用。EA/Vpp:允許訪問(wèn)片外存儲(chǔ)器/編程電源線,可以控制8051使用片內(nèi)ROM還是使用片外ROM。若EA=0,則允許使用片內(nèi)ROM;若EA=1則允許使用片外ROM。PSEN:片外ROM選通線,在執(zhí)行訪問(wèn)片外ROM的指令MOVC時(shí),8051自動(dòng)在PSEN上產(chǎn)生一個(gè)負(fù)脈沖,用于為片外ROM芯片的選通。其他情況下PSEN線均為高電平封鎖狀態(tài)。RST/VpD:復(fù)位/備用電源線,可以使8051處于復(fù)位工作狀態(tài)。什么是指令?什么是程序?簡(jiǎn)述程序在單片機(jī)中的執(zhí)行過(guò)程。指令:人為輸入計(jì)算機(jī),由計(jì)算機(jī)識(shí)別并執(zhí)行一步步操作的命令的形式稱為指令。程序:一系列指令的有序集合稱為程序。程序在計(jì)算機(jī)中是按序執(zhí)行的,CPU通過(guò)程序計(jì)數(shù)器PC控制程序的執(zhí)行順序,一般情況下程序是按序執(zhí)行的,當(dāng)執(zhí)行轉(zhuǎn)移、調(diào)用、返回等指令時(shí),程序轉(zhuǎn)移到相應(yīng)的目的地址處執(zhí)行。CPU根據(jù)程序計(jì)數(shù)器PC中的地址將欲執(zhí)行指令的指令碼從存儲(chǔ)器中取出,存放在IR中,ID對(duì)IR中的指令碼進(jìn)行譯碼,定時(shí)控制邏輯在OSC配合下對(duì)ID譯碼后的信號(hào)進(jìn)行分時(shí),產(chǎn)生執(zhí)行本條指令所需的全部信號(hào),完成本條指令的執(zhí)行。8051單片機(jī)的存儲(chǔ)器組織采用何種結(jié)構(gòu)?存儲(chǔ)器地址空間如何劃分?各地址空間的地址范圍和容量如何?在使用上有何特點(diǎn)?80C51在結(jié)構(gòu)上的特點(diǎn)80C51采用將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開(kāi),分別尋址的結(jié)構(gòu),稱為Harvard結(jié)構(gòu)。在物理和邏輯上的地址空間存儲(chǔ)器上設(shè)有4個(gè)存儲(chǔ)器空間:片內(nèi)程序存儲(chǔ)器、片外程序存儲(chǔ)器、片內(nèi)數(shù)據(jù)存儲(chǔ)器、片外數(shù)據(jù)存儲(chǔ)器。在邏輯上有3個(gè)存儲(chǔ)器地址空間:片內(nèi)、片外統(tǒng)一的64KB程序存儲(chǔ)器地址空間,片內(nèi)256B數(shù)據(jù)存儲(chǔ)器地址空間,片外64KB的數(shù)據(jù)存儲(chǔ)器地址空間。訪問(wèn)格式訪問(wèn)片內(nèi)RAM采用MOV格式訪問(wèn)片外RAM采用MOVX格式8051片內(nèi)RAM低128單元?jiǎng)澐譃槟娜齻€(gè)主要部分?各部分主要功能是什么?片內(nèi)RAM低128單元?jiǎng)澐旨爸饕δ苋缦拢?1)工作寄存器組(00H—1FH)這是一個(gè)用寄存器直接尋址的區(qū)域,內(nèi)部數(shù)據(jù)RAM區(qū)的0—31,共32個(gè)單元。它是4精選文檔精選文檔個(gè)通用工作寄存器組,每個(gè)組包含8個(gè)8位寄存器,編號(hào)為R0—R7。(2) 位尋址區(qū)(20H—2FH)16個(gè)字節(jié)單元,共包含128位,這16個(gè)字節(jié)單元既可以進(jìn)行字節(jié)尋址,又可以實(shí)現(xiàn)位尋址。主要用于位尋址。(3) 堆棧與數(shù)據(jù)緩沖區(qū)(30H—7FH)用于設(shè)置堆棧、存儲(chǔ)數(shù)據(jù)。8051單片機(jī)的片內(nèi)、片外存儲(chǔ)器如何選擇?程序存儲(chǔ)器通過(guò)EA/Vpp引腳選擇。若EA=0,則允許使用片內(nèi)ROM;若EA=1則允許使用片外ROM。數(shù)據(jù)存儲(chǔ)器通過(guò)指令區(qū)分:訪問(wèn)片內(nèi)RAM采用MOV指令,訪問(wèn)片外RAM采用MOVX指令。何為堆棧指針?堆棧操作有何規(guī)定?堆棧是一個(gè)特殊的存儲(chǔ)區(qū)。主要功能是暫時(shí)存放數(shù)據(jù)和地址,通常用來(lái)保護(hù)斷點(diǎn)和現(xiàn)場(chǎng)。它的特點(diǎn)是按照“先進(jìn)后出”的存取數(shù)據(jù)。堆棧指針SP是一個(gè)8位寄存器,是用于指示堆棧的棧頂?shù)刂返募拇嫫?,它決定了堆棧在內(nèi)部RAM中的物理位置。8051單片機(jī)有多少個(gè)特殊功能寄存器?這些特殊功能寄存器能夠完成什么功能?特殊功能寄存器中的哪些寄存器可以進(jìn)行位尋址?8051有21個(gè)特殊功能寄存器(PC除外),它們被離散地分布在內(nèi)部RAM的80H?FFH地址單元中,共占據(jù)了128個(gè)存儲(chǔ)單元,其中有83位可以位尋址。特殊功能寄存器SFR的分布和功能見(jiàn)下表。特殊功能寄存器功能名稱物理地址可否位尋址B寄存器BF0H可以A(ACC)累加器E0H可以PSW程序狀態(tài)字(標(biāo)志寄存器)D0H可以IP中斷優(yōu)先級(jí)控制寄存器B8H可以P3P3口數(shù)據(jù)寄存器B0H可以IE中斷允許控制寄存器A8H可以P2P2口數(shù)據(jù)寄存器A0H可以SBUF串行口發(fā)送/接收數(shù)據(jù)緩沖寄存器99H不可以SCON串行口控制寄存器98H可以P1P1口數(shù)據(jù)寄存器90H可以TH1T1計(jì)數(shù)器高8位寄存器8DH不可以TH0T0計(jì)數(shù)器高8位寄存器8CH不可以TL1T1計(jì)數(shù)器低8位寄存器8BH不可以TL0T0計(jì)數(shù)器低8位寄存器8AH不可以TMOD定時(shí)器/計(jì)數(shù)器方式控制寄存器89H不可以TCON定時(shí)器控制寄存器88H可以PCON電源控制寄存器87H不可以DPH數(shù)據(jù)指針寄存器高8位83H不可以DPL數(shù)據(jù)指針寄存器低8位82H不可以SP堆棧指針寄存器81H不可以P0P0口數(shù)據(jù)寄存器80H可以DPTR是什么寄存器?它的作用是什么?數(shù)據(jù)指針DPTR是16位的專用寄存器,它由兩個(gè)8位的寄存器DPH(高8位)和DPL(低8位)組成。專門用來(lái)寄存片外RAM及擴(kuò)展I/O口進(jìn)行數(shù)據(jù)存取時(shí)的地址。編程時(shí),既可以按16位寄存器來(lái)使用,也可以按兩個(gè)8位寄存器來(lái)使用(即高位字節(jié)寄存器DPH和低位字節(jié)寄存器DPL)ODPTR主要是用來(lái)保存16位地址,當(dāng)對(duì)64KB外部數(shù)據(jù)存儲(chǔ)器尋址時(shí),可作為間址寄存器使用,8051單片機(jī)的PSW寄存器各位標(biāo)志的意義如何?程序狀態(tài)字PSW是8位寄存器,用于存放程序運(yùn)行的狀態(tài)信息,PSW中各位狀態(tài)通常是在指令執(zhí)行的過(guò)程中自動(dòng)形成的,但也可以由用戶根據(jù)需要采用傳送指令加以改變。各個(gè)標(biāo)志位的意義如下:PSW.7(C):進(jìn)位標(biāo)志位。yPSW.6(AC):輔助進(jìn)位標(biāo)志位,又稱為半進(jìn)位標(biāo)志位。PSW.5(F0):用戶標(biāo)志位。PSW.4、PSW.3(RS1和RS0):寄存器組選擇位。PSW.2(OV):溢出標(biāo)志位。PSW.1(空缺位):此位未定義。PSW.O(P):奇偶校驗(yàn)位。開(kāi)機(jī)復(fù)位后,CPU使用的是哪組工作寄存器(R-R)?它們的地址是什么?CPU如何0n確定和改變當(dāng)前工作寄存器組(R-R)?0n開(kāi)機(jī)復(fù)位后,CPU使用的是第。組工作寄存器。它們的地址是00H-07HoCPU通過(guò)對(duì)程序狀態(tài)字PSW中RS1和RS0的設(shè)置來(lái)確定和改變當(dāng)前工作寄存器組。8051單片機(jī)的片內(nèi)、片外存儲(chǔ)器如何選擇?程序存儲(chǔ)器通過(guò) /Vpp引腳選擇。若EA=0,則允許使用片內(nèi)ROM;若EA=1則允許使用片外ROM。數(shù)據(jù)存儲(chǔ)器通過(guò)指令區(qū)分:訪問(wèn)片內(nèi)RAM采用MOV指令,訪問(wèn)片外RAM采用MOVX指令。MCS-51單片機(jī)的時(shí)鐘周期、機(jī)器周期、指令周期是如何定義的?當(dāng)主頻為12MHz的時(shí)候,一個(gè)機(jī)器周期是多長(zhǎng)時(shí)間?執(zhí)行一條最長(zhǎng)的指令需要多長(zhǎng)時(shí)間?時(shí)鐘周期又稱為振蕩周期,由單片機(jī)內(nèi)部振蕩電路OSC產(chǎn)生,定義為OSC時(shí)鐘頻率的倒數(shù)。時(shí)鐘周期又稱為節(jié)拍(用P表示)。時(shí)鐘周期是時(shí)序中的最小單位。一個(gè)狀態(tài)有兩個(gè)節(jié)拍,機(jī)器周期定義為實(shí)現(xiàn)特定功能所需的時(shí)間。MCS-51的機(jī)器周期由12個(gè)時(shí)鐘周期構(gòu)成。執(zhí)行一條指令所需要的時(shí)間稱為指令周期,指令周期是時(shí)序中的最大單位。由于機(jī)器執(zhí)行不同指令所需的時(shí)間不同,因此不同指令所包含的機(jī)器周期數(shù)也不盡相同。MCS-51的指令可能包括1?4個(gè)不等的機(jī)器周期。當(dāng)MCS-51的主頻為12MHz時(shí),一個(gè)機(jī)器周期為1s。執(zhí)行一條指令需要的最長(zhǎng)時(shí)間為4s。8051單片機(jī)復(fù)位后,各寄存器的初始狀態(tài)如何?復(fù)位方法有幾種?8051單片機(jī)復(fù)位后機(jī)器的初始狀態(tài),即各寄存器的狀態(tài):PC之外,復(fù)位操作還對(duì)其它一些特殊功能寄存器有影響,它們的復(fù)位狀態(tài)如下:寄存器復(fù)位時(shí)內(nèi)容寄存器復(fù)位時(shí)內(nèi)容PC0000HTCON0X000000BACCOOHTL000HB00HTH000HPSW00HTH100HSP07HTH100HDPTR0000HSCON00HP0—P3FFHSBUF不確定TMODXX000000BPCON0XXX0000B單片機(jī)復(fù)位方法有:上電自動(dòng)復(fù)位,按鍵電平復(fù)位和外部脈沖三種方式。指令格式是由(操作碼)和(操作數(shù))所組成,也可能僅由(操作碼)組成。在MCS—51中,PC和DPTR都用于提供地址,但PC是為訪問(wèn)(程序)存儲(chǔ)器提供地址,而DPTR是為訪問(wèn)(數(shù)據(jù))存儲(chǔ)器提供地址。在變址尋址方式中,以(A)作變址寄存器,以(DPTR)或(PC)作基址寄存器。假定累加器A中的內(nèi)容為30H,執(zhí)行指令1000H:MOVCA,@A+PC后,把程序存儲(chǔ)器(1031H)單元的內(nèi)容送入累加器A中。8051執(zhí)行完MOVA,#08H后,PSW的(D)位被置位。A:CB:F0 C:OVD:P6.指出下列指令中的源操作數(shù)的尋址方式(1)MOVR0,#30H立即尋址(2)MOVA,30H直接尋址(3)MOVA,@R0寄存器間接尋址(4)MOVXA,@DPTR寄存器間接尋址(5)MOVCA,@A+DPTR變址尋址(6)MOVP1,P2直接尋址(7)MOVC,30H位尋址(8)MULAB寄存器尋址(9)MOVDPTR,#1234H立即尋址(10POPACC寄存器間接尋址指出下列各指令在程序存儲(chǔ)器中所占的字節(jié)數(shù)(1) MOV DPTR,#1234H 3 字節(jié)(2) MOVXA,@DPTR 1 字節(jié)(3) LJMP LOOP 3 字節(jié)(4) MOV R0,A 1 字節(jié)(5) AJMP LOOP 2 字節(jié)(6) MOV A,30H 2 字節(jié)(7) SJMP LOOP 2 字節(jié)(8) MOV B,#30H 2 字節(jié)8051單片機(jī)指令系統(tǒng)按功能可分為幾類?具有幾種尋址方式?它們的尋址范圍如何?MCS-51單片機(jī)指令系統(tǒng)按功能可分為5類:(1) 數(shù)據(jù)傳送指令(2) 算術(shù)運(yùn)算指令(3) 邏輯運(yùn)算和移位指令(4) 控制轉(zhuǎn)移指令(5) 位操作指令MCS-51單片機(jī)的指令系統(tǒng)提供了七種尋址方式,其對(duì)應(yīng)的尋址范圍如下表:

尋址方式使用的變量尋址范圍立即尋址立即數(shù)直接尋址程序存儲(chǔ)器ROM;內(nèi)部RAM低128個(gè)字節(jié);特殊功能寄存器SFR位地址空間寄存器尋址R0?R7;A、B、DPTR、C四組通用寄存器,A、B、DPTR、C寄存器間接尋址@R0、@R1、SP內(nèi)部RAM@R0、@R1、@DPTR外部RAM變址尋址@A+PC、@A+DPTR程序存儲(chǔ)器相對(duì)尋址PC+偏移量程序存儲(chǔ)器位尋址內(nèi)部RAM低128B位尋址區(qū)可位尋址的特殊功能寄存器SFR位9.訪問(wèn)特殊功能寄存器和外部數(shù)據(jù)存儲(chǔ)器應(yīng)采用哪種尋址方式?訪問(wèn)特殊功能寄存器,應(yīng)采用直接尋址、位尋址方式。訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,應(yīng)采用寄存器間接尋址方式。在0?255B范圍內(nèi),可用寄存器R0、R1間接尋址:MOVXA,@R0或MOVXA,@R1MOVX@R0,A或MOVX@R1,A在0?64KB范圍內(nèi),可用16位寄存器DPTR間接尋址:MOVXA,@DPTRMOVX@DPTR,A“DAA”指令的作用是什么?怎樣使用?這條指令是在進(jìn)行BCD碼加法運(yùn)算時(shí),跟在“ADD”和“ADDC”指令之后,用來(lái)對(duì)BCD碼的加法運(yùn)算結(jié)果自動(dòng)進(jìn)行修正的,使其仍為BCD碼表達(dá)形式。在計(jì)算機(jī)中,遇到十進(jìn)制調(diào)整指令時(shí),中間結(jié)果的修正是由ALU硬件中的十進(jìn)制修正電路自動(dòng)進(jìn)行的。用戶不必考慮何時(shí)該加“6”,使用時(shí)只需在上述加法指令后面緊跟一條“DAA”指令即可。片內(nèi)RAM20H-2FH單元中的128個(gè)位地址與直接地址00H?7FH形式完全相同,如何在指令中區(qū)分出位尋址操作和直接尋址操作?位尋址是直接尋址方式的一種。雖然內(nèi)部RAM位尋址區(qū)的位地址范圍00H?7FH與低128個(gè)單元的單元地址范圍00H?7FH形式完全相同,但是在應(yīng)用中可以通過(guò)以下的方法區(qū)分:1.通過(guò)指令操作碼(指令的類型)區(qū)分:位操作只有17條指令,位尋址的操作只適用于下列位指令,而直接尋址操作對(duì)這些指令是無(wú)效的。MOVC,bitCPLbit(C)JBbit,relMOVbit,CORLC,bit(/bit)JNBbit,relCLRbit(C)ANLC,bit(/bit)JCrelSETBbit(C)JBCbit,relJNCrel位操作只有MOV、CLR、SETB、CPL、ORL、ANL、JB、JNB、JBC、JC、JNC幾種操作碼,其中:JB、JNB、JBC、JC、JNC是位尋址特有的。2.當(dāng)指令操作碼一樣時(shí),可通過(guò)操作數(shù)的表現(xiàn)形式來(lái)區(qū)分。直接位地址的表示方法有:(1) 直接使用位地址形式。如:MOV00H,C(2) 字節(jié)地址加位序號(hào)的形式。如:MOV20H.0,C(3) 位的符號(hào)地址(位名稱)的形式。如:ANLC,P精選文檔精選文檔字節(jié)符號(hào)地址(字節(jié)名稱)加位序號(hào)的形式。如:CPLPSW.63.可通過(guò)指令中的累加器區(qū)分:位操作中的累加器為C,單元操作中的累加器為A。12.SJMP,AJMP和LJMP指令在功能上有何不同?指令的轉(zhuǎn)移范圍不同。SJMP是256B范圍內(nèi)的相對(duì)轉(zhuǎn)移指令,AJMP是2KB范圍內(nèi)的無(wú)條件短跳轉(zhuǎn)指令,LJMP是64KB范圍內(nèi)的無(wú)條件長(zhǎng)跳轉(zhuǎn)指令。13.在“MOVCA,@A+DPTR”和“MOVCA,@A+PC”中,分別使用了DPTR和PC作基址,請(qǐng)問(wèn)這兩個(gè)基址代表什么地址?使用中有何不同?使用@A+DPTR基址變址尋址時(shí),DPTR為常數(shù)且是表格的首地址,A為從表格首址到被訪問(wèn)字節(jié)地址的偏移量。使用@A+PC基址變址尋址時(shí),PC仍是下條指令首地址,而A則是從下條指令首地址到常數(shù)表格中的被訪問(wèn)字節(jié)的偏移量。設(shè)片內(nèi)RAM中的(40H)=50H,寫(xiě)出當(dāng)執(zhí)行下列程序段后寄存器A和R0,以及片內(nèi)RAM中50H和51H單元的內(nèi)容為何值?MOVA,40HMOVR0,AMOVA,#00MOV@R0,AMOVA,#30HMOV51H,A結(jié)果為:(A)=30H(R0)=50H(50H)=00H (51H)=30H設(shè)堆棧指針(SP)=60H,片內(nèi)RAM中的(30H)=24H,(31H)=10H。執(zhí)行下列程序段后,61H,62H,30H,31H,DPTR及SP中的內(nèi)容將有何變化?PUSH30HPUSH31HPOP DPLPOP DPHMOV30H,#00HMOV31H,#0FFH解:結(jié)果為:61H、62H單元為堆棧單元,其內(nèi)容已被彈出棧。(30H)=00H(31H)=0FFH (DPTR)=2410H (SP)=60H在8051的片內(nèi)RAM中,已知(20H)=30H,(30H)=40H,(40H)=50H,(50H)=55H。分析下面各條指令,說(shuō)明源操作數(shù)的尋址方式,分析按順序執(zhí)行各條指令后的結(jié)果。MOVA,40HMOVR0,AMOVP1,#0F0HMOV@R0,20HMOV50H,R0MOVA,@R0MOVP2,P1解:指令源操作數(shù)的尋址方式執(zhí)行指令后的結(jié)果指令源操作數(shù)的尋址方式執(zhí)行指令后的結(jié)果MOVA,40H直接尋址(A)=50HMOVR0,A寄存器尋址(R0)=50HMOVP1,#80H立即尋址(P1)=80HMOV@R0,20H寄存器間接尋址(50H)=30HMOVDPTR,#2000H立即尋址(DPTR)=2000HMOV40H,30H直接尋址(40H)=40HMOVR0,30H直接尋址(R0)=40HMOVD0H,R0直接尋址(D0H)=40HMOV10H,#10H立即尋址(10H)=10HMOVA,@R0寄存器間接尋址(A)=50HMOVP2,P1直接尋址(P2)=80H17.完成以下的數(shù)據(jù)傳送過(guò)程(1)R1的內(nèi)容傳送到R0。(2)片外RAM20H單元的內(nèi)容送R0。(3)片外RAM20H單元的內(nèi)容送片內(nèi)RAM20H單元。(4)片外RAM1000H單元的內(nèi)容送片內(nèi)RAM20H單元。(5)ROM2000H單元的內(nèi)容送R0。(6)ROM2000H單元的內(nèi)容送片內(nèi)RAM20H單元。(7)ROM2000H單元的內(nèi)容送片外RAM20H單元。解:R1的內(nèi)容傳送到R0;TOC\o"1-5"\h\zMOV A, R1MOV R0, A片外RAM20H單元內(nèi)容送R0;MOV R1, #20HMOVXA,@R1MOV R0, A片外RAM20H單元的內(nèi)容送片內(nèi)RAM20H單元;MOV R0, #20HMOVX A,@R0MOV 20H,A片外RAM1000H單元的內(nèi)容送片內(nèi)RAM20H單元;MOVDPTR,#1000HMOVXA,@DPTRMOV 20H, AROM2000H單元的內(nèi)容送R0單元;CLR AMOV DPTR,#2000HMOVCA,@A+DPTRMOV R0, AROM2000H單元的內(nèi)容送片內(nèi)RAM20H單元;CLRAMOV DPTR, #2000HMOVCA,@A+DPTRMOV 20H, A(7)ROM2000H單元的內(nèi)容送片外RAM20H單元。CLRAMOV DPTR, #2000HMOVC A,@A+DPTRMOV R0, #20HMOVX @R0, A18.設(shè)有兩個(gè)4位BCD碼,分別存放在片內(nèi)RAM的23H,22H單元和33H,32H單元中,求它們的和,并送入43H,42H單元中去。(以上均為低位在低字節(jié),高位在高字節(jié))。解: ORG0000HLJMPSTARTORG0030HSTART:MOVA,22HADDA,32HDAAMOV42H,AMOVA,23HADDCA,33HDAAMOV43H,ASJMP$END19.編程將片內(nèi)RAM的40H?60H單元中內(nèi)容送到片外RAM以3000H開(kāi)始的單元中。并將原片內(nèi)RAM數(shù)據(jù)塊區(qū)域全部清0。解:ORG0000HMOVX@DPTR,ALJMPMAINCLRAORG0030HMOV@R1,AMAIN:MOVSP,#60HINCR1MOVR7,#21HINCDPTRMOVR1,#40HDJNZR7,LOOPMOVDPTR,#3000HSJMP$LOOP:MOVA,@R1END20.編程計(jì)算片內(nèi)RAM區(qū)30H?37H的8個(gè)單元中數(shù)的算術(shù)平均值,結(jié)果存放在3AH單元中。解:ORG0000HLP1: INCR0LJMPMAINDJNZR3,LP2ORG0030HMOVR3,#03HMAIN:MOVR0,#30HCLRCMOVR1,#00HLP3:MOVA,R1MOVR2,#00HRRCAMOVR3,#08HMOVR1,ALP2: MOVA,@R0MOVA,R2ADDA,R2RRCAMOVR2,AMOVR2,AJNCLP1DJNZR3,LP3INCR1MOV3AH,R2

ENDSJMP$END21.編寫(xiě)計(jì)算下式的程序,設(shè)乘積的結(jié)果均小于255°A,B值分別存放在片外RAM的2001H和2002H單元中,結(jié)果存于2000H單元中。(A+B)X(A+B)+10若(A+B)X(A+B)<10Y=J(A+B)X(A+B)若(A+B)X(A+B)=10(A+B)X(A+B)—10若(A+B)X(A+B)>10解:JORG0000HSJMPNET3LJMPSTARTNET1:JNCNET2ORG0030HCLRCSTART:MOVDPTR,#2001HMOVA,R1MOVXA,@DPTRSUBBA,#10MOV30H,AMOVDPTR,#2000HMOVDPTR,#2002HMOVX@DPTR,AMOVXA,@DPTRSJMPNET3ADDA,30HNET2:MOVA,R1MOVB,AADDA,#10MULABMOVDPTR,#2000HMOVR1,AMOVX@DPTR,ACJNEA,#10,NET1NET3:SJMP$MOVDPTR,#2000HENDMOVX@DPTR,A22.設(shè)有兩個(gè)長(zhǎng)度均為15的數(shù)組,分別存放在片外RAM以2000H和2100H開(kāi)始的存儲(chǔ)區(qū)中,試編程求其對(duì)應(yīng)項(xiàng)之和,結(jié)果存放在以2200H為首地址的存儲(chǔ)區(qū)中。解: ORG0000HMOVDPTR,#2000HLJMPMAINMOVR1,#30HORG0030hMOVR2,#15MAIN:MOVDPTR,#2000HLOOP:MOVXA,@DPTRMOVA,#OFFHMOV@R1,AMOVX@DPTR,AINCDPTRMOVDPTR,#2100HINCR1MOVA,#34HDJNZR2,LOOPMOVX@DPTR,AMOVR1,#30HMOVDPTR,#2008HMOVDPTR,#2100HMOVA,#33HMOVR2,#15MOVX@DPTR,AMOVR0,#40HMOVDPTR,#2108HLOOP1:MOVA,#44HMOVXA,@DPTRMOVX@DPTR,ACLRCMOVDPTR,#200EHADDCA,@R1MOVA,#0EEHMOV@R0,AMOVX@DPTR,AINCDPTRMOVDPTR,#210EHINCR1MOVA,#32HINCR0MOVX@DPTR,ADJNZR2,LOOP1精選文檔精選文檔MOVDPTR,#2200HINCR0MOVR2,#15INCDPTRMOVR0,#40HDJNZR2,LOOP2LOOP2:MOVA,@R0SJMP$MOVX@DPTR,AEND23.設(shè)有100個(gè)有符號(hào)數(shù),連續(xù)存放在片外RAM以2000H為首地址的存儲(chǔ)區(qū)中,試編程統(tǒng)計(jì)其中正數(shù)、負(fù)數(shù)、零的個(gè)數(shù)。解:計(jì)其中正數(shù)、負(fù)數(shù)、零的個(gè)數(shù)。解:ORG0000HLJMPMAINORG0030HMAIN:MOVR2,#100MOVR3,#00HMOVR4,#00HMOVR5,#00HMOVDPTR,#2000HLOOP:MOVXA,@DPTRCJNEA,#00H,NET1INCR324.試編一查表程序,從外部RAM首地址為NET1:JBACC.7NET2INCR4SJMPNET3NET2:INCR5NET3:INCDPTRDJNZR2,LOOPSJMP$ENDASCII碼A,將其地址送到20A0H和20A1H單元中。解: ORG0000HMOVA,R2LJMPMAINMOVX@DPTR,AORG0030HINCDPTRMAIN:MOVSP,#60HMOVA,R3MOVDPTR,#2000HMOVX@DPTR,AMOVR7,#9FHSJMPLP2LP0:MOVXA,@DPTRLP1:INCDPTRCJNEA,#41H,LP1DJNZR7,LP0MOVR2,DPLLP2:RETMOVR3,DPHENDMOVDPTR,#20A0H25.編程把片外RAM中以2040H為首地址的連續(xù)50個(gè)單元中的無(wú)符號(hào)數(shù)按降序排列,存放到以3000H為首地址的存儲(chǔ)區(qū)中。解: ORG0000HMOVA,20HLJMPMAINCJNEA,21H,LOOPORG0100HLOOP:JNCLOOP1MAIN: MOVDPTR,#2040HMOVA,20HMOVR2,#50MOVX@DPTR,ACLR7FHDECDPTRDECR2MOVA,21HLS: MOVXA,@DPTRMOVX@DPTR,AMOV20H,AINCDPTRINCDPTRSETB7FHMOVXA,@DPTRLOOP1:DJNZR2,LSMOV21H,AJB7FH,MAIN2000H、長(zhǎng)度為9FH的數(shù)據(jù)塊中找出第一個(gè)

SJMP$END26.在片外RAM以2000H為首地址的存儲(chǔ)區(qū)中,存放著20個(gè)用ASCII碼表示的0?9之間的數(shù),試編程將它們轉(zhuǎn)換成BCD碼,并以壓縮BCD碼(即一個(gè)單元存放兩位BCD碼)的形式存放在以3000H開(kāi)始的單元中。解:ORG0000HMOVA,41HLJMPMAINXCHDA,@R1ORG0030HMOV@R1,AMAINMOVR2,#0AHINCR1MOVR1,#30HINCDPTRMOVDPTR,#2000HDJNZR2,TTTT:MOVXA,@DPTRMOVDPTR,#3000HCLRCMOVR1,#30HSUBBA,#30HMOVR2,#0AHSWAPATT1:MOVA,@R1MOV41H,AMOVX@DPTR,AINCDPTRINCR1MOVXA,@DPTRINCDPTRCLRCDJNZR2,TT1SUBBA,#30HSJMP$MOV@R1,AEND27.編程實(shí)現(xiàn)將片外RAM中2400H?2450H單元中的數(shù)傳送到2500H?2550H單元中。解:ORG0000HMOVR2,#51HLJMPMAINLOOP:ORG0030HMOVDPH,30HMAIN:MOVDPL,31HMOVDPTR,#2400HMOVXA,@DPTRMOVA,#07HMOVDPH,32HMOVX@DPTR,AMOVDPL,33HMOVDPTR,@2450HMOVX@DPTR,AMOVA,#06HINC31HMOVX@DPTR,AINC33HMOV30H,#24HDJNZR2,LOOPMOV31H,#00HAJMP$MOV32H,#25HENDMOV33H,#00H28.在片外RAM的2030H和2031H單元中各有一個(gè)小于16的數(shù),編程求這兩個(gè)數(shù)的平方和,結(jié)果存放在2040H單元。要求用調(diào)用子程序方法實(shí)現(xiàn)。MAIN:ORG0000HLJMPMAINORG0030HMOVDPTR,#2030HMAIN:ORG0000HLJMPMAINORG0030HMOVDPTR,#2030HMOVA,#03HMOVX@DPTR,AMOVDPTR,#2031HMOVA,#05HMOVX@DPTR,AMOVDPTR,#2030HMOVXA,@DPTRLCALLSQRMOVR1,AMOVDPTR,#2031HMOVXA,@DPTRLCALLSQRMOVR1,AMOVDPTR,#2031HMOVXA,@DPTRLCALLSQRADDA,R1MOVDPTR,#2040HMOVX@DPTR,AAJMP$SQR:TAB:INCAMOVCA,@A+PCRETDB0,1,4,9,16,25DB36,49,64,81,100DB121,144,169,196,225END習(xí)題3MCS-51的P0口作為輸出端口時(shí),每位能驅(qū)動(dòng)(8)個(gè),丄型TTL負(fù)載。MCS-51有(4 )個(gè)并行I/O口,在作為通用I/O口使用時(shí)P0~P3是準(zhǔn)雙向口,所以由輸出轉(zhuǎn)輸入時(shí)必須先寫(xiě)入(1 )。MCS-51有(5)個(gè)中斷源,有(2 )個(gè)中斷優(yōu)先級(jí),優(yōu)先級(jí)由軟件填寫(xiě)特殊功能寄存器(IP)加以選擇。外部中斷1所對(duì)應(yīng)的中斷入口地址為(0013H)H。當(dāng)定時(shí)器T0工作在方式(3)時(shí),要占定時(shí)器T1的TR1和TF1兩個(gè)控制位。設(shè)(TMOD)=0A5H,則定時(shí)器T0的狀態(tài)是(方式1計(jì)數(shù)),定時(shí)器T1的狀態(tài)是(方式2定時(shí))。定時(shí)器T0溢出標(biāo)志位是(TF0),定時(shí)器T1溢出標(biāo)志位是(TF1)。在數(shù)據(jù)通信中,有數(shù)據(jù)傳送方式有(單工)、(半雙工)、(全雙工)、(多工)四種方式。設(shè)置串行口為10位UART,則其工作方式應(yīng)選用為(工作方式1)。單片機(jī)串行通信時(shí),若要發(fā)送數(shù)據(jù),就必須將要發(fā)送的數(shù)據(jù)送至(SBUF)寄存器,若要接收數(shù)據(jù)也要到該寄存器取數(shù)。異步串行數(shù)據(jù)通信的楨格式由(起始位)位,(數(shù)據(jù)位)位,(奇偶較驗(yàn))位和(停止位)位組成。在中斷服務(wù)程序中,至少應(yīng)有一條( D)。A:傳送指令 B:轉(zhuǎn)移指令 C:加法指法D:中斷返回指令8031單片機(jī)中斷查詢確認(rèn)后,在下列各種運(yùn)行情況中,能立即進(jìn)行響應(yīng)的是( D)。A:當(dāng)前正在執(zhí)行高優(yōu)先級(jí)中斷處理B:當(dāng)前正在執(zhí)行RETI指令C:當(dāng)前指令是DIV指令,且正處于取指令的機(jī)器周期D:當(dāng)前指令是MOVA,R3要使MCS-51能夠響應(yīng)定時(shí)器T1中斷、串行接口中斷,它的中斷允許寄存器IE的內(nèi)容應(yīng)是(A)A:98H B:84H C:42 D:22H使用定時(shí)器T1時(shí),有幾種工作模式(D)A:1種B:2種C:3種D:4種當(dāng)定時(shí)器工作在方式1,系統(tǒng)采用6MHz晶振時(shí),若要定時(shí)器定時(shí)0.5ms,則定時(shí)器的初始值為(A)。A:FF06HB:F006HC:0006HD:06FFH定時(shí)器T1的溢出標(biāo)志為TF1,采用中斷方式,當(dāng)定時(shí)器溢出時(shí),若CPU響應(yīng)中斷后,

該標(biāo)志(B)。A:由軟件清零B:由硬件清零C:隨機(jī)狀態(tài) D:AB都可以在異步通信中每個(gè)字符由9位組成,串行口每分鐘傳25000個(gè)字符,則對(duì)應(yīng)的波特率為(D)b/s。C:3000C)。C:SCONDC:3000C)。C:SCOND:3750D:TMOD控制串行接口工作方式的寄存器是(A:TCON B:PCON什么是中斷和中斷系統(tǒng)?其主要功能是什么?解:所謂“中斷”,是指CPU執(zhí)行正常程序時(shí),系統(tǒng)中出現(xiàn)特殊請(qǐng)求,CPU暫時(shí)中止當(dāng)前的程序,轉(zhuǎn)去處理更緊急的事件(執(zhí)行中斷服務(wù)程序),處理完畢(中斷服務(wù)完成)后,CPU自動(dòng)返回原程序的過(guò)程采用中斷技術(shù)可以提高CPU效率、解決速度矛盾、實(shí)現(xiàn)并行工作、分時(shí)操作、實(shí)時(shí)處理、故障處理、應(yīng)付突發(fā)事件,可使多項(xiàng)任務(wù)共享一個(gè)資源(CPU)。中斷系統(tǒng):能夠?qū)崿F(xiàn)中斷功能的硬件電路和軟件程序。中斷系統(tǒng)的功能:能夠?qū)崿F(xiàn)中斷優(yōu)先權(quán)排隊(duì)、中斷嵌套、自動(dòng)響應(yīng)中斷和中斷返回等功能。什么是中斷優(yōu)先級(jí)?中斷優(yōu)先處理的原則是什么?解:中斷優(yōu)先級(jí)是CPU響應(yīng)中斷的先后順序。中斷優(yōu)先處理的原則是:⑴先響應(yīng)優(yōu)先級(jí)高的中斷請(qǐng)求,再響應(yīng)優(yōu)先級(jí)低的中斷請(qǐng)求。(2) 如果一個(gè)中斷請(qǐng)求己被響應(yīng),同級(jí)的其他中斷請(qǐng)求將被禁止。(3) 如果同級(jí)的多個(gè)中斷請(qǐng)求同時(shí)出現(xiàn),CPU則按單片機(jī)內(nèi)部的自然優(yōu)先級(jí)順序響應(yīng)各中斷請(qǐng)求。單片機(jī)內(nèi)部自然優(yōu)先級(jí)順序(由高到低)為:外部中斷0—定時(shí)器0中斷T外部中斷1—定時(shí)器1中斷T串行接口中斷。8051有哪些中斷源?如何對(duì)各中斷請(qǐng)求進(jìn)行控制?解:(1) 80C51有以下中斷源:外部中斷0(INTO)請(qǐng)求,低電平有效。外部中斷1(iNTi)請(qǐng)求,低電平有效。T0:定時(shí)器/計(jì)數(shù)器0溢出中斷請(qǐng)求。T1:定時(shí)器/計(jì)數(shù)器1溢出中斷請(qǐng)求。TI/RI:串行接口中斷請(qǐng)求。(2) 通過(guò)對(duì)特殊功能寄存器TCON、SCON、IE、IP的各位進(jìn)行置位或復(fù)位等操作,可實(shí)現(xiàn)對(duì)各種中斷的控制功能。簡(jiǎn)述中斷系統(tǒng)的初始化步驟。解:中斷系統(tǒng)的初始化步驟如下:(1) 開(kāi)相應(yīng)中斷源的中斷允許;(2) 設(shè)定所用中斷源的中斷優(yōu)先級(jí);(3) 若為外部中斷,則應(yīng)規(guī)定中斷觸發(fā)方式(低電平或負(fù)邊沿觸發(fā))。簡(jiǎn)述MCS-51單片機(jī)的中斷響應(yīng)過(guò)程。精選文檔精選文檔解:單片機(jī)一旦響應(yīng)中斷請(qǐng)求,就由硬件完成以下功能:根據(jù)響應(yīng)的中斷源的中斷優(yōu)先級(jí),使相應(yīng)的優(yōu)先級(jí)狀態(tài)觸發(fā)器置1;執(zhí)行硬件中斷服務(wù)子程序調(diào)用,并把當(dāng)前程序計(jì)數(shù)器PC的內(nèi)容壓入堆棧,保護(hù)斷點(diǎn),尋找中斷源;清除相應(yīng)的中斷請(qǐng)求標(biāo)志位(串行口中斷請(qǐng)求標(biāo)志RI和TI除外);把被響應(yīng)的中斷源所對(duì)應(yīng)的中斷服務(wù)程序的入口地址(中斷矢量)送入PC,從而轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。中斷返回,程序返回?cái)帱c(diǎn)處繼續(xù)執(zhí)行。8051單片機(jī)怎樣管理中斷?怎樣開(kāi)放和禁止中斷?怎樣設(shè)置優(yōu)先級(jí)?解:由中斷源提出中斷請(qǐng)求,由中斷控制允許控制決定是否響應(yīng)中斷,如果允許響應(yīng)中斷,則CPU按設(shè)定好的優(yōu)先級(jí)的順序響應(yīng)中斷。如果是同一優(yōu)先級(jí)的中斷,則按單片機(jī)內(nèi)部的自然優(yōu)先級(jí)順序(外部中斷0T定時(shí)器0中斷T外部中斷1T定時(shí)器1中斷T串行接口中斷)響應(yīng)中斷。CPU響應(yīng)中斷請(qǐng)求后,就立即轉(zhuǎn)入執(zhí)行中斷服務(wù)程序。保護(hù)斷點(diǎn)、尋找中斷源、中斷處理、中斷返回,程序返回?cái)帱c(diǎn)處繼續(xù)執(zhí)行。由中斷允許寄存器IE控制開(kāi)放和禁止中斷。欲開(kāi)放某一中斷,則應(yīng)先開(kāi)放總中斷允許(EA置1),然后開(kāi)放相應(yīng)中斷的中斷允許(相應(yīng)位置1);若要要禁止中斷,則EA置。即可。由中斷優(yōu)先級(jí)控制寄存器IP控制中斷優(yōu)先級(jí),相應(yīng)位置1,則設(shè)為高級(jí)中斷,置0則為低級(jí)。其中:PS為串行中斷優(yōu)先級(jí),PT1(0)為定時(shí)中斷1(0)優(yōu)先級(jí),PX1(0)外部中斷1(0)優(yōu)先級(jí)。8051在什么條件下可響應(yīng)中斷?解:⑴有中斷源發(fā)出中斷請(qǐng)求。⑵中斷總允許控制位EA=1,CPU開(kāi)放總中斷。申請(qǐng)中斷的中斷源的中斷允許位為1,即該中斷沒(méi)有被屏蔽。無(wú)同級(jí)或更高級(jí)中斷正在服務(wù)。當(dāng)前指令周期已經(jīng)結(jié)束。若現(xiàn)行指令為RETI或訪問(wèn)IE或IP指令時(shí),讀指令以及緊接著的另一條指令已執(zhí)行完畢。滿足以上條件,則CPU響應(yīng)響應(yīng)中斷元的中斷請(qǐng)求。請(qǐng)寫(xiě)出INT1為低電平觸發(fā)的中斷系統(tǒng)初始化程序。解:INT1為低電平觸發(fā)的中斷系統(tǒng)初始化程序如下:ORG0000HLJMPMAINORG0013HLJMPINTN1ORG0100HMAIN:MOVSP,#60HSETBEASETBEX1 ;開(kāi)INT1中斷CLRPX1 ;令I(lǐng)NT1為低優(yōu)先級(jí)CLRIT1 ;令I(lǐng)NT1為電平觸發(fā)SJMP$END說(shuō)明MCS-51單片機(jī)響應(yīng)中斷后,中斷服務(wù)的入口地址。解:中斷服務(wù)程序的入口地址如下表:中斷源中斷矢量外部中斷0(INTO)0003H定時(shí)器T0中斷000BH外部中斷1(INT1)0013H定時(shí)器T1中斷001BH串行口中斷0023H在執(zhí)行某一中斷源的中斷服務(wù)程序時(shí),如果有新的中斷請(qǐng)求出現(xiàn),試問(wèn)在什么情況下可響應(yīng)新的中斷請(qǐng)求?在什么情況下不能響應(yīng)新的中斷請(qǐng)求?解:⑴符合以下6個(gè)條件可響應(yīng)新的中斷請(qǐng)求:有中斷源發(fā)出中斷請(qǐng)求。中斷總允許控制位EA=l,CPU開(kāi)放總中斷。申請(qǐng)中斷的中斷源的中斷允許位為1,即中斷沒(méi)有被屏蔽。無(wú)同級(jí)或更高級(jí)中斷正在被服務(wù)。當(dāng)前的指令周期已結(jié)束。若現(xiàn)行指令為RETI或訪問(wèn)IE或1P指令時(shí),該指令以及緊接著的另一條指令已執(zhí)行完。⑵如果新的中斷請(qǐng)求"優(yōu)先級(jí)"低于正在執(zhí)行的中斷請(qǐng)求或與其同級(jí),則不能被響應(yīng)。8051單片機(jī)外部中斷源有幾種觸發(fā)中斷請(qǐng)求的方法?如何實(shí)現(xiàn)中斷請(qǐng)求?解:有兩種方式:電平觸發(fā)和邊沿觸發(fā)。電平觸發(fā)方式:CPU在每個(gè)機(jī)器周期的S5P2期間采樣外部中斷引腳的輸人電平。若為低電平,便置IEl(IEO)為“1”,申請(qǐng)中斷;若外部中斷引腳為高電平,則IEl(IEO)清零。邊沿觸發(fā)方式:CPU在每個(gè)機(jī)器周期的S5P2期間采樣外部中斷請(qǐng)求引腳的輸人電平。如果在相繼的兩個(gè)機(jī)器周期采樣過(guò)程中,一個(gè)機(jī)器周期采樣到外部中斷請(qǐng)求為高電平,接著下一個(gè)機(jī)器周期采樣到外部中斷請(qǐng)求為低電平,則使IEl(IEO)置1,申請(qǐng)中斷;否則,IE1(1E0)置0。MCS-51的中斷服務(wù)程序能否存放在64KB程序存儲(chǔ)器的任意區(qū)域?如何實(shí)現(xiàn)?解:可以。在相應(yīng)的中斷源的中斷程序入口地址處,用一條長(zhǎng)跳轉(zhuǎn)指令(LJMPAdd16),轉(zhuǎn)到相應(yīng)64K程序存儲(chǔ)器的任意地址(Add16)處,執(zhí)行相應(yīng)的中斷程序。8051單片機(jī)內(nèi)部有幾個(gè)定時(shí)器/計(jì)數(shù)器?它們是由哪些特殊功能寄存器組成?解:80C51單片機(jī)片內(nèi)設(shè)有2個(gè)定時(shí)器/計(jì)數(shù)器:定時(shí)器/計(jì)數(shù)器T0和定時(shí)器/計(jì)數(shù)器T1,T0由TH0、TL0組成,T1由TH1、TLl組成。T0、T1由特殊功能寄存器TMOD、TCON控制。8051單片機(jī)定時(shí)器/計(jì)數(shù)器作定時(shí)和計(jì)數(shù)使用時(shí),其計(jì)數(shù)脈沖分別由誰(shuí)提供?解:作定時(shí)器用時(shí),計(jì)數(shù)脈沖來(lái)自單片機(jī)內(nèi)部,其頻率為振蕩頻率的1/12。作計(jì)數(shù)器用時(shí),計(jì)數(shù)脈沖來(lái)自單片機(jī)的外部,即P3.4(TO)和P3.5(T1)兩個(gè)引腳的輸入脈沖。定時(shí)器/計(jì)數(shù)器作定時(shí)器使用時(shí),其定時(shí)時(shí)間與哪些因素有關(guān)?作計(jì)數(shù)器時(shí),對(duì)外界計(jì)數(shù)頻率有何限制?解:作定時(shí)器用時(shí),其定時(shí)時(shí)間與定時(shí)器的工作模式、定時(shí)器的定時(shí)初值以及單片機(jī)的晶振頻率有關(guān)。作計(jì)數(shù)器用時(shí),外界計(jì)數(shù)脈沖的頻率不能高于振蕩脈沖頻率的1/24。定時(shí)器/計(jì)數(shù)器的4種工作方式各有何特點(diǎn)?如何選擇、設(shè)定?解:(1)工作方式。:13位定時(shí)器/計(jì)數(shù)器工作方式。工作方式0由THO的全部8位和TLO的低5位構(gòu)成13位加1計(jì)數(shù)器,此時(shí)TLO的高3位未用。在計(jì)數(shù)過(guò)程中,當(dāng)TLO的低5位溢出時(shí),都會(huì)向THO進(jìn)位,而全部13位計(jì)數(shù)器溢出時(shí),則計(jì)數(shù)器溢出標(biāo)志位TFO置位。⑵工作方式1:16位的定時(shí)器/計(jì)數(shù)器方式。工作方式1由TH0作為高8位,TLO為低8位,在計(jì)數(shù)過(guò)程中,當(dāng)全部16位計(jì)數(shù)器溢出時(shí),則計(jì)數(shù)器溢出標(biāo)志位TFO置位。工作方式2:自動(dòng)重新裝入計(jì)數(shù)初值的8位定時(shí)器/計(jì)數(shù)器工作方式。工作方式2的16位定時(shí)器/計(jì)數(shù)器被拆成兩個(gè)8位寄存器THO和TLO,CPU在對(duì)它們初始化時(shí)必須裝入相同的定時(shí)器/計(jì)數(shù)器初值。定時(shí)器/計(jì)數(shù)器啟動(dòng)后,TLO按8位加1計(jì)數(shù)器計(jì)數(shù),當(dāng)TLO計(jì)數(shù)溢出時(shí),置位TFO的同時(shí)又從預(yù)置寄存器THO中重新獲得計(jì)數(shù)初值并啟動(dòng)計(jì)數(shù)。如此反復(fù)。適合于需要重復(fù)計(jì)數(shù)的應(yīng)用場(chǎng)合,也可以當(dāng)做串行數(shù)據(jù)通信的波特率發(fā)生器使用。工作方式3:兩個(gè)8位定時(shí)器/計(jì)數(shù)器(僅適用于TO)。在工作方式3時(shí),定時(shí)器/計(jì)數(shù)器0被拆成兩個(gè)獨(dú)立的8位計(jì)數(shù)器TLO和THO。其中,TLO既可以作計(jì)數(shù)器使用,也可以作為定時(shí)器使用,定時(shí)器/計(jì)數(shù)器0的各控制位和引腳信號(hào)全歸它使用。其功能和操作與方式0或方式1完全相同°TH0只能作為簡(jiǎn)單的定時(shí)器使用,只能借用定時(shí)器/計(jì)數(shù)器1的控制位TR1和TF1,也就是以計(jì)數(shù)溢出去置位TF1,TR1則負(fù)責(zé)控制TH0定時(shí)的啟動(dòng)和停止。一般情況下,只有在T1以工作方式2運(yùn)行(當(dāng)波特率發(fā)生器用)時(shí),才允許T0工作于方式3。TMOD用于控制定時(shí)器/計(jì)數(shù)器T0和T1的工作方式,M1M0為工作方式選擇位。M1M0=00方式0,13位定時(shí)器/計(jì)數(shù)器;M1M0=01 方式1,16位定時(shí)器/計(jì)數(shù)器;M1M0=10 方式2,自動(dòng)重新裝入計(jì)數(shù)初值的8位定時(shí)器/計(jì)數(shù)器;M1M0=11方式3,兩個(gè)8位定時(shí)器/計(jì)數(shù)器(僅適用于T0)。C/T為定時(shí)方式/計(jì)數(shù)方式選擇位。若設(shè)定C/T=0,則選擇定時(shí)器工作方式;若設(shè)定C/T=1,則選擇計(jì)數(shù)器工作方式。一個(gè)定時(shí)器/計(jì)數(shù)器同一時(shí)刻或者作定時(shí)用,或者作計(jì)數(shù)用,不能同時(shí)既作定時(shí)又作計(jì)數(shù)用。GATE:門控位。它的狀態(tài)決定了定時(shí)器/計(jì)數(shù)器啟/??刂迫Q于TR0還是取決于TR0和INTO引腳兩個(gè)條件的組合。若GATE=0,則只由TCON中的啟/??刂莆籘R0控制定時(shí)器/計(jì)數(shù)器的啟/停。此時(shí),只要TRO=1,則接通模擬開(kāi)關(guān),使計(jì)數(shù)器進(jìn)行加法計(jì)數(shù),定時(shí)器/計(jì)數(shù)器啟動(dòng)工作。而如果TRO=O,則斷開(kāi)模擬開(kāi)關(guān),定時(shí)器/計(jì)數(shù)器停止工作。若GATE=1,由外部中斷請(qǐng)求信號(hào)INTO和TCON中的啟/停控制位TR0組合狀態(tài)控制定時(shí)器/計(jì)數(shù)器的啟/停。只有TRO=1,且INTO引腳也是高電平,才能啟動(dòng)定時(shí)器/計(jì)數(shù)器工作,否則,定時(shí)器/計(jì)數(shù)器停止工作。定時(shí)器/計(jì)數(shù)器的定時(shí)器/計(jì)數(shù)器范圍為:工作方式0:13位定時(shí)器/計(jì)數(shù)器方式,因此,最多可以計(jì)到213,也就是8192次。工作方式1:16位定時(shí)器/計(jì)數(shù)器方式,因此,最多可以計(jì)到216,也就是65536次。工作方式2和工作方式3:都是8位的定時(shí)器/計(jì)數(shù)器方式,因此,最多可以計(jì)到28,也說(shuō)是256次。使用一個(gè)定時(shí)器,如何通過(guò)軟硬結(jié)合方法實(shí)現(xiàn)較長(zhǎng)時(shí)間的定時(shí)?解:設(shè)定好定時(shí)器的定時(shí)時(shí)間,采用中斷方式用軟件設(shè)置計(jì)數(shù)次數(shù),進(jìn)行溢出次數(shù)累計(jì),從而得到較長(zhǎng)的時(shí)間。利用定時(shí)器輸出周期為2ms的方波,設(shè)單片機(jī)晶振頻率為6MHz。試編程實(shí)現(xiàn)之。解:選用定時(shí)器/計(jì)數(shù)器TO作定時(shí)器,工作在方式1,輸出為P1.0引腳,2ms的方波可由1ms的高低電平相間隔而成,因而只要每隔1ms對(duì)P1.0取反一次即可得到這個(gè)方波。初值的計(jì)算如下:ST0=12/(6X106)=2X10-6STC=M-T/T0=2i6—lX10-3/2X10-6=65536—500=65036二FK0CH當(dāng)定時(shí)器/計(jì)數(shù)器采用方式0時(shí),初值為:TC=M-T/T0=2i3-lX10-3/2X10-6=8192-500=7692=lE0CH,則真正的16位計(jì)數(shù)初值為:F00CH(高8位,低5位)程序如下:ORG0000HLJMPSTARTORG000BHLJMPT0INT;T0中斷入口ORG0030HSTART:MOVSP,#60H;初始化程序MOVTL0,#0CH;T0賦初值MOVTH0,#0FEHMOVTMOD,#01H;定時(shí)器/計(jì)數(shù)器0工作于方式1SETBTR0;啟動(dòng)T0SETBET0;開(kāi)T0中斷SETBEA;開(kāi)總允許中斷SJMP$T0INT:PUSHACCPUSHPSWCPLP1.0MOVTL0,#0CH精選文檔精選文檔MOVTHO,#0FEHSETBTRO ;啟動(dòng)TOPOPPSWPOPACCRETIEND當(dāng)采用查詢方式時(shí):蘭色字部分應(yīng)該為:LP1:JBCTFO,LP2SJMPLP1LP2:CPLP1.0MOVTLO,#0CHMOVTHO,#0FEHSETBTR0SJMPLP1END已知8051單片機(jī)系統(tǒng)時(shí)鐘頻率為6MHz,請(qǐng)利用定時(shí)器T0和P1.2輸出占空比為1:8的矩形脈沖,其波形如圖3.1所示,試編程實(shí)現(xiàn)之。圖3.1習(xí)題3.39的波形圖解:程序如下:ORG0000HLJMPSTARTORG0100HSTART:MOVSP,#60HMOVTMOD,#02HMOVTH0,#0E7HMOVTL0,#0E7HCLRP1.2SETBTR0HIGH0:SETBP1.2HIGH1::JBCTF0,LOW0;50rs到清TF0,轉(zhuǎn)LOW0AJMPHIGH1;50rs未到,轉(zhuǎn)HIGH1等待LOW0:MOVR7,#7;350rs=7X50rsCLRP1.2;P1.2=0輸出350rs低電平LOW1:JBCTF0,LOW2;50rs到清TF0,LOW2AJMPLOW1LOW2:DJNZR7,LOW1;7次未到轉(zhuǎn)LOW1AJMPHIGH0;7次到轉(zhuǎn)HIGH0精選文檔END在8051單片機(jī)中,已知時(shí)鐘頻率為12MHz,請(qǐng)編程使P1.0和P1.1分別輸出周期為2ms和500s的方波。解:選擇T0工作于方式1定時(shí)500rsfosc=12MHz12機(jī)器周期T=三12= =1X10-6S=1nsf12x106(216-X)X1rS=500rsX=65036=0FE0CH程序如下:ORG1000HMOVTMOD,#01HMOVTH0,#0FEHMOVTL0,#0CHSETBTR0DEL:MOVR7,#4;2ms=4X500^sD500:JBCTF0,D2;500rs到清TF0,轉(zhuǎn)移AJMPD500;50rs未到,等待D2:CPLP1.0MOVTH0,#0FEH;重裝初值MOVTL0,#0CHDJNZR7,D500;4次未到,轉(zhuǎn)D500CPLP1.1AJMPDEL;4次到,轉(zhuǎn)DELSJMP$END利用8051單片機(jī)定時(shí)器/計(jì)數(shù)器測(cè)量某正脈沖寬度,已知此脈沖寬度小于10ms,主機(jī)頻率為12MHz。編程測(cè)量脈沖寬度,并把結(jié)果轉(zhuǎn)換為BCD碼,順序存放在以片內(nèi)50H單元為首地址的內(nèi)存單元中(50H單元存?zhèn)€位)。解:程序如下:ORG0000HLJMPSTARTORG0030HSTART:MOVSP,#60HMOVTMOD,#09H;設(shè)丁0為方式1,GATE=1MOVTL0,#00HMOVTH0,#00HMOVR0,#4EHJBP3.2,$;等待P3.2變低SETBTR0;啟動(dòng)T0工作JNBP3.2,$;等待P3.2變高JBP3.2,$;等待P3.2再次變低CLRTR9;停止計(jì)數(shù)MOV@R0,TL0;存放計(jì)數(shù)的二進(jìn)制數(shù)低字節(jié)入4EHINCR0精選文檔精選文檔MOV@R0,TH0;存放計(jì)數(shù)的二進(jìn)制數(shù)高字節(jié)入4EHMOVR1,#50H;BCD碼首址MOVR5,#3;BCD碼字節(jié)數(shù)CLRALOOP1:MOV@R1,A;清存BCD碼單元INCR1DJNZR5,LOOP1MOVR7,#10H;二進(jìn)制數(shù)位數(shù)LOOP2:MOVR0,#4EH;二進(jìn)制數(shù)首址MOVR6,#2;二進(jìn)制數(shù)字節(jié)數(shù)CLRCLOOP3:MOVA,@R0RLCAMOV@R0,AINCR0DJNZR6,LOOP3;2字節(jié)二進(jìn)制數(shù)左移1位MOVR5,#3;BCD碼字節(jié)數(shù)MOVR1,#50HLOOP4:MOVA,@R1ADDCA,@R1;BCD碼乘2加C運(yùn)算DAAMOV@R1,AINCR1DJNZR5,LOOP4DJNZR7,LOOP2SJMP$END波特率、比特率和數(shù)據(jù)傳送速率的含義是什么?解:為了衡量串行通信的速度,應(yīng)該有一個(gè)測(cè)量單位,在數(shù)據(jù)通信中,描述數(shù)據(jù)傳送速度的方式有3種:波特率定義為每秒傳送信號(hào)的數(shù)量,單位為波特(Baud)。比特率定義為每秒傳送二進(jìn)制數(shù)的信號(hào)數(shù)(或每秒傳送二進(jìn)制碼元的個(gè)數(shù)),單位是bps(bitpersecond)或?qū)懗蒪/s(位/秒)。數(shù)據(jù)傳送速率(或字符傳送速率)定義為每秒傳送多少個(gè)字符(或單位時(shí)間內(nèi)平均數(shù)據(jù)傳移速率,單位是字符/秒。在串行通信中,傳送的信號(hào)可能是二進(jìn)制、八進(jìn)制或十進(jìn)制等。只有在傳送的信號(hào)是二進(jìn)制信號(hào)時(shí),波特率才與比特率數(shù)值上相等。而在采用調(diào)制技術(shù)進(jìn)行串行通信時(shí),波特率是描述載波信號(hào)每秒鐘變化為信號(hào)的數(shù)量(又稱為調(diào)制速率)。在這種情況下,波特率與比特率在數(shù)值上可能不相等。42.什么是串行異步通信?它有哪些特征?解:異步通信中,接收器和發(fā)送器有各自的時(shí)鐘,數(shù)據(jù)常以字符為單位組成字符幀傳送,用一幀來(lái)表示一個(gè)字符,其字符幀的數(shù)據(jù)格式為:在一幀格式中,先是一個(gè)起始位“0”(低電平),然后是5?8個(gè)數(shù)據(jù)位,規(guī)定低位在前,高位在后,接下來(lái)是1位奇偶校驗(yàn)位(可以省略),最后是1?2位的停止位“1”(高電平)。異步通信的優(yōu)點(diǎn)是不需要傳送同步脈沖,可靠性高,所需設(shè)備簡(jiǎn)單;缺點(diǎn)是字符幀中因包含有起始位和停止位而降低了有效數(shù)據(jù)的傳輸速率。單片機(jī)的串行接口由哪些功能部件組成?各有什么作用?解:MCS-51單片機(jī)的串行接口由發(fā)送緩沖器SBUF、發(fā)送控制器、接收緩沖器SBUF、輸入移位寄存器、接收控制器、波特率發(fā)生器等部件組成。發(fā)送緩沖器SBUF用于存放將要發(fā)送的數(shù)據(jù),接收緩沖器SBUF用于存放接收的數(shù)據(jù),輸入位移寄存器用于接收緩沖并實(shí)現(xiàn)串/并轉(zhuǎn)換,發(fā)送/接收控制寄存器用于控制串行口的工作,波特率發(fā)生器用于控制串行口發(fā)送/接收數(shù)據(jù)的速度。簡(jiǎn)述串行接口接收和發(fā)送數(shù)據(jù)的過(guò)程。解:串行接口的接收和發(fā)送是對(duì)同一地址(99H)兩個(gè)物理空間的特殊功能寄存器SBUF進(jìn)行讀或?qū)懙摹.?dāng)向SBUF發(fā)”寫(xiě)”命令時(shí)(執(zhí)濘'MOVSBUF,A”指令),即向發(fā)送緩沖器SBUF裝載并開(kāi)始由DCD引腳向外發(fā)送一幀數(shù)據(jù),發(fā)送完使發(fā)送中斷標(biāo)志位口=1。在滿足串行接口接收中斷標(biāo)志位RI(SCON.O)=0的條件下,置允許接收位REN(SCON.4)=1,就會(huì)接收一幀數(shù)據(jù)進(jìn)入移位寄存器,并裝載到接收SBUF中,同時(shí)使Rl=lo當(dāng)發(fā)讀SBUF命令時(shí)(執(zhí)行"MOVA,SBUF”指令),便從接收緩沖器SBUF讀取信息通過(guò)80C51內(nèi)部總線送CPU。8051串行接口有幾種工作方式?有幾種幀格式?各工作方式的波特率如何確定?解:串行口有四種工作方式:方式0(8位同步移位寄存器),方式1(10位異步收發(fā)),方式2(11位異步收發(fā)),方式3(11位異步收發(fā))。字符幀的數(shù)據(jù)格式為:在一幀格式中,先是一個(gè)起始位“0”(低電平),然后是5?8個(gè)數(shù)據(jù)位,規(guī)定低位在前,高位在后,接下來(lái)是1位奇偶校驗(yàn)位(可以省略),最后是1?2位的停止位“1”o兩個(gè)字符幀之間可以有空閑位,也可以無(wú)空閑位。在8051串行口的四種工作方式中,方式0和2的波特率是固定的,而方式1和3的波特率是可變的,由定時(shí)器T1的溢出率(T1溢出信號(hào)的頻率)控制。各種方式的通信波特率如下:方式0的波特率固定為系統(tǒng)晶振頻率的1/12,其值為f/12oosc其中:f——系統(tǒng)主機(jī)晶振頻率OSC方式2的波特率由PCON中的選擇位SMOD來(lái)決定,可由下式表示:波特率二(2smod/64)XfOSC即:當(dāng)SMOD=1時(shí),波特率為f/32,當(dāng)SMOD=0時(shí),波特率為f/64OSC OSC方式1和方式3的波特率由定時(shí)器T1的溢出率控制。因而波特率是可變的。定時(shí)器T1作為波特率發(fā)生器,相應(yīng)公式如下:波特率二(2smod/32)X定時(shí)器T1溢出率

T1溢出率二T1計(jì)數(shù)率/產(chǎn)生溢出所需的周期數(shù)二(f/12)/(2kTC)OSC式中:K一定時(shí)器T1的位數(shù)TC——定時(shí)器T1的預(yù)置初值簡(jiǎn)述單片機(jī)多機(jī)通信的原理。解:當(dāng)一片80C51(主機(jī))與多片80C51(從機(jī))通信時(shí),主機(jī)的SM2位置0,所有從機(jī)的SM2位置1,處于接收地址幀狀態(tài)。主機(jī)發(fā)送一地址幀,其中,8位是地址,第9位為地址/數(shù)據(jù)的區(qū)分標(biāo)志,該位置1精選文檔精選文檔表示該幀為地址幀。所有從機(jī)收到地址幀后,都將接收的地址與本機(jī)的地址比較。對(duì)于地址相符的從機(jī),使自己的SM2位置0(以接收主機(jī)隨后發(fā)來(lái)的數(shù)據(jù)幀),并把本站地址發(fā)回主機(jī)作為應(yīng)答;對(duì)于地址不符的從機(jī),仍保持SM2=1,對(duì)主機(jī)隨后發(fā)來(lái)的數(shù)據(jù)幀不予理睬。從機(jī)發(fā)送數(shù)據(jù)結(jié)束后,要發(fā)送一幀校驗(yàn)和,并置第9位(TB8)為1,作為從機(jī)數(shù)據(jù)傳送結(jié)束的標(biāo)志。主機(jī)接收數(shù)據(jù)時(shí)先判斷數(shù)據(jù)接收標(biāo)志(RB8),若接收幀的RB8=0,則存儲(chǔ)數(shù)據(jù)到緩沖區(qū),并準(zhǔn)備接收下幀信息。若RB8=1,表示數(shù)據(jù)傳送結(jié)束,并比較此幀校驗(yàn)和,若正確則回送正確信號(hào)00H,此信號(hào)命令該從機(jī)復(fù)位(即重新等待地址幀);若校驗(yàn)和出錯(cuò),則發(fā)送0FFH,命令該從機(jī)重發(fā)數(shù)據(jù)。主機(jī)收到從機(jī)應(yīng)答地址后,確認(rèn)地址是否相符,如果地址不符,發(fā)復(fù)位信號(hào)(數(shù)據(jù)幀中TB8=1);如果地址相符,則清TB8,開(kāi)始發(fā)送數(shù)據(jù)。從機(jī)收到復(fù)位命令后回到監(jiān)聽(tīng)地址狀態(tài)(SM2=1)。否則開(kāi)始接收數(shù)據(jù)和命令。在微機(jī)與單片機(jī)構(gòu)成的測(cè)控網(wǎng)絡(luò)中,提高通信的可靠性要注意哪些問(wèn)題?解:在微機(jī)與單片機(jī)構(gòu)成的測(cè)控網(wǎng)絡(luò)信中,對(duì)于串行口數(shù)據(jù)傳輸接口的抗干擾能力,在不超過(guò)接口標(biāo)準(zhǔn)指定的適用范圍時(shí),都具有一定的抗干擾能力,以保證信號(hào)傳輸?shù)目煽啃浴5谝恍┕I(yè)測(cè)控系統(tǒng)中,通信環(huán)境往往十分惡劣,就必須充分考慮通信的抗干擾能力,以保證通信的可靠性。(1) 選擇合適的通信標(biāo)準(zhǔn)。例如:長(zhǎng)距離傳輸采用RS-485標(biāo)準(zhǔn)能有效抑制功模干擾,采用20Ma電流環(huán)可以降低信號(hào)對(duì)各種電器噪聲的敏感程度。(2) 在高噪聲環(huán)境下使用光纖傳輸介質(zhì)在高噪聲環(huán)境下可以有效減少噪聲干擾。(3) 采用光電隔離技術(shù)可以提高系統(tǒng)的安全性和可靠性(4) 在發(fā)送器輸出接口采用限流電路或在發(fā)送器輸出端外接電容器,可以有效抑制數(shù)據(jù)傳輸過(guò)程中的串?dāng)_。(5) 采取降低發(fā)送端數(shù)據(jù)速率的方法可以減少接收端接收數(shù)據(jù)益處的錯(cuò)誤。某異步通信接口按方式3傳送,已知其每分鐘傳送3600個(gè)字符,計(jì)算其傳送波特率。解:11(位)X3600(字符/分鐘)=39600b/分鐘=660b/s(方式3為每個(gè)字符11位)。利用8051串行口控制8位發(fā)光二極管工作,要求發(fā)光二極管每1s交替地亮、滅,畫(huà)出電路圖并編寫(xiě)程序。解:主程序框圖如下:0040HSCON,#00H0040HSCON,#00HSBUF,#0FFHC00H,CDELAY00HC,00HBBSBUF,#00HCCSBUF,#0FFHAAR7,#8R6,#250R5,#250R5,D3程序如下:ORGMOVMOVSETBMOVAA:ACALLCPLMOVJCMOVSJMPBB:MOVcc:ajmpDELAY:MOVD1:MOVD2:MOVD3:DJNZDJNZR6,D2DJNZR7,D1RETEND試編寫(xiě)一串行通信的數(shù)據(jù)發(fā)送程序,發(fā)送片內(nèi)RAM的20H?2FH單元的16字節(jié)數(shù)據(jù),串行接口方式設(shè)定為方式2,采用偶校驗(yàn)方式。設(shè)晶振頻率為6MHz。解:采用查詢方式編寫(xiě)發(fā)送程序如下:

ORG0000HSTART:LJMPSTARTORG0030HMOVSP,#60HMOVSCON,#80H;設(shè)定方式2發(fā)送MOVPCON,#80H;波特率為fOSC/32MOVR0,#20H;給待發(fā)送數(shù)據(jù)塊地址指針R0置初值MOVR7,#16;給數(shù)據(jù)塊長(zhǎng)度計(jì)數(shù)器R7置初值CLRTI;清口標(biāo)志位LS:MOVA,@R0;取一字節(jié)數(shù)據(jù)送AMOVC,P;A中有奇數(shù)個(gè)“T‘時(shí),P置"1”MOVTB8,C;P-TB8,作為奇偶校驗(yàn)位MOVSBUF,A;啟動(dòng)發(fā)送JNBTI,$;查詢發(fā)送標(biāo)志,等待一字節(jié)發(fā)送完CLRTI;清口標(biāo)志位INCR0DJNZR7,LSRETEND51.試編寫(xiě)一串行通信的數(shù)據(jù)接收程序,將接收到的16字節(jié)數(shù)據(jù)送入片內(nèi)RAM30H-3FH單元中。串行接口設(shè)定為方式3,波特率為1200bps,晶振頻率為6MHzo解:程序如下:START:ORG0000HLJMPSTARTORG0100HMOVSP,#60HMOVTMOD,#20H;設(shè)定T1為模式2定時(shí)MOVTH1,#0F3H;送時(shí)間常數(shù)MOVTL1,#0F3HSETBTR1;啟動(dòng)定時(shí)器T1MOVSCON,#0D0H;串行接口設(shè)定為方式3,并允許接收MOVR0,#30HMOVR7,#16JNBRI,$;查詢等待接收CLRRIMOVA,SUBF;從串行接口中讀取數(shù)據(jù)JN BP,PN;對(duì)該字節(jié)進(jìn)行查錯(cuò)處理若P=RB8無(wú)錯(cuò),否則有錯(cuò)JNBRB8,PER;若P=1,RB8=0,有錯(cuò),轉(zhuǎn)出錯(cuò)處理LJMPRIG;若P=1,RB8=

溫馨提示

  • 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)論