单片机答案

合集下载

单片机答案

单片机答案
13.PC是否属于特殊功能寄存器?它有什么作用?PC的基本工作方式有几种?
答:PC是一个16位的地址寄存器,用于存放将要从ROM中读出的下一字节指令码的地址,因此也称为地址指针。PC的基本工作方式有:1)自动加1。CPU从ROM中每读一个字节,自动执行PC+1→PC。2)执行转移指令时,PC会根据该指令要求修改下一次读ROM新的地址。3)执行调用子程序或发生中断时,CPU会自动将当前PC值压入堆栈,将子程序入口地址或中断入口地址装入PC;子程序返回或中断返回时,恢复原有被压入堆栈的PC值,继续执行原顺序程序指令。
6.试述P3口的第二功能。
答:P3.0-RXD:串行口输入端,P3.1-TXD:串行口输出端,P3.2- :外部中断0请求输入端,P3.3- :外部中断1请求输入端,P3.4-T0:定时/计数器0外部信号输入端,P3.5-T1:定时/计数器1外部信号输入端,P3.6- :外RAM写选通信号输出端,P3.7- :外RAM讯选通信号输出端。
11.简述单片机CPU写存储器的步骤过程。
答:存储器的写操作:例如,若要将数据ABH写入存储器地址为CDH的存储单元中,其简化过程如下:
1)CPU将地址码CDH送到地址总线上,经存储器地址译码器选通地址为CDH的存储单元;2)CPU将数据ABH送到数据总线上;3)CPU发出“写”信号,存储器读/写控制开关将数据传送方向拨向“写”;4)存储器将数据总线上的数据ABH送人已被选中的地址为CDH的存储单元中。
2.设N1=+1001011B,N2=-1010100B,求:N1,N2的真值、N1,N2的原码、N1,N2的反码和N1,N2的补码。
解:
真值:N1=+1001011B,N2=-1010100B
原码:N1=01001011B,N2=11010100B

单片机课后习题答案

单片机课后习题答案

第一章单片机的概述【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. 除了“单片机”之外,单片机还可以称之为单片微控制器和单片微型计算机。

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.用户构建单片机应用系统,只能使用芯片提供的信号引脚。

单片机考试题目及答案

单片机考试题目及答案

单片机考试题目及答案一、选择题(每题2分,共20分)1. 单片机是一种集成了CPU、存储器、I/O接口等功能的微型计算机,其英文缩写是:A. CPUB. RAMC. ROMD. MCU答案:D2. 下列哪个是51系列单片机的特有寄存器?A. ACCB. PSWC. SPD. PC答案:B3. 在8051单片机中,以下哪个指令是用于将累加器A的内容与外部数据存储器中的数据进行交换?A. MOV A, @DPTRB. MOVX A, @DPTRC. MOV DPTR, #20HD. MOV A, #20H答案:B4. 8051单片机的定时器/计数器0和1,其定时器模式下的工作方式有:A. 1种B. 2种C. 3种D. 4种答案:C5. 下列哪个中断源在8051单片机中具有最高优先级?A. 定时器0中断B. 外部中断0C. 定时器1中断D. 串行中断答案:B二、填空题(每空2分,共20分)1. 单片机的最小系统通常包括________、________和________。

答案:时钟电路、复位电路、电源电路2. 8051单片机的P0口是________位的双向I/O口。

答案:83. 8051单片机的中断向量地址是固定的,其中外部中断0的中断向量地址是________。

答案:03H4. 8051单片机的定时器0和定时器1都可以被配置为________模式,用于计数外部事件。

答案:计数器5. 在8051单片机中,使用MOV指令可以实现寄存器之间的数据传输,例如MOV A, R0,表示将________的数据传送到________。

答案:R0寄存器;累加器A三、简答题(每题10分,共30分)1. 请简述单片机的中断系统的作用及其重要性。

答案:单片机的中断系统允许单片机在执行程序的过程中,对外部事件或内部条件做出快速响应。

中断系统的重要性在于它能够实现多任务处理,提高系统的实时性和效率。

2. 描述8051单片机的串行通信方式及其特点。

单片机课后习题答案

单片机课后习题答案

单⽚机课后习题答案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位)。

单片机习题及参考答案

单片机习题及参考答案

习题及参考答案一、填空题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中。

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

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

单片机原理与应用及C51程序设计第一章第二章第三章1.在MCS-51单片机中,寻址方式有几种?其中对片内RAM可以用哪几种寻址方式?对片外RAM可以用哪几种寻址方式?答:寻址方式可分为数的寻址和指令寻址,数的寻址有:常数寻址(立即寻址)、寄存器数寻址(寄存器寻址)、存储器数寻址(直接寻址方式、寄存器间接寻址方式、变址寻址方式)和位寻址,指令的寻址有绝对寻址和相对寻址。

片内RAM寻址有:寄存器寻址、直接寻址方式和寄存器间接寻址方式。

片外RAM 寻址有:寄存器间接寻址方式。

2.在对片外RAM单元寻址中,用Ri间接寻址与用DPTR间接寻址有什么区别?答:片外数据存储器寻址中,用Ri间接寻址只能访问低端的256字节单元,而用DPTR作指针间接访问可访问整个64K字节。

3.在位处理中,位地址的表示方式有哪几种?答:1.直接位地址(00H~0FFH)。

例如:20H2.字节地址带位号。

例如:20H.3表示20H单元的3位。

3.特殊功能寄存器名带位号。

例如:P0.1表示P0口的1位。

4.位符号地址。

例如:TR0是定时/计数器T0的启动位。

4.写出完成下列操作的指令。

(1)R0的内容送到R1中。

MOV A,R0MOV R1,A(2)片内RAM的20H单元内容送到片内RAM的40H单元中。

MOV 40H,20H(3)片内RAM的30H单元内容送到片外RAM的50H单元中。

MOV A,30HMOV R0,#50HMOVX @R0,A(4)片内RAM的50H单元内容送到片外RAM的3000H单元中。

MOV A,50HMOV DPTR,#3000HMOVX @DPTR,A(5)片外RAM的2000H单元内容送到片内RAM的20H单元中。

MOV DPTR,#2000HMOVX A,@DPTRMOV 20H,A(6)片外RAM的1000H单元内容送到片外RAM的4000H单元中。

MOV DPTR,#1000HMOVX A,@DPTRMOV DPTR,#4000HMOV @DPTR,A(7)ROM的1000H单元内容送到片内RAM的50H单元中。

MOV A,#0MOV DPTR,#1000HMOVC A,@A+DPTRMOV 50H,A(8)ROM的1000H单元内容送到片外RAM的1000H单元中。

MOV A,#0MOV DPTR,#1000HMOVC A,@A+DPTRMOVX @DPTR,A5.区分下列指令有什么不同?(1)MOV A,20H和MOV A,#20H答:前者源操作数是直接寻址,后者源操作数立即寻址。

(2)MOV A,@R1和MOVX A,@R1答:前者源操作数是访问片内数据存储器,后者源操作数访问片外数据存储器低256字节。

(3)MOV A,R1和MOV A,@R1答:前者源操作数是寄存器寻址,后者源操作数寄存器间接寻址。

(4)MOVX A,@R1和MOVX A,@DPTR答:前者源操作数是访问片外数据存储器低256字节,后者源操作数访问片外数据存储器整个64K字节。

(5)MOVX A,@DPTR和MOVC A,@A+DPTR答:前者源操作数是访问片外数据存储器,后者源操作数访问程序数据存储器。

6.设片内RAM的(20H)=40H,(40H)=10H,(10H)=50H,(P1)=0CAH。

分析下列指令执行后片内RAM 的20H、40H、10H单元以及P1、P2中的内容。

MOV R0,#20H ;R0=20HMOV A,@R0 ;A=40HMOV R1,A ;R1=40HMOV A,@R1 ;A=10HMOV @R0,P1 ;(40H)=0CAHMOV P2,P1 ;P2=0CAHMOV 10H,A ;(10H)=10HMOV 20H,10H ;(20H)=10H结果:(20H)=10H、(10H)=10H、(40H)=0CAH、P2=0CAH和P1=0CAH7.已知(A)=02H,(R1)=7FH,(DPTR)=2FFCH,片内RAM(7FH)=70H,片外RAM(2FFEH)=11H,ROM (2FFEH)=64H,试分别写出以下各条指令执行后目标单元的内容。

(1)MOV A,@R1 结果:累加器A等于70H(2)MOVX @DPTR,A 结果:片外RAM(2FFCH)单元等于02H(3)MOVC A,@A+DPTR 结果:累加器A等于64H(4)XCHD A,@R1 结果:累加器A等于00H,片内RAM(7FH)单元等于72H8.已知:(A)=78H,(R1)=78H,(B)=04H,CY=1,片内RAM(78H)=0DDH,(80H)=6CH,试分别写出下列指令执行后目标单元的结果和相应标志位的值。

(1)ADD A,@R1 ;累加器A等于55H,CY等于1(2)SUBB A,#77H ;累加器A等于00H,CY等于0(3)MUL AB ;累加器A等于E0H,B寄存器等于01H,CY等于1,OV等于0(4)DIV AB ;累加器A等于1EH,B寄存器等于00H,CY、OV等于0(5)ANL 78H,#78H ;片内RAM(78H)单元等于58H(6)ORL A,#0FH ;累加器A等于7FH(7)XRL 80H,A ;片内RAM(80H)等于14H9.设(A)=83H,(R0)=17H,(17H)=34H,分析当执行完下面指令段后累加器A、R0、17H单元的内容。

ANL A,#17H ;A=03HORL 17H,A ;(17H)=37HXRL A,@R0 ;A=34HCPL A ;A=CBH结果:A=CBH,(R0)=17H,(17H)=37H10.写出完成下列要求的指令。

(1)累加器A的低2位清零,其余位不变。

ANL A,#11111100B(2)累加器A的高2位置“1”,其余位不变。

ORL A,#11000000B(3)累加器的高4位取反,其余位不变。

XRL A,#11110000B(4)累加器第0位、2位、4位、6位取反,其余位不变。

XRL A,#01010101B11.说明LJMP指令与AJMP指令的区别?答:LJMP指令后面提供的是16位目标地址,所以可以转移到64KB程序存储器的任意位置,缺点是:执行时间长,字节数多。

AJMP指令后带的是11位直接地址,执行时,先将程序指针PC的值加2(该指令长度为2字节),然后把指令中的11位地址addr11送给程序指针PC的低11位,而程序指针的高5位不变,只能在当前2K 范围内转移。

12.设当前指令CJNE A,#12H,10H的地址是0FFEH,若累加器A的值为10H,则该指令执行后的PC值为多少?若累加器A的值为12H呢?答:指令执行后的PC值为1011H,若累加器A的值为12H,则指令执行后的PC值为1001H。

13.用位处理指令实现P1.4=P1.0∧(P1.1∨P1.2)∨/P1.3的逻辑功能。

程序:MOV C,P1.1ORL C,P1.2ANL C,P1.0ORL C,/P1.3MOV P1.4,C14.下列程序段汇编后,从1000H单元开始的单元内容是什么?ORG 1000HTAB:DB 12H,34HDS 3DW 5567H,87H答:(1000H)=12H,(1001H)=34H,(1002H)=00H,(1003H)=00,(1004H)=00,(1005H)=67H,(1006H)=55H,(1007H)=87H,(1008H)=00H15.试编一段程序,将片内RAM的20H、21H、22H单元的内容依次存入片外RAM的20H、21H、22H中。

程序:MOV R0,#20HMOV R2,#03HLOOP:MOV A,@R0MOVX @R0,AINC R0DJNZ R2,LOOPSJMP $16.编程实现将片外RAM的2000H~2030H单元的内容,全部搬到片内RAM的20H单元开始位置,并将源位置清零。

程序:MOV R0,#20HMOV DPTR,#2000HMOV R2,#31HLOOP:MOVX A,@DPTRMOV @R0,AMOV A,#00MOVX @DPTR,AINC DPTRINC R0DJNZ R2,LOOPSJMP $17.编程将片外RAM的1000H单元开始的100个字节数据相加,结果放于R7R6中。

程序:MOV DPTR,#1000HMOV R2,#100MOV R7,#00MOV R6,#00LOOP:MOVX A,@DPTRADD A,R6MOV R6,AMOV A,R7ADDC A,#0MOV R7,AINC DPTRDJNZ R2,LOOPSJMP $18.编程实现R4R3⨯R2,结果放于R7R6R5中。

程序:ORG 0100HMUL1:MOV A,R2MOV B,R3MUL AB ;R2⨯R3,结果的低字节直接存入积的R5MOV R5,A ;结果的高字节存入R6中暂存起来MOV R6,BMUL2:MOV A,R2MOV B,R4MUL AB ;R2 R4,结果的低字节与R6相加后,再存入R6中ADD A,R6MOV R6,AMOV A,B ;结果的高字节加上进位位后存入R7中ADDC A,#00MOV R7,ASJMP $19.编程实现把片内RAM的20H单元的0位、1位,21H单元的2位、3位,22H单元的4位、5位,23H 单元的6位、7位,按原位置关系拼装在一起放于R2中。

程序:MOV C,20H.0MOV A.0,CMOV C,20H.1MOV A.1,CMOV C,21H.2MOV A.2,CMOV C,21H.3MOV A.3,CMOV C,22H.4MOV A.4,CMOV C,22H.5MOV A.5,CMOV C,23H.6MOV A.6,CMOV C,23H.7MOV A.7,CMOV R2,A20.用查表的方法实现一位十六进制数转换成ASCII。

程序:(设一位十六进制数放在R2中,轮换的ASCII也放于R2中)C16STASC:MOV DPTR,#TABMOV A,R2MOVC A,@A+DPTRMOV R2,ARETTAB:DB 30H,31H,32H,33H,34H,35H,36H,37HDB 38H,391H,41H,42H,43H,44H,45H,46H21.编程统计从片外RAM2000H开始的100个单元中“0”的个数放于R2中。

程序:MOV DPTR,#2000HMOV R3,#100MOV R2,#00LOOP:MOVX A,@DPTRJNZ NEXTINC R2NEXT:INC DPTRDJNZ R3,LOOPSJMP $第四章4-2有哪里些数据类型是MCS-51系列单片机直接支持的?答:见P89,基本类型:字符型,整型,长整型,浮点型,特殊功能寄存器;构造类型:数组类型,结构体类型,共用体,枚举指针类型空类型4-3 C51特有的数据结构类型有哪些?答:特殊功能寄存器,位类型4-4 C51的存储类型有几种?它们分别表示的存储器区域是什么?答:见P94页:存储器类型有:data, bdata,idata,pdata,xdata4-5 C51中bit位与sbit位有什么区别?答:bit是定义一个一般的位变量;而使用sbit定义可位寻址字节或是特殊功能寄存器的的位,定义时必指定其位地址,其存储空间为内部RAM中的位寻址区20H-2FH(位地址为:00H~7FH),4-6 在C51通过绝对地址来访问的存储器有几种方式?答:使用C51运行库中预定义宏,通过指针访问,使用C51扩展关键字_at_4-7 在C51中,中断函数与一般函数有什么不同?答:见P112页:7点4-8 按指定存储器类型和数据类型,写出下列变量的说明形式答:(1)在data定义字符变量var11:char data var11(2)在idata定义整型变量var12:char idata var12(3)在xdata定义无符号字符数组var11[4]:unsigned char xdata var13[4](4) 在xdata定义一个指向无符号字符的指针px: unsigned char xdata* px(5)定义可寻址位变量flag: bit flag;(6)定义特殊功能寄存器变量p3: sfr p3=0xb0(7) 定义特殊功能寄存器变量SCON:sfr SCON = 0x98(8)定义16位特殊功能寄存器变量T0:sfr16 T0=0x8a (无法真正与实际相匹配)4-9 设a=3,b=4,c=5,写出下列关系表达式或逻辑表达式的结果答:(1) a+b>c && b==c (False)(2) a||b+c&&b-c (True)(3)!(a>b) && !c|| 1 (True)(4)!(a+b)+c-1&&b+c/2 (True)4-10 break与continue语句的区别是什么?答:见P110; 使用break语句可以跳出switch和循环体,提前结束循环而接着执行循环结构下面的语句continue语句使用在循环体结构中,用于结束本次循环,跳过该语句下面尚未执行的语句,直接进行下一否执行循环的判断。

相关文档
最新文档