单片机课后作业
单片机课后习题答案
第一章单片机的概述【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)XCH A,30H
;A=( A5H )
(3)XCH A,@R0
;A=( A5H )
(4)XCHD A,@R0 ;A=( 75H )
(5)SWAP A
;A=( A7H )
(6)ADD A,R0 ;A=( AAH ),CY=( 0 )
(7)ADD A,30H
;A=( 1FH ),CY=( 1 )
(8)ADD A,#30H ; A=( AAH ),CY=( 0 ) (9)ADDC A,30H ; A=( 20H ),CY=( 1 ) (10)SUBB A,30H ; A=( D4H ),CY=( 1 ) (11)SUBB A,#30H ; A=( 49 ),CY=( 0 )
MOV SP, #6FH MOV PSW,#50H MOV A,#77H PUSH A PUSH PSW MOV PSW,#35H MOV A,#0BFH POP A
4. 注释下列程序各语句,并说明该程序功能。
MOV R0, #36H ; 立即数#36H送R0
MOV A, @R0 ; 取36H单元中的数送累加器A
ANL A, #0FH ; 累加器A中数与立即数#0FH相与
SWAP A
; 累加器A中的高低四位交换
MOV B, A
; 累加器A中数送寄存器B
INC R0
; R0加1
MOV A, @R0 ; 取37H单元中的数送累加器A
ANL A, #0FH ; 累加器A中数与立即数#0FH相与
ORL A, B
; 累加器A与寄存器B相或
作业0:
1.试画出与.或.非三种位逻辑运算真值表,A&B、A|B、~A。
2.试分别分析“按键电平复位电路”在上电和按下按键两种状 况下,如何实现在RST引脚上产生高电平复位脉冲的?(只需要 定性分析工作原理)
单片机课后题答案
P77 第三章18.设有2个无符号数分别存放在内部RAM30H、31H(除数)单元中,试编写程序令其相除,将计算结果放在20H、21H(余数)单元中。
ORG 0100HSTART: MOV A,30HMOV B,31HDIV ABMOV 20H,AMOV 21H,BEND23.编制程序,利用查表法求整数0~6的平方值。
假设20h存放0~6中的任意数PF: DB 0,1,4,9,16,25,36ORG 0000HSTART: MOV A,20HMOV DPTR,#PFMOVC A,@A+DPTRENDORG 0000HSTART: MOV A,20HMOV DPTR,#PFMOVC A,@A+DPTRSJMP $PF: DB 0,1,4,9,16,25,36ENDP91 第四章2.在内部RAM 30H单元开始存放20H个带符号数,要求统计出其大于0、等于0、小于0的数目,并将统计结果分别放入50H、51H、52H单元中。
ORG 0100HSTART: MOV R0,#30HMOV R2,#20HMOV 50H,#00HMOV 51H,#00HMOV 52H,#00HAGN: MOV A,@R0JZ K2RLC AJC K1INC 50HLJMP K3K1: INC 52HLJMP K3K2: INC 51HK3: INC R0DJNZ R2,AGNJMP $END5. 编写一段程序,将片内RAM30H—3FH单元清零。
ORG 0000HSTART: MOV R0,#30HMOV R2,#10HAGN: MOV @R0,#0INC R0DJNZ R2,AGNEND10.编写程序,将外部RAM2000H~2100H单元的内容送到外部RAM的3000H~3100H单元中。
ORG 0000HSTART: MOV R1,#0FFHMOV DPL,#00HAGAIN: MOV DPH,#20HMOVX A,@DPTRMOV DPH,#30HMOVX @DPTR,AI NC DPLDJNZ R1,AGAINMOV DPH,#21HMOVX A,@DPTRMOV DPH,#31HMOVX @DPTR,AEND26.编制程序,将内部RAM20H开始的连续10H个单元中的数相加,结果送30H(低8位)、31H(高8位)单元。
单片机原理及接口技术课后作业及答案
1.89C51单片机内包括哪些重要逻辑功能部件?答:80C51系列单片机在片内集成了如下重要逻辑功能部件:(l)CPU(中央处理器):8位(2)片内RAM:128B(3)特殊功能寄存器:21个(4)程序存储器:4KB(5)并行I/O口:8位,4个(6)串行接口:全双工,1个(7)定期器/计数器:16位,2个(8)片内时钟电路:1个2.89C51旳EA端有何用途?答:/EA端接高电平时,CPU只访问片内flash Rom 并执行内部程序,存储器。
/EA端接低电平时,CPU只访问外部ROM,并执行片外程序存储器中旳指令。
/EA端保持高电平时,CPU执行内部存储器中旳指令。
3. 89C51旳存储器分哪几种空间?怎样区别不一样空间旳寻址?答:ROM(片内ROM和片外ROM统一编址)(使用MOVC)(数据传送指令)(16bits地址)(64KB)片外RAM(MOVX)(16bits地址)(64KB)片内RAM(MOV)(8bits地址)(256B)4. 简述89C51片内RAM旳空间分派。
答:片内RAM有256B低128B是真正旳RAM区高128B是SFR(特殊功能寄存器)区5. 简述布尔处理存储器旳空间分派,片内RAM中包括哪些可位寻址单元。
答:片内RAM区从00H~FFH(256B)其中20H~2FH(字节地址)是位寻址区对应旳位地址是00H~7FH6. 怎样简捷地判断89C51正在工作?答:用示波器观测8051旳XTAL2端与否有脉冲信号输出(判断震荡电路工作与否正常?)ALE(地址锁存容许)(Address Latch Enable)输出是fosc旳6分频用示波器观测ALE与否有脉冲输出(判断8051芯片旳好坏?)观测PSEN(判断8051可以到EPROM 或ROM 中读取指令码?)由于/PSEN接外部EPROM(ROM)旳/OE端子 OE=Output Enable(输出容许)7. 89C51怎样确定和变化目前工作寄存器组? 答:PSW(程序状态字)(Program Status Word)中旳RS1和RS0可以给出4中组合用来从4组工作寄存器组中进行选择PSW属于SFR(Special Function Register)(特殊功能寄存器)8. 89C51 P0口用作通用I/O口输入时,若通过TTL“OC”门输入数据,应注意什么?为何?答:9. 读端口锁存器和“读引脚”有何不一样?各使用哪种指令?答:读锁存器(ANL P0,A)就是相称于从存储器中拿数据,而读引脚是从外部拿数据(如MOV A,P1 这条指令就是读引脚旳,意思就是把端口p1输入数据送给A)传送类MOV,判位转移JB、JNB、这些都属于读引脚,平时试验时常常用这些指令于外部通信,判断外部键盘等;字节互换XCH、XCHD算术及逻辑运算 ORL、CPL、ANL、ADD、ADDC、SUBB、INC、DEC控制转移CJNE、DJNZ都属于读锁存器。
单片机原理及其接口技术王敏课后作业答案
第二章作业(P40)2-4 MCS-51单片机中执行程序的地址放在哪?由几个位组成?最大寻址范围是多少?答:放在程序计数器PC中,16位,64KB。
2-5 在程序存储器中,0000H、0003H、000BH、0013H、001BH、0023H这6个单元有什么特定的含义?答:0000H 复位后,PC=0000H,开始执行程序的地址0003H 外部中断0 (INT0)入口地址000BH 定时器0中断(TF0)入口地址0013H 外部中断1(INT1)入口地址001BH 定时器1中断(TF1)入口地址0023H 串行口中断TI/RI入口地址2-10 开机复位以后,CPU使用哪一组工作寄存器?它们的地址是什么?如何改变当前工作寄存器?答:使用第0组工作寄存器,00H-07H,通过修改PSW中的RS1和RS0两位来改变当前的工作寄存器。
第三章作业(P75)3-7 指出指令中的50H或66H个代表什么?解:①MOV A, #50H 立即数MOV A, 50H 直接地址MOV 50H, #20H 直接地址MOV C, 50H 位地址MOV 50H, 20H 直接地址②MOV @R0, #66H 立即数MOV R6, #66H 立即数MOV 66H, #45H 直接地址MOV 66H, C 位地址MOV 66H, R1 直接地址3-9 写出能完成下列数据传送的指令:解:①R1中内容传送到R0;MOV A, R1MOV R0,A②内部RAM 20H单元中的内容送到30H单元;MOV 30H, 20H③外部RAM 20H单元中的内容送到内部RAM 20H单元;MOV R0,#20HMOVX A, @R0MOV 20H, A④外部RAM 2000H单元中的内容送到内部RAM 20H单元;MOV DPTR, #2000HMOVX A, @DPTRMOV 20H, A⑤外部ROM 2000H单元中的内容送到内部RAM 20H单元;MOV DPTR, #2000HMOV A, #00HMOVC A, @A+DPTRMOV 20H, A⑥外部2000H单元中的内容送到外部RAM 3000H单元;MOV DPTR, #2000HMOVX A, @DPTRMOV DPTR, #3000HMOVX @DPTR, A3-11 已知:(20H)=X;(21H)=Y;(22H)=Z,请用图示说明下列程序执行后堆栈的内容是多少?①MOV SP, #70H ②MOV SP, #60HPUSH 20H PUSH 22HPUSH 21H PUSH 21HPUSH 22H PUSH 20H解:(73H)=Z;(72H)=Y;(71H)=X;(63H)=X;(62H)=Y;(61H)=Z;3-20 试编出能完成如下操作的程序:解:①使20H单元中数的高两位变“0”,其余位不变;ANL 20H, #3FH②使20H单元中数的高两位变“1”,其余位不变;0RL 20H, #0C0H③使20H单元中数的高两位变反,其余位不变;XRL 20H, #0C0H④使20H单元中数的高四位变“1”,低四位变“0”;MOV 20H, #0F0H⑤使20H单元中数的所有位变反。
单片机课后作业
第二章4、80C51存储器在结构上有何特点?在物理和逻辑上各有哪几种地址空间?访问片内RAM和片外RAM的指令格式有什么区别?答:1、程序存储器和数据存储器是截然分开,分别寻址的结构。
2、在物理上设有4个存储器空间:程序存储器:片内程序存储器、片外程序存储器数据存储器:片内数据存储器、片外数据存储器逻辑上设有3个存储器空间:片内、片外统一的64KB程序存储器地址空间片内256(80C52384)B数据存储器地址空间片外64KB的数据存储器地址空间3、访问片内RAM时用的是PC,而访问片外RAM时用的是DPTR。
5、80C51单片危机的EA信号有何功能?在使用80C51时,EA 信号引脚应如何处理?在使用80C31时,EA非信号引脚应如何处理?答:1、EA非引脚所接的电平决定CPU是访问片内存储器还是访问片外存储器。
EA非引脚接高电平时,程序从片内程序存储器0000H开始执行,即访问片内存储器,当PC值超过片内ROM容量时,会自动跳转向片外程序存储器空间执行。
EA非接低电平时,迫使系统全部执行片外程序存储器0000H开始存放的程序。
2、对于有片内ROM的80C51单片微机,正常运行时,应将EA 非引脚接高电平。
若把80C51接低电平,可用于调试状态,即将预调试的程序设置在与片内ROM空间重叠的片外存储器内,CPU执行片外存储器进行调试。
3、对于片内无ROM的80C31单片微机,应将EA非引脚固定在低电平,以迫使系统全部执行片外程序程序存储器程序。
6、80C51片内RAM低128单元划分为哪4个主要的部分?各部分的主要功能是什么?答:1、工作寄存器区——用寄存器直接寻址的区域,指令的数量最多,均为但周期指令,执行的速度最快。
2、位寻址区——共16个字节单元,既可进行字节寻址,又可进行位寻址。
3、字节寻址区——共有80个字节单元,可以直接寻址的方法访问。
5、堆栈区及堆栈指示器SP——堆栈是为了子程序的调用和中断操作而设立的,其具体功能有两个:保护断点和保护现场。
单片机课后重要习题答案
单片机课后重要习题答案单片机课后重要习题答案在学习单片机的过程中,课后习题是巩固知识、提高编程能力的重要环节。
下面是一些常见的单片机课后习题及其答案,供大家参考。
一、基础题1. 请用C语言编写一个程序,实现将一个整数的二进制表示输出到LED灯上。
答案:```c#include <reg52.h>void main(){int num = 10; // 待转换的整数int i;while (1){for (i = 0; i < 8; i++){P1 = num & (1 << i) ? 0xFF : 0x00; // 判断第i位是否为1,是则点亮LED灯delay(); // 延时函数}}```2. 请编写一个程序,实现将一个8位二进制数的奇偶校验位计算出来,并输出到P1口。
答案:```c#include <reg52.h>void main(){unsigned char num = 0b10011010; // 待计算的8位二进制数int count = 0;int i;for (i = 0; i < 8; i++){if (num & (1 << i)){count++;}}P1 = count % 2 ? 0xFF : 0x00; // 奇数个1则输出高电平,偶数个1则输出低电平}二、进阶题1. 请编写一个程序,实现一个简单的计算器功能,能够进行加、减、乘、除四则运算,并将结果输出到数码管上。
答案:```c#include <reg52.h>void main(){unsigned char num1 = 10; // 第一个操作数unsigned char num2 = 5; // 第二个操作数unsigned char operator = '+'; // 运算符,可修改为其他运算符unsigned char result;switch (operator){case '+':result = num1 + num2;break;case '-':result = num1 - num2;break;case '*':result = num1 * num2;break;case '/':result = num1 / num2;break;default:result = 0;break;}// 将结果输出到数码管上P1 = result;}```2. 请编写一个程序,实现一个简单的密码验证功能,用户输入密码后,若密码正确,则点亮一个LED灯,否则不点亮。
51单片机课后习题答案
51单片机课后习题答案51单片机是一种非常常见的单片机型号,广泛应用于各种电子设备中。
学习51单片机的过程中,课后习题是不可或缺的一部分,通过解答习题可以巩固所学知识,提高编程能力。
本文将为大家提供一些常见的51单片机课后习题的答案,希望对大家的学习有所帮助。
1. 请编写一个程序,实现LED灯的闪烁功能。
答案:以下是一个简单的实现LED灯闪烁的程序:```c#include <reg51.h>sbit LED = P1^0; // 将P1.0引脚定义为LED灯void delay(unsigned int t) // 延时函数{unsigned int i, j;for(i = t; i > 0; i--)for(j = 110; j > 0; j--);}void main(){while(1){LED = 0; // 点亮LED灯delay(1000); // 延时1秒LED = 1; // 熄灭LED灯delay(1000); // 延时1秒}}```2. 请编写一个程序,实现通过按键控制LED灯的亮灭。
答案:以下是一个简单的实现通过按键控制LED灯亮灭的程序:```c#include <reg51.h>sbit LED = P1^0; // 将P1.0引脚定义为LED灯sbit Button = P2^0; // 将P2.0引脚定义为按键void delay(unsigned int t) // 延时函数{unsigned int i, j;for(i = t; i > 0; i--)for(j = 110; j > 0; j--);}void main(){while(1){if(Button == 0) // 检测按键是否按下{LED = ~LED; // 反转LED灯状态delay(200); // 延时200毫秒,避免按键抖动}}}```3. 请编写一个程序,实现通过数码管显示数字0-9的功能。
单片机课后习题答案
第一章单片机的概述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位的,因此其寻址的范围为64KB;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 的值是: CA 、当前正在执行指令的前一条指令的地址;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单片机运行出错或程序陷入死Array循环时,如何摆脱困境答:按下复位按钮;第三章 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中数据存储模式1small模式2compact模式3large模式之间的差别;答:若声明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 buf110 _at_ 0x2000data uchar buf210 _at_ 0x40;在for循环中, buf2i = buf1i ;采用指针的方法参考程序如下:define uchar unsigned charvoid main // 主函数{ data uchar i;uchar xdata px ; // 指针px,指向char型数据位于xdatauchar data px1 ; // 指针px1,指向char型数据位于datapx=0x2000;px1=0x40;fori=0; i<10; i++,px++,px1++px1=px;while1;}采用数组的方法参考程序如下:define uchar unsigned charxdata uchar buf110 _at_ 0x2000; //位于xdata数组buf10地址2000Hdata uchar buf210 _at_ 0x40; //位于data数组buf20地址40Hvoid main // 主函数{ data uchar i;fori=0; i<10; i++buf2i = buf1i;while1;}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.各中断源发出的中断请求信号,都会标记在AT89S51的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最长可定时;方式1最长可定时;方式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的波特率是: CA 固定的,为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-X12故计数器初值为256-X = 2SMOD ×fosc/12×32×波特率6、 若晶体振荡器为11、0592MHZ,串行口工作于方式1,波特率为4800b/s,写出用T1作为波特率发生器的方式控制字和计数初值;答:方式1的波特率 =)256(12322X f osc SMOD-⨯ = 4800 bit/sT1工作于方式2X=250=FAH经计算,计数初值为FAH,初始化程序如下:ANL TMOD,0F0H ;屏蔽低4位ORL TMOD,20H ;T1定时模式工作方式2MOV TH1,0FAH ;写入计数初值,波特率为4800b/sMOV TL1,0FAHMOV SCON,40H ;串行口工作于方式1解法2:由 4800655361232213221=-⨯=⨯=X f T osc SMODSMOD的溢出率定时器的波特率方式 T1工作于方式2 得H FFF X 4655241265536480038420592.1165536==-=⨯⨯-=初始化程序如下:ORG 0000HANL TMOD,0F0H ;屏蔽低4位ORL TMOD,10H ;T1定时模式方式1MOV TH1,0FFH ;写入计数初值,为4800b/sMOV TL1,0F4HMOV SCON,40H ;串行口工作于方式1MOV 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的存储器的容量是16KB;4、在AT89S51单片机中,PC和DPTR都用于提供地址,但PC是为访问程序存储器提供地址,而DPTR是为访问数据存储器提供地址;5、11根地址线可选2KB个存储单元,16KB存储单元需要14根地址线;6、4KB RAM存储器的首地址若为0000H,则末地址为 0FFFH7、试编写一个程序例如将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/2GB最低有效位时所需的时间;转换精度:理想情况下,精度与分辨率基本一致,位数越多精度越高;严格讲精度与分辨率并不完全一致;只要位数相同,分辨率则相同、但相同位数的不同转换器精度会有所不同;当DAC为二进制12位,满量程输出电压为5V时,分辨率为5÷212=1、22 mV5、A/D转换器的两个最重要指标是什么答:A/D转换器的两个最重要指标:1 转换时间和转换速率——转换时间A/D完成一次转换所需要的时间;转换时间的倒数为转换速率;2 分辨率——A/D转换器的分辨率习惯上用输出二进制位数或BCD码位数表示;6、分析 A/D 转换器产生量化误差的原因,一个8 位的 A/D 转换器,当输入电压为 0~5V 时,其最大的量化误差是多少答:量化误差是由于有限位数字且对模拟量进行量化而引起的;最大的量化误差为%;△=+LSB/2=+1/25/28 =+7、目前应用较广泛的A/D转换器主要有以下几种类型它们各有什么特点答:目前应用较广泛的主要有以下几种类型:逐次逼近式转换器、双积分式转换器、∑-△式A/D转换器;逐次逼近型A/D转换器:在精度、速度和价格上都适中,是最常用的。
单片机课后作业答案(万福君)
答:电路图如下:
U V
&
≥1
F
W X
≥1
逻辑表达式: F U V (W X ) 重新整理编写程序如下:
ORG U V W X START: BIT BIT BIT BIT MOV MOV ANL CPL MOV MOV ORL ORL MOV SJMP END 0100H P1.0 P1.1 P1.2 P1.3 P1, #0FH C, U C, V C ACC.0, C C, W C, /X C, ACC.0 F, C $ ;P1.2 | /P1.3 ;P1 作为输入前的准备,使场效应管截止 ;读入 P1.0,存入在进位标志 ;P1.0 & P1.1 ;取反
1.1.10 3-20
分析以下程序段,何时转向 LABEL1?何时转向 LABEL2?
MOV CPL JZ INC JZ …… A, R0 A LABEL1 A LABEL2
答:R0 中内容为 0FFH 时转向 LABEL1,R0 中内容为 00H 时转向 LABEL2。
1.1.11 3-23
4
有四个变量 U、V、W、X 分别从 P1.0~P1.3 输入,阅读如下程序,写出逻辑表达式并画出逻辑电路 图。请使用 ORG、END、BIT 等伪指令重新编写该程序段。
MOV MOV ANL CPL MOV MOV ORL ORL MOV SJMP P1, #0FH C, P1.0 C, P1.1 C ACC.0, C C, P1.2 C, /P1.3 C, ACC.0 F, C $ ;P1.2 | /P1.3 ;P1 作为输入前的准备,使场效应管截止 ;读入 P1.0,存入在进位标志 ;P1.0 & P1.1 ;取反 ;暂存 ACC.0
单片机课后习题参考答案(全).
第1章单片机概述参考答案1.答:微控制器,嵌入式控制器2.答:CPU、存储器、I/O口、总线3.答:C4.答:B5.答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。
而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。
嵌入式处理器一般意义上讲,是指嵌入系统的单片机、DSP、嵌入式微处理器。
目前多把嵌入式处理器多指嵌入式微处理器,例如ARM7、ARM9等。
嵌入式微处理器相当于通用计算机中的CPU。
与单片机相比,单片机本身(或稍加扩展)就是一个小的计算机系统,可独立运行,具有完整的功能。
而嵌入式微处理器仅仅相当于单片机中的中央处理器。
为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。
6.答:MCS-51系列单片机的基本型芯片分别:8031、8051和8071。
它们的差别是在片内程序存储器上。
8031无片内程序存储器、8051片内有4K字节的程序存储器ROM,而8751片内有集成有4K字节的程序存储器EPROM。
7.答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。
8.答:相当于MCS-51系列中的87C51,只不过是AT89S51芯片内的4K字节Flash存储器取代了87C51片内的4K字节的EPROM。
9.单片机体积小、价格低且易于掌握和普及,很容易嵌入到各种通用目的的系统中,实现各种方式的检测和控制。
单片机在嵌入式处理器市场占有率最高,最大特点是价格低,体积小。
DSP是一种非常擅长于高速实现各种数字信号处理运算(如数字滤波、FFT、频谱分析等)的嵌入式处理器。
由于对其硬件结构和指令进行了特殊设计,使其能够高速完成各种复杂的数字信号处理算法。
《单片机》课后习题及答案
习题答案习题01.单片机是把组成微型计算机的各功能部件即(微处理器(CPU))、(存储器(ROM 和RAM))、(总线)、(定时器/计数器)、(输入/输出接口(I/O口))及(中断系统)等部件集成在一块芯片上的微型计算机。
2.什么叫单片机?其主要特点有哪些?将微处理器(CPU)、存储器(存放程序或数据的ROM和RAM)、总线、定时器/计数器、输入/输出接口(I/O口)、中断系统和其他多种功能器件集成在一块芯片上的微型计机,称为单片微型计算机,简称单片机。
单片机的特点:可靠性高、便于扩展、控制功能强、具有丰富的控制指令、低电压、低功耗、片内存储容量较小、集成度高、体积小、性价比高、应用广泛、易于产品化等。
3. 单片机有哪几个发展阶段?(1)第一阶段(1974—1976年):制造工艺落后,集成度低,而且采用了双片形式。
典型的代表产品有Fairchild公司的F8系列。
其特点是:片内只包括了8位CPU,64B的RAM 和两个并行口,需要外加一块3851芯片(内部具有1KB的ROM、定时器/计数器和两个并行口)才能组成一台完整的单片机。
(2)第二阶段(1977—1978年):在单片芯片内集成CPU、并行口、定时器/计数器、RAM和ROM等功能部件,但性能低,品种少,应用范围也不是很广。
典型的产品有Intel 公司的MCS-48系列。
其特点是,片内集成有8位的CPU,1KB或2KB的ROM,64B或128B的RAM,只有并行接口,无串行接口,有1个8位的定时器/计数器,中断源有2个。
片外寻址范围为4KB,芯片引脚为40个。
(3)第三阶段(1979—1982年):8位单片机成熟的阶段。
其存储容量和寻址范围增大,而且中断源、并行I/O口和定时器/计数器个数都有了不同程度的增加,并且集成有全双工串行通信接口。
在指令系统方面增设了乘除法、位操作和比较指令。
其特点是,片内包括了8位的CPU,4KB或8KB的ROM,128B或256B的RAM,具有串/并行接口,2个或3个16位的定时器/计数器,有5~7个中断源。
单片机课后习题参考答案(全).
单片机课后习题参考答案(全).单片机课后习题参考答案1. 什么是单片机?单片机是一种集成电路芯片,其中包含了处理器、存储器以及各种输入输出接口。
它能够完成各种控制任务,并且在各种嵌入式系统中广泛应用。
2. 单片机的特点有哪些?- 小巧、体积小:单片机可以集成多个功能在一个芯片内部,所以体积相对较小。
- 低功耗:单片机工作时功耗较低,适合用于一些需要长时间运行的电子产品。
- 低成本:相对于使用多个离散电子元件实现同样功能的电路,单片机的成本较低。
- 高可靠性:单片机内部通过硬件逻辑实现各种功能,不易受外界干扰,提高了系统的可靠性。
- 程序可编程:单片机可以通过编程改变其功能,具有较强的灵活性。
3. 单片机的工作原理是什么?单片机内部通过运算器、控制器、存储器等硬件组成,运算器负责执行各种算术、逻辑操作,控制器负责协调和控制各种操作,存储器用于存储程序和数据。
当单片机上电后,控制器开始执行存储器中的程序,按照指令的执行顺序执行各个操作。
单片机的输入输出接口与外部设备进行数据交换,实现与外部环境的交互。
4. 单片机的应用领域有哪些?单片机被广泛应用于各种嵌入式系统中,包括电子产品、电子仪器、通讯设备、汽车电子、医疗设备等。
它能够实现各种控制任务,如温度控制、风扇控制、光控制、家电控制等。
5. 单片机的编程语言有哪些?常见的单片机编程语言包括汇编语言、C语言和基于C语言的高级语言。
汇编语言是一种底层的编程语言,直接面向单片机的硬件操作;C语言是一种高级语言,可以方便地进行开发和调试;基于C语言的高级语言如Basic、Pascal等是对C 语言进行了扩展和封装,更加简化了编程过程。
6. 单片机系统的开发流程是什么?单片机系统的开发流程一般包括以下几个步骤:- 硬件设计:确定系统所需的输入输出接口及硬件电路,并进行电路设计和原理图绘制。
- 软件设计:编写程序代码,实现系统的各种功能。
- 系统调试:将软件下载到单片机中,通过调试工具进行调试和测试,确保系统能够正常运行。
单片机课后作业答案(万福君)
答: 以内部存储器地址 2FH 作为栈底, 从 30H 开始一直到 7FH, 依次存放外部数据存储器中 2000H~ 204FH 地址中的数据。7FH 作为栈顶。程序完成后 SP=7FH。 (将外部 RAM 中的数据通过堆栈传送到内 部 RAM)
1.1.6 3-9
分析下列程序段执行结果,程序执行完后,SP 指向哪里?
答:电路图如下:
U V
&
≥1
F
W X
≥1
逻辑表达式: F U V (W X ) 重新整理编写程序如下:
ORG U V W X START: BIT BIT BIT BIT MOV MOV ANL CPL MOV MOV ORL ORL MOV SJMP END 0100H P1.0 P1.1 P1.2 P1.3 P1, #0FH C, U C, V C ACC.0, C C, W C, /X C, ACC.0 F, C $ ;P1.2 | /P1.3 ;P1 作为输入前的准备,使场效应管截止 ;读入 P1.0,存入在进位标志 ;P1.0 & P1.1 ;取反
答:在外部数据存储器中的以下地址内存放数据: (向外部存储器放数据) (2000H)=30H (2001H)=31H (2002H)=32H ┇ ┇ (2009H)=39H
1.1.5 3-8
简述下列程序段完成的功能,程序完成后 SP 指针应指向哪里?
MOV MOV MOV NEXT: MOVX PUSH INC DJNZ SJMP SP, #2FH DPTR, #2000H R7, #50H A, @DPTR A DPL R7, NEXT $ ;堆栈指针先加 1 再赋值 ;共 50H 个数据 ;设置栈底
MOV MOV ANL CPL MOV MOV ORL ORL MOV SJMP P1, #0FH C, P1.0 C, P1.1 C ACC.0, C C, P1.2 C, /P1.3 C, ACC.0 F, C $ ;P1.2 | /P1.3 ;P1 作为输入前的准备,使场效应管截止 ;读入 P1.0,存入在进位标志 ;P1.0 & P1.1 ;取反 ;暂存 ACC.0
单片机原理及应用课后习题答案第六章作业
第6章MCS51得定时器/计数器1.如果晶振得频率为3MHz,定时器/计数器工作在方式0、1、2下,其最大得定时时间各为多少?2.定时器/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?3.定时器/计数器作计数器模式使用时,对外界计数频率有何限制?4.定时器/计数器得工作方式2有什么特点?适用于什么应用场合?5.一个定时器得定时时间有限,如何实现两个定时器得串行定时,来实现较长时间得定时?6.定时器/计数器测量某正单脉冲得宽度,采用何种方式可得到最大量程?若时钟频率为6MHz,求允许测量得最大脉冲宽度就是多少?7.判断下列说法就是否正确?(1)特殊功能寄存器SCON,与定时器/计数器得控制无关。
(2)特殊功能寄存器TCON,与定时器/计数器得控制无关。
(3)特殊功能寄存器IE,与定时器/计数器得控制无关。
(4)特殊功能寄存器TMOD,与定时器/计数器得控制无关。
8.设定1ms得定时,可以在P1、0引脚上产生周期为2ms得方波输出,设晶体振荡器得频率为6MHz,分别写出在方式0与方式1时,赋给T0得常数。
9.设MCS51单片机得晶振频率为12MHz,请编程使P1、O端输出频率为20kHz得方波。
10.要求采用定时中断得方式,实现下图所示流水灯得双向循环(D1—D8—D1)流动功能。
其中流水灯得闪烁速率为每秒1次。
11.设单片机得fosc = 12MHz,使P1、O与P1、1分别输出周期为1ms与lOms得方波,请用定时器TO方式2编程实现。
附录2:作业及答案1.如果晶振得频率为3MHz,定时器/计数器工作在方式0、1、2下,其最大得定时时间各为多少?(12/3×8192=32、768ms;12/3*65636=262、144ms; 12/3*256=1、024ms)2.定时器/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?(定时得计数脉冲来自于单片机内部,即每个机器周期产生一个计数脉冲,也就就是每个机器周期计数器加1。
(完整版)单片机课后习题答案最终修改版
第二章1、MCS-51系列单片机内部有哪些主要的逻辑部件?答:MCS-51系列单片机内部主要逻辑部件有:算术/逻辑部件ALU、累加器A(有时也叫ACC)、只读存储器ROM、随即存储器RAM、指令寄存器IR、程序计数器PC、定时器/计数器、I/O接口电路、程序状态寄存器PSW、寄存器组。
3、MCS-51内部RAM区功能如何分配?如何选用4组工作寄存器中的一组作为当前的工作寄存器组?位寻址区域的字节地址范围是多少?答:MCS-51单片机内部RAM共128B,地址空间为00H-7FH,按照功能分为用户区、位寻址区和寄存器工作区。
00H~1FH是32B单元的4个工作寄存器组,单片机执行程序时,具体使用哪一组是通过对PSW的RS1、RS0两位的设置来实现的。
可以位寻址的地址范围是20H~2FH的16B共128位的内部RAM区,按字节寻址的地址范围是30H~7FH共80B的内部RAM区。
5、8031设有4个8为并行端口,若实际应用8为I/O口,应使用P0~P3中的哪个端口传送?16位地址如何形成?答:(1)P1口是专门供用户使用的I/O口,是准双向接口,故可以使用P1口传送;(2)P0既可以做地址/数据总线使用,又可作通用I/O使用。
一方面用来输出外部存储器或I/O的低八位地址,另一方面作为8位数据输入/输出口,故由P0口输出16位地址的低八位。
(3)P2口作为通用I/O口使用,与P1口相同。
当外接存储器或I/O时,P2口给出地址的高八位,故P2 口输出16位地址的高八位。
8、MCS-51的时钟周期、机器周期、指令周期是如何分配的?当震荡频率为10MHz时,一个机器周期为多少微秒?答:CPU执行一条指令的时间称为指令周期,它是以机器周期为单位的。
MCS-51典型的指令周期为一个机器周期,每个机器周期由6个状态周期组成,每个状态周期由2个时钟周期(振荡周期)组成。
一个机器周期=6*一个状态周期=12*一个时钟周期=12/振荡周期当振荡周期为10MHz时,一个机器周期为12/10MHz=1.2us9、在MCS-51扩展系统中,片外程序存储器和片外数据存储器地址一样时,为什么不发生冲突?答:(1)、程序存储器和数据存储器物理上是独立的,寻址片外程序存储器和片外数据存储器的寻址方式、寻址空间和控制信号不同。
单片机课后习题答案(《单片机应用技术》C语言版)
单片机课后习题答案(《单片机应用技术》C语言版)单片机课后习题答案《单片机应用技术》C语言版1. 实验一:单片机概述与开发环境搭建题目一:简述单片机的概念及其优势。
答案:单片机是一种集成电路,具有微型化、低功耗、低成本等优势。
它可以独立完成各种任务,广泛应用于嵌入式系统中。
题目二:描述单片机开发环境的搭建步骤。
答案:单片机开发环境的搭建步骤如下:1) 安装C语言编译器;2) 安装单片机开发工具;3) 配置单片机开发环境;4) 创建工程并编写程序;5) 编译、下载并运行程序。
2. 实验二:基本IO口操作题目一:使用C语言编写程序,将P0口的四个引脚连接到四个LED灯,实现依次点亮、逐个点亮、全亮和全灭功能。
答案:代码如下:```c#include <reg52.h>#define uchar unsigned charvoid delay(uchar t) {while (t--);}void main() {P0 = 0xfe; // 1111 1110,点亮第一个LED delay(60000);P0 = 0xfd; // 1111 1101,点亮第二个LED delay(60000);P0 = 0xfb; // 1111 1011,点亮第三个LED delay(60000);P0 = 0xf7; // 1111 0111,点亮第四个LED delay(60000);P0 = 0xff; // 1111 1111,全亮delay(60000);P0 = 0x00; // 0000 0000,全灭while (1);}```题目二:编写程序,通过P1口的第0~3引脚接收外部开关信号,并通过P2口的0~3引脚控制LED灯的亮灭状态。
答案:代码如下:```c#include <reg52.h>#define uchar unsigned charvoid delay(uchar t) {while (t--);}void main() {uchar temp;while (1) {temp = P1 & 0x0f; // 获取P1口低4位的值P2 = ~temp; // 反转temp后赋值给P2口delay(60000);}}```3. 实验三:中断与定时器题目一:利用定时器0中断,编写程序实现一个1s的计时器,并在数码管上显示计时器的值。
单片机课后练习题及答案
第9、10章习题一、问答题1.ALE端的作用是什么?答:ALE是地址锁存允许信号端/编程脉冲输入端。
当89C51上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率的六分之一。
CPU访问片外存储器时,会丢失一个脉冲。
当对片外RAM进行读/写时,ALE 信号不是周期性的。
在其他情况下,ALE 信号是一种周期信号,可以用做其他外部设备的时钟信号。
2.总线接口部件的用途是什么?答:总线接口部件负责CPU与存储器、I/O接口之间的数据传送,即从内存单元或者外设端口中取数据,传送给执行部件。
或者把执行部件的操作结果传送到指定的内存单元或外设端口中。
这样的功能部件叫做总线接口部件。
3.为什么在存储系统中要进行片选控制?答:一个存储系统往往需要一定数量的存储芯片。
CPU每次只能对其中的一片存储器进行访问,因此CPU首先要选择的是访问那些芯片,这就需要进行片选控制。
一般用空出的高位地址或地址译码器输出的控制信号形成片选信号。
只有片选信号有效时,才能对所连芯片的存储单元进行读写。
4。
5.芯片74LS373、74LS164、74LS138、8255、27512、62128的基本功能以及通常使用在MCS-51系统中的作用。
答:74LS373为地址锁存器,通常用作扩展外部Rom、Ram或IO口用;74LS164为串行输入并行输出转换器,常用在将串口扩展为并口;74LS138为3选8译码器,常用来做地址译码器;8255为可编程并行IO口扩展芯片,常用来扩展IO口;27512为64k的EPROM程序存储器;62128为16k的RAM,数据存储器。
6.在MCS-51单片机系统中,外接程序存储器和数据存储器共用16位地址线和8位数据线,会不会发生冲突,并说明为什么?答:不会,因为控制信号线的不同:外扩的RAM芯片既能读出又能写入,所以通常都有读写控制引脚,记为OE和WE。
外扩RAM 的读、写控制引脚分别与MCS-51的RD和WR引脚相连。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章习题
1.将123.375转换为二进制和十六进制数。
2.将395写成BCD码形式。
3.求下列数的原码和补码:
1)+85
2)-85
4.求下列补码的真值:
1)01011011B
2)11101101B
第二章习题
1.根据功能和用途,89C52部RAM可分为几个区域?各有多少字节?字节地址为多少?
2.请写出90H所对应的所有可能的物理单元。
3.请分别写出如下位地址所在的RAM单元地址或SFR名:
1)07H 2)10H 3)50H 4)70H
5)80H 6)90H 7)D0H 8)E0H
4.51系列单片机工作寄存器有几组?如何判断CPU当前使用哪一组寄存器?
5.请指出89C52在f osc=6MHz、12MHz、24MHz时的一个机器周期时间。
6.中断入口的含义是什么?写出89C52的中断入口地址。
7.某单片机应用系统有下列4种中断:INT0、INT1、T0和T1。
要求的优先级顺序从高到低依次为:T0→INT1→INT0→T1。
请设置IE和IP的相关位,以确保达到上述要求。
第三章习题
1.51系列单片机的指令系统有哪几种寻址方式?对部RAM的00H—7FH单元操作有哪些寻址方式?对SFR操作有哪些寻址方式?
2.写出下列功能对应的数据传送指令:
1)(R0)→A;(40H)→A;((R0))→A;80H→A
2)(78H)→R0;(A)→R6;88H→R7
3)(A)→50H;(70H)→P1;(R3)→P1;80H→P1
4)(A)→(R0);(30H)→(R0);30H→(R0)
5)8000H→DPTR
6)(A)→栈;(DPH)→栈;栈→DPH;栈→A
7)(A)((R0));(A)0~3((R0))0~3
3. 写出下列各条指令的功能:
1)MOV A,R1;MOV A,50H;MOV A,R1
2)MOV R7,30H;MOV R4,A;MOV R7,#3
3)MOV 50H,A;MOV P1,40H;MOV P1,R3
4)MOV R1,A;MOV R1,30H;MOV R1,#50H
5) MOV DPTR,#9000H
6) PUSH ACC;PUSH B;POP DPL
7)XCH A,R1;XCHD A,R1
8)MOVX A,R0;MOVX A,DPTR
4.指出下列指令的寻址方式和操作功能:
INC R1; INC 30H; INC B; RL A;
CPL 40H; SETB 50H; CLR 70H
5.指出下列指令的功能:
1)ADD A,R0; ADD A,R0; ADD A,30H; ADD A,#80H
2)ADDC A,R0; ADDC A,R0; ADDC A,30H; ADDC A,#90H
6. 指出下列指令中哪些是非法的?
1)INC R1 2)DEC DPTR 3)MOV A,R2 4)MOV 40H,R1
5)MOV P1.0,0 6)MOV 20H,21H 7)ANL 20H,#0F0H
8) RR 20H 9)RLC 30H 10)RL B
7.设(SP)=74H,指出执行下面程序段后,(SP)的值以及堆栈中75H、76H、77H 单元的容。
MOV DPTR,#0BF00H
MOV A,#50H
PUSH ACC
PUSH DPL
PUSH DPH
8.指出下列程序段的功能: MOV A,R3
MOV B,R4
MUL AB
MOV R3,B
MOV R4,A
9. 指出下列程序段的功能:
MOV R0,#50H
MOV A,R0
ANL A,#0F0H
SWAP A
MOV 60H,A
MOV A,R0
ANL A,#0FH
MOV 61H,A
10. 指出下列程序段的功能:
SSS:MOV R7,#10H
MOV R0,#30H
MOV DPTR,#8000H SSL:MOV A,R0
MOVX DPTR,A
INC DPTR
INC R0
DJNZ R7,SSL
11. 指出下列程序段的功能:
MOV C,P3.0
ORL C,P3.4
MOV F0,C
MOV C,20H
ORL C,50H
CPL C
ORL C,F0
MOV P1.0,C
12. 指出下列程序段的功能:
SSS:MOV R0,#40H
CLR A
SSL:XCHD A,R0
XCH A,R0
SWAP A
XCH A,R0
INC R0
CJNE R0,#43H,SSL
MOV A,R2
13.编写程序,其功能为:30H(高)—32H(低)和33H(高)—35H(低)两个三字节无符号数相加,结果存入30H(高)—32H(低),设三字节相加时无进位。
14. 编写程序,将部RAM 30H—4FH单元的容传送到外部RAM 7E00H—7E1FH单元中。