您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 单片机原理与应用作业答案
1作业答案0-1绪论1.单片机是把组成微型计算机的各功能部件即(微处理器(CPU))、(存储器(ROM与RAM))、(总线)、(定时器/计数器)、(输入/输出接口(I/O口))及(中断系统)等部件集成在一块芯片上的微型计算机。2.什么叫单片机?其主要特点有哪些?解:将微处理器(CPU)、存储器(存放程序或数据的ROM与RAM)、总线、定时器/计数器、输入/输出接口(I/O口)、中断系统与其他多种功能器件集成在一块芯片上的微型计机,称为单片微型计算机,简称单片机。单片机的特点:可靠性高、便于扩展、控制功能强、具有丰富的控制指令、低电压、低功耗、片内存储容量较小、集成度高、体积小、性价比高、应用广泛、易于产品化等。第1章MCS-51单片机的结构与原理15.MCS-51系列单片机的引脚中有多少根I/O线?它们与单片机对外的地址总线与数据总线之间有什么关系?其地址总线与数据总线各有多少位?对外可寻址的地址空间有多大?解:MCS-51系列单片机有4个I/O端口,每个端口都是8位双向口,共占32根引脚。每个端口都包括一个锁存器(即专用寄存器P0~P3)、一个输入驱动器与输入缓冲器。通常把4个端口称为P0~P3。在无片外扩展的存储器的系统中,这4个端口的每一位都可以作为双向通用I/O端口使用。在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线与双向数据总线。MCS-51系列单片机数据总线为8位,地址总线为18位,对外可寻址空间为64KB。25.开机复位后,CPU使用的是哪组工作寄存器(R0-Rn)?它们的地址是什么?CPU如何确定与改变当前工作寄存器组(R0-Rn)?解:开机复位后,CPU使用的是第0组工作寄存器。它们的地址是00H-07H。CPU通过对程序状态字PSW中RS1与RS0的设置来确定与改变当前工作寄存器组。27.MCS-51单片机的时钟周期、机器周期、指令周期是如何定义的?当主频为12MHz的时候,一个机器周期是多长时间?执行一条最长的指令需要多长时间?解:时钟周期又称为振荡周期,由单片机内部振荡电路OSC产生,定义为OSC时钟频率的倒数。时钟周期又称为节拍(用P表示)。时钟周期是时序中的最小单位。一个状态有两个节拍,机器周期定义为实现特定功能所需的时间。MCS-51的机器周期由12个时钟周期构成。执行一条指令所需要的时间称为指令周期,指令周期是时序中的最大单位。由于机器执行不同指令所需的时间不同,因此不同指令所包含的机器周期数也不尽相同。MCS-51的指令可能包括1~4个不等的机器周期。当MCS-51的主频为12MHz时,一个机器周期为1s。执行一条指令需要的最长时间为4s。第2章MCS-51单片机指令系统与汇编语言程序设计4.假定累加器A中的内容为30H,执行指令1000H:MOVCA,@A+PC后,把程序存储器(1031H)单元的内容送入累加器A中。7.指出下列各指令在程序存储器中所占的字节数(1)MOVDPTR,#1234H3字节(2)MOVXA,@DPTR1字节(3)LJMPLOOP3字节(4)MOVR0,A1字节(5)AJMPLOOP2字节2(6)MOVA,30H2字节(7)SJMPLOOP2字节(8)MOVB,#30H2字节15.设堆栈指针(SP)=60H,片内RAM中的(30H)=24H,(31H)=10H。执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化?PUSH30HPUSH31HPOPDPLPOPDPHMOV30H,#00HMOV31H,#0FFH解:结果为:61H、62H单元为堆栈单元,其内容已被弹出栈。(30H)=00H(31H)=0FFH(DPTR)=2410H(SP)=60H17.完成以下的数据传送过程(1)R1的内容传送到R0。(2)片外RAM20H单元的内容送R0。(3)片外RAM20H单元的内容送片内RAM20H单元。(4)片外RAM1000H单元的内容送片内RAM20H单元。(5)ROM2000H单元的内容送R0。(6)ROM2000H单元的内容送片内RAM20H单元。(7)ROM2000H单元的内容送片外RAM20H单元。解:(1)R1的内容传送到R0;MOVA,R1MOVR0,A(2)片外RAM20H单元内容送R0;MOVR1,#20HMOVXA,@R1MOVR0,A(3)片外RAM20H单元的内容送片内RAM20H单元;MOVR0,#20HMOVXA,@R0MOV20H,A(4)片外RAM1000H单元的内容送片内RAM20H单元;MOVDPTR,#1000HMOVXA,@DPTRMOV20H,A(5)ROM2000H单元的内容送R0单元;CLRAMOVDPTR,#2000HMOVCA,@A+DPTRMOVR0,A(6)ROM2000H单元的内容送片内RAM20H单元;CLRAMOVDPTR,#2000HMOVCA,@A+DPTRMOV20H,A(7)ROM2000H单元的内容送片外RAM20H单元。CLRAMOVDPTR,#2000HMOVCA,@A+DPTRMOVR0,#20HMOVX@R0,A319.编程将片内RAM的40H~60H单元中内容送到片外RAM以3000H开始的单元中。并将原片内RAM数据块区域全部清0。解:ORG0000HLJMPMAINORG0030HMAIN:MOVSP,#60HMOVR7,#21HMOVR1,#40HMOVDPTR,#3000HLOOP:MOVA,@R1MOVX@DPTR,AMOV@R1,#00HINCR1INCDPTRDJNZR7,LOOPSJMP$END23.设有100个有符号数,连续存放在片外RAM以2000H为首地址的存储区中,试编程统计其中正数、负数、零的个数。解:ORG0000HLJMPMAINORG0030HMAIN:MOVR2,#100MOVR3,#00HMOVR4,#00HMOVR5,#00HMOVDPTR,#2000HLOOP:MOVXA,@DPTRCJNEA,#00H,NET1INCR3SJMPNET3NET1:JBACC.7NET2INCR4SJMPNET3NET2:INCR5NET3:INCDPTRDJNZR2,LOOPSJMP$END24.试编一查找程序,从外部RAM首地址为2000H、长度为9FH的数据块中找出第一个ASCII码A,将其地址送到20A0H与20A1H单元中。解:ORG0000HLJMPMAINORG0030HMAIN:MOVSP,#60HMOVDPTR,#2000HMOVR7,#9FHLP0:MOVXA,@DPTRCJNEA,#41H,LP1MOVR2,DPLMOVR3,DPHMOVDPTR,#20A0HMOVA,R2MOVX@DPTR,A4INCDPTRMOVA,R3MOVX@DPTR,ASJMPLP2LP1:INCDPTRDJNZR7,LP0LP2:RETEND27.编程实现将片外RAM中2400H~2450H单元中的数传送到2500H~2550H单元中。解:ORG0000HLJMPMAINORG0030HMAIN:MOVR7,#51HMOVDPTR,#2400HLOOP:MOVXA,@DPTRMOVDPH,#25HMOVX@DPTR,AMOVDPH,#24HINCDPTRDJNZR7,LOOPSJMP$END另一种方法:ORG0000HLJMPMAINORG0030HMAIN:MOV30H,#24HMOV31H,#00HMOV32H,#25HMOV33H,#00HMOVR2,#51HLOOP:MOVDPH,30HMOVDPL,31HMOVXA,@DPTRMOVDPH,32HMOVDPL,33HMOVX@DPTR,AINC31HINC33HDJNZR2,LOOPSJMP$END第三章作业答案6.设(TMOD)=0A5H,则定时器T0的状态是(方式1计数),定时器T1的状态是(方式2定时)。27.请写出1INT为低电平触发的中断系统初始化程序。解:1INT为低电平触发的中断系统初始化程序如下:ORG0000HLJMPMAINORG0013HLJMPINTN1ORG0100HMAIN:MOVSP,#60HSETBEASETBEX1;开1INT中断CLRPX1;令1INT为低优先级CLRIT1;令1INT为电平触发SJMP$END28.说明MCS-51单片机响应中断后,中断服务的入口地址。解:中断服务程序的入口地址如下表:中断源中断矢量外部中断0(0INT)0003H定时器T0中断000BH外部中断1(1INT)0013H定时器T1中断001BH5串行口中断0023H36.使用一个定时器,如何通过软硬结合方法实现较长时间的定时?解:设定好定时器的定时时间,采用中断方式用软件设置计数次数,进行溢出次数累计,从而得到较长的时间。37.利用定时器输出周期为2ms的方波,设单片机晶振频率为6MHz。试编程实现之。解:选用定时器/计数器T0作定时器,工作在方式1,输出为P1.0引脚,2ms的方波可由1ms的高低电平相间隔而成,因而只要每隔1ms对P1.0取反一次即可得到这个方波。初值的计算如下:ST0=12/(6×106)=2×10-6STC=M-T/T0=216-1×10-3/2×10-6=65536-500=65036=FE0CH当定时器/计数器采用方式0时,初值为:TC=M-T/T0=213-1×10-3/2×10-6=8192-500=7692=1E0CH,则真正的16位计数初值为:F00CH(高8位,低5位)程序如下:ORG0000HORG000BHLJMPT0INT;T0中断入口START:MOVSP,#60H;初始化程序MOVTL0,#0CH;T0赋初值MOVTH0,MOVTMOD,#01H;定时器/计数器0工作于方式1SETBTR0;启动T0SETBET0;开T0中断SETBEA;开总允许中断SJMP$T0INT:PUSHACCPUSHPSWMOVTL0,MOVTH0,#0FEHSETBTR0;启动T0POPPSWPOPACCRETIEND当采用查询方式时:兰色字部分应该为:LP1:JBCTF0,LP2SJMPLP1LP2:CPLP1.0MOVTL0,#0CHMOVTH0,SETBTR0SJMPLP1END48.某异步通信接口按方式3传送,已知其每分钟传送3600个字符,计算其传送波特率。解:11(位)×3600(字符/分钟)=39600b/分钟=660b/s(方式3为每个字符11位)。649.利用8051串行口控制8位发光二极管工作,要求发光二极管每1s交替地亮、灭,画出电路图并编写程序。解:主程序框图如下:开始串口初始化,FFH送SBUF设置标志调延时子程序标志位取反标志为零?00H送SBUFFFH送SBUFYN程序如下:ORG0040HMOVSCON,#00HMOVSBUF,#0FFHSETBCMOV00H,CAA:ACALLDELAYCPL00HMOVC,00HJCBBMOVSBUF,#00HSJMPCCBB:MOVSBUF,#0FFHCC:AJMPAADELAY:MOVR7,#8D1:MOVR6,#250D2:MOVR5,#250D3:DJNZR5,D3DJNZR6,D2DJNZR7,D1RETEND第四章作业答案16.MCS-51单片机系统中,片外程序存储器与片外数据存储器共用16位地址线与8位数据线,为何不会产生冲突?解:程序存储器与数据存储器虽然共用16位地址线与8位数据线,但由于数据存储器的读与写由RD与WR信号控制,而程序存储器由读选通信号PSEN控制,这些信号在逻辑上时序上不会产生冲突,因此,两者虽然共处于同一地址空间,但由于控制信号不同,所以不7会发生总线冲突。18.某单片机应用系统,需扩展2片8KB的EPROM与2片8KB的RAM,采用地址译码法,画出硬件连接图,并指出各芯片的地址范围。解:硬件连接电路图如图4.18所示。各芯片的地址范围为:2764(1#):0000H~1FFFH2
本文标题:单片机原理与应用作业答案
链接地址:https://www.777doc.com/doc-4740602 .html