首页 单片机原理-李全利第二版课后题答案

单片机原理-李全利第二版课后题答案

举报
开通vip

单片机原理-李全利第二版课后题答案单片机原理-李全利第二版课后题答案单片机原理-李全利第二版课后题答案PAGE单片机原理-李全利第二版课后题答案第二章2.80C51单片机的存储器的组织采用何种结构存储器地址空间如何划分各地址空间的地址范围和容量如何在使用上有何特点答:采用哈佛结构,在物理上设计成程序存储器和数据存储器两个独立的空间;80C51基本型单片机片内程序存储器为4KB,地址范围是0000H-0FFFH,用于存放程序或常数;片内数据存储器为128字节RAM,地址范围是00H-7FH,用于存放运算的中间结果、暂存数据和数据缓冲;另外在80...

单片机原理-李全利第二版课后题答案
单片机原理-李全利第二版课后 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 答案单片机原理-李全利第二版课后题答案PAGE单片机原理-李全利第二版课后题答案第二章2.80C51单片机的存储器的组织采用何种结构存储器地址空间如何划分各地址空间的地址范围和容量如何在使用上有何特点答:采用哈佛结构,在物理上设计成程序存储器和数据存储器两个独立的空间;80C51基本型单片机片内程序存储器为4KB,地址范围是0000H-0FFFH,用于存放程序或常数;片内数据存储器为128字节RAM,地址范围是00H-7FH,用于存放运算的中间结果、暂存数据和数据缓冲;另外在80H-FFH还配有21个SFR。第三章7.为什么说布尔处理功能是80C51单片机的重要特点答:单片机指令系统中的布尔指令集、存储器中的位地址空间与CPU中的位操作构成了片内的布尔功能系统,它可对位(bit)变量进行布尔处理,如置位、清零、求补、测试转移及逻辑“与”、“或”等操作。在实现位操作时,借用了程序状态标志器(PSW)中的进位标志Cy作为位操作的“累加器”。8.对于80C52单片机内部RAM还存在高128字节,应采用何种方式访问答:寄存器间接寻址方式。15.试编写程序,将内部RAM的20H、21H、22H三个连续单元的内容依次存入2FH、2EH和2DH单元。答:MOV2FH,20HMOV2EH,21HMOV2DH,22H16.试编写程序,完成两个16位数的减法:7F4DH-2B4EH,结果存入内部RAM的30H和31H单元,30H单元存差的高8位,31H单元存差的低8位。答:CLRCYMOV30H,#7FHMOV31H,#4DHMOVR0,#31HMOVA,@R0SUBBA,#4EMOV@R0,A;保存低字节相减结果DECR0MOVA,@R0SUBBA,#2BHMOV@R0,A;保存高字节相减结果17.试编写程序,将R1中的低4位数与R2中的高4位数合并成一个8位数,并将其存放在R1中。答:MOVA,R2ANLA,#0F0HORLR1,A18.试编写程序,将内部RAM的20H、21H单元的两个无符号数相乘,结果存放在R2、R3中,R2中存放高8位,R3中存放低8位。答:MOVA,20HMOVB,21HMULABMOVR3,AMOVR2,B19.若(CY)=1,(P1)=B,(P3)=01101100B。试指出执行下列程序段后,CY、P1口及P3口内容的变化情况。MOV,CMOV,CMOVC,MOV,CMOVC,MOV,C答:(CY)=1,(P1)=B,(P3)=00111100B第四章3.常用的程序结构有哪几种特点如何答:顺序程序:无分支、无循环结构的程序,其执行流程是依指令在存储器中的存放顺序进行的;分支程序:可以改变程序的执行顺序;循环程序:按某种控制规律重复执行的程序,控制一部分指令重复执行若干次,以便用简短的程序完成大量的处理任务。4.子程序调用时,参数的传递 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 有哪几种答:利用累加器或寄存器;利用存储器;利用堆栈。6.设被加数存放在内部RAM的20H、21H单元,加数存放在22H、23H单元,若要求和存放在24H、25H中,试编写出16位无符号数相加的程序(采用大端模式存储)。答:程序如下:ORG0000HMOVR0,#21HMOVR1,#23HMOVA,@R0ADDA,@R1MOV25H,ADECR0DECR1MOVA,@R0ADDCA,@R1MOV24H,ASJMP$END7.编写程序,把外部RAM中1000H~101FH的内容传送到内部RAM的30H~4FH中。答:ORG0000HMOVDPTR,#1000HMOVR0,#30HMOVR7,#32LOOP:MOVXA,@DPTRMOV@R0,AINCR0INCDPTRDJNZR7,LOOPRET8.编写程序,实现双字节无符号数加法运算,要求(R0R1)+(R6R7)→(60H61H)。答:ORG0000HMOVA,R1ADDA,R7MOV61H,AMOVA,R0ADDCA,R6MOV60H,ASJMP$END9.若80C51的晶振频率为6MHz,试计算延时子程序的延时时间。DELAY:MOVR7,#0F6HLP:MOVR6,#0FAHDJNZR6,$DJNZR7,LPRET答:延时时间:2µs*{[1+((1+2*250+2)*246)+2]+2}=秒(含调用指令2个机器周期)10.在内部RAM的30H~37H单元存有一组单字节无符号数。要求找出最大数存入BIG单元。试编写程序实现。答:ORG0000HBIGDATA2FHONEDATA2AHTWODATA2BHSTART:MOVR7,#7;比较次数MOVR0,#30HLOOP:MOVA,@R0MOVONE,AINCR0MOVTWO,@R0CLRCSUBBA,@R0JCNEXT;ONE小,TWO大继续比下一对数MOV@R0,ONE;ONE大放后面(交换)DECR0MOV@R0,TWO;TWO小放前面INCR0;NEXT:DJNZR7,LOOPMOVBIG,37HSJMP$END11.编写程序,把累加器A中的二进制数变换成3位BCD码,并将百、十、个位数分别存放在内部RAM的50H、51H、52H中。答:单字节二进制数转换为压缩的BCD码仅需要2个字节;在将压缩的BCD码拆分存于3个单元。org0MOV52H,#0MOV51H,#0MOV50H,#0MOVA,#0FDhLCALLDCDTHSJMP$DCDTH:MOVR7,#8MOVR0,A;暂存于R0LOOP:CLRCMOVA,R0RLCAMOVR0,AMOVR1,#51H;MOVA,@R1;ADDCA,@R1;DAA;MOV@R1,A;DECR1MOVA,@R1ADDCA,@R1DAAMOV@R1,ADJNZR7,LOOPINCR1;50H已是结果,R1指向51H,51H单元需拆分MOVA,#00HXCHDA,@R1MOV52H,AMOVA,@R1SWAPAMOV@R1,ARETEND12.编写子程序,将R1中的2个十六进制数转换为ASCII码后存放在R3和R4中。答:ORG0MOVR1,#5BHMOVA,R1ANLA,#0F0HSWAPAACALLASCIIMOVR3,AMOVA,R1ANLA,#0FHACALLASCIIMOVR4,ASJMP$ASCII:PUSHACCCLRCSUBBA,#0AHPOPACCJCLOOPADDA,#07HLOOP:ADDA,#30HRETEND13.编写程序,求内部RAM中50H~59H十个单元内容的平均值,并存放在5AH单元。答:ORG0000HMOVR7,#10MOVR0,#50HMOVB,#10CLRCCLRALOOP:ADDCA,@R0INCR0DJNZR7,LOOPDIVABMOV5AH,ASJMP$END14.如图所示,编制程序实现:上电后显示“P”,有键按下时显示相应的键号“0”~“7”。答:实现程序如下:TEMPEQU30HORG0000HJMPSTARTORG0100HSTART:MOVSP,#5FHMOVP0,#8CH;正序显示"P"MOVP3,#0FFH;输入方式CLRCYNOKEY:MOVA,P3CPLAJZNOKEY;无键按下MOVTEMP,P3;有键按下CALLD10msMOVA,P3CJNEA,TEMP,NOKEY;去抖动MOVR2,#0;键号计数器复位MOVA,TEMPLP:RRCAJNCDONEINCR2SJMPLPDONE:MOVA,R2MOVDPTR,#CODE_P0MOVCA,@A+DPTRMOVP0,AJMPNOKEYD10ms:MOVR5,#10;10MSD1ms:MOVR4,#249DL:NOPNOPDJNZR4,DLDJNZR5,D1msRETCODE_P0:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HDB80H,90H,88H,83H,0C6H,0A1H,86H,8EHEND第五章2.某系统有三个外部中断源1、2、3,当某一中断源变低电平时便要求CPU处理,它们的优先处理次序由高到低为3、2、1,处理程序的入口地址分别为2000H、2100H、2200H。试编写主程序及中断服务程序(转至相应的入口即可)。答:将3个中断信号经电阻线或,接。ORG0000HLJMPMAINORG00013HLJMPZDFZORG0040HMAIN:SETBEASETBEX1SJMP$0RG0200HZDFZ:PUSHPSWPUSHACCJB,DV0JB,DV1JB,DV2INRET:POPACCPOPPSWRETIORG2000HDV0:------------JMPINRETORG2100HDV1:------------JMPINRETORG2200HDV2:------------JMPINRET3.外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同怎样设定答:当IT0=0时,为电平触发方式。电平触发方式时,CPU在每个机器周期的S5P2采样引脚电平,当采样到低电平时,置IE0=1向CPU请求中断;采样到高电平时,将IE0清0。在电平触发方式下,CPU响应中断时,不能自动清除IE0标志。电平触发方式时,外部中断源的有效低电平必须保持到请求获得响应时为止,不然就会漏掉;在中断服务结束之前,中断源的有效的低电平必须撤除,否则中断返回之后将再次产生中断。该方式适合于外部中断输入为低电平,且在中断服务程序中能清除外部中断请求源的情况。当IT0=1时,为边沿触发方式。边沿触发方式时,CPU在每个机器周期的S5P2采样引脚电平,如果在连续的两个机器周期检测到引脚由高电平变为低电平,即第一个周期采样到=1,第二个周期采样到=0,则置IE0=1,产生中断请求。在边沿触发方式下,CPU响应中断时,能由硬件自动清除IE0标志。边沿触发方式时,在相继两次采样中,先采样到外部中断输入为高电平,下一个周期采样到为低电平,则在IE0或IE1中将锁存一个逻辑1。若CPU暂时不能响应,中断申请标志也不会丢失,直到CPU响应此中断时才清0。另外,为了保证下降沿能够被可靠地采样到,和引脚上的负脉冲宽度至少要保持一个机器周期(若晶振频率为12MHz,为1微秒)。边沿触发方式适合于以负脉冲形式输入的外部中断请求。4.定时/计数器工作于定时和计数方式时有何异同点答:定时/计数器实质是加1计数器。不同点:设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值乘以机器周期就是定时时间。设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。相同点:它们的工作原理相同,它们都有4种工作方式,由TMOD中的M1M0设定,即方式0:13位计数器;方式1:16位计数器;方式2:具有自动重装初值功能的8位计数器;方式3:T0分为两个独立的8位计数器,T1停止工作。8.利用定时/计数器T0从输出周期为1s,脉宽为20ms的正脉冲信号,晶振频率为12MHz。试设计程序。答:采用定时20ms,然后再计数1、49次的方法实现。a、T0工作在定时方式1时,控制字TMOD配置:M1M0=01,GATE=0,C/=0,可取方式控制字为01H;b、计算计数初值X:晶振为12MHz,所以机器周期Tcy为1。N=t/Tcy=20×10-3/1×10-6=20000X=216-N=65536-20000=45536=4E20H即应将4EH送入TH1中,20H送入TL1中。c、实现程序如下:ORG0000HAJMPMAIN;跳转到主程序ORG0030HMAIN:MOVTMOD,#01H;设T1工作于方式2MOVTH0,#4EH;装入循环计数初值MOVTL0,#20H;首次计数值LP0:SETBACALLNT0CLRMOVR7,#49;计数49次LP1:ACALLNT0DJNZR7,LP1AJMPLP0NT0:MOVTH0,#4EHMOVTL0,#20HSETBTR0JNBTF0,$CLRTR0CLRTF0RETEND9.要求从引脚输出1000Hz方波,晶振频率为12MHz。试设计程序。答:采用T0实现a、T0工作在定时方式1时,控制字TMOD配置:M1M0=01,GATE=0,C/=0,可取方式控制字为01H;b、计算计数初值X:晶振为12MHz,所以机器周期Tcy为1。1/1000=1×10-3N=t/Tcy=×10-3/1×10-6=500X=216-N=65536-500=65036=FE0CH即应将FEH送入TH0中,0CH送入TL0中。c、实现程序如下:ORG0000HAJMPMAIN;跳转到主程序ORG000BH;T0的中断入口地址LJMPDVT0ORG0030HMAIN:MOVTMOD,#01H;设T0工作于方式2MOVTH0,#0FEH;装入循环计数初值MOVTL0,#0CH;首次计数值SETBET0;T0开中断SETBEA;CPU开中断SETBTR0;启动T0SJMP$;等待中断DVT0:CPLMOVTH0,#0FEHMOVTL0,#0CHSETBTR0RETIEND10.试用定时/计数器T1对外部事件计数。要求每计数100,就将T1改成定时方式,控制输出一个脉宽为10ms的正脉冲,然后又转为计数方式,如此反复循环。设晶振频率为12MHz。答:a、T1工作在计数方式2时,控制字TMOD配置:M1M0=10,GATE=0,C/=1,可取方式控制字为60H;T1工作在定时方式1时,控制字TMOD配置:M1M0=01,GATE=0,C/=0,可取方式控制字为10H;b、计算初值X:定时10ms时:晶振为12MHz,所以机器周期Tcy为1。N=t/Tcy=10×10-3/1×10-6=10000X=216-N=65536-10000=55536=D8F0H即应将D8H送入TH1中,F0H送入TL1中。计数100时:N=100X=28-N=256-100=156=9CHc、实现程序如下:ORG0000HAJMPMAIN;跳转到主程序ORG001BH;T1的中断入口地址LJMPDVT1ORG0030HMAIN:MOVTMOD,#60H;T1工作于计数方式2MOVTH1,#9CH;装入计数初值MOVTL1,#9CH;CLRSETBET1;T1开中断SETBEA;CPU开中断SETBTR1;启动T1SJMP$;等待中断DVT1:SETBCLRET1CLRTR1MOVTMOD,#10H;T1工作于定时方式1MOVTH1,#0D8H;装初值MOVTL1,#0F0HSETBTR1JNBTF1,$;查询等待10msCLRTF1CLRTR1CLRMOVTMOD,#60H;T1工作于计数方式2MOVTH1,#9CH;装初值MOVTL1,#9CH;SETBET1;T1开中断SETBTR1;启动T1RETIEND11.利用定时/计数器T0产生定时时钟,由P1口控制8个指示灯。编一个程序,使8个指示灯依次闪动,闪动频率为1次/秒(即,亮1秒后熄灭并点亮下一个,-----)。答:采用定时20ms,计数50次实现1秒定时。编制1秒延时子程序,由主程序调用。a、T0工作在定时方式1时,控制字TMOD配置:M1M0=01,GATE=0,C/=0,可取方式控制字为01H;b、计算计数初值X:晶振为12MHz,所以机器周期Tcy为1。N=t/Tcy=20×10-3/1×10-6=20000X=216-N=65536-20000=45536=4E20H即应将4EH送入TH1中,20H送入TL1中。c、实现程序如下:ORG0000HAJMPMAIN;跳转到主程序ORG0030HMAIN:CLRCYMOVA,#01HLP0:MOVP1,ACALLD1SECRLAAJMPLP0D1SEC:MOVR7,#50;计数50次MOVTMOD,#01HDL:MOVTH0,#4EHMOVTL0,#20HSETBTR0JNBTF0,$CLRTR0CLRTF0DJNZR7,DLRETEND第六章1.80C51单片机串行口有几种工作方式如何选择简述其特点答:四种工作方式,由SCON中的SM0、SM1进行定义:方式0:同步移位寄存器的输入输出方式,主要用于扩展并行输入或输出口,波特率固定。方式1:10位数据的异步通信口,波特率可变。方式2:11位数据的异步通信口,波特率固定。方式3:11位数据的异步通信口,波特率可变。5.利用单片机串行口扩展并行输入接口电路如图所示。试编写程序完成将SW1~SW8的状态反应在P0口所接的LED上(如SW1闭合时L7应点亮)。答:电路图如下:ORG0000HMOVSCON,#10HLOOP:CLRNOPNOPNOPSETBCLRRIJNBRI,$MOVA,SUBFSJMPLOOPEND6.利用单片机串行口扩展并行输出接口电路如图所示。试编写程序完成将SW1~SW8的状态反应在移位寄存器74LS164所接的LED上(如SW1闭合时L0应点亮)。答:电路图如下:ORG0000HMOVSCON,#00HMOVP1,#0FFHLOOP:MOVA,P1MOVSUBF,AJNBTI,$CLRTISJMPLOOPEND第八章5、AT24C系列芯片的读写格式如何答:a、写操作过程对AT24C02写入时,单片机发出起始信号之后再发送的是控制字节,然后释放SDA线并在SCL线上产生第9个时钟信号。被选中的存储器器件在确认是自己的地址后,在SDA线上产生一个应答信号,单片机收到应答后就可以传送数据了。传送数据时,单片机首先发送一个字节的预写入存储单元的首地址,收到正确的应答后,单片机就逐个发送各数据字节,但每发送一个字节后都要等待应答。单片机发出停止信号P后,启动AT24C02的内部写周期,完成数据写入工作(约10ms内结束)。AT24C02片内地址指针在接收到每一个数据字节后自动加1,在芯片的“一次装载字节数”(页面字节数)限度内,只需输入首地址。装载字节数超过芯片的“一次装载字节数”时,数据地址将“上卷”,前面的数据将被覆盖。要写入的数据传送完后,单片机应发出终止信号以结束写入操作。写入n个字节数据格式如下:b、读操作过程对AT24C02读出时,单片机也要发送该器件的控制字节(“伪写”),发送完后释放SDA线并在SCL线上产生第9个时钟信号,被选中的存储器在确认是自己的地址后,在SDA线上产生一个应答信号作为响应。然后,单片机再发送一个字节的要读出器件的存储区的首地址,收到器件的应答后,单片机要重复一次起始信号并发出器件地址和读方向位(“1”),收到器件应答后就可以读出数据字节,每读出一个字节,单片机都要回复应答信号。当最后一个字节数据读完后,单片机应返回以“非应答”(高电平),并发出终止信号以结束读出操作。读出n个字节的数据格式如下图所示:
本文档为【单片机原理-李全利第二版课后题答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
香香公主
性格开朗,工作认真,善于沟通,被学校评为学习标兵。
格式:doc
大小:487KB
软件:Word
页数:14
分类:小学数学
上传时间:2021-12-17
浏览量:26