单片机基础课后答案

合集下载

单片机课后习题答案

单片机课后习题答案

第一章单片机的概述【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有较高的。

单片机课后答案

单片机课后答案

第2章 AT89C51单片机片内硬件结构1.在AT89C51单片机中,如果采用6MHz晶振,一个机器周期为。

答:2µs2.AT89C51单片机的机器周期等于个时钟振荡周期。

答:12。

3.内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为和。

答:28H;88H。

4.片内字节地址为2AH单元的最低位的位地址是;片内字节地址为88H单元的最低位的位地址是。

答:50H;88H。

5.若A中的内容为63H,那么,P标志位的值为。

答:P标志位的值为0。

6.AT89C51单片机复位后,R4所对应的存储单元的地址为,因上电时PSW = 。

这时当前的工作寄存器区是组工作寄存器区。

答:04H;00H;0。

7.内部RAM中,可作为工作寄存器区的单元地址为H~H。

答:00H;1FH。

8.通过堆栈操作实现子程序调用,首先要把的内容入栈,以进行断点保护。

调用返回时,再进行出栈保护,把保护的断点送回到。

答:PC;PC。

9.AT89C51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为AT89C51单片机的PC是16位的,因此其寻址的范围为KB。

答:64KB。

10.判断下列项说法是正确的。

A.AT89C51单片机的CPU是由RAM和EPROM组成的B.区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围的低端还是高端C.在AT89C51单片机中,为使准双向的I/O口工作在输入方式,必须保证它被事先预置为1D.PC可以看成是程序存储器的地址指针答: A. 错; B. 错;C. 对;D. 对。

11.判断以下有关PC和DPTR的结论是正确的。

A.DPTR是可以访问的,而PC不能访问B.它们都是16位寄存器C.在单片机运行时,它们都具有自动加“1”的功能D.DPTR可以分为2个8位的寄存器使用,但PC不能答:A. 对; B. 对;C. 错;D. 对。

12.判断下列说法项是正确的。

单片机课后习题答案

单片机课后习题答案

单⽚机课后习题答案1.1 计算机经过了哪些主要发展阶段?解:单⽚机的发展⼤致经历了四个阶段:第⼀阶段(1970—1974年),为4位单⽚机阶段;第⼆阶段(1974—1978年),为低中档8位单⽚机阶段;第三阶段(1978—1983年),为⾼档8位单⽚机阶段;第四阶段(1983年⾄今),为8位单⽚机巩固发展阶段及16位单⽚机、32位单⽚机推出阶段。

1.2 写出下列机器数的真值:(1)01101110 (2)10001101 (3)01011001 (4)11001110 解:(1)01101110的真值=+110(2)10001101的真值=+141或-115 (3)01011001的真值=+89(4)11001110的真值=+206或-50说明:机器数是指计算机中使⽤的⼆进制数,机器数的值称为真值。

机器数可表⽰为⽆符号数也可表⽰为带符号数,其中计算机中的带符号数⼀般为补码形式。

10001101若为⽆符号数。

则其真值为+141;若为带符号数,由于最⾼位(符号位)为1.所以为负数(补码形式),则其真值为-115。

1.4 写出下列⼆进制数的原码、反码和补码(设字长为8位)。

(1)010111 (2)101011 (3)-101000 (4)-111111 解:(1) [x]原=00010111 [x]反= 00010111 [x]补= 00010111 (2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011 (3)[x]原=10101000 [x]反= 11010111 [x]补= 11011000 (4)[x]原=10111111 [x]反= 11000000 [x]补=110000011.5 已知X=10110110,Y=11001111,求X 和Y 的逻辑与、逻辑或和逻辑异或。

解:10000110X Y ?= 11111111X Y += 01111001X Y ⊕=1.6 已知X 和Y ,试计算下列各题的[]X Y +补和[]-X Y 补(设字长为8位)。

(完整版)单片机课后习题答案

(完整版)单片机课后习题答案
RS1/RS00/0 0/1 1/0 1/1使用的工作寄存器0 1 2 3地址00-0708-0F10-1718-1F写程序的时候就是通过定义程序状态字来选择使用不同的寄存器组。也可以直 接对RS1和RS0赋值。
(2)在使用80C31时,EA信号引脚的处理方法
因为80C31没有片内的程序存储器,所以在使用它时必定要有外部的程序存储 器,EA信号引脚应接低电平。
12.89C51单片机有哪些信号需要芯片引脚以第2功能的方式提供?
答:第一功能 第二功能 串行口:P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
9.读端口锁存器和 “读引脚 ”有何不同?各使用哪种指令?
答:读锁存器(ANLP0,A)就是相当于从存储器中拿数据,而读引脚是从外部 拿数据(如MOV A,P1这条指令就是读引脚的,意思就是把端口p1输入数据送 给A)传送类MOV,判位转移JB、JNB、这些都属于读引脚,平时实验时经常 用这些指令于外部通信,判断外部键盘等;字节交换XCH、XCHD算术及逻辑 运算
ORL、CPL、ANL、ADD、ADDC、SUBB、INC、DEC控制转移CJNE、DJNZ都属于读锁存器。10.89C51
P0〜P3口结构有何不同?用作通用I/O口输入数据时,应注意什么?
答:P0口内部没有上拉电阻,可以用做16位地址的低8位;
P3有第二功能;
P2口可以用做16位地址的高8位;
需要上拉电阻。OC门电路无法输出高低电平,只有靠上拉电阻才能实现
(2)位寻址区(20H~2FH)
从内部数据RAM区的32~47(20H~2FH)的16个字节单元,共包含128位,是可 位寻址的RAM区。这16个字节单元,既可进行字节寻址,又可实现位寻址。
(3)字节寻址区(30H~7FH)

(完整版)单片机课后习题答案解析

(完整版)单片机课后习题答案解析

一)填空题1.十进制数14对应的二进制数表示为(1110B),十六进制数表示为(0EH。

十进制数-100的补码为(9CH,+100的补码为(64H)。

2. 在一个非零的无符号二进制整数的末尾加两个0后,形成一个新的无符号二进制整数,则新数是原数的(4)倍。

3. 8位无符号二进制数能表示的最大十进制数是(255)。

带符号二进制数11001101转换成十进制数是(-51 )。

4. 可以将各种不同类型数据转换为计算机能处理的形式并输送到计算机中去的设备统称为(输入设备)。

5. 已知字符D的ASCII码是十六进制数44,则字符T的ASCII码是十进制数(84)。

6. 若某存储器容量为640KB则表示该存储器共有(655360)个存储单元。

7. 在计算机中,二进制数的单位从小到大依次为(位)、(字节)和(字),对应的英文名称分别是(bit )、(Byte )和(Word。

8. 设二进制数A=10101101 B=01110110 则逻辑运算A V B= (11111111),A A B= (00100100),A® B= (11011011)。

9. 机器数01101110的真值是(+110),机器数01011001的真值是(+89),机器数10011101 的真值是(+157或-115),机器数10001101的真值是(+206或-50)。

(二)单项选择题1. 用8位二进制补码数所能表示的十进制数范围是(D)(A)-127 ~ +127 (B)-128 ~ +128(C)-127 ~ +128 (D)-128 ~ +1272. 下列等式中,正确的是(B)(A) 1 KB = 1024 X 1024 B (B)1 MB = 1024 X 1024 B(C) 1 KB = 1024M B (D) 1 MB = 1024 B3. 程序与软件的区别是(C)(A)程序小而软件大(B)程序便宜而软件昂贵(C)软件包括程序(D)程序包括软件4. 存储器中,每个存储单元都被赋予惟一的编号,这个编号称为(A)(A)地址(B)字节(C)列号(D)容量5. 8位二进制数所能表示的最大无符号数是(B)(A)255 (B)256 (C)128 (D)1276. 下列4个无符号数中,最小的数是(B)(A)11011001 (二进制)(B)37 (八进制)(C)75 (十进制)(D)24 (十六进制)7. 下列字符中,ASCII码最小的是(B)(A)a (B) A (C)x (D)X8. 下列字符中,ASCII码最大的是(C)(A)a (B) A (C)x (D)X9. 有一个数152,它与十六进制数6A相等,那么该数是(B)(A)二进制数(B)八进制数(C)十进制数(D)十六进制数第2章80C5单片机的硬件结构(一)填空题1. 通过堆栈实现子程序调用,首先要把(PC的内容入栈,以进行断点保护。

单片机基础及应用项目一课后习题及答案

单片机基础及应用项目一课后习题及答案

一、填空题1. 51系列单片机为8 位单片机2.51单片机RST引脚上保持 2 个机器周期以上的高电平时,单片机即发生复位。

3.当单片机CPU响应中断后,程序将自动转移到该中断源所对应的入口地址处,并从该地址开始执行程序,通常在该地址处存放转移指令以便转移到中断服务程序。

其中外部中断INT0的入口地址为0003H ,定时器T0入口地址000BH ,外部中断INT1的入口地址为0013H ,定时器T1入口地址001BH ,串行口的中断入口地址为0023H 。

4. 在CPU内部,反映程序运行状态或反映运算结果的特殊功能寄存器是PSW 。

5. 若由程序设定RS1、RS0=01,则工作寄存器R0~R7的直接地址为08~0FH 。

6. 8051的堆栈区一般开辟在用户RAM区。

7. 片内RAM低128个单元划分为工作寄存器区、位寻址区和用户RAM区三个区。

8.EA脚的功能是控制程序存储器的选择,单片机使用片内程序存储器时,该引脚应该接+5V高电平。

9. 单片机最小系统除了包括单片机外,还应包括电源电路、复位电路、时钟电路和存储器选择电路。

10. P0口作输出端口时,P0的输出驱动级为漏极开路电路,输出极无上拉电阻,接拉电流负载时,需要外接上拉电阻,接灌电流负载时,可以不接上拉电阻。

二、选择题1. 单片机的XTAL1和XTAL2引脚是(D)引脚A、外接定时器B、外接串行口C、外接中断D、外接晶振2.51单片机芯片是双列直插式封装的,有(C)个引脚A、24B、30C、40D、503. 51单片机的(D)口的引脚,还具有外中断、串行通信等第二功能A、P0B、P1C、P2D、P34. 单片机应用程序一般存放在(B)A、RAMB、ROMC、寄存器D、CPU5. 以下不是构成单片机的部件(D)A、微处理器B、存储器C、I/O接口D、打印机6. ALU表示(D)A.累加器 B.程序状态字寄存器 C.计数器 D.算术逻辑部件7. 51单片机的V ss(20)引脚是(B)引脚A.主电源+5V B.接地 C.备用电源 D.访问片外存贮器8. 51单片机的程序计数器PC为16位计数器,其寻址范围是(D)A.8K B.16K C.32K D.64K9. 单片机的ALE引脚是以晶振振荡频率的(C)固定频率输出正脉冲,因此它可作为外部时钟或外部定时脉冲使用。

单片机课后习题答案[1]1

单片机课后习题答案[1]1

单片机课后习题答案[1]1习题31.结合MCS-51系列单片机功能框图阐明其大致组成。

答:MCS-51系列单片机内部组成如图所示。

主要有8031、8051、875l 三种机型,基于HMOS 工艺,它们的指令系统与芯片引脚完全兼容,只是片内程序存储器(ROM, Read Only Memory)有所不同。

51子系列的主要功能为:●8位CPU;●片内带振荡器及时钟电路;●128B片内数据存储器;●4KB片内程序存储器(8031/80C31无);●程序存储器的寻址范围为64KB;●片外数据存储器的寻址范围为64KB;●21B特殊功能寄存器;●4×8根I/O线;●1个全双工串行I/O接口,可多机通信;●两个16位定时器/计数器;●中断系统有5个中断源,可编程为两个优先级;●111条指令,含乘法指令和除法指令;●布尔处理器;●使用单+5V电源。

2.综述80C51系列单片机各引脚的作用。

答:80C51 有4 个8 位并行I/O 口,共32 条端线:P0、P1、P2 和P3 口。

每一个I/O 口都能用作输入或输出。

用作输入时,均须先写入“1”;用作输出时,P0口应外接上拉电阻。

P0口的负载能力为8个LSTTL门电路;P1~P3口的负载能力为4个LSTTL门电路。

在并行扩展外存储器或I/O口情况下:P0口用于低8位地址总线和数据总线(分时传送)P2口用于高8位地址总线,P3口常用于第二功能,用户能使用的I/O口只有P1口和未用作第二功能的部分P3口端线。

3.80C51单片机内部包含哪些主要逻辑功能部件?各有什么主要功能?答:80C51 单片机内部包含含布尔(位)处理器的中央处理器、数据存储器和程序、并行输入/输出端口、中断系统、定时器/计数器,串行口、时钟电路、复位电路。

4.什么是ALU?简述MCS-51系列单片机ALU的功能与特点。

答:ALU是用于对数据进行算术运算和逻辑操作的执行部件,由加法器和其他逻辑电路(移位电路和判断电路等)组成。

(完整版)单片机课后习题答案

(完整版)单片机课后习题答案

第一章单片机的概述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。

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

单片机基础课后答案第一章一、填空题1.1110 0EH 10011100 011001002. 43. 255 -514. 输入设备5. 846. 630 * 8 * 10247. 位字节字bit bety word8. 1111 1111 00100100 110110119. 110 89 -115 -50二、单选:DBCAB BBCB第二章一、填空1.PC PC2.反相器石英晶体振荡器两只电容器短3.加电复位手动复位0000H 07H 第0 00H 07H4. 6 2 1 125.DPTR DPH DPL6.64KB单选题DCCAC AD第三章一、填空题:1.10312.34H 1 1 13.略4.1100H5. 26.30H 71H0A5H0A5H75H0A7H0AAH 0 1IFH 1 10AAH 0 120H 1 00D5H 1 149H 0 0二、单选题CCBDCA三、其它类型题错错对错错错对错错错错对对对对错对对错对错错对(三)其它类型题3.编写程序将RAM20H-23H 单元的高4 位写1,低4 位写0。

分析:就是把这四个单元写入F0H。

用一个DJNZ 的循环。

ORG 0000HMOV R0,#1FH ;R0 指向20H 单元MOV R5,#04H; 四个数LOOP: INC R0MOV @R0,#0F0H ; 写入DJNZ R5,LOOP ; 循环4 次END4.把m 和m+1 单元存有两个BCD 数,将它们合并到m 单元中,编写程序完成。

(设m=30H, 高位在30H,低数在31H)ORG 0000HMOV A,30HANL A,#0FH ;把它的高四位清零SWAP AMOV 30H ,A ;高低四位调一下,放回原处MOV A,31HANL A,#0FHORL A,30H ;合并起来MOV 30H,AEND5.将内部RAM 中从data 单元开始的10 个无符号数相加,其和送sum 单元多,假定相加结果小于255。

编写程序完成。

(设data=30H, sun =50H)ORG 0000HMOV R0,#2FH ; 指向前一个单元MOV R5,#0AH ;循环10 次CLR A ;先加到A 中LOOP: INC R0ADD A,@R0DJNZ R5,LOOPMOV 50H,AEND6.假定8 位二进制带符号数丰于R0 中,要求编写一个求补程序,所得补码入入R1 中。

ORG 0000HMOV A,R01CPL A ;按位取反ADD A,#01H ;+1MOV R1,AEND第四章一、填空题1. 25H 40H 03H2.2.914ms3.略4.(A )=((30H) (A) >(30H) (A) < (30H)5. 32.87ms编程题1.把长度为10H 的字符串从内部RAM 的输入缓冲区inbuf 向位物外部RAM 的输出缓冲区outbuf 传送,一直进行到遇见回车或整个字符串传送完毕。

试编程实现。

ORG 0030HMOV R0,#inbufMOV R1,#outbufMOV R4,#10HLOOP:MOV A,@R0 ; 从内部RAM取数CJNE A,#0DH,LL ;是否为回车符CRSJMP STOP ;是转停止传送LL: MOVX @R1,A ;不是则传送到外部RAMINC R0INC R1DJNZ R4,LL;沒传送完则循环STOP: SJMP $2、内部RAM从list 单元开始存放一正数表,表中之数作无序排列,并以“-1”作结束标志。

编程实现在表中找出最小数。

(3AH存放在运行程序时的最小的数)ORG 0030HMOV R0,#listMOV A,@R0 ;取第一个正数LOOP: INC R0 ;指向下一个正数MOV 3AH,@R0CJNE A,3AH,CHK ;前一个数与后一个数比较CHK: JC LOOP1 ;前一个数小,则转MOV A,@R0 ;前一个数大,取后一个数LOOP1: XCH A,3AHCJNE A,#0FFH,LOOPXCH A,3AH ;取最小数MOV 3BH,ASJMP $3.内部RAM的X,Y 单元中各存放一个带符号的数,试编程实现按如下条件进行的运算,并将结果存入Z 单元中。

若X 为正奇数,Z =X+Y;若X 为正偶数,Z =X∨Y;若X 为负奇数,Z =X∧Y;若X 为负偶数,Z =X⊕Y。

分析:负数:第7位为1,正数:第7 位为0奇数:第0位为1,偶数:第0 位为0ORG 0000HMOV A,20HCLR CRL AJC FS ;移到负数处处理RR ARR A ;第0 位移到C 再判定一下是不是1JC ZJS ;到正奇数处MOV A,20HORL A,21HMOV 22H,ASJMP OKZJS: MOV A,20HADD A,21HMOV 22H,ASJMP OKFS: MOV A,20HCLR CRR AJC FJS ;第0位是1,移到正奇数处理MOV A,20HXRL A,21HMOV 22H,ASJMP OKFJS: MOV A,20HANL A,21HMOV 22H,AOK: END4、把一个8 位二进制数的各位用ASCII 码表示之(亦即为“0”的位用30H 表示,为“1”的位用31H 表示)。

该数存放在内部RAM 中byte单元中。

变换后得到的8 个ASCII 码存放在外部RAM以buf 始的存储单元中去。

ORG 0030HMOV R0,#byteMOV DPTR,#bufMOV R5,#08HMOV A,@R0LOOP: RLC AMOV R7,AJC LOOP1MOV A,#30H2SJMP LOOP2LOOP1: MOV A,#31HLOOP2: MOVX @DPTR,AMOV A,R7INC DPTRDJNZ R5,LOOP5.编程实现运算式c = a2 2 +b 假定a、b、c 3 个数分别存放在内部RAM的DA、DB、DC单元中,别有平方运算子程序调用。

(内部RAM的DA、DB、DC 单元设为20H 21H 22H)ORG 0000HMOV A,20HPUSH ACCAJMP SQRPOP ACCMOV 22H,AMOV A,21HPUSH ACCAJMP SQRPOP ACCADD A,22HMOV 22H,AEND6、比较两个ASCII 码字符串是否相等。

字符串的长度在内部RAM 41H 单元,第一个字符串的首地址为42H,第二个字符串的首地址为52H。

如果两个字符串相等,则置内部RAM 40H 单元为00H;否则置40H 单元为FF。

ORG 0030HMOV R0,#42HMOV R1,#52HMOV R7,41H ;字符串长度LOOP: MOV A,@R0MOV 30H,@R1CJNE A,30H,LKINC R0INC R1DJNZ R7,LOOPMOV 40H ,#00HSJMP DDLK: MOV 40H,#0FFHDD: SJMP DD7.外部RAM首址为table 的数据表中,有10 个字节的数据。

编程将每个字节的最高位无条件地置“1”。

ORG 0030HMOV DPTR,#tableMOV R6,#10LOOP:MOVX A,@DPTRSETB E7H; E7H 就是累加器A 的最高位(ACC.7), 也可: SETB ACC.7MOVX @DPTR,AINC DPTRDJNZ R6,LOOP3.编写程序将RAM20H-23H 单元的高4 位写1,低4 位写0。

分析:就是把这四个单元写入F0H。

用一个DJNZ 的循环。

ORG 0000HMOV R0,#1FH ;R0 指向20H 单元MOV R5,#04H; 四个数LOOP: INC R0MOV @R0,#0F0H ; 写入DJNZ R5,LOOP ; 循环4 次END4.把m 和m+1 单元存有两个BCD 数,将它们合并到m 单元中,编写程序完成。

(设m=30H, 高位在30H,低数在31H)ORG 0000HMOV A,30HANL A,#0FH ;把它的高四位清零SWAP AMOV 30H ,A ;高低四位调一下,放回原处MOV A,31HANL A,#0FHORL A,30H ;合并起来MOV 30H,AEND5.将内部RAM 中从data 单元开始的10 个无符号数相加,其和送sum 单元多,假定相加结果小于255。

编写程序完成。

(设data=30H, sun =50H)ORG 0000HMOV R0,#2FH ; 指向前一个单元MOV R5,#0AH ;循环10 次CLR A ;先加到A 中LOOP: INC R0ADD A,@R0DJNZ R5,LOOPMOV 50H,AEND6.假定8 位二进制带符号数丰于R0 中,要求编写一个求补程序,所得补码入入R1 中。

ORG 0000H3MOV A,R0CPL A ;按位取反ADD A,#01H ;+1MOV R1,AEND第四章一、填空题1. 25H 40H 03H2.2.914ms3.略4.(A )=((30H) (A) >(30H) (A) < (30H)5. 32.87ms编程题1.把长度为10H 的字符串从内部RAM 的输入缓冲区inbuf 向位物外部RAM 的输出缓冲区outbuf 传送,一直进行到遇见回车或整个字符串传送完毕。

试编程实现。

ORG 0030HMOV R0,#inbufMOV R1,#outbufMOV R4,#10HLOOP:MOV A,@R0 ; 从内部RAM取数CJNE A,#0DH,LL ;是否为回车符CRSJMP STOP ;是转停止传送LL: MOVX @R1,A ;不是则传送到外部RAMINC R0INC R1DJNZ R4,LL;沒传送完则循环STOP: SJMP $2、内部RAM从list 单元开始存放一正数表,表中之数作无序排列,并以“-1”作结束标志。

编程实现在表中找出最小数。

(3AH存放在运行程序时的最小的数)ORG 0030HMOV R0,#listMOV A,@R0 ;取第一个正数LOOP: INC R0 ;指向下一个正数MOV 3AH,@R0CJNE A,3AH,CHK ;前一个数与后一个数比较CHK: JC LOOP1 ;前一个数小,则转MOV A,@R0 ;前一个数大,取后一个数LOOP1: XCH A,3AHCJNE A,#0FFH,LOOPXCH A,3AH ;取最小数MOV 3BH,ASJMP $3.内部RAM的X,Y 单元中各存放一个带符号的数,试编程实现按如下条件进行的运算,并将结果存入Z 单元中。

若X 为正奇数,Z =X+Y;若X 为正偶数,Z =X∨Y;若X 为负奇数,Z =X∧Y;若X 为负偶数,Z =X⊕Y。

相关文档
最新文档