单片机复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章
★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下列程序存放在64K×8位的EPROM中:
74 08 MOV A,#08H
75 F0 76 MOV B,#76H
25 E0 ADD A,A
25 F0 ADD,A,B
02 20 00 LJMP 2000H
试分析该程序并回答以下问题:
1) 如该段程序自000FH 单元开始存放,请在程序段中写明每条指令的首址。
2) 该程序段共占用内存多少单元?
3) 在执行指令ADD A,A 时,程序计数器PC 的内容是什么?
4) 执行完指令ADD A,B 后,累加器A 、寄存器B 及程序计数器PC 的内容各是什么?
5) 在CPU 取回指令LJMP 2000H 并执行该指令时,(PC )=?;该指令执行后,(PC )=?
答:① 000F
74 08 MOV A,#08H 0011
75 F0 76 NOV B,#76H 0014
25 E0 ADD A,A 0016
25 F0 ADD A,B 0018 02 20 00 LJMP 2000H
上列程序段最左一列写的是每条指令存放的首址。因指令MOV A.#08H 的机器码为74H 与08H ,要存放两个单元,即000FH 与0010H ,故指令MOV B,#76H 存放的首址将为0011H ,后面各指令存放的首址同理一一推得。
②12个单元。
③执行时内容已更新为0016H 。
④(A )=86H ,(B )=76H ,(PC )=0018H 。
⑤CPU 取回指令LJMP 2000H 并执行该指令时,(PC )=001BH ;该指令执行后,(PC )=2000H 。
★1.1.38有程序段如下,试画出堆栈图,在图上注明各有关单元的内容。
MOV SP , #0E0H MOV A ,#24H MOV B, #0F1H PUSH A PUSH B ★1.1.39某存储器芯片有12根地址线、8根数据线,请回答: 1) 该芯片有多少个存储单元?
2) 每个存储单元存放多少位二进制数?
3) 用十六进制数写出它的首地址和末地址。
答:(1)4k (2)8(3)首地址为000H,末地址为FFFH
★1.1.40某存储器芯片的存储容量为16K ×8位,它应有几根地址线?若其首址为1000H ,则末址是多少?
答:14, 4FFFH
★1.2.18用8位二进制写出下列各数的原码、反码和补码、
1)+21 2)-21 3)+120 4)-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)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
E3H E2H E1H E0H
当前栈顶
栈底