单片机复习资料_第1页
单片机复习资料_第2页
单片机复习资料_第3页
单片机复习资料_第4页
单片机复习资料_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.第一章1.1.18何谓奇偶校验?它有什么用途?请说明其具体方法?答:奇偶校验是一种校验代码传输正确性的方法,它有奇校验和偶校验两种方式,奇偶校验法常用于识别数据是否发生传输错误,并且可以启动校正措施,或者舍弃传输发生错误的数据,要求重新传输有错误的数据块。这种方法是在每一个字节中加上一个奇偶校验位,并被传输,即每个字节发送九位数据,数据传输以前通常会确定是奇校验还是偶校验,以保证发送端和接收端采用相同的校验方法进行数据校验,假如校验位不符,则认为传输出错。1.1.22何谓堆栈?为什么要设置堆栈?栈区是怎样确定的?数据进栈、出栈按照何种规律?进栈用什么指令?进栈、出栈时栈针将怎样变化?通常栈底所指是什么内容?栈顶所指又是什么内容?答:堆栈是读写存储器RAM中的一个特殊区域,是一组按照“先进后出”的方式工作的、用于暂存信息的存储单元。设置堆栈是为了保证断点地址和现场信息。栈区是通过堆栈指针SP在RAM中建立堆栈后确定的,建立堆栈可用一条传送指令来实现,例如MOV SP,#60H。数据进栈出栈按照“先进后出”的规律。进栈指令:PUSH X。出栈指令:POP X。建立堆栈后,当执行进栈指令时,栈针SP的内容自动加1,即(SP)(SP)+ 1,当执行出栈指令时,栈针SP的内容自动减1,即(SP)(SP)1。栈底所指的是堆栈指针SP所指的起始位置。栈顶所指的是当有数据进栈后SP+1,当SP指向的地址为BEGIN+LENGTH,即栈满,此时的SP所指向的位置。1.1.23为什么要采用总线结构?芯片为什么要通过缓冲器才能挂在总线上?答:总线。即在微型计算机各芯片之间或芯片内部各部件之间传输信息的一组公共通信线。采用总线结构后,芯片之间不需单独走线,这就大大减少了连接线的数量。因为挂在总线上的芯片不能同时发送信息,否则多个信息同时出现在总线上将发生冲突而造成错误,这就是说,如果有几块芯片需要输出信息,就必须分时传送,为了实现这个要求,所以芯片要通过缓冲器才能挂在总线上。1.1.27CPU与外围设备间传送数据有哪几种方式?试根据每一种方式的特征,分析其适用的场合。答:四种:无条件传送方式、查询传送方式、中断传送方式和直接数据通道传送DMA方式。无条件传送方式:CPU在输入信息以前不必询问输入设备是否准备好了数据,只要执行输入指令就可输入所需信息,同样输出数据前也不必询问输出设备是否已进入准备接收数据状态,只要执行输出指令,输出信息就会被外围设备所接收。适用于外围设备信息变换缓慢的场合。查询传送方式:CPU在传送数据前要先询问外设状态,仅当外设状态准备好了才传送,否则CPU就等待。适用于外围设备与CPU的速度有差异且比CPU的速度慢的场合。中断传送方式:采用中断方式与外设间传送数据,使CPU从反复询问外设状态中解放出来,提高了工作效率。而且,可以为多个外设服务。适用于对实时性要求较高的场合。直接数据通道传送DMA方式:令CPU交出总线的控制权,改由DMA控制器进行控制,使外设与内存利用总线直接交换数据,不经过CPU中转,也不通过中断服务程序,既不需要保存、恢复断点和现场,所以传送数据的速度比中断方式更快。适用于高速度的外围设备与计算机间传送大批量数据的场合。1.1.28讲清中断的概念、用途和优越性。说明CPU响应中断的条件。答:中断:是指当机器正在执行程序的过程中,一旦遇到异常情况或特殊请求时,就暂时停止正在执行的程序,而转入需要的处理(称为中断处理或中断服务),并且在处理完毕后,立即回到原来被停止的程序间断处(成为断点)继续执行。中断的用途:传递数据、实时控制、故障自动处理、实现人机联系等。中断的优越性:提高了CPU的工作效率,并且使其可以同时为多个外设服务,实现实时控制,可以处理设置故障掉电等突发事件。CPU响应中断的条件:接口电路和CPU处在允许中断状态。1.1.29何谓中断优先权?它是怎样规定的?讲清中断嵌套的概念。答:一个计算机系统有多个中断源,同一个中断请求引脚也可以接有多个会提出中断请求的外围设备,遇到几个设备同时中断请求时,CPU对中断的响应顺序称为中断的优先权。规定的原则有三:(1)多个中断源同时申请中断时,CPU先响应优先权高的中断请求。(2)优先权级别低的中断正在处理时,若有级别高的中断请求,则CPU暂时中断正在进行的中断服务程序,去响应优先权级别高的中断请求,在高级别中断服务程序执行完后再返回原来低级别中断服务程序继续执行。(3)同级别或低级别的中断源提出中断申请时,CPU要到正在处理的中断服务程序执行完毕返回主程序、并执行了主程序的一条指令后才接着响应。优先权级别低的中断正在处理时,若有级别高的中断请求,则CPU暂时中断正在进行的中断服务程序,去响应优先权级别高的中断请求,在高级别中断服务程序执行完后再返回原来低级别中断服务程序继续执行,称为中断嵌套。1.1.37下列程序存放在64K8位的EPROM中:7408MOV A,#08H75F076MOV B,#76H25E0ADD A,A25F0ADD,A,B022000LJMP 2000H试分析该程序并回答以下问题:1) 如该段程序自000FH单元开始存放,请在程序段中写明每条指令的首址。2) 该程序段共占用内存多少单元?3) 在执行指令ADD A,A时,程序计数器PC的内容是什么?4) 执行完指令ADD A,B后,累加器A、寄存器B及程序计数器PC的内容各是什么?5) 在CPU取回指令LJMP 2000H并执行该指令时,(PC)=?;该指令执行后,(PC)=?答:000F7408MOVA,#08H001175F076NOVB,#76H001425E0ADDA,A001625F0ADDA,B0018022000LJMP2000H上列程序段最左一列写的是每条指令存放的首址。因指令MOVA.#08H的机器码为74H与08H,要存放两个单元,即000FH与0010H,故指令MOVB,#76H存放的首址将为0011H,后面各指令存放的首址同理一一推得。12个单元。执行时内容已更新为0016H。(A)=86H,(B)=76H,(PC)=0018H。CPU取回指令LJMP2000H并执行该指令时,(PC)=001BH;该指令执行后,(PC)=2000H。1.1.38有程序段如下,试画出堆栈图,在图上注明各有关单元的内容。E3HE2HE1HE0H当前栈顶栈底F1H24HMOV SP,#0E0HMOV A,#24HMOV B,#0F1HPUSH APUSH B1.1.39某存储器芯片有12根地址线、8根数据线,请回答:1) 该芯片有多少个存储单元?2) 每个存储单元存放多少位二进制数?3) 用十六进制数写出它的首地址和末地址。答:(1)4k(2)8(3)首地址为000H,末地址为FFFH1.1.40某存储器芯片的存储容量为16K8位,它应有几根地址线?若其首址为1000H,则末址是多少?答:14, 4FFFH1.2.18用8位二进制写出下列各数的原码、反码和补码、1)+212)-213)+1204)-120答: (1)原码:+21=00010101 反码:+21=00010101 补码:+21=00010101 (2)原码:-21=10010101 反码:-21=11101010 补码:-21=11101011 (3)原码:+120=01111000 反码:+120=01111000 补码:+120=01111000 (4)原码:-120=11111000 反码:-120=10000111 补码:-120=10001000 1.2.43求出下列算式的值:1)(100100.1)2 +(110110.1000)BCD +(36.8)16 +(36.4)82)(01010010)2 +(01010010)BCD + 48 +(48)163)00111100B +(10010110)BCD + 24 + 24H4)111011.1B(100010.0101)BCD19.8H + 75.1Q5)00100110B + 00100110BCD + 74H + 74以上1)2)3)题答案以十进制数表示,4)题答案以二进制数表示,5)题答案以十六进制数表示。答: (1)36.5+36.8+54.5+30.5=158.3 (2)82+52+48+72=254 (3)60+96+24+36=216 (4) (5)38+26+116+74=254第二章MCS一51系列单片机的硬件结构2.1、综述MCS-51系列单片机的大致功能。51子系列的主要功能为:(1)8位CPU;(2)片内带振荡器(振荡器和时钟电路)振荡频率fsoc的范围为1.212MHz;可有时钟输出;(3)128字节片内RAM;(4)4K字节片内ROM( 8031无);(5)ROM寻址范围64KB字节;(6)片外RAM寻址范围64KB字节。(7)21个字节专用寄存器;(8)4个8位并行I/O接口;(9)1个全双工串行I/O接口,可多机通信;(10)2个16位定时器 /计数器;(11)5个中断源,可程序设计为两个优先级;(12)111条指令,含乘法指令和除法指令;(13)有强的位寻址、位处理能力;(14)片内采用单总线结构;(15)用单一+5v电源。2.11、何谓时钟周期、机器周期、指令周期?针对MCS-51系列单片机,如采用12MHz晶振,它们的频率和周期各是什么值?(1)时钟周期是由CPU时钟定义的定长时间间隔,是CPU工作的最小时间单位,也称状态周期。(2)机器周期:指CPU完成一个基本操作所需要的时间,1个机器周期由12个振荡周期(即6个时钟周期)组成。(3)指令周期:CPU执行一条指令的时间。(4)如采用12MHz晶振,时钟周期的频率f时=12MHz/2=6MHz,周期T时=1/6s;机器周期的周期T机=61/6 us=1s,频率f机=1/T机=2MHz;指令周期的周期:单指令T指=1s,双指令T指=2s,频率:单指令f指=1MHz,双指令f指=500KHz。2.16、EA引脚的作用是什么?在下列四种情况下,EA引脚各应接何种电平?1)只有片内ROM2)只有片外ROM3)有片内ROM和片外ROM4)有片内ROM和片外ROM,片外ROM所存为调试程序。1、EA引脚的作用是:片外程序存储器选用端。2、1)高电平;2)低电平;3)高电平;4)21V电源。2.23、定时器/计数器0如用于下列定时,晶振为12MHz,试为定时器/计数器0编制初始化程序:1)50ms2)25ms1)机器周期TCY=12(1/12MHz)=1s,则定时时间T=(65536-x)TCY=50ms,解得x=15536=3CB0H,则初始化程序如下:START:MOV TH0,#3CHMOV TL0,#0B0HMOV TMOD,01HSETB TR02)同理得x=40536=9E58H,则初始化程序如下:START:MOV TH0,#9EHMOV TL0,#58HMOV TMOD,01HSETB TR02.28、综述P0、Pl、P2、P3口各有哪几种功能。1)P0口:通用I / O接口;地址/数据分时复用总线。2)P1口:通用输入输出接口。3)P2口:地址总线;通用I / O接口。4) P3口:通用I / O接口;具有第二功能,输出时第二功能端保持高电平。2.39、在串行异步通信时,要传送8位数据3BH,另采用偶校验位1位,请写出该帧信息的二进制代码。3BH=00111011B,有5(奇数)个1,采用偶校验则须D8位置1,凑成偶数个1,所以该帧信息的二进制代码是1 0011 1011B。2.41、如异步通信,每个字符由11位组成,串行口每秒传送250个字符,问波特率为多少?11位/字符 250字符/秒=2750位/秒2.48、某单片机系统用于定时测试压力、温度,并用定/计0实现定时。如压力超限和温度超限的报警信号分别由、输入,中断优先权排列顺序依次为压力超限温度超限定时检测,试确定专用寄存器IE和IP的内容。IE 1 0 0 0 1 1 1 87H 中断屏蔽 压力超限中断允许 定时检测中断允许 温度超限中断允许IP X X X 1 0 1 05H 压力超限中断高优先级 定时检测中断低优先级 温度超限中断高优先级2.49、上题如压力超限和温度超限的报警信号改由、分别输入,其它不作改变,问IE和IP的内容将作何种改变?IE 1 0 0 0 1 1 1 87H 中断屏蔽 温度超限中断允许 定时检测中断允许 压力超限中断允许IP X X X 1 0 0 04H 温度超限中断低优先级 定时检测中断低优先级 压力超限中断高优先级第3章 MCS一51系列单片机的指令系统和汇编语言程序3.1.3、MCS一51系列单片机的寻址方式有哪儿种?请列表分析各种寻址方式的访问对象与寻址范围。寻址方式访问对象和寻址范围立即寻址程序存储器立即数寄存器寻址R0R7,A,B,C,DPTR寄存器间接寻址内部RAM(R0,R1,SP);外部数据存储器(R0,R1,DPTR)直接寻址内部RAM低128字节,程序存储器;特殊功能寄存器;内部RAM位寻址区的128个位或特殊功能寄存器中可寻址的位基址寄存器加变址寄存器间接寻址程序存储器(A+DPTR,A+PC)相对寻址程序存储器,以PC的当前值为基地址+指令中给出的偏移量=有效转移地址。转移范围:PC当前值的+127-128字节3.1.4、要访问片内RAM,可有哪几种寻址方式?解:寄存器间接寻址、直接寻址3.1.5、要访问片外RAM,有哪几种寻址方式?解:寄存器间接寻址3.1.6要访问ROM,又有哪几种寻址方式?解:立即寻址、寄存器寻址、基址寄存器加变址寄存器间接寻址、相对寻址3.1.13、设片内RAM 30H单元的内容为40H;片内RAM 40H单元的内容为l0H;片内RAM l0H单元的内容为00H;(Pl)=0CAH。请写出下列各指令的机器码与执行下列指令后的结果(指各有关寄存器、RAM单元与端口的内容)。解:机器码 执行结果 MOV R0,#30H 78 30 R0内容为30H MOV A,R0 E6 A内容为40H MOV R1,A F9 R1内容为40H MOV B,Rl 87 F0 B内容为10H MOV R0,Pl A6 90 RAM(30H)=0CAH MOV P3,Pl 85 90 B0 (P3)=0CAHMOV l0H,#20H 75 10 20 RAM(10H)=20HMOV 30H,10H 85 10 30 RAM(30H)=20H依次执行上列各指令后的结果为:R0内容为30H,R1内容为40H;A内容为40H,B内容为10H;P1端口内容仍为0CAH,P3端口内容也为0CAH;片内RAM(30H)=20H,(40H)=10H,(10H)=20H。3.1.15、已知:(A)=02H,(Rl)=7FH,(DPTR)=2FFCH, 片内RAM(7FH)=70H,片外RAM (FFEH)=llH,ROM (FFEH)=64H,试分别写出下列指令的机器码及执行各条指令的结果。 (l)MOV A,Rl (2)MOVX DPTR,A (3)MOVC A,A+DPTR (4)XCHD A,Rl3.1.38、经过汇编后,下列各条语句的标号将是什么数值? ORG2000H TABLE: DS l0 WORD: DS l5,20,25,30 FANG: EQU l000H BEGIN:MOV A,R0解:TABLE 标号的真实地址是 2000HWORD 标号的真实地址是200AHFANG 标号的真实地址是1000H由于EQU指令并不占用内存单位,所以BEGIN标号的真实地址将依次为200EH。3.2.8、某压力测试的线性处理程序如下,如A/D转换器的输出为02H,问执行程序后(A)=? MOV P1,#0FFH MOV A,P1 MOVC A,A+PC TAB: DB 00H DB 00H DB 01HDB 02HDB FEH END解:该题程序中第一条指令在P1端口输出全1、为P1端口输入信息作准备;第二条指令在P1端口输入A/D转换器的转换结果02H;第三条是查表指令,因该指令是单字节指令,执行该指令时PC所指已是TAB标号的具体地址,再往下数2哥单元(A的内容为02H),查得执行程序后A的内容为01H。3.2.14、试编程:有两双字节压缩的BCD码数相加,设该两待加数分别按先低后高原则存放在30H、31H和40H、41H单元,和要求放回30H、31H单元。解: MOV R0,#30H MOV R1,#40H MOV R2,#2 CLR C LOOP:MOV A,R0 ADDC A,R1 DA A MOV R0,A INC R0 INC R1 DJNZ R2,LOOP DONE:AJMP DONE3.2.16、试编程:将片内RAM 50H、51H单元两个无符号数中较小的数存于60H单元。解:ORG 00H 或 ORG 00H LJMP START LJMP START ORG 30H ORG 30HSTART: MOV A,50H START: MOV A,50H SUBB A,51H CJNE A,51H,STOR JC LESS SJMP ELSE MOV 60H,51H STOR:JC LESS SJMP ELSE MOV 60H,51H LESS:MOV 60H,50H SJMP ELSE ELSE:SJMP $ LESS:MOV 60H,A END ELSE:SJMP $ END3.2.17、试编程:将片内RAM 60H69H单元中的l0个数相加,和的低8位存入7EH,高8位存入7FH。解: ORG 00HLJMP STARTORG 30HSTART:MOV 7FH,#00H MOV R1,#09H MOV R0,#60H MOV A,R0 INC R0LOOP: ADD A,R0 JNC LP1 INC 7FH LP1: INC R0 DJNZ R1,LOOP MOV 7EH,A SJMP $ END3.2.18、试编程:统计从片内RAM 60H单元起所存60个数中0的个数,并存入工作寄存器R7。解: ORG 00H LJMP START ORG 30H START:MOV R7,#00H MOV R0,#60H LOOP1:CJNE R0,#00H,LOOP2 INC R7 LOOP2:INC R0 CJNE R0,#9BH,LOOP1 SJMP $ END3.2.19、试编程:将ROM中自2000H单元起的100个数,按序移至片外RAM自2080H单元起的内存区间去。解: ORG 00H LJMP START ORG 30H START:MOV DPTR,#2000H MOV R1,#64H MOV R2,#0 LOOP:MOV A,R2 MOVC A,A+DPTR MOV R3,A MOV A,#80H ADD A,R2 MOV DPL,A MOV A,R3 MOVX DPTR,A INC R2 MOV DPL,#0 DJNZ R1,LOOP DONE: SJMP $ END3.2.27、设晶振为12MHz,请详细剖析 (包括计算)下列程序段的性质和用途: 0B0 79 63 DELAY:MOV Rl,#63H 0B2 00 DLl: NOP 0B3 00 NOP 0B4 D9 FC DJNZ Rl,DLl 0B6 22 RET3.2.30、设晶振为12MHz,请编写二段子程序,分别用指令延时法和定时器实现30ms延时。解:指令法:ORG 00H 定时器:ORG 00H LJMP DELAY LJMP DELAY ORG 30H ORG 30HDELAY:MOV R7 , #120 DELAY:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论