单片机期末复习题总结B941103班1第一章:1.基本概念:(1)微处理器:简称MPU,是一个由算术逻辑运算单元、控制器单元、寄存器组及内部系统总线等单元组成的大规模集成电路芯片。(2)微型计算机:微处理器加上同样采用大规模集成电路制成的用于存储程序和数据的存储器以及与输入输出设备相连接的输入输出接口电路就构成了微型计算机(3)微型计算机系统:以微型计算机为主体,配上输入/输出设备、外存储设备、电源机箱以及基本系统软件就可组成微型计算机系统。(4)单片机:将微处理器、存储器、输入输出接口电路集成在一块芯片上,称为单片微型计算机或单片机。4.微型计算机系统由硬件和软件两大部分组成。第二章:1.80C51单片机主要以一下几个部分组成:1个8位中央处理器;4KB的EPROM/ROM;128B的RAM;32条I/O线;2个定时器/计算器;1个具有5个中断源、2个优先级的中断嵌套结构;用于多处理机通信、I/O口扩展的全双工通用异步接收发送器(UART);特殊功能寄存器(SFR);1个片内振荡器和时钟电路。这些部件通过内部总线连接起来,构成一个完整的微型计算器。*2.a.PSW.0(P,奇偶标志位)b.PSW.2(OV,溢出标志位)单片机期末复习题总结B941103班2c.PSW.6(AC,辅助进位标志位)d.PSW.7(CY,进位标志位)*3.CPU工作时序总结:一个机器周期=6个状态(6S)=12拍(2P)一个指令周期=1-4个机械周期当外接12MHz的晶振时,80C51单片机的四个周期分别为:震荡周期=1/12us,时钟周期(状态周期)=1/6us,机械周期=1us,指令周期=1-4us。例2:当主频为6MHZ时,机器周期是2μs,执行一条指令最多需要8μs。系统复位后SP内容为07H,最大寻址范围为64KBRST为复位输入信号,高电平有效。在振荡器工作时,在RST上作用两个机器周期以上的高电平,将单片机复位。例:某单片机的晶振频率为12MHZ,需给2μs的高电平才能有效。(两个机器周期,所以需要乘以2)*4.教材33页表2-5如下:例如:PC复位后(PC)=0000H,其他雷同,这个地址也是单片机再执行的首地址。第三章第四章:1.已知(PSW)=90H,执行下列程序后,分析寄存器A和PSW的值。MOVA,#9CHADDCA,#8BH(A)=;(PSW)=。单片机期末复习题总结B941103班32.已知(A)=81H,(R0)=17H,(17H)=35H,指出执行完下列程序段后A的内容。ANLA,#17HORL17H,AXRLA,@R0CPLA(A)=。3.已知:(A)=7AH,(R0)=30H,(30H)=0A5H,(PSW)=80H,顺序执行下列指令(10分)(1)SUBBA,30H(A)=(CY)=(AC)=(OV)=(P)=。(2)XCHDA,@R0(A)=((R0))=。(3)SWAPA(A)=。(4)MOVA,@R0(A)=((R0))=。4.ORG1FFEHTEXT:ACALLSUBPROC求子程序SUBPROC的目的地址范围。5.在HEX单元有两个十六进制数,试编程分别把他们转化成ASCII码存入ASC和ASC+1单元。6.已知内部RAM中,(34H)=40H,(40H)=50H,(50H)=5AH,(5AH)=60H,ROM中(125AH)=88H,试分析下面程序的运行结果,并指出每条指令的源操作数寻址方式。MOVA,50HMOVR0,AMOVP1,#0F0HMOV@R0,30HMOVDPTR,#1200HMOVX@DPTR,A单片机期末复习题总结B941103班4MOVCA,@A+DPTRMOV40H,50HMOVP2,P17.设(R1)=31H,内部RAM31H的内容为68H,32H单元的内容为60H,(A)=10H。请指出运行下面的程序后各单元内容的变化。MOVA,@R1MOV@R1,32HMOV32H,AMOVR1,#45H8.已知(A)=8AH,请指出下面程序运行后,累加器A及PSW中进位位CY、奇偶位P和溢出位OV的值。(1)ADDA,#7FH;(2)SUBBA,#7FH;(3)ANLA,#0FH;(4)XRLA,#0F0H。9.已知:(30H)=11001001B,(31H)=00001111B,请指出下列每条指令执行后注释中的结果。MOV32H,30H;(32H)=0C9HANL32H,#0FH;(32H)=9HMOVA,31H;(A)=0FHSWAPA;(A)=0F0HRLA;(A)=0E1HANLA,#0F0H;(A)=0E0HORL32H,A;(32H)=E9H第五章:1.80C51三总线结构(1)地址总线(AB)地址总线由P0口提供低8位A7~A0,P2口提供高8位A15~A8。(2)数据总线(DB)单片机期末复习题总结B941103班5数据总线由P0口提供,其宽度为8位。P0口为三态双向口,(3)控制总线(CB)控制总线包括片外系统扩展用控制线和片外信号对单片机的控制线。系统扩展用控制线有ALE、PSEN、EA、WR、RD。2.如下图:写出扩展的六个芯片的地址的取值范围。解:2764(1):0000H—1FFFH2764(2):2000H—3FFFH2764(3):4000H—5FFFH6264(1):0000H—1FFFH6264(2):2000H—3FFFH6264(3):4000H—5FFFH3.若要设计一个32K*8位的外RAM寄存器,分别采用2114(1K*4位)和6264(8K*8位)芯片,各需多少块存储芯片?单片机期末复习题总结B941103班64.习题5-9若要设计一个32K*8位的外RAM存储器,分别采用2114(1K*4位)和6264(8K*8位)芯片,各需多少块存储芯片。第六章:1.*所有的端口都需要编址,常用的编址方式有两种:意识I/O端口与内存但愿统一编址;二是I/O端口独立编址。2.*CPU与外设之间数据的输入输出方式主要有无条件传送方式、查询传送方式、中断传送方式和直接存储器存取(DMA)方式四种。3.*中断的特征信息:80C51有5个中断源,两个优先级,(高优先级和低优先级)可以实现两级中断嵌套。**3中断实验:单片机期末复习题总结B941103班7单片机期末复习题总结B941103班8七.程序:LEDBITP1.0LEDBufBIT20Horg0ljmpStartorg3Interrupt0:pushPSW;保护现场cplLEDBuf;取反LEDmovc,LEDBufmovLED,cpopPSW;恢复现场retiStart:clrLEDBufclrLEDmovTCON,#01h;外部中断0下降沿触发movIE,#81h;打开外部中断允许位(EX0)及总中断允许位(EA)OK:ljmpOKEnd第七章:1.跑马灯实验:51分册上实验一。课后习题7.5、7.6例7-3单片机期末复习题总结B941103班92.8155地址分配如下。RAM地址:7E00H-7EFEHI/O口地址:命令状态口7F00HPA口7F01HPB口7F02HPC口7F03H定时器低字节7F04H定时器高字节7F05H3.8255与单片机80C51的硬件连接如下图所示。(1)确定该8255的四个端口地址(不参加译码的位取“1”)。(2)欲使A口:方式0.输出口.B口:方式1.输入口.上C口:方式0.输入口.试初始化编程(3)欲使80C51外部RAM3040H的内容通过PA口输出,试编程.。解:(1)1011001111111111B3FFH1011011111111111B7FFH1011101111111111BBFFH1011111111111111BFFFH(2)MOVDPTR,#0BFFFHMOVA,#8EH单片机期末复习题总结B941103班10MOVX@DPTR,A(3)MOVDPTR,#3040HMOVXA,@DPTRMOVDPTR,#B3FFHMOVX@DPTR,ASJMP$第八章:P138页8.3.1时间常数计算(1)计数常数(2)定时常数例题8-1、8-2、8-3重点看思考题:要求用单片机80C51的定时/计数器1,使其工作在方式0,定时200μs,200μs到,使B的内容高低4位互换.采用中断方式,系统的晶振频率为6MHZ,试编写相关程序.另:该方式下最大定时时间?如果要求的定时时间超过单片机最大定时时间将如何处理?解:TM=12*1/6=2μsx1=2n-t/TM=213-200/2=8192-100=8092=1F9CH0001111110011100,TH1=FCH,TL1=1CHORG0000HAJMPMAINORG001BHAJMPSUBT1MAIN:MOVSP,#50HMOVTMOD,#00HMOVTH1,#0FCHMOVTL1,#1CHSETBET1单片机期末复习题总结B941103班11SETBEASETBTR1SJMP$SUBT1:MOVTH1,#0FCHMOVTL1,#1CHMOVA,BSWAPAMOVB,ARETIx=0,2n-t/TM=0,8192-tmax/TM=0,tmax=8192*2=16.384ms第九章:通信方式并行通信串行通信单工半双工全双工异步通信同步通信柑橘信息的传送方向根据不同的数据格式单片机期末复习题总结B941103班121.根据信息的传送方向,串行通信可进一步分为单工、半双工、和全双工三种2.波特率:串行通信用每秒传送二进制数据位的数量表示传送速率称为波特率。1波特=1bps(位/秒)3.异步通信:教材143页图9-2。3.80C51系列单片机具有一个可编程的全双工串行口,既可作为同步移位寄存器又可作为UART(通用的异步接收/发送器),还可以作为同步移位寄存器使用。4.如图所示,要求将发光二极管从左向右依次点亮,并不断循环。请编写程序。解法1:查询法:ORG0200HMOVSCON,#00H;串行口方式0CLRTI;清发送中断标志CLRES;禁止串行中断MOVA,#80H;左边一个发光管先亮DLIT:CLRP1.0;关闭并行输出MOVSBUF,A;串行输出JNBTI,$;未发送完,等待SETBP1.0;发送完,开启并行输出LCALLDELAY;调用延时子程序AT89S52RXDTXDP1.0CD4094STBCLKDATA单片机期末复习题总结B941103班13CLRTI;清发送中断标志RRA;发光右移SJMPDLIT;继续5.如图所示,要求当按钮A按下时读入开关量的值并存入30H单元。写出程序。ORG0200HSTART:JBP1.1,$;按钮未按下则等待SETBP1.0;置入CD4014并行输入量CLRP1.0;准备串行移位输入MOVSCON,#10H;串行口方式0,并置REN=1启动接收JNBRI,$;未接收完,等待MOVA,SBUF;读入开关量MOV30H,A;存入30H单元CLRRI;清RI,为下一次接收做准备CALLDELAY;延时SJMPSTART;准备下一次读取开关量80C51RXDTXDP1.0CD4014P/SCLKQ8P1.1VCCA单片机期末复习题总结B941103班14第十章:(1)7段LED段码表P167表10-1(2)如图是80C51用8155扩展I/O口控制的6位LED动态显示接口电路。30H~35H单元为显示缓冲区,存放要显示的十六进制数。每位十六进制数以二进制形式存放于相应缓冲区单元的低4位,高4位为0。由图可见8155的命令/状态口、PA、PB、PC的口地址分别为7F00H、7F01H、7F02H、7F03H。动态显示程序如下:MOVDPTR,#7F00H;置8155命令/状态口地址MOVA,#03H;8155控制字,A、B口为基本输出MOVX@DPTR,A;写工作方式控制字MOVR0,#30H;R0指向显示缓冲区首址MOVR2,#0FEH;置位选码初值MOVA,R2;位选码送ADISP:MOVDPTR,#7F01H;DPTR指向A口MOVX@DPTR,A;位选码