单片计算机及其应用习题答案_第1页
单片计算机及其应用习题答案_第2页
单片计算机及其应用习题答案_第3页
单片计算机及其应用习题答案_第4页
单片计算机及其应用习题答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机原理及应用作业参考答案1.2单片机的结构特点表现在哪些主要方面?.单片机的结构特点表现在哪些主要方面?答:(1)在存储器结构上,严格将程序存储器和数据存储器在空间上分开,并使用不同的寻址方式,使用两个不同的地址指针;(2)在内部有一个全双工的串行接口;(3)有一个独立进行操作的位处理器.1.4通用单片机的供应状态主要取决于什么?供应状态有哪几种?用户选用单片机的供应状态的原则.通用单片机的供应状态主要取决于什么?供应状态有哪几种?是什么?是什么?答:通用单片机的供应状态主要取决于片内ROM的配置状态.(1)片内ROM的配置状态掩膜ROM,适合于低成本.大批量产品的场合(2)片内EPROM配置状态可通过高压脉冲写入应用程序到EPROM,适合于开发样机,小批量生产.(3)片内无ROM配置状态必须外扩EPROM,价格低,使用灵活,适合于需要外接能在现场进行修改和更新程序存储器的应用场合.2.3单片机的EA端有何功用?8031的EA端应如何处理,为什么?.端有何功用?端应如何处理,为什么?答:EA端是访问外部程序存储器的控制信号:当EA无效时,访问内部ROM,当EA为有效时,访问外部ROM.由于8031没有内部ROM,所以EA端必须接低电平.2..4MCS-51引脚中有多少I/O线?它们与单片机对外的地址总线,它们与单片机对外的地址总线,数据总线和控制总线有什么关系?-数据总线和控制总线有什么关系?地址总线和数据总线各是几位?地址总线和数据总线各是几位?答:MCS-51引脚中有32根I/O线,一般由P0口提供单片机对外的数据总线,同时作为分时复用的地址总线的低8位,P2口作为地址总线的高8位,由控制总线由第二功能的状态下的P3口以及RST,,EAALE和PSEN提供.2.58051单片机的内部数据存储器可以分为哪几个不同的区域?各有什么特点?.单片机的内部数据存储器可以分为哪几个不同的区域?各有什么特点?答:数据存储器主要分为两个区域:00H~7FH是真正的RAM区,80H~FFH专门用作特殊功能寄存器的区域.其中00H~7FH可分为三个区域:00H~1FH为四组工作寄存器;20H~2FH为128位位寻址区,30H~7FH为一般RAM区.2.6单片机对外有几条专用控制线?其功能是怎样的?.单片机对外有几条专用控制线?其功能是怎样的?答:单片机对外的专用控制线有4条,分别是:(1)PSEN:外部取指操作,在访问外部ROM时,PSEN信号自动产生;(2)ALE/PROG:ALE为地址锁存允许信号,在访问外部ROM或RAM时,用来锁存P0口的低8位地址.第二功能PROG是对8751的EPROM编程时,编程脉冲输入.1(3)EA/VPP:EA是访问外部程序存储器的控制信号,EA无效时,访问内部ROM,EA有效时,访问外部ROM,第二功能VPP为对8751EPROM的21V编程电源输入.(4)RST/VPD:RST是复位信号输入端,第二功能VPD是备用电源输入端.2.8有哪几种方法使单片机复位?复位后各寄存器,RAM中的状态如何?中的状态如何?.有哪几种方法使单片机复位?复位后各寄存器,答:单片机的复位方式有两种,上电自动复位和按钮复位.复位后各寄存器状态为:PC0000HACC00HPSW00HSP07HDPTR0000HP0~P3FFHIPXX000000BIE0X000000BTMOD00HTCON00HTL000HTH000HTL100HTH100HSCON00HSBUFXXHPCON0XXX0000B2.9在8051扩展系统中,片外程序存储器和片外数据存储器使用相同的地址编址,是否会在数据总线扩展系统中,片外程序存储器和片外数据存储器使用相同的地址编址,.上出现争总线的现象?为什么?上出现争总线的现象?为什么?答:不会发生争总线的现象,因为从外部ROM取指令需要用ALE和PSEN信号控制读取操作,由P2和P0提供地址;而片外数据存储器的读写除了地址之外还要RD,WR控制,所以不会争总线.2.10如果8051端口P0~P3作为通用I/O口使用,则在输入引脚数据时应注意什么?.口使用,则在输入引脚数据时应注意什么?~答:8051的P1,P2和作为一般输入I/O口的P以及第一功能的P3口均为准双向口,在输入数据时应先向端口写1,然后方可作为高阻输入.以使其场效应管T2截止,才不会影响输入电平.3.2若要完成以下的数据传送,应如何用MCS-51的指令实现?.若要完成以下的数据传送,的指令实现?(1)R1的内容传送到R0(5)ROM2000H单元的内容传送到R0MOVA,R1MOVDPTR,#2000HMOVR0,ACLRAMOVCA,@A+DPTR(2)外部RAM20H单元的内容传送到R0MOVR0,#20HMOVR0,AMOVXA,@R0(6)ROM2000H单元的内容传送到内部RAM20H单元MOVR0,AMOVDPTR,#2000HCLRA(3)外部RAM20H单元的内容传送到内MOVCA,@A+DPTR部RAM20H单元MOVR0,#20HMOV20H,AMOVXA,@R0(7)ROM2000H单元的内容传送到外部RAM20H单元MOV20H,AMOVDPTR,#2000HCLRA(4)外部RAM1000H单元内容传送到内MOVCA,@A+DPTR部RAM20H单元MOVDPTR,#1000HMOVR0,#20HMOVXA,@DPTRMOVX@R0,AMOV20H,A3.3间接转移指令JMP@A+DPTR有何优点?为什么它能代替众多的判跳指令?试举例说明.有何优点?为什么它能代替众多的判跳指令?试举例说明..答:该间接转移指令的转移地址由A的内容和数据指针DPTR的内容之和决定,且两必须由C完成,所以调用子程序时参数传递较复杂.7MOVMOVMOVCPLMOVMOVMOVMOVMOVACALLMOVSETBMOVMOVMOVMOVMOVMOVACALLMOVC,W00H,CC,ZC01H,CC,Y02H,CC,X03H,CNAND404H,C00HC,X01H,CC,Y02H,CC,Z03H,CNAND405H,CCPLMOVCPLMOVMOVMOVACALLSETBMOVMOVMOVMOVMOVACALLMOVAJMPNAND4:ANLANLANLCPLCRETEND01HC,YC02H,CC,W03H,CNAND400H01H,CC,04H02H,CC,05H03H,CNAND4F,C$MOVC,00HC,01HC,02HC,03HSETB00HMOVC,XMOV01H,C方法二:利用宏实现MACRO,宏可以带参数,所以参数传递将很方便NAND4MACROA1,A2,A3,A4MOVONE,CMOVC,A1NAND4X,Y,ONE,WANLC,A2MOV04H,CANLC,A3SETBONEANLC,A4NAND4X,Y,ONE,WCPLCMOV05H,CENDMCPLYSETBONEORG0000HNAND4X,Y,ONE,WAJMPMAINMOV06H,CORG0030HSETBONEMAIN:MOVC,ZNAND404H,05H,06H,ONECPLCMOVF,C5.3已知8051单片机系统时钟频率为6MHz,试利用定时器T0和P1口输出矩形脉冲,其波形如图所.口输出矩形脉冲,,示(建议用方式2)).解:定时器T0的工作方式:方式2,定时方式,所以TMOD为:0000010(02H)定时初值:8-TH0初值)×时钟周期×12=(28-X)×(1/6M)×12=40s(2X=236=0ECH,360s则为9次定时中断MOVTMOD,#02HJNBTF0,$CLRTF0MOVTH0,#0ECHMOVTL0,#0ECHNEXT1:CLRP1.0CLRP1.0WAIT2:JNBTF0,$SETBTR0CLRTF0DJNZR0,WAIT2NEXT3:MOVR0,#09HSETBP1.0AJMPNEXT385.4要求8051单片机定时器的定时值以内部RAM的20H单元的内容为条件而改变;当(20H)=.单元的内容为条件而改变;)=00H)=)=01H时,定时值为20ms.请根据以上要求编写相应程序.时,定时值为10ms;当(20H)=;)=.请根据以上要求编写相应程序.解:采用定时器T0,工作方式:方式1,定时方式,所以TMOD为:0000001(01H)定时初值:216-T0初值)(×时钟周期×12=16-X)(2×(1/6M)×12=16-X)(22s=10[(20H)+1]1000sX=6553610[(20H)+1]1000=6553650005000×(20H)2=605365000(20H)=EC78H1388H×(20H)(这里20H单元的内容最大为12,否则超出16为定时器的范围)TIMER:MOVA,20HMOVB,#88HMULAB;88H×(20H)MOVR0,A;R0保存低字节MOVR1,B;R1保存高字节MOVA,20HMOVB,#13HMULAB;13H×(20H)ADDA,R1MOVR1,A;只要限制20H单元内容小于13,1388H×(20H)即为两字节CLRCMOVA,78HSUBBA,R0;78H减去1388H×(20H)的低字节MOVTL0,AMOVA,#0ECHSUBBA,R1;ECH减去1388H×(20H)的高字节MOVTH0,AMOVTMOD,#01HSETBTR0WAIT:JNBTF0,WAITRET;定时时间到上述定时初值的设置适合(20H)为00H~12H,即可以实现10ms~190ms的定时.若仅仅是10ms和20ms两种情况,初值设置将更简单X00H=60536=EC78HTIMER:MOVCJNEMOVMOVAJMPNEXT1:CJNEX01H=EC78H1388H×(01H)=D8F0HMOVMOVNEXT2:MOVSETBWAIT:JNBRETTH0,#0D8HTL0,#0F0HTMOD,#01H;T0工作方式TR0TF0,WAIT;定时时间到A,20HA,#00H,NEXT1TH0,#0ECHTL0,#78HNEXT2A,#01H,NEXT25.5试用定时器T1设计外部事件计数器.要求每计数1万个脉冲,就将T1转为10ms定时方式,当.设计外部事件计数器.万个脉冲,定时方式,定时到后,又转为计数方式,如此反复循环不止.定时到后,又转为计数方式,如此反复循环不止.设系统的时钟频率为6MHz,建议选用方式1编写相,应程序.应程序.解:T1工作方式为方式1,计数方式:TMOD:01010000(50H),定时方式:TMOD:00010000(10H)计数初值X=M-计数模值=65536-10000=55536=D8F0H定时初值(65536-X)×2=10000,X=60536=EC78HMAIN:MOVTMOD,#50HWAIT1:JBCTF1,NEXT1MOVTL1,#0F0HAJMPWAIT1MOVTH1,#0D8HNEXT1:MOVTMOD,#10HSETBTR1MOVTL1,#78H9MOVWAIT2:JBCTH1,#0ECHTF1,MAINAJMPWAIT25.7利用8051单片机定时器测量某正脉冲宽度宽度,采用何种工作方式可以获得最大的量程?若时钟.单片机定时器测量某正脉冲宽度宽度,采用何种工作方式可以获得最大的量程?频率为6MHz,则允许测量的最大脉宽是多少?,则允许测量的最大脉宽是多少?[解:要获得最大量程,那么定时/计数器的计数值必须达到最大,只有方式1是工作在16位计数模式.因为测脉宽,所以定时/计数器工作于定时方式,且由外部中断引脚电平启动定时.最大定时时间为:(M-X)×T=(65536-0)×12×1/6MHz=131.072ms7.3某异步通讯接口,其帧格式由一个起始位,7个数据位,1个奇偶校验位和一个停止位组成.当该.某异步通讯接口,其帧格式由一个起始位,个数据位,个奇偶校验位和一个停止位组成.接口每分钟传送1800个字符时,计算其传送波特率.个字符时,计算其传送波特率.解:由帧格式可知:一个字符由1+7+1+1=10位组成,波特率=1800×10/60=300波特.7.为什么定时器T1用作串行口波特率发生器时常采用工作方式2?若已知T1设置成方式2,.6?,用作波特率发生器,特率发生器,系统时钟频率为11.0592MHz,求可能产生的最高和最低的波特率各是多少?,求可能产生的最高和最低的波特率各是多少?答:因为定时器T1的方式2为自动重装定时初值,这样操作方便,也避免了因重装定时初值引起的定2SMODfOSC1时误差.由波特率=×3212256初值当初值为0,SMOD=0时,得到最低波特率=112.5当初值为255,SMOD=1时,得到最低波特率=57.6K7.7在8051应用系统中,时钟频率为6MHz.现需利用定时器T1方式2产生1200波特的波特率.试.应用系统中,波特的波特率..计算定时器的初值,并指出实际得到的波特率与所要求的波特率是否有误差.计算定时器的初值,并指出实际得到的波特率与所要求的波特率是否有误差.解:根据波特率计算公式2SMODfOSC1×3212256初值2SMOD6MHz11SMOD1200=×=15625×23212256初值256初值当SMOD=0时,初值为243,此时实际的波特率为:1201.92当SMOD=1时,初值为230,此时实际的波特率为:1201.92所以实际波特率与要求的波特率有误差.7.8试设计一个8051单片机的双机通讯系统,并编写程序将A机片内RAM40H~5FH的数据块通过.单片机的双机通讯系统,~中去.串行口传送B机的片内RAM60H~7FH中去.~解:该双机通讯系统,是将A机数据发送到B机,所以可以采用单工工作方式串行口采用方式110位异步收发,采用查询方式MOVR0,#40HA机:发送MOVTMOD,#20HCLRTIMOVTL1,#0F3HNEXT:MOVA,@R0MOVTH1,#0F3HINCR0MOVSBUF,ASETBTR1MOVSCON,#40HJNBTI,$10CJNER0,#60H,NEXTMOVR0,#60HAJMP$NEXT:CLRRIJNBRI,$B机:接收MOVTMOD,#20HMOVA,SBUFMOVTL1,#0F3HMOV@R0,AMOVTH1,#0F3HINCR0SETBTR1CJNER0,#80H,NEXTAJMP$MOVSCON,#50H8.18051有几个中断源,各中断标志是如何产生的,又是如何复位的?CPU响应中断时其中断入口地有几个中断源,各中断标志是如何产生的,又是如何复位的?.址各是多少?址各是多少?答:8051有5个中断源,分别是外部中断0,定时器T0中断,外部中断1,定时器T1中断,串行口中断.中断入口地址分别为0003H,000BH,0013H,001BH,0023H.定时器中断标志TF1和TF0是当计数器溢出时产生的,CPU响应中断时能自动清除;外部中断IE1和IE0则是根据外部INT1和INT0的变化产生的,只有边沿方式的IE1和IE0能在响应中断是自动清除,电平方式的只能软件清除;串行口中断标志RI,TI是在串行口接收和发送是产生的,它们只能利用软件清除.8.3如何区分串行通讯中的发送中断和接收中断?.如何区分串行通讯中的发送中断和接收中断?答:串行通讯中,发送和接收中断共用一个中断入口地址,但可以通过RI和TI标志判断是哪种中断,TI=1表示发送中断,RI=1表示接收中断.8.4如何设定外部中断源是采用边沿触发还是电平触发?这两种中断触发所产生的中断过程有和不.如何设定外部中断源是采用边沿触发还是电平触发?同?答:可通过IT1和IT0标志位进行设置,IT=0时,为电平触发,IT=1时,为边沿触发.电平触发,CPU响应中断时不会清除IE标志,所以中断返回前应撤销INT引脚上的低电平;边沿触发方式,CPU连续两个机器周期采样到先高后低的电平,则置位IE标志,CPU响应中断时由硬件清除IE标志.8.7试用中断方法设计秒,分脉冲发生器,即由8051的P1.0每秒钟产生一个机器周期的正脉冲,由.试用中断方法设计秒,分脉冲发生器,每秒钟产生一个机器周期的正脉冲,P1.1每分钟产生一个机器周期的正脉冲.每分钟产生一个机器周期的正脉冲.解:设系统时钟为6MHz,由定时器完成定时,最大定时时间为65536×2us=131096us=131.096ms,所以设置定时器定时时间为100ms,10次定时为1秒钟,60次一秒为一分钟,所以设置两个计数器分别对10和60计数(M-X)×2us=100ms,所以X=15536=3CB0HORG0000HMOVR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论