单片机习题与答案

合集下载

单片机课后习题答案

单片机课后习题答案

第一章单片机的概述【1 】1.除了单片机这一名称外,单片机还可称为(微控制器)和(嵌入式控制器).2.单片机与通俗微型盘算机的不合之处在于其将(CPU).(存储器)和(I/O口)三部分,经由过程内部(总线)衔接在一路,集成于一块芯片上.3.在家用电器中运用单片机应属于微型盘算机的( B).A. 帮助设计运用B. 测量.控制运用C. 数值盘算运用D. 数据处理运用4.微处理器.微盘算机.微处理机.CPU.单片机.嵌入式处理器它们之间有何差别?答:微处理器.微处理机和CPU它们都是中心处理器的不合称谓,微处理器芯片本身不是盘算机.而微盘算机.单片机它们都是一个完全的盘算机体系,单片机是集成在一个芯片上的用于测控目标的单片微盘算机.嵌入式处理器一般意义上讲,是指嵌入体系的单片机.DSP.嵌入式微处理器.今朝多把嵌入式处理器多指嵌入式微处理器,例如ARM7.ARM9等.嵌入式微处理器相当于通用盘算机中的CPU.与单片机比拟,单片机本身(或稍加扩大)就是一个小的盘算机体系,可自力运行,具有完全的功效.而嵌入式微处理器仅仅相当于单片机中的中心处理器.为了知足嵌入式运用的特别请求,嵌入式微处理器固然在功效上和尺度微处理器根本是一样的,但在工作温度.抗电磁干扰.靠得住性等方面一般都做了各类加强.5.MCS-51系列单片机的根本型芯片分离为哪几种?它们的不同是什么?答:MCS-51系列单片机的根本型芯片分离为:8031.8051和8751.它们的不同是在片内程序存储器上.8031无片内程序存储器.8051片内有4K字节的程序存储器ROM,而8751片内有集成有4K字节的程序存储器EPROM.6.为什么不应当把8051单片机称为MCS-51系列单片机?答:因为MCS-51系列单片机中的“MCS”是Intel公司临盆的单片机的系列符号,而51系列单片机是指世界各个厂家临盆的所有与8051的内核构造.指令体系兼容的单片机.7.AT89S51单片机相当于MCS-51系列单片机中哪一种型号的产品?“s”的寄义是什么?答:相当于MCS-51系列中的87C51,只不过是AT89S51芯片内的4K字节Flash 存储器代替了87C51片内的4K字节的EPROM.“s”暗示含有串行下载的Flash存储器.8.什么是嵌入式体系?答:广义上讲,凡是体系中嵌入了“嵌入式处理器”,如单片机.DSP.嵌入式微处理器,都称其为“嵌入式体系”.但多半人把“嵌入”嵌入式微处理器的体系,称为“嵌入式体系”. 今朝“嵌入式体系”还没有一个严厉和威望的界说.今朝人们所说的“嵌入式体系”,多指后者.9.嵌入式处理器家族中的单片机.DSP.嵌入式微处理器各有何特色?它们的运用范畴有何不合?答:单片机体积小.价钱低且易于控制和普及,很轻易嵌入到各类通用目标的体系中,实现各类方法的检测和控制.单片机在嵌入式处理器市场占领率最高,最大特色是价钱低,体积小. DSP是一种异常善于于高速实现各类数字旌旗灯号处理运算(如数字滤波.FFT.频谱剖析等)的嵌入式处理器.因为对其硬件构造和指令进行了特别设计,使其可以或许高速完成各类庞杂的数字旌旗灯号处理算法.普遍地用于通信.收集通信.数字图像处理,电机控制体系,生物信息辨认终端,及时语音压解体系等.这类智能化算法一般都是运算量较大,特别是向量运算.指针线性寻址等较多,而这些恰是DSP的长处地点.与单片机比拟,DSP具有的实现高速运算的硬件构造及指令和多总线,DSP处理的算法的庞杂度和大的数据处理流量以及片内集成的多种功效部件更是单片机不成企及的.嵌入式微处理器的基本是通用盘算机中的CPU,它的地址总线数量较多能扩大较大的存储器空间,所以可设置装备摆设及时多义务操纵体系(RTOS).RTOS是嵌入式运用软件的基本和开辟平台.正因为嵌入式微处理器能运行及时多义务操纵体系,所以可以或许处理庞杂的体系治理义务和处理工作.是以,普遍地运用在移动盘算平台.媒体手机.工业控制和贸易范畴(例如,智能工控装备.ATM机等).电子商务平台.信息家电(机顶盒.数字电视)以及军事上的运用.第二章 AT89S511.在AT89S51单片机中,假如采取6MHz 晶振,一个机械周期为( 2µs ).2.AT89S51的机械周期等于(1个机械周期等于12)个时钟振荡周期.3. 内部RAM 中,位地址为40H.88H 的位,该位地点字节的字节地址分离为(28H )和(88H ).4.片内字节地址为2AH 单元最低位的位地址是(50H ;片内字节地址为88H 单元的最低位的位地址为88H.5.若A 中的内容为63H,那么,P 标记位的值为(0).6.AT89S51单片机复位后,R4所对应的存储单元的地址为(04H ),因上电时PSW=(00H .这时当前的工作存放器区是( 0 )组工作存放器区.7.内部RAM 中,可作为工作存放器区的单元地址为( 00H-1FH ).8.经由过程客栈操纵实现子程序挪用时,起首把( PC )的内容入栈,以进行断点呵护.挪用子程序返回时,再进行出栈呵护,把呵护的断点送回到( PC ),先弹出来的是本来( )中的内容.9.AT89S51单片机程序存储器的寻址规模是由程序计数器PC 的位数所决议的,因为AT89S51的PC 是16位的,是以其寻址的规模为(64)KB. 10.下列说法(C.D )是准确的.A.运用AT89S51且引脚1 EA 时,仍可外扩64KB 的程序存储器.( × )B.区分片外程序存储器和片外数据存储器的最靠得住的办法是看其位于地址规模的低端照样高端.( × )C.在AT89S51中,为使准双向的I ∕O 口工作在输入方法,必须事先预置为1.( √ )D.PC 可以算作是程序存储器的地址指针.( √ ) 11.下列说法(A )是准确的.A.AT89S51中特别功效存放器(SFR )占用片内RAM 的部分地址.( √ )B.片内RAM的位寻址区,只能供位寻址运用,而不克不及进行字节寻址.(×)C.AT89S51共有26个特别功效存放器,它们的位都是可用软件设置的,是以,是可以进行位寻址的.(×)D.SP称之为客栈指针,客栈是单片机内部的一个特别区域,与RAM无关.(×).12.在程序运行中,PC的值是:( C )A.当前正在履行指令的前一条指令的地址.B.当前正在履行指令的地址.C.当前正在履行指令的下一条指令的首地址.D.控制器中指令存放器的地址.13. 下列说法(A.B)是准确的.A.PC是一个不成寻址的特别功效存放器.(√)B.单片机的主频越高,其运算速度越快.(√)C.在AT89S51单片机中,1个机械周期等于1μs.(×)D.特别功效存放器SP内存放的是栈顶首地址单元的内容.(×)14. 下列说法(A.B.C)是准确的.A.AT89S51单片机进入余暇模式,CPU停滞工作.片内的外围电路仍将持续工作.(√)B.AT89S51单片机不管是进入余暇模式照样失落电运行模式后,片内RAM和SFR中的内容均保持本来的状况.(√)C.AT89S51单片机进入失落电运行模式,CPU和片内的外围电路(如中止体系.串行口和准时器)均停滞工作.(√)D.AT89S51单片机失落电运行模式可采取响应中止方法来退出.(×)15.AT89S51单片机的片内都集成了哪些功效部件?答:AT89S51单片机的片内都集成了如下功效部件:①1个微处理器(CPU);②128个数据存储器(RAM)单元 ;③4K Flash程序存储器;④4个8位可编程并行I/O口(P0口.P1口.P2口.P3口)⑤1个全双工串行口;⑥2个16位准时器/计数器;⑦1个看门狗准时器;⑧一个中止体系,5个中止源,2个优先级;⑨26个特别功效存放器(SFR),⑩1个看门狗准时器.16.解释AT89S51单片机的EA引脚接高电平或低电平的差别.答:当EA脚为高电日常平凡,单片机读片内程序存储器(4K 字节Flash)中的内容,但在PC值超出0FFFH(即超出4K字节地址规模)时,将主动转向读外部程序存储器内的程序;当EA脚为低电日常平凡,单片机只对外部程序存储器的地址为0000H~FFFFH中的内容进行读操纵,单片机不睬会片内的4K字节的Flash程序存储器.17. 64K程序存储器空间中有5个单元地址对应AT89S51单片机5个中止源的中止进口地址,请写出这些单元的进口地址及对应的中止源.答:64K程序存储器空间中有5个特别单元分离对应于5个中止源的中止办事程序进口地址,见下表:表 5个中止源的中止进口地址18.当AT89S51单片机运行出错或程序陷入逝世轮回时,若何摆脱困境?答:按下复位按钮.第三章 C511.C51在尺度C的基本上,扩大了哪几种数据类型?答:bit sbit sfr .2.C51有哪几种数据存储类型?个中“idata,code,xdata,pdata”各对应AT89C51单片机的哪些存储空间?答: (1). C51数据存储类型有: bdata, data, idata, pdata, xdata,code.(2). “idata,code,xdata,pdata”各对应的存储空间数据存储类型对应单片机存储器idata 片内RAM 00H~FFH,共256字节code ROM 0000H~FFFFH ,共64K字节xdata 片外RAM 0000H~FFFFH,共64K字节pdata 片外RAM 00H~FFH,共256字节3.bit与sbit界说的位变量有什么差别?(答案非尺度,网上凑起来的)答:bit : 编译时分派空间;sbit 只能在外部界说全局变量.bit和sbit都是C51扩大的变量类型.sbit 要在最外面界说,就是说必须界说成外部变量.sbit界说的是SFR(特别功效存放器)的bit.sbit: 指导解释性解释;bit 可以在外部或内部界说. 4.解释3中数据存储模式(1)small模式(2)compact模式(3)large模式之间的不同.答:若声明char varl,则在运用SMALL存储模式下,varl被定位在data 存储区,在运用COMPACT模式下,varl被定位在idata存储区;在LARGE模式下,varl被定位在xdata存储区中.5.编写C51程序,将片外2000H为首址的持续10个单元的内容,读入到片内部40H到49H单元中.答:程序设计思绪——采取指针的办法.选用指针px, px指向char型数据位于xdata, 赋值px=2000H 选用指针px1, px1指向char型数据位于data,赋值px1=40H 在for轮回中,*px1=*px; 并且当i++时,px++, px1++,.采取数组的办法.xdata uchar buf1[10] _at_ 0x2000data uchar buf2[10] _at_ 0x40;在for轮回中, buf2[i] = buf1[i] ;采取指针的办法参考程序如下:#define uchar unsigned charvoid main( ) // 主函数{ data uchar i;uchar xdata *px ; // 指针px,指向char型数据位于xdatauchar data *px1 ; // 指针px1,指向char型数据位于datapx=0x2000;px1=0x40;for(i=0; i<10; i++,px++,px1++)*px1=*px;while(1);}采取数组的办法参考程序如下:#define uchar unsigned charxdata uchar buf1[10] _at_ 0x2000; //位于xdata数组buf1[0]地址2000Hdata uchar buf2[10] _at_ 0x40; //位于data数组buf2[0]地址40Hvoid main( ) // 主函数{ data uchar i;for(i=0; i<10; i++)buf2[i] = buf1[i];while(1);}6.do-while组成的轮回与do-while轮回的差别是什么?答:重要差别是:while轮回的控制出如今轮回体之前,只有当while后面表达式的值非0时,才可能履行轮回体,是以有可能一次都不履行轮回体;在do-while组成的轮回中,老是先履行一次轮回体,然后再断定表达式的值,是以无论若何,轮回体至少要被履行一次.第四章运用题无答案第五章1.2.双向口和准双向口有什么差别?答:双向口与准双向口的差别主如果:准双向口I/O口操纵时做数据输入时须要对其置1,不然若前一位为低电平,后一位输入的电平为高则MOS管拉不起来导致出错.而双向口则不须要做此动作,因为双向口有悬浮态.准双向口就是做输入用的时刻要有向锁存器写1的这个预备动作,所以叫准双向口.真正的双向口不须要任何预操纵可直接读入读出.1:准双向一般只能用于数字输入输出,输入时为弱上拉状况(约50K上拉),端口只有两种状况:高或低.2:双向除用于数字输入输出外还可用于模仿输入输出,模仿输入时端口经由过程偏向控制设置成为高阻输入状况.双向端口有三种状况:高.低或高阻.3:初始状况和复位状况下准双向口为1,双向口为高阻状况第六章1.若存放器(IP)= 00010100B,则优先级最高者为(外部中止1),最低者为(准时器T1).2.下列说法准确的是( D ).A.各中止源发出的中止请求旌旗灯号,都邑标识表记标帜在AT89S51的IE存放器中B.各中止源发出的中止请求旌旗灯号,都邑标识表记标帜在AT89S51的TMOD存放器中C.各中止源发出的中止请求旌旗灯号,都邑标识表记标帜在AT89S51的IP存放器中D.各中止源发出的中止请求旌旗灯号,都邑标识表记标帜在A T89S51的TCON与SCON存放器中3.在AT89S51的中止请求源中,须要外加电路实现中止撤消的是( A ).A.电平方法的外部中止请求B.下跳沿触发的外部中止请求C.外部串行中止D.准时中止4.下列说法准确的是( A.C.D ).A.同一级此外中止请求按时光的先后次序响应B.同一时光同一级此外多中止请求,将形成壅塞,体系无法响应C.低优先级中止请求不克不及中止高优先级中止请求,但是高优先级中止请求能中止低优先级中止请求D.同级中止不克不及嵌套5.中止响应须要知足哪些前提?答:一个中止源的中止请求被响应,必须知足以下须要前提:(1)总中止许可开关接通,即IE存放器中的中止总许可位EA=1.(2)该中止源发出中止请求,即该中止源对应的中止请求标记为“1”.(3)该中止源的中止许可位=1,即该中止被许可.(4)无同级或更高等中止正在被办事.第七章1.假如采取的晶振频率为24MHz,准时器计数器工作在方法0.1.2下,其最大准不时光各为若干?答:方法0最长可准时16.384ms;方法1最长可准时131.072ms;方法2最长可准时512us.2.准时器.计数器作计数器模式运用时,对外界计数器频率有何限制?答:对于12振荡周期为1个机械周期的51单片机,外界旌旗灯号频率必须小于晶振频率的1/24.对于单振荡周期为1个机械周期的51单片机,外界旌旗灯号频率必须小于晶振频率(或体系时钟频率)的1/4.3.准时器.计数器的工作方法2有什么特色?实用于哪些场合?打:准时器.计数器的工作方法2具有主动答复初值的特色,实用于准确准时,比方波特率的产生.第八章1.帧格局为1个肇端位,8个数据位和1个停滞位的异步串行通信方法是方法( 1 ).2.下列选项中,( ABDE )是准确的.(A) 串行口通信的第9数据位的功效可由用户界说.(对)(B) 发送数据的第9数据位的内容在SCON 存放器的TB8位中预先预备好的.(对)(C) 串行通信帧发送时,指令把TB8位的状况送入发送SBUF 中.(错) (D )串行通信吸收到的第9位数据送SCON 存放器的RB8中保管.(对) (E )串行口方法1的波特率是可变的,经由过程准时器/计数器T1的溢出率设定.(对)3.串行口工作方法1的波特率是: (C)(A )固定的,为fosc/32. (B )固定的,为fosc/16.(C )可变的,经由过程准时器/计数器T1的溢出率设定.(D )固定的,为fosc/64. 4.在异步串行通信中,吸收方是若何知道发送方开端发送数据的?答:当吸收方检测到RXD 端从1到0的跳变时就启动检测器,吸收的值是3次持续采样,取个中2次雷同的值,以确认是否是真正的肇端位的开端,如许能较好地清除干扰引起的影响,以包管靠得住无误的开端接收数据.5.为什么准时器/计数器T1用作串行口波特率产生器时,常采取方法2?若已知时钟频率,串行通信的波特率,若何盘算装入T1的初值? 参P128答:因为准时器/计数器在方法2下,初值可以主动重装,如许在做串口波特率产生器设置时,就防止了履行重装参数的指令所带来的时光误差.设准时器T1方法2的初值为X,盘算初值X 可采取如下公式:波特率 = =的溢出率定时器1322T SMOD SMODosc 23212(256)f X ⨯- 准时器T1的溢出率=计数速度/(256-X)=fosc/[(256-X)*12] 故计数器初值为256-X = 2SMOD ×fosc/[12×32×波特率]6. 若晶体振荡器为11.0592MHZ,串行口工作于方法1,波特率为4800b/s,写出用T1作为波特率产生器的方法控制字和计数初值.答:方法1的波特率 =)256(12322X f osc SMOD-⨯= 4800 bit/s (T1工作于方法2)X=250=FAH经盘算,计数初值为FAH,初始化程序如下:ANL TMOD,#0F0H ;屏障低4位ORL TMOD,#20H ;T1准时模式工作方法2MOV TH1,#0FAH ;写入计数初值,波特率为4800b/sMOV TL1,#0FAHMOV SCON,#40H ;串行口工作于方法1解法2:由4800655361232213221=-⨯=⨯=XfToscSMODSMOD的溢出率定时器的波特率方式(T1工作于方法2)得HFFFX4655241265536480038420592.1165536==-=⨯⨯-=初始化程序如下:ORG 0000HANL TMOD,#0F0H ;屏障低4位ORL TMOD,#10H ;T1准时模式方法1MOV TH1,#0FFH ;写入计数初值,为4800b/sMOV TL1,#0F4HMOV SCON,#40H ;串行口工作于方法1 MOV PCON,#80H ;串行通信波特率加倍7.为什么AT89S51单片机串行口的方法0帧格局没有肇端位(0)和停滞位(1)?答:串行口的方法0为同步移位存放器输入输出方法,经常运用于外接移位存放器,以扩大并行I/O口,一般不必于两个MCS-51之间的串行通信.该方法以fosc/12的固定波特率从低位到高位发送或吸收数据.8.直接以TTL电平串行传输数据的方法有什么缺陷?为什么在串行传输距离较远时,常采取RS-232C.RS-422A和RS-485尺度串行接口,来进行串行数据传输.比较RS-232C.RS-422A和RS-485尺度串行接口各自的优缺陷.答:直接以TTL电平串行传输数据的方法的缺陷是传输距离短,抗干扰才能差.是以在串行传输距离较远时,常采取RS-232C.RS-422A和RS-485尺度串行接口.主如果对传输的电旌旗灯号不竭改良,如RS-232C传输距离只有几十米远,与直接以TTL电平串行传输比拟,采取了负逻辑,增大“0”.“1”旌旗灯号的电平差.而RS-422A和RS-485都采取了差分旌旗灯号传输,抗干扰才能强,距离可达1000多米.RS-422A为全双工,RS-485为半双工.第九章1.单片机存储器的重要功效是存储(程序)和(数据).2.在存储器扩大中,无论是线选法照样译码法,最终都是为了扩大芯片的片选端供给(片选)控制.3.起止规模为0000H-3FFFH的存储器的容量是(16)KB.4.在AT89S51单片机中,PC和DPTR都用于供给地址,但PC是为拜访(程序)存储器供给地址,而DPTR是为拜访(数据)存储器供给地址.5.11根地址线可选(2KB)个存储单元,16KB存储单元须要(14)根地址线.6.4KB RAM存储器的首地址若为0000H,则末地址为( 0FFF)H7.试编写一个程序(例如将05H和06H拼为56H),设原始数据放在片外数据区2001H单元和2002H单元中,按次序拼装后的单字节数放入2002H.解:本题重要考核准确运用MOVX指令对外部存储器的读.写操纵.编程思绪:起首读取2001H的值,保管在存放器A中,将存放器A的高四位和低四位交换,再屏障失落低四位,然后将存放器A的值保管到30H中,然后再读取2002H的值,保管在存放器A中,屏障失落高四位,然后将存放器A的值与30H进行或运算,将运算后的成果保管在2002H中.ORG 1000HMAIN:MOV DPTR,#2001H ;设置数据指针的初值MOVX A,@DPTR ;读取2001H的值SWAP A ;A的高四位和低四位交换ANL A,#0F0H ;屏障失落低四位MOV 30H,A ;保管AINC DPTR ;指针指向下一个MOVX A,@DPTR ;读取2002H的值ANL A,#0FH ;屏障失落高四位ORL A,30H ;进行拼合MOVX @DPTR,A ;保管到2002HEND8.编写程序,将外部数据存储器中的4000H~40FFH单元全体清零.答:本题重要考核对外部数据块的写操纵;编程时要留意轮回次数和MOVX 指令的运用.ORG 1000HMAIN:MOV A,#0 ;送预置数给AMOV R0,#00H ;设置轮回次数MOV DPTR,#4000H ;设置数据指针的初值LOOP:MOVX @DPTR,A ;当前单元清零INC DPTR ;指向下一个单元DJNZ R0,LOOP ;是否停滞END9.在AT89S51单片机体系中,外接程序存储器和数据存储器共16位地址线和8位数据线,为何不会产生冲突?参P159答:因为控制旌旗灯号线的不合:外扩的RAM芯片既能读出又能写入,所以平日都有读写控制引脚,记为和.外扩RAM的读.写控制引脚分离与AT89S51的和引脚相连.外扩的EPROM在正常运用中只能读出,不克不及写入,故EPROM芯片没有写入控制引脚,只有读出引脚,记为,该引脚与AT89S51单片机的相连.10.11.断定下列说法是否准确,为什么?A.因为82C55不具有地址锁存功效,是以在与AT89S51的接口电路中必须加地址锁存器B.在82C55芯片中,决议各端口编址的引脚是PA1和PA0C.82C55具有三态缓冲器,是以可以直接挂在体系的数据总线上D.82C55的PB口可以设置成方法2答:(A)错;(B)错;(C)错,82C55不具有三态缓冲器;(D)错,82C55的B口只可以设置成方法0和方法1.12.I/O接口和I/O 端口有什么差别?I/O接口的功效是什么?答:I/O端口简称I/O口,常指I/O接口电路中具有端口地址的存放器或缓冲器.I/O 接口是指单片机与外设间的I/O接口芯片;I/O接口功效:(1) 实现和不合外设的速度匹配;(2) 输出数据缓存;(3) 输入数据三态缓冲.一个I/O 接口芯片可以有多个I/O 端口,传送数据的称为数据口,传送敕令的称为敕令口,传送状况的称为状况口.当然,其实不是所有的外设都须要三种接口齐备的I/O接口.13.I/O 数据传送有哪几种方法?分离在哪些场合下运用?答:3种传送方法: (1) 同步传送方法:同步传送又称为有前提传送.当外设速度可与单片机速度比拟较时,经常采取同步传送方法.(2) 查询传送方法:查询传送方法又称为有前提传送,也称异步传送.单片机经由过程查询得知外设预备好后,再进行数据传送.异步传送的长处是通用性好,硬件连线和查询程序十分简略,但是效力不高. (3) 中止传送方法:中止传送方法是运用AT89S51本身的中止功效和I/O接口的中止功效来实现I/O数据的传送.单片机只有在外设预备好后,发出数据传送请求,才中止主程序,而进入与外设进行数据传送的中止办事程序,进行数据的传送.中止办事完成后又返回主程序持续履行.是以,中止方法可大大进步工作效力.14.经常运用的I/O端口编址有哪两种方法?他们各有什么特色?MCS—51的I/O 端口编址采取的是哪种方法?答:两种.(1) 自力编址方法:自力编址方法就是I/O地址空间和存储器地址空间离开编址.自力编址的长处是I/O地址空间和存储器地址空间互相自力,界线分明.但却须要设置一套专门的读写I/O的指令和控制旌旗灯号.(2) 同一编址方法:这种方法是把I/O端口的存放器与数据存储器单元一致看待,同一进行编址.同一编址的长处是不须要专门的I/O指令,直接运用拜访数据存储器的指令进行I/O操纵.AT89S51单片机运用的是I/O和外部数据存储器RAM同一编址的方法.15.82C55的“方法控制字”和“PC按地位位∕复位控制字”都可以写入82C55的同一个控制存放器,82C55是若何来区分这两个控制字的?答:82C55经由过程写入控制字存放器的控制字的最高位来进行断定,最高位为1时,为方法控制字,最高位为0时,为C口的按地位位/复位控制字.第十章1.对于电流输出的D/A转换器,为了得到电压输出,应运用(由运算放大器组成的电流/电压转换电路).2.运用双缓冲同步方法的D/A转换器,可以实现多路模仿旌旗灯号的(同步)输出.3.断定下列说法是否准确?A.“转换速度”这一指标仅实用于A/D转换器,D/A转换器不必斟酌转换速度这一问题(错)B. ADC0809可以运用转换停滞旌旗灯号EOC向AT89S51发出中止请求(对)C.输出模仿量的最小变更量称为A/D转换器的分辩率(错)D. 对于周期性的干扰电压,可运用双积分型A/D转换器,并选择适合的积分元件,可以将周期性的干扰电压带来的转换误差清除.(对)4.D/A 转换器的重要机能指标有哪些?设某DAC 为二进制12 位,满量程输出电压为 5V,试问它的分辩率是若干?答:D/A转换器的重要技巧指标如下:分辩率:D/A转换器的分辩率指输入的单位数字量变更引起的模仿量输出的变更,是对输入量变更迟钝程度的描写.树立时光:树立时光是描写D/A转换速度快慢的一个参数,用于标明转换速度.其值为从输入数字量到输出达到终位误差±(1/2)GB(最低有用位)时所需的时光.转换精度:幻想情形下,精度与分辩率根本一致,位数越多精度越高.严厉讲精度与分辩率其实不完全一致.只要位数雷同,分辩率则雷同.但雷同位数的不合转换器精度会有所不合.当DAC为二进制12位,满量程输出电压为5V时,分辩率为5÷212=1.22 mV 5.A/D转换器的两个最重要指标是什么?答:A/D转换器的两个最重要指标:(1) 转换时光和转换速度——转换时光A /D完成一次转换所须要的时光.转换时光的倒数为转换速度.(2) 分辩率——A/D转换器的分辩率习惯上用输出二进制位数或BCD码位数暗示.6.剖析A/D 转换器产生量化误差的原因,一个8 位的A/D 转换器,当输入电压为0~5V 时,其最大的量化误差是若干?答:量化误差是因为有限位数字且对模仿量进行量化而引起的;最大的量化误差为0.195%;(△=+LSB/2=+1/2*5/28 =+9.77mv)7.今朝运用较普遍的A/D转换器重要有以下几种类型?它们各有什么特色?答:今朝运用较普遍的重要有以下几种类型:逐次逼近式转换器.双积分式转换器.∑-△式A/D转换器.逐次逼近型A/D转换器:在精度.速度和价钱上都适中,是最经常运用的A/D转换器件.双积分A/D转换器:具有精度高.抗干扰性好.价钱低廉等长处,但转换速度慢,近年来在单片机运用范畴中也得到普遍运用.∑-△式A/D转换器:具有积分式与逐次逼近式ADC的双重长处,它对工业现场的串模干扰具有较强的克制才能,不亚于双积分ADC,它比双积分ADC有较高的。

单片机习题集(含答案)经典

单片机习题集(含答案)经典

单片机原理及应用习题第一章绪论1-1单项选择1、计算机中最常用的字符信息编码是()。

(A)ASCII (B)BCD码(C)余3码(D)循环码2、-31D的二进制补码为.( )。

(A)1110000B (B)11100001B (C)01100000B (D)01100001B3、十进制29的二进制表示为原码()。

(A)11100010B (B) 10101111B (C)00011101B (D)00001111B4、十进制0.625转换成二进制数是()。

(A)0.101 (B) 0.111 (C)0.110 (D)0.1005、十六进制数7的ASCII码是()。

(A) 37 (B) 7 (C) 07 (D) 476、十六进制数B的ASCII码是()。

(A) 38 (B) 42 (C) 11 (D) 10117、通常所说的主机是指()(A)运算器和控制器(B)CPU和磁盘存储器(C)CPU和主存储器(D)硬件和软件8、使用单片机实现在线控制的好处不包括( )(A)精确度高(B)速度快(C)成本低(D)能与数据处理结合1-2填空1、计算机中常作的码制有、和。

2、十进制29的二进制表示为。

3、十进制数-29的8位补码表示为。

4、是计算机与外部世界交换信息的载体。

5、十进制数-47用8位二进制补码表示为。

6、-49D的二进制补码为。

7、计算机中的数称为,它的实际值叫。

8、单片机的存储器结构形式有普林斯顿结构(又称冯.依诺曼结构)与哈佛结构,MCS-51存储器采用的是结构。

1-3 问答题1、何谓单片机?单片机与一般微型计算机相比,具有哪些特点?2、单片机主要应用在哪些领域?3、为什么80C51系列单片机能成为8位单片机应用主流?4、举例说明单片机的主要应用领域。

5、二进制数、十进制数、十六进制数各用什么字母尾缀作为标识符?无标识符时表示什么进制数?6、试比较MCS-51,MSP430,EM78,PIC,M6800及AVP等系列单片机的特点。

单片机习题及参考答案

单片机习题及参考答案

(一)填空题1. 除了“单片机”之外,单片机还可以称之为单片微控制器和单片微型计算机。

2. 专用单片机由于已经把能集成的电路都集成到芯片内部了,所以专用单片机可以使系统结构最简化,软硬件资源利用最优化,从而极大地提高了可靠性和降低了成本。

3. 在单片机领域内,ICE的含义是在线仿真器(In Circuit Emulator)。

4. 单片机主要使用汇编语言,而编写汇编语言程序要求设计人员必须精通和指令系统,单片机硬件结构。

5. CHMOS工艺是 CMOS 工艺和 HMOS 工艺的结合,具有低功耗的特点。

6. 与8051比较,80C51的最大特点是所用CHMOS工艺。

7. 微控制技术是对传统控制技术的一次革命,这种控制技术必须使用单片机才能实现。

(二)选择题1.下列简写名称中不是单片机或单片机系统的是(A)MCU (B)SCM (C)ICE (D)CPU2.在家用电器中使用单片机应属于计算机的是(A)数据处理应用(B)控制应用(C)数值计算应用(D)辅助工程应用3.80C51与80C71的区别在于(A)内部程序存储器的类型不同(B)内部数据存储器的类型不同(C)内部程序存储器的容量不同(D)内部数据存储器的容量不同4.8051与80C51的区别在于(A)内部ROM的类型不同(B)半导体工艺的形式不同(C)内部寄存单元的数目不同(D)80C51使用EEPROM,而8051使用EPROM5.在下列单片机芯片中使用掩膜ROM作为内总程序存储器的是(A)8031 (B)80C51 (C)8032 (D)87C516.80C51芯片采用的半导体工艺是(A)CMOS (B)HMOS (C)CHMOS(D)NMOS7.单片机芯片8031属于(A)MCS-48系列(B)MCS-51系列(C)MCS-96系列(D)MCS-31系列8.使用单片机实现在线控制的好处不包括(A)精确度高(B)速度快(C)成本低(D)能与数据处理结合9.以下所列各项中不是单片机发展方向的是(A)适当专用化(B)不断提高其性能(C)继续强化功能(D)努力增加位数第二章课后习题参考答案(一)判断题1.用户构建单片机应用系统,只能使用芯片提供的信号引脚。

单片机复习题库(含答案)

单片机复习题库(含答案)

单片机复习题库(含答案)单片机复习题库(含答案)一、单选题1. 下面哪个不是单片机的特点?A. 集成度高B. 执行速度快C. 操作简便D. 存储容量大答案:D2. 在单片机的复位电路中,常用的复位方式是:A. 程序复位B. 硬件复位C. 软件复位D. 手动复位答案:B3. 单片机中断的触发方式有以下哪几种?A. 内部触发B. 外部触发C. 软件触发D. 手动触发答案:A、B、C4. 单片机中的位操作指令是指对数据的哪一部分进行操作?A. 高字节B. 低字节C. 位D. 字节答案:C5. 单片机工作模式中,可以通过设置谁来控制单片机工作状态?A. 硬件B. 软件C. 中断D. 外部信号答案:B二、判断题1. 单片机的外部中断一般需要使用外部中断触发器。

答案:错2. 单片机的I/O口可以设置为输入、输出或者双向。

答案:对3. 单片机的Flash存储器是一种非易失性存储器。

答案:对4. 单片机的片内RAM存储器可以直接运行程序。

答案:对5. 单片机的位操作指令是指对数据的整个字节进行操作。

答案:错三、填空题1. 单片机的中断向量表一般存储在()中。

答案:ROM2. 单片机的外部中断触发方式可以选择为()或者()。

答案:上升沿触发、下降沿触发3. 单片机的位操作指令是通过()实现对数据位的读、写或者置位等操作。

答案:位地址4. 单片机的运算指令可以对()进行算术运算或者逻辑运算。

答案:寄存器中的数据5. 单片机的GPIO口是指()。

答案:通用输入输出口四、简答题1. 请简要解释单片机的中断工作原理。

答案:单片机在执行程序的过程中,可以根据外部或者内部的中断请求来暂停当前的工作,转而执行中断服务程序。

当中断请求触发时,单片机会保存当前的程序计数器和其它寄存器的状态,然后跳转到对应的中断服务程序。

该程序处理完中断事件后,再返回到原来的程序继续执行。

通过中断,可以提高单片机的响应速度和处理能力。

2. 请简要说明单片机的I/O口使用方法。

单片机习题及参考答案

单片机习题及参考答案

习题及参考答案一、填空题1、指令格式是由操作码和操作数所组成,也可能仅由操作码组成。

2、若用传送指令访问MCS-51的程序存储器,它的操作码助记符应为MOVC 。

3、若用传送指令访问MCS-51的片内数据存储器,它的操作码助记符应为MOV 。

4、若访问MCS-51的片外数据存储器,它的操作码助记符应为MOVX 。

5、累加器(A)=80H,执行完指令ADD A,#83H后,进位位C= 1 。

6、执行ANL A,#0FH指令后,累加器A的高4位= 0000 。

7、JZ rel的操作码地址为1000H,rel=20H,它的转移目的地址为1022H 。

8、JBC 00H,rel 操作码的地址为2000H,rel=70H,它的转移目的地址为2073H 。

9、累加器(A)=7EH,(20H)= #04H,MCS-51执行完ADD A,20H指令后PSW.0= 0 。

10、MOV PSW,#10H是将MCS-51的工作寄存器置为第 2 组。

11、指令LCALL 37B0H,首地址在2000H,所完成的操作是2003H 入栈,37B0H →PC。

12、MOVX A,@DPTR源操作数寻址方式为寄存器间接寻址。

13、ORL A,#0F0H是将A的高4位置1,而低4位保持不变。

14、SJMP rel的指令操作码地址为0050H,rel=65H,那么它的转移目标地址为 00B7H 。

15、设DPTR=2000H,(A)=80H,则MOVC A,@A+DPTR的操作数的实际地址为2080H 。

16、MOV C,20H源寻址方式为位寻址。

17、在直接寻址方式中,只能使用8 位二进制数作为直接地址,因此其寻址对象只限于片内RAM 。

18、在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的地址。

19、在变址寻址方式中,以 A 作变址寄存器,以PC 或DPTR 作基址寄存器。

20、假定累加器A中的内容为30H,执行指令1000H:MOVC A,@A+PC后,把程序存储器1031H 单元的内容送入累加器A中。

单片机习题集及答案

单片机习题集及答案

单片机习题集及答案1.在MCS-51中,有7种寻址方式,它们分别为立即数寻、寄存器寻址、直接寻址、寄存器间接寻址、相对寻址、变址寻址和位寻址。

2.汇编语言的指令格式为标号:操作码操作数注释。

3.数据传送类指令执行完毕,源操作数的内容不会(会/不会)丢失。

4.8051内部RAM从20H至2FH既可位寻址,又可间接寻址,位地址空间从00H到7FH。

5.MCS-51单片机指令系统中,指令长度有一字节、二字节和(三)字节,指令执行时间有一个机器周期、两个机器周期和四机器周期,乘法指令需四机器周期。

6.MOV A,20H中,20H的寻址方式称之为_直接___;SETB 20H的寻址方式为位寻址。

7.关于堆栈类操作的两条指令分别是_PUSH(入栈)指令_ 、POP(出栈)指令;堆栈操作只能是寄存器间接寻址寻址。

8.访问8031片外数据存储器MOVX指令采用的是寄存器间接寻址寻址方式。

访问片外序存储器MOVC指令采用的是变址寻址方式。

9.设(A)=55H,(R5)=AAH,则执行ANL A,R5指令后的结果是(A)= 00H,(R5)= AAH;则执行ORL A,R5指令后的结果是(A)= FFH ,(R5)= AAF;则执行XRL A,R5指令后的结果是(A)= FFH,(R5)= AAH 。

10.伪指令不产生(产生/不产生)可执行目标代码。

汇编语言程序结束的指令为END。

11.DA指令跟在ADD,ADDC指令的后面,用与二进制数与BCD码的调整。

若(A)=0AH ,执行DA A指令后,(A)= 15。

单项选择题1.JMP跳转范围是:(D. -128~127B)2.MCS—51系列单片机最长的一条指令需 B. 4个机器周期。

3.MOV A,@R0这条指令中@R0的寻址方式称为:(B. 寄存器间接寻址)4.在CPU内部,反映程序运行状态或反映运算结果的特征寄存器是:B. PSW5.下列指令中正确的是:B. JBC TF0,L16.下列指令中错误的是:A. SETB 50H.07.将累加器的值压入堆栈的正确指令是:B. PUSH A8.下列那条减法指令是错误的:C. SUBBC9. 指令CJNE A ,#00H ,LOOP 影响PSW的哪一位:C.CY10. 在MUL AB指令中,若积超过255,则C. OV=111.在相对寻址方式中,寻址的结果体现在A.PC中12.在相对寻址方式中,"相对"两字是指相对于C.当前指令的末地址13.在寄存器间接寻址方式中,指定寄存器中存放的是B.操作数地址14.对程序存储器的读操作,只能使用D.MOVC指令15.必须进行十进制调整的十进制运算C.只有加法16.执行返回指令时,返回的断点是C.调用指令下一条指令的首地址17.下列指令中与进位标志位CY 无关的指令有D.无条件转移指令18.可以为访问程序存储器提供或构成地址的有D.PC、A、DPTR和SP 19.以下各项中不能用来对内部数据存储器进行访问的是A.数据指针DPTR20.若原来工作寄存器0组为当前寄存器组,现要改1组为当前寄存器组,不能使用指令C.MOV PSW.3,C21.不能为程序存储器提供和构成地址的有:D.PSW22.MCS-51汇编语言指令格式中,唯一不可缺少的部分是:B.操作码23.MCS—51的立即寻址方式中,立即数前面:D.应加前缀“#”号24.下列完成8031单片机内部数据传送的指令是:D.MOV direct,direct(25).MCS—51的立即寻址的指令中,立即数就是:A.放在寄存器R0中的内容26.单片机中PUSH和POP指令常用来:C.保护现场,恢复现场27.MCS—51寻址方式中,操作数Ri加前缀“@”号的寻址方式是:A.寄存器间接寻址28.MCS—51寻址方式中,位寻址的寻址空间是:D.片内RAM的20H~2FH字节中的所有位和部分专用寄存器SFR的位29.MCS—51寻址方式中,直接寻址的寻址空间是B.专用寄存器SFR30.执行指令MOVX A,@DPTR时,WR、RD脚的电平为:C.WR高电平,RD低电平31.主程序执行完ACALL后返回主程序后,堆栈指针SP的值:A.不变32.单片机中使用MOVX A,@R1指令寻址数据存贮器1050H 单元。

(完整版)单片机试题及答案

(完整版)单片机试题及答案

(完整版)单⽚机试题及答案单⽚机原理与接⼝技术习题答案习题与思考题11-1 微型计算机通常由哪些部分组成?各有哪些功能?答:微型计算机通常由控制器、运算器、存储器、输⼊/输出接⼝电路、输⼊设备和输出设备组成。

控制器的功能是负责从内部存储器中取出指令并对指令进⾏分析、判断、并根据指令发出控制信号,使计算机有条不紊的协调⼯作;运算器主要完成算数运算和逻辑运算;存储器⽤于存储程序和数据;输⼊/输出接⼝电路完成CPU与外设之间相连;输⼊和输出设备⽤于和计算机进⾏信息交流的输⼊和输出。

1-2 单⽚微型计算机与⼀般微型计算机相⽐较有哪些区别?有哪些特点?答:与通⽤微型计算机相⽐,单⽚机的硬件上,具有严格分⼯的存储器ROM和RAM和I/O端⼝引脚具有复⽤功能;软件上,采⽤⾯向控制的指令系统和硬件功能具有⼴泛的通⽤性,以及品种规格的系列化。

单⽚机还具备体积⼩、价格低、性能强⼤、速度快、⽤途⼴、灵活性强、可靠性⾼等特点。

1-3 简述计算机的⼯作过程。

答:计算机的⼯作是由微处理器以⼀定的时序来不断的取指令、指令译码和执⾏指令的过程。

1-4 单⽚机的⼏个重要指标的定义。

答:单⽚机的重要指标包括位数、存储器、I/O⼝、速度、⼯作电压、功耗和温度。

1-5 单⽚微型计算机主要应⽤在哪些⽅⾯?答:单⽚机的主要应⽤领域有智能化产品、智能化仪表、智能化测控系统、智能化接⼝等⽅⾯。

1-6 为什么说单⽚微型计算机有较⾼的性能价格⽐和抗⼲扰能⼒?答:因为单⽚微型计算机主要⾯向特定应⽤⽽设计,设计者在硬件和软件上都⾼效率地设计,量体裁⾐、去除冗余,⼒争在同样的硅⽚⾯积上实现更⾼的性能,具备较⾼的性能、价格⽐;单⽚机嵌⼊式系统中的软件⼀般都固化在存储器芯⽚或单⽚机本⾝中,⽽不是存贮于磁盘等载体中,另外单⽚机体积⼩,可以放⼊屏蔽设备中,从⽽使其具有较⾼的抗⼲扰能⼒。

1-7 简述单⽚机嵌⼊式系统的定义和特点。

答:单⽚机嵌⼊式系统是嵌⼊到对象体系中的专⽤计算机系统;其特点是⾯向特定应⽤、与各个⾏业的具体应⽤相结合、硬件和软件⾼效率、软件固化在存储器芯⽚或单⽚机本⾝和不具备⾃举开发能⼒。

单片机习题答案

单片机习题答案

单片机习题答案第1章习题参考答案1-1什么是单片机?它与一般微型计算机在结构上何区别?微型计算机的基本结构由CPU(运算器、控制器)、存储器、输入设备和输出设备五大部分组成,各部分通过外部总线连接而成为一体。

单片机的结构是在一块芯片上集成了中央处理器(CPU)、存储器、定时器/计数器、中断控制、各种输入/输出接口(如并行I/O口、串行I/O口和A/D转换器)等,它们通过单片机内部部总线连接而成为一体。

1-2MCS-51系列单片机内部资源配置如何?试举例说明8051与51兼容的单片机的异同。

答:MCS-51系列单片机内部资源配置型号8031/80C318051/80C51程序存储器片内RAM定时/计数器并行I/O口串行口中断源/中断优先级无128B128B128B256B256B2某162某162某163某163某164某84某84某84某84某8111115/25/25/26/26/24KBROM无8751/87C514KBEPROM8032/80C328052/80C524KBROM8051与51兼容的单片机的异同厂商型号程序存储片内定时/并行串行中断源/优先级5/26/2直接驱动LED输出,片上模拟比较器256B3某163219/2SPI,WDT,2个数据指针其它特点器RAM计数器I/O口口IntelATMEL8051/80C514KBROM128BAT89C20512KBFlahROMAT89S5312KBFlah ROMAnalogADuC812DeviceW77E5832KB256B+3某1636212/2扩展了4位I/O 口,双数据指针,WDT。

19/2WDT,SPI,8通道12位ADC,2通道12位DAC,片上DMA控制器。

.飞利浦80C552无256B3某1648115/4CMOS型10位ADC,捕捉/比较单元,PWM83/87C5528KBEEPROM83/89CE55832KBEEPROM256B+3某16401024B115/4256B3某1648115/4CMOS型10位ADC,捕捉/比较单元,PWM8通道10位ADC,捕捉/比较单元,PWM,双数据指针,IC总线,PLL (32kHz)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章习题1.1 什么叫单片机?单片机由哪几个主要部分组成?单片机是单片微型计算机(Single Chip Microcomputer)的简称,是指把组成微型计算机的各种功能部件集成在一块芯片上,也就是集成在一块芯片上的计算机。

主要组成部分:CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)。

1.2 单片机主要应用于哪些领域?(1)在智能仪器仪表上的应用(2)在工业控制中的应用(3)在家用电器中的应用(4)单片机在医用设备领域中的应用1.3 将下列十进制数转换成二进制、十六进制数。

(1)129 =10000001B=81H (2)35.6 =100011.1001B=23.99H(3)63=111111B=3FH (4)125.25=100100101.01B=7D.4H1.4 常用数字编码与字符编码有哪些?常用数字编码有BCD码,字符编码有ASCII码。

1.5 在MCS-51单片机中,如果采用6MHz晶振,则一个机器周期为多少?2us1.6 试说明RAM和ROM各自的作用,主要的区别在哪里?程序存储器也叫只读存储器,简称ROM,单片机掉电后ROM内容不会丢失。

数据存储器也叫随机存储器,简称RAM,单片机掉电后RAM内容会丢失。

区别:ROM存放程序或者固定的数据,RAM存放变量或程序运行的中间结果。

1.7 试写出P3口的第二功能。

1.8 当程序运行出错或进入死循环,如何摆出困境?人工复位或者用看门狗是单片机自动复位。

1.9 非总线方式下的单片机最小应用系统有那几部分组成?单片机、复位电路、时钟电路、电源。

第二章习题2.1 MCS-51汇编语言指令由哪两部分组成?各有什么功能?指令的表示方法称为指令格式,一条指令通常由两部分组成,即操作码和操作数。

操作码:是由助记符表示的字符串,它规定了指令的操作功能。

操作数:是指参加操作的数据或数据的地址。

2.2 指出下列指令源操作数的寻址方式。

(1)MOV R0, #30H 立即寻址(2)MOV A, R1 寄存器寻址(3)MOV A, @R0 寄存器间接寻址(4)INC DPTR 寄存器寻址(5)MOVC A, @A+DPTR 变址寻址(6)MOV A, 30H 直接寻址(7)MOV C, 30H 位寻址(8)MOVX A, @DPTR 寄存器间接寻址2.3 判断下列指令是否正确,如错误,说明其原因。

(1)MOV A, @R7 (2)MOV 34H, 35H (3)XCHD A, R2(4)MOV @R0,R7 (5)MOVX A, @A+DPTR (6)PUSH DPTR(7)MOVC A, @DPTR (8)ADDC B, @R5 (9)DEC DPTR(10)SUBB A, R2 (11)SETB 20.3H (12)ANL 34H,#35H(13)ORL C, /20H (14)CLR B (15)XRL C, ACC.0 (16)DJNZ A, @R1, NEXT (17)JMP END (18)CJNE A, R3, DONE答案(1)错误 @R0或者@R1 (2)正确(3)错误将R2改为@R0或者@R1(4)错误将R7改为07H (5)错误将@A+DPTR改为@DPTR (6)错误将DPTR改为 ACC (7)错误将MOVC改为MOVX (8)错误将B改为A (9)错误将DPTR改为 DPL (10)正确(11)错误将20.3H改为03H (12)正确(13)正确(14)错误将B改为0F0H (15)错误将XRL改为ANL或ORL (16)错误将A, @R1改为R1 (17)错误将END改为$(18)错误将R3改为03H 2.4 下列程序执行结束后,按要求回答问题。

(1)MOV A, #80H;MOV B, #7FHMOV SP, #10HPUSH ACCPUSH BRET结果:(SP)=_10H_______,(PC)__不确定______。

(2)设:CY=0,AC=0,OV=0,P=0。

MOV A, #76HMOV B, #43HADDC A, BDA A结果:(A)=__19H_______,CY=___1_____。

2.5 根据要求完成程序。

使用查表发求A中内容的平方,如果A中存放的是0~9之间的数,结果存放在A,否则A中存放OFFH。

CJNE A, #09H, N1N1:__JC_______ N2__MOV DPTR,#TB_________MOVC A,@A+DPTR_______LJMP N3N2:MOV A, #0FFHN3:NOPTB:DB 0,1,4,9,16,25,36,49,64,812.6 编程实现将累加器A的高2位置1,低两位置0,其余位取反。

ORL A,#0C0HANL A,#0FCHXRL A,#3CH2.7 MCS-51汇编语言常用的伪指令有哪些?各有什么功能?教材第24页至26页2.8 编程实现将寄存器R5R6中双字节数(高字节在R5中,低字节在R6中)循环左移一位。

MOV A,R6RLC A //将R6的最高位移至进位位CMOV A,R5RLC AMOV R5,AMOV A,R6RLC AMOV R6,ASJMP $END2.9 编程实现将内部RAM中以20H开始的30个字节的数据传送到外部RAM中以1000H 开始的单元中去。

MOV R0,#20HMOV DPTR,#1000HMOV R1,#30MOV A,@R0;MOVX @DPTR,AINC R0INC DPTRDJNZ R1 ,NEXTSJMP $END2.10 编程实现求51H、50H单元中双字节数据的绝对值。

MOV A,51HJNB ACC.7,OVERMOV A,50HCPL AADD A,#01HMOV 50H,AMOV A,51HCPL AADDC A,#00HMOV 51H,AOVER:SJMP $END第三章习题3.1 MCS-51汇编语言中有哪几条常用的伪指令?各起什么作用?答:常用的伪指令及作用: 汇编起始地址命令:该伪指令后面程序的汇编地址,即汇编后生成目标程序存放的起始地址。

2.END 汇编结束命令:END命令通知汇编程序结束汇编。

3.EQU 赋值命令:EQU命令是把“项”赋值给“字符名称”。

4.DATA 数据地址赋值命令:DATA命令功能与EQU类似,但有以下差别:1)EQU定义的字符名必须先定义再使用,而DATA定义的字符名可以后定义先使用。

2)用EQU伪指令可以把一个汇编符号赋给一个名字,而DATA只能把数据赋给字符名。

3)DATA语句中可以把一个表达式的值赋给字符名,其中的表达式应是可求值的。

5.DB 定义字节命令:项或项表可以是一个字节、用逗号隔开的字节串或括在单引号(‘’)中的ASCII字符串。

它通知汇编程序从当前ROM地址开始,保留一字节或字节串的存储单元,并存入DB后面的数据。

6.DW 定义字节命令:该命令把DW后的16为数据项或项表从当前地址连续存放。

7.DS定义存储空间命令:在汇编时,从定义地址开始保留DS之后表达式的值所规定的存储单元,以备后用。

8.BIT 位地址定义伪指令:BIT伪指令的功能是将位地址赋予所规定的字符名称。

3.2 汇编语言中的可执行指令与伪指令有何区别?答:汇编语言中的可执行指令,就是规定计算机进行某种操作的命令。

汇编后有对应的二进制机器代码。

伪指令不属于MCS-51单片机指令系统中的指令,它是程序员发给汇编程序的命令,没有相应的机器代码。

伪指令具有控制汇编程序的输人输出、定义数据和符号、条件汇编、分配存储空间等功能。

3.3 设内部RAM中存有两个有符号数A和B,求A和B之差,若溢出,则将两数均清零;否则,两数保持不变。

答:设A、B分别在内部RAM direct1、direct2中ORG 0030HMOV A,direct1SUBB A, direct2JNB OV,FLISHMOV direct1,#00HMOV direct2,#00HFLISH:SJMP $3.4 设有两个16位二进制数,分别放在片内RAM 30H和40H开始的两个单元中,低字节在低地址单元中,高字节在高地址单元中,编程求两个数之和并存入40H开始的单元中。

答: ORG 0030HMOV A,30H ;取被加数低8位到AADD A,40H ;加数低8位与被加数低8位相加,结果放A中MOV 40H,A ;存结果MOV A,31H ;取被加数高8位到AADDC A,41H ;加数与被加数相高8位加并加低位进位MOV 41H,A ;存结果END3.5 已知片内30H,31H中存有一个16位的二进制数,高位在前,低位在后,请编程将它们乘2,再存回原处。

设乘完结果不超出双字节。

(提示:用带进位左移指令使双字节数左移一位。

)答:ORG 0050HMOV A,31HRL AMOV 31H,AMOV A,30HRLC AMOV 30H,AEND3.6 若有两个无符号数X、Y分别存放在外部数据存储器50H、51H单元中,试编写一个程序,实现5X+Y,结果高8位存入片内42H单元,低8位存入片内43H单元。

答:ORG 0030HMOV R0,#50HMOV R1,#51HMOVX A,@R0MOV B,#05HMUL ABMOV 43H,AMOV 42H,BMOVX A,@R1ADD A,43HMOV 43H,ACLR AADDC A,42HMOV 42H,AEND3.7 有10个单字节数据,连续存放在片外2000H开始的区域中,试求出这10个数的总和,并将结果存入片内20H开始的单元,低位先存。

答: ORG 0050HMAIN:MOV DPTR,#2000H ;DPTR指向外部RAM数据区首地址MOV R1,#0AHMOV 20H, #00HMOV 21H, #00HLOOP: MOVX A,@DPTR ;A←(DPTR)ADD A , 20H ;求和MOV 20H, ACLR AADDC A, 21HMOV 21H, AINC DPTRDJNZ R1,LOOPEND3.8 编程将片内RAM 40H到4FH单元共16个连续单元清“0”。

答:ORG 0030HMOV R0,#40HMOV R1,#10HLOOP: MOV @R0,#00HINC R0DJNZ R1,LOOPEND3.9 编程求内部RAM 30H单元中二进制数据的“0”个数,将结果存入31H单元中。

答:ORG 0030HMOV A,30HMOV R0,#08HMOV R1,#00HLOOP:RLC AJC NEXTINC R1NEXT:DJNZ R0,LOOPMOV 31H,R1END3.10 请根据单片机实验仪的晶振频率编写100mS的延时程序。

相关文档
最新文档