搜档网
当前位置:搜档网 › 单片机原理及应用第二版课后习题答案

单片机原理及应用第二版课后习题答案

单片机原理及应用第二版课后习题答案
单片机原理及应用第二版课后习题答案

第1章单片机概述参考答案

1.1 答:微控制器,嵌入式控制器

1.2 答:CPU、存储器、I/O口、总线

1.3 答:C

1.4 答:B

1.5 答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。

嵌入式处理器一般意义上讲,是指嵌入系统的单片机、DSP、嵌入式微处理器。目前多把嵌入式处理器多指嵌入式微处理器,例如ARM7、ARM9等。嵌入式微处理器相当于通用计算机中的CPU。与单片机相比,单片机本身(或稍加扩展)就是一个小的计算机系统,可独立运行,具有完整的功能。而嵌入式微处理器仅仅相当于单片机中的中央处理器。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。

1.6 答:MCS-51系列单片机的基本型芯片分别:8031、8051和8071。它们的差别是在片内程序存储器上。8031无片内程序存储器、8051片内有4K字节的程序存储器ROM,而8751片内有集成有4K字节的程序存储器EPROM。

1.7 答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。

1.8 答:相当于MCS-51系列中的87C51,只不过是AT89S51芯片内的4K字节Flash存储器取代了87C51片内的4K字节的EPROM。

1.9 单片机体积小、价格低且易于掌握和普及,很容易嵌入到各种通用目的的系统中,实现各种方式的检测和控制。单片机在嵌入式处理器市场占有率最高,最大特点是价格低,体积小。

DSP是一种非常擅长于高速实现各种数字信号处理运算(如数字滤波、FFT、频谱分析等)的嵌入式处理器。由于对其硬件结构和指令进行了特殊设计,使其能够高速完成各种复杂的数字信号处理算法。广泛地用于通讯、网络通信、数字图像处理,电机控制系统,生物信息识别终端,实时语音压解系统等。这类智能化算法一般都是运算量较大,特别是向量运算、指针线性寻址等较多,而这些正是DSP的长处所在。与单片机相比,DSP具有的实现高速运算的硬件结构及指令和多总线,DSP处理的算法的复杂度和大的数据处理流量以及片内集成的多种功能部件更是单片机不可企及的。

嵌入式微处理器的基础是通用计算机中的CPU,它的地址总线数目较多能扩展较大的存储器空间,所以可配置实时多任务操作系统(RTOS)。RTOS是嵌入式应用软件的基础和开发平台。正由于嵌入式微处理器能运行实时多任务操作系统,所以能够处理复杂的系统管理任务和处理工作。因此,广泛地应用在移动计算平台、媒体手机、工业控制和商业领域(例如,智能工控设备、ATM机等)、电子商务平台、信息家电(机顶盒、数字电视)以及军事上的应用。

1.10 广义上讲,凡是系统中嵌入了“嵌入式处理器”,如单片机、DSP、嵌入式微处理器,都称其为“嵌入式系统”。但多数人把“嵌入”嵌入式微处理器的系统,称为“嵌入式系统”。目前“嵌入式系统”还没有一个严格和权威的定义。目前人们所说的“嵌入式系统”,多指后者。

第2章 AT89S51单片机的硬件结构

1.答:AT89S51单片机的片内都集成了如下功能部件:(1)1个微处理器(CPU);(2)128个数据存储器(RAM)单元;(3)4K Flash程序存储器;(4)4个8位可编程并行I/O口(P0口、P1口、P2口、P3口);(5)1个全双工串行口;(6)2个16位定时器/计数器;(7)1个看门狗定时器;(8)一个中断系统,5个中断源,2个优先级;(9)25个特殊功能寄存器(SFR),(10)1个看门狗定时器。

2.答:当脚为高电平时,单片机读片内程序存储器(4K 字节Flash)中的内容,但在PC值超过0FFFH(即超出4K字节地址范围)时,将自动转向读外部程序存储器内的程序;当脚为低电平时,单片机只对外部程序存储器的地址为0000H~FFFFH中的内容进行读操作,单片机不理会片内的4K 字节的Flash程序存储器。

3.答:2μs

4.答:1个机器周期等于12个时钟振荡周期。

5. 答:64K程序存储器空间中有5个特殊单元分别对应于5个中断源的中断服务程序入口地址,见下表:

表 5个中断源的中断入口地址

入口地址中断源

0003H 外部中断0 ( )000BH 定时器0 (T0)

0013H 外部中断1 ( )001BH 定时器1 (T1)

0023H 串行口

6. 答:28H;88H。

7.答:50H;88H。

8.答:P标志位的值为0。

9.答:(A)错;(B)错;(C)对;(D)对。

10. 答:04H;00H;0组。

11.答:(A) 对;(B) 对;(C) 错;(D) 对。

12. 答:字节地址00H-1FH的单元可作为工作寄存器区。

13.答:(A) 错;(B) 错;(C) 错;(D) 错。

14.答: (C)。

15. 答:PC;PC。

16.答:64K字节。

17.P0口每位可驱动8个LSTTL输入,而P1、P2、P3口的每一位的驱动能力,只有P0口的一半。当P0口的某位为高电平时,可提供400mA的电流;当P0口的某位为低电平(0.45V)时,可提供3.2mA的灌电流,如低电平允许提高,灌电流可相应加大。所以,任何一个口要想获得较大的驱动能力,只能用低电平输出。

18.答:按下复位按钮。

19. 答:(A) 对; (B) 对;(C)错;(D)错。

20. 答:(A) 对; (B) 对;(C)对;(D)错。

第3章 AT89S51的指令系统

1.答:(1)错(2)错(3)对(4)错(5)错(6)错(7)错(8)对(9)错(10)对(11)对(12)错。

2.答:(A)对(B)对(C)错(D)错。

3.答:A,PC,DPTR。

4.答:只能使用直接寻址方式。

5.答:操作码,操作数,操作码。

6. 答:1031H。

7.答:程序,数据。

8.答:地址。

9.答:A的内容与B的内容互换。

10.答:(A)=50H,(SP)=50H,(51H)=30H,(52H)=50H,(PC)=5030H

11.答:(A)ANL A,#87H

(B)ANL A,#0C3H

(C)ORL A,#0CH

12.答:(A)=0CBH。

13.答:(A)=00H,(R3)=0AAH。

14.答:(DPH)=3CH,(DPL)=5FH,(SP)=50H

15.答:(SP)=62H,(61H)=30H,(62H)=70H。

16.答:MOV R7,A

PUSH Acc

MOV A,B

MOVX @DPTR,A

17.答:(D)。

18.答:(C)。

19.答:基本型的51子系列单片机,由于其片内RAM的地址范围为00H—7FH,而80H—FFH 为特殊功能寄存器区,而对特殊功能寄存器寻址,只能使用直接寻址方式。对片内RAM寻址,当使用寄存器间接寻址是采用R0或R1作为间接寻址的,因此R0或R1的内容不能超过7FH。增强型的52子系列单片机,片内RAM的地址范围为00H—FFH,因此作为间接寻址寄存器的R0或R1的内容就不受限制。

第4章 AT89S51汇编语言程序的设计与调试参考答案

1.答:伪指令是程序员发给汇编程序的命令,只有在汇编前的源程序中才有伪指令,即在汇编过程中的用来控制汇编过程的命令。所谓“伪”是体现在汇编后,伪指令没有相应的机器代码产生。常用伪指令及其功能如下:

ORG(ORiGin)汇编起始地址命令;END(END of assembly)汇编终止命令;EQU(EQUate)标号赋值命令;DB(Define Byte)定义数据字节命令;DW(Define Word)定义数据字命令;DS(Define Storage)定义存储区命令;BIT 位定义命令

2.答:

手工汇编:通过查指令的机器代码表(表3-2),逐个把助记符指令“翻译”成机器代码,再进行调试和运行。这种人工查表“翻译”指令的方法称为“手工汇编”。

机器汇编:借助于微型计算机上的软件(汇编程序)来代替手工汇编。通过在微机上运行汇编程序,把汇编语言源程序翻译成机器代码。

反汇编:将二进制的机器码程序翻译成汇编语言源程序的过程称为“反汇编”。

3.答:从1000H开始的各有关存储单元的内容(16进制)如下:

4D 41 49 4E 12 34 30 00

00 70 78 7F E4 F6 D8 FD

75 81 07 02

4.在编写子程序时应注意以下问题:

(1)子程序的第一条指令前必须有标号。

(2)主程序调用子程序,有如下两条子程序调用指令:

①绝对调用指令ACALL addr11。被调用的子程序的首地址与绝对调用指令的下一条指令的高5位地址相同,即只能在同一个2KB区内。

②长调用指令LCALL addr16。addr16为直接调用的目的地址,被调用的子程序可放置在64KB 程序存储器区的任意位置。

(3)子程序结构中必须用到堆栈,用来保护断点和现场保护。

(4)子程序返回时,必须以RET指令结束。

(5)子程序可以嵌套,但要注意堆栈的冲突。

5.答:参考程序如下:

MOV A,45H

ANL A,#0FH

ORL A,#0FH

MOV 45H,A

6.答:A=80H ,SP=40H,(41H)=50H,(42H)=80H ,PC=8050H

7.答:参考程序如下:

START: MOV R0,#30H

MOV R2,#20H

LOOP: MOV A,@R0

CJNE A,#0AAH,NEXT

MOV 51H,#01H

LJMP EXIT

NEXT: INC R0

DJNZ R2,LOOP

MOV 51H,#00H

EXIT: RET

8.答:参考程序如下:

START: MOV 41H,#0

MOV R0,#20H

MOV R2,#20H

LOOP:MOV A,@R0

JNZ NEXT

INC 41H

NEXT:INC R0

DJNZ R2,LOOP

RET

9.答:参考程序如下:

ORG 0100H

MOV R2, #20H 要比较的数据字节数

MOV A , #21H

MOV R1 , A

DEC R2

MOV A , @R1

LOOP: MOV R3,A

DEC R1

CLR C

SUBB A,@R1

JNC LOOP1

MOV A,@R1

SJMP LOOP2

LOOP1: MOV A,R3

LOOP2: DJNZ R2, LOOP

MOV @R0,A

RET

10.答:

(1)SP=SP+1=61H (61H)=PC的低字节=03H

SP=SP+1=62H (62H)=PC的高字节=20H

(2)PC=3456H

(3)可以

(4)2KB=2048 Byte

11.答:可对程序做如下修改:

ORG 0100H

DEL: MOV R7, #200

DEL1: MOV R6, #123 ; 将原来的立即数125改为123

DEL2: DJNZ R6, DEL2

NOP ; 增加的指令

DJNZ R7, DEL1

RET

程序修改后的延时时间为:1+(1+123*2+1+2)*200+2=50003us=50.003ms

第5章 AT89S51的中断系统

参考答案

1.答:0013H;001BH

2.答:串行口中断; 外部中断1

3.答:RETI指令在返回的同时清除相应的优先级触发器,以允许下次中断,而RET指令则没有这个操作。除了这一点两条指令不同外,其它操作都相同。

4.答:D

5.答:在一个单一中断的系统里,AT89S51单片机对外部中断请求的响应时间总是在3~8个机器周期之间。

在下述三种情况下,AT89S51将推迟对外部中断请求的响应:

(1)AT89S51正在处理同级或更高优先级的中断。

(2)所查询的机器周期不是当前正在执行指令的最后一个机器周期。

(3)正在执行的指令是RETI或是访问IE或IP的指令。

如果存在上述三种情况之一,AT89S51将丢弃中断查询结果,将推迟对外部中断请求的响应。6.答:D

7.答:PC、PC、程序存储器

8.答: 参考程序段如下:

SETB IT1

SETB EX1

SETB EA

9.答:(A)

10.答:一个中断源的中断请求被响应,必须满足以下必要条件:

(1)总中断允许开关接通,即IE寄存器中的中断总允许位EA=1。

(2)该中断源发出中断请求,即该中断源对应的中断请求标志为“1”。

(3)该中断源的中断允许位=1,即该中断被允许。

(4)无同级或更高级中断正在被服务。

11.答:(A)、(C)、(D)

12.答:参见电路如图5-10,参考程序如下:

ORG 0000H

LJMP MAIN

ORG 0013H

LJMP INT_EX1

ORG 0030H

MAIN: CLR IT0 ;采用电平触发,低电平有效中断

SETB EX1 ;允许外部中断1

SETB EA

;插入一段用户程序

WAIT: MOV PCON,#01H ;单片机进入休眠方式等待中断

NOP

LJMP WAIT ;以下为外部中断1服务子程序

INT_EX1:JB P1.2,NEXT1 ;判断是不是3号中断

LJMP INT_IR3 ;跳转到3号中断处理程序

NEXT1: JB P1.1,NEXT2 ;判断是不是2号中断

LJMP INT_IR2 ;跳转到2号中断处理程序

NEXT2: LJMP INT_IR1 ;跳转到1号中断处理程序

ORG 1000H

INT_IR3: 相应中断处理程序

RETI ;中断返回

ORG 1100H

INT_IR2: 相应中断处理程序

RETI ;中断返回

ORG 1200H

INT_IR1: 相应中断处理程序

RETI ;中断返回

第6章 AT89S51的定时/计数器

参考答案

1.答:(A)对;(B)错;(C)错;(D)错;

2.答:因为机器周期:

所以定时器/计数器工作方式0下,其最大定时时间为

同样可以求得方式1下的最大定时时间为262.144ms;方式2下的最大定时时间为1024ms。

3.答:定时/计数器作定时时,其计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。

定时时间与时钟频率和定时初值有关。

4.答:由于确认1次负跳变要花2个机器周期,即24个振荡周期,因此外部输入的计数脉

冲的最高频率为系统振荡器频率的1/24。

5.答:定时器/计数器T0在计数和定时工作完成后,均采用中断方式工作。除了第一次计数

工作方式设置在主程序完成外,后面的定时或计数工作方式分别在中断程序完成,用一标志

位识别下一轮定时器/计数器T0的工作方式。参考程序如下:

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP IT0P

MAIN:

MOV TMOD,#06H;定时器/计数器T0为计数方式2

MOV TL0,#156;计数100个脉冲的初值赋值

MOV TH0,#156

SETB GATE;打开计数门

SETB TR0;启动T0,开始计数

SETB ET0;允许T0中断

SETB EA;CPU开中断

CLR F0;设置下一轮为定时方式的标志位

WAIT: AJMP WAIT

IT0P: CLR EA;CPU关中断

JB F0,COUNT;F0=1,转计数方式设置

MOV TMOD,#00H ;定时器/计数器T0为定时方式0

MOV TH0,#0FEH ;定时1ms初值赋值

MOV TL0,#0CH

SETB EA

RETI

COUNT: MOV TMOD,#06H

MOV TL0,#156

SETB EA

RETI

6. 答:定时器/计数器的工作方式2具有自动恢复初值的特点,适用于精确定时,比如波特

率的产生。

7. 答:根据题意,从P1.0输出的矩形脉冲的高低电平的时间为10:1,则高低电平的时间分

别为363.63μs和36.37μs。如果系统采用6MHz晶振的话,T cy=2μs,因此高低电平输出取整,则约为364μs和36μs。参考程序如下:

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP IT0P

MAIN: MOV TMOD,#02H ;定时器/计数器T0为定时方式2

MOV TL0,#4AH ;定时364μs初值赋值

SETB TR0 ;启动T0,开始计数

SETB ET0 ;允许T0中断

SETB EA ;CPU开中断

SETB P1.0

WAIT:AJMP WAIT

IT0P:CLR EA

CLR P1.0 ;关中断

MOV R0,#9

DLY:DJNZ R0,DLY ;延时36μs

MOV TL0,#4AH ;定时364μs初值赋值

SETB P1.0

SETB EA

RETI

8. 答:方法1,在第一个定时器的中断程序里关闭本定时器的中断程序,设置和打开另一个定时器;在另一个定时器的中断程序中关闭本定时中断,设置和打开另一个定时器。这种方式的定时时间为两个定时器定时时间的和。

方法2,一个作为定时器,在定时中断后产生一个外部计数脉冲(比如由P1.0接产生),另一个定时器工作在计数方式。这样两个定时器的定时时间为一个定时器的定时时间乘以另一个定时器的计数值。

9. 答:由T1(P3.5)口控制定时器T1的启动和关闭。

10. 答:采用方式1定时工作方式。最大脉冲宽度为131.072ms。

11. 答:将P1.1的输入脉冲接入INT0,即使用T0计数器完成对P1.1口的脉冲计数。参考程序如下:

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP IT0P

MAIN: JNB P1.0,MAIN

MOV TMOD,#05H ;定时器/计数器T0为计数方式1

SETB TR0 ;启动T0,开始计数

SETB ET0 ;允许T0中断

SETB EA ;CPU开中断

WAIT: JB P1.2,WAIT

CLR EA

CLR TR0

MOV R1,TH0

MOV R0,TL0

AJMP $

IT0P: INC R2

RETI

12. 答:THx与TLx (x=0,1)是由特殊功能寄存器构成的计数器,其内容可以随时用指令更改,

更改后的新值是立即刷新。但在读THx、TLx的值时,应该先读THx值,后读TLx,再读THx。

若两次读得THx相同,则可确定读得的内容正确。若前后两次读得的THx有变化,再重复上

述过程。

第7章 AT89S51的串行口

参考答案

1.答:方式1。

2.答:相等的。

3.答:A.对;B.对;C.错;D.对;E.对。

4.答:C

5.答:C

6.答:当接收方检测到RXD端从1到0的跳变时就启动检测器,接收的值是3次连续采样,

取其中2次相同的值,以确认是否是真正的起始位的开始,这样能较好地消除干扰引起的影

响,以保证可靠无误的开始接受数据。

7.答:串行口有4种工作方式:方式0、方式1、方式2、方式3;有3种帧格式,方式2

和3具有相同的帧格式;方式0的发送和接收都以fosc/12为固定波特率,

方式1的波特率=2SMOD/32×定时器T1的溢出率

方式2的波特率=2SMOD/64×fosc

方式3的波特率=2SMOD/32×定时器T1的溢出率

8.答:字符“B”的ASCII码为“42H”,帧格式如下:

9.答:因为定时器/计数器在方式 2 下,初值可以自动重装,这样在做串口波特率发生器设置时,就避免了执行重装参数的指令

所带来的时间误差。

设定时器T1方式2的初值为X,计算初值X可采用如下公式:

波特率 =

10.答:经计算,计数初值为FAH,初始化程序如下:

ANL TMOD,#0F0H ;屏蔽高4位

ORL TMOD,#20H ;控制字

MOV TH1,#0FAH ;写入计数初值

MOV TL1,#0FAH

MOV SCON,#40H

11.答:见7.3节的介绍。

12.答:见7.5.3小节的介绍

13.答:串口每秒钟传送的字符为:1800/60=30个字符/秒

所以波特率为:30个字符/秒×10位/个字符=300b/s

14.答:串行口的方式0为同步移位寄存器输入输出方式,常用于外接移位寄存器,以扩展

并行I/O口,一般不用于两个MCS-51之间的串行通信。该方式以fosc/12的固定波特率从低

为位到高位发送或接受数据。

15.答:直接以TTL电平串行传输数据的方式的缺点是传输距离短,抗干扰能力差。因此在

串行传输距离较远时,常采用RS-232C、RS-422A和RS-485标准串行接口。主要是对传输的

电信号不断改进,如RS-232C传输距离只有几十米远,与直接以TTL电平串行传输相比,采

用了负逻辑,增大“0”、“1”信号的电平差。而RS-422A和RS-485都采用了差分信号传输,

抗干扰能力强,距离可达1000多米。RS-422A为全双工,RS-485为半双工。

第8章 AT89S51单片机扩展存储器的设计

参考答案

1.答:程序、数据。

2.答:80H。

3.答:片选。

4.答:16KB。

5.答:程序、数据。

6.答:2K,14。

7.答:0FFFH。

8.答:(D)

9.答:本题主要考察对外部存储器的读、写操作,只要记住正确使用MOVX指令就可以了。

编程思路:首先读取2001H的值,保存在寄存器A中,将寄存器A的高四位和低四位互换,

再屏蔽掉低四位然后将寄存器A的值保存到30H中,然后再读取2002H的值,保存在寄存器

A中,屏蔽掉高四位,然后将寄存器A的值与30H进行或运算,将运算后的结果保存在2002H

中。

ORG 0000H

MAIN:MOV DPTR,#2001H ;设置数据指针的初值

MOVX A,@DPTR ;读取2001H的值

SWAP A

ANL A,#0F0H ;屏蔽掉低四位

MOV 30H,A ;保存A

INC DPTR ;指针指向下一个

MOVX A,@DPTR ;读取2002H的值

ANL A,#0FH ;屏蔽掉高四位

ORL A,30H ;进行拼装

MOVX @DPTR,A ;保存到2002H

END

10.答:本题主要考察对外部数据块的写操作;编程时只要注意循环次数和MOVX指令的使用

就可以了。

ORG 0000H

MAIN:MOV A,#0 ;送预置数给A

MOV R0,#0FFH ;设置循环次数

MOV DPTR,#4000H ;设置数据指针的初值

LOOP:MOVX @DPTR,A ;当前单元清零

IN C DPTR ;指向下一个单元

DJNZ R0,LOOP ;是否结束

END

11.答:因为控制信号线的不同:

外扩的RAM芯片既能读出又能写入,所以通常都有读写控制引脚,记为OE*和WE*。外扩RAM 的读、写控制引脚分别与AT89S51的RD*和WR*引脚相连。

外扩的EPROM在正常使用中只能读出,不能写入,故EPROM芯片没有写入控制引脚,只有读出引脚,记为OE*,该引脚与AT89S51单片机的PSEN*相连。

12.答:图中采用了译码法。4片地址分别为0000H-3FFFH、4000H-7FFFH、8000H-BFFFH、C000H-FFFFH。

13.答:

(1)参见图8-20或图8-21,去掉一片2764。

(2)指出该应用系统程序存储器空间和数据存储器空间各自的地址范围。

14.答:

(1)A组跨接端子的内部正确连线图

(2)B组跨接端子的内部正确连线图

注意:答案不唯一,还有其他连接方法,也可满足题目要求。

第9章 AT89S51扩展I/O接口的设计

参考答案

1.答:

(A)错,81C55具有地址锁存功能;

(B)错,在81C55芯片中,引脚IO/M*、A2、A1、A0决定端口地址和RAM单元编址;

(C)错,82C55不具有三态缓冲器;

(D)错,82C55的B口只可以设置成方式0和方式1。

2.答:I/O端口简称I/O口,常指I/O接口电路中具有端口地址的寄存器或缓冲器。I/O接口是指单片机与外设间的I/O接口芯片;I/O接口功能:(1) 实现和不同外设的速度匹配;

(2) 输出数据缓存;(3) 输入数据三态缓冲。

3.答:3种传送方式: (1) 同步传送方式:同步传送又称为有条件传送。当外设速度可与单片机速度相比拟时,常常采用同步传送方式。(2) 查询传送方式:查询传送方式又称为有条件传送,也称异步传送。单片机通过查询得知外设准备好后,再进行数据传送。异步传送的优点是通用性好,硬件连线和查询程序十分简单,但是效率不高。 (3) 中断传送方式:中断传送方式是利用AT89S51本身的中断功能和I/O接口的中断功能来实现I./O数据的传送。单片机只有在外设准备好后,发出数据传送请求,才中断主程序,而进入与外设进行数据传送的中断服务程序,进行数据的传送。中断服务完成后又返回主程序继续执行。因此,中断方式可大大提高工作效率。

4.答:两种。(1) 独立编址方式:独立编址方式就是I/O地址空间和存储器地址空间分开编址。独立编址的优点是I/O地址空间和存储器地址空间相互独立,界限分明。但却需要设置一套专门的读写I/O的指令和控制信号。(2) 统一编址方式:这种方式是把I/O端口的寄存器与数据存储器单元同等对待,统一进行编址。统一编址的优点是不需要专门的I/O指令,直接使用访问数据存储器的指令进行I/O操作。AT89S51单片机使用的是I/O和外部数据存储器RAM统一编址的方式。

5.答: 82C55通过写入控制字寄存器的控制字的最高位来进行判断,最高位为1时,为方式控制字,最高位为0时,为C口按位置位/复位控制字。

6.答:本题主要考察对82C55的C口的操作。其方式控制字的最高位为0时,低四位控装置

对C口置复位。由题目可知方式控制寄存器的地址为7FFFH。

ORG 0100H

MAIN: MOV DPTR,#7FFFH ;控制字寄存器地址7FFFH送DPTR

MOV A,#0EH ;将PC7置0

MOVX @DPTR,A

MOV A,#09H ;将PC4置1

MOVX @DPTR,A

END

7.答:当外设输入一个数据并送到PA7-PA0上时,输入设备自动在选通输入线 A向82C55

发送一个低电平选通信号,则把PA7-PA0上输入的数据存入PA口的输入数据缓冲/锁存器;

然后使输入缓冲器输出线IBFA变成高电平,以通知输入设备,82C55的PA口已收到它送来

的输入数据。82C55检测到联络线 A由低电平变成了高电平、IBFA为1状态和中断允许触发

器INTEA为1时,使输出线INTRA(PC3)变成高电平,向AT89S51发出中断请求。(INTEA

的状态可由用户通过对PC4的置位/复位来控制。AT89S51响应中断后,可以通过中断服务程

序从PA口的输入数据缓冲/锁存器读取外设发来的输入数据。当输入数据被CPU读走后,82C55

撤销INTRA上的中断请求,并使IBFA变为低电平,以通知输入外设可以送下一个输入数据。

8.答:81C55的端口有以下几种:命令/状态寄存器、PA口、PB口、PC口、计数器的高8

位寄存器与低8位寄存器以及RAM单元。引脚IO/ ,A2、A1、A0决定端口地址。TIMERIN是

计数脉冲输入引脚,输入脉冲的上跳沿用于对81C55片内的14位计数器减1。为计数器输

出引脚。当14位计数器减为0时就可以在该引线上输出脉冲或方波,输出的信号的波形与所

选的计数器工作方式有关。

9.答:电路图可以参考图9-10,PA口每一位接二极管的正极,二极管的负极接地。PB口每

1位接一开关和上拉电阻,开关另一端直接接地。这样只需要将读到的PB口的值送给PA口

就可以满足题目要求了。

ORG 0100H

MIAN:MOV A,#10000010B ;设置PA口方式0输出,PB口方式0输入

MOV DPTR,#0FF7FH ;控制口地址送DPTR

MOVX @DPTR,A ;送方式控制字

MOV DPTR,#0FF7DH ;PB口地址送DPTR

MOVX A,@DPTR ;读入开关信息

MOV DPTR,#0FF7CH ;PA口地址送DPTR

MOVX @DPTR,A ;PA口的内容送PB口点亮相应的二极管

END

10.答:81C55计数器的初值范围是:3FFFH-2H。当频率为4MHz,初值为3FFFH时,最大定

时时间为:0.004096S

11.答:将1MHz的脉冲改变为10ms的方波,实际上就是分频。分频前后频率之比为100:1,

这样只要将定时器初值设置为64H就可以了。(假设I/O口地址为7F00H-7F05H)

START: MOV DP TR,#7F04H ;指针指向计数器低8位

MOV A,#64H ;送初值给A

MOVX @DPTR,A ;初值送给计数器低8位

INC DPTR ;指向计数器高8位

MOV A,#40H ;计数器方波输出

MOVX @DPTE,A

MOV DPTR,#7F00H ;指向命令/状态口

MOV A,#0C2H ;设定控制字

MOVX @DPTE,A ;启动计数器

END

第10章 AT89S51与键盘、显示器、拨盘、打印机的接口设计

参考答案

1. 答:A. MAX7219是专用显示器芯片,不用于键盘;B.错:CH451芯片也可用于控制键盘;C.对: BUSY信号可作为查询信号或中断请求信号使用,但此时信号不用;E.错:LED数码管的字型码是可以变的,例如表10-1中的“a”段对应段码字节的最高位。“dp”段对应段码字节的最低位,字型码就改变了。

2. 答:在按键的闭合和断开过程中,由于开关的机械特性,导致了按键抖动的产生。如果不消除按键的机械抖动,按键的状态读取将有可能出现错误。消除按键抖动一般是采用软件或硬件去抖。软件去抖的原理:在第一次检测到有键按下时,该键所对应的行线是为低电平,执行一端延时10ms的子程序后,确认该行线电平是否仍然为低电平,如果仍为低电平,则确认为该行确实有键按下。

3. 答:静态显示时,数据是分开送到每一位LED上的。而动态显示则是数据是同时送到每一个LED上,再根据位选线来确定是哪一位LED被显示。静态显示亮度很高,但口线占用较多。动态显示口线占用较少,适合用在显示位数较多的场合。

4. 答:80H(共阴极);7FH(共阳极)。

5. 答:按键设置在行、列线交点上,行、列线分别连接到按键开关的两端。行线通过上拉电阻接到+5V上,无按键按下时,行线处于高电平状态,而当有按键按下时,行线电平状态将由与此行线相连的列线的电平决定。列线的电平如果为低,则行线电平为低;列线的电平如果为高,则行线的电平亦为高。将行、列线信号配合起来并做适当的处理,才能确定闭合键的位置。

6. 答:先对P1口高四位送低电平,读取P1口低四位的值;再对P1口低四位送低电平,读取P1口高四位的值,将两次读到的值组合在一起就得到了按键的特征码,在根据特征码查找键值。

KEYIN: MOV P1,#0FH ;反转读键

MOV A,P1

ANL A,#0FH

MOV B,A

MOV P1,#0F0H

MOV A,P1

ANL A,#0F0H

ORL A,B

CJNE A,#0FFH,KEYIN1

RET ;未按键

KEYIN1: MOV B,A ;暂存特征码

MOV DPTR,#KEYCOD ;指向特征码表

MOV R3,#0FFH ;顺序码初始化

KEYIN2: INC R3

MOV A,R3

MOVC A,@A+DPTR

CJNE A,B,KEYIN3

MOV A,R3 ;找到,取顺序码

RET

KEYIN3: CJNE A,#0FFH,KEYIN2 ;未完,再查

RET ;已查完,未找到,以未按键处理KEYCOD: DB 0E7H,0EBH,0EDH,0EEH ;特征码表

DB 0D7H,0DBH,0DDH,0DEH

DB 0B7H,0BBH,0BDH,0BEH

DB 77H,7BH,7DH,7EH

7. 答:(1)编程扫描方式:当单片机空闲时,才调用键盘扫描子程序,反复的扫描键盘,等待用户从键盘上输入命令或数据,来响应键盘的输入请求。(2)定时扫描工作方式:单片机对键盘的扫描也可用定时扫描方式,即每隔一定的时间对键盘扫描一次。(3)中断工作方式:只有在键盘有键按下时,才执行键盘扫描程序并执行该按键功能程序,如果无键按下,单片机将不理睬键盘。

8. 答:DB0-DB7:数据线,单向传输,由单片机输入给打印机。STB(STROBE):数据选通信号。在该信号的上升沿,数据线上的8位并行数据被打印机读入机内锁存。BUSY:打印机忙状态信号。当该信号有效(高电平)时,表示打印机正忙于处理数据。此时,单片机不得使STB信号有效,向打印机送入新的数据。ACK:打印机的应答信号。低电平有效,表明打印机已取走数据线上的数据。ERR:出错信号。当送入打印机的命令格式出错时,打印机立即打印1行出错信息,提示出错。在打印出错信息之前。该信号线出现一个负脉冲,脉冲宽度为30us。单片机与打印机相连时,分为直接相连(图10-27)和通过扩展的并行I/O口82C55连接(图10-28)。直接相连时(图10-27),打印机在输入电路中有锁存器,在输出电路中有三态门控制,。没有读、写信号,只有握手线、BUSY(或),用一根地址线来控制写选通信号STB和读取BUSY引脚状态。图10-28所示为通过扩展的并行I/O口82C55连接的打印机接口电路。采用查询法,即通过读与82C55的PC0脚的相连的BUSY状态,来判断送给打印机的一个字节的数据是否处理完毕。也可用中断法(BUSY直接与单片机的引脚相连)。

9.答:本程序采用外部中断来进行数据打印,先打印一个数据,当BUSY线从高电平变成低电平时,在打印下一个数据

ORG 0000H

LJMP MAIN

ORG 0003H

LJMP IN

ORG 0030H

MAIN: SETB EX0 ;允许外部中断

SETB IT0

SETB EA

MOV R0,#7FH ;控制口地址

MOV A,#81H ;控制字

MOVX @R0,A

MOV R1,#20H ;数据区首地址

MOV R2,#19 ;计数器

MOV A,@R1 ;打印内容

MOV R0,#7CH ;A口地址

MOVX @R0,A

MOV R0,#7FH

MOV A,#0EH

MOVX @RO,A ;PC7=0

MOV A,#0FH

MOVX @R0,A ;PC7=1

SJMP $

IN: DJNZ R2,EX ;20个数据都结束了吗?

INC R1 ;指向下一个数据

MOV A,@R1

MOV R0,#7CH

MOVX @R0,A

MOV R0,#7FH

MOV A,#0EH

MOVX @RO,A

MOV A,#0FH

MOVX @R0,A

EX: RETI

第11章AT89 S51单片机与D/A转换器、A/D转换器的接口

参考答案

1.答:由运算放大器构成的I/V转换电路

2.答:同步

3.答:(1)错,D/A转换器也要考虑“转换速度”或“转换时间”问题,即建立时间(转换

时间);(2)对;(3)错,是D/A转换器的分辨率;(4)对。

4. 答:D/A转换器的主要技术指标如下:

分辨率:D/A转换器的分辨率指输入的单位数字量变化引起的模拟量输出的变化,是对输入

量变化敏感程度的描述。

建立时间:建立时间是描述D/A转换速度快慢的一个参数,用于表明转换速度。其值为从输

入数字量到输出达到终位误差±(1/2)GB(最低有效位)时所需的时间。

转换精度:理想情况下,精度与分辨率基本一致,位数越多精度越高。严格讲精度与分辨率

并不完全一致。只要位数相同,分辨率则相同.但相同位数的不同转换器精度会有所不同。

当DAC为二进制12位,满量程输出电压为5V时,分辨率为1.22 mV

5. 答:A/D转换器的两个最重要指标:(1) 转换时间和转换速率--转换时间A/D完成一次

转换所需要的时间。转换时间的倒数为转换速率。(2) 分辨率--A/D转换器的分辨率习惯上

用输出二进制位数或BCD码位数表示。

6. 答:量化误差是由于有限位数字且对模拟量进行量化而引起的;最大的量化误差为0.195%;

7. 答:目前应用较广泛的主要有以下几种类型:逐次逼近式转换器、双积分式转换器、∑-

△式A/D转换器。逐次逼近型A/D转换器:在精度、速度和价格上都适中,是最常用的A

/D转换器件。双积分A/D转换器:具有精度高、抗干扰性好、价格低廉等优点,但转换速

度慢,近年来在单片机应用领域中也得到广泛应用。∑-△式A/D转换器:具有积分式与逐

次逼近式ADC的双重优点,它对工业现场的串模干扰具有较强的抑制能力,不亚于双积分ADC,

它比双积分ADC有较高的转换速度。与逐次逼近式ADC相比,有较高的信噪比,分辨率高,

线性度好,不需要采样保持电路。

8. 答:对DAC来说,分辨率反映了输出模拟电压的最小变化量。而对于ADC来说,分辨率表

示输出数字量变化一个相邻数码所需输入模拟电压的变化量。量化误差是由ADC的有限分辨

率而引起的误差,但量化误差只适用于ADC,不适用于DAC。精度与分辨率基本一致,位数越

多精度越高。严格讲精度与分辨率并不完全一致。只要位数相同,分辨率则相同。但相同位

数的不同转换器,精度可能会有所不同,例如由于制造工艺的不同。

9 答:接口电路可参见图11-20。

参考程序如下:

MAIN:MOV R0,#20H

MOV R1,#00H

MOV R2,#00H

MOV R3,#50

MOV R8,#08H

LOOP:MOV DPTR,#7FF8H

LOOP1:MOVX @DPTR,A

MOV R6,#0A H

DELAY: NOP

NOP

NOP

DJNZ R6,DELAY

MOVX A,@DPTR

INC DPTR

MOV R2,DPL

MOV DPH,R0

MOV DPL,R1

MOVX @DPTR,A

INC DPTR

MOV R0,DPH

MOV R1,DPL

MOV DPH,#7FH

MOV DPL,R2

DJNZ R7,LOOP1

LCALL DELAY1M ;延时1分钟(子程序另外编写)

DJNZ R3,LOOP

…………

第12章单片机的串行扩展技术

参考答案

1.答:系统连接简单:I2C总线系统的基本结构如图12-7。I2C总线系统直接与具有I2C总线接口的各种扩展器件(如存储器、I/O芯片、A/D、D/A、键盘、显示器、日历/时钟)连接。I2C总线对各器件寻址采用纯软件的寻址方法,无需片选线的连接,这样就大大简化了总线数量,系统各部件之间的连接只需两条线。

数据传输速率较高:在标准I2C普通模式下,数据的传输速率为100kbit/s,高速模式下可达400kbit/s。

2.答: I2C总线的起始信号和终止信号都由主机发出,在起始信号产生后,总线就处于占用状态;在终止信号产生后,总线就处于空闲状态。

由图12-9见起始信号和终止信号的规定。

(1)起始信号(S)。在SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号,只有在起始信号以后,其他命令才有效。

(2)终止信号(P)。在SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。随着终止信号的出现,所有外部操作都结束。

3.答:无论I2C总线上的数据传输方向由寻址字节中的数据传输方向位规定:

寻址字节器件地址引脚地址方向位

DA3 DA2 DA1 DA0 A2 A1 A0 R/ =1,表示主机接收(读)。R/ =0,表示主机发送(写)。4.答:单片机对I2C总线中的器件寻址采用软件寻址,主机在发送完起始信号后,立即发送寻址字节来寻址被控的从机,寻址字节格式如题3所示。7位从机地址即为“DA3、DA2、DA1、DA0”和“A2、A1、A0”。其中“DA3、DA2、DA1、DA0”为器件地址,是外围器件固有的地址编码,器件出厂时就已经给定。“A2、A1、A0”为引脚地址,由器件引脚A2、A1、A0在电路中接高电平或接地决定(见图12-12)。

5.答:I2C总线数据传送时,传送的字节数(数据帧)没有限制,每一字节必须为8位长。数据传送时,先传送最高位,每一个被传字节后面都须跟1位应答位(一帧数据共9位),如图12-10。I2C总线在传送每一字节数据后都须有应答信号A,A信号在第9个时钟位上出现,A信号对应的时钟由主机产生。这时发方须在该时钟位上使SDA线处于高电平,以便收方在这一位上送出低电平的应答信号A。

由于某原因收方不对主机寻址信号应答时,例如接收方正在进行其他处理而无法接收总线上的数据时,必须释放总线,将数据线置为高电平,而由主机产生一个终止信号以结束总线的数据传送。

当主机接收来自从机的数据时,接收到最后一个数据字节后,必须给从机发送一个非应答信号(),使从机释放数据总线,以便主机发送一个终止信号,从而结束数据的传送。6.答:依照下面的数据传送格式:

S 从机地址0 A 数据A/

Sr 从机地址r 1 A 数据

P

依次调用依照上述数据传送格式的12.5.2小节中的各子程序。

第13章 AT89S51单片机的应用设计与调试

参考答案

1.答:A.错;B.错;C.对;D.错(最小系统不能直接测量模拟信号)。

2.答:用户样机是以AT89S51单片机为核心的应用系统,没有对单片机中的程序进行检错调试的手段,也无法发现程序运行中的设计硬件的问题,也无法进行软件的开发(如编辑、汇编、调试程序等),因此,必须借助某种开发工具---仿真开发系统所提供的开发手段来解决上述问题。

3.答:仿真开发系统由哪几部分组成?

目前国内大多使用通用机的仿真开发系统。主要由PC机、在线仿真器组成,有的还包含有用于程序烧录的编程器,在加上与上述配套的编辑软件、仿真调试软件,程序烧录软件等。

此外还有独立型仿真器。该类仿真器采用模块化结构,配有不同外设,如外存板、打印机、键盘/显示器等,用户可根据需要选用。尤其在工业现场进行程序仿真调试时,往往没有PC 机的支持,这时使用独立型仿真器也可进行仿真调试工作,只不过要输入机器码,稍显麻烦一些。

至于软件仿真开发工具Proteus软件是一种完全用软件手段对单片机应用系统进行仿真开发的。软件仿真开发工具与用户样机在硬件上无任何联系。不能进行用户样机硬件部分的诊断与实时在线仿真。

4.答:调试过程见图13-13,4个步骤。

(1)输入用户源程序:用户使用编辑软件源程序输入到PC机中,并保存在磁盘上。

(2)汇编并检查语法错误:在PC机上,利用汇编程序对用户源程序进行汇编,直至语法错误全部纠正为止。

(3)动态在线调试:对用户的源程序进行调试。要先把在线仿真器的仿真插头插入用户样机的单片机插座中(图13-12),进行在线仿真调试,利用仿真开发系统提供单步、设置断点等调试手段,来进行系统的调试。纠正软件逻辑上的问题,或排除硬件上的故障。

(4)将调试完毕的用户程序通过程序烧写器,固化在程序存储器中。

5.答:由于软件仿真开发工具Proteus软件是一种完全用软件手段对单片机应用系统进行仿真开发的。不能进行用户样机硬件部分的诊断与实时在线仿真。因此在系统的开发中,一般是先用Proteus仿真软件设计出系统的硬件电路,编写程序,然后在Proteus环境下仿真调试通过。然后依照仿真的结果,完成实际的硬件设计。再将仿真通过的程序烧录到编程器中,然后安装到用户样机硬件板上去观察运行结果,如果有问题,再连接硬件仿真器去分析、调试。

6.答:在每块印刷电路板的电源输入端跨接的电容应为一个10~100μF的大容量电解电容(如体积允许,电容量大一些更好)和一个0.01~0.1μF的非电解电容。用于去除干扰中的高频干扰和低频干扰,并接大电容为了去掉低频干扰成分,并接小电容为了去掉高频干扰部分。

7.答:光电耦合的主要优点是能有效抑制尖峰脉冲以及各种噪声干扰,从而使过程通道上的信噪比大大提高。因为在工业现场的数据采集或实时控制中,过程通道的输入输出信号线和控制线多,且长度达几百米或几千米,因此不可避免地将干扰引入单片机系统。消除或减弱过程通道的干扰主要采用光电隔离技术。所谓光电隔离采用光电耦合器可以将单片机与前向、后向以及其他部分切断电路的联系,能有效地防止干扰从过程通道进入单片机(见图13-14)。8.答:对于单片机应用系统中的具有较大电感量的元件或设备,诸如继电器、电动机、电磁阀等。当电感回路的电流被切断时,会产生很大的反电势而形成噪声干扰。这种反电势甚至可能击穿电路中晶体管之类的器件,反电势形成的噪声干扰能产生电磁场,对单片机应用系统中的其它电路产生干扰。如果通过电感线圈的是直流电流,可采用如下措施加以抑制:(1)可在线圈两端并联二极管和稳压管,如图 (a) 所示。

图 (a)由二极管和稳压管构成的反电势抑制电路图(b) 由电阻和二级管组成的反电势抑制电路。

在稳定工作时,并联支路被二极管D阻断而不起作用;当三极管T由通道变为截止时,在电感线圈两端产生反电势e。此电势可在并联支路中流通,因此e的幅值被限制在稳压管DZ的

工作电压范围之内,并被很快消耗掉,从而抑制了反电势的干扰。使用时DZ的工作电压应选择得比外加电源高些。

如果把稳压管换为电阻,同样可以达到抑制反电势的目的,如图(b)所示,因此也适用于直流驱动线圈的电路。在这个电路中,电阻的阻值范围可以从几欧姆到几十欧姆。阻值太小,反电势衰减得慢;而阻值太大又会增大反电势的幅值。

(2)反电势抑制电路也可由电阻和电容组成,如图(c)所示。适当选择R、C

图(c) 由电阻和电容组成的抑制电路

参数,也能获得较好的耗能效果。这种电路不仅适用于交流驱动的线圈,也适用于直流驱动的线圈。

(3)反电势抑制电路不但可以接在线圈的两端,也可以接在开关的两端,例如继电器,接触器等部件在操作时,开关会产生较大的火花,必须利用RC电路加以吸收,如图(d),一般R取1~2KΩ,C取2.2~4.7μF。

图(d) 接在开关的两端的反电势抑制电路

9.答:数字地通常有很大的噪声而且电平的跳跃会造成很大的电流尖峰,对模拟地有较大的影响,会引起模拟电路产生误差。所以正确的接法是,必须将所有的模拟地和数字地分别相连,然后模拟(公共)地与数字(公共)地仅在一点上相连接,且地线应尽量加粗,如图13-17。在ADC和DAC电路中,尤其要注意地线的正确连接,否则会引起ADC和DAC转换结果的不准确。由于ADC、DAC芯片都提供了相应独立的模拟地和数字地引脚,一定要把模拟地引脚和数字地引脚尽可能短的相连。然后再与模拟地尽可能短的连接。

10.答:

(1)电源去耦

已经在第6题中介绍,就是在印刷电路板的电源输入端跨接退耦电容。跨接的电容应为一个10~100μF的大容量电解电容(如体积允许,电容量大一些更好)和一个0.01~0.1μF的非电解电容。

(2)集成芯片去耦

每个集成芯片都应安置一个0.01μF的瓷片去耦电容,去耦电容必须安装在本集成芯片的Vcc 和GND线之间,否则便失去了抗干扰作用。如遇到印刷电路板空隙小装不下时,可每4~10个芯片安置一个1~10μF高频阻抗特别小的钽电容器。对于抗噪声能力弱,关断电流大的器件和ROM、RAM存储器,应在芯片的电源线Vcc和地线(GND)间接入去耦的瓷片电容。11.答:(1)在印制板中留下无用的空白铜箔层,可充当发射天线或接收天线,可把就近它们接地。(2)走线不要有分支,可避免在线路条在传输高频信号导致反射干扰或发生谐波干扰。

12.答:常见的软件滤波方法有(1)算术平均滤波法:一般适用于具有随机干扰的信号的滤波。(2)滑动平均滤波法:对周期性干扰有良好的抑制作用,平滑度高,灵敏度低;但对偶然出现的脉冲性干扰的抑制作用差。(3)中位值滤波法:能有效地克服因偶然因素引起的波动干扰。对温度、液位等变化缓慢的被测参数能收到良好的滤波效果。但对流量、速度等快速变化的参数一般不宜采用此法。(4)去极值平均值滤波法:算术平均与滑动平均滤波法,在脉冲干扰比较严重的场合,干扰将会“平均”到结果中去,故上述两种平均值法不易消除由于脉冲干扰而引起的误差,这时可采用去极值平均值滤波法。去极值平均值滤波法类似于体育比赛中的去掉最高、最低分,再求平均。

13.答:(1)指令冗余:当单片机系统受干扰时,PC中由于干扰发生错误,会产生“乱飞”。当乱飞到某双字节指令,若取指令时刻

落在操作数上,误将操作数当作操作码,程序有可能出错。若乱飞到三字节指令,出错概率更大,这时可在双字节指令和三字节指令后插入两个字节以上的NOP指令,可保护其后的指令不被拆散,这称为指令冗余。(2)软件陷阱:就是一条引导指令“LJMP ERP”,强行将乱飞的程序引向一个指定的地址入口标号“ERP”,在那里有一段专门对程序出错进行处理的程序。为加强其捕捉效果,一般还在它前面加两条NOP指令。

14.答:无论是AT89S51单片机片内集成的“看门狗”还是专门的硬件“看门狗”电路,原理都是使用一个计数器来不断计数,监视程序的运行。当计数器启动运行后,为防止计数器的不必要溢出,应定期性地把WDT计数器清0,以保证其不溢出。当单片机的程序“跑飞”或陷入“死循环”时,也就不能定时地把看门狗计数器清0。当看门狗计数器值计满溢出时,将在AT89S51的RST引脚上输出一个正脉冲使AT89S51单片机复位,在系统的复位入口0000H 处安排一条跳向出错处理程序段的指令或重新从头执行程序,从而使程序摆脱“跑飞”或“死循环”状态。

15.答:当系统掉电或供电电压过低时,有时需要保护RAM中的重要内容,这时可使用微处理器监控器芯片中的“掉电保护”功能,即给单片机接上备用电池,微处理器监控器芯片会在掉电时自动为单片机系统提供电源,从而保护了RAM中的重要内容。

第14章单片机C语言程序设计基础

参考答案

1.答:C51在标准C的基础上,作了以下扩充:

(1)数据类型的不同。51系列单片机包含位操作空间和丰富的位操作指令,因此Keil C51与ANSI C相比又扩展了4种类型,以便能够灵活地进行操作。

(2)头文件。生产51系列单片机的厂家有多个,它们的差异在于内部资源如定时器、中断、I/O等数量以及功能的不同,而对于使用者来说,只需要将相应的功能寄存器的头文件加载在程序内,就可实现它们所具有的功能。因此,Keil C51系列的头文件集中体现了各系列芯片的不同资源及功能。

(3)数据存储类型的不同。标准C最初是为通用计算机设计的,在通用计算机中只有一个程序和数据统一寻址的内存空间,而51系列单片机有片内、外程序存储器,还有片内、外数据存储器。标准C并没有提供这部分存储器的地址范围的定义。此外,对于AT89C51单片机中大量的特殊功能寄存器也没有定义。

(4)标准C没有处理单片机中断的定义。

(5)库函数有较大不同。标准C的库函数中有一些库函数可继续使用部分库函数不适合于嵌入式处理器系统,因此它们被排除在Keil C51之外,例如库函数printf和scanf,在标准C 中,这两个函数通常用于屏幕打印和接收字符,而在Keil C51中,它们主要用于串行口数据的收发。(6)51单片机的硬件资源有限,C51的编译系统不允许太多的程序嵌套。其次,标准C所具备的递归特性不被Keil C51支持。

但是从数据运算操作、程序控制语句以及函数的使用上来说,Keil C51与标准C几乎没有什么明显的差别。如果程序设计者具备了有关标准C的编程基础,只要注意Keil C51与标准C 的不同之处,并熟悉AT89S51单片机的硬件结构,就能够较快地使用Keil C51编程。

2. 答:略。

3. 答:略。

4. 答:略。

5. 答:可参考例14-8,将波形数据输出从零开始不断增1到达最大值后不断减1,回零后再

单片机教程详细图解-新华龙单片机学习教程

新华龙单片机学习入门教程基于本人学习单片机的痛苦经历,特编写本教程,以此献给广大的单片机初学者,希望您能从中受益。 单片机老鸟寄语:本教程乃最通俗易懂之单片机教材也,如果您还是看不懂,请千万不要涉足此行,以免误入歧途,耽误您的前程*_* 拿到这本教程您首先就会想,什么是 IAP 教学法?是不是一种什么全新的教学方法?当然不是,我可没有那么大的本事,其实这只是我杜撰的一个新名词,意思就是In Applications Program(在应用中编程),当然这只是针对单片机教学,说法是否正确,还得您说了算。 至于为什么要提这种说法,那我倒想说几句。大家都知道,学习电子技术是一件非常无聊和枯燥的事情,为什么会有这种想法,就是因为我们传统的教学方法只重理论而忽略了实践,要一个人记住那些空洞而有无聊的理论知识实在不是一件容易的事,好在我们总算熬过来了,不管如何,也多多少少的学习了一些电子基础知识。 接下来我们应该进一步掌握些什么知识呢,凡涉足此行的朋友都知道,那就是单片机。不过这可不是一件容易的事,倒不是因为单片机很难学,而实在是我们身边很难找到一本专为单片机入门者而编写的教材。翻一下传统的单片机教材,都好象是为已经懂单片机的人而写的,一般总是以单片机的结构为主线,先讲硬件原理,然后是指令,接着讲软件编程,再是系统扩展和外围器件,最后举一些实例(随便说一点:很多书中的实例都是有错误的),很少涉及单片机的基础知识,如果按照此种学习方法,想进行产品开发,就必须先把所有的知识全部掌握了才可以进行实际应用。孰不知,单片机不象模拟电路和数字电路那样,只要搞懂了电路原理,再按照产品要求设计好相应的电路就可以了。它是一种以简单的硬件结构,复杂而有灵活的软件系统来完成设计的通用性产品,不同的设计者只会使用其不同的功能,几乎没有人会把它的全部指令都使用起来,所以学习使用单片机只能靠循序渐进的积累,而不可能先把它全部掌握了再去做产品开发(当然天才就例外了*_*)。 基于以上原因,本人想尝试一种全新的单片机教学方法,打破传统的循序渐进式的教学方法,以单片机的应用为蓝本,结合基本的工业控制系统和实践工作中的具体应用,不分先后顺序,将各条指令贯串于一个又一个的实验中,通过所见即所得的实验来讲解各种指令的编程方法,顺便讲解相关的基本概念,使您尽快地熟悉单片机应用的基本步骤,掌握软件编程的基本方法。 如果您学完了就能成为单片机的入门者,完全可以进行一般产品的开发;下册部分是单片机应用的提高部分,主要学习单片机的系统扩展(比如:ROM 和RAM 存储器的扩展,并行口的扩展,串行口的扩展,A/D 和D/A 与单片机的接口)以及相关开发工具和软件的使用(包括KELL C51 的应用与调试技巧,硬件仿真器的使用)等等,如果您学完了下册部分,那就得恭喜您成为了单片机开发的高手了,不过单片机的技术是在不断的发展和提高的,您也不要太骄傲哦! 为了尽量把最新的单片机知识和应用成果收录进我们的教程,希望您能不吝赐教,共同来努力把我们的教程不断的改进和完善。还是那句题外话,技术是靠不断的积累和交流才会进步的,固封自守只会更加落后。 由于时间和精力的限制,我还是希望在您学习本教程之前,自己先熟悉一点相关的电子技术知识,特别是数字电路基础,这对您学习中碰到的相关概念会有很大的帮助。

单片机原理及应用期末考试试卷及答案

苏州经贸职业技术学院 2009-2010学年第二学期 《单片机原理及应用》期终试卷(A) 班级:姓名:学号:成绩: 一﹑填空题(将正确答案填在题干的空白处。1分×35=35分) 1、十进制数-47用8位二进制补码表示为:11010001B。 2、89C51含4KB Flash ROM,128B的RAM,在物理上有4个独立的存储器 空间。 3、若8031单片机的晶振频率fosc=12MHz,则振荡周期为1/12us ,状态周期为1/6us ,机器周期为1us ,执行MUL AB指令需要时间为4us 。 4、假定A=85H,R0=20H,(20H)=0AFH。执行指令:ADD A,@R0后,累加器 A的内容34H ,CY的内容1 ,AC的内容1 ,OV的内容1 。 5、假定DPTR的内容为8100H,累加器A的内容为40H,执行下列指令: MOVC A,@A+DPTR 后,送入A的是程序存储器8140H 单元的内容。 6、PSW中RS1 RS0=10H时,R2的地址为12H 。 7、ROM在物理上分为片内ROM 和片外ROM ,在逻辑上两者统一编址。 8、MCS-51单片机当EA=1时,首先使用的是片内程序存储器,存储容量超过4KB时开始使用外部程序存储器;EA=0时,则仅仅使用片外程序存储器。 9、MCS—51单片机访问片外存储器时,利用ALE 信号锁存来自P0 口的低8位地址信号。 10、欲使P1口的高4位输出1,而低4位不变,应执行一条ORL P1,#0F0H指令。 11、12根地址线可选4KB个存储单元,32KB存储单元需要15 根地址线。 12、设80C51 fosc=12MHz,定时器工作在方式0,则最大定时时间为8192μs。 13、异步串行数据通讯有单工、半双工和全双工共三种传送方式。 14、51单片机的中断系统最多可以有 2 个嵌套。 15、8031单片机指令MOV是访问内RAM ,最大范围为256B ,MOVX是访问外RAM ,最大范围为64KB,MOVC是访问ROM ,最大范围为64KB 。 二、单项选择(1分×15=15分) 1、MCS-51上电复位后,SP的内容是(B) (A)00H (B)07H (C)60H (D)70H 2、80C51是(C)

单片机原理及应用习题答案第三版

单片机原理及应用习题 答案第三版 集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]

第一章习题参考答案 1-1:何谓单片机与通用微机相比,两者在结构上有何异同 答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接口电路和相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。 单片机与通用微机相比在结构上的异同: (1)两者都有CPU,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进一步提高。例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲(Cache)技术等。CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。例如,现在的单片机产品的CPU大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用4位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用16位字长单片机,32位单片机产品目前应用得还不多。 (2) 两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量和CPU对数据的存取速度。现今微机的内存容量达到了数百兆字节(MB),存储体系采用多体、并读技术和段、页等多种管理模式。单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。 (3) 两者都有I/O接口,但通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠标、打印机、硬盘、光盘等)。用户通过标准总线连接外设,能达到即插即用。单片机应用系统的外设都是非标准的,且千差万别,种类很多。单片机的I/O接口实际上是向用

单片机原理习题及答案

习题 1. 何为“准双向I/O接口”?在MCS-51单片机的四个并口中,哪些是“准双向I/O接口”? 答:准双向I/O接口是能实现输入输出功能,但在使用时只能从输入和输出中选择一个。MCS-51单片机的四个并口中P1、P2、P3是准双向I/O接口。 2. 80C51单片机内部有几个定时/计数器?它们由哪些功能寄存器组成?怎样实现定时功能和计数功能? 答:80C51单片机内部有两个16位的可编程定时/计数器,由TH0,TL0,TH1,TL1,TMOD和TCON功能寄存器组成。通过TMOD中的C/T位选择对机器周期计数实现计数功能,选择对外部脉冲计数实现计数功能。 3. 定时/计数器T0有几种工作方式?各自的特点是什么? 答:有四种工作方式,特点见下表: M1 M0 工作方式方式说明 0 0 0 13位定时/计数器 0 1 1 16位定时/计数器 1 0 2 8位自动重置定时/计数器 1 1 3 两个8位定时/计数器(只有T0有) 4. 定时/计数器的四种工作方式各自的计数范围是多少?如果要计10个单位,不同的方式初值应为多少? 答:有四种方式。方式0计数范围:1~8192;方式1计数范围:1~65536;方式2计数范围:1~256;方式3计数范围:1~256。 如果计10个单位,方式0初值为:8192-10=8182;方式1初值为:65536-10=65526;方式2初值为:256-10=246;方式2初值为:256-10=246。 5. 设振荡频率为12MHz,如果用定时/计数器T0产生周期为100ms的方波,可以选择哪几种方式,其初值分别设为多少? 答:只能选择方式1,初值为65536-50000=15536。

单片机原理及应用在线考试试题答案

中国石油大学(北京)远程教育学院期末考核 《单片原理及应用》 说明:共100分,每题20分,在下题中任选5题。 1.MCS-51的时钟周期、机器周期、指令周期是如何分配的?当振荡频率为10MHz时,一 个机器周期为多少毫秒? 参考第二章第四节。MCS-51典型的指令周期为一个机器周期,每个机器周期由6个状态周期组成,每个状态周期由2个时钟周期(振荡周期)组成。一个机器周期=6×一个状 态周期=12×一个时钟周期=12× 答: 为使单片机能够完成取指、译码、执行指令等操作,需要为单片机提供时钟信号以产生必要的时序。单片机振荡电路中的振荡信号对应的周期叫振荡周期(时钟周期)。对振荡周期12分频后得到的信号周期叫做机器周期,即12个时钟周期,是1个机器周期。一个机器周期宽度为6个状态周期,并依次表示为S1~S6。每个状态周期由2个时钟周期(振荡周期)组成。Mcs51单片机的111条指令,执行时,所花费的时间,称为指令周期。 一个机器周期=6×一个状态周期=12×一个时钟周期=12×=12×1/10=1.2 us=0.0012ms 2.指出下列指令中画线的操作数的寻址方式? MOV R0, #55H ;立即寻址 MOV A, 2AH ;直接寻址 MOV A, @R1 ;寄存器间接寻址 MOV @R0, A ;寄存器寻址 ADD A, R7 ;寄存器寻址 MOVX A, @DPTR ;寄存器间接寻址 MOV DPTR, #0123H ;立即寻址 MOVC A, @A+DPTR ;基址加变址寻址 INC DPTR;寄存器寻址 参考第三章第二节指令寻址方式 3.外部RAM中从1000H到10FFH有一个数据区,现在将它传送到外部RAM中2500H单元 开始的区域中,编程完成上述功能。 参考第三章第三节数据传送类指令和第六章第二节外部存储器扩展 START: MOV R0,#00H MOV DPTR,#1000H LOOP: MOVX A,@DPTR MOV DPH,#25H MOVX @DPTR,A MOV DPH,#10H

单片机原理及应用课后答案

第1章单片机概述参考答案 1.1 答:微控制器,嵌入式控制器 1.2 答:CPU、存储器、I/O口、总线 1.3 答:C 1.4 答:B 1.5 答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。 嵌入式处理器一般意义上讲,是指嵌入系统的单片机、DSP、嵌入式微处理器。目前多把嵌入式处理器多指嵌入式微处理器,例如ARM7、ARM9等。嵌入式微处理器相当于通用计算机中的CPU。与单片机相比,单片机本身(或稍加扩展)就是一个小的计算机系统,可独立运行,具有完整的功能。而嵌入式微处理器仅仅相当于单片机中的中央处理器。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。 1.6 答:MCS-51系列单片机的基本型芯片分别:8031、8051和8071。它们的差别是在片内程序存储器上。8031无片内程序存储器、8051片内有4K字节的程序存储器ROM,而8751片内有集成有4K字节的程序存储器EPROM。 1.7 答:因为MCS-51系列单片机中的"MCS"是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。 1.8 答:相当于MCS-51系列中的87C51,只不过是AT89S51芯片内的4K字节Flash存储器取代了87C51片内的4K字节的EPROM。 1.9 单片机体积小、价格低且易于掌握和普及,很容易嵌入到各种通用目的的系统中,实现各种方式的检测和控制。单片机在嵌入式处理器市场占有率最高,最大特点是价格低,体积小。 DSP是一种非常擅长于高速实现各种数字信号处理运算(如数字滤波、FFT、频谱分析等)的嵌入式处理器。由于对其硬件结构和指令进行了特殊设计,使其能够高速完成各种复杂的数字信号处理算法。广泛地用于通讯、网络通信、数字图像处理,电机控制系统,生物信息识别终端,实时语音压解系统等。这类智能化算法一般都是运算量较大,特别是向量运算、指针线性寻址等较多,而这些正是DSP的长处所在。与单片机相比,DSP具有的实现高速运算的硬件结构及指令和多总线,DSP处理的算法的复杂度和大的数据处理流量以及片内集成的多种功能部件更是单片机不可企及的。 嵌入式微处理器的基础是通用计算机中的CPU,它的地址总线数目较多能扩展较大的存储器空间,所以可配置实时多任务操作系统(RTOS)。RTOS是嵌入式应用软件的基础和开发平台。正由于嵌入式微处理器能运行实时多任务操作系统,所以能够处理复杂的系统管理任务和处理工作。因此,广泛地应用在移动计算平台、媒体手机、工业控制和商业领域(例如,智能工控设备、ATM机等)、电子商务平台、信息家电(机顶盒、数字电视)以及军事上的应用。 1.10 广义上讲,凡是系统中嵌入了"嵌入式处理器",如单片机、DSP、嵌入式微处理器,都称其为"嵌入式系统"。但多数人把 "嵌入"嵌入式微处理器的系统,称为"嵌入式系统"。目前"嵌入式系统"还没有一个严格和权威的定义。目前人们所说的"嵌入式系统",多指后者。 第2章 AT89S51单片机的硬件结构 1.答:AT89S51单片机的片内都集成了如下功能部件:(1)1个微处理器(CPU);(2)128

单片机原理与应用 习题答案

习题解答 第三章 3-1 已知A=7AH,R0=30H(30H=A5H),PSW=80H,SP=65H,试分析下面每条指令的执行结果及对标志位的影响。 (1)ADD A,@R0;01111010+=1,00011111,(A)=1FH,Cy=1 , AC=0,OV=0,P=1 (2)ADD A,#30H;01111010+00110000=,(A)=AAH,Cy=0,AC=0,OV=1,P=0 (3)ADDC A,30H;01111010++1=1,00100000,(A)=20H,Cy=1,AC=1,OV=0,P=1 (4)SUBB A,@R0;0101-1=1,,(A)=D4H,Cy=1,AC=0,OV=1,P=0 (5)DA A;01111010+00000110=,(A)=80H,Cy=0,其他无变化 (6)RLC A;(A)=B=F5H,Cy=0,AC=0,OV=0,P=0 (7)RR A;(A)=00111101B=3DH,Cy=1,AC=0,OV=0,P=1 《 (8)PUSH 30H;SP=66H,(66H)=A5H (9)POP B;SP=64H,(B)=(65H) (10)XCH A,@R0;(A)=A5H,(30H)=7AH,Cy=1,OV=0,AC=0,P=0 3-4 试分析在执行完下面的程序段后,A,R0,R1,R7,SP以及片内RAM的一些单元中内容各是什么 MOV SP,#65H MOV R7,#5 MOV R0,#30H MOV R1,#40H LOOP:MOV A,@R1 PUSH ACC $ MOV A,@R0 MOV @R1,A INC R0 INC R1 DJNZ R7,LOOP 结果:(A)=(34H),(R0)=34H,(R1)=44H,(R7)=0,SP=70H ,(70H)=(44H),(30H)=(40H),…(34H)=(44H)。 3-5 已知SP=62H,(62H)=50H,(61H)=30H,问执行指令RET后,PC=,SP=并解释。 答:执行指令RET,从堆栈中弹出地址值给PC,栈指针减2,(62H),(61H)中的内容分别弹出PC=5030H,SP=60H 3-7 试编程求出片外RAM从2000H开始的连续20个单元的平均值,并将结果存入内部RAM20H单元。 MOV DPTR,#2000H ) ACALL AVG 子程序名:AVG 子程序功能:求20个无符号数平均值子程序 子程序入口:(DPTR)=数据区首地址指针

单片机原理及应用试卷和答案(三套试卷和答案)

试卷一 一、填空题(20分,每小题2分) 1、-19D的二进制的补码表示为11101101B。 2、89C51含4KB掩膜ROM,128B的RAM,在物理上有4个独立的存储器空间。 3、通过堆栈操作实现子程序调用,首先要把PC 的内容入栈,以进行断点保护。调 用返回时再进行出栈操作,把保护的断点弹回 PC。 4、74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中8 块芯片。 5、PSW中RS1 RS0=10H时,R2的地址为12H。 6、假定DPTR的内容为8100H,累加器A的内容为40H,执行下列指令: MOVC A,@A+DPTR 后,送入A的是程序存储器8140H单元的内容。 7、设SP=60H,片内RAM的(30H)=24H,(31H)=10H,在下列程序段注释中填执 行结果。 PUSH 30H ;SP=61H,(SP)=24H PUSH 31H ;SP=62H,(SP)=10H POP DPL ;SP=61H,DPL=10H POP DPH ;SP=60H,DPH=24H MOV A,#00H MOVX @DPTR,A 最后执行结果是执行结果将0送外部数据存储器的2410H单元。 8、在中断系统中,T0和T1两引脚扩展成外部中断源时,计数初值应当是(TH)=(TL)= 0FFH。 9、12根地址线可寻址4KB存储单元。 二、选择题(10分,每小题1分) 1、MCS-51响应中断时,下面哪一个条件不是必须的(C) (A)当前指令执行完毕(B)中断是开放的 (C)没有同级或高级中断服务(D)必须有RETI 2、执行PUSH ACC指令,MCS-51完成的操作是(A) (A)SP+1→SP,(ACC)→(SP);(B)(ACC)→(SP),SP-1→SP (C)SP-1→SP,(ACC)→(SP);(D)(ACC)→(SP),SP+1→SP 3、89C51是(C) (A)CPU (B)微处理器 (C)单片微机(D)控制器 4、关于MCS-51的堆栈操作,正确的说法是(C) (A)先入栈,再修改栈指针(B)先修改栈指针,再出栈 (C)先修改栈指针,再入栈(D)以上都不对

单片机原理和应用习题答案解析(第三版)

第一章习题参考答案 1-1:何谓单片机?与通用微机相比,两者在结构上有何异同? 答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接口电路和相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。 单片机与通用微机相比在结构上的异同: (1)两者都有CPU,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进一步提高。例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲(Cache)技术等。CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。例如,现在的单片机产品的CPU大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用4位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用16位字长单片机,32位单片机产品目前应用得还不多。 (2) 两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量和CPU对数据的存取速度。现今微机的内存容量达到了数百兆字节(MB),存储体系采用多体、并读技术和段、页等多种管理模式。单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。 (3) 两者都有I/O接口,但通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠标、打印机、硬盘、光盘等)。用户通过标准总线连接外设,能达到即插即用。单片机应用系统的外设都是非标准的,且千差万别,种类很多。单片机的I/O接口实际上是向用户提供的与外设连接的物理界面。用户对外设的连接要设计具体的接口电路,需有熟练的接口电路设计技术。 另外,单片机的微处理器(CPU)、存储器、I/O接口电路集成在一块芯片上,而通用微机的微处理器(CPU)、存储器、I/O接口电路一般都是独立的芯片 1-4 IAP、ISP的含义是什么? ISP:In System Programable,即在系统编程。用户可以通过下载线以特定的硬件时序在线编程(到单片机内部集成的FLASH上),但用户程序自身不可以对内部存储器做修改。 IAP:In Application Programable,即在应用编程。用户可以通过下载线对单片机进行在线编程,用户程序也可以自己对内部存储器重新修改。 1-6 51单片机与通用微机相比,结构上有哪些主要特点? (1)单片机的程序存储器和数据存储器是严格区分的,前者为ROM,后者为RAM; (2)采用面向控制的指令系统,位处理能力强; (3)I/O引脚通常是多功能的; (4)产品系列齐全,功能扩展性强; (5)功能是通用的,像一般微处理机那样可广泛地应用在各个方面。 1-7 51单片机有哪些主要系列产品? (1)Intel公司的MCS-51系列单片机:功能比较强、价格比较低、较早应用的单片机。此系列三种基本产品是:8031/8051/8751; (2)ATMEL公司的89系列单片机:内含Flash存储器,开发过程中可以容易地进行

单片机原理与应用试题及答案

单片机原理与应用试题 及答案 https://www.sodocs.net/doc/1317335110.html,work Information Technology Company.2020YEAR

单片机原理与应用试卷及答案 一、填空题 1、10110110B 作为无字符数时,十进制数值为182;作为补码时,十进制数值为—74. 2、原码01101011B 的反码为01101011B ;补码为01101011B 。 3、由8051的最小系统电路除芯片外,外部只需要复位电路和时钟(晶振)电路,如果由8031的最小系统,还需要扩展外部ROM 电路。 4、若已知8051RAM 的某位地址为09H ,则该位所处的单元地址为21H 。 5、C51语言中,指令#define ADC XBYTE[OXFFEO]能够正确编译的前提是包含头文件absacc.h ,该指令的作用是定义一个外部地址单元为OXFFEO 。 二、选择题 1、程序和常数都是以(二进制)的形式存放在单片机程序的存储器中。 2、下列哪一个选项的指令语句不是任何时候都可以被C51正确编译(uchar; k=ox20) 3、当PSW 的RS0和RS1位分别为1和0时,系统选用的寄存器组为(1组) 4、若某存储器芯片地址线为12根,那么它的存储容量为(4KB ) 5、已知T osc =12MHZ ,TH1=177,TL1=224,TMOD=ox10,则从定时器启动到正常溢出的时间间隔为(20ms ) 三、简答题 答:①新建工程项目②配置工程项目属性③创建源文件④将源文件加入项目⑤保存项目 3、PSW 寄存器有何作用其各位是如何定义的 4、 答:标志寄存器PSW 是一个8位的寄存器,它用于保存指令执行结果的状态,以供工程查询和判别。 C (PWS.7):进位标志位 AC (PWS.6):辅助进位标志位 FO (PWS.5):用户标志位 RS1、RS0(PWS.4、PWS.3 PSW DOH

单片机原理及应用习题答案

思考与练习题1 1.1单项选择题 (1)单片机又称为单片微计算机,最初的英文缩写是( D ) A.MCP B.CPU C.DPJ D.SCM (2)Intel公司的MCS-51系列单片机是( C )的单片机。 A.1位 B.4位 C.8位 D.16位 (3)单片机的特点里没有包括在内的是( C ) A.集成度高 B.功耗低 C.密封性强 D.性价比高 (4)单片机的发展趋势中没有包括的是( B ) A.高性能 B.高价格 C.低功耗 D.高性价比 (5)十进制数56的二进制数是( A ) A.00111000B B.01011100B C.11000111B D.01010000B (6)十六进制数93的二进制数是( A ) A.10010011B B.00100011B C.11000011B D.01110011B (7)二进制数11000011的十六进制数是( B ) A. B3H B.C3H C.D3H D.E3H (8)二进制数11001011的十进制无符号数是( B ) A. 213 B.203 C.223 D.233 (9)二进制数11001011的十进制有符号数是( B ) A. 73 B.-75 C.-93 D.75 (10)十进制数29的8421BCD压缩码是( A ) A.00101001B B.10101001B C.11100001B D.10011100B (11)十进制数-36在8位微机中的反码和补码是( D ) A.00100100B、11011100B B.00100100B、11011011B C.10100100B、11011011B D.11011011B、11011100B (12)十进制数+27在8位微机中的反码和补码分别是( C ) A.00011011B、11100100B B.11100100B、11100101B C.00011011B、00011011B D.00011011B、11100101B (13)字符9的ASCII码是( D ) A.0011001B B.0101001B C.1001001B D.0111001B (14)ASCII码1111111B的对应字符是( C ) A. SPACE B.P C.DEL D.{ (15)或逻辑的表达式是( B ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (16)异或逻辑的表达式是( C ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (17)二进制数10101010B与00000000B的“与”、“或”和“异或”结果是( B ) A.10101010B、10101010B、00000000B B.00000000B、10101010B、10101010B C.00000000B、10101010B、00000000B D.10101010B、00000000B、10101010B (18)二进制数11101110B与01110111B的“与”、“或”和“异或”结果是( D ) A.01100110B、10011001B、11111111B B.11111111B、10011001B、01100110B C.01100110B、01110111B、10011001B D.01100110B、11111111B、10011001B (19)下列集成门电路中具有与门功能的是( D ) A.74LS32 B.74LS06 C.74LS10 D.74LS08

单片机原理及应用教程第3版习题课后答案

《单片机原理及应用程序》(第三版)习题参考答案 第一章 1. 为什么计算机要采用二进制数?学习十六进制数的目的是什么? 在计算机中,由于所采用的电子逻辑器件仅能存储和识别两种状态的特点,计算机部一切信息存储、处理和传送均采用二进制数的形式。可以说,二进制数是计算机硬件能直接识别并进行处理的惟一形式。十六进制数可以简化表示二进制数。 2. (1) 01111001 79H (2) 0.11 0.CH (3) 01111001.11 79.CH (4) 11101010.101 0EA.AH (5)01100001 61H (6) 00110001 31H 3. (1) 0B3H (2)80H (3) 17.AH (4) 0C.CH 4. (1)01000001B 65 (2) 110101111B 431 5. (1) 00100100 00100100 00100100 (2) 10100100 11011011 11011100 (5) 10000001 11111110 11111111 6. 00100101B 00110111BCD 25H 7. 137 119 89 8.什么是总线?总线主要有哪几部分组成?各部分的作用是什么? 总线是连接计算机各部件之间的一组公共的信号线。一般情况下,可分为系统总线和外总线。 系统总线应包括:地址总线(AB)控制总线(CB)数据总线(DB) 地址总线(AB):CPU根据指令的功能需要访问某一存储器单元或外部设备时,其地址信

息由地址总线输出,然后经地址译码单元处理。地址总线为16位时,可寻址围为216=64K,地址总线的位数决定了所寻址存储器容量或外设数量的围。在任一时刻,地址总线上的地址信息是惟一对应某一存储单元或外部设备。 控制总线(CB):由CPU产生的控制信号是通过控制总线向存储器或外部设备发出控制命令的,以使在传送信息时协调一致的工作。CPU还可以接收由外部设备发来的中断请求信号和状态信号,所以控制总线可以是输入、输出或双向的。 数据总线(DB):CPU是通过数据总线与存储单元或外部设备交换数据信息的,故数据总线应为双向总线。在CPU进行读操作时,存储单元或外设的数据信息通过数据总线传送给CPU;在CPU进行写操作时,CPU把数据通过数据总线传送给存储单元或外设9.什么是接口电路? CPU与接口电路连接一般应具有哪些信号线?外部设备与接口电路连接一般应具有哪些信号线? CPU通过接口电路与外部输入、输出设备交换信息, 一般情况下,外部设备种类、数量较多,而且各种参量(如运行速度、数据格式及物理量)也不尽相同。CPU为了实现选取目标外部设备并与其交换信息,必须借助接口电路。一般情况下,接口电路通过地址总线、控制总线和数据总线与CPU连接;通过数据线(D)、控制线(C)和状态线(S)与外部设备连接。 10. 存储器的作用是什么?只读存储器和随机存储器有什么不同? 存储器具有记忆功能,用来存放数据和程序。计算机中的存储器主要有随机存储器(RAM)和只读存储器(ROM)两种。随机存储器一般用来存放程序运行过程中的中间数据,计算机掉电时数据不再保存。只读存储器一般用来存放程序,计算机掉电时信息不会丢失。 11.某存储器的存储容量为64KB,它表示多少个存储单元?64×1024 12. 简述微型计算机硬件系统组成。

单片机原理试题库答案

单片机原理及应用复习题及答案 一、选择题(在每个小题四个备选答案中选出一个或几个正确答案,填在题的括号中) 1、80C51基本型单片机内部程序存储器容量为(C)。 (A)16KB (B)8KB (C)4KB (D)2KB 2、在80C51单片机应用系统中,可以作为时钟输出的是(C)引脚。 (A)EA(B)RST (C)ALE (D)PSEN 3、在80C51的4个并行口中,能作为通用I/O口和高8位地址总线的是(C)。 (A)P0 (B)P1 (C)P2 (D)P3 4、当优先级的设置相同时,若以下几个中断同时发生,(D)中断优先响应。 (A)并口(B)T1 (C)串口(D)T0 5、在80C51中,要访问SFR使用的寻址方式为(AB)。 (A)直接寻址(B)寄存器寻址(C)变址寻址(D)寄存器间接寻址 6、以下的4条指令中,不合法的指令为(D)。 (A)INC A (B)DEC A (C)INC DPTR (D)SWAP ACC 7、当需要扩展一片8KB的RAM时,应选用的存储器芯片为(B)。 (A)2764 (B)6264 (C)6116 (D)62128 8、若想扩展键盘和显示,并希望增加256字节的RAM时,应选择(A)芯片。 (A)8155 (B)8255 (C)8253 (D)8251 9、80C51单片机要进行10位帧格式的串行通讯时,串行口应工作在(B )。 (A)方式0 (B)方式1 (C)方式2 (D)方式3 10、80C51复位初始化时未改变SP的内容,第一个入栈的单元地址为(A)。 (A)08H (B)80H (C)00H (D)07H 11、MCS—51单片机的复位信号是( A )有效。 A.高电平 B.低电平 C.脉冲 D.下降沿 12、若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过( B )。 A.2μs B.4μs C.8μs D.1ms 13、若PSW.4=0,PSW.3=1,要想把寄存器R0的内容入栈,应使用( D )指令。 A.PUSH R0 B.PUSH @R0 C.PUSH 00H D.PUSH 08H 14、能够用紫外光擦除ROM中程序的只读存储器称为( C )。 A.掩膜ROM B.PROM C.EPROM D.EEPROM 15、在片外扩展一片2764程序存储器芯片要( B )地址线。 A.8根 B.13根 C.16根 D.20根 16、定时器/计数器工作方式1是( D )。 A.8位计数器结构 B.2个8位计数器结构 C.13位计数结构 D.16位计数结构 17、设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率应为 ( C ) A.2MHz B.1MHz C.500KHz D.250KHz 18、已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,它的字形代码应为( A )。 A.06H B.F9H C.30H D.CFH

单片机原理与应用习题和答案

“单片机原理及应用”课程习题与解答 第一章 1-3:单片机与普通计算机的不同之处在于其将(cpu )(I/O口)和(存储器)三部分集成于一块芯片上。 答:CPU、存储器、I/O口 1-8:8051与8751的区别是:(部程序存储器不同) A、部数据存储但也数目的不同 B、部数据存储器的类型不同 C、部程序存储器的类型不同 D、部的寄存器的数目不同 答:C 第二章 2-4:在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为()。 答:2us。 析:机器周期为振荡周期的1/6。 2-6:部RAM中,位地址为30H的位,该位所在字节的字节地址为()。 答:26H 2-7:若A中的容为63H,那么,P标志位的值为()。 答:0 析:P为奇偶校验位,因为A中1的个数为偶数,所以P=0。 2-8:判断下列说法是否正确: A、8031的CPU是由RAM和EPROM所组成。运算器和控制器组成 B、区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址围的低端还是高端。通过 引脚指令 C、在MCS-51中,为使准双向的I/O口工作在输入方式,必须保证它被事先预置为1。 D、PC可以看成使程序存储器的地址指针。 答:错、错、对、对 2-9:8031单片机复位后,R4所对应的存储单元的地址为(04H),因上电时PSW=(00H)。这时当前的工作寄存器区是(0)组工作寄存器区。 答:04H、00H、0 2-11:判断以下有关PC和DPTR的结论是否正确? A、DPTR是可以访问的,而PC不能访问。 B、它们都是16位的存储器 C、它们都有加1的功能。Pc无 D、DPTR可以分为两个8位的寄存器使用,但PC不能。 答:对、对、错、对 2-13:使用8031芯片时,需将/EA引脚接(低)电平,因为其片无(程序)存储器。 答:低、程序 2-14:片RAM低128个单元划分为哪3个主要部分?各部分的主要功能是什么? 答:工作寄存器区、位寻址区、数据缓冲区 2-15:判断下列说法是否正确 A、程序计数器PC不能为用户编程时直接使用,因为它没有地址。 B、部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。都能

单片机原理及应用试题库答案

《单片机原理及应用》试题库 一、填空题 1.单片机就是把(CPU)、( 输入/输出)、和( 存储器)等部件都集成在一个电路芯片上,并具备一套功能完善的( 指令系统),有的型号同时还具备( AD )和( DA )等功能部件,其简称为( 微处理器)或(微控制器)。 2.Intel公司典型的单片机有( MCS-51系列)和( MCS-96系列)。 3.单片机具有体积( 下)、重量( 轻)、价格( 低)、功耗( 小)、控制功能强、运算速度快、运用灵活、易于产品化、抗扰能力( 强)等特点,故在国民经济建设、军事及家用电器等领域均得到了广泛的应用。 4.微处理器本身不是计算机,它是微型计算机的核心部件,又称它为(CPU )。它包括两个主要部分:(运算器)、(控制器)。 5.当扩展外部存储器或I/O口时,P2口用作(地址线的高8位)。 6.MCS-51单片机内部RAM区有( 4 )个工作寄存器区。 7.MCS-51单片机内部RAM区有(128 )个位地址。 8.89C51单片机片内RAM中位寻址区的地址范围是(20H—2FH ),工作寄存器区的地址范围是(00H—1FH ),片内程序存储器中寻址区的地址范围是(0000H—07FFH )。 9.MCS-51有( 4 )个并行I\O口。 10.MCS-51的堆栈是软件填写堆栈指针临时在(30H—7FH )内开辟的区域. 11.MCS-51片内(20H—2FH )范围内的数据存储器,既可以字节寻址又可以位寻址。 12.程序状态标志字寄存器PSW中的PSW.7的含义是(进位和借位标志位);PSW.0的含义是(奇偶校验位)。 13.若不使用89C51片内的程序存储器,引脚(EA’)必须接地。 14.MCS-51中凡字节地址能被(0和8 )整除的特殊功能寄存器均能寻址。 15.MCS-51有4组工作寄存器,它们的字节地址范围是(00H—1FH )。 16.当MCS-51引脚(ALE )信号有效时,表示从P0口稳定地送出了低8位地址. 17.在单片机的RESET端出现(两个机器周期以上的高电平时),便可以可靠复位,复位后的程序指针PC指向(0000H )地址。 18.MCS-51系列单片机有:(外部中断0), (外部中断1 ), (定时/计数器T0溢出中断), (定时/计数器T1溢出中断), (串行口)等5个中断请求源。 39.KeiL C51软件中,工程文件的扩展名是__UV2______,编译连接后生成可烧写的文件扩展名是__hex_______。

单片机原理及应用(第三版)张毅刚-课后习题答案完整版

第1章思考题及习题1参考答案 一、填空 1. 除了单片机这一名称之外,单片机还可称为或。答:微控制器,嵌入式 控制器. 2.单片机与普通微型计算机的不同之处在于其将、、和三部分,通 过内部连接在一起,集成于一块芯片上。答:CPU、存储器、I/O口、总线 3. AT89S52单片机工作频率上限为MHz。答:33 MHz。 4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低和提 高。答:成本,可靠性。 二、单选 1. 单片机内部数据之所以用二进制形式表示,主要是 A.为了编程方便 B.受器件的物理性能限制 C.为了通用性 D.为了提高运算速度 答:B 2. 在家用电器中使用单片机应属于微计算机的。 A.辅助设计应用B.测量、控制应用 C.数值计算应用D.数据处理应用

答:B 3. 下面的哪一项应用,不属于单片机的应用范围。 A.工业控制B.家用电器的控制C.数据库管理D.汽车电子设备 答:C 三、判断对错 1. STC系列单片机是8051内核的单片机。对 2. AT89S52与AT89S51相比,片内多出了4KB的Flash程序存储器、128B的RAM、1 个中断源、1个定时器(且具有捕捉功能)。对 3. 单片机是一种CPU。错 4. AT89S52单片机是微处理器。错 5. AT89C52片内的Flash程序存储器可在线写入,而AT89S52则不能。错 6. 为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换。对 7. 为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换。对 8. 单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是DSP 的长处。对 四、简答

单片机原理与接口技术习题答案

单片机原理与接口技术习题答案 习题与思考题1 1-2 单片微型计算机与一般微型计算机相比较有哪些区别?有哪些特点? 答:与通用微型计算机相比,单片机的硬件上,具有严格分工的存储器ROM和RAM和I/O端口引脚具有复用功能;软件上,采用面向控制的指令系统和硬件功能具有广泛的通用性,以及品种规格的系列化。单片机还具备体积小、价格低、性能强大、速度快、用途广、灵活性强、可靠性高等特点。 1-4 单片机的几个重要指标的定义。 答:单片机的重要指标包括位数、存储器、I/O口、速度、工作电压、功耗和温度。 习题与思考题2 2-2 MCS-51单片机的EA、ALE和PSEN端的功能是什么? 答:ALE——ALE为地址锁存允许信号,在访问外部存储器时,ALE用来锁存P0送出的低8位地址信号。 PSEN——外部程序存储器的读选通信号。当访问外部ROM时,PSEN产生负脉冲作为外部ROM的 选通信号;在访问外部RAM或片内ROM时,不会产生有效的PSEN信号。PSEN可驱动8个LSTTL 门输入端。 EA——访问外部程序存储器控制信号。对8051和8751,它们的片内有4KB的程序存储器。当EA为 高电平时,CPU访问程序存储器有两种情况:一是访问的地址空间在0~4K范围内,CPU访问片内 程序存储器;二是访问的地址超出4K时,CPU将自动执行外部程序存储器的程序。对于8031,EA 必须接地,只能访问外部ROM。 2-3 程序计数器(PC)有多少位?它的主要功能是什么? 答:程序计数器有16位,它的功能和一般微型计算机的相同,用来存放下一条要执行的指令的地址。当按照PC 所指的地址从存储器中取出一条指令后,PC会自动加l,即指向下一条指令。 2-5 MCS-51单片机如何实现工作寄存器组R0~R7的选择? 答:每个工作寄存器组都可被选为CPU的当前工作寄存器,用户可以通过改变程序状态字寄存器(PSW)中的RS1、RS0两位来任选一个寄存器组为当前工作寄存器。 RS1RS0寄存器组R0R1R2R3R4R5R6R7 000组00H01H02H03H04H05H06H07H 011组08H09H0AH0BH0CH0DH0EH0FH 102组10H11H12H13H14H15H16H17H 113组18H19H1AH1BH1CH1DH1EH1FH 2-6 单片机复位后,各特殊功能寄存器中的初始化状态是什么? 答: 特殊功能寄存器初始状态特殊功能寄存器初始状态ACC00H TMOD00H PC0000H TCON00H PSW00H TL000H SP07H TH000H DPTR0000H TL100H P0~P30FFH TH100H IP xx000000B B00H IE0x000000B SCON00H PCON0xxx0000B SBUF不定

相关主题