版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章:1. 给出下列有符号数的原码、反码和补码(假设计算机字长为8 位)。+45-89-6+112答:【+45】原 =00101101,【+45】反 =00101101,【+45】补 =00101101【-89】原 =11011001,【-89】反 =10100110,【-89】补 =10100111【-6】原 =10000110,【 -6】反 =11111001,【-6】补 =11111010【+112】原=01110000,【+112】反 =01110000,【 +112】补 =011100002. 指明下列字符在计算机内部的表示形式。asendfjfmdsv120答:41h 73h 4
2、5h 4eh 64h 66h 4ah 46h 6dh 64h 73h 76h 31h 32h 30h3. 何谓微型计算机硬件?它由哪几部分组成?并简述各部分的作用。答:微型计算机硬件由中央处理器、存储器、 输入/ 输出设备和系统总线等组成,中央处理器由运算器和控制器组成, 是微型计算机运算和控制中心。存储器是用来存放程序和数据的记忆装置。输人设备是向计算机输人原始数据和程序的装置。输出设备是计算机向外界输出信息的装置。i/o 接口电路是外部设备和微型机之间传送信息的部件。总线是连接多个设备或功能部件的一簇公共信号线,它是计算机各组成部件之间信息交换的通道。微型计算机的各大功能部件通过总线相连。
3、4. 简述 8086cpu的内部结构。答:8086 微处理器的内部分为两个部分:执行单元(eu)和总线接口单元(biu)。执行部件由运算器(alu)、通用寄存器、标志寄存器和eu 控制系统等组成。 eu从 biu 的指令队列中获得指令,然后执行该指令,完成指今所规定的操作。总线接口部件biu 由段寄存器、指令指针寄存器、地址形成逻辑、总线控制逻辑和指令队列等组成。总线接口部件负责从内部存储器的指定区域中取出指令送到指令队列中去排队。5. 何谓总线?总线按功能可分为哪几种?答:总线是连接多个设备或功能部件的一簇公共信号线,它是计算机各组成部件之间信息交换的通道。总线功能来划分又可分为地址总线(a
4、ddress bus)、数据总线( date bus)和控制总线( control bus)三类。6. 内部存储器由哪几部分组成?答:包括随机存储器(ram)和只读存储器( rom)。 7简述 8086 中的存储器管理?答:8086 把 1m 空间分成若干块(称为“逻辑段”), 各个逻辑段之间可在实际存储空间中完全分开,也可以部分重叠,甚至可以完全重叠。每个逻辑段容量不超过64k 字节,这样就可用16 位寄存器提供地址访问。一个存储单元的地址可由段基址和偏移地址组成,这个地址我们称为逻辑地址,一般表示为“段基址:偏移地址”。而 1m 存储空间中的 20 位地址称为物理地址。逻辑地址是程序中使用
5、的地址,物理地址是访问存储器的实际地址。物理地址 =段基址× 16 + 段内偏移地址8什么是接口电路?接口电路有何功能?答:i/o接口电路是外部设备和微型机之间传送信息的部件。接口电路主要功能。(1) 数据的寄存和缓冲功能。(2) 信号转换功能。 (3) 设备选择功能。 (4) 外设的控制和监测功能。(5) 中断或 dma 管理功能。 (6) 可编程功能。9外部设备与 cpu之间的数据传送方式常见有几种?各有什么特点?答:外部设备与微机之间的信息传送传送方式一般有无条件传送方式、查询传送方式、 中断控制方式等。 无条件传送方式是指 cpu 直接和外部设备之间进行数据传送。 查询传送方
6、式又称为条件传送方式, 是指 cpu通过查询 i/o 设备的状态决定是否进行数据传输的方式。 中断是一种使 cpu暂停正在执行的程序而转去处理特殊事件的操作。 即当外设的输入数据准备好,或输出设备可以接收数据时,便主动向 cpu发出中断请求, cpu 可中断正在执行的程序,转去执行为外设服务的操作,服务完毕,cpu再继续执行原来的程序。10什么是单片机?答:单片机是把微型计算机中的微处理器、存储器、i/o 接口、定时器 /计数器、串行接口、中断系统等电路集成到一个集成电路芯片上形成的微型计算机。因而被称为单片微型计算机,简称为单片机。11. 和一般微型计算机相比,单片机有何特点? 答:主要特点
7、如下:1) 在存储器结构上,单片机的存储器采用哈佛(harvard) 结构2) 在芯片引脚上,大部分采用分时复用技术3) 在内部资源访问上,采用特殊功能寄存器(sfr)的形式4) 在指令系统上,采用面向控制的指令系统5) 内部一般都集成一个全双工的串行接口6) 单片机有很强的外部扩展能力12. 指明单片机的主要应用领域。答:单机应用: 1) 工业自动化控制;2) 智能仪器仪表; 3) 计算机外部设备和智能接口;4) 家用电器多机应用:功能弥散系统、并行多机处理系统和局部网络系统。第二章:1. mcs-51单片机由哪几个部分组成?答:mcs-51 单片机主要由以下部分组成的:时钟电路、 中央处理
8、器 (cpu)、存储器系统 (ram 和 rom)、定时 / 计数器、并行接口、串行接口、中断系统及一些特殊功能寄存器(sfr。)2. mcs-51 的标志寄存器有多少位,各位的含义是什么? 答: mcs-51 的标志寄存器 psw有 8 位;含义如下:c(psw.7:) 进位或借位标志位。ac(psw.6:) f0(psw.5:)辅助进位或借位可标志位。用户标志位。是系统预留给用户自己定义的标志位。rs1、rs0(psw.4、psw.3):寄存器组选择位。可用软件置位或清零,用于从四组工作寄存器中选定当前的工作寄存器组。ov(psw.2:) 溢出标志位。在加法或减法运算时,如运算的结果超出8
9、 位二进制数的范围,则ov 置 1,标志溢出,否则 ov 清零。p(psw.0:) 奇偶标志位。用于记录指令执行后累加器a 中 1 的个数的奇偶性。若累加器a 中 1 的个数为奇数,则p置位,若累加器 a 中 1 的个数为偶数,则p 清零。其中 psw.1未定义,可供用户使用。3. 在8051 的存储器结构中,内部数据存储器可分为几个区域?各有什么特点? 答:片内数据存储器按功能可以分成以下几个部分:工作寄存器组区、位寻址区、一般 ram区和特殊功能寄存器区,其中还包含堆栈区。工作寄存器组区,00h1fh单元,可用 r0 r7 等8 个寄存器访问;位寻址区,20h 2fh单元,可按位方式访问;
10、一般 ram区, 30h 7fh单元;堆栈区,可从 08 到7f 单元;特殊功能寄存器区位于 80h ffh 单元。4. 什么是堆栈?说明mcs-51 单片机的堆栈处理过程。答:堆栈是按先入后出、后入先出的原则进行管理的一段存储区域。cs-51 单片机的堆栈是向上生长型的,存入数据是从地址低端向高端延伸,取出数据是从地址高端向低端延伸。入栈和出栈数据是以字节为单位的。入栈时,sp 指针的内容先自动加 1,然后再把数据存入到sp 指针指向的单元;出栈时,先把sp 指针指向单元的数据取出,然后再把sp 指针的内容自动减1。5. 简述内部 rom 的工作寄存器组情况,系统默认是第几组?答: 51 单
11、片机有 4 组工作寄存器,每组8 个,用寄存器 r0r7 表示,标志寄存器psw 的 rs1、rs03 两位用于从四组工作寄存器中选定当前的工作寄存器组,默认是第 0 组。6. 51 单片机的程序存储器64kb 空间在使用时有那几个特殊地址?答: 51 单片机程序存储器的64kb 存储空间使用时有7 个特殊的地址,第一个是0000h,它是系统的复位地址,51 单片机复位后 pc 的值为 0000h,复位后从 0000h 单元开始执行程序,由于后面几个地址的原因,用户程序一般不直接从0000h 单元开始存放,而是放于后面,通过在0000h 单元放一条绝对转移指令转到后面的用户程序。后面 6 个为
12、 6 个中断源的入口地址,51 单片机中断响应后,系统会自动的转移到相应中断入口地址去执行程序。7. 简述什么是 51 单片机的特殊功能寄存器?答:特殊功能寄存器 (sfr也) 称为专用寄存器,专门用于控制、管理片内算术逻辑部件、并行 i/o接口、串行口、定时 / 计数器、中断系统等功能模块的工作。用户在编程时可以给其设定值,但不能移作他用。sfr 分布在 80h 0ffh 的地址空间, 与片内随机存储块统一编址。除pc 外, 51 子系列有 18 个特殊功能寄存器,其中3个为双字节,共占用21 个字节; 52 子系列有 21 个特殊寄存器,其中5 个为双字节,共占用 26 个字节。8. mc
13、s-51 单片机有多少根 i/o 线?它们和单片机的外部总线有什么关系?答: mcs-51 单片机有 32 根 i/o 线,由 p0 口经地址锁存器提供低8 位(a7 a0),p2 口提供高 8 位(a15 a8)而形成。数据总线宽度为8 位,由 p0 口直接提供。控制总线由第二功能状态下的p3 口和 4 根独立的控制线 rst、ea、ale 和psen 组成。9. 简述 psen、 ea 、 rst 和 ale 引脚的功能。答: ale:地址锁存信号输出端。ale 在每个机器周期内输出两个脉冲。下降沿用于控制锁存 p0 输出的低 8 位地址。psen :片外程序存储器读选通信号输出端,低电平
14、有效。在从外部程序存储器读取指令或常数期间,该信号有效。 rst:复位信号。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机回复到初始状态。ea :片外程序存储器选用端。该引脚为低电平时,选用片外程序存储器,高电平或悬空时选用片内程序存储器。10. 什么是机器周期?什么是指令周期?mcs 有效。 -51 单片机的一个机器周期包括多少个时钟周期?答:机器周期:机器周期是单片机的基本操作周期,每个机器周期包含s1、s2、s66 个状态,每个状态包含两拍p1 和 p2,每一拍为一个时钟周期(振荡周期 )。因此,一个机器周期包含12 个时钟周期。11. 复位的作用
15、是什么? 51 单片机复位有几种方式?答:复位使单片机回复到初始状态。在时钟电路工作以后,当外部电路使得rst端出现两个机器周期 (24 个时钟周期 )以上的高电平,系统内部复位。复位有两种方式:上电复位和按钮复位,12. 时钟周期的频率为 6mhz,机器周期和 ale信号的频率为多少? 答: 2mhz第三章:1. 在 mcs-51 单片机中, 寻址方式有几种?其中对片内ram 可以用哪几种寻址方式?对片外ram 可以用哪几种寻址方式?答:寻址方式可分为数的寻址和指令寻址,数的寻址有:常数寻址(立即寻址)、寄存器数寻址(寄存器寻址) 、存储器数寻址 (直接寻址方式、 寄存器间接寻址方式、变址寻
16、址方式) 和位寻址, 指令的寻址有绝对寻址和相对寻址。片内 ram 寻址有:寄存器寻址、直接寻址方式和寄存器间接寻址方式。片外ram 寻址有:寄存器间接寻址方式。2. 在对片外ram 单元寻址中,用 ri 间接寻址与用 dptr间接寻址有什么区别?答:片外数据存储器寻址中,用ri 间接寻址只能访问低端的256 字节单元,而用 dptr作指针间接访问可访问整个64k 字节。3. 在位处理中,位地址的表示方式有哪几种?答: 1直接位地址( 00h0ffh)。例如: 20h 2字节地址带位号。例如:20h.3 表示 20h 单元的 3 位。3. 特殊功能寄存器名带位号。例如:p0.1 表示 p0 口
17、的 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,30h mov r0, #50h movx r0, a( 4)片内 ram 的 50h 单元内容送到片外ram 的 3000h 单元中。mov a, 50hmov dptr, #3000h movx dptr,a( 5)片外 r
18、am 的 2000h 单元内容送到片内ram 的 20h 单元中。mov dptr, #2000h movx a, dptr mov 20h, a( 6)片外 ram 的 1000h 单元内容送到片外ram 的 4000h 单元中。mov dptr, #1000h movx a, dptrmov dptr, #4000h mov dptr,a( 7) rom 的 1000h 单元内容送到片内ram 的 50h 单元中。mov a,#0mov dptr, #1000h movc a, a+dptr mov 50h, a( 8) rom 的 1000h 单元内容送到片外ram 的 1000h 单元
19、中。mov a,#0mov dptr, #1000h movc a, a+dptr movx 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
20、字节,后者源操作数访问片外数据存储器整个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=20h mov a,r0; a=40h mov r1, a; r1=40h mov a,r1; a=10hmov r0,p1;( 40h) =0cah mov p2, p1
21、; p2=0cah mov 10h,a ;( 10h) =10h mov 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)
22、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等于
23、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=03h orl 17h, a ;(17h) =37h xrl a,r0 ; a=34h cpl a ; a=cbh结
24、果: a=cbh,(r0) =17h,( 17h)=37h 10写出完成下列要求的指令。( 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程序存储器的任意位置,缺点是:执行
25、时间长,字节数多。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.0 orl c,/p1.3 mo
26、v p1.4 , c的逻辑功能。程序: mov c, p1.1 orl c, p1.2 anl c,14. 下列程序段汇编后,从1000h 单元开始的单元内容是什么?org 1000htab: db 12h,34h ds 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
27、、22h 中。程序:mov r0,#20h mov r2,#03hloop: mov a, r0 movx r0, ainc r0djnz r2, loop sjmp $16. 编程实现将片外ram 的 2000h2030h 单元的内容,全部搬到片内ram 的 20h 单元开始位置,并将源位置清零。程序:mov r0,#20hmov dptr,#2000h mov r2, #31hloop: movx a,dptr mov r0, a mov a, #00 movx dptr, a inc dptr inc r0djnz r2, loop sjmp $17. 编程将片外 ram 的 1000h
28、 单元开始的 100 个字节数据相加,结果放于r7r6 中。程序:mov dptr,#1000h mov r2,#100mov r7,#00 mov r6,#00loop: movx a,dptradd a, r6 mov r6,a mov a,r7 addc a, #0 mov r7,a inc dptrdjnz r2, loop sjmp $18. 编程实现,结果放于 r7r6r5 中。程序:org 0100h mul1: mov a, r2 mov b, r3mul ab;,结果的低字节直接存入积的r5 mov r5,a;结果的高字节存入r6 中暂存起来 mov r6, bmul2: m
29、ov a, r2 mov b, r4mul ab;,结果的低字节与r6 相加后,再存入 r6 中 add a, r6 mov r6, a mov a, b;结果的高字节加上进位位后存入r7 中 addc a, #00 mov r7,a sjmp $19. 编程实现把片内ram 的 20h 单元的 0 位、1 位, 21h 单元的 2 位、 3 位, 22h 单元的 4 位、5 位, 23h 单元的 6位、 7 位,按原位置关系拼装在一起放于r2 中。程序:mov c, 20h.0 mov a.0, c mov c, 20h.1 mov a.1, c mov c, 21h.2 mov a.2,
30、c mov c, 21h.3 mov a.3, cmov c, 22h.4 mov a.4, c mov c, 22h.5 mov a.5, c mov c, 23h.6 mov a.6, c mov c, 23h.7 mov a.7, c mov r2,a20. 用查表的方法实现一位十六进制数转换成asci。i程序:(设一位十六进制数放在r2 中,轮换的ascii也放于 r2 中)c16stas:c mov dptr, #tab mov a,r2movc a,a+dptr mov r2,arettab: db30h, 31h,32h, 33h, 34h,35h, 36h, 37hdb38h,
31、 391h, 41h, 42h, 43h,44h, 45h, 46h21. 编程统计从片外ram2000h 开始的 100 个单元中“ 0”的个数放于r2 中。程序:mov dptr,#2000h mov r3,#100 mov r2,#00loop: movx a,dptrjnznextincr2 next:incdptrdjnz r3,loopsjmp$第四章:1. c51 特有的数据类型有哪些?答: c51 特有的数据类型有特殊功能寄存器型和位类型。2. c51中的存储器类型有几种, 它们分别表示的存储器区域是什么?答:c51中的存储器类型有 6 种,分别如下: data : 直接寻址的
32、片内 ram 低 128b,访问速度快bdata :片内 ram 的可位寻址区 (20h 2fh),允许字节和位混合访问idata :间接寻址访问的片内ram,允许访问全部片内 ram pdata:用 ri 间接访问的片外ram 低 256bxdata :用 dptr间接访问的片外 ram,允许访问全部 64kb 片外 ram code:程序存储器 rom 64kb空间3. 在 c51 中, bit 位与 sbit 位有什么区别?答: bit 位类型符用于定义一般的位变量。存储器类型只能是bdata 、data 、idata,只能是片内 ram 的可位寻址区, 严格来说只能是 bdata 。s
33、bit 位类型符用于定义在可位寻址字节或特殊功能寄存器中的位,定义时需指明其位地址,可以是位直接地址,可以是可位寻址变量带位号,也可以是特殊功能寄存器名带位号。4. 位变量和特殊功能寄存器变量有什么作用?答:特殊功能寄存器变量是c51 中特有的一种变量。通过特殊功能寄存器变量可访问mcs-51 系列单片机的特殊功能寄存器。访问时需通过sfr 或 sfr16 类型说明符进行定义,定义时需指明它们所对应的特殊功能寄存器的地址。位变量也是 c51 中的一种特有变量。通过位变量可访问mcs-51 系列单片机的可位寻址位。使用时需用位类型符进行定义。位类型符有两个:bit 和 sbit。可以定义两种位变
34、量。5. 在 c51 中,通过绝对地址来访问的存储器有几种?答:通过绝对地址来访问存储器有三种方法:1. 使用 c51 运行库中预定义宏。 2. 通过指针访问。 3. 使用 c51 扩展关键字 _at_6. 什么是存储模式,存储模式和存储器类型有什么关系?答: c51 中有三种存储模式: small模式、 compact模式和 large模式。不同的存储模式对变量默认的存储器类型不一样。(1) small模式。 small模式称为小编译模式,在small模式下,编译时变量被默认在片内ram 中,存储器类型为data 。(2) compact模式。compact模式称为紧凑编译模式, 在 com
35、pact模式下,编译时变量被默认在片外ram 的低 256b空间,存储器类型为pdata 。(3) large模式。 large模式称为大编译模式,在large模式下,编译时变量被默认在片外ram 的 64b 空间,存储器类型为 xdata 。在程序中变量存储模式的指定通过#pragma 预处理命令来实现。如果没有指定,则系统都隐含为small模式。7. 在 c51 中,修饰符 using n 有什么作用?答: using n 修饰符,用于指定本函数内部使用的工作寄存器组,其中n 的取值为 03,表示寄存器组号。8. 在 c51 中,中断函数与一般函数有什么不同?答:中断函数在定义时后面带in
36、terrupt m修饰符, m 的取值为 0 31,对应的中断情况如下:0外部中断 0, 1定时 /计数器 t0, 2外部中断 1,3定时 / 计数器 t1, 4串行口中断, 5定时 / 计数器 t2,其他值预留。编写 mcs-51 中断函数需要注意如下几点。(1) 中断函数不能进行参数传递,如果中断函数中包含任何参数声明都将导致编译出错。(2) 中断函数没有返回值。(3) 在任何情况下都不能直接调用中断函数(4) 如果在中断函数中调用了其他函数,则被调用函数所使用的寄存器必须与中断函数相同,否则会产生不正确的结果。(5) c51 编译器对中断函数编译时会自动在程序开始和结束处加上相应的内容。
37、(6) c51 编译器从绝对地址8m+3 处产生一个中断向量,其中m 为中断号,也即interrupt后面的数字。该向量包含一个到中断函数入口地址的绝对跳转。(7) 中断函数最好写在文件的尾部,并且禁止使用extern 存储类型说明。防止其他程序调用。9. 按给定的存储类型和数据类型,写出下列变量的说明形式。(1) 在 data 区定义字符变量 val1。char data val1;(2) 在 idata 区定义整型变量 val2。int idata val2;(3) 在 xdata 区定义无符号字符型数组val34。 unsigned char xdata val34;(4) 在 xdat
38、a 区定义一个指向char 类型的指针 px。 char xdata *px;(5) 定义可寻址位变量flag 。 bit flag;(6) 定义特殊功能寄存器变量p3 。 sfr p3=0xa0;(7) 定义特殊功能寄存器变量scon。 sfr scon=0x98;(8) 定义 16 位的特殊功能寄存器t0。 sfr16 t0=0x8a;第七章:1. 何为“准双向 i/o 接口”?在mcs-51 单片机的四个并口中,哪些是“准双向i/o 接口”?答: 准双向 i/o 接口是能实现输入输出功能,但在使用时只能从输入和输出中选择一个。mcs-51单片机的四个并口中 p1、p2、p3 是准双向 i
39、/o 接口。2. 80c51 单片机内部有几个定时/ 计数器?它们由哪些功能寄存器组成?怎样实现定时功能和计数功能?答: 80c51 单片机内部有两个16 位的可编程定时/计数器,由 th0,tl0,th1,tl1,tmod和 tcon功能寄存器组成。通过 tmod 中的 c/t 位选择对机器周期计数实现计数功能,选择对外部脉冲计数实现计数功能。3. 定时 / 计数器 t0 有几种工作方式?各自的特点是什么?答:有四种工作方式,特点见下表:m1m0工作方式方式说明00013 位定时 / 计数器01116 位定时 / 计数器1028 位自动重置定时 / 计数器113两个 8 位定时 / 计数器(
40、只有 t0 有)4. 定时 / 计数器的四种工作方式各自的计数范围是多少?如果要计100 个单位,不同的方式初值应为多少?答:有四种方式。方式0 计数范围: 18192;方式 1 计数范围: 165536;方式 2 计数范围: 1256;方式 3 计数范围: 1256。如果计 100 个单位,方式 0 初值为:8192-100=8092;方式 1 初值为:65536-100=65436;方式 2 初值为:256-100=156; 方式 2 初值为: 256-100=156。5. 设振荡频率为 6mhz ,如果用定时 / 计数器 t0 产生周期为 10ms 的方波, 可以选择哪几种方式, 其初值
41、分别设为多少?答:只能选择方式1,初值为 65536-10000=55536。6. 何为同步通信?何为异步通信?各自的特点是什么?答:异步通信方式的特点是数据在线路上传送时是以一个字符(字节 )为单位,未传送时线路处于空闲状态,空闲线路约定为高电平“ 1”。特点是对发送时钟和接收时钟的要求相对不高,线路简单,但传送速度较慢。同步通信方式的特点是数据在线路上传送时以字符块为单位,一次传送多个字符,传送时须在前面加上一个或两个同步字符, 后面加上校验字符。 特点是对发送时钟和接收时钟要求较高,往往用同一个时钟源控制,控制线路复杂, 传送速度快。7. 单工、半双工和全双工有什么区别?答:单工方式只有
42、一根数据线,信息只能单向传送;半双工方式也只有一根数据线,但信息可以分时双向传送;全双工方式有两根数据线,在同一个时刻能够实现数据双向传送。8. 设某异步通信接口,每帧信息格式为10 位,当接口每秒传送1000 个字符时,其波特率为多少? 答: 10000 波特9. 串行口数据寄存器sbuf有什么特点?答:发送数据寄存器和接收数据寄存器合起用一个特殊功能寄存器sbuf(串行口数据寄存器),执行 mov sbuf,a发送时为发送数据寄存器,执行mov a, sbuf接收时为接收数据寄存器。10. mcs-51 单片机串行口有几种工作方式?各自特点是什么?答:有四种工作方式,分别是方式0、方式 1
43、、方式 2 和方式 3。其中:方式 0,称为同步移位寄存器方式,一般用于外接移位寄存器芯片扩展i/o 接口。 方式 1,称为 8 位的异步通信方式,通常用于双机通信。方式 2 和方式 3,称为 9 位的异步通信方式,通常用于多机通信。11. 说明 sm2 在方式 2 和方式 3 对数据接收有何影响。答:通过 sm2 对方式 2 和方式 3 数据接收进行控制, sm2=1,那么只有接收的第9 位为“ 1”才接收有效。 如 sm2=0,接收的第 9 位无论为 1 还是 0 都接收有效。12. 怎样来实现利用串行口扩展并行输入/输出口?答:利用串行口在方式0 时,当外接一个串入并出的移位寄存器,就可
44、以扩展并行输出口;当外接一个并入串出的移位寄存器时,就可以扩展并行输入口。13. 什么是中断、中断允许和中断屏蔽?答:在计算机中,由于计算机内外部的原因或软硬件的原因,使cpu 从当前正在执行的程序中暂停下来,而自动转去执行预先安排好的为处理该原因所对应的服务程序。执行完服务程序后,再返回被暂停的位置继续执行原来的程序,这个过程称为中断, 实现中断的硬件系统和软件系统称为中断系统。中断允许是允许中断请求送cpu产生中断, 中断屏蔽是禁止中断请求信号送cpu产生中断。14. 8051 有几个中断源?中断请求如何提出?答: mcs-51 单片机提供 5 个硬件中断源:两个外部中断源int0(p3.
45、2)和 int1(p3.3),两个定时 / 计数器 t0 和 t1 中断; 1 个串行口中断。外部中断源 int0 和 int1 的中断请求信号从外部引脚p3.2 和 p3.3 输入;两个定时 / 计数器 t0 和 t1 的溢出中断 tf0和 tf1 定时/ 计数器 t0(或 t1)溢出时提出;串行口中断由发送中断标志t1 和接收中断标志r1 产生。15. 8051 的中断源中,哪些中断请求信号在中断响应时可以自动清除?哪些不能自动清除?应如何处理?答:工作在边沿触发方式下的两个外部中断源和两个定时/ 计数器中断中断请求信号在中断响应时可以自动清除, 工作在电平触发方式下的两个外部中断源和串行
46、口中断不能自动清除。工作在电平触发方式下的两个外部中断源的中断请求信号通过外加硬件和加软件的方式清除,串行口中断标志t1 和标志 r1 完全由软件清除。16. 8051 的中断优先级有几级?在形成中断嵌套时各级有何规定?答: 8051 的中断优先级有两级;形成中断嵌套时规定(1) 正在进行的中断过程不能被新的同级或低优先级的中断请求所中断,直到该中断服务程序结束,返回了主程序且执行了主程序中的一条指令后,cpu 才响应新的中断请求。(2) 正在进行的低优先级中断服务程序能被高优先级中断请求所中断,实现两级中断嵌套。(3) cpu同时接收到几个中断请求时,首先响应优先级最高的中断请求。17. 设
47、 8051 的 p1 中各位接发光二极管,分别用汇编语言和c 语言编程实现逐个轮流点亮二极管,并循环显示。参考程序:org 0000h ljmp mainorg 0100h;主程序main : mov a, #01h loop: mov p1, a call delay rl a sjmp loop sjmp $delay: mov r7,#0ffhdjnz r,7 $ retend c语言程序:#include<reg51.h>/ 包含特殊功能寄存器库void delay(unsignedint x); void main() unsigned char i,j; while(1
48、) i=01;for (j=0;j<8;j+)p1=i;delay(100); i=i*2; void delay(unsignedint x) unsigned char j; while(x-)for (j=0;j<125;j+); 18. 8051 系统中,已知振荡频率为12mhz ,用定时 / 计数器 t0,实现从 p1.0 产生周期为 2ms 的方波。要求分别用汇编语言和 c 语言进行编程。解:分析:从 p1.0 输出周期为2ms 的方波,只须 p1.0 每 1ms 取反一次则可。当系统时钟为12mhz,定时 /计数器t0 工作于方式 1 时,最大的定时时间为 65.53
49、6ms,满足 1ms 的定时要求, 方式控制字应设定为00000001b( 01h)。定时 1ms,计数值 n 为 1000 ,初值 x=65536-1000=64536,则 th0=fch, tl0=18h。采用中断处理方式:程序如下:org 0000h ljmp mainorg 000bh;中断处理程序 mov th0,#0fch mov tl0, #18h cpl p1.0 retiorg 0100h;主程序main : mov tmod, #01hmov th0, #0fch mov tl0,#18hsetb ea setb et0 setb tr0 sjmp $ endc 语言程序:
50、#include<reg51.h>/ 包含特殊功能寄存器库sbit p1_0=p10; void main() tmod=0x01;th0=0xfc;tl0=0x18; ea=1;et0=1; tr0=1; while(1);void time0_int(void)interrupt 1/ 中断服务程序 th0=0xfc;tl0=0x18; p1_0=!p1_0; 19. 8051 系统中,已知振荡频率为6mhz ,用定时 /计数器 t1,实现从 p1.1 产生周期为 2s 的方波。要求分别用汇编语言和 c 语言进行编程。解:从 p1.1 产生 2s 的方波,应产生 500ms 的
51、周期性的定时,定时到对p1.1 取反就可实现。由于定时时间较长,一个定时/ 计数器 t1 不能直接实现,采用定时/计数器 t1 产生周期性为 10ms 的定时,然后用一个寄存器r2 对 10ms 计数100 次来实现。系统时钟为12mhz,定时 / 计数器 t1 定时 10ms,计数值 n 为 10000,只能选方式1,方式控制字为00010000b(10h),初值 x:x=65536-10000=55536=1101100011110000b则 th1=11011000b=d8h, tl1=11110000b=f0h。 定时/ 计数器 t1 采用中断处理方式。汇编程序:org 0000h l
52、jmp main org 001bh ljmp intt1 org 0100hmain : mov tmod, #10hmov th1, #0d8h mov tl1,#0f0h mov r2, #00h setb easetb et1setb tr1 sjmp $intt1: mov th1, #0d8hmov tl1,#0f0h inc r2cjne r2, #64h, next cpl p1.1mov r2, #00h next: reti endc 语言程序:#include<reg51.h> / 包含特殊功能寄存器库sbit p1_1=p11; char i; void main() tmod=0x10;th1=0xd8;tl1=0xf0; ea=1;et1=1; i=0; tr1=1; while(1); void time0_int(void)interrupt 3/ 中断服务程序 th1=0xd8;tl1=0xf0; i+;if (i= =100)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年专用版文化艺术品版权保护与授权合同
- 专业产品开发服务协议2024年版
- 2025年度餐饮行业厨师创新研发劳动合同3篇
- 2024年版软件购销协议模板细则版B版
- 2024年采购供需协议
- 2025年度草原防火与应急管理服务合同3篇
- 2024年门窗安装工程劳务派遣合同
- 2025年度智慧城市O2O综合服务战略合作协议书3篇
- 中医基本知识培训课件
- 白酒知识线上培训课件
- 建筑垃圾清理运输服务方案
- 中国新茶饮行业政策、市场规模及投资前景研究报告(智研咨询发布)
- 哈尔滨 研学课程设计
- 护士人文素养授课护理
- PowerPoint使用详解课件
- 2024年保密知识教育考试试题试卷附答案(突破训练)
- 发热的诊断和治疗(急诊医学课件)
- 贵州省遵义市2023-2024学年九年级上学期期末学业水平监测英语试卷
- 系统迁移方案
- 房屋租赁管理条例2024年
- 《文献检索与论文写作》教学大纲思政版
评论
0/150
提交评论