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

下载本文档

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

文档简介

1、第一章 1.1.18何谓奇偶校验?它有什么用途?请说明其具体方法? 答:奇偶校验是一种校验代码传输正确性的方法,它有奇校验和偶校验两种方式,奇偶校验法常用于识别数据是否发生传输错误,并且可以启动校正措施,或者舍弃传输发生错误的数据,要求重新传输有错误的数据块。这种方法是在每一个字节中加上一个奇偶校验位,并被传输,即每个字节发送九位数据,数据传输以前通常会确定是奇校验还是偶校验,以保证发送端和接收端采用相同的校验方法进行数据校验,假如校验位不符,则认为传输出错。 1.1.22何谓堆栈?为什么要设置堆栈?栈区是怎样确定的?数据进栈、出栈按照何种规律?进栈用什么指令?进栈、 出栈时栈针将怎样变化?通

2、常栈底所指是什么内容?栈顶所指又是什么内容? 答:堆栈是读写存储器RAM中的一个特殊区域,是一组按照“先进后出”的方式工作的、用于暂存信息的存储单元。设置堆栈是为了保证断点地址和现场信息。栈区是通过堆栈指针SP在RAM中建立堆栈后确定的,建立堆栈可用 一条传送指令来实现,例如MOVSF?#60H。数据进栈出栈按照“先进后出”的规律。进栈指令:PUSHX出栈指 令:POP头建立堆栈后,当执行进栈指令时,栈针SP的内容自动加1,即(SP)(SP)+1,当执行出栈指令时,栈针SP的内容自动减1,即(SP)-(SP)1。栈底所指的是堆栈指针SP所指的起始位置。栈顶所指的是当有 数据进栈后SP+1,当S

3、P指向的地址为BEGIN+LENGTH,吃满,此时的SP所指向的位置。 1.1.23为什么要采用总线结构?芯片为什么要通过缓冲器才能挂在总线上? 答:总线。即在微型计算机各芯片之间或芯片内部各部件之间传输信息的一组公共通信线。采用总线结构后,芯片之间不需单独走线,这就大大减少了连接线的数量。因为挂在总线上的芯片不能同时发送信息,否则多个信息同时出现在总线上将发生冲突而造成错误,这就是说,如果有几块芯片需要输出信息,就必须分时传送,为了实现这个要求,所以芯片要通过缓冲器才能挂在总线上。 1.1.27CPU与外围设备间传送数据有哪几种方式?试根据每一种方式的特征,分析其适用的场合。 答:四种:无条

4、件传送方式、查询传送方式、中断传送方式和直接数据通道传送DMA方式。无条件传送方式:CPU 在输入信息以前不必询问输入设备是否准备好了数据,只要执行输入指令就可输入所需信息,同样输出数据前也不必询问输出设备是否已进入准备接收数据状态,只要执行输出指令,输出信息就会被外围设备所接收。适用于外围设备信息变换缓慢的场合。查询传送方式:CPU在传送数据前要先询问外设状态,仅当外设状态准备好了才传送,否则 CPU就等待。适用于外围设备与CPU的速度有差异且比CPU的速度慢的场合。中断传送方式:采用中断方式与外设间传送数据,使CPU从反复询问外设状态中解放出来,提高了工作效率。而且,可以为多个外设服务。适

5、用于对实时性要求较高的场合。直接数据通道传送DMA方式:令CPU交出总线的控制权,改由DMA控制器进行控制,使外设 与内存利用总线直接交换数据,不经过CPU中转,也不通过中断服务程序,既不需要保存、恢复断点和现场,所以传 送数据的速度比中断方式更快。适用于高速度的外围设备与计算机间传送大批量数据的场合。 1.1.28讲清中断的概念、用途和优越性。说明CPU响应中断的条件。 答:中断:是指当机器正在执行程序的过程中,一旦遇到异常情况或特殊请求时,就暂时停止正在执行的程序,而转入需要的处理(称为中断处理或中断服务),并且在处理完毕后,立即回到原来被停止的程序间断处(成为断点)继 续执行。中断的用途

6、:传递数据、实时控制、故障自动处理、实现人机联系等。中断的优越性:提高了CPU的工 作效率,并且使其可以同时为多个外设服务,实现实时控制,可以处理设置故障掉电等突发事件。CPU响应中断的 条件:接口电路和CPU处在允许中断状态。 1.1.29何谓中断优先权?它是怎样规定的?讲清中断嵌套的概念。 答:一个计算机系统有多个中断源,同一个中断请求引脚也可以接有多个会提出中断请求的外围设备,遇到几个设备同时中断请求时,CPU对中断的响应顺序称为中断的优先权。规定的原则有三:(1)多个中断源同时申请中断时, CPU先响应优先权高的中断请求。(2)优先权级别低的中断正在处理时,若有级别高的中断请求,则CP

7、U暂时中断正 在进行的中断服务程序,去响应优先权级别高的中断请求,在高级别中断服务程序执行完后再返回原来低级别中断服务程序继续执行。(3)同级别或低级别的中断源提出中断申请时,CPU要到正在处理的中断服务程序执行完毕返回主 程序、并执行了主程序的一条指令后才接着响应。优先权级别低的中断正在处理时,若有级别高的中断请求,则CPU 暂时中断正在进行的中断服务程序,去响应优先权级别高的中断请求,在高级别中断服务程序执行完后再返回原来低级别中断服务程序继续执行,称为中断嵌套。 1.1.37下列程序存放在64Kx8位的EPROM中: 7408MOVA,#08H 75F076MOVB,#76H 25E0A

8、DDA,A25F0ADD,A,B 022000LJMP2000H 试分析该程序并回答以下问题: 1)如该段程序自000FH单元开始存放,请在程序段中写明每条指令的首址。 2)该程序段共占用内存多少单元? 3)在执行指令ADDA,A时,程序计数器PC的内容是什么? 4)执行完指令ADDA,B后,累加器A、寄存器B及程序计数器PC的内容各是什么? 5)在CPK回指令LJMP2000H执行该指令时,(P。=?;该指令执行后,(P。=? 答: 000F 74 08 MOV A,#08H 0011 75 F0 76 NOV B,#76H 0014 25 E0 ADD A,A 0016 25 F0 ADD

9、 A,B 0018 0 2 0 LJMP 2000 上列程序段最左一列写的是每条指令存放的首址。因指令MOVA.#08H的机器码为74H与08H,要存放两个单元,即000FH与0010H,故指令MOVB,#76H存放的首址将为0011H,后面各指令存放的首址同理推得。 12个单元。 执行时内容已更新为0016H。 (A)=86H,(B)=76H,(PC)=0018H。 CPU取回指令LJMP2000H并执行该指令时,(PC)=001BH;该指令执行后,(PQ=2000H。 1.1.38有程序段如下,试画出堆栈图,在图上注明各有关单元的内容。 MOVSP#0E0H MOVA,#24H MOVB,

10、#0F1H PUSHA PUSHB 1.1.39某存储器芯片有12根地址线、8根数据线,请回答: 1)该芯片有多少个存储单元? 2)每个存储单元存放多少位二进制数? 3)用十六进制数写出它的首地址和末地址。 答:(1)4k(2)8(3)首地址为000H,末地址为FFFH 1.1.40某存储器芯片的存储容量为16Kx8位,它应有几根地址线?若其首址为1000H,则末址是多少? 答:14,4FFFH 1.2.18用8位二进制写出下列各数的原码、反码和补码、 E3H E2H F1H 当前栈顶 E1H 24H E0H 栈底 反码:-120=10000111 补码:-120=10001000 1.2.4

11、3求出下列算式的值: 1) (100100.1)2+(110110.1000)BCD+(36.8)16+(36.4)8 2) (01010010)2+(01010010)BCD+48+(48)16 3) 00111100B+(10010110)BCD+24+24H 4) 111011.1B(100010.0101)BCD-19.8H+75.1Q 5) 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=

12、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位定时器/计数器;(

13、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时=12MH

14、z/2=6MHz,周期T时=1/6阳;机器周期的周期T机=6X1/6us=1值,频率f卞a=1/T机=2MHz;指令周期的周期:单指令T指=1值,双指令T指=25频率:单指令f指=1MHz,双指令f指=500KHz。 2.16、EA引脚的作用是什么?在下列四种情况下,EA引脚各应接何种电平? 1)只有片内ROM 2)只有片外ROM 3)有片内ROM和片外ROM 4)有片内ROM和片外ROM,片外ROM所存为调试程序。 1、EA引脚的作用是:片外程序存储器选用端。2、1)高电平;2)低电平;3)高电平;4)21V电源。 2.23、定时器/计数器0如用于下列定时,晶振为12MHz,试为定时器/计数

15、器0编制初始化程序:1)50ms 2)25ms 1)机器周期TC=12X(1/12MHz)=1阳,则定时时间T=(65536-x)TcY=50ms,解得x=15536=3CB0H则初始化程序如下:START:MOVTH0,#3CH 1)+212)-21 答:(1)原码: 反码: 补码: (2)原码: 反码: 补码: (3)原码: 反码: 补码: (4)原码: 3)+1204)-120 +21=00010101 +21=00010101 +21=00010101 -21=10010101 -21=11101010 -21=11101011+120=01111000+120=01111000+12

16、0=01111000-120=11111000 MOVTL0,#0B0HMOVTMOD,01HSETBTR0 2)同理得x=40536=9E58H,则初始化程序如下: START:MOVTH0,#9EH MOVTL0,#58H MOVTMOD,01H SETBTR0 2.28、综述P0、Pl、P2、P3口各有哪几种功能。 1)P0口:通用I/O接口;地址/数据分时复用总线。2)P1:通用输入输出接口。3)P2:地址总线;通用I/O接口。 4)P3口:通用I/O接口;具有第二功能,输出时第二功能端保持高电平。 2.39、在串行异步通信时,要传送8位数据3BH,另采用偶校验位1位,请写出该帧信息的

17、二进制代码。 3BH=00111011B,有5(奇数)个1,采用偶校验则须D8位置1,凑成偶数个1,所以该帧信息的二进制代码是100111011B。 2.41、如异步通信,每个字符由11位组成,串行口每秒传送250个字符,问波特率为多少? 11位/字符X250?符/秒=2750位/秒 2.48、某单片机系统用于定时测试压力、温度,并用定/计0实现定时。如压力超限和温度超限的报警信号分别由所、 而i输入,中断优先权排列顺序依次为压力超限一温度超限一定时检测,试确定专用寄存器IE和IP的内容。 IE1-00011187H 中断屏蔽| I压力超限中断允许 定时检测中断允许 温度超限中断允许 IPXX

18、X10105H 压力超限中断高优先级 定时检测中断低优先级温度超限中断高优先级 2.49、上题如压力超限和温度超限的报警信号改由而i、rm分别输入,其它不作改变,问 改变? 3.1.3、MCS51系列单片机的寻址方式有哪儿种叫列表分析各种寻址方式的访问对象与寻址范围。 寻址方式 访问对象和寻址范围 立即寻址 程序存储器立即数 寄存器寻址 R0R7,A,B,C,DPTR 寄存器间接寻址 内部RAM(R0,R1,SP);外部数据存储器(R0, R1,DPTR) 直接寻址 内部RAM低128字节,程序存储器;特殊功能寄存器;内部RAM位寻址区的128个位或特殊功能寄存器中可寻址的位 基址寄存器加变址

19、寄存器间接寻址 程序存储器(A+DPTRA+PQ IE和IP的内容将作何种 IE1 000 中断屏蔽 IP XXX1 87H 温度超限中断低优先级 定时检测中断低优先级 压力超限中断高优先级 第3章MCS-51系列单片机的指令系统和汇编语言程序 温度超限中断允许定时检测中断允许压力超限中断允许 04H 相对寻址 程序存储器,以PC的当前值为基地址+指令中给出的偏移量=有效转移地址。转移范围:PC当前值的+127-128字节 3.1.4、要访问片内RAM,可有哪几种寻址方式? 解:寄存器间接寻址、直接寻址 3.1.5、要访问片外RAM,有哪几种寻址方式? 解:寄存器间接寻址 3.1.6要访问RO

20、M,又有哪几种寻址方式? 解:立即寻址、寄存器寻址、基址寄存器加变址寄存器间接寻址、相对寻址 3.1.13、设片内RAM30H单元的内容为40H;片内RAM40H单元的内容为10H;片内RAM10H单元的内容为00H; 内容)。解: 机器码 执行结果 MOV R0,#30H 7830 R0内容为30H MOV A,R0 E6 A内容为40H MOV R1,A F9 R1内容为40H MOV B,Rl 87F0 B内容为10H MOV R0,Pl A690 RAM(30H)=0CAH MOV P3,Pl 8590 B0 (P3)=0CAH MOV l0H,#20H 7510 20 RAM(10H

21、)=20H MOV 30H,10H 8510 30 RAM(30H)=20 (指各有关寄存器、RAM单元与端口的 (P1)=0CAH。 请写出下列各指令的机器码与执行下列指令后的结果 依次执行上列各指令后的结果为: R0内容为30H,R1内容为40H; A内容为40H,B内容为10H; P1端口内容仍为0CAH,P3端口内容也为0CAH; 片内RAM(30H)=20H,(40H)=10H,(10H)=20H。 3.1.15、已知:(A)=02H,(R1)=7FH,(DPTR)=2FFCH,片内 RAM(7FH)=70H片外RAM(FFEH)=llH,ROM(FFEH)=64H试 分别写出下列指

22、令的机器码及执行各条指令的结果。 (l)MOVA,Rl (2)MOVXDPTR,A (3)MOVCA,A+DPTR (4)XCHDA,Rl 3.1.38、经过汇编后,下列各条语句的标号将是什么数值 ORG 2000H TABLE:DS l0 WORD:DS l5,20,25,30 FANG:EQU l000H BEGIN:MOV A,R0 解:TABLE称号的真实地址是 2000H WORD称号的真实地址是 200AH FANG称号的真实地址是 1000H MOVP1,#0FFH MOVA,P1 由于EQU指令并不占用内存单位,所以3.2.8、某压力测试的线性处理程序如下,如的输出为02H,问

23、执行程序后(A)=? BEGIN标号的真实地址将依次为200EH。 A/D转换器 禹凯显习心乱H DB00H DB01H DB02H DBFEH END解:该题程序中第一条指令在P1端口输出全1、为P1端口输入信息作准备;第二条指令在P1端口车入A/D转换器的 转换Z果02H;第三条是查表指令,因该指令是单字节指令,执行该指令时PC所指已是TAB标号的具体地址,再往下 数2哥单元(A的内容为02H),查得执行程序后A的内容为01H。 3.2.14、试编程:有两双字节压缩的BCD码数相加,设该两待加数分别按先低后高原则存放在30H、31H和40H、41H 单元,和要求放回30H、31H单元。 解

24、:MOVR0,#30H MOVR1,#40H MOVR2,#2CLRCLOOPMOVA,R0 ADDCA,R1DAA MOVR0,A INCR0 INCR1 DJNZR2,LOOPDONE:AJMPDONE 3.2.16、试编程:将片内RAM50H、51H单元两个无符号数中较小的数存于 解: ORG 00H 或 OR 00H LJMP START LJMP START ORG 30H ORG 30H START MOV A,50H START: MOV A,50H SUBB A,51H CJNE A,51H,STOR JC1 LESS SJMP ELSE MOV 60H,51H STOR JC

25、1 LESS SJMP ELSE MOV 60H,51H LESS MOV 60H,50H SJMP ELSE ELSE SJMP $ LESS MOV 60H,A END ELSE SJMP $ EN 3.2.17、试编程:将片内RAM60H69H单元中的l0个数相加,和的低8位存入7EH,高8位存入7FH。解:ORG00H LJMPSTARTORG30HSTARTMOV7FH,#00H MOVR1,#09H MOVR0,#60HMOVA,R0INCR0MOVC TAB:DB A,A+PC00H 60H单元。 LOOP AD A,R JNC LP1 INC 7FH LP INC R0 DJN

26、ZR1,LOOP MOV7EH,A SJMP$ END 3.2.18、试编程:统计从片内RAM60H单元起所存60个数中0的个数,并存入工作寄 存器R7。 解:ORG00H LJMPSTART ORG30H STARTMOVR7,#00H MOVR0,#60H LOOP1:CJNER0#00H,LOOP2 INCR7 LOOP2INCR0 CJNER0#9BH,LOOP1 SJMP$END 3.2.19、试编程:将ROM中自2000H单元起的100个数,按序移至片外RAM自2080H单元起的内存区间去。 解: ORG 00H LJMP START ORG 30H START MOV DPTR,

27、#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 $ END 3.2.27、 设晶振为12MHz,请详细剖析 (包括计算)下列程序段的性质和用途 0B0 7963 DELAY:MOVRl,#63H 0B2 00 DLl:NOP 0B 00 NOP V .z OOHOOH SOiH DIM 51H 口用 MH osn enH MHMH C7H 57145714 MHMH 5SH5SH MHMH 5flH5flH i rii AFHAFH 3.2.30、设晶振为12MHz,请编写二段子程序,分别用指令延时法和定时器实现30ms延时。 解:指令法:ORG00H定时器:ORG00H LJMPDELAYLJMPDELAY ORG30HORG30H DELAY MOVR7,#120 DELAYMOV TMOD,#01H DELAY1 MOV R6, #125 MOV THO,#8AH DELAY2 DJNZ R6, DELAY2 MOV TLO,#DO

温馨提示

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

评论

0/150

提交评论